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 | List of all members
Kratos::BackwardEulerMonolithicAleScheme< TSparseSpace, TDenseSpace > Class Template Reference

A first order scheme for testing purpose. More...

#include <backward_euler_monolithic_ale_scheme.h>

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

Public Types

typedef Scheme< TSparseSpace, TDenseSpace > BaseType
 
typedef ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent< TSparseSpace, TDenseSpace > BossakType
 
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 Element::GeometryType GeometryType
 
- Public Types inherited from Kratos::ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent< TSparseSpace, TDenseSpace >
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 Element::GeometryType GeometryType
 
- 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...
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (BackwardEulerMonolithicAleScheme)
 
 BackwardEulerMonolithicAleScheme (unsigned int DomainSize, bool IsLagrangian=true)
 
 ~BackwardEulerMonolithicAleScheme () override
 
void Update (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dv, TSystemVectorType &b) override
 
void Predict (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dv, TSystemVectorType &b) override
 Performing the prediction of the solution. More...
 
void Pfem2AdditionalUpdateOperations (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dv, TSystemVectorType &b)
 
- Public Member Functions inherited from Kratos::ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent< TSparseSpace, TDenseSpace >
 ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent (double NewAlphaBossak, double MoveMeshStrategy, unsigned int DomainSize)
 
 ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent (double NewAlphaBossak, unsigned int DomainSize, const Variable< int > &rPeriodicIdVar)
 
 ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent (double NewAlphaBossak, double MoveMeshStrategy, unsigned int DomainSize, Kratos::Flags &rSlipFlag)
 
 ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent (double NewAlphaBossak, double MoveMeshStrategy, unsigned int DomainSize, Process::Pointer pTurbulenceModel)
 
 ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent (double NewAlphaBossak, double MoveMeshStrategy, unsigned int DomainSize, const double RelaxationFactor, Process::Pointer pTurbulenceModel)
 
 ~ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent () override
 
void AdditionalUpdateOperations (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dv, TSystemVectorType &b)
 
void CalculateSystemContributions (Element &rCurrentElement, LocalSystemMatrixType &LHS_Contribution, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &EquationId, const ProcessInfo &CurrentProcessInfo) override
 
void CalculateRHSContribution (Element &rCurrentElement, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &EquationId, const ProcessInfo &CurrentProcessInfo) override
 This function is designed to calculate just the RHS contribution. More...
 
void CalculateSystemContributions (Condition &rCurrentCondition, LocalSystemMatrixType &LHS_Contribution, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &EquationId, const ProcessInfo &CurrentProcessInfo) override
 
void CalculateRHSContribution (Condition &rCurrentCondition, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &EquationId, const ProcessInfo &rCurrentProcessInfo) override
 Functions totally analogous to the precedent but applied to the "condition" objects. More...
 
