Convergence criterion which looks at the weighted absolute value of the residual.
More...
#include <weightedresidreductioncriterion.hh>
template<class Vector, class CollectiveCommunication>
class Ewoms::WeightedResidualReductionCriterion< Vector, CollectiveCommunication >
Convergence criterion which looks at the weighted absolute value of the residual.
For the WeightedResidualReductionCriterion, the error of the solution is defined as
where is the residual for the k-th iterative solution vector and is the weight of the -th linear equation.
In addition, to the reduction of the maximum defect, the linear solver is also considered to be converged, if the defect goes below a given absolute limit.
template<class Vector, class CollectiveCommunication>
template<class Vector, class CollectiveCommunication>
template<class Vector, class CollectiveCommunication>
Returns the maximum absolute tolerated residual.
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 Ewoms::ConvergenceCriterion< Vector >.
template<class Vector, class CollectiveCommunication>
template<class Vector, class CollectiveCommunication>
template<class Vector, class CollectiveCommunication>
Returns the maximum tolerated difference between two iterations to be met before a solution is considered to be converged.
template<class Vector, class CollectiveCommunication>
template<class Vector, class CollectiveCommunication>
template<class Vector, class CollectiveCommunication>
template<class Vector, class CollectiveCommunication>
template<class Vector, class CollectiveCommunication>
Return the relative weight of a row of the residual.
- Parameters
-
outerIdx | The index of the outer vector (i.e. Dune::BlockVector) |
innerIdx | The index of the inner vector (i.e. Dune::FieldVector) |
template<class Vector, class CollectiveCommunication>
Sets the fix-point tolerance.
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.
- Parameters
-
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 >.
template<class Vector, class CollectiveCommunication>
Sets the residual reduction tolerance.
template<class Vector, class CollectiveCommunication>
Sets the maximum absolute tolerated residual.
template<class Vector, class CollectiveCommunication>
Sets the relative weight of each row of the residual.
For the WeightedResidualReductionCriterion, the error of the solution is defined as
where is the residual for the k-th iterative solution vector and is the weight of the -th linear equation.
This method is not part of the generic ConvergenceCriteria interface.
- Parameters
-
residWeightVec | A Dune::BlockVector<Dune::FieldVector<Scalar, n> > with the relative weights of the linear equations |
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.
- Parameters
-
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 >.
The documentation for this class was generated from the following file:
|