preCICE v3.1.2
|
#include <AitkenAcceleration.hpp>
Public Member Functions | |
AitkenAcceleration (double initialRelaxationFactor, std::vector< int > dataIDs, impl::PtrPreconditioner preconditioner) | |
virtual | ~AitkenAcceleration () |
virtual std::vector< int > | getDataIDs () const |
virtual void | initialize (const DataMap &cpldata) |
virtual void | performAcceleration (DataMap &cpldata) |
virtual void | iterationsConverged (const DataMap &cpldata) |
![]() | |
virtual | ~Acceleration ()=default |
virtual void | exportState (io::TXTWriter &writer) |
virtual void | importState (io::TXTReader &reader) |
virtual int | getDeletedColumns () const |
Gives the number of QN columns that where filtered out (i.e. deleted) in this time window. | |
virtual int | getDroppedColumns () const |
Gives the number of QN columns that went out of scope in this time window. | |
virtual int | getLSSystemCols () const |
Gives the number of current QN columns (LS = least squares) | |
Private Attributes | |
logging::Logger | _log {"acceleration::AitkenAcceleration"} |
double | _initialRelaxation |
std::vector< int > | _dataIDs |
double | _aitkenFactor |
int | _iterationCounter = 0 |
Eigen::VectorXd | _oldResiduals |
Eigen::VectorXd | _values |
Eigen::VectorXd | _oldValues |
impl::PtrPreconditioner | _preconditioner |
Preconditioner for data vector if multiple data sets are used. | |
Additional Inherited Members | |
![]() | |
using | DataMap = std::map<int, cplscheme::PtrCouplingData> |
Map from data ID to data values. | |
![]() | |
static const int | NOFILTER = 0 |
static const int | QR1FILTER = 1 |
static const int | QR1FILTER_ABS = 2 |
static const int | QR2FILTER = 3 |
static const int | PODFILTER = 4 |
![]() | |
void | checkDataIDs (const DataMap &cplData) const |
Checks if all dataIDs are contained in cplData. | |
void | concatenateCouplingData (const DataMap &cplData, const std::vector< DataID > &dataIDs, Eigen::VectorXd &targetValues, Eigen::VectorXd &targetOldValues) const |
Concatenates all coupling data involved into a single vector. | |
![]() | |
static void | applyRelaxation (double omega, DataMap &cplData) |
performs a relaxation given a relaxation factor omega | |
Definition at line 16 of file AitkenAcceleration.hpp.
precice::acceleration::AitkenAcceleration::AitkenAcceleration | ( | double | initialRelaxationFactor, |
std::vector< int > | dataIDs, | ||
impl::PtrPreconditioner | preconditioner ) |
Definition at line 23 of file AitkenAcceleration.cpp.
|
inlinevirtual |
Definition at line 23 of file AitkenAcceleration.hpp.
|
inlinevirtual |
Implements precice::acceleration::Acceleration.
Definition at line 25 of file AitkenAcceleration.hpp.
|
virtual |
Implements precice::acceleration::Acceleration.
Definition at line 38 of file AitkenAcceleration.cpp.
|
virtual |
Implements precice::acceleration::Acceleration.
Definition at line 112 of file AitkenAcceleration.cpp.
|
virtual |
Implements precice::acceleration::Acceleration.
Definition at line 63 of file AitkenAcceleration.cpp.
|
private |
Definition at line 46 of file AitkenAcceleration.hpp.
|
private |
Definition at line 44 of file AitkenAcceleration.hpp.
|
private |
Definition at line 42 of file AitkenAcceleration.hpp.
|
private |
Definition at line 48 of file AitkenAcceleration.hpp.
|
private |
Definition at line 40 of file AitkenAcceleration.hpp.
|
private |
Definition at line 50 of file AitkenAcceleration.hpp.
|
private |
Definition at line 52 of file AitkenAcceleration.hpp.
|
private |
Preconditioner for data vector if multiple data sets are used.
Definition at line 55 of file AitkenAcceleration.hpp.
|
private |
Definition at line 51 of file AitkenAcceleration.hpp.