preCICE v3.2.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
precice::acceleration::AitkenAcceleration Class Reference

#include <AitkenAcceleration.hpp>

Inheritance diagram for precice::acceleration::AitkenAcceleration:
[legend]
Collaboration diagram for precice::acceleration::AitkenAcceleration:
[legend]

Public Member Functions

 AitkenAcceleration (double initialRelaxationFactor, std::vector< int > dataIDs, impl::PtrPreconditioner preconditioner)
 
 ~AitkenAcceleration () override=default
 
std::vector< int > getPrimaryDataIDs () const final override
 
void initialize (const DataMap &cpldata) final override
 
void performAcceleration (DataMap &cpldata, double windowStart, double windowEnd) final override
 
void iterationsConverged (const DataMap &cpldata, double windowStart) final override
 
- Public Member Functions inherited from precice::acceleration::Acceleration
virtual ~Acceleration ()=default
 
virtual void exportState (io::TXTWriter &writer)
 
virtual void importState (io::TXTReader &reader)
 

Private Member Functions

void concatenateCouplingData (const DataMap &cplData, const std::vector< DataID > &dataIDs, Eigen::VectorXd &targetValues, Eigen::VectorXd &targetOldValues, double windowStart, double windowEnd) const
 Concatenates the data and old data in cplData into two long vectors.
 

Private Attributes

logging::Logger _log {"acceleration::AitkenAcceleration"}
 
const double _initialRelaxation
 
const std::vector< int > _primaryDataIDs
 
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

- Public Types inherited from precice::acceleration::Acceleration
using DataMap = std::map<int, cplscheme::PtrCouplingData>
 Map from data ID to data values.
 
- Static Public Attributes inherited from precice::acceleration::Acceleration
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
 
static const int QR3FILTER = 5
 
- Protected Member Functions inherited from precice::acceleration::Acceleration
void checkDataIDs (const DataMap &cplData) const
 Checks if all dataIDs are contained in cplData.
 
- Static Protected Member Functions inherited from precice::acceleration::Acceleration
static void applyRelaxation (double omega, DataMap &cplData, double windowStart)
 performs a relaxation given a relaxation factor omega
 

Detailed Description

Definition at line 15 of file AitkenAcceleration.hpp.

Constructor & Destructor Documentation

◆ AitkenAcceleration()

precice::acceleration::AitkenAcceleration::AitkenAcceleration ( double initialRelaxationFactor,
std::vector< int > dataIDs,
impl::PtrPreconditioner preconditioner )

Definition at line 23 of file AitkenAcceleration.cpp.

◆ ~AitkenAcceleration()

precice::acceleration::AitkenAcceleration::~AitkenAcceleration ( )
overridedefault

Member Function Documentation

◆ concatenateCouplingData()

void precice::acceleration::AitkenAcceleration::concatenateCouplingData ( const DataMap & cplData,
const std::vector< DataID > & dataIDs,
Eigen::VectorXd & targetValues,
Eigen::VectorXd & targetOldValues,
double windowStart,
double windowEnd ) const
private

Concatenates the data and old data in cplData into two long vectors.

Definition at line 120 of file AitkenAcceleration.cpp.

Here is the call graph for this function:

◆ getPrimaryDataIDs()

std::vector< int > precice::acceleration::AitkenAcceleration::getPrimaryDataIDs ( ) const
inlinefinaloverridevirtual

Implements precice::acceleration::Acceleration.

Definition at line 24 of file AitkenAcceleration.hpp.

◆ initialize()

void precice::acceleration::AitkenAcceleration::initialize ( const DataMap & cpldata)
finaloverridevirtual

Implements precice::acceleration::Acceleration.

Definition at line 38 of file AitkenAcceleration.cpp.

Here is the call graph for this function:

◆ iterationsConverged()

void precice::acceleration::AitkenAcceleration::iterationsConverged ( const DataMap & cpldata,
double windowStart )
finaloverridevirtual

Implements precice::acceleration::Acceleration.

Definition at line 110 of file AitkenAcceleration.cpp.

Here is the call graph for this function:

◆ performAcceleration()

void precice::acceleration::AitkenAcceleration::performAcceleration ( DataMap & cpldata,
double windowStart,
double windowEnd )
finaloverridevirtual

Implements precice::acceleration::Acceleration.

Definition at line 59 of file AitkenAcceleration.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ _aitkenFactor

double precice::acceleration::AitkenAcceleration::_aitkenFactor
private

Definition at line 51 of file AitkenAcceleration.hpp.

◆ _initialRelaxation

const double precice::acceleration::AitkenAcceleration::_initialRelaxation
private

Definition at line 47 of file AitkenAcceleration.hpp.

◆ _iterationCounter

int precice::acceleration::AitkenAcceleration::_iterationCounter = 0
private

Definition at line 53 of file AitkenAcceleration.hpp.

◆ _log

logging::Logger precice::acceleration::AitkenAcceleration::_log {"acceleration::AitkenAcceleration"}
private

Definition at line 45 of file AitkenAcceleration.hpp.

◆ _oldResiduals

Eigen::VectorXd precice::acceleration::AitkenAcceleration::_oldResiduals
private

Definition at line 55 of file AitkenAcceleration.hpp.

◆ _oldValues

Eigen::VectorXd precice::acceleration::AitkenAcceleration::_oldValues
private

Definition at line 57 of file AitkenAcceleration.hpp.

◆ _preconditioner

impl::PtrPreconditioner precice::acceleration::AitkenAcceleration::_preconditioner
private

Preconditioner for data vector if multiple data sets are used.

Definition at line 60 of file AitkenAcceleration.hpp.

◆ _primaryDataIDs

const std::vector<int> precice::acceleration::AitkenAcceleration::_primaryDataIDs
private

Definition at line 49 of file AitkenAcceleration.hpp.

◆ _values

Eigen::VectorXd precice::acceleration::AitkenAcceleration::_values
private

Definition at line 56 of file AitkenAcceleration.hpp.


The documentation for this class was generated from the following files: