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.
|
#include <residual_based_bossak_scheme.hpp>
Classes | |
struct | GeneralAlphaMethod |
struct | GeneralMatrices |
struct | GeneralVectors |
struct | NewmarkMethod |
Public Member Functions | |
ResidualBasedBossakScheme (double rAlpham=0, double rDynamic=1) | |
ResidualBasedBossakScheme (ResidualBasedBossakScheme &rOther) | |
virtual | ~ResidualBasedBossakScheme () |
Operators | |
BaseTypePointer | Clone () override |
Clone method. More... | |
void | Update (ModelPart &r_model_part, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override |
Update the solution within the newton iteration. More... | |
void | Predict (ModelPart &r_model_part, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override |
Predict the solution for the current step. More... | |
void | InitializeElements (ModelPart &rModelPart) override |
Initialize all Element s in the provided ModelPart. More... | |
void | InitializeConditions (ModelPart &rModelPart) override |
Initialize all Condition s in the provided ModelPart. More... | |
void | InitializeSolutionStep (ModelPart &r_model_part, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override |
Prepare state variables for a new step. More... | |
void | FinalizeSolutionStep (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override |
Finish the current time step. More... | |
void | InitializeNonLinIteration (ModelPart &r_model_part, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override |
unction to be called when it is needed to initialize an iteration. It is designed to be called at the beginning of each non linear iteration More... | |
void | InitializeNonLinearIteration (Condition::Pointer rCurrentCondition, ProcessInfo &CurrentProcessInfo) override |
void | InitializeNonLinearIteration (Element::Pointer rCurrentElement, ProcessInfo &CurrentProcessInfo) override |
void | CalculateSystemContributions (Element::Pointer rCurrentElement, LocalSystemMatrixType &LHS_Contribution, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &EquationId, ProcessInfo &CurrentProcessInfo) override |
Compute local contributions. More... | |
void | Calculate_RHS_Contribution (Element::Pointer rCurrentElement, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &EquationId, ProcessInfo &CurrentProcessInfo) override |
void | Condition_CalculateSystemContributions (Condition::Pointer rCurrentCondition, LocalSystemMatrixType &LHS_Contribution, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &EquationId, ProcessInfo &CurrentProcessInfo) override |
void | Condition_Calculate_RHS_Contribution (Condition::Pointer rCurrentCondition, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &EquationId, ProcessInfo &CurrentProcessInfo) override |
void | GetElementalDofList (Element::Pointer rCurrentElement, Element::DofsVectorType &ElementalDofList, ProcessInfo &CurrentProcessInfo) override |
Get the list of Degrees of freedom to be assembled in the system for a given Element. More... | |
void | GetConditionDofList (Condition::Pointer rCurrentCondition, Element::DofsVectorType &ConditionDofList, ProcessInfo &CurrentProcessInfo) override |
Get the list of Degrees of freedom to be assembled in the system for a Given Condition. More... | |
int | Check (ModelPart &r_model_part) override |
Check whether the scheme was configured correctly for the provided ModelPart. More... | |
Public Member Functions inherited from Kratos::Scheme< TSparseSpace, TDenseSpace > | |
Scheme () | |
Default Constructor. More... | |
Scheme (Parameters ThisParameters) | |
Constructor with Parameters. More... | |
Scheme (Scheme &rOther) | |
virtual | ~Scheme () |
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 (Scheme) | |
Pointer definition of Scheme. More... | |
virtual ClassType::Pointer | Create (Parameters ThisParameters) const |
Create method. More... | |
virtual void | Initialize (ModelPart &rModelPart) |
This is the place to initialize the Scheme. More... | |
bool | SchemeIsInitialized () |
This method returns if the scheme is initialized. More... | |
void | SetSchemeIsInitialized (bool SchemeIsInitializedFlag=true) |
This method sets if the elements have been initialized or not (true by default) More... | |
bool | ElementsAreInitialized () |
This method returns if the elements are initialized. More... | |
void | SetElementsAreInitialized (bool ElementsAreInitializedFlag=true) |
This method sets if the elements have been initialized or not (true by default) More... | |
bool | ConditionsAreInitialized () |
This method returns if the conditions are initialized. More... | |
void | SetConditionsAreInitialized (bool ConditionsAreInitializedFlag=true) |
This method sets if the conditions have been initialized or not (true by default) More... | |
virtual void | FinalizeNonLinIteration (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) |
Function to be called when it is needed to finalize an iteration. It is designed to be called at the end of each non linear iteration. More... | |
virtual void | CalculateOutputData (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) |
Functions to be called to prepare the data needed for the output of results. More... | |
virtual void | CleanOutputData () |
Functions that cleans the results data. More... | |
virtual void | Clean () |
This function is intended to be called at the end of the solution step to clean up memory storage not needed after the end of the solution step. More... | |
virtual void | Clear () |
Liberate internal storage. More... | |
virtual int | Check (const ModelPart &rModelPart) const |
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. More... | |
virtual void | CalculateSystemContributions (Element &rElement, LocalSystemMatrixType &LHS_Contribution, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to be called in the builder and solver to introduce the selected time integration scheme. More... | |
virtual void | CalculateSystemContributions (Condition &rCondition, LocalSystemMatrixType &LHS_Contribution, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo) |
Functions totally analogous to the precedent but applied to the "condition" objects. More... | |
virtual void | CalculateRHSContribution (Element &rElement, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to calculate just the RHS contribution. More... | |
virtual void | CalculateRHSContribution (Condition &rCondition, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo) |
Functions totally analogous to the precedent but applied to the "condition" objects. More... | |
virtual void | CalculateLHSContribution (Element &rElement, LocalSystemMatrixType &LHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to calculate just the LHS contribution. More... | |
virtual void | CalculateLHSContribution (Condition &rCondition, LocalSystemMatrixType &LHS_Contribution, Element::EquationIdVectorType &rEquationIdVector, const ProcessInfo &rCurrentProcessInfo) |
Functions totally analogous to the precedent but applied to the "condition" objects. More... | |
virtual void | EquationId (const Element &rElement, Element::EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) |
This method gets the eqaution id corresponding to the current element. More... | |
virtual void | EquationId (const Condition &rCondition, Element::EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) |
Functions totally analogous to the precedent but applied to the "condition" objects. More... | |
virtual void | GetDofList (const Element &rElement, Element::DofsVectorType &rDofList, const ProcessInfo &rCurrentProcessInfo) |
Function that returns the list of Degrees of freedom to be assembled in the system for a Given element. More... | |
virtual void | GetDofList (const Condition &rCondition, Element::DofsVectorType &rDofList, const ProcessInfo &rCurrentProcessInfo) |
Function that returns the list of Degrees of freedom to be assembled in the system for a Given condition. More... | |
virtual Parameters | GetDefaultParameters () const |
This method provides the defaults parameters to avoid conflicts between the different constructors. More... | |
Protected Member Functions | |
Protected Operators | |
void | UpdateVelocity (array_1d< double, 3 > &CurrentVelocity, const array_1d< double, 3 > &DeltaDisplacement, const array_1d< double, 3 > &PreviousVelocity, const array_1d< double, 3 > &PreviousAcceleration) |
void | UpdateAcceleration (array_1d< double, 3 > &CurrentAcceleration, const array_1d< double, 3 > &DeltaDisplacement, const array_1d< double, 3 > &PreviousVelocity, const array_1d< double, 3 > &PreviousAcceleration) |
void | AddDynamicsToLHS (LocalSystemMatrixType &LHS_Contribution, LocalSystemMatrixType &D, LocalSystemMatrixType &M, ProcessInfo &CurrentProcessInfo) |
void | AddDynamicsToRHS (Element::Pointer rCurrentElement, LocalSystemVectorType &RHS_Contribution, LocalSystemMatrixType &D, LocalSystemMatrixType &M, ProcessInfo &CurrentProcessInfo) |
void | AddDynamicsToRHS (Condition::Pointer rCurrentCondition, LocalSystemVectorType &RHS_Contribution, LocalSystemMatrixType &D, LocalSystemMatrixType &M, ProcessInfo &CurrentProcessInfo) |
Protected Member Functions inherited from Kratos::Scheme< TSparseSpace, TDenseSpace > | |
virtual Parameters | ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const |
This method validate and assign default parameters. More... | |
virtual void | AssignSettings (const Parameters ThisParameters) |
This method assigns settings to member variables. More... | |
Protected Attributes | |
Member Variables | |
GeneralAlphaMethod | mAlpha |
NewmarkMethod | mNewmark |
GeneralMatrices | mMatrix |
GeneralVectors | mVector |
Protected Attributes inherited from Kratos::Scheme< TSparseSpace, TDenseSpace > | |
bool | mSchemeIsInitialized |
bool | mElementsAreInitialized |
Flag to be used in controlling if the Scheme has been initialized or not. More... | |
bool | mConditionsAreInitialized |
Flag taking in account if the elements were initialized correctly or not. More... | |
Type Definitions | |
typedef Scheme< TSparseSpace, TDenseSpace > | BaseType |
typedef BaseType::TDataType | TDataType |
typedef BaseType::DofsArrayType | DofsArrayType |
typedef Element::DofsVectorType | DofsVectorType |
typedef BaseType::TSystemMatrixType | TSystemMatrixType |
typedef BaseType::TSystemVectorType | TSystemVectorType |
typedef BaseType::LocalSystemVectorType | LocalSystemVectorType |
typedef BaseType::LocalSystemMatrixType | LocalSystemMatrixType |
typedef ModelPart::ElementsContainerType | ElementsArrayType |
typedef ModelPart::ConditionsContainerType | ConditionsArrayType |
typedef BaseType::Pointer | BaseTypePointer |
KRATOS_CLASS_POINTER_DEFINITION (ResidualBasedBossakScheme) | |
Additional Inherited Members | |
Public Types inherited from Kratos::Scheme< TSparseSpace, TDenseSpace > | |
using | ClassType = Scheme< TSparseSpace, TDenseSpace > |
The definition of the current class. More... | |
using | TDataType = typename TSparseSpace::DataType |
Data type definition. More... | |
using | TSystemMatrixType = typename TSparseSpace::MatrixType |
Matrix type definition. More... | |
using | TSystemVectorType = typename TSparseSpace::VectorType |
Vector type definition. More... | |
using | LocalSystemMatrixType = typename TDenseSpace::MatrixType |
Local system matrix type definition. More... | |
using | LocalSystemVectorType = typename TDenseSpace::VectorType |
Local system vector type definition. More... | |
using | TDofType = Dof< double > |
DoF type definition. More... | |
using | DofsArrayType = ModelPart::DofsArrayType |
DoF array type definition. More... | |
using | ElementsArrayType = ModelPart::ElementsContainerType |
Elements containers definition. More... | |
using | ConditionsArrayType = ModelPart::ConditionsContainerType |
Conditions containers definition. More... | |
Static Public Member Functions inherited from Kratos::Scheme< TSparseSpace, TDenseSpace > | |
static std::string | Name () |
Returns the name of the class as used in the settings (snake_case format) More... | |
typedef Scheme<TSparseSpace,TDenseSpace> Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::BaseType |
typedef BaseType::Pointer Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::BaseTypePointer |
typedef ModelPart::ConditionsContainerType Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::ConditionsArrayType |
typedef BaseType::DofsArrayType Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::DofsArrayType |
typedef Element::DofsVectorType Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::DofsVectorType |
typedef ModelPart::ElementsContainerType Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::ElementsArrayType |
typedef BaseType::LocalSystemMatrixType Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::LocalSystemMatrixType |
typedef BaseType::LocalSystemVectorType Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::LocalSystemVectorType |
typedef BaseType::TDataType Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::TDataType |
typedef BaseType::TSystemMatrixType Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::TSystemMatrixType |
typedef BaseType::TSystemVectorType Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::TSystemVectorType |
|
inline |
|
inline |
|
inlinevirtual |
|
inlineprotected |
\[ A_{tangent} = M \cdot c_0 + D \cdot c_1 + K \]
|
inlineprotected |
|
inlineprotected |
\[ b_{dyn} = b - M \cdot a - D \cdot v \]
|
inlineoverride |
|
inlineoverride |
Compute local contributions.
|
inlineoverridevirtual |
Check whether the scheme was configured correctly for the provided ModelPart.
This function should be called once to perform all the checks needed on the provided input.
r_model_part |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Clone method.
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverride |
|
inlineoverride |
|
inlineoverridevirtual |
Finish the current time step.
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverride |
Get the list of Degrees of freedom to be assembled in the system for a Given Condition.
|
inlineoverride |
Get the list of Degrees of freedom to be assembled in the system for a given Element.
|
inlineoverridevirtual |
Initialize all Condition s in the provided ModelPart.
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Initialize all Element s in the provided ModelPart.
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverride |
|
inlineoverride |
|
inlineoverridevirtual |
unction to be called when it is needed to initialize an iteration. It is designed to be called at the beginning of each non linear iteration
The function is called in the builder for memory efficiency
rModelPart | The model part of the problem to solve |
A | LHS matrix |
Dx | Incremental update of primary variables |
b | RHS Vector |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Prepare state variables for a new step.
r_model_part | |
A | Left hand side matrix. |
Dx | Incremental update of primary variables. |
b | Right hand side vector. |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::KRATOS_CLASS_POINTER_DEFINITION | ( | ResidualBasedBossakScheme< TSparseSpace, TDenseSpace > | ) |
|
inlineoverridevirtual |
Predict the solution for the current step.
\[ x_{k+1} = x_{k} + v_{k} \cdot \Delta t \]
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineoverridevirtual |
Update the solution within the newton iteration.
Update the state variables at the end of the time step:
\[ u_{n+1}^{k+1}= u_{n+1}^{k}+ \Delta u \]
r_model_part | ModelPart to update. |
rDofSet | Set of all primary variables. |
A | Left hand side matrix. |
Dx | Incremental update of primary variables. |
b | Right hand side vector. |
Reimplemented from Kratos::Scheme< TSparseSpace, TDenseSpace >.
|
inlineprotected |
|
inlineprotected |
|
protected |
|
protected |
|
protected |
|
protected |