preCICE v3.2.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ResidualPreconditioner.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <Eigen/Core>
4#include <string>
6#include "logging/Logger.hpp"
7
9
14public:
16 int maxNonConstTimeWindows);
17
21 ~ResidualPreconditioner() override = default;
22
23private:
29 void _update_(bool timeWindowComplete,
30 const Eigen::VectorXd &oldValues,
31 const Eigen::VectorXd &res) override;
32
33 logging::Logger _log{"acceleration::ResidualPreconditioner"};
34};
35
36} // namespace precice::acceleration::impl
Interface for preconditioner variants that can be applied to quasi-Newton acceleration schemes.
Preconditioner that uses the recent residual to scale the quasi-Newton system.
~ResidualPreconditioner() override=default
Destructor, empty.
void _update_(bool timeWindowComplete, const Eigen::VectorXd &oldValues, const Eigen::VectorXd &res) override
Update the scaling after every FSI iteration.
This class provides a lightweight logger.
Definition Logger.hpp:17