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.
Classes | Public Member Functions | List of all members
Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace > Class Template Reference

#include <residual_based_bossak_scheme.hpp>

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

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...
 

Member Typedef Documentation

◆ BaseType

template<class TSparseSpace , class TDenseSpace >
typedef Scheme<TSparseSpace,TDenseSpace> Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::BaseType

◆ BaseTypePointer

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::Pointer Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::BaseTypePointer

◆ ConditionsArrayType

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

◆ DofsArrayType

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

◆ DofsVectorType

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

◆ ElementsArrayType

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

◆ LocalSystemMatrixType

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

◆ LocalSystemVectorType

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

◆ TDataType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::TDataType Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::TDataType

◆ TSystemMatrixType

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

◆ TSystemVectorType

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

Constructor & Destructor Documentation

◆ ResidualBasedBossakScheme() [1/2]

template<class TSparseSpace , class TDenseSpace >
Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::ResidualBasedBossakScheme ( double  rAlpham = 0,
double  rDynamic = 1 
)
inline

◆ ResidualBasedBossakScheme() [2/2]

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

◆ ~ResidualBasedBossakScheme()

template<class TSparseSpace , class TDenseSpace >
virtual Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::~ResidualBasedBossakScheme ( )
inlinevirtual

Member Function Documentation

◆ AddDynamicsToLHS()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::AddDynamicsToLHS ( LocalSystemMatrixType LHS_Contribution,
LocalSystemMatrixType D,
LocalSystemMatrixType M,
ProcessInfo CurrentProcessInfo 
)
inlineprotected

\[ A_{tangent} = M \cdot c_0 + D \cdot c_1 + K \]

◆ AddDynamicsToRHS() [1/2]

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::AddDynamicsToRHS ( Condition::Pointer  rCurrentCondition,
LocalSystemVectorType RHS_Contribution,
LocalSystemMatrixType D,
LocalSystemMatrixType M,
ProcessInfo CurrentProcessInfo 
)
inlineprotected

◆ AddDynamicsToRHS() [2/2]

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::AddDynamicsToRHS ( Element::Pointer  rCurrentElement,
LocalSystemVectorType RHS_Contribution,
LocalSystemMatrixType D,
LocalSystemMatrixType M,
ProcessInfo CurrentProcessInfo 
)
inlineprotected

\[ b_{dyn} = b - M \cdot a - D \cdot v \]

◆ Calculate_RHS_Contribution()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::Calculate_RHS_Contribution ( Element::Pointer  rCurrentElement,
LocalSystemVectorType RHS_Contribution,
Element::EquationIdVectorType EquationId,
ProcessInfo CurrentProcessInfo 
)
inlineoverride

◆ CalculateSystemContributions()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::CalculateSystemContributions ( Element::Pointer  rCurrentElement,
LocalSystemMatrixType LHS_Contribution,
LocalSystemVectorType RHS_Contribution,
Element::EquationIdVectorType EquationId,
ProcessInfo CurrentProcessInfo 
)
inlineoverride

Compute local contributions.

Note
This function is meant to be called from BuilderAndSolver.

◆ Check()

template<class TSparseSpace , class TDenseSpace >
int Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::Check ( ModelPart r_model_part)
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.

Note
Checks can be expensive as the function is designed to catch user errors.
Parameters
r_model_part
Returns
0 if ok, nonzero otherwise.

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

◆ Clone()

template<class TSparseSpace , class TDenseSpace >
BaseTypePointer Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::Clone ( )
inlineoverridevirtual

Clone method.

Returns
The pointer of the cloned scheme

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

◆ Condition_Calculate_RHS_Contribution()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::Condition_Calculate_RHS_Contribution ( Condition::Pointer  rCurrentCondition,
LocalSystemVectorType RHS_Contribution,
Element::EquationIdVectorType EquationId,
ProcessInfo CurrentProcessInfo 
)
inlineoverride

◆ Condition_CalculateSystemContributions()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::Condition_CalculateSystemContributions ( Condition::Pointer  rCurrentCondition,
LocalSystemMatrixType LHS_Contribution,
LocalSystemVectorType RHS_Contribution,
Element::EquationIdVectorType EquationId,
ProcessInfo CurrentProcessInfo 
)
inlineoverride

◆ FinalizeSolutionStep()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::FinalizeSolutionStep ( ModelPart rModelPart,
TSystemMatrixType A,
TSystemVectorType Dx,
TSystemVectorType b 
)
inlineoverridevirtual

