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.
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver > Class Template Reference

#include <poromechanics_explicit_strategy.hpp>

Inheritance diagram for Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >:
Collaboration diagram for Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >:

Public Types

typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver > MotherType
 
typedef BaseType::TSchemeType TSchemeType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
typedef BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
 
typedef BaseType::TSystemVectorPointerType TSystemVectorPointerType
 
typedef BaseType::NodesArrayType NodesArrayType
 
typedef BaseType::ElementsArrayType ElementsArrayType
 
typedef BaseType::ConditionsArrayType ConditionsArrayType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef Node::DofType DofType
 DoF types definition. More...
 
typedef DofType::Pointer DofPointerType
 
- Public Types inherited from Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > BaseType
 
typedef BaseType::TSchemeType TSchemeType
 Some definitions from the base class. More...
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
typedef BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
 
typedef BaseType::TSystemVectorPointerType TSystemVectorPointerType
 
typedef BaseType::NodesArrayType NodesArrayType
 
typedef BaseType::ElementsArrayType ElementsArrayType
 
typedef BaseType::ConditionsArrayType ConditionsArrayType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef Node::DofType DofType
 DoF types definition. More...
 
typedef DofType::Pointer DofPointerType
 
- Public Types inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
typedef SolvingStrategy< TSparseSpace, TDenseSpace > BaseType
 
typedef BaseType::TDataType TDataType
 
typedef BaseType::TSystemMatrixType TSystemMatrixType
 
typedef BaseType::TSystemVectorType TSystemVectorType
 
typedef BaseType::TSystemMatrixPointerType TSystemMatrixPointerType
 
typedef BaseType::TSystemVectorPointerType TSystemVectorPointerType
 
typedef BaseType::LocalSystemMatrixType LocalSystemMatrixType
 
typedef BaseType::LocalSystemVectorType LocalSystemVectorType
 
typedef Scheme< TSparseSpace, TDenseSpace > TSchemeType
 
typedef BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver > TBuilderAndSolverType
 
typedef ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver > ClassType
 
typedef BaseType::TDofType TDofType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef BaseType::NodesArrayType NodesArrayType
 
typedef BaseType::ElementsArrayType ElementsArrayType
 
typedef BaseType::ConditionsArrayType ConditionsArrayType
 
- Public Types inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
typedef TSparseSpace::DataType TDataType
 
typedef TSparseSpace::MatrixType TSystemMatrixType
 
typedef TSparseSpace::VectorType TSystemVectorType
 
typedef TSparseSpace::MatrixPointerType TSystemMatrixPointerType
 
typedef TSparseSpace::VectorPointerType TSystemVectorPointerType
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 
typedef SolvingStrategy< TSparseSpace, TDenseSpace > ClassType
 
typedef ModelPart::DofType TDofType
 
typedef ModelPart::DofsArrayType DofsArrayType
 
typedef ModelPart::NodesContainerType NodesArrayType
 
typedef ModelPart::ElementsContainerType ElementsArrayType
 
typedef ModelPart::ConditionsContainerType ConditionsArrayType
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (PoromechanicsExplicitStrategy)
 
 PoromechanicsExplicitStrategy (ModelPart &model_part, typename TSchemeType::Pointer pScheme, Parameters &rParameters, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=false)
 Constructor. More...
 
 ~PoromechanicsExplicitStrategy () override
 Destructor. More...
 
void Initialize () override
 Initialization of member variables and prior operations. More...
 
void InitializeSolutionStep () override
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
bool SolveSolutionStep () override
 Solves the current step. This function returns true if a solution has been found, false otherwise. More...
 
void FinalizeSolutionStep () override
 Performs all the required operations that should be done (for each step) after solving the solution step. More...
 
- Public Member Functions inherited from Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 MechanicalExplicitStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=true)
 Default constructor. More...
 
virtual ~MechanicalExplicitStrategy ()
 
void SetScheme (typename TSchemeType::Pointer pScheme)
 Set method for the time scheme. More...
 
TSchemeType::Pointer GetScheme ()
 Get method for the time scheme. More...
 
void SetInitializePerformedFlag (bool InitializePerformedFlag=true)
 This method sets the flag mInitializeWasPerformed. More...
 
bool GetInitializePerformedFlag ()
 This method gets the flag mInitializeWasPerformed. More...
 
