13class AbsoluteConvergenceMeasureTest;
40 const Eigen::VectorXd &oldValues,
41 const Eigen::VectorXd &newValues)
override
54 std::string
printState(
const std::string &dataName)
override
56 std::ostringstream os;
57 os <<
"absolute convergence measure: ";
58 os <<
"two-norm diff of data \"" << dataName <<
"\" = ";
59 os << std::scientific << std::setprecision(2) <<
_normDiff;
#define PRECICE_ASSERT(...)
AbsoluteConvergenceMeasure(double convergenceLimit)
bool isConvergence() const override
Returns true, if the last measurement indicates convergence.
void measure(const Eigen::VectorXd &oldValues, const Eigen::VectorXd &newValues) override
Performs convergence measurement.
std::string getAbbreviation() const override
Returns an abbreviation of the name of the measure for the log file headers.
~AbsoluteConvergenceMeasure() override=default
void newMeasurementSeries() override
To be called when a new meas. series (iteration process) starts.
double getNormResidual() override
Returns the l2-norm of the coupling residuum.
std::string printState(const std::string &dataName) override
Adds current convergence information to output stream.
Interface for measures checking the convergence of a series of datasets.
This class provides a lightweight logger.
static double l2norm(const Eigen::VectorXd &vec)
The l2 norm of a vector is calculated on distributed data.