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

Explicit Back-and-Forth Error Compensation Correction time-integration scheme. More...

#include <explicit_solving_strategy_bfecc.h>

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

Classes

struct  SubstepData
 

Public Member Functions

Operations
void Initialize () override
 Initialization of member variables and prior operations. 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::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >
 ExplicitSolvingStrategy ()
 Default constructor. (empty) More...
 
 ExplicitSolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 ExplicitSolvingStrategy (ModelPart &rModelPart, typename ExplicitBuilderType::Pointer pExplicitBuilder, bool MoveMeshFlag=false, int RebuildLevel=0)
 Default constructor. More...
 
 ExplicitSolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false, int RebuildLevel=0)
 Default constructor. More...
 
 ExplicitSolvingStrategy (const ExplicitSolvingStrategy &Other)=delete
 
virtual ~ExplicitSolvingStrategy ()
 
 KRATOS_CLASS_POINTER_DEFINITION (ExplicitSolvingStrategy)
 
void Clear () override
 Clears the internal storage. More...
 
void InitializeSolutionStep () override
 Performs all the required operations that should be done (for each step) before solving the solution step. More...
 
void FinalizeSolutionStep () override
 Performs all the required operations that should be done (for each step) after solving the solution step. More...
 
bool SolveSolutionStep () override
 Solves the current step. The function always return true as convergence is not checked in the explicit framework. More...
 
void SetRebuildLevel (int Level) override
 
int GetRebuildLevel () const override
 This returns the build level. More...
 
ExplicitBuilderPointerType pGetExplicitBuilder ()
 Operations to get the pointer to the explicit builder and solver. More...
 
ExplicitBuilderTypeGetExplicitBuilder ()
 Operations to get the explicit builder and solver. More...
 
const ExplicitBuilderTypeGetExplicitBuilder () const
 Operations to get the explicit builder and solver. More...
 
double GetResidualNorm () override
 Operations to get the residual norm. More...
 
- Public Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
 SolvingStrategy ()
 Default constructor. More...
 
 SolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 SolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false)
 Default constructor. More...
 
virtual ~SolvingStrategy ()
 
 KRATOS_CLASS_POINTER_DEFINITION (SolvingStrategy)
 
virtual void Predict ()
 Operation to predict the solution ... if it is not called a trivial predictor is used in which the values of the solution step of interest are assumed equal to the old values. More...
 
virtual double Solve ()
 The problem of interest is solved. More...
 
virtual bool IsConverged ()
 This should be considered as a "post solution" convergence check which is useful for coupled analysis. More...
 
virtual void CalculateOutputData ()
 This operations should be called before printing the results when non trivial results (e.g. stresses) need to be calculated given the solution of the step. More...
 
virtual void SetEchoLevel (const int Level)
 This sets the level of echo for the solving strategy. More...
 
int GetEchoLevel ()
 This returns the level of echo for the solving strategy. More...
 
void SetMoveMeshFlag (bool Flag)
 This function sets the flag that says if the mesh is moved. More...
 
bool MoveMeshFlag ()
 This function returns the flag that says if the mesh is moved. More...
 
bool GetMoveMeshFlag ()
 This function returns the flag that says if the mesh is moved. More...
 
virtual void MoveMesh ()
 This function is designed to move the mesh. More...
 
ModelPartGetModelPart ()
 Operations to get the pointer to the model. More...
 
const ModelPartGetModelPart () const
 Operations to get the pointer to the model. More...
 
virtual int Check ()
 Function to perform expensive checks. More...
 
virtual TSystemMatrixTypeGetSystemMatrix ()
 This method returns the LHS matrix. More...
 
virtual TSystemVectorTypeGetSystemVector ()
 This method returns the RHS vector. More...
 
virtual TSystemVectorTypeGetSolutionVector ()
 This method returns the solution vector. More...
 

Protected Member Functions

Protected Operations
void SolveWithLumpedMassMatrix () override
 Calculate the explicit update This method is intended to implement the explicit update calculation Note that it has to be implemented according to the explicit scheme in a derived class. More...
 
LocalSystemVectorType CopySolutionStepData (const SubstepData SData)
 
LocalSystemVectorType ExtractSolutionStepData (const SizeType BufferPosition) const
 
virtual void InitializeBFECCForwardSubstep ()
 Initialize the BFECC initial forward substep This method is intended to implement all the operations required before each BFECC initial forward substep. More...
 
virtual void FinalizeBFECCForwardSubstep ()
 Finalize the BFECC initial forward substep This method is intended to implement all the operations required after each BFECC initial forward substep. More...
 
