LifeV
NonLinearAitken< VectorType > Class Template Reference

NonLinearAitken - LifeV class for the non-linear generalized Aitken algorithm. More...

#include <NonLinearAitken.hpp>

+ Collaboration diagram for NonLinearAitken< VectorType >:

Private Attributes

vectorPtr_Type M_oldSolution
 
vectorPtr_Type M_oldResidualFluid
 
vectorPtr_Type M_oldResidualSolid
 
Real M_defaultOmegaFluid
 
Real M_defaultOmegaSolid
 
bool M_restart
 
bool M_useDefaultOmega
 
std::array< Real, 2 > M_rangeOmega
 
bool M_inverseOmega
 

Public Types

typedef VectorType vector_Type
 
typedef std::shared_ptr< vector_Type > vectorPtr_Type
 

Constructors & Destructor

 NonLinearAitken ()
 Constructor. More...
 
virtual ~NonLinearAitken ()
 Destructor. More...
 

Methods

void useDefaultOmega (const bool useDefaultOmega=true)
 Use default omega. More...
 
void restart ()
 Reinitialize Omega to the default value. More...
 
vector_Type computeDeltaLambdaFSI (const vector_Type &solution, const vector_Type &residualFluid, const vector_Type &residualSolid)
 Compute OmegaS * deltaRSolid + OmegaF * deltaRFluid. More...
 
vector_Type computeDeltaLambdaScalar (const vector_Type &solution, const vector_Type &residual)
 Compute Omega * residual - Paragraph 4.2.3 & 4.2.4 of S. Deparis PhD Thesis. More...
 
vector_Type computeDeltaLambdaVector (const vector_Type &solution, const vector_Type &residual, const bool &independentOmega=false)
 Compute Omega * residual - Paragraph 4.2.6 of S. Deparis PhD Thesis. More...
 
vector_Type computeDeltaLambdaVectorBlock (const vector_Type &solution, const vector_Type &residual, const vector_Type &blocksVector, const UInt &blocksNumber=1)
 Compute Omega * residual - Paragraph 4.2.6 of S. Deparis PhD Thesis. More...
 

Set Methods

void setDefaultOmega (const Real &defaultOmegaFluid=0.1, const Real &defaultOmegaSolid=0.1)
 Set starting values for Omega. More...
 
void setOmegaRange (const std::array< Real, 2 > &omegaRange)
 Set the range of Omega. More...
 
void setOmegaMin (const Real &omegaMin)
 Set the minimum of Omega. More...
 
void setOmegaMax (const Real &omegaMax)
 Set the maximum of Omega. More...
 
void setMinimizationType (const bool &inverseOmega)
 Set minimization type. More...
 

Get Methods

const Real & defaultOmegaFluid () const
 Get the default value of omega fluid. More...
 
const Real & defaultOmegaSolid () const
 Get the default value of omega solid. More...
 

Private unimplemented Methods

 NonLinearAitken (const NonLinearAitken &aitken)
 
NonLinearAitken & operator= (const NonLinearAitken &aitken)
 

Private Methods

void checkRange (Real &omega)
 

Detailed Description

template<typename VectorType>
class LifeV::NonLinearAitken< VectorType >

NonLinearAitken - LifeV class for the non-linear generalized Aitken algorithm.

Definition at line 63 of file NonLinearAitken.hpp.

Member Typedef Documentation

◆ vector_Type

typedef VectorType vector_Type

Definition at line 71 of file NonLinearAitken.hpp.

◆ vectorPtr_Type

typedef std::shared_ptr< vector_Type > vectorPtr_Type

Definition at line 72 of file NonLinearAitken.hpp.

Constructor & Destructor Documentation

◆ NonLinearAitken() [1/2]

NonLinearAitken ( )
explicit

Constructor.

Definition at line 274 of file NonLinearAitken.hpp.

+ Here is the caller graph for this function:

◆ ~NonLinearAitken()

virtual ~NonLinearAitken ( )
inlinevirtual

Destructor.

Definition at line 84 of file NonLinearAitken.hpp.

◆ NonLinearAitken() [2/2]

NonLinearAitken ( const NonLinearAitken< VectorType > &  aitken)
private

Member Function Documentation

◆ useDefaultOmega()

void useDefaultOmega ( const bool  useDefaultOmega = true)
inline

Use default omega.

Parameters
useDefaultOmegatrue: use always default Omega (relaxed fixed-point method)

Definition at line 96 of file NonLinearAitken.hpp.

◆ restart()

void restart ( )
inline

Reinitialize Omega to the default value.

Definition at line 102 of file NonLinearAitken.hpp.

◆ computeDeltaLambdaFSI()

NonLinearAitken< VectorType >::vector_Type computeDeltaLambdaFSI ( const vector_Type &  solution,
const vector_Type &  residualFluid,
const vector_Type &  residualSolid 
)

Compute OmegaS * deltaRSolid + OmegaF * deltaRFluid.

Parameters
solution- vector of unknown
residualFluid- vector of residuals (Fluid for FSI problems)
residualSolid- vector of residuals (Solid for FSI problems)

eq. (12) page 8

Definition at line 295 of file NonLinearAitken.hpp.

◆ computeDeltaLambdaScalar()

