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

A scheme for BDF2 time integration. More...

#include <bdf2_turbulent_scheme.h>

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

Public Member Functions

Life Cycle
 BDF2TurbulentScheme ()
 Default constructor. More...
 
 BDF2TurbulentScheme (Process::Pointer pTurbulenceModel)
 Constructor to use the formulation combined with a turbulence model. More...
 
 BDF2TurbulentScheme (const Kratos::Variable< int > &rPeriodicVar)
 Constructor for periodic boundary conditions. More...
 
 ~BDF2TurbulentScheme () override
 Destructor. More...
 
Operations
int Check (ModelPart &rModelPart) override
 Check input data for errors. More...
 
void Initialize (ModelPart &rModelPart) override
 This is the place to initialize the Scheme. More...
 
void InitializeSolutionStep (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override
 Set the time iteration coefficients. More...
 
void InitializeNonLinIteration (ModelPart &rModelPart, 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 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 Predict (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override
 Start the iteration by providing a first approximation to the solution. More...
 
void Update (ModelPart &rModelPart, DofsArrayType &rDofSet, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b) override
 Store the iteration results as solution step variables and update acceleration after a Newton-Raphson iteration. More...
 
void CalculateSystemContributions (Element &rCurrentElement, LocalSystemMatrixType &LHS_Contribution, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) override
 This function is designed to be called in the builder and solver to introduce the selected time integration scheme. More...
 
void CalculateRHSContribution (Element &rCurrentElement, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) override
 This function is designed to calculate just the RHS contribution. More...
 
void CalculateSystemContributions (Condition &rCurrentCondition, LocalSystemMatrixType &LHS_Contribution, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) override
 Functions totally analogous to the precedent but applied to the "condition" objects. More...
 
void CalculateRHSContribution (Condition &rCurrentCondition, LocalSystemVectorType &RHS_Contribution, Element::EquationIdVectorType &rEquationId, const ProcessInfo &rCurrentProcessInfo) override
 Functions totally analogous to the precedent but applied to the "condition" objects. More...
 
void Clear () override
 Free memory allocated by this object. More...
 
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...
 
- 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 ()
 
 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...
 
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 FinalizeSolutionStep (ModelPart &rModelPart, TSystemMatrixType &A, TSystemVectorType &Dx, TSystemVectorType &b)
 Function called once at the end of a solution step, after convergence is reached if an iterative process is needed. 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 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 Operations
void SetTimeCoefficients (ProcessInfo &rCurrentProcessInfo)
 Calculate the coefficients for time iteration. More...
 
virtual void UpdateDofs (DofsArrayType &rDofSet, TSystemVectorType &Dx)
 Update Dof values after a Newton-Raphson iteration. More...
 
void UpdateAcceleration (ModelPart &rModelPart, const Vector &rBDFcoefs)
 Update Dof values after a Newton-Raphson iteration. More...
 
void CombineLHSContributions (LocalSystemMatrixType &rLHS, LocalSystemMatrixType &rMass, LocalSystemMatrixType &rDamp, const ProcessInfo &rCurrentProcessInfo)
 
template<class TObject >
void AddDynamicRHSContribution (TObject &rObject, LocalSystemVectorType &rRHS, LocalSystemMatrixType &rMass, const ProcessInfo &rCurrentProcessInfo)
 
void FullProjection (ModelPart &rModelPart)
 
void LumpedProjection (ModelPart &rModelPart)
 
void PeriodicConditionProjectionCorrection (ModelPart &rModelPart)
 
void AssemblePeriodicContributionToProjections (Geometry< Node > &rGeometry)
 
void CorrectContributionsOnPeriodicNode (Node &rNode)
 
- 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...
 

Type Definitions

typedef Scheme< TSparseSpace, TDenseSpace > BaseType
 
typedef TSparseSpace::DataType TDataType
 
typedef TSparseSpace::MatrixType TSystemMatrixType
 
typedef TSparseSpace::VectorType TSystemVectorType
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 
typedef Dof< TDataTypeTDofType
 
typedef BaseType::DofsArrayType DofsArrayType
 
typedef CoordinateTransformationUtils< LocalSystemMatrixType, LocalSystemVectorType, doubleRotationToolType
 
typedef RotationToolType::UniquePointer RotationToolPointerType
 
 KRATOS_CLASS_POINTER_DEFINITION (BDF2TurbulentScheme)
 Pointer definition of BDF2TurbulentScheme. More...
 

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

Detailed Description

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

A scheme for BDF2 time integration.

Member Typedef Documentation

◆ BaseType

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

◆ DofsArrayType

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

◆ LocalSystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef TDenseSpace::MatrixType Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::LocalSystemMatrixType

◆ LocalSystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef TDenseSpace::VectorType Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::LocalSystemVectorType

◆ RotationToolPointerType

template<class TSparseSpace , class TDenseSpace >
typedef RotationToolType::UniquePointer Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::RotationToolPointerType

◆ RotationToolType

template<class TSparseSpace , class TDenseSpace >
typedef CoordinateTransformationUtils<LocalSystemMatrixType, LocalSystemVectorType, double> Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::RotationToolType

◆ TDataType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::DataType Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::TDataType

◆ TDofType

template<class TSparseSpace , class TDenseSpace >
typedef Dof<TDataType> Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::TDofType

◆ TSystemMatrixType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::MatrixType Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::TSystemMatrixType

◆ TSystemVectorType

template<class TSparseSpace , class TDenseSpace >
typedef TSparseSpace::VectorType Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::TSystemVectorType

Constructor & Destructor Documentation

◆ BDF2TurbulentScheme() [1/3]

template<class TSparseSpace , class TDenseSpace >
Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::BDF2TurbulentScheme ( )
inline

Default constructor.

◆ BDF2TurbulentScheme() [2/3]

template<class TSparseSpace , class TDenseSpace >
Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::BDF2TurbulentScheme ( Process::Pointer  pTurbulenceModel)
inline

Constructor to use the formulation combined with a turbulence model.

The turbulence model is assumed to be implemented as a Kratos::Process. The model's Execute() method wil be called at the start of each non-linear iteration.

Parameters
pTurbulenceModelpointer to the turbulence model

◆ BDF2TurbulentScheme() [3/3]

template<class TSparseSpace , class TDenseSpace >
Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::BDF2TurbulentScheme ( const Kratos::Variable< int > &  rPeriodicVar)
inline

Constructor for periodic boundary conditions.

Parameters
rPeriodicVarthe variable used to store periodic pair indices.

◆ ~BDF2TurbulentScheme()

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

Destructor.

Member Function Documentation

◆ AddDynamicRHSContribution()

template<class TSparseSpace , class TDenseSpace >
template<class TObject >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::AddDynamicRHSContribution ( TObject &  rObject,
LocalSystemVectorType rRHS,
LocalSystemMatrixType rMass,
const ProcessInfo rCurrentProcessInfo 
)
inlineprotected

◆ AssemblePeriodicContributionToProjections()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::AssemblePeriodicContributionToProjections ( Geometry< Node > &  rGeometry)
inlineprotected

◆ CalculateRHSContribution() [1/2]

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::CalculateRHSContribution ( Condition rCondition,
LocalSystemVectorType RHS_Contribution,
Element::EquationIdVectorType rEquationIdVector,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

Functions totally analogous to the precedent but applied to the "condition" objects.

Parameters
rConditionThe condition to compute
RHS_ContributionThe RHS vector contribution
rEquationIdVectorThe ID's of the condition degrees of freedom
rCurrentProcessInfoThe current process info instance

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

◆ CalculateRHSContribution() [2/2]

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::CalculateRHSContribution ( Element rElement,
LocalSystemVectorType RHS_Contribution,
Element::EquationIdVectorType rEquationIdVector,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

This function is designed to calculate just the RHS contribution.

Parameters
rElementThe element to compute
RHS_ContributionThe RHS vector contribution
rEquationIdVectorThe ID's of the element degrees of freedom
rCurrentProcessInfoThe current process info instance

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

◆ CalculateSystemContributions() [1/2]

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::CalculateSystemContributions ( Condition rCondition,
LocalSystemMatrixType LHS_Contribution,
LocalSystemVectorType RHS_Contribution,
Element::EquationIdVectorType rEquationIdVector,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

Functions totally analogous to the precedent but applied to the "condition" objects.

Parameters
rConditionThe condition to compute
LHS_ContributionThe LHS matrix contribution
RHS_ContributionThe RHS vector contribution
rEquationIdVectorThe ID's of the condition degrees of freedom
rCurrentProcessInfoThe current process info instance

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

◆ CalculateSystemContributions() [2/2]

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::CalculateSystemContributions ( Element rElement,
LocalSystemMatrixType LHS_Contribution,
LocalSystemVectorType RHS_Contribution,
Element::EquationIdVectorType rEquationIdVector,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

This function is designed to be called in the builder and solver to introduce the selected time integration scheme.

It "asks" the matrix needed to the element and performs the operations needed to introduce the selected time integration scheme. This function calculates at the same time the contribution to the LHS and to the RHS of the system

Parameters
rElementThe element to compute
LHS_ContributionThe LHS matrix contribution
RHS_ContributionThe RHS vector contribution
rEquationIdVectorThe ID's of the element degrees of freedom
rCurrentProcessInfoThe current process info instance

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

◆ Check()

template<class TSparseSpace , class TDenseSpace >
int Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::Check ( ModelPart rModelPart)
inlineoverridevirtual

Check input data for errors.

Parameters
rModelPartThe fluid's ModelPart
Returns
0 if no errors were found

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

◆ Clear()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::Clear ( )
inlineoverridevirtual

Free memory allocated by this object.

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

Reimplemented in Kratos::BDF2TurbulentSchemeDEMCoupled< TSparseSpace, TDenseSpace >.

◆ CombineLHSContributions()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::CombineLHSContributions ( LocalSystemMatrixType rLHS,
LocalSystemMatrixType rMass,
LocalSystemMatrixType rDamp,
const ProcessInfo rCurrentProcessInfo 
)
inlineprotected

◆ CorrectContributionsOnPeriodicNode()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::CorrectContributionsOnPeriodicNode ( Node rNode)
inlineprotected

◆ FinalizeNonLinIteration()

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

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.

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

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

Reimplemented in Kratos::BDF2TurbulentSchemeDEMCoupled< TSparseSpace, TDenseSpace >.

◆ FullProjection()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::FullProjection ( ModelPart rModelPart)
inlineprotected

◆ Info()

template<class TSparseSpace , class TDenseSpace >
std::string Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

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

Reimplemented in Kratos::BDF2TurbulentSchemeDEMCoupled< TSparseSpace, TDenseSpace >.

◆ Initialize()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::Initialize ( ModelPart rModelPart)
inlineoverridevirtual

This is the place to initialize the Scheme.

This is intended to be called just once when the strategy is initialized

Parameters
rModelPartThe model part of the problem to solve

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

◆ InitializeNonLinIteration()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< 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 >.

Reimplemented in Kratos::BDF2TurbulentSchemeDEMCoupled< TSparseSpace, TDenseSpace >.

◆ InitializeSolutionStep()

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

Set the time iteration coefficients.

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

Reimplemented in Kratos::BDF2TurbulentSchemeDEMCoupled< TSparseSpace, TDenseSpace >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Pointer definition of BDF2TurbulentScheme.

◆ LumpedProjection()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::LumpedProjection ( ModelPart rModelPart)
inlineprotected

◆ PeriodicConditionProjectionCorrection()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::PeriodicConditionProjectionCorrection ( ModelPart rModelPart)
inlineprotected

On periodic boundaries, the nodal area and the values to project need to take into account contributions from elements on both sides of the boundary. This is done using the conditions and the non-historical nodal data containers as follows:
1- The partition that owns the PeriodicCondition adds the values on both nodes to their non-historical containers.
2- The non-historical containers are added across processes, communicating the right value from the condition owner to all partitions.
3- The value on all periodic nodes is replaced by the one received in step 2.

◆ Predict()

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

Start the iteration by providing a first approximation to the solution.

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

◆ PrintData()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

◆ PrintInfo()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

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

Reimplemented in Kratos::BDF2TurbulentSchemeDEMCoupled< TSparseSpace, TDenseSpace >.

◆ SetTimeCoefficients()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::SetTimeCoefficients ( ProcessInfo rCurrentProcessInfo)
inlineprotected

Calculate the coefficients for time iteration.

Parameters
rCurrentProcessInfoProcessInfo instance from the fluid ModelPart. Must contain DELTA_TIME and BDF_COEFFICIENTS variables.

◆ Update()

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

Store the iteration results as solution step variables and update acceleration after a Newton-Raphson iteration.

Parameters
rModelPartfluid ModelPart
rDofSetDofSet containing the Newton-Raphson system degrees of freedom.
ANewton-Raphson system matrix (unused)
DxNewton-Raphson iteration solution
bNewton-Raphson right hand side (unused)

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

◆ UpdateAcceleration()

template<class TSparseSpace , class TDenseSpace >
void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::UpdateAcceleration ( ModelPart rModelPart,
const Vector rBDFcoefs 
)
inlineprotected

Update Dof values after a Newton-Raphson iteration.

Parameters
rModelPartfluid ModelPart
rBDFcoefsTime stepping coefficients for this iteration.

◆ UpdateDofs()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::BDF2TurbulentScheme< TSparseSpace, TDenseSpace >::UpdateDofs ( DofsArrayType rDofSet,
TSystemVectorType Dx 
)
inlineprotectedvirtual

Update Dof values after a Newton-Raphson iteration.

Parameters
rDofSetContainer for the Degrees of freedom in the system
DxSolution of the linear system

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