virtual void InitializeBFECCBackwardSubstep ()
 Initialize the BFECC backward substep This method is intended to implement all the operations required before each BFECC backward substep. More...
 
virtual void FinalizeBFECCBackwardSubstep ()
 Finalize the BFECC backward substep This method is intended to implement all the operations required after each BFECC backward substep. More...
 
virtual void InitializeBFECCFinalSubstep ()
 Initialize the BFECC final substep This method is intended to implement all the operations required before each BFECC final substep. More...
 
virtual void FinalizeBFECCFinalSubstep ()
 Finalize the BFECC final substep This method is intended to implement all the operations required after each BFECC final substep. More...
 
virtual void PerformSubstep (const Substep SubstepType)
 Performs a substep. More...
 
void CorrectErrorAfterForwardsAndBackwards (const LocalSystemVectorType &rPrevStepSolution)
 
- Protected Member Functions inherited from Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >
virtual double GetDeltaTime ()
 Get the Delta Time object This method returns the DELTA_TIME from the ProcessInfo container. More...
 
- Protected Member Functions inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
virtual Parameters ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const
 This method validate and assign default parameters. More...
 

Type Definitions

enum  Substep { FORWARD , BACKWARD , FINAL }
 
typedef ModelPart::SizeType SizeType
 
typedef SolvingStrategy< TSparseSpace, TDenseSpace > SolvingStrategyType
 
typedef ExplicitSolvingStrategy< TSparseSpace, TDenseSpace > BaseType
 
typedef ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > ClassType
 The definition of the current class. More...
 
typedef BaseType::ExplicitBuilderType ExplicitBuilderType
 
typedef BaseType::DofType DofType
 The DOF type. More...
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 The local vector definition. More...
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 
 KRATOS_CLASS_POINTER_DEFINITION (ExplicitSolvingStrategyBFECC)
 

