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.
|
Explicit solving strategy base class. More...
#include <compressible_navier_stokes_explicit_solving_strategy.h>
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... | |
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, ...)
typedef TBaseExplicitStrategy Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::BaseType |
The base class definition.
typedef BaseType::ExplicitBuilderType Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::ExplicitBuilderType |
The explicit builder and solver definition.
typedef TBaseExplicitStrategy::LocalSystemVectorType Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::LocalSystemVectorType |
The local vector definition.
|
inlineexplicit |
Default constructor. (with parameters)
rModelPart | The model part of the problem |
ThisParameters | The configuration parameters |
|
inlineexplicit |
Default constructor.
rModelPart | The model part to be computed |
pExplicitBuilder | The pointer to the explicit builder and solver |
MoveMeshFlag | The flag to set if the mesh is moved or not |
|
inlineexplicit |
Default constructor.
rModelPart | The model part to be computed |
MoveMeshFlag | The flag to set if the mesh is moved or not |
|
delete |
Copy constructor.
|
virtualdefault |
Destructor.
|
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.
|
inlineoverride |
This method assigns settings to member variables.
ThisParameters | Parameters that are assigned to the member variables |
|
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.
|
inlineprotected |
|
inlineoverride |
|
inlineprotectednoexcept |
|
inlineprotectedvirtual |
|
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.
|
inlineoverride |
This method provides the defaults parameters to avoid conflicts between the different constructors.
|
inlineprotected |
|
overridepure virtual |
Turn back information as a string.
Implemented in Kratos::CompressibleNavierStokesExplicitSolvingStrategyRungeKutta< TSparseSpace, TDenseSpace, TButcherTableau >, and Kratos::CompressibleNavierStokesExplicitSolvingStrategyBFECC< TSparseSpace, TDenseSpace >.
|
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.
|
inlineprotectedvirtual |
|
inlineoverridevirtual |
Kratos::CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy >::KRATOS_CLASS_POINTER_DEFINITION | ( | CompressibleNavierStokesExplicitSolvingStrategy< TBaseExplicitStrategy > | ) |
Pointer definition of CompressibleNavierStokesExplicitSolvingStrategy.
|
inlineoverridevirtual |
Print object's data.
|
inlineoverridevirtual |
Print information about this object.
|
inlineprotected |
|
inlineprotectednoexcept |
|
inlineprotectednoexcept |