Opm::Linear::FixPointCriterion< Vector, CollectiveCommunication > Class Template Reference Provides a convergence criterion for the linear solvers which looks at the weighted maximum of the difference between two iterations. More...
Inheritance diagram for Opm::Linear::FixPointCriterion< Vector, CollectiveCommunication >:
Detailed Descriptiontemplate<class Vector, class CollectiveCommunication> class Opm::Linear::FixPointCriterion< Vector, CollectiveCommunication > Provides a convergence criterion for the linear solvers which looks at the weighted maximum of the difference between two iterations. For the FixPointCriterion, the error of the solution is defined as
where is the difference between two consequtive iterative solution vectors and and is the weight of the -th degree of freedom. This criterion requires that the block type of the vector is a Dune::FieldVector Constructor & Destructor Documentation◆ FixPointCriterion() [1/2]
template<class Vector , class CollectiveCommunication >
◆ FixPointCriterion() [2/2]
template<class Vector , class CollectiveCommunication >
Member Function Documentation◆ accuracy()
template<class Vector , class CollectiveCommunication >
Returns the accuracy of the solution at the last update. A value of zero means that the solution was exact. Implements Opm::Linear::ConvergenceCriterion< Vector >. Referenced by Opm::Linear::FixPointCriterion< Vector, CollectiveCommunication >::converged(). ◆ converged()
template<class Vector , class CollectiveCommunication >
Returns true if and only if the convergence criterion is met. Implements Opm::Linear::ConvergenceCriterion< Vector >. References Opm::Linear::FixPointCriterion< Vector, CollectiveCommunication >::accuracy(), and Opm::Linear::FixPointCriterion< Vector, CollectiveCommunication >::tolerance(). ◆ failed()
template<class Vector >
Returns true if the convergence criterion cannot be met anymore because the solver has broken down. Reimplemented in Opm::Linear::WeightedResidualReductionCriterion< Vector, CollectiveCommunication >, and Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >. Referenced by Opm::Linear::BiCGStabSolver< LinearOperator, Vector, Preconditioner >::apply(). ◆ print()
template<class Vector >
Prints the information about the convergence behaviour for the current iteration.
Reimplemented in Opm::Linear::ResidReductionCriterion< Vector >, and Opm::Linear::WeightedResidualReductionCriterion< Vector, CollectiveCommunication >. Referenced by Opm::Linear::BiCGStabSolver< LinearOperator, Vector, Preconditioner >::apply(). ◆ printInitial()
template<class Vector >
Prints the initial information about the convergence behaviour. This method is called after setInitial() if the solver thinks it's a good idea to be verbose. In practice, "printing the initial information" means printing column headers and the initial state.
Reimplemented in Opm::Linear::ResidReductionCriterion< Vector >, Opm::Linear::WeightedResidualReductionCriterion< Vector, CollectiveCommunication >, and Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >. Referenced by Opm::Linear::BiCGStabSolver< LinearOperator, Vector, Preconditioner >::apply(). ◆ setInitial()
template<class Vector , class CollectiveCommunication >
Set the initial solution of the linear system of equations. This version of the method does NOT take the two-norm of the residual as argument. If the two-norm of the defect is available for the linear solver, the version of the update() method with it should be called.
Implements Opm::Linear::ConvergenceCriterion< Vector >. ◆ setTolerance()
template<class Vector , class CollectiveCommunication >
Set the maximum allowed weighted maximum difference between two iterations. Set the maximum allowed maximum difference between two iterationsfor the solution considered to be converged. ◆ setWeight()
template<class Vector , class CollectiveCommunication >
Sets the relative weight of a primary variable. For the FixPointCriterion, the error of the solution is defined as
where is the difference between two consequtive iterative solution vectors and and is the weight of the -th degree of freedom. This method is specific to the FixPointCriterion.
◆ tolerance()
template<class Vector , class CollectiveCommunication >
Return the maximum allowed weighted difference between two iterations for the solution considered to be converged. Referenced by Opm::Linear::FixPointCriterion< Vector, CollectiveCommunication >::converged(). ◆ update()
template<class Vector , class CollectiveCommunication >
Update the internal members of the convergence criterion with the current solution. This version of the method does NOT take the two-norm of the residual as argument. If the two-norm of the defect is available for the linear solver, the version of the update() method with it should be called.
Implements Opm::Linear::ConvergenceCriterion< Vector >. References Opm::Linear::FixPointCriterion< Vector, CollectiveCommunication >::weight(). ◆ weight()
template<class Vector , class CollectiveCommunication >
Return the relative weight of a primary variable. For the FixPointCriterion, the error of the solution is defined as
where is the difference between two consequtive iterative solution vectors and and is the weight of the -th degree of freedom. This method is specific to the FixPointCriterion.
Referenced by Opm::Linear::FixPointCriterion< Vector, CollectiveCommunication >::update(). The documentation for this class was generated from the following file: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||