Life Cycle

 ExplicitSolvingStrategyBFECC ()
 Default constructor. (empty) More...
 
 ExplicitSolvingStrategyBFECC (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 ExplicitSolvingStrategyBFECC (ModelPart &rModelPart, typename ExplicitBuilderType::Pointer pExplicitBuilder, bool MoveMeshFlag=false, int RebuildLevel=0)
 Default constructor. More...
 
 ExplicitSolvingStrategyBFECC (ModelPart &rModelPart, bool MoveMeshFlag=false, int RebuildLevel=0)
 Default constructor. More...
 
SolvingStrategyType::Pointer Create (ModelPart &rModelPart, Parameters ThisParameters) const override
 Create method. More...
 
 ExplicitSolvingStrategyBFECC (const ExplicitSolvingStrategyBFECC &Other)=delete
 
 ~ExplicitSolvingStrategyBFECC () override=default
 
virtual Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
virtual void AssignSettings (const Parameters ThisParameters) override
 This method assigns settings to member variables. More...
 
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 

Additional Inherited Members

- Public Types inherited from Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >
typedef ExplicitBuilder< TSparseSpace, TDenseSpace > ExplicitBuilderType
 
typedef ExplicitBuilderType::Pointer ExplicitBuilderPointerType
 
typedef ExplicitBuilderType::DofType DofType
 
typedef SolvingStrategy< TSparseSpace, TDenseSpace > BaseType
 The definition of the base class. More...
 
typedef ExplicitSolvingStrategy< TSparseSpace, TDenseSpace > ClassType
 The definition of the current class. More...
 
- Public Types inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
typedef TSparseSpace::DataType TDataType
 
typedef TSparseSpace::MatrixType TSystemMatrixType
 
typedef TSparseSpace::VectorType TSystemVectorType
 
typedef TSparseSpace::MatrixPointerType TSystemMatrixPointerType
 
typedef TSparseSpace::VectorPointerType TSystemVectorPointerType
 
typedef TDenseSpace::MatrixType LocalSystemMatrixType
 
typedef TDenseSpace::VectorType LocalSystemVectorType
 
typedef SolvingStrategy< TSparseSpace, TDenseSpace > ClassType
 
typedef ModelPart::DofType TDofType
 
typedef ModelPart::DofsArrayType DofsArrayType
 
typedef ModelPart::NodesContainerType NodesArrayType
 
typedef ModelPart::ElementsContainerType ElementsArrayType
 
typedef ModelPart::ConditionsContainerType ConditionsArrayType
 
- Static Public Member Functions inherited from Kratos::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >
static std::string Name ()
 Returns the name of the class as used in the settings (snake_case format) More...
 
- Static Public Member Functions inherited from Kratos::SolvingStrategy< 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::ExplicitSolvingStrategy< TSparseSpace, TDenseSpace >
int mRebuildLevel
 
- Protected Attributes inherited from Kratos::SolvingStrategy< TSparseSpace, TDenseSpace >
int mEchoLevel
 

Detailed Description

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

Explicit Back-and-Forth Error Compensation Correction time-integration scheme.

:

This scheme evaluates the residual three times per step and has quadratic accuracy in time. Will only work for formulations reading from buffer positions 0, and 1. Behaviour when reading from buffer position 2 or greater is left unspecified.

Formulation:

  1. First, a Forward-Euler step is taken from t=t0 to t=t0+Δt. u1 = u0 + Δt*(M^-1)*R(u0)
  2. Then, a Forward-Euler step is taken backwards back to t=t0 u2 = u1 - Δt*(M^-1)*R(u1)
  3. Then, an error is computed from the diference between u0 and u2: e = (u2 - u0) / 2
  4. A corrected u is computed: uc = e0 - e
  5. Then, a last Forward-Euler step is taken from the corrected value at t=t0 to t=t0+Δt: u = uc - Δt*(M^-1)*R(uc)

Note that for this scheme to work, the formulation must preserve information during steps 1 and 2. Hence, all non-numerical dissipative terms must be disabled during these back-and-forth steps for the correction to make sense.

The following methods are provided in order to extend this class:

Reference: HASHEMI, Mohammad R.; ROSSI, Riccardo; RYZHAKOV, Pavel B. An enhanced non-oscillatory BFECC algorithm for finite element solution of advective transport problems. Computer Methods in Applied Mechanics and Engineering, 2022, 391: 114576.

Member Typedef Documentation

◆ BaseType

template<class TSparseSpace , class TDenseSpace >
typedef ExplicitSolvingStrategy<TSparseSpace, TDenseSpace> Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::BaseType

◆ ClassType

template<class TSparseSpace , class TDenseSpace >
typedef ExplicitSolvingStrategyBFECC<TSparseSpace, TDenseSpace> Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::ClassType

The definition of the current class.

◆ DofType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::DofType Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::DofType

The DOF type.

◆ ExplicitBuilderType

template<class TSparseSpace , class TDenseSpace >
typedef BaseType::ExplicitBuilderType Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::ExplicitBuilderType

◆ LocalSystemMatrixType

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

◆ LocalSystemVectorType

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

The local vector definition.

◆ SizeType

template<class TSparseSpace , class TDenseSpace >
typedef ModelPart::SizeType Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::SizeType

◆ SolvingStrategyType

template<class TSparseSpace , class TDenseSpace >
typedef SolvingStrategy<TSparseSpace, TDenseSpace> Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::SolvingStrategyType

Member Enumeration Documentation

◆ Substep

template<class TSparseSpace , class TDenseSpace >
enum Kratos::ExplicitSolvingStrategyBFECC::Substep
Enumerator
FORWARD 
BACKWARD 
FINAL 

Constructor & Destructor Documentation

◆ ExplicitSolvingStrategyBFECC() [1/5]

template<class TSparseSpace , class TDenseSpace >
Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::ExplicitSolvingStrategyBFECC ( )
inlineexplicit

Default constructor. (empty)

◆ ExplicitSolvingStrategyBFECC() [2/5]

template<class TSparseSpace , class TDenseSpace >
Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::ExplicitSolvingStrategyBFECC ( ModelPart rModelPart,
Parameters  ThisParameters 
)
inlineexplicit

Default constructor. (with parameters)

Parameters
rModelPartThe model part of the problem
ThisParametersThe configuration parameters

◆ ExplicitSolvingStrategyBFECC() [3/5]

template<class TSparseSpace , class TDenseSpace >
Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::ExplicitSolvingStrategyBFECC ( ModelPart rModelPart,
typename ExplicitBuilderType::Pointer  pExplicitBuilder,
bool  MoveMeshFlag = false,
int  RebuildLevel = 0 
)
inlineexplicit

Default constructor.

Parameters
rModelPartThe model part to be computed
pExplicitBuilderThe pointer to the explicit builder and solver
MoveMeshFlagThe flag to set if the mesh is moved or not

◆ ExplicitSolvingStrategyBFECC() [4/5]

template<class TSparseSpace , class TDenseSpace >
Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::ExplicitSolvingStrategyBFECC ( ModelPart rModelPart,
bool  MoveMeshFlag = false,
int  RebuildLevel = 0 
)
inlineexplicit

Default constructor.

Parameters
rModelPartThe model part to be computed
MoveMeshFlagThe flag to set if the mesh is moved or not

◆ ExplicitSolvingStrategyBFECC() [5/5]

template<class TSparseSpace , class TDenseSpace >
Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::ExplicitSolvingStrategyBFECC ( const ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > &  Other)
delete

Copy constructor.

◆ ~ExplicitSolvingStrategyBFECC()

template<class TSparseSpace , class TDenseSpace >
Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::~ExplicitSolvingStrategyBFECC ( )
overridedefault

Destructor.

Member Function Documentation

◆ AssignSettings()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::AssignSettings ( const Parameters  ThisParameters)
inlineoverridevirtual

This method assigns settings to member variables.

Parameters
ThisParametersParameters that are assigned to the member variables

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

Reimplemented in Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > >.

◆ CopySolutionStepData()

template<class TSparseSpace , class TDenseSpace >
LocalSystemVectorType Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::CopySolutionStepData ( const SubstepData  SData)
inlineprotected

Ovrwrite the destination buffer position with data from the source buffer position. Additionally, we save in an auxiliary vector the value of the fixed DOFs in the destination buffer position.

◆ CorrectErrorAfterForwardsAndBackwards()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::CorrectErrorAfterForwardsAndBackwards ( const LocalSystemVectorType rPrevStepSolution)
inlineprotected

Computes the error by comparing the buffer position 0 and the previous step solution. Then stores the corrected starting point in the buffer position 1.

Parameters
rPrevStepSolution

◆ Create()

template<class TSparseSpace , class TDenseSpace >
SolvingStrategyType::Pointer Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::Create ( ModelPart rModelPart,
Parameters  ThisParameters 
) const
inlineoverridevirtual

Create method.

Parameters
rModelPartThe model part to be computed
ThisParametersThe configuration parameters

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

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

◆ ExtractSolutionStepData()

template<class TSparseSpace , class TDenseSpace >
LocalSystemVectorType Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::ExtractSolutionStepData ( const SizeType  BufferPosition) const
inlineprotected

◆ FinalizeBFECCBackwardSubstep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::FinalizeBFECCBackwardSubstep ( )
inlineprotectedvirtual

Finalize the BFECC backward substep This method is intended to implement all the operations required after each BFECC backward substep.

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

◆ FinalizeBFECCFinalSubstep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::FinalizeBFECCFinalSubstep ( )
inlineprotectedvirtual

Finalize the BFECC final substep This method is intended to implement all the operations required after each BFECC final substep.

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

◆ FinalizeBFECCForwardSubstep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::FinalizeBFECCForwardSubstep ( )
inlineprotectedvirtual

Finalize the BFECC initial forward substep This method is intended to implement all the operations required after each BFECC initial forward substep.

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

◆ GetDefaultParameters()

template<class TSparseSpace , class TDenseSpace >
virtual Parameters Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::GetDefaultParameters ( ) const
inlineoverridevirtual

This method provides the defaults parameters to avoid conflicts between the different constructors.

Returns
The default parameters

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

Reimplemented in Kratos::CompressibleNavierStokesExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >, and Kratos::CompressibleNavierStokesExplicitSolvingStrategy< ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace > >.

◆ Info()

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

◆ Initialize()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::Initialize ( )
inlineoverridevirtual

◆ InitializeBFECCBackwardSubstep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::InitializeBFECCBackwardSubstep ( )
inlineprotectedvirtual

Initialize the BFECC backward substep This method is intended to implement all the operations required before each BFECC backward substep.

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

◆ InitializeBFECCFinalSubstep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::InitializeBFECCFinalSubstep ( )
inlineprotectedvirtual

Initialize the BFECC final substep This method is intended to implement all the operations required before each BFECC final substep.

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

◆ InitializeBFECCForwardSubstep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::InitializeBFECCForwardSubstep ( )
inlineprotectedvirtual

Initialize the BFECC initial forward substep This method is intended to implement all the operations required before each BFECC initial forward substep.

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

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Counted pointer of ClassName

◆ Name()

template<class TSparseSpace , class TDenseSpace >
static std::string Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::Name ( )
inlinestatic

Returns the name of the class as used in the settings (snake_case format)

Returns
The name of the class

◆ PerformSubstep()

template<class TSparseSpace , class TDenseSpace >
virtual void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::PerformSubstep ( const Substep  SubstepType)
inlineprotectedvirtual

Performs a substep.

Parameters
SubstepThe type of substep it is

◆ PrintData()

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

◆ PrintInfo()

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

◆ SolveWithLumpedMassMatrix()

template<class TSparseSpace , class TDenseSpace >
void Kratos::ExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >::SolveWithLumpedMassMatrix ( )
inlineoverrideprotectedvirtual

Calculate the explicit update This method is intended to implement the explicit update calculation Note that it has to be implemented according to the explicit scheme in a derived class.

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


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