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::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy > Class Template Referenceabstract

Explicit solving strategy base class. More...

#include <compressible_navier_stokes_explicit_solving_strategy.h>

Inheritance diagram for Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >:
Collaboration diagram for Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >:

Public Member Functions

Life Cycle
 CompressibleNavierStokesExplicitSolvingStrategy (ModelPart &rModelPart, Parameters ThisParameters)
 Default constructor. (with parameters) More...
 
 CompressibleNavierStokesExplicitSolvingStrategy (ModelPart &rModelPart, typename ExplicitBuilderType::Pointer pExplicitBuilder, bool MoveMeshFlag=false, int RebuildLevel=0)
 Default constructor. More...
 
 CompressibleNavierStokesExplicitSolvingStrategy (ModelPart &rModelPart, bool MoveMeshFlag=false, int RebuildLevel=0)
 Default constructor. More...
 
 CompressibleNavierStokesExplicitSolvingStrategy (const CompressibleNavierStokesExplicitSolvingStrategy &Other)=delete
 
virtual ~CompressibleNavierStokesExplicitSolvingStrategy ()=default
 
Operations
int Check () override
 
Parameters GetDefaultParameters () const override
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
void AssignSettings (const Parameters ThisParameters) override
 This method assigns settings to member variables. More...
 
virtual void Initialize () override
 Initialization of member variables and prior operations In this method we call the base strategy initialize and initialize the time derivatives This is required to prevent OpenMP errors as the time derivatives are stored in the non-historical database. More...
 
virtual void InitializeSolutionStep () override
 
virtual void FinalizeSolutionStep () override
 Finalize the step In this method we calculate the final linearised time derivatives after the final update These will be the time derivatives employed in the first sub step of the next time step. More...
 
virtual std::string Info () const override=0
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 

Protected Member Functions

Protected Operations
void SetUpShockCapturing (Parameters ShockCapturingParameters)
 
void CalculateOrthogonalSubScalesProjection ()
 
void CalculateNonConservativeMagnitudes ()
 Calculates the non-conservative magnitudes This function calculates the non-conservative magnitudes from the obtained conservative ones The set of non-conservative magnitudes (VELOCITY, PRESSURE and TEMPERATURE) are saved in the historical database. The speed of sound (SOUND_VELOCITY) and Mach number (MACH) are also computed and stored in the non-historical database. More...
 
void ApplySlipCondition ()
 Appy the slip condition This method substracts the normal projection of the momentum for all the nodes flagged as SLIP The correction is computed as m_slip = m - (m·n) x n. It is intended to be called after each substep. More...
 
virtual void InitializeEverySubstep ()
 
virtual void FinalizeEverySubstep ()
 
bool ShockCapturingEnabled () const noexcept
 
bool ConservativeMagnitudeCalculationEnabled () const noexcept
 
bool SlipConditionEnabled () const noexcept
 
Protected Access
const Process::UniquePointer & GetShockCapturingProcess ()
 

Type Definitions

typedef TBaseExplicitStrategy BaseType
 The base class definition. More...
 
typedef BaseType::ExplicitBuilderType ExplicitBuilderType
 The explicit builder and solver definition. More...
 
typedef TBaseExplicitStrategy::LocalSystemVectorType LocalSystemVectorType
 The local vector definition. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (CompressibleNavierStokesExplicitSolvingStrategy)
 Pointer definition of CompressibleNavierStokesExplicitSolvingStrategy. More...
 

Detailed Description

template<typename TBaseExplicitStrategy>
class Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >

Explicit solving strategy base class.

This is the base class from which we will derive all the explicit strategies for the compressible Navier Stokes equations (BFECC, RK4, ...)

Member Typedef Documentation

◆ BaseType

template<typename TBaseExplicitStrategy >
typedef TBaseExplicitStrategy Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::BaseType

The base class definition.

◆ ExplicitBuilderType

template<typename TBaseExplicitStrategy >
typedef BaseType::ExplicitBuilderType Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::ExplicitBuilderType

The explicit builder and solver definition.

◆ LocalSystemVectorType

template<typename TBaseExplicitStrategy >
typedef TBaseExplicitStrategy::LocalSystemVectorType Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::LocalSystemVectorType

The local vector definition.

Constructor & Destructor Documentation

◆ CompressibleNavierStokesExplicitSolvingStrategy() [1/4]

template<typename TBaseExplicitStrategy >
Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::CompressibleNavierStokesExplicitSolvingStrategy ( ModelPart rModelPart,
Parameters  ThisParameters 
)
inlineexplicit

Default constructor. (with parameters)

Parameters
rModelPartThe model part of the problem
ThisParametersThe configuration parameters

◆ CompressibleNavierStokesExplicitSolvingStrategy() [2/4]

