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

Static integration scheme (for static problems) More...

#include <static_scheme.hpp>

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

Public Member Functions

Life Cycle
 StaticScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, Flags &rOptions)
 Constructor. More...
 
 StaticScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods)
 Constructor. More...
 
 StaticScheme (IntegrationMethodsScalarType &rTimeScalarIntegrationMethods, Flags &rOptions)
 Constructor. More...
 
 StaticScheme (IntegrationMethodsScalarType &rTimeScalarIntegrationMethods)
 Constructor. More...
 
 StaticScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, IntegrationMethodsScalarType &rTimeScalarIntegrationMethods, Flags &rOptions)
 Constructor. More...
 
 StaticScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, IntegrationMethodsScalarType &rTimeScalarIntegrationMethods)
 Constructor. More...
 
 StaticScheme (StaticScheme &rOther)
 Copy Constructor. More...
 
BasePointerType Clone () override
 Clone. More...
 
 ~StaticScheme () override
 Destructor. More...
 
Operations
void Initialize (ModelPart &rModelPart) override
 
void Update (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx) override
 
void Predict (ModelPart &rModelPart, DofsArrayType &rDofSet, SystemVectorType &rDx) override
 
int Check (ModelPart &rModelPart) override
 
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::SolutionScheme< TSparseSpace, TDenseSpace >
 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...
 
 ~SolutionScheme () override
 Destructor. More...
 
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...
 
 KRATOS_CLASS_POINTER_DEFINITION (SolutionScheme)
 Pointer definition of SolutionScheme. More...
 
void SetDefaultFlags ()
 SetDefaultSchemeFlags. 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 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 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)
 
- 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
 
 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...
 

Type Definitions

typedef SolutionScheme< TSparseSpace, TDenseSpace > BaseType
 
typedef BaseType::SolutionSchemePointerType BasePointerType
 
typedef BaseType::NodeType NodeType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef Element::DofsVectorType DofsVectorType
 
typedef BaseType::SystemMatrixType SystemMatrixType
 
typedef BaseType::SystemVectorType SystemVectorType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef BaseType::LocalSystemMatrixType LocalSystemMatrixType
 
typedef ModelPart::NodesContainerType NodesContainerType
 
typedef ModelPart::ElementsContainerType ElementsContainerType
 
typedef ModelPart::ConditionsContainerType ConditionsContainerType
 
typedef BaseType::IntegrationMethodsVectorType IntegrationMethodsVectorType
 
typedef BaseType::IntegrationMethodsScalarType IntegrationMethodsScalarType
 
 KRATOS_CLASS_POINTER_DEFINITION (StaticScheme)
 

Additional Inherited Members

- Public Types inherited from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >
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
 
- 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::SolutionScheme< TSparseSpace, TDenseSpace >
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...
 
- Static Public Member Functions inherited from Kratos::Flags
static const Flags AllDefined ()
 
static const Flags AllTrue ()
 
static Flags Create (IndexType ThisPosition, bool Value=true)
 
- Protected Member Functions inherited from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >
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 inherited from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >
Flags mOptions
 
IntegrationMethodsVectorType mTimeVectorIntegrationMethods
 
IntegrationMethodsScalarType mTimeScalarIntegrationMethods
 
ProcessPointerVectorType mProcesses
 

Detailed Description

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

Static integration scheme (for static problems)

Member Typedef Documentation

◆ BasePointerType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::SolutionSchemePointerType Kratos::StaticScheme< TSparseSpace, TDenseSpace >::BasePointerType

◆ BaseType

template<class TSparseSpace , class TDenseSpace >
typedef SolutionScheme<TSparseSpace,TDenseSpace> Kratos::StaticScheme< TSparseSpace, TDenseSpace >::BaseType

◆ ConditionsContainerType

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

◆ DofsArrayType

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

◆ DofsVectorType

template<class TSparseSpace , class TDenseSpace >
typedef Element::DofsVectorType Kratos::StaticScheme< TSparseSpace, TDenseSpace >::DofsVectorType

◆ ElementsContainerType

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

◆ IntegrationMethodsScalarType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::IntegrationMethodsScalarType Kratos::StaticScheme< TSparseSpace, TDenseSpace >::IntegrationMethodsScalarType

◆ IntegrationMethodsVectorType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::IntegrationMethodsVectorType Kratos::StaticScheme< TSparseSpace, TDenseSpace >::IntegrationMethodsVectorType

◆ LocalSystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::LocalSystemMatrixType Kratos::StaticScheme< TSparseSpace, TDenseSpace >::LocalSystemMatrixType

◆ LocalSystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::LocalSystemVectorType Kratos::StaticScheme< TSparseSpace, TDenseSpace >::LocalSystemVectorType

◆ NodesContainerType

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

◆ NodeType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::NodeType Kratos::StaticScheme< TSparseSpace, TDenseSpace >::NodeType

◆ SystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::SystemMatrixType Kratos::StaticScheme< TSparseSpace, TDenseSpace >::SystemMatrixType

◆ SystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::SystemVectorType Kratos::StaticScheme< TSparseSpace, TDenseSpace >::SystemVectorType

Constructor & Destructor Documentation

◆ StaticScheme() [1/7]

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

Constructor.

◆ StaticScheme() [2/7]

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

Constructor.

◆ StaticScheme() [3/7]

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

Constructor.

◆ StaticScheme() [4/7]

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

Constructor.

◆ StaticScheme() [5/7]

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

Constructor.

◆ StaticScheme() [6/7]

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

Constructor.

◆ StaticScheme() [7/7]

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

Copy Constructor.

◆ ~StaticScheme()

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

Destructor.

Member Function Documentation

◆ Check()

template<class TSparseSpace , class TDenseSpace >
int Kratos::StaticScheme< TSparseSpace, TDenseSpace >::Check ( ModelPart rModelPart)
inlineoverridevirtual

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.

Parameters
rModelPartThe model of the problem to solve
Returns
Zero means all ok

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

◆ Clone()

template<class TSparseSpace , class TDenseSpace >
BasePointerType Kratos::StaticScheme< TSparseSpace, TDenseSpace >::Clone ( )
inlineoverridevirtual

◆ Info()

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

Turn back information as a string.

Reimplemented from Kratos::Flags.

◆ Initialize()

template<class TSparseSpace , class TDenseSpace >
void Kratos::StaticScheme< TSparseSpace, TDenseSpace >::Initialize ( ModelPart rModelPart)
inlineoverridevirtual

this is the place to initialize the Scheme. This is intended to be called just once when the strategy is initialized

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

◆ Predict()

template<class TSparseSpace , class TDenseSpace >
void Kratos::StaticScheme< TSparseSpace, TDenseSpace >::Predict ( ModelPart rModelPart,
DofsArrayType rDofSet,
SystemVectorType rDx 
)
inlineoverridevirtual

Performing the prediction of the solution

Parameters
rModelPartThe model of the problem to solve
rDofSetset of all primary variables
rDxIncremental update of primary variables

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

◆ PrintData()

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

Print object's data.

Reimplemented from Kratos::Flags.

◆ PrintInfo()

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

Print information about this object.

Reimplemented from Kratos::Flags.

◆ Update()

template<class TSparseSpace , class TDenseSpace >
void Kratos::StaticScheme< TSparseSpace, TDenseSpace >::Update ( ModelPart rModelPart,
DofsArrayType rDofSet,
SystemVectorType rDx 
)
inlineoverridevirtual

Performing the update of the solution

Parameters
rModelPartThe model of the problem to solve
rDofSetSet of all primary variables
rDxincremental update of primary variables

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


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