NonLinearAitken< VectorType >::vector_Type computeDeltaLambdaScalar ( const vector_Type &  solution,
const vector_Type &  residual 
)

Compute Omega * residual - Paragraph 4.2.3 & 4.2.4 of S. Deparis PhD Thesis.

Parameters
solution- vector of unknown
residual- vector of residuals
invertedOmega- false (default): minimizing on omega; true: minimizing on omega^-1

one parameter version of the generalized aitken method. cf page 85 S. Deparis, PhD thesis

Definition at line 381 of file NonLinearAitken.hpp.

◆ computeDeltaLambdaVector()

NonLinearAitken< VectorType >::vector_Type computeDeltaLambdaVector ( const vector_Type &  solution,
const vector_Type &  residual,
const bool &  independentOmega = false 
)

Compute Omega * residual - Paragraph 4.2.6 of S. Deparis PhD Thesis.

Parameters
solution- vector of unknown
residual- vector of residuals

Definition at line 435 of file NonLinearAitken.hpp.

◆ computeDeltaLambdaVectorBlock()

NonLinearAitken< VectorType >::vector_Type computeDeltaLambdaVectorBlock ( const vector_Type &  solution,
const vector_Type &  residual,
const vector_Type &  blocksVector,
const UInt &  blocksNumber = 1 
)

Compute Omega * residual - Paragraph 4.2.6 of S. Deparis PhD Thesis.

Parameters
solution- vector of unknown
residual- vector of residuals
blocksVector- vector identifying the different blocks ( ID start from 1 )
blocksNumber- number of different blocks == higher ID (if = 1, it equal to the scalar case)

Definition at line 500 of file NonLinearAitken.hpp.

◆ setDefaultOmega()

void setDefaultOmega ( const Real &  defaultOmegaFluid = 0.1,
const Real &  defaultOmegaSolid = 0.1 
)
inline

Set starting values for Omega.

Parameters
defaultOmegaFluiddefault value for the omega fluid parameter
defaultOmegaSoliddefault value for the omega solid parameter if defaultOmegaFluid is negative, set M_useDefaultOmega equal true

Definition at line 577 of file NonLinearAitken.hpp.

◆ setOmegaRange()

void setOmegaRange ( const std::array< Real, 2 > &  omegaRange)
inline

Set the range of Omega.

The range of Omega is defined as: OmegaMin < Omega < OmegaMax.

Parameters
omegaRangearray with the minimum and the maximum of Omega

Definition at line 167 of file NonLinearAitken.hpp.

◆ setOmegaMin()

void setOmegaMin ( const Real &  omegaMin)
inline

Set the minimum of Omega.

Parameters
omegaMinminimum of Omega

Definition at line 176 of file NonLinearAitken.hpp.

◆ setOmegaMax()

void setOmegaMax ( const Real &  omegaMax)
inline

Set the maximum of Omega.

Parameters
omegaMaxmaximum of Omega

Definition at line 185 of file NonLinearAitken.hpp.

◆ setMinimizationType()

void setMinimizationType ( const bool &  inverseOmega)
inline

Set minimization type.

Parameters
inverseOmegafalse: minimizing on omega; true: minimizing on omega^-1

Definition at line 194 of file NonLinearAitken.hpp.

◆ defaultOmegaFluid()

const Real& defaultOmegaFluid ( ) const
inline

Get the default value of omega fluid.

Returns
default value of omega fluid

Definition at line 209 of file NonLinearAitken.hpp.

◆ defaultOmegaSolid()

const Real& defaultOmegaSolid ( ) const
inline

Get the default value of omega solid.

Returns
default value of omega solid

Definition at line 218 of file NonLinearAitken.hpp.

◆ operator=()

NonLinearAitken& operator= ( const NonLinearAitken< VectorType > &  aitken)
private

◆ checkRange()

void checkRange ( Real &  omega)
inlineprivate

Definition at line 593 of file NonLinearAitken.hpp.

+ Here is the caller graph for this function:

Field Documentation

◆ M_oldSolution

vectorPtr_Type M_oldSolution
private

Definition at line 245 of file NonLinearAitken.hpp.

◆ M_oldResidualFluid

vectorPtr_Type M_oldResidualFluid
private

Definition at line 246 of file NonLinearAitken.hpp.

◆ M_oldResidualSolid

vectorPtr_Type M_oldResidualSolid
private

Definition at line 247 of file NonLinearAitken.hpp.

◆ M_defaultOmegaFluid

Real M_defaultOmegaFluid
private

Definition at line 250 of file NonLinearAitken.hpp.

◆ M_defaultOmegaSolid

Real M_defaultOmegaSolid
private

Definition at line 251 of file NonLinearAitken.hpp.

◆ M_restart

bool M_restart
private

Definition at line 254 of file NonLinearAitken.hpp.

◆ M_useDefaultOmega

bool M_useDefaultOmega
private

Definition at line 259 of file NonLinearAitken.hpp.

◆ M_rangeOmega

std::array< Real, 2 > M_rangeOmega
private

Definition at line 262 of file NonLinearAitken.hpp.

◆ M_inverseOmega

bool M_inverseOmega
private

Definition at line 265 of file NonLinearAitken.hpp.


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