void InitializeSolutionStep (ModelPart &r_model_part, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override
 Function called once at the beginning of each solution step. More...
 
void FinalizeNonLinIteration (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override
 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...
 
void FinalizeSolutionStep (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override
 Function called once at the end of a solution step, after convergence is reached if an iterative process is needed. More...
 
void Clear () override
 Free memory allocated by this object. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent)
 
- 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 Pointer Clone ()
 Clone 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 InitializeElements (ModelPart &rModelPart)
 This is the place to initialize the elements. More...
 
virtual void InitializeConditions (ModelPart &rModelPart)
 This is the place to initialize the conditions. More...
 
virtual void InitializeNonLinIteration (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b)
 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...
 
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 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 int Check (ModelPart &rModelPart)
 
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 Attributes

Protected member Variables
bool mIsLagrangian
 
- Protected Attributes inherited from Kratos::ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent< TSparseSpace, TDenseSpace >
double mAlphaBossak
 
double mBetaNewmark
 
double mGammaNewmark
 
double mMeshVelocity
 
double mRelaxationFactor = 1.0
 
double ma0
 
double ma1
 
double ma2
 
double ma3
 
double ma4
 
double ma5
 
double mam
 
std::vector< MatrixmMass
 
std::vector< MatrixmDamp
 
std::vector< Vectormvel
 
std::vector< Vectormacc
 
std::vector< Vectormaccold
 
- 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...
 

Additional Inherited Members

- 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...
 
- Protected Member Functions inherited from Kratos::ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent< TSparseSpace, TDenseSpace >
void PeriodicConditionProjectionCorrection (ModelPart &rModelPart)
 
void AssemblePeriodicContributionToProjections (Geometry< Node > &rGeometry)
 
void CorrectContributionsOnPeriodicNode (Node &rNode)
 
void UpdateDisplacement (array_1d< double, 3 > &CurrentDisplacement, const array_1d< double, 3 > &OldDisplacement, const array_1d< double, 3 > &OldVelocity, const array_1d< double, 3 > &OldAcceleration, const array_1d< double, 3 > &CurrentAcceleration)
 
void UpdateAcceleration (array_1d< double, 3 > &CurrentAcceleration, const array_1d< double, 3 > &DeltaVel, const array_1d< double, 3 > &OldAcceleration)
 
void AddDynamicsToLHS (LocalSystemMatrixType &LHS_Contribution, LocalSystemMatrixType &D, LocalSystemMatrixType &M, const ProcessInfo &CurrentProcessInfo)
 
void AddDynamicsToRHS (Element &rCurrentElement, LocalSystemVectorType &rRHS_Contribution, LocalSystemMatrixType &rD, LocalSystemMatrixType &rM, const ProcessInfo &rCurrentProcessInfo)
 Add Bossak contributions from the inertial term to the RHS vector. More...
 
void AddDynamicsToRHS (Condition &rCurrentCondition, LocalSystemVectorType &rRHS_Contribution, LocalSystemMatrixType &D, LocalSystemMatrixType &rM, const ProcessInfo &rCurrentProcessInfo)
 Add Bossak contributions from the inertial term to the RHS vector. More...
 
- 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...
 

Detailed Description

template<class TSparseSpace, class TDenseSpace>
class Kratos::BackwardEulerMonolithicAleScheme< TSparseSpace, TDenseSpace >

A first order scheme for testing purpose.

Member Typedef Documentation

◆ BaseType

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

◆ BossakType

template<class TSparseSpace , class TDenseSpace >
typedef ResidualBasedPredictorCorrectorVelocityBossakSchemeTurbulent<TSparseSpace, TDenseSpace> Kratos::BackwardEulerMonolithicAleScheme< TSparseSpace, TDenseSpace >::BossakType

◆ DofsArrayType

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

◆ DofsVectorType

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

◆ GeometryType

template<class TSparseSpace , class TDenseSpace >
typedef Element::GeometryType Kratos::BackwardEulerMonolithicAleScheme< TSparseSpace, TDenseSpace >::GeometryType

◆ LocalSystemMatrixType

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

◆ LocalSystemVectorType

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

◆ TDataType

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

◆ TSystemMatrixType

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

◆ TSystemVectorType

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

Constructor & Destructor Documentation

◆ BackwardEulerMonolithicAleScheme()

template<class TSparseSpace , class TDenseSpace >
Kratos::BackwardEulerMonolithicAleScheme< TSparseSpace, TDenseSpace >::BackwardEulerMonolithicAleScheme ( unsigned int  DomainSize,
bool  IsLagrangian = true 
)
inline

◆ ~BackwardEulerMonolithicAleScheme()

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

Member Function Documentation

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

◆ Pfem2AdditionalUpdateOperations()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BackwardEulerMonolithicAleScheme< TSparseSpace, TDenseSpace >::Pfem2AdditionalUpdateOperations ( ModelPart rModelPart,
DofsArrayType rDofSet,
TSystemMatrixType A,
TSystemVectorType Dv,
TSystemVectorType b 
)
inline

◆ Predict()

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

Performing the prediction of the solution.

Warning
Must be defined in derived classes
Parameters
rModelPartThe model part of the problem to solve
ALHS matrix
DxIncremental update of primary variables
bRHS Vector

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

◆ Update()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BackwardEulerMonolithicAleScheme< TSparseSpace, TDenseSpace >::Update ( ModelPart r_model_part,
DofsArrayType rDofSet,
TSystemMatrixType A,
TSystemVectorType Dv,
TSystemVectorType b 
)
inlineoverridevirtual

Member Data Documentation

◆ mIsLagrangian

template<class TSparseSpace , class TDenseSpace >
bool Kratos::BackwardEulerMonolithicAleScheme< TSparseSpace, TDenseSpace >::mIsLagrangian
protected

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