preCICE v3.1.2
|
Measures the convergence from an old data set to a new one. More...
#include <ResidualRelativeConvergenceMeasure.hpp>
Public Member Functions | |
ResidualRelativeConvergenceMeasure (double convergenceLimitPercent) | |
Constructor. | |
virtual | ~ResidualRelativeConvergenceMeasure () |
virtual void | newMeasurementSeries () |
To be called when a new meas. series (iteration process) starts. | |
virtual void | measure (const Eigen::VectorXd &oldValues, const Eigen::VectorXd &newValues) |
Performs convergence measurement. | |
virtual bool | isConvergence () const |
Returns true, if the last measurement indicates convergence. | |
virtual std::string | printState (const std::string &dataName) |
Adds current convergence information to output stream. | |
virtual double | getNormResidual () |
Returns the l2-norm of the coupling residuum. | |
virtual std::string | getAbbreviation () const |
Returns an abbreviation of the name of the measure for the log file headers. | |
Public Member Functions inherited from precice::cplscheme::impl::ConvergenceMeasure | |
virtual | ~ConvergenceMeasure () |
Destructor, empty. | |
Private Attributes | |
logging::Logger | _log {"cplscheme::ResidualRelativeConvergenceMeasure"} |
double | _convergenceLimitPercent |
bool | _isFirstIteration = true |
double | _normFirstResidual = std::numeric_limits<double>::max() |
double | _normDiff = 0 |
bool | _isConvergence = false |
Measures the convergence from an old data set to a new one.
The convergence is evaluated by looking at the two norm of the differences between each data value from the new and old data set. If the two norm is equal or below a given percentage of the norm of the old data set, convergence is achieved.
For a description of how to perform the measurement, see class ConvergenceMeasure.
Definition at line 29 of file ResidualRelativeConvergenceMeasure.hpp.
|
explicit |
Constructor.
[in] | convergenceLimitPercent | Limit to define convergence relative to the norm of the current new dataset. Has to be in $] 0 ; 1 ]$. |
Definition at line 7 of file ResidualRelativeConvergenceMeasure.cpp.
|
inlinevirtual |
Definition at line 40 of file ResidualRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
Returns an abbreviation of the name of the measure for the log file headers.
Reimplemented from precice::cplscheme::impl::ConvergenceMeasure.
Definition at line 91 of file ResidualRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
Returns the l2-norm of the coupling residuum.
Reimplemented from precice::cplscheme::impl::ConvergenceMeasure.
Definition at line 83 of file ResidualRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
Returns true, if the last measurement indicates convergence.
Implements precice::cplscheme::impl::ConvergenceMeasure.
Definition at line 61 of file ResidualRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
Performs convergence measurement.
[in] | oldValues | Old iterate values. |
[in] | newValues | New iterate values. |
Implements precice::cplscheme::impl::ConvergenceMeasure.
Definition at line 49 of file ResidualRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
To be called when a new meas. series (iteration process) starts.
Implements precice::cplscheme::impl::ConvergenceMeasure.
Definition at line 42 of file ResidualRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
Adds current convergence information to output stream.
Implements precice::cplscheme::impl::ConvergenceMeasure.
Definition at line 67 of file ResidualRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 99 of file ResidualRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 107 of file ResidualRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 101 of file ResidualRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 97 of file ResidualRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 105 of file ResidualRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 103 of file ResidualRelativeConvergenceMeasure.hpp.