preCICE v3.1.2
|
Measures the convergence from an old data set to a new one. More...
#include <AbsoluteOrRelativeConvergenceMeasure.hpp>
Public Member Functions | |
AbsoluteOrRelativeConvergenceMeasure (double absLimit, double relLimit) | |
Constructor. | |
virtual | ~AbsoluteOrRelativeConvergenceMeasure () |
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 | getNormAbsResidual () |
virtual double | getNormRelResidual () |
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. | |
virtual double | getNormResidual () |
Returns the l2-norm of the coupling residuum. | |
Private Attributes | |
logging::Logger | _log {"cplscheme::AbsoluteOrRelativeConvergenceMeasure"} |
double | _convergenceLimit |
double | _convergenceLimitPercent |
double | _normDiff = 0 |
double | _norm = 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 absolute value or a given percentage of the norm of the new data set, convergence is achieved.
For a description of how to perform the measurement, see class ConvergenceMeasure.
Definition at line 42 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
precice::cplscheme::impl::AbsoluteOrRelativeConvergenceMeasure::AbsoluteOrRelativeConvergenceMeasure | ( | double | absLimit, |
double | relLimit ) |
Constructor.
[in] | absLimit | Limit to define absolute convergence to the norm of the current new dataset. Has to be larger than zero. |
[in] | relLimit | Limit to define convergence relative to the norm of the current new dataset. Has to be in $] 0 ; 1 ]$. |
Definition at line 6 of file AbsoluteOrRelativeConvergenceMeasure.cpp.
|
inlinevirtual |
Definition at line 56 of file AbsoluteOrRelativeConvergenceMeasure.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 114 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
Definition at line 101 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
Definition at line 106 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
Returns true, if the last measurement indicates convergence.
Implements precice::cplscheme::impl::ConvergenceMeasure.
Definition at line 72 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
Performs convergence measurement.
[in] | oldValues | Old iterate values. |
[in] | newValues | New iterate values. |
Implements precice::cplscheme::impl::ConvergenceMeasure.
Definition at line 63 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
To be called when a new meas. series (iteration process) starts.
Implements precice::cplscheme::impl::ConvergenceMeasure.
Definition at line 58 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
inlinevirtual |
Adds current convergence information to output stream.
Implements precice::cplscheme::impl::ConvergenceMeasure.
Definition at line 80 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 122 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 124 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 130 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 120 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 128 of file AbsoluteOrRelativeConvergenceMeasure.hpp.
|
private |
Definition at line 126 of file AbsoluteOrRelativeConvergenceMeasure.hpp.