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.
|
This strategy is used for the explicit time integration. More...
#include <mechanical_explicit_strategy.hpp>
Public Member Functions | |
Life Cycle | |
MechanicalExplicitStrategy (ModelPart &rModelPart, typename TSchemeType::Pointer pScheme, bool CalculateReactions=false, bool ReformDofSetAtEachStep=false, bool MoveMeshFlag=true) | |
Default constructor. More... | |
virtual | ~MechanicalExplicitStrategy () |
Operations | |
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... | |
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... | |
ModelPart & | GetModelPart () |
Operations to get the pointer to the model. More... | |
const ModelPart & | GetModelPart () const |
Operations to get the pointer to the model. More... | |
virtual double | GetResidualNorm () |
Operations to get the residual norm. More... | |
virtual TSystemMatrixType & | GetSystemMatrix () |
This method returns the LHS matrix. More... | |
virtual TSystemVectorType & | GetSystemVector () |
This method returns the RHS vector. More... | |
virtual TSystemVectorType & | GetSolutionVector () |
This method returns the solution vector. More... | |
Protected Member Functions | |
Protected LifeCycle | |
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 | |
Protected member Variables | |
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 |
Type Definitions | |
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 |
KRATOS_CLASS_POINTER_DEFINITION (MechanicalExplicitStrategy) | |
Counted pointer of MechanicalExplicitStrategy. More... | |
This strategy is used for the explicit time integration.
typedef ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::BaseType |
typedef BaseType::ConditionsArrayType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ConditionsArrayType |
typedef DofType::Pointer Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofPointerType |
typedef BaseType::DofsArrayType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType |
typedef Node::DofType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::DofType |
DoF types definition.
typedef BaseType::ElementsArrayType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::ElementsArrayType |
typedef BaseType::LocalSystemVectorType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemVectorType |
typedef BaseType::NodesArrayType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::NodesArrayType |
typedef BaseType::TSchemeType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSchemeType |
Some definitions from the base class.
typedef BaseType::TSystemMatrixPointerType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixPointerType |
typedef BaseType::TSystemMatrixType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType |
typedef BaseType::TSystemVectorPointerType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorPointerType |
typedef BaseType::TSystemVectorType Kratos::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorType |
|
inline |
Default constructor.
rModelPart | The model part of the problem |
pScheme | The integration scheme |
CalculateReactions | The flag for the reaction calculation |
ReformDofSetAtEachStep | The flag that allows to compute the modification of the DOF |
MoveMeshFlag | The flag that allows to move the mesh |
|
inlinevirtual |
Destructor.
|
inlineprotected |
Copy constructor.
|
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.
rModelPart | The model of the problem to solve |
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Clears the internal storage.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
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 >.
|
inline |
This method returns the flag mCalculateReactionsFlag.
|
inline |
This method gets the flag mInitializeWasPerformed.
|
inline |
This method returns the flag mReformDofSetAtEachStep.
|
inline |
Get method for the time scheme.
|
inlineoverridevirtual |
Initialization of member variables and prior operations.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
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::MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION | ( | MechanicalExplicitStrategy< TSparseSpace, TDenseSpace, TLinearSolver > | ) |
Counted pointer of MechanicalExplicitStrategy.
|
inline |
This method sets the flag mCalculateReactionsFlag.
CalculateReactionsFlag | The flag that tells if the reactions are computed |
|
inline |
This method sets the flag mInitializeWasPerformed.
InitializePerformedFlag | The flag that tells if the initialize has been computed |
|
inline |
This method sets the flag mReformDofSetAtEachStep.
Flag | The flag that tells if each time step the system is rebuilt |
|
inline |
Set method for the time scheme.
pScheme | The pointer to the time scheme considered |
|
inlineoverridevirtual |
Solves the current step. This function returns true if a solution has been found, false otherwise.
Reimplemented from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >.
|
protected |
Flag telling if it is needed or not to compute the reactions.
default = true
|
protected |
Flag telling if the initialize was performed.
default = false
|
protected |
|
protected |
The pointer to the integration scheme.
Flag telling if it is needed to reform the DofSet at each solution step or if it is possible to form it just once