template<typename TBaseExplicitStrategy >
Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::CompressibleNavierStokesExplicitSolvingStrategy ( 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

◆ CompressibleNavierStokesExplicitSolvingStrategy() [3/4]

template<typename TBaseExplicitStrategy >
Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::CompressibleNavierStokesExplicitSolvingStrategy ( 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

◆ CompressibleNavierStokesExplicitSolvingStrategy() [4/4]

template<typename TBaseExplicitStrategy >
Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::CompressibleNavierStokesExplicitSolvingStrategy ( const CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy > &  Other)
delete

Copy constructor.

◆ ~CompressibleNavierStokesExplicitSolvingStrategy()

template<typename TBaseExplicitStrategy >
virtual Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::~CompressibleNavierStokesExplicitSolvingStrategy ( )
virtualdefault

Destructor.

Member Function Documentation

◆ ApplySlipCondition()

template<typename TBaseExplicitStrategy >
void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::ApplySlipCondition ( )
inlineprotected

Appy the slip condition This method substracts the normal projection of the momentum for all the nodes flagged as SLIP The correction is computed as m_slip = m - (m·n) x n. It is intended to be called after each substep.

◆ AssignSettings()

template<typename TBaseExplicitStrategy >
void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::AssignSettings ( const Parameters  ThisParameters)
inlineoverride

This method assigns settings to member variables.

Parameters
ThisParametersParameters that are assigned to the member variables

◆ CalculateNonConservativeMagnitudes()

template<typename TBaseExplicitStrategy >
void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::CalculateNonConservativeMagnitudes ( )
inlineprotected

Calculates the non-conservative magnitudes This function calculates the non-conservative magnitudes from the obtained conservative ones The set of non-conservative magnitudes (VELOCITY, PRESSURE and TEMPERATURE) are saved in the historical database. The speed of sound (SOUND_VELOCITY) and Mach number (MACH) are also computed and stored in the non-historical database.

◆ CalculateOrthogonalSubScalesProjection()

template<typename TBaseExplicitStrategy >
void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::CalculateOrthogonalSubScalesProjection ( )
inlineprotected

◆ Check()

template<typename TBaseExplicitStrategy >
int Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::Check ( )
inlineoverride

◆ ConservativeMagnitudeCalculationEnabled()

template<typename TBaseExplicitStrategy >
bool Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::ConservativeMagnitudeCalculationEnabled ( ) const
inlineprotectednoexcept

◆ FinalizeEverySubstep()

template<typename TBaseExplicitStrategy >
virtual void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::FinalizeEverySubstep ( )
inlineprotectedvirtual

◆ FinalizeSolutionStep()

template<typename TBaseExplicitStrategy >
virtual void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::FinalizeSolutionStep ( )
inlineoverridevirtual

Finalize the step In this method we calculate the final linearised time derivatives after the final update These will be the time derivatives employed in the first sub step of the next time step.

◆ GetDefaultParameters()

template<typename TBaseExplicitStrategy >
Parameters Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::GetDefaultParameters ( ) const
inlineoverride

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

Returns
The default parameters

◆ GetShockCapturingProcess()

template<typename TBaseExplicitStrategy >
const Process::UniquePointer& Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::GetShockCapturingProcess ( )
inlineprotected

◆ Info()

template<typename TBaseExplicitStrategy >
virtual std::string Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::Info ( ) const
overridepure virtual

◆ Initialize()

template<typename TBaseExplicitStrategy >
virtual void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::Initialize ( void  )
inlineoverridevirtual

Initialization of member variables and prior operations In this method we call the base strategy initialize and initialize the time derivatives This is required to prevent OpenMP errors as the time derivatives are stored in the non-historical database.

◆ InitializeEverySubstep()

template<typename TBaseExplicitStrategy >
virtual void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::InitializeEverySubstep ( )
inlineprotectedvirtual

◆ InitializeSolutionStep()

template<typename TBaseExplicitStrategy >
virtual void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::InitializeSolutionStep ( )
inlineoverridevirtual

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<typename TBaseExplicitStrategy >
Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::KRATOS_CLASS_POINTER_DEFINITION ( CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >  )

◆ PrintData()

template<typename TBaseExplicitStrategy >
virtual void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

◆ PrintInfo()

template<typename TBaseExplicitStrategy >
virtual void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

◆ SetUpShockCapturing()

template<typename TBaseExplicitStrategy >
void Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::SetUpShockCapturing ( Parameters  ShockCapturingParameters)
inlineprotected

◆ ShockCapturingEnabled()

template<typename TBaseExplicitStrategy >
bool Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::ShockCapturingEnabled ( ) const
inlineprotectednoexcept

◆ SlipConditionEnabled()

template<typename TBaseExplicitStrategy >
bool Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::SlipConditionEnabled ( ) const
inlineprotectednoexcept

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