KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
List of all members
Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace > Class Template Reference

A scheme for the solution of a problem using Aitken iterations. More...

#include <residualbased_incremental_aitken_static_scheme.h>

Inheritance diagram for Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >:
Collaboration diagram for Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >:

Public Member Functions

Life Cycle
 ResidualBasedIncrementalAitkenStaticScheme ()
 Default constructor. More...
 
 ResidualBasedIncrementalAitkenStaticScheme (Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 ResidualBasedIncrementalAitkenStaticScheme (double DefaultOmega)
 Default constructor. More...
 
 ~ResidualBasedIncrementalAitkenStaticScheme () override
 Destructor. More...
 
Input and output
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::ResidualBasedIncrementalUpdateStaticScheme< TSparseSpace, TDenseSpace >
 ResidualBasedIncrementalUpdateStaticScheme (Parameters ThisParameters)
 Constructor. The pseudo static scheme (parameters) More...
 
 ResidualBasedIncrementalUpdateStaticScheme ()
 
 ResidualBasedIncrementalUpdateStaticScheme (ResidualBasedIncrementalUpdateStaticScheme &rOther)
 
 ~ResidualBasedIncrementalUpdateStaticScheme () override
 
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ResidualBasedIncrementalUpdateStaticScheme)
 Pointer definition of ResidualBasedIncrementalUpdateStaticScheme. More...
 
BaseType::Pointer Create (Parameters ThisParameters) const override
 Create method. More...
 
void Update (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) override
 Performing the update of the solution. More...
 
void Predict (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) override
 Performing the prediction of the solution. More...
 
void CalculateSystemContributions (Element &rCurrentElement, LocalSystemMatrixType &rLHSContribution, LocalSystemVectorType &rRHSContribution, EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) override
 This function is designed to be called in the builder and solver to introduce the selected time integration scheme. More...
 
void CalculateSystemContributions (Condition &rCurrentCondition, LocalSystemMatrixType &rLHSContribution, LocalSystemVectorType &rRHSContribution, EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) override
 Functions totally analogous to the precedent but applied to the "condition" objects. More...
 
void CalculateRHSContribution (Element &rCurrentElement, LocalSystemVectorType &rRHSContribution, EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) override
 This function is designed to calculate just the RHS contribution. More...
 
void CalculateRHSContribution (Condition &rCurrentCondition, LocalSystemVectorType &rRHSContribution, EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) override
 Functions totally analogous to the precedent but applied to the "condition" objects. More...
 
void CalculateLHSContribution (Element &rCurrentElement, LocalSystemMatrixType &rLHSContribution, EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) override
 This function is designed to calculate just the LHS contribution. More...
 
void Clear () override
 Liberate internal storage. More...
 
Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
- Public Member Functions inherited from Kratos::Scheme< TSparseSpace, TDenseSpace >
 Scheme ()
 Default Constructor. More...
 
 Scheme (Parameters ThisParameters)
 Constructor with Parameters. More...
 
 Scheme (Scheme &rOther)
 
virtual ~Scheme ()
 
 KRATOS_CLASS_POINTER_DEFINITION (Scheme)
 Pointer definition of Scheme. More...
 
virtual Pointer Clone ()
 Clone method. More...
 
virtual void Initialize (ModelPart &rModelPart)
 This is the place to initialize the Scheme. More...
 
bool SchemeIsInitialized ()
 This method returns if the scheme is initialized. More...
 
void SetSchemeIsInitialized (bool SchemeIsInitializedFlag=true)
 This method sets if the elements have been initialized or not (true by default) More...
 
bool ElementsAreInitialized ()
 This method returns if the elements are initialized. More...
 
void SetElementsAreInitialized (bool ElementsAreInitializedFlag=true)
 This method sets if the elements have been initialized or not (true by default) More...
 
bool ConditionsAreInitialized ()
 This method returns if the conditions are initialized. More...
 
void SetConditionsAreInitialized (bool ConditionsAreInitializedFlag=true)
 This method sets if the conditions have been initialized or not (true by default) More...
 
virtual void InitializeElements (ModelPart &rModelPart)
 This is the place to initialize the elements. More...
 
virtual void InitializeConditions (ModelPart &rModelPart)
 This is the place to initialize the conditions. More...
 
virtual void InitializeSolutionStep (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b)
 Function called once at the beginning of each solution step. More...
 
virtual void FinalizeSolutionStep (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b)
 Function called once at the end of a solution step, after convergence is reached if an iterative process is needed. More...
 
virtual void InitializeNonLinIteration (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b)
 unction to be called when it is needed to initialize an iteration. It is designed to be called at the beginning of each non linear iteration More...
 
virtual void FinalizeNonLinIteration (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b)
 Function to be called when it is needed to finalize an iteration. It is designed to be called at the end of each non linear iteration. More...
 
virtual void CalculateOutputData (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b)
 Functions to be called to prepare the data needed for the output of results. More...
 