Finish the current time step.

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

◆ GetConditionDofList()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::GetConditionDofList ( Condition::Pointer  rCurrentCondition,
Element::DofsVectorType ConditionDofList,
ProcessInfo CurrentProcessInfo 
)
inlineoverride

Get the list of Degrees of freedom to be assembled in the system for a Given Condition.

◆ GetElementalDofList()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::GetElementalDofList ( Element::Pointer  rCurrentElement,
Element::DofsVectorType ElementalDofList,
ProcessInfo CurrentProcessInfo 
)
inlineoverride

Get the list of Degrees of freedom to be assembled in the system for a given Element.

◆ InitializeConditions()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::InitializeConditions ( ModelPart rModelPart)
inlineoverridevirtual

Initialize all Condition s in the provided ModelPart.

Note
This should be called exactly once, when the strategy is initialized.

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

◆ InitializeElements()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::InitializeElements ( ModelPart rModelPart)
inlineoverridevirtual

Initialize all Element s in the provided ModelPart.

Note
This should be called exactly once, when the strategy is initialized.

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

◆ InitializeNonLinearIteration() [1/2]

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::InitializeNonLinearIteration ( Condition::Pointer  rCurrentCondition,
ProcessInfo CurrentProcessInfo 
)
inlineoverride

◆ InitializeNonLinearIteration() [2/2]

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::InitializeNonLinearIteration ( Element::Pointer  rCurrentElement,
ProcessInfo CurrentProcessInfo 
)
inlineoverride

◆ InitializeNonLinIteration()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::InitializeNonLinIteration ( ModelPart rModelPart,
TSystemMatrixType A,
TSystemVectorType Dx,
TSystemVectorType b 
)
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

Note
Take care: the elemental function with the same name is NOT called here.
Warning
Must be defined in derived classes

The function is called in the builder for memory efficiency

Parameters
rModelPartThe model part of the problem to solve
ALHS matrix
DxIncremental update of primary variables
bRHS Vector

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

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::InitializeSolutionStep ( ModelPart r_model_part,
TSystemMatrixType A,
TSystemVectorType Dx,
TSystemVectorType b 
)
inlineoverridevirtual

Prepare state variables for a new step.

Parameters
r_model_part
ALeft hand side matrix.
DxIncremental update of primary variables.
bRight hand side vector.

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

◆ Predict()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::Predict ( ModelPart r_model_part,
DofsArrayType rDofSet,
TSystemMatrixType A,
TSystemVectorType Dx,
TSystemVectorType b 
)
inlineoverridevirtual

Predict the solution for the current step.

\[ x_{k+1} = x_{k} + v_{k} \cdot \Delta t \]

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

◆ Update()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::Update ( ModelPart r_model_part,
DofsArrayType rDofSet,
TSystemMatrixType A,
TSystemVectorType Dx,
TSystemVectorType b 
)
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 \]

Parameters
r_model_partModelPart to update.
rDofSetSet of all primary variables.
ALeft hand side matrix.
DxIncremental update of primary variables.
bRight hand side vector.

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

◆ UpdateAcceleration()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::UpdateAcceleration ( array_1d< double, 3 > &  CurrentAcceleration,
const array_1d< double, 3 > &  DeltaDisplacement,
const array_1d< double, 3 > &  PreviousVelocity,
const array_1d< double, 3 > &  PreviousAcceleration 
)
inlineprotected

◆ UpdateVelocity()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::UpdateVelocity ( array_1d< double, 3 > &  CurrentVelocity,
const array_1d< double, 3 > &  DeltaDisplacement,
const array_1d< double, 3 > &  PreviousVelocity,
const array_1d< double, 3 > &  PreviousAcceleration 
)
inlineprotected

Member Data Documentation

◆ mAlpha

template<class TSparseSpace , class TDenseSpace >
GeneralAlphaMethod Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::mAlpha
protected

◆ mMatrix

template<class TSparseSpace , class TDenseSpace >
GeneralMatrices Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::mMatrix
protected

◆ mNewmark

template<class TSparseSpace , class TDenseSpace >
NewmarkMethod Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::mNewmark
protected

◆ mVector

template<class TSparseSpace , class TDenseSpace >
GeneralVectors Kratos::ResidualBasedBossakScheme< TSparseSpace, TDenseSpace >::mVector
protected

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