preCICE v3.2.0
Loading...
Searching...
No Matches
ConstantPreconditioner.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <Eigen/Core>
4#include <stddef.h>
5#include <string>
6#include <vector>
8#include "logging/Logger.hpp"
9
11
14public:
16
20 ~ConstantPreconditioner() override = default;
21
22 void initialize(std::vector<size_t> &svs) override;
23
24private:
30 void _update_(bool timeWindowComplete, const Eigen::VectorXd &oldValues, const Eigen::VectorXd &res) override;
31
32 logging::Logger _log{"acceleration::ConstantPreconditioner"};
33
36};
37
38} // namespace precice::acceleration::impl
std::vector< double > _factors
Constant user-defined factors to scale the quasi-Newton system.
void _update_(bool timeWindowComplete, const Eigen::VectorXd &oldValues, const Eigen::VectorXd &res) override
Update the scaling after every FSI iteration.
~ConstantPreconditioner() override=default
Destructor, empty.
void initialize(std::vector< size_t > &svs) override
initialize the preconditioner
This class provides a lightweight logger.
Definition Logger.hpp:17