Ewoms::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 Ewoms::FixPointCriterion< Vector, CollectiveCommunication >:
Detailed Descriptiontemplate<class Vector, class CollectiveCommunication>
|
|
inline |
|
inline |
|
inlinevirtual |
Returns the accuracy of the solution at the last update.
A value of zero means that the solution was exact.
Implements Ewoms::ConvergenceCriterion< Vector >.
|
inlinevirtual |
Returns true if and only if the convergence criterion is met.
Implements Ewoms::ConvergenceCriterion< Vector >.
References Ewoms::FixPointCriterion< Vector, CollectiveCommunication >::tolerance().
|
inlinevirtualinherited |
Prints the information about the convergence behaviour for the current iteration.
iter | The iteration number. The semantics of this parameter are chosen by the linear solver. |
os | The output stream to which the message gets written. |
Reimplemented in Ewoms::WeightedResidualReductionCriterion< Vector, CollectiveCommunication >, and Ewoms::ResidReductionCriterion< Vector >.
|
inlinevirtualinherited |
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.
os | The output stream to which the message gets written. |
Reimplemented in Ewoms::WeightedResidualReductionCriterion< Vector, CollectiveCommunication >, and Ewoms::ResidReductionCriterion< Vector >.
|
inlinevirtual |
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.
curSol | The current iterative solution of the linear system of equations |
curResid | The residual vector of the current iterative solution of the linear system of equations |
Implements Ewoms::ConvergenceCriterion< Vector >.
|
inline |
Set the maximum allowed weighted maximum difference between two iterations.
|
inline |
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.
weightVec | A Dune::BlockVector<Dune::FieldVector<Scalar, n> > with the relative weights of the degrees of freedom |
|
inline |
Return the maximum allowed weighted maximum difference between two iterations.
Referenced by Ewoms::FixPointCriterion< Vector, CollectiveCommunication >::converged().
|
inlinevirtual |
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.
curSol | The current iterative solution of the linear system of equations |
curResid | The residual vector of the current iterative solution of the linear system of equations |
Implements Ewoms::ConvergenceCriterion< Vector >.
References Ewoms::FixPointCriterion< Vector, CollectiveCommunication >::weight().
|
inline |
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.
outerIdx | The index of the outer vector (i.e. Dune::BlockVector) |
innerIdx | The index of the inner vector (i.e. Dune::FieldVector) |
Referenced by Ewoms::FixPointCriterion< Vector, CollectiveCommunication >::update().