preCICE v3.2.0
Loading...
Searching...
No Matches
precice::cplscheme::impl::AbsoluteConvergenceMeasure Class Reference

Measures the convergence from an old data set to a new one. More...

#include <AbsoluteConvergenceMeasure.hpp>

Inheritance diagram for precice::cplscheme::impl::AbsoluteConvergenceMeasure:
[legend]
Collaboration diagram for precice::cplscheme::impl::AbsoluteConvergenceMeasure:
[legend]

Public Member Functions

 AbsoluteConvergenceMeasure (double convergenceLimit)
 ~AbsoluteConvergenceMeasure () override=default
void newMeasurementSeries () override
 To be called when a new meas. series (iteration process) starts.
void measure (const Eigen::VectorXd &oldValues, const Eigen::VectorXd &newValues) override
 Performs convergence measurement.
bool isConvergence () const override
 Returns true, if the last measurement indicates convergence.
std::string printState (const std::string &dataName) override
 Adds current convergence information to output stream.
double getNormResidual () override
 Returns the l2-norm of the coupling residuum.
std::string getAbbreviation () const override
 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 ()=default
 Destructor, empty.

Private Attributes

logging::Logger _log {"cplscheme::AbsoluteConvergenceMeasure"}
double _convergenceLimit
double _normDiff = 0
bool _isConvergence = false

Detailed Description

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 limit, convergence is achieved.

For a description of how to perform the measurement, see class ConvergenceMeasure.

Definition at line 28 of file AbsoluteConvergenceMeasure.hpp.

Constructor & Destructor Documentation

◆ AbsoluteConvergenceMeasure()

precice::cplscheme::impl::AbsoluteConvergenceMeasure::AbsoluteConvergenceMeasure ( double convergenceLimit)
explicit

Definition at line 7 of file AbsoluteConvergenceMeasure.cpp.

Here is the call graph for this function:

◆ ~AbsoluteConvergenceMeasure()

precice::cplscheme::impl::AbsoluteConvergenceMeasure::~AbsoluteConvergenceMeasure ( )
overridedefault

Member Function Documentation

◆ getAbbreviation()

std::string precice::cplscheme::impl::AbsoluteConvergenceMeasure::getAbbreviation ( ) const
inlineoverridevirtual

Returns an abbreviation of the name of the measure for the log file headers.

Reimplemented from precice::cplscheme::impl::ConvergenceMeasure.

Definition at line 74 of file AbsoluteConvergenceMeasure.hpp.

◆ getNormResidual()

double precice::cplscheme::impl::AbsoluteConvergenceMeasure::getNormResidual ( )
inlineoverridevirtual

Returns the l2-norm of the coupling residuum.

Reimplemented from precice::cplscheme::impl::ConvergenceMeasure.

Definition at line 69 of file AbsoluteConvergenceMeasure.hpp.

◆ isConvergence()

bool precice::cplscheme::impl::AbsoluteConvergenceMeasure::isConvergence ( ) const
inlineoverridevirtual

Returns true, if the last measurement indicates convergence.

Implements precice::cplscheme::impl::ConvergenceMeasure.

Definition at line 48 of file AbsoluteConvergenceMeasure.hpp.

◆ measure()

void precice::cplscheme::impl::AbsoluteConvergenceMeasure::measure ( const Eigen::VectorXd & oldValues,
const Eigen::VectorXd & newValues )
inlineoverridevirtual

Performs convergence measurement.

Parameters
[in]oldValuesOld iterate values.
[in]newValuesNew iterate values.

Implements precice::cplscheme::impl::ConvergenceMeasure.

Definition at line 39 of file AbsoluteConvergenceMeasure.hpp.

Here is the call graph for this function:

◆ newMeasurementSeries()

void precice::cplscheme::impl::AbsoluteConvergenceMeasure::newMeasurementSeries ( )
inlineoverridevirtual

To be called when a new meas. series (iteration process) starts.

Implements precice::cplscheme::impl::ConvergenceMeasure.

Definition at line 34 of file AbsoluteConvergenceMeasure.hpp.

◆ printState()

std::string precice::cplscheme::impl::AbsoluteConvergenceMeasure::printState ( const std::string & dataName)
inlineoverridevirtual

Adds current convergence information to output stream.

Implements precice::cplscheme::impl::ConvergenceMeasure.

Definition at line 54 of file AbsoluteConvergenceMeasure.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ _convergenceLimit

double precice::cplscheme::impl::AbsoluteConvergenceMeasure::_convergenceLimit
private

Definition at line 82 of file AbsoluteConvergenceMeasure.hpp.

◆ _isConvergence

bool precice::cplscheme::impl::AbsoluteConvergenceMeasure::_isConvergence = false
private

Definition at line 86 of file AbsoluteConvergenceMeasure.hpp.

◆ _log

logging::Logger precice::cplscheme::impl::AbsoluteConvergenceMeasure::_log {"cplscheme::AbsoluteConvergenceMeasure"}
private

Definition at line 80 of file AbsoluteConvergenceMeasure.hpp.

◆ _normDiff

double precice::cplscheme::impl::AbsoluteConvergenceMeasure::_normDiff = 0
private

Definition at line 84 of file AbsoluteConvergenceMeasure.hpp.


The documentation for this class was generated from the following files: