27 #ifndef EWOMS_ISTL_CONVERGENCE_CRITERION_HH 28 #define EWOMS_ISTL_CONVERGENCE_CRITERION_HH 30 #include <opm/common/Unused.hpp> 32 #include <dune/common/version.hh> 33 #include <dune/common/fvector.hh> 56 template <
class Vector>
60 typedef typename Dune::FieldTraits<typename Vector::field_type>::real_type real_type;
62 typedef real_type Scalar;
87 virtual void setInitial(
const Vector& curSol,
const Vector& curResid) = 0;
105 virtual void update(
const Vector& curSol,
const Vector& changeIndicator,
const Vector& curResid) = 0;
125 virtual Scalar
accuracy()
const = 0;
137 virtual void printInitial(std::ostream& os OPM_UNUSED= std::cout)
const 148 virtual void print(Scalar iter OPM_UNUSED, std::ostream& os OPM_UNUSED = std::cout)
const Base class for all convergence criteria which only defines an virtual API.
Definition: convergencecriterion.hh:57
Definition: baseauxiliarymodule.hh:37
virtual void printInitial(std::ostream &os OPM_UNUSED=std::cout) const
Prints the initial information about the convergence behaviour.
Definition: convergencecriterion.hh:137
virtual void print(Scalar iter OPM_UNUSED, std::ostream &os OPM_UNUSED=std::cout) const
Prints the information about the convergence behaviour for the current iteration. ...
Definition: convergencecriterion.hh:148
virtual Scalar accuracy() const =0
Returns the accuracy of the solution at the last update.
virtual void setInitial(const Vector &curSol, const Vector &curResid)=0
Set the initial solution of the linear system of equations.
virtual ~ConvergenceCriterion()
Destructor.
Definition: convergencecriterion.hh:71
virtual void update(const Vector &curSol, const Vector &changeIndicator, const Vector &curResid)=0
Update the internal members of the convergence criterion with the current solution.
virtual bool failed() const
Returns true if the convergence criterion cannot be met anymore because the solver has broken down...
Definition: convergencecriterion.hh:117
virtual bool converged() const =0
Returns true if and only if the convergence criterion is met.