virtual void CleanOutputData ()
 Functions that cleans the results data. More...
 
virtual void Clean ()
 This function is intended to be called at the end of the solution step to clean up memory storage not needed after the end of the solution step. More...
 
virtual int Check (const ModelPart &rModelPart) const
 This function is designed to be called once to perform all the checks needed on the input provided. Checks can be "expensive" as the function is designed to catch user's errors. More...
 
virtual int Check (ModelPart &rModelPart)
 
virtual void CalculateLHSContribution (Condition &rCondition, LocalSystemMatrixType &LHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo)
 Functions totally analogous to the precedent but applied to the "condition" objects. More...
 
virtual void EquationId (const Element &rElement, Element::EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo)
 This method gets the eqaution id corresponding to the current element. More...
 
virtual void EquationId (const Condition &rCondition, Element::EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo)
 Functions totally analogous to the precedent but applied to the "condition" objects. More...
 
virtual void GetDofList (const Element &rElement, Element::DofsVectorType &rDofList, const ProcessInfo &rCurrentProcessInfo)
 Function that returns the list of Degrees of freedom to be assembled in the system for a Given element. More...
 
virtual void GetDofList (const Condition &rCondition, Element::DofsVectorType &rDofList, const ProcessInfo &rCurrentProcessInfo)
 Function that returns the list of Degrees of freedom to be assembled in the system for a Given condition. More...
 

Type Definitions

typedef Scheme< TSparseSpace, TDenseSpace > BaseSchemeType
 
typedef ResidualBasedIncrementalUpdateStaticScheme< TSparseSpace, TDenseSpace > BaseType
 
typedef ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace > ClassType
 
typedef BaseType::TDataType TDataType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
 KRATOS_CLASS_POINTER_DEFINITION (ResidualBasedIncrementalAitkenStaticScheme)
 Pointer definition of ResidualBasedIncrementalAitkenStaticScheme. More...
 

Operations

BaseSchemeType::Pointer Create (Parameters ThisParameters) const override
 Create method. More...
 
void InitializeSolutionStep (ModelPart &r_model_part, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override
 Initialize the iteration counter at the beginning of each solution step. More...
 
void Update (ModelPart &r_model_part, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override
 Update the degrees of freedom of the problem using Aitken's accelerator. More...
 
Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
static Parameters StaticGetDefaultParameters ()
 

Additional Inherited Members

- Public Types inherited from Kratos::ResidualBasedIncrementalUpdateStaticScheme< TSparseSpace, TDenseSpace >
typedef Scheme< TSparseSpace, TDenseSpace > BaseType
 Base class definition. More...
 
typedef ResidualBasedIncrementalUpdateStaticScheme< TSparseSpace, TDenseSpace > ClassType
 
typedef BaseType::DofsArrayType DofsArrayType
 DoF array type definition. More...
 
typedef BaseType::TDataType TDataType
 Data type definition. More...
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 Matrix type definition. More...
 
typedef BaseType::TSystemVectorType TSystemVectorType
 Vector type definition. More...
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 Local system matrix type definition. More...
 
typedef BaseType::LocalSystemMatrixType LocalSystemMatrixType
 Local system vector type definition. More...
 
typedef ModelPart::ElementsContainerType ElementsArrayType
 Elements containers definition. More...
 
typedef ModelPart::ConditionsContainerType ConditionsArrayType
 Conditions containers definition. More...
 
typedef Element::EquationIdVectorType EquationIdVectorType
 The definition of the vector containing the equation ids. More...
 
- Public Types inherited from Kratos::Scheme< TSparseSpace, TDenseSpace >
using ClassType = Scheme< TSparseSpace, TDenseSpace >
 The definition of the current class. More...
 
using TDataType = typename TSparseSpace::DataType
 Data type definition. More...
 
using TSystemMatrixType = typename TSparseSpace::MatrixType
 Matrix type definition. More...
 
using TSystemVectorType = typename TSparseSpace::VectorType
 Vector type definition. More...
 
using LocalSystemMatrixType = typename TDenseSpace::MatrixType
 Local system matrix type definition. More...
 
using LocalSystemVectorType = typename TDenseSpace::VectorType
 Local system vector type definition. More...
 
using TDofType = Dof< double >
 DoF type definition. More...
 
using DofsArrayType = ModelPart::DofsArrayType
 DoF array type definition. More...
 
using ElementsArrayType = ModelPart::ElementsContainerType
 Elements containers definition. More...
 
using ConditionsArrayType = ModelPart::ConditionsContainerType
 Conditions containers definition. More...
 
- Static Public Member Functions inherited from Kratos::ResidualBasedIncrementalUpdateStaticScheme< TSparseSpace, TDenseSpace >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 
- Static Public Member Functions inherited from Kratos::Scheme< TSparseSpace, TDenseSpace >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 
- Protected Member Functions inherited from Kratos::Scheme< TSparseSpace, TDenseSpace >
virtual Parameters ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const
 This method validate and assign default parameters. More...
 
virtual void AssignSettings (const Parameters ThisParameters)
 This method assigns settings to member variables. More...
 
- Protected Attributes inherited from Kratos::Scheme< TSparseSpace, TDenseSpace >
bool mSchemeIsInitialized
 
bool mElementsAreInitialized
 Flag to be used in controlling if the Scheme has been initialized or not. More...
 
bool mConditionsAreInitialized
 Flag taking in account if the elements were initialized correctly or not. More...
 

Detailed Description

template<class TSparseSpace, class TDenseSpace>
class Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >

A scheme for the solution of a problem using Aitken iterations.

Aitken's method intends to improve convergence by introducing a relaxation factor in the update of the solution after each iteration.

Member Typedef Documentation

◆ BaseSchemeType

template<class TSparseSpace , class TDenseSpace >
typedef Scheme<TSparseSpace,TDenseSpace> Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::BaseSchemeType

◆ BaseType

template<class TSparseSpace , class TDenseSpace >
typedef ResidualBasedIncrementalUpdateStaticScheme<TSparseSpace,TDenseSpace> Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::BaseType

◆ ClassType

template<class TSparseSpace , class TDenseSpace >
typedef ResidualBasedIncrementalAitkenStaticScheme<TSparseSpace, TDenseSpace> Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::ClassType

◆ DofsArrayType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::DofsArrayType Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::DofsArrayType

◆ TDataType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::TDataType Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::TDataType

◆ TSystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::TSystemMatrixType Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::TSystemMatrixType

◆ TSystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::TSystemVectorType Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::TSystemVectorType

Constructor & Destructor Documentation

◆ ResidualBasedIncrementalAitkenStaticScheme() [1/3]

template<class TSparseSpace , class TDenseSpace >
Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::ResidualBasedIncrementalAitkenStaticScheme ( )
inlineexplicit

Default constructor.

◆ ResidualBasedIncrementalAitkenStaticScheme() [2/3]

template<class TSparseSpace , class TDenseSpace >
Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::ResidualBasedIncrementalAitkenStaticScheme ( Parameters  ThisParameters)
inlineexplicit

Default constructor. (with parameters)

Parameters
ThisParametersDefault relaxation factor to use in the first iteration, where Aitken's factor cannot be computed. Use a value between 0 and 1.

◆ ResidualBasedIncrementalAitkenStaticScheme() [3/3]

template<class TSparseSpace , class TDenseSpace >
Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::ResidualBasedIncrementalAitkenStaticScheme ( double  DefaultOmega)
inlineexplicit

Default constructor.

Parameters
DefaultOmegaDefault relaxation factor to use in the first iteration, where Aitken's factor cannot be computed. Use a value between 0 and 1.

◆ ~ResidualBasedIncrementalAitkenStaticScheme()

template<class TSparseSpace , class TDenseSpace >
Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::~ResidualBasedIncrementalAitkenStaticScheme ( )
inlineoverride

Destructor.

Member Function Documentation

◆ Create()

template<class TSparseSpace , class TDenseSpace >
BaseSchemeType::Pointer Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::Create ( Parameters  ThisParameters) const
inlineoverridevirtual

Create method.

Parameters
ThisParametersThe configuration parameters

Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.

◆ GetDefaultParameters()

template<class TSparseSpace , class TDenseSpace >
Parameters Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::GetDefaultParameters ( ) const
inlineoverridevirtual

This method provides the defaults parameters to avoid conflicts between the different constructors.

Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.

◆ Info()

template<class TSparseSpace , class TDenseSpace >
std::string Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::InitializeSolutionStep ( ModelPart r_model_part,
TSystemMatrixType A,
TSystemVectorType Dx,
TSystemVectorType b 
)
inlineoverride

Initialize the iteration counter at the beginning of each solution step.

Parameters
r_model_partThe problem's ModelPart
ASystem matrix
DxSolution vector (containing the increment of the unknowns obtained in the present iteration)
bRight hand side vector

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TSparseSpace , class TDenseSpace >
Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::KRATOS_CLASS_POINTER_DEFINITION ( ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >  )

◆ PrintData()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.

◆ PrintInfo()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.

◆ StaticGetDefaultParameters()

template<class TSparseSpace , class TDenseSpace >
static Parameters Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::StaticGetDefaultParameters ( )
inlinestatic

◆ Update()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedIncrementalAitkenStaticScheme< TSparseSpace, TDenseSpace >::Update ( ModelPart r_model_part,
DofsArrayType rDofSet,
TSystemMatrixType A,
TSystemVectorType Dx,
TSystemVectorType b 
)
inlineoverride

Update the degrees of freedom of the problem using Aitken's accelerator.

Parameters
r_model_partThe problem's ModelPart
ASystem matrix
DxSolution vector (containing the increment of the unknowns obtained in the present iteration)
bRight hand side vector

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