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::SolutionScheme< TSparseSpace, TDenseSpace > Class Template Reference

Solution scheme base class. More...

#include <solution_scheme.hpp>

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

Public Member Functions

Life Cycle
 SolutionScheme ()
 Default Constructor. More...
 
 SolutionScheme (Flags &rOptions)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, Flags &rOptions)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsScalarType &rTimeScalarIntegrationMethods, Flags &rOptions)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsScalarType &rTimeScalarIntegrationMethods)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, IntegrationMethodsScalarType &rTimeScalarIntegrationMethods, Flags &rOptions)
 Constructor. More...
 
 SolutionScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, IntegrationMethodsScalarType &rTimeScalarIntegrationMethods)
 Constructor. More...
 
 SolutionScheme (SolutionScheme &rOther)
 Copy contructor. More...
 
virtual SolutionSchemePointerType Clone ()
 Clone. More...
 
 ~SolutionScheme () override
 Destructor. More...
 
Access
void SetOptions (Flags &rOptions)
 Sets strategy options. More...
 
FlagsGetOptions ()
 Get strategy options. More...
 
void SetProcess (ProcessPointerType pProcess)
 Set process to execute after move_mesh. More...
 
void SetProcessVector (ProcessPointerVectorType &rProcessVector)
 Set list of processes to execute after move_mesh. More...
 
- Public Member Functions inherited from Kratos::Flags
Flagsoperator= (Flags const &rOther)
 Assignment operator. More...
 
 operator bool () const
 
Flags operator~ () const
 
bool operator! () const
 
void AssignFlags (Flags const &rOther)
 
void Set (const Flags ThisFlag)
 
void Set (const Flags ThisFlag, bool Value)
 
void Reset (const Flags ThisFlag)
 
void Flip (const Flags ThisFlag)
 
void SetPosition (IndexType Position, bool Value=true)
 
bool GetPosition (IndexType Position) const
 
void FlipPosition (IndexType Position)
 
void ClearPosition (IndexType Position)
 
void Clear ()
 
Flags AsFalse () const
 
bool Is (Flags const &rOther) const
 
bool IsDefined (Flags const &rOther) const
 
bool IsNot (Flags const &rOther) const
 
bool IsNotDefined (Flags const &rOther) const
 
virtual std::string Info () const
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (Flags)
 Pointer definition of Flags. More...
 
const Flagsoperator|= (const Flags &Other)
 
const Flagsoperator&= (const Flags &Other)
 
 Flags ()
 Default constructor. More...
 
 Flags (Flags const &rOther)
 Copy constructor. More...
 
virtual ~Flags ()
 Destructor. More...
 

Protected Member Functions

Protected Operations
virtual void InitializeElements (ModelPart &rModelPart)
 Initialize the elements. More...
 
virtual void InitializeConditions (ModelPart &rModelPart)
 Initialize the conditions. More...
 
virtual void InitializeNonLinearIteration (Condition::Pointer rCurrentCondition, ProcessInfo &rCurrentProcessInfo)
 Initialize the conditions. More...
 
virtual void InitializeNonLinearIteration (Element::Pointer rCurrentElement, ProcessInfo &rCurrentProcessInfo)
 Initialize the elements. More...
 
virtual void IntegrationMethodUpdate (NodeType &rNode)
 
virtual void IntegrationMethodPredict (NodeType &rNode)
 

Protected Attributes

Protected member Variables
Flags mOptions
 
IntegrationMethodsVectorType mTimeVectorIntegrationMethods
 
IntegrationMethodsScalarType mTimeScalarIntegrationMethods
 
ProcessPointerVectorType mProcesses
 

Type Definitions

typedef SolutionScheme< TSparseSpace, TDenseSpace > SolutionSchemeType
 
typedef SolutionSchemeType::Pointer SolutionSchemePointerType
 
typedef SolverLocalFlags LocalFlagType
 
typedef ModelPart::DofsArrayType DofsArrayType
 
typedef TSparseSpace::MatrixType SystemMatrixType
 
typedef TSparseSpace::VectorType SystemVectorType
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 
typedef ModelPart::NodesContainerType NodesContainerType
 
typedef ModelPart::ElementsContainerType ElementsContainerType
 
typedef ModelPart::ConditionsContainerType ConditionsContainerType
 
typedef ModelPart::NodeType NodeType
 
typedef array_1d< double, 3 > VectorType
 
typedef Variable< VectorTypeVariableVectorType
 
typedef TimeIntegrationMethod< VariableVectorType, VectorTypeIntegrationVectorType
 
typedef IntegrationVectorType::Pointer IntegrationVectorPointerType
 
typedef std::vector< IntegrationVectorPointerTypeIntegrationMethodsVectorType
 
typedef Variable< doubleVariableScalarType
 
typedef TimeIntegrationMethod< VariableScalarType, doubleIntegrationScalarType
 
typedef IntegrationScalarType::Pointer IntegrationScalarPointerType
 
typedef std::vector< IntegrationScalarPointerTypeIntegrationMethodsScalarType
 
typedef SolverProcess::Pointer ProcessPointerType
 
typedef std::vector< ProcessPointerTypeProcessPointerVectorType
 
 KRATOS_CLASS_POINTER_DEFINITION (SolutionScheme)
 Pointer definition of SolutionScheme. More...
 

Operations

void SetDefaultFlags ()
 SetDefaultSchemeFlags. More...
 
virtual void Initialize (ModelPart &rModelPart)
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
virtual void InitializeSolutionStep (ModelPart &rModelPart)
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
virtual void FinalizeSolutionStep (ModelPart &rModelPart)
 Performs all the required operations that should be done (for each step) after solving the solution step. More...
 
virtual void InitializeNonLinearIteration (ModelPart &rModelPart)
 Performs all the required operations that should be done (for each iteration) before solving a solution iteration. More...
 
virtual void FinalizeNonLinearIteration (ModelPart &rModelPart)
 Performs all the required operations that should be done (for each iteration) after solving a solution iteration. More...
 
virtual void Predict (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx)
 Performing the prediction of the solution. More...
 
virtual void Update (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx)
 Performing the update of the solution. More...
 
virtual void UpdateDofs (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx)
 Performing the update of the solution Dofs. More...
 
virtual void UpdateVariables (ModelPart &rModelPart)
 Performing the update of the solution variables. More...
 
virtual void PredictVariables (ModelPart &rModelPart)
 Performing the prediction of the solution variables. More...
 
virtual void MoveMesh (ModelPart &rModelPart)
 This function is designed to move the mesh. More...
 
virtual void Clear (Element::Pointer rCurrentElement)
 Liberates internal storage for an element. More...
 
virtual void Clear (Condition::Pointer rCurrentCondition)
 Liberates internal storage for a condition. More...
 
virtual void Clear ()
 Liberates internal storage. More...
 
virtual int Check (ModelPart &rModelPart)
 This function is designed to be called once to perform all the checks needed. More...
 
virtual void CalculateSystemContributions (Element::Pointer pCurrentElement, LocalSystemMatrixType &rLHS_Contribution, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void Calculate_RHS_Contribution (Element::Pointer pCurrentElement, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void Calculate_LHS_Contribution (Element::Pointer pCurrentElement, LocalSystemMatrixType &rLHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void EquationId (Element::Pointer pCurrentElement, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void Condition_CalculateSystemContributions (Condition::Pointer pCurrentCondition, LocalSystemMatrixType &rLHS_Contribution, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void Condition_Calculate_RHS_Contribution (Condition::Pointer pCurrentCondition, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void Condition_Calculate_LHS_Contribution (Condition::Pointer pCurrentCondition, LocalSystemMatrixType &rLHS_Contribution, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void Condition_EquationId (Condition::Pointer pCurrentCondition, Element::EquationIdVectorType &rEquationId, ProcessInfo &rCurrentProcessInfo)
 
virtual void GetElementalDofList (Element::Pointer pCurrentElement, Element::DofsVectorType &rElementalDofList, ProcessInfo &rCurrentProcessInfo)
 
virtual void GetConditionDofList (Condition::Pointer pCurrentCondition, Element::DofsVectorType &rConditionDofList, ProcessInfo &rCurrentProcessInfo)
 
static void SetSolution (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx)
 Performing the update of the solution Dofs (total solution) More...
 
static void AddSolution (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx)
 Performing the update of the solution Dofs (incremental solution) More...
 

Additional Inherited Members

- Public Types inherited from Kratos::Flags
enum  FlagsList {
  Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 ,
  Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 ,
  Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 ,
  Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 ,
  Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 ,
  Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 ,
  Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 ,
  Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30
}
 
typedef int64_t BlockType
 
typedef int64_t FlagType
 
typedef std::size_t IndexType
 
- Static Public Member Functions inherited from Kratos::Flags
static const Flags AllDefined ()
 
static const Flags AllTrue ()
 
static Flags Create (IndexType ThisPosition, bool Value=true)
 

Detailed Description

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

Solution scheme base class.

This is the base class for the schemes

Member Typedef Documentation

◆ ConditionsContainerType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::ConditionsContainerType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::ConditionsContainerType

◆ DofsArrayType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::DofsArrayType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::DofsArrayType

◆ ElementsContainerType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::ElementsContainerType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::ElementsContainerType

◆ IntegrationMethodsScalarType

template<class TSparseSpace , class TDenseSpace >
typedef std::vector<IntegrationScalarPointerType> Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::IntegrationMethodsScalarType

◆ IntegrationMethodsVectorType

template<class TSparseSpace , class TDenseSpace >
typedef std::vector<IntegrationVectorPointerType> Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::IntegrationMethodsVectorType

◆ IntegrationScalarPointerType

template<class TSparseSpace , class TDenseSpace >
typedef IntegrationScalarType::Pointer Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::IntegrationScalarPointerType

◆ IntegrationScalarType

template<class TSparseSpace , class TDenseSpace >
typedef TimeIntegrationMethod<VariableScalarType, double> Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::IntegrationScalarType

◆ IntegrationVectorPointerType

template<class TSparseSpace , class TDenseSpace >
typedef IntegrationVectorType::Pointer Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::IntegrationVectorPointerType

◆ IntegrationVectorType

template<class TSparseSpace , class TDenseSpace >
typedef TimeIntegrationMethod<VariableVectorType,VectorType> Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::IntegrationVectorType

◆ LocalFlagType

template<class TSparseSpace , class TDenseSpace >
typedef SolverLocalFlags Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::LocalFlagType

◆ LocalSystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef TDenseSpace::MatrixType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::LocalSystemMatrixType

◆ LocalSystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef TDenseSpace::VectorType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::LocalSystemVectorType

◆ NodesContainerType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::NodesContainerType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::NodesContainerType

◆ NodeType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::NodeType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::NodeType

◆ ProcessPointerType

template<class TSparseSpace , class TDenseSpace >
typedef SolverProcess::Pointer Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::ProcessPointerType

◆ ProcessPointerVectorType

template<class TSparseSpace , class TDenseSpace >
typedef std::vector<ProcessPointerType> Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::ProcessPointerVectorType

◆ SolutionSchemePointerType

template<class TSparseSpace , class TDenseSpace >
typedef SolutionSchemeType::Pointer Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionSchemePointerType

◆ SolutionSchemeType

template<class TSparseSpace , class TDenseSpace >
typedef SolutionScheme<TSparseSpace,TDenseSpace> Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionSchemeType

◆ SystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::MatrixType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SystemMatrixType

◆ SystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::VectorType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SystemVectorType

◆ VariableScalarType

template<class TSparseSpace , class TDenseSpace >
typedef Variable<double> Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::VariableScalarType

◆ VariableVectorType

template<class TSparseSpace , class TDenseSpace >
typedef Variable<VectorType> Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::VariableVectorType

◆ VectorType

template<class TSparseSpace , class TDenseSpace >
typedef array_1d<double, 3> Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::VectorType

Constructor & Destructor Documentation

◆ SolutionScheme() [1/9]

template<class TSparseSpace , class TDenseSpace >
Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionScheme ( )
inline

Default Constructor.

◆ SolutionScheme() [2/9]

template<class TSparseSpace , class TDenseSpace >
Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionScheme ( Flags rOptions)
inline

Constructor.

◆ SolutionScheme() [3/9]

template<class TSparseSpace , class TDenseSpace >
Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionScheme ( IntegrationMethodsVectorType rTimeVectorIntegrationMethods,
Flags rOptions 
)
inline

Constructor.

◆ SolutionScheme() [4/9]

template<class TSparseSpace , class TDenseSpace >
Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionScheme ( IntegrationMethodsVectorType rTimeVectorIntegrationMethods)
inline

Constructor.

◆ SolutionScheme() [5/9]

template<class TSparseSpace , class TDenseSpace >
Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionScheme ( IntegrationMethodsScalarType rTimeScalarIntegrationMethods,
Flags rOptions 
)
inline

Constructor.

◆ SolutionScheme() [6/9]

template<class TSparseSpace , class TDenseSpace >
Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionScheme ( IntegrationMethodsScalarType rTimeScalarIntegrationMethods)
inline

Constructor.

◆ SolutionScheme() [7/9]

template<class TSparseSpace , class TDenseSpace >
Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionScheme ( IntegrationMethodsVectorType rTimeVectorIntegrationMethods,
IntegrationMethodsScalarType rTimeScalarIntegrationMethods,
Flags rOptions 
)
inline

Constructor.

◆ SolutionScheme() [8/9]

template<class TSparseSpace , class TDenseSpace >
Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionScheme ( IntegrationMethodsVectorType rTimeVectorIntegrationMethods,
IntegrationMethodsScalarType rTimeScalarIntegrationMethods 
)
inline

Constructor.

◆ SolutionScheme() [9/9]

template<class TSparseSpace , class TDenseSpace >
Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SolutionScheme ( SolutionScheme< TSparseSpace, TDenseSpace > &  rOther)
inline

Copy contructor.

◆ ~SolutionScheme()

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

Destructor.

Member Function Documentation

◆ AddSolution()

template<class TSparseSpace , class TDenseSpace >
static void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::AddSolution ( ModelPart rModelPart,
DofsArrayType rDofSet,
SystemVectorType rDx 
)
inlinestatic

Performing the update of the solution Dofs (incremental solution)

this function must be called only once per iteration

◆ Calculate_LHS_Contribution()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Calculate_LHS_Contribution ( Element::Pointer  pCurrentElement,
LocalSystemMatrixType rLHS_Contribution,
Element::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

This function is designed to calculate just the LHS contribution

Parameters
pCurrentElementThe element to compute
rLHS_ContributionThe LHS matrix contribution
rEquationIdThe ID's of the element degrees of freedom
rCurrentProcessInfoThe current process info instance

Reimplemented in Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >.

◆ Calculate_RHS_Contribution()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Calculate_RHS_Contribution ( Element::Pointer  pCurrentElement,
LocalSystemVectorType rRHS_Contribution,
Element::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

This function is designed to calculate just the RHS contribution

Parameters
pCurrentElementThe element to compute
rRHS_ContributionThe RHS vector contribution
rEquationIdThe ID's of the element degrees of freedom
rCurrentProcessInfoThe current process info instance

Reimplemented in Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >, and Kratos::DynamicScheme< TSparseSpace, TDenseSpace >.

◆ CalculateSystemContributions()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::CalculateSystemContributions ( Element::Pointer  pCurrentElement,
LocalSystemMatrixType rLHS_Contribution,
LocalSystemVectorType rRHS_Contribution,
Element::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

these functions is designed to be called in the builder and solver to introduce the selected time integration scheme. It "asks" the matrix needed to the element and performs the operations needed to introduce the seected time integration scheme. this function calculates at the same time the contribution to the LHS and to the RHS of the system This function is designed to be called in the builder and solver to introduce

Parameters
pCurrentElementThe element to compute
rLHS_ContributionThe LHS matrix contribution
rRHS_ContributionThe RHS vector contribution
rEquationIdThe ID's of the element degrees of freedom
rCurrentProcessInfoThe current process info instance

Reimplemented in Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >, and Kratos::DynamicScheme< TSparseSpace, TDenseSpace >.

◆ Check()

template<class TSparseSpace , class TDenseSpace >
virtual int Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Check ( ModelPart rModelPart)
inlinevirtual

This function is designed to be called once to perform all the checks needed.

Returns
0 all ok

Reimplemented in Kratos::StaticScheme< TSparseSpace, TDenseSpace >, Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >, and Kratos::DynamicScheme< TSparseSpace, TDenseSpace >.

◆ Clear() [1/3]

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Clear ( )
inlinevirtual

Liberates internal storage.

◆ Clear() [2/3]

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Clear ( Condition::Pointer  rCurrentCondition)
inlinevirtual

Liberates internal storage for a condition.

◆ Clear() [3/3]

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Clear ( Element::Pointer  rCurrentElement)
inlinevirtual

Liberates internal storage for an element.

◆ Clone()

template<class TSparseSpace , class TDenseSpace >
virtual SolutionSchemePointerType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Clone ( )
inlinevirtual

◆ Condition_Calculate_LHS_Contribution()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Condition_Calculate_LHS_Contribution ( Condition::Pointer  pCurrentCondition,
LocalSystemMatrixType rLHS_Contribution,
Element::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

Functions that calculates the RHS of a "condition" object

Parameters
rCurrentConditionThe condition to compute
rRHS_ContributionThe RHS vector contribution
rEquationIdThe ID's of the condition degrees of freedom
rCurrentProcessInfoThe current process info instance

Reimplemented in Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >.

◆ Condition_Calculate_RHS_Contribution()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Condition_Calculate_RHS_Contribution ( Condition::Pointer  pCurrentCondition,
LocalSystemVectorType rRHS_Contribution,
Element::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

Functions totally analogous to the precedent but applied to the "condition" objects

Parameters
rCurrentConditionThe condition to compute
rLHS_ContributionThe LHS matrix contribution
rRHS_ContributionThe RHS vector contribution
rEquationIdThe ID's of the element degrees of freedom
rCurrentProcessInfoThe current process info instance

Reimplemented in Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >, and Kratos::DynamicScheme< TSparseSpace, TDenseSpace >.

◆ Condition_CalculateSystemContributions()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Condition_CalculateSystemContributions ( Condition::Pointer  pCurrentCondition,
LocalSystemMatrixType rLHS_Contribution,
LocalSystemVectorType rRHS_Contribution,
Element::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

Functions totally analogous to the precedent but applied to the "condition" objects

Parameters
pCurrentConditionThe condition to compute
rLHS_ContributionThe LHS matrix contribution
rRHS_ContributionThe RHS vector contribution
rEquationIdThe ID's of the element degrees of freedom
rCurrentProcessInfoThe current process info instance

Reimplemented in Kratos::DynamicScheme< TSparseSpace, TDenseSpace >, and Kratos::EigensolverScheme< TSparseSpace, TDenseSpace >.

◆ Condition_EquationId()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Condition_EquationId ( Condition::Pointer  pCurrentCondition,
Element::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

◆ EquationId()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::EquationId ( Element::Pointer  pCurrentElement,
Element::EquationIdVectorType rEquationId,
ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

◆ FinalizeNonLinearIteration()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::FinalizeNonLinearIteration ( ModelPart rModelPart)
inlinevirtual

Performs all the required operations that should be done (for each iteration) after solving a solution iteration.

this function must be called only once per iteration

◆ FinalizeSolutionStep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::FinalizeSolutionStep ( ModelPart rModelPart)
inlinevirtual

Performs all the required operations that should be done (for each step) after solving the solution step.

this function must be called only once per step.

◆ GetConditionDofList()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::GetConditionDofList ( Condition::Pointer  pCurrentCondition,
Element::DofsVectorType rConditionDofList,
ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

Function that returns the list of Degrees of freedom to be assembled in the system for a Given Element

Parameters
rCurrentConditionThe condition to compute
rConditionDofsListThe condition dofs list
rCurrentProcessInfoThe current process info instance

◆ GetElementalDofList()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::GetElementalDofList ( Element::Pointer  pCurrentElement,
Element::DofsVectorType rElementalDofList,
ProcessInfo rCurrentProcessInfo 
)
inlinevirtual

Function that returns the list of Degrees of freedom to be assembled in the system for a Given Element

Parameters
rCurrentElementThe element to compute
rElementalDofsListThe element dofs list
rCurrentProcessInfoThe current process info instance

◆ GetOptions()

template<class TSparseSpace , class TDenseSpace >
Flags& Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::GetOptions ( )
inline

Get strategy options.

Returns
mOptions: options member variable

◆ Initialize()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Initialize ( ModelPart rModelPart)
inlinevirtual

Performs all the required operations that should be done (for each step) before solving the solution step.

This is intended to be called just once when the strategy is initialized

Reimplemented in Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >, Kratos::StaticScheme< TSparseSpace, TDenseSpace >, Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >, and Kratos::DynamicScheme< TSparseSpace, TDenseSpace >.

◆ InitializeConditions()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::InitializeConditions ( ModelPart rModelPart)
inlineprotectedvirtual

Initialize the conditions.

This is intended to be called just once when the strategy is initialized

◆ InitializeElements()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::InitializeElements ( ModelPart rModelPart)
inlineprotectedvirtual

Initialize the elements.

This is intended to be called just once when the strategy is initialized

◆ InitializeNonLinearIteration() [1/3]

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::InitializeNonLinearIteration ( Condition::Pointer  rCurrentCondition,
ProcessInfo rCurrentProcessInfo 
)
inlineprotectedvirtual

Initialize the conditions.

this function must be called only once per iteration

◆ InitializeNonLinearIteration() [2/3]

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::InitializeNonLinearIteration ( Element::Pointer  rCurrentElement,
ProcessInfo rCurrentProcessInfo 
)
inlineprotectedvirtual

Initialize the elements.

This is intended to be called every iteration

◆ InitializeNonLinearIteration() [3/3]

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::InitializeNonLinearIteration ( ModelPart rModelPart)
inlinevirtual

Performs all the required operations that should be done (for each iteration) before solving a solution iteration.

this function must be called only once per iteration

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::InitializeSolutionStep ( ModelPart rModelPart)
inlinevirtual

Performs all the required operations that should be done (for each step) before solving the solution step.

this function must be called only once per step.

Reimplemented in Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >.

◆ IntegrationMethodPredict()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::IntegrationMethodPredict ( NodeType rNode)
inlineprotectedvirtual

◆ IntegrationMethodUpdate()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::IntegrationMethodUpdate ( NodeType rNode)
inlineprotectedvirtual

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Pointer definition of SolutionScheme.

◆ MoveMesh()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::MoveMesh ( ModelPart rModelPart)
inlinevirtual

This function is designed to move the mesh.

Note
Be careful it just consider displacements, derive this method to adapt to your own strategies (ALE, FSI, etc...)

◆ Predict()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Predict ( ModelPart rModelPart,
DofsArrayType rDofSet,
SystemVectorType rDx 
)
inlinevirtual

Performing the prediction of the solution.

this function must be called only once per step.

Reimplemented in Kratos::StaticScheme< TSparseSpace, TDenseSpace >.

◆ PredictVariables()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::PredictVariables ( ModelPart rModelPart)
inlinevirtual

Performing the prediction of the solution variables.

this function must be called only once per iteration

◆ SetDefaultFlags()

template<class TSparseSpace , class TDenseSpace >
void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SetDefaultFlags ( )
inline

SetDefaultSchemeFlags.

This is intended to be called with the constructor

◆ SetOptions()

template<class TSparseSpace , class TDenseSpace >
void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SetOptions ( Flags rOptions)
inline

Sets strategy options.

◆ SetProcess()

template<class TSparseSpace , class TDenseSpace >
void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SetProcess ( ProcessPointerType  pProcess)
inline

Set process to execute after move_mesh.

◆ SetProcessVector()

template<class TSparseSpace , class TDenseSpace >
void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SetProcessVector ( ProcessPointerVectorType rProcessVector)
inline

Set list of processes to execute after move_mesh.

◆ SetSolution()

template<class TSparseSpace , class TDenseSpace >
static void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::SetSolution ( ModelPart rModelPart,
DofsArrayType rDofSet,
SystemVectorType rDx 
)
inlinestatic

Performing the update of the solution Dofs (total solution)

this function must be called only once per iteration

◆ Update()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::Update ( ModelPart rModelPart,
DofsArrayType rDofSet,
SystemVectorType rDx 
)
inlinevirtual

Performing the update of the solution.

this function must be called only once per iteration

Reimplemented in Kratos::StaticScheme< TSparseSpace, TDenseSpace >, and Kratos::ExplicitCentralDifferencesScheme< TSparseSpace, TDenseSpace >.

◆ UpdateDofs()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::UpdateDofs ( ModelPart rModelPart,
DofsArrayType rDofSet,
SystemVectorType rDx 
)
inlinevirtual

Performing the update of the solution Dofs.

this function must be called only once per iteration

◆ UpdateVariables()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::UpdateVariables ( ModelPart rModelPart)
inlinevirtual

Performing the update of the solution variables.

this function must be called only once per iteration

Member Data Documentation

◆ mOptions

template<class TSparseSpace , class TDenseSpace >
Flags Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::mOptions
protected

◆ mProcesses

template<class TSparseSpace , class TDenseSpace >
ProcessPointerVectorType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::mProcesses
protected

◆ mTimeScalarIntegrationMethods

template<class TSparseSpace , class TDenseSpace >
IntegrationMethodsScalarType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::mTimeScalarIntegrationMethods
protected

◆ mTimeVectorIntegrationMethods

template<class TSparseSpace , class TDenseSpace >
IntegrationMethodsVectorType Kratos::SolutionScheme< TSparseSpace, TDenseSpace >::mTimeVectorIntegrationMethods
protected

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