Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication > Class Template Reference Convergence criterion which looks at the absolute value of the residual and fails if the linear solver stagnates. More...
Inheritance diagram for Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >:
![]()
Detailed Descriptiontemplate<class Vector, class CollectiveCommunication> class Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication > Convergence criterion which looks at the absolute value of the residual and fails if the linear solver stagnates. For the CombinedCriterion, the error of the solution is defined as
where In addition, to the reduction of the maximum residual, the linear solver is aborted early if the residual goes below or above absolute limits. Constructor & Destructor Documentation◆ CombinedCriterion() [1/2]
template<class Vector , class CollectiveCommunication >
◆ CombinedCriterion() [2/2]
template<class Vector , class CollectiveCommunication >
Member Function Documentation◆ absResidual()
template<class Vector , class CollectiveCommunication >
Returns the infinity norm of the absolute residual. Referenced by Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::converged(), and Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::print(). ◆ absResidualTolerance()
template<class Vector , class CollectiveCommunication >
Returns the tolerated maximum of the the infinity norm of the absolute residual. Referenced by Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::converged(). ◆ 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. For the accuracy we only take the residual into account, Implements Opm::Linear::ConvergenceCriterion< Vector >. Referenced by Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::print(). ◆ 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::CombinedCriterion< Vector, CollectiveCommunication >::absResidual(), Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::absResidualTolerance(), Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::residualReduction(), and Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::residualReductionTolerance(). Referenced by Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::failed(). ◆ failed()
template<class Vector , class CollectiveCommunication >
Returns true if the convergence criterion cannot be met anymore because the solver has broken down. Reimplemented from Opm::Linear::ConvergenceCriterion< Vector >. References Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::converged(). ◆ print() [1/2]
template<class Vector , class CollectiveCommunication >
Prints the information about the convergence behaviour for the current iteration.
References Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::absResidual(), and Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::accuracy(). ◆ print() [2/2]
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 , class CollectiveCommunication >
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 from Opm::Linear::ConvergenceCriterion< Vector >. ◆ residualReduction()
template<class Vector , class CollectiveCommunication >
Returns the reduction of the maximum of the residual compared to the initial solution. Referenced by Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::converged(). ◆ residualReductionTolerance()
template<class Vector , class CollectiveCommunication >
Returns the tolerance of the residual reduction of the solution. Referenced by Opm::Linear::CombinedCriterion< Vector, CollectiveCommunication >::converged(). ◆ setAbsResidualTolerance()
template<class Vector , class CollectiveCommunication >
Sets the maximum absolute tolerated residual. ◆ 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 >. ◆ setResidualReductionTolerance()
template<class Vector , class CollectiveCommunication >
Sets the residual reduction tolerance. ◆ 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 >. The documentation for this class was generated from the following file: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||