![]() |
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.
|
Dynamic integration scheme. More...
#include <dynamic_scheme.hpp>
Classes | |
struct | GeneralMatrices |
struct | GeneralVectors |
Public Member Functions | |
Life Cycle | |
DynamicScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, Flags &rOptions) | |
Constructor. More... | |
DynamicScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods) | |
Constructor. More... | |
DynamicScheme (IntegrationMethodsScalarType &rTimeScalarIntegrationMethods, Flags &rOptions) | |
Constructor. More... | |
DynamicScheme (IntegrationMethodsScalarType &rTimeScalarIntegrationMethods) | |
Constructor. More... | |
DynamicScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, IntegrationMethodsScalarType &rTimeScalarIntegrationMethods, Flags &rOptions) | |
Constructor. More... | |
DynamicScheme (IntegrationMethodsVectorType &rTimeVectorIntegrationMethods, IntegrationMethodsScalarType &rTimeScalarIntegrationMethods) | |
Constructor. More... | |
DynamicScheme (Flags &rOptions) | |
Constructor. More... | |
DynamicScheme (DynamicScheme &rOther) | |
Copy Constructor. More... | |
BasePointerType | Clone () override |
Clone. More... | |
~DynamicScheme () override | |
Destructor. More... | |
Operations | |
void | Initialize (ModelPart &rModelPart) override |
void | CalculateSystemContributions (Element::Pointer pCurrentElement, LocalSystemMatrixType &rLHS_Contribution, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &EquationId, ProcessInfo &rCurrentProcessInfo) override |
void | Calculate_RHS_Contribution (Element::Pointer pCurrentElement, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &EquationId, ProcessInfo &rCurrentProcessInfo) override |
void | Condition_CalculateSystemContributions (Condition::Pointer pCurrentCondition, LocalSystemMatrixType &rLHS_Contribution, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &EquationId, ProcessInfo &rCurrentProcessInfo) override |
void | Condition_Calculate_RHS_Contribution (Condition::Pointer pCurrentCondition, LocalSystemVectorType &rRHS_Contribution, Element::EquationIdVectorType &EquationId, ProcessInfo &rCurrentProcessInfo) 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... | |
![]() | |
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... | |
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 |
std::string | Info () const override |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
KRATOS_CLASS_POINTER_DEFINITION (StaticScheme) | |
![]() | |
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... | |
Flags & | GetOptions () |
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 | 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_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) |
![]() | |
Flags & | operator= (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 Flags & | operator|= (const Flags &Other) |
const Flags & | operator&= (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 | AddDynamicsToLHS (LocalSystemMatrixType &rLHS_Contribution, LocalSystemMatrixType &rD, LocalSystemMatrixType &rM, ProcessInfo &rCurrentProcessInfo) |
virtual void | AddDynamicTangentsToLHS (LocalSystemMatrixType &rLHS_Contribution, LocalSystemMatrixType &rD, LocalSystemMatrixType &rM, ProcessInfo &rCurrentProcessInfo) |
virtual void | AddDynamicsToRHS (Element::Pointer pCurrentElement, LocalSystemVectorType &rRHS_Contribution, LocalSystemMatrixType &rD, LocalSystemMatrixType &rM, ProcessInfo &rCurrentProcessInfo) |
virtual void | AddDynamicsToRHS (Condition::Pointer pCurrentCondition, LocalSystemVectorType &rRHS_Contribution, LocalSystemMatrixType &rD, LocalSystemMatrixType &rM, ProcessInfo &rCurrentProcessInfo) |
void | AddDynamicForcesToRHS (LocalSystemVectorType &rRHS_Contribution, LocalSystemVectorType &rfv, LocalSystemVectorType &rfa, ProcessInfo &rCurrentProcessInfo) |
![]() | |
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 | |
GeneralMatrices | mMatrix |
GeneralVectors | mVector |
![]() | |
Flags | mOptions |
IntegrationMethodsVectorType | mTimeVectorIntegrationMethods |
IntegrationMethodsScalarType | mTimeScalarIntegrationMethods |
ProcessPointerVectorType | mProcesses |
Type Definitions | |
typedef SolutionScheme< TSparseSpace, TDenseSpace > | BaseType |
typedef BaseType::SolutionSchemePointerType | BasePointerType |
typedef BaseType::LocalFlagType | LocalFlagType |
typedef StaticScheme< TSparseSpace, TDenseSpace > | DerivedType |
typedef BaseType::NodeType | NodeType |
typedef BaseType::DofsArrayType | DofsArrayType |
typedef BaseType::SystemMatrixType | SystemMatrixType |
typedef BaseType::SystemVectorType | SystemVectorType |
typedef BaseType::LocalSystemVectorType | LocalSystemVectorType |
typedef BaseType::LocalSystemMatrixType | LocalSystemMatrixType |
typedef BaseType::NodesContainerType | NodesContainerType |
typedef BaseType::ElementsContainerType | ElementsContainerType |
typedef BaseType::ConditionsContainerType | ConditionsContainerType |
typedef BaseType::IntegrationMethodsVectorType | IntegrationMethodsVectorType |
typedef BaseType::IntegrationMethodsScalarType | IntegrationMethodsScalarType |
KRATOS_CLASS_POINTER_DEFINITION (DynamicScheme) | |
Dynamic integration scheme.
typedef BaseType::SolutionSchemePointerType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::BasePointerType |
typedef SolutionScheme<TSparseSpace,TDenseSpace> Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::BaseType |
typedef BaseType::ConditionsContainerType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::ConditionsContainerType |
typedef StaticScheme<TSparseSpace,TDenseSpace> Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::DerivedType |
typedef BaseType::DofsArrayType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::DofsArrayType |
typedef BaseType::ElementsContainerType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::ElementsContainerType |
typedef BaseType::IntegrationMethodsScalarType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::IntegrationMethodsScalarType |
typedef BaseType::IntegrationMethodsVectorType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::IntegrationMethodsVectorType |
typedef BaseType::LocalFlagType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::LocalFlagType |
typedef BaseType::LocalSystemMatrixType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::LocalSystemMatrixType |
typedef BaseType::LocalSystemVectorType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::LocalSystemVectorType |
typedef BaseType::NodesContainerType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::NodesContainerType |
typedef BaseType::NodeType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::NodeType |
typedef BaseType::SystemMatrixType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::SystemMatrixType |
typedef BaseType::SystemVectorType Kratos::DynamicScheme< TSparseSpace, TDenseSpace >::SystemVectorType |
|
inline |
Constructor.
|
inline |
Constructor.
|
inline |
Constructor.
|
inline |
Constructor.
|
inline |
Constructor.
|
inline |
Constructor.
|
inline |
Constructor.
|
inline |
Copy Constructor.
|
inlineoverride |
Destructor.
|
inlineprotected |
It adds the dynamic RHS contribution of the elements: b - M*a - D*v
pCurrentElement | The element to compute |
rRHS_Contribution | The dynamic contribution for the RHS |
rfv | The damping component vector |
rfa | The mass component vector |
rCurrentProcessInfo | The current process info instance |
|
inlineprotectedvirtual |
It adds the dynamic LHS contribution of the elements: M*c0 + D*c1 + K
rLHS_Contribution | The dynamic contribution for the LHS |
rD | The damping matrix |
rM | The mass matrix |
rCurrentProcessInfo | The current process info instance |
|
inlineprotectedvirtual |
It adds the dynamic RHS contribution of the condition: b - M*a - D*v
pCurrentCondition | The condition to compute |
rRHS_Contribution | The dynamic contribution for the RHS |
rD | The damping matrix |
rM | The mass matrix |
rCurrentProcessInfo | The current process info instance |
|
inlineprotectedvirtual |
It adds the dynamic RHS contribution of the elements: b - M*a - D*v
pCurrentElement | The element to compute |
rRHS_Contribution | The dynamic contribution for the RHS |
rD | The damping matrix |
rM | The mass matrix |
rCurrentProcessInfo | The current process info instance |
|
inlineprotectedvirtual |
It adds the dynamic LHS contribution of the elements: M + D + K
rLHS_Contribution | The dynamic contribution for the LHS |
rD | The damping matrix |
rM | The mass matrix |
rCurrentProcessInfo | The current process info instance |
|
inlineoverridevirtual |
This function is designed to calculate just the RHS contribution
pCurrentElement | The element to compute |
rRHS_Contribution | The RHS vector contribution |
EquationId | The ID's of the element degrees of freedom |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
This function is designed to be called in the builder and solver to introduce
pCurrentElement | The element to compute |
rLHS_Contribution | The LHS matrix contribution |
rRHS_Contribution | The RHS vector contribution |
EquationId | The ID's of the element degrees of freedom |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >.
|
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::SolutionScheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Clone.
Reimplemented from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Functions that calculates the RHS of a "condition" object
pCurrentCondition | The condition to compute |
rRHS_Contribution | The RHS vector contribution |
EquationId | The ID's of the condition degrees of freedom |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Functions totally analogous to the precedent but applied to the "condition" objects
pCurrentCondition | The condition to compute |
rLHS_Contribution | The LHS matrix contribution |
rRHS_Contribution | The RHS vector contribution |
EquationId | The ID's of the element degrees of freedom |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::SolutionScheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::Flags.
|
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::DynamicScheme< TSparseSpace, TDenseSpace >::KRATOS_CLASS_POINTER_DEFINITION | ( | DynamicScheme< TSparseSpace, TDenseSpace > | ) |
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::Flags.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::Flags.
|
protected |
|
protected |