void SetCalculateReactionsFlag (bool CalculateReactionsFlag)
 This method sets the flag mCalculateReactionsFlag. More...
 
bool GetCalculateReactionsFlag ()
 This method returns the flag mCalculateReactionsFlag. More...
 
void SetReformDofSetAtEachStepFlag (bool Flag)
 This method sets the flag mReformDofSetAtEachStep. More...
 
bool GetReformDofSetAtEachStepFlag ()
 This method returns the flag mReformDofSetAtEachStep. More...
 
void Initialize () override
 Initialization of member variables and prior operations. More...
 
void InitializeSolutionStep () override
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
bool SolveSolutionStep () override
 Solves the current step. This function returns true if a solution has been found, false otherwise. More...
 
void FinalizeSolutionStep () override
 Performs all the required operations that should be done (for each step) after solving the solution step. More...
 
void Clear () override
 Clears the internal storage. More...
 
int Check () override
 This function is designed to be called once to perform all the checks needed on the input provided. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (MechanicalExplicitStrategy)
 Counted pointer of MechanicalExplicitStrategy. More...
 
- Public Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 ImplicitSolvingStrategy ()
 Default constructor. More...
 
 ImplicitSolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 ImplicitSolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false)
 Default constructor. More...
 
virtual ~ImplicitSolvingStrategy ()
 
BaseType::Pointer Create (ModelPart &rModelPart, Parameters ThisParameters) const override
 Create method. More...
 
void SetRebuildLevel (int Level) override
 This sets the build level. More...
 
int GetRebuildLevel () const override
 This returns the build level. More...
 
void SetStiffnessMatrixIsBuilt (const bool StiffnessMatrixIsBuilt)
 This method sets the flag mStiffnessMatrixIsBuilt. More...
 
bool GetStiffnessMatrixIsBuilt () const
 This method gets the flag mStiffnessMatrixIsBuilt. More...
 
std::string Info () const override
 Turn back information as a string. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ImplicitSolvingStrategy)
 
Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
- Public Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
 SolvingStrategy ()
 Default constructor. More...
 
 SolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 SolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false)
 Default constructor. More...
 
virtual ~SolvingStrategy ()
 
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 (SolvingStrategy)
 
virtual void Predict ()
 Operation to predict the solution ... if it is not called a trivial predictor is used in which the values of the solution step of interest are assumed equal to the old values. More...
 
virtual double Solve ()
 The problem of interest is solved. More...
 
virtual bool IsConverged ()
 This should be considered as a "post solution" convergence check which is useful for coupled analysis. More...
 
virtual void CalculateOutputData ()
 This operations should be called before printing the results when non trivial results (e.g. stresses) need to be calculated given the solution of the step. More...
 
virtual void SetEchoLevel (const int Level)
 This sets the level of echo for the solving strategy. More...
 
int GetEchoLevel ()
 This returns the level of echo for the solving strategy. More...
 
void SetMoveMeshFlag (bool Flag)
 This function sets the flag that says if the mesh is moved. More...
 
bool MoveMeshFlag ()
 This function returns the flag that says if the mesh is moved. More...
 
bool GetMoveMeshFlag ()
 This function returns the flag that says if the mesh is moved. More...
 
virtual void MoveMesh ()
 This function is designed to move the mesh. More...
 
ModelPartGetModelPart ()
 Operations to get the pointer to the model. More...
 
const ModelPartGetModelPart () const
 Operations to get the pointer to the model. More...
 
virtual double GetResidualNorm ()
 Operations to get the residual norm. More...
 
virtual TSystemMatrixTypeGetSystemMatrix ()
 This method returns the LHS matrix. More...
 
virtual TSystemVectorTypeGetSystemVector ()
 This method returns the RHS vector. More...
 
virtual TSystemVectorTypeGetSolutionVector ()
 This method returns the solution vector. More...
 

Public Attributes

bool mInitializeWasPerformed
 Flag telling if the initialize was performed. More...
 
bool mCalculateReactionsFlag
 Flag telling if it is needed or not to compute the reactions. More...
 
TSchemeType::Pointer mpScheme
 

Protected Member Functions

virtual void CalculateReactions (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart)
 Name of the nodal variable associated to every SubModelPart. More...
 
virtual void CheckConvergence (ModelPart &rModelPart)
 
- Protected Member Functions inherited from Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
 MechanicalExplicitStrategy (const MechanicalExplicitStrategy &Other)
 
