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_TypevectorPtr_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 RealdefaultOmegaFluid () const
 Get the default value of omega fluid. More...
 
const RealdefaultOmegaSolid () const
 Get the default value of omega solid. More...
 

Private unimplemented Methods

 NonLinearAitken (const NonLinearAitken &aitken)
 
NonLinearAitkenoperator= (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: