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::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver > Class Template Reference

An impelementation of the Spalart-Allmaras turbulence model for incompressible flows. More...

#include <spalart_allmaras_turbulence_model.h>

Inheritance diagram for Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >:
Collaboration diagram for Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >:

Public Member Functions

Type Definitions
 KRATOS_CLASS_POINTER_DEFINITION (SpalartAllmarasTurbulenceModel)
 Pointer definition of SpalartAllmarasTurbulenceModel. More...
 
Life Cycle
 SpalartAllmarasTurbulenceModel (ModelPart &rModelPart, typename TLinearSolver::Pointer pLinearSolver, unsigned int DomainSize, double NonLinearTol, unsigned int MaxIter, bool ReformDofSet, unsigned int TimeOrder)
 Constructor for the Spalart-Allmaras turbulence model. More...
 
 ~SpalartAllmarasTurbulenceModel () override
 Destructor. More...
 
Operations
void Execute () override
 Solve an iteration of the turbulent viscosity. More...
 
void SetMaxIterations (unsigned int max_it)
 
void AdaptForFractionalStep ()
 
void ActivateDES (double CDES)
 
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::Process
 KRATOS_CLASS_POINTER_DEFINITION (Process)
 Pointer definition of Process. More...
 
 Process ()
 Default constructor. More...
 
 Process (const Flags options)
 
 ~Process () override
 Destructor. More...
 
void operator() ()
 This operator is provided to call the process as a function and simply calls the Execute method. More...
 
virtual Process::Pointer Create (Model &rModel, Parameters ThisParameters)
 This method creates an pointer of the process. More...
 
virtual void ExecuteInitialize ()
 This function is designed for being called at the beginning of the computations right after reading the model and the groups. More...
 
virtual void ExecuteBeforeSolutionLoop ()
 This function is designed for being execute once before the solution loop but after all of the solvers where built. More...
 
virtual void ExecuteInitializeSolutionStep ()
 This function will be executed at every time step BEFORE performing the solve phase. More...
 
virtual void ExecuteFinalizeSolutionStep ()
 This function will be executed at every time step AFTER performing the solve phase. More...
 
virtual void ExecuteBeforeOutputStep ()
 This function will be executed at every time step BEFORE writing the output. More...
 
virtual void ExecuteAfterOutputStep ()
 This function will be executed at every time step AFTER writing the output. More...
 
virtual void ExecuteFinalize ()
 This function is designed for being called at the end of the computations. More...
 
virtual int Check ()
 This function is designed for being called after ExecuteInitialize ONCE to verify that the input is correct. More...
 
virtual void Clear ()
 This method clears the assignation of the conditions. More...
 
virtual const Parameters GetDefaultParameters () const
 This method provides the defaults parameters to avoid conflicts between the different constructors. More...
 
- Public Member Functions inherited from Kratos::Flags
Flagsoperator= (Flags const &rOther)
 Assignment operator. More...
 
 operator bool () const
 
Flags operator~ () const
 
bool operator! () const
 
void AssignFlags (Flags const &rOther)
 
void Set (const Flags ThisFlag)
 
void Set (const Flags ThisFlag, bool Value)
 
void Reset (const Flags ThisFlag)
 
void Flip (const Flags ThisFlag)
 
void SetPosition (IndexType Position, bool Value=true)
 
bool GetPosition (IndexType Position) const
 
void FlipPosition (IndexType Position)
 
void ClearPosition (IndexType Position)
 
void Clear ()
 
Flags AsFalse () const
 
bool Is (Flags const &rOther) const
 
bool IsDefined (Flags const &rOther) const
 
bool IsNot (Flags const &rOther) const
 
bool IsNotDefined (Flags const &rOther) const
 
 KRATOS_CLASS_POINTER_DEFINITION (Flags)
 Pointer definition of Flags. More...
 
const Flagsoperator|= (const Flags &Other)
 
const Flagsoperator&= (const Flags &Other)
 
 Flags ()
 Default constructor. More...
 
 Flags (Flags const &rOther)
 Copy constructor. More...
 
virtual ~Flags ()
 Destructor. More...
 

Protected Member Functions

Protected LifeCycle
 SpalartAllmarasTurbulenceModel (ModelPart &rModelPart)
 Protected constructor, initializing only the references (for derived classes) More...
 

Protected Attributes

Protected member Variables
ModelPartmr_model_part
 
ModelPartmrSpalartModelPart
 
unsigned int mdomain_size
 
double mtol
 
unsigned int mmax_it
 
unsigned int mtime_order
 
bool madapt_for_fractional_step
 
ImplicitSolvingStrategy< TSparseSpace, TDenseSpace, TLinearSolver >::Pointer mpSolutionStrategy
 

Additional Inherited Members

- Public Types inherited from Kratos::Flags
enum  FlagsList {
  Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 ,
  Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 ,
  Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 ,
  Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 ,
  Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 ,
  Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 ,
  Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 ,
  Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30
}
 
typedef int64_t BlockType
 
typedef int64_t FlagType
 
typedef std::size_t IndexType
 
- Static Public Member Functions inherited from Kratos::Flags
static const Flags AllDefined ()
 
static const Flags AllTrue ()
 
static Flags Create (IndexType ThisPosition, bool Value=true)
 

Detailed Description

template<class TSparseSpace, class TDenseSpace, class TLinearSolver>
class Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >

An impelementation of the Spalart-Allmaras turbulence model for incompressible flows.

Detail class definition.

Constructor & Destructor Documentation

◆ SpalartAllmarasTurbulenceModel() [1/2]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::SpalartAllmarasTurbulenceModel ( ModelPart rModelPart,
typename TLinearSolver::Pointer  pLinearSolver,
unsigned int  DomainSize,
double  NonLinearTol,
unsigned int  MaxIter,
bool  ReformDofSet,
unsigned int  TimeOrder 
)
inline

Constructor for the Spalart-Allmaras turbulence model.

Parameters
rModelPartModelPart for the flow problem
pLinearSolverPointer to the linear solver to use in the solution of the viscosity transport problem
DomainSizeSpatial dimension of the problem (2 or 3)
NonLinearTolRelative tolerance for the turbulent viscosity transport problem (convergence is checked using the norm of the residual)
MaxIterMaximum number of iterations for the solution of the viscosity transport problem
ReformDofSetTrue if the degrees of freedom change during the problem (for example due to remeshing) false otherwise
TimeOrderOrder for time integration (1 - Backward Euler will be used, 2 - BDF2 method)

◆ ~SpalartAllmarasTurbulenceModel()

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

Destructor.

◆ SpalartAllmarasTurbulenceModel() [2/2]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::SpalartAllmarasTurbulenceModel ( ModelPart rModelPart)
inlineprotected

Protected constructor, initializing only the references (for derived classes)

Member Function Documentation

◆ ActivateDES()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::ActivateDES ( double  CDES)
inline

◆ AdaptForFractionalStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::AdaptForFractionalStep ( )
inline

◆ Execute()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::Execute ( )
inlineoverridevirtual

Solve an iteration of the turbulent viscosity.

Reimplemented from Kratos::Process.

◆ Info()

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

Turn back information as a string.

Reimplemented from Kratos::Process.

Reimplemented in Kratos::TrilinosSpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Pointer definition of SpalartAllmarasTurbulenceModel.

◆ PrintData()

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

◆ PrintInfo()

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

Print information about this object.

Reimplemented from Kratos::Process.

Reimplemented in Kratos::TrilinosSpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ SetMaxIterations()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::SetMaxIterations ( unsigned int  max_it)
inline

Member Data Documentation

◆ madapt_for_fractional_step

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::madapt_for_fractional_step
protected

◆ mdomain_size

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
unsigned int Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::mdomain_size
protected

◆ mmax_it

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
unsigned int Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::mmax_it
protected

◆ mpSolutionStrategy

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
ImplicitSolvingStrategy<TSparseSpace, TDenseSpace, TLinearSolver>::Pointer Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::mpSolutionStrategy
protected

◆ mr_model_part

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
ModelPart& Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::mr_model_part
protected

◆ mrSpalartModelPart

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
ModelPart& Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::mrSpalartModelPart
protected

◆ mtime_order

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
unsigned int Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::mtime_order
protected

◆ mtol

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
double Kratos::SpalartAllmarasTurbulenceModel< TSparseSpace, TDenseSpace, TLinearSolver >::mtol
protected

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