preCICE v3.2.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ConstantRelaxationAcceleration.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <algorithm>
4#include <map>
5#include <string>
6#include <vector>
8#include "logging/Logger.hpp"
9
10namespace precice::acceleration {
11
13public:
15 double relaxation,
16 std::vector<int> dataIDs);
17
18 std::vector<int> getPrimaryDataIDs() const final override
19 {
20 return _dataIDs;
21 }
22
23 void initialize(const DataMap &cplData) override;
24
25 void performAcceleration(DataMap &cplData, double windowStart, double windowEnd) override;
26
27 void iterationsConverged(const DataMap &cplData, double windowStart) override
28 {
29 // function not needed in ConstantRelaxationAcceleration
30 }
31
32private:
33 logging::Logger _log{"acceleration::ConstantRelaxationAcceleration"};
34
36
38};
39} // namespace precice::acceleration
ConstantRelaxationAcceleration(double relaxation, std::vector< int > dataIDs)
void performAcceleration(DataMap &cplData, double windowStart, double windowEnd) override
void iterationsConverged(const DataMap &cplData, double windowStart) override
This class provides a lightweight logger.
Definition Logger.hpp:17
contains implementations of acceleration schemes.