- Protected Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
void AssignSettings (const Parameters ThisParameters) override
 This method assigns settings to member variables. More...
 
- Protected Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
virtual Parameters ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const
 This method validate and assign default parameters. More...
 

Protected Attributes

ParametersmpParameters
 Member Variables. More...
 
std::vector< ModelPart * > mSubModelPartList
 
std::vector< std::string > mVariableNames
 List of every SubModelPart associated to an external load. More...
 
- Protected Attributes inherited from Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
TSchemeType::Pointer mpScheme
 
bool mReformDofSetAtEachStep = false
 The pointer to the integration scheme. More...
 
bool mCalculateReactionsFlag = true
 Flag telling if it is needed or not to compute the reactions. More...
 
bool mInitializeWasPerformed = false
 Flag telling if the initialize was performed. More...
 
- Protected Attributes inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
int mRebuildLevel
 
bool mStiffnessMatrixIsBuilt
 The current rebuild level. More...
 
- Protected Attributes inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
int mEchoLevel
 

Additional Inherited Members

- Static Public Member Functions inherited from Kratos::ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >
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::SolvingStrategy< TSparseSpace, TDenseSpace >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 

Member Typedef Documentation

◆ BaseType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType

◆ ConditionsArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::ConditionsArrayType Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ConditionsArrayType

◆ DofPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef DofType::Pointer Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofPointerType

◆ DofsArrayType

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

◆ DofType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef Node::DofType Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofType

DoF types definition.

◆ ElementsArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::ElementsArrayType Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ElementsArrayType

◆ LocalSystemVectorType

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

◆ MotherType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef MechanicalExplicitStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::MotherType

◆ NodesArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::NodesArrayType Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::NodesArrayType

◆ TSchemeType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSchemeType Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSchemeType

◆ TSystemMatrixPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSystemMatrixPointerType Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixPointerType

◆ TSystemMatrixType

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

◆ TSystemVectorPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BaseType::TSystemVectorPointerType Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorPointerType

◆ TSystemVectorType

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

Constructor & Destructor Documentation

◆ PoromechanicsExplicitStrategy()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::PoromechanicsExplicitStrategy ( ModelPart model_part,
typename TSchemeType::Pointer  pScheme,
Parameters rParameters,
bool  CalculateReactions = false,
bool  ReformDofSetAtEachStep = false,
bool  MoveMeshFlag = false 
)
inline

Constructor.

◆ ~PoromechanicsExplicitStrategy()

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

Destructor.

Member Function Documentation

◆ CalculateReactions()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::CalculateReactions ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart 
)
inlineprotectedvirtual

Name of the nodal variable associated to every SubModelPart.

This method computes the reactions of the problem

Parameters
pSchemeThe pointer to the integration scheme used
rModelPartThe model part which defines the problem
rAThe LHS of the system (empty)
rDxThe solution of the system (empty)
rbThe RHS of the system (empty)

◆ CheckConvergence()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::CheckConvergence ( ModelPart rModelPart)
inlineprotectedvirtual

◆ FinalizeSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::FinalizeSolutionStep ( )
inlineoverridevirtual

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

A member variable should be used as a flag to make sure this function is called only once per step.

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

◆ Initialize()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Initialize ( void  )
inlineoverridevirtual

Initialization of member variables and prior operations.

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

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::InitializeSolutionStep ( )
inlineoverridevirtual

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

A member variable should be used as a flag to make sure this function is called only once per step.

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

◆ SolveSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::SolveSolutionStep ( )
inlineoverridevirtual

Solves the current step. This function returns true if a solution has been found, false otherwise.

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

Member Data Documentation

◆ mCalculateReactionsFlag

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mCalculateReactionsFlag

Flag telling if it is needed or not to compute the reactions.

default = true

◆ mInitializeWasPerformed

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mInitializeWasPerformed

Flag telling if the initialize was performed.

default = false

◆ mpParameters

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Parameters* Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpParameters
protected

Member Variables.

◆ mpScheme

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSchemeType::Pointer Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mpScheme

◆ mSubModelPartList

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
std::vector<ModelPart*> Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mSubModelPartList
protected

◆ mVariableNames

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
std::vector<std::string> Kratos::PoromechanicsExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::mVariableNames
protected

List of every SubModelPart associated to an external load.


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