preCICE v3.2.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ResidualRelativeConvergenceMeasureTest.cpp
Go to the documentation of this file.
1#include <Eigen/Core>
4#include "testing/Testing.hpp"
5
6BOOST_AUTO_TEST_SUITE(CplSchemeTests)
7
9BOOST_AUTO_TEST_CASE(ResidualRelativeConvergenceMeasureTest)
10{
12 using Eigen::Vector3d;
13 double convergenceLimit = 0.1; // 10%
15
16 // Create data sets for old state of data and new state of data
17 Vector3d oldValues0(2.9, 2.9, 2.9);
18 Vector3d oldValues1(2.95, 2.95, 2.95);
19 Vector3d oldValues2(2.991, 2.991, 2.991);
20 Vector3d newValues(3, 3, 3);
21
22 // define initial residual, which we want to decrease in the following
23 measure.measure(oldValues0, newValues);
24 BOOST_TEST(not measure.isConvergence());
25
26 measure.measure(oldValues1, newValues);
27 BOOST_TEST(not measure.isConvergence());
28
29 measure.measure(oldValues2, newValues);
30 BOOST_TEST(measure.isConvergence());
31}
32
BOOST_AUTO_TEST_SUITE(PreProcess)
BOOST_AUTO_TEST_SUITE_END()
BOOST_AUTO_TEST_CASE(ResidualRelativeConvergenceMeasureTest)
#define PRECICE_TEST()
Definition Testing.hpp:39
#define PRECICE_TEST_SETUP(...)
Creates and attaches a TestSetup to a Boost test case.
Definition Testing.hpp:29
Measures the convergence from an old data set to a new one.
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.