GEKO< BasicTurbulenceModel > Class Template Reference

GEKO implements the Menter & Matyushenko (2025) generalized k-omega two-equation turbulence model with the support: More...

Inheritance diagram for GEKO< BasicTurbulenceModel >:
Collaboration diagram for GEKO< BasicTurbulenceModel >:

Public Types

typedef BasicTurbulenceModel::alphaField alphaField
 
typedef BasicTurbulenceModel::rhoField rhoField
 
typedef BasicTurbulenceModel::transportModel transportModel
 
- Public Types inherited from eddyViscosity< RASModel< BasicTurbulenceModel > >
typedef RASModel< BasicTurbulenceModel > ::alphaField alphaField
 
typedef RASModel< BasicTurbulenceModel > ::rhoField rhoField
 
typedef RASModel< BasicTurbulenceModel > ::transportModel transportModel
 
- Public Types inherited from linearViscousStress< RASModel< BasicTurbulenceModel > >
typedef RASModel< BasicTurbulenceModel > ::alphaField alphaField
 
typedef RASModel< BasicTurbulenceModel > ::rhoField rhoField
 
typedef RASModel< BasicTurbulenceModel > ::transportModel transportModel
 
- Public Types inherited from RASModel< BasicTurbulenceModel >
typedef BasicTurbulenceModel::alphaField alphaField
 
typedef BasicTurbulenceModel::rhoField rhoField
 
typedef BasicTurbulenceModel::transportModel transportModel
 

Public Member Functions

 TypeName ("GEKO")
 Runtime type information. More...
 
 GEKO (const GEKO &)=delete
 No copy construct. More...
 
void operator= (const GEKO &)=delete
 No copy assignment. More...
 
 GEKO (const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName=turbulenceModel::propertiesName, const word &type=typeName)
 Construct from components. More...
 
virtual ~GEKO ()=default
 Destructor. More...
 
virtual tmp< volScalarFieldk () const
 Return the turbulence kinetic energy field [m^2/s^2]. More...
 
virtual tmp< volScalarFieldomega () const
 Return the specific dissipation rate field [1/s]. More...
 
virtual tmp< volSymmTensorFieldR () const
 Return the Reynolds stress tensor; optional dilatation corr term. More...
 
tmp< volScalarFieldDkEff (const volScalarField &sigmaK) const
 Return the effective diffusivity for k. More...
 
tmp< volScalarFieldDomegaEff (const volScalarField &sigmaOmega) const
 Return the effective diffusivity for omega. More...
 
virtual void correct ()
 Solve the turbulence equations and correct the turbulence viscosity. More...
 
virtual bool read ()
 Re-read model coefficients if they have changed. More...
 
- Public Member Functions inherited from eddyViscosity< RASModel< BasicTurbulenceModel > >
 eddyViscosity (const word &modelName, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName)
 Construct from components. More...
 
virtual ~eddyViscosity ()=default
 Destructor. More...
 
virtual tmp< volScalarFieldnut () const
 Return the turbulence viscosity. More...
 
virtual tmp< scalarFieldnut (const label patchi) const
 Return the turbulence viscosity on patch. More...
 
virtual void validate ()
 Validate the turbulence fields after construction. More...
 
- Public Member Functions inherited from linearViscousStress< RASModel< BasicTurbulenceModel > >
 linearViscousStress (const word &modelName, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName)
 Construct from components. More...
 
virtual ~linearViscousStress ()=default
 Destructor. More...
 
virtual tmp< volSymmTensorFielddevRhoReff () const
 Return the effective stress tensor. More...
 
virtual tmp< volSymmTensorFielddevRhoReff (const volVectorField &U) const
 Return the effective stress tensor based on a given velocity field. More...
 
virtual tmp< fvVectorMatrixdivDevRhoReff (volVectorField &U) const
 Return the source term for the momentum equation. More...
 
virtual tmp< fvVectorMatrixdivDevRhoReff (const volScalarField &rho, volVectorField &U) const
 Return the source term for the momentum equation. More...
 
- Public Member Functions inherited from RASModel< BasicTurbulenceModel >
 TypeName ("RAS")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, RASModel, dictionary,(const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName),(alpha, rho, U, alphaRhoPhi, phi, transport, propertiesName))
 
 RASModel (const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName)
 Construct from components. More...
 
virtual ~RASModel ()=default
 Destructor. More...
 
const dimensionedScalarkMin () const noexcept
 Return the lower allowable limit for k (default: SMALL) More...
 
const dimensionedScalarepsilonMin () const noexcept
 Return the lower allowable limit for epsilon (default: SMALL) More...
 
const dimensionedScalaromegaMin () const noexcept
 Return the lower allowable limit for omega (default: SMALL) More...
 
dimensionedScalarkMin () noexcept
 Allow kMin to be changed. More...
 
dimensionedScalarepsilonMin () noexcept
 Allow epsilonMin to be changed. More...
 
dimensionedScalaromegaMin () noexcept
 Allow omegaMin to be changed. More...
 
virtual const dictionarycoeffDict () const
 Const access to the coefficients dictionary. More...
 
virtual tmp< volScalarFieldnuEff () const
 Return the effective viscosity. More...
 
virtual tmp< scalarFieldnuEff (const label patchi) const
 Return the effective viscosity on patch. More...
 
virtual tmp< volScalarFieldepsilon () const
 Return the turbulence kinetic energy dissipation rate. More...
 
- Public Member Functions inherited from RASModelBase
 ClassName ("RASModelBase")
 Runtime type information. More...
 
 RASModelBase () noexcept=default
 Constructor. More...
 
virtual ~RASModelBase ()=default
 Destructor. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from RASModel< BasicTurbulenceModel >
static autoPtr< RASModelNew (const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const transportModel &transport, const word &propertiesName=turbulenceModel::propertiesName)
 Return a reference to the selected RAS model. More...
 
- Protected Member Functions inherited from RASModel< BasicTurbulenceModel >
virtual void printCoeffs (const word &type)
 Print model coefficients. More...
 
 RASModel (const RASModel &)=delete
 No copy construct. More...
 
void operator= (const RASModel &)=delete
 No copy assignment. More...
 
- Protected Attributes inherited from eddyViscosity< RASModel< BasicTurbulenceModel > >
volScalarField nut_
 
- Protected Attributes inherited from RASModel< BasicTurbulenceModel >
dictionary RASDict_
 RAS coefficients dictionary. More...
 
Switch turbulence_
 Turbulence on/off flag. More...
 
Switch printCoeffs_
 Flag to print the model coeffs at run-time. More...
 
dictionary coeffDict_
 Model coefficients dictionary. More...
 
dimensionedScalar kMin_
 Lower limit of k. More...
 
dimensionedScalar epsilonMin_
 Lower limit of epsilon. More...
 
dimensionedScalar omegaMin_
 Lower limit for omega. More...
 

Detailed Description

template<class BasicTurbulenceModel>
class Foam::RASModels::GEKO< BasicTurbulenceModel >

GEKO implements the Menter & Matyushenko (2025) generalized k-omega two-equation turbulence model with the support:

  • Wall-distance-free functionality.
  • Production limiter and Kato-Launder stagnation correction.
  • Dilatation correction in the Reynolds stress tensor.
  • Machine-learning fields to support data-driven turbulence modelling.

Reference:

    Standard model (tag:MM):
        Menter, F. R., & Matyushenko, A. (2025).
        Generalized kāˆ’omega (GEKO) Two-Equation Turbulence Model.
        AIAA Journal, 63(11), 4590-4606.
Usage
Minimal example by using constant/turbulenceProperties - see the declaration content for the meaning of the entries:
RAS
{
    // Mandatory entries
    RASModel        GEKO;

    // Optional entries

    // Model switches
    wallDistanceFree        <bool>;
    productionLimiter       <bool>;
    katoLaunder             <bool>;
    dilatationCorrection    <bool>;
    writeCalibrationFields  <bool>;
    machineLearning         <bool>;

    // Main model coefficients for GEKO model
    Cmu             <scalar>;
    Comega2         <scalar>;
    sigmakTilde     <scalar>;
    sigmaOmegaTilde <scalar>;
    CRealize        <scalar>;

    // Auxiliary model coefficients for GEKO model
    kappa           <scalar>;
    CFbTurb         <scalar>;
    CFbLam          <scalar>;
    Aplus           <scalar>;
    Cc1             <scalar>;
    Cc2             <scalar>;
    CPKlim          <scalar>;

    // GEKO model coefficients
    Csep            <scalar>;
    Cnw             <scalar>;
    Cmix            <scalar>;
    Cjet            <scalar>;

    // Inherited entries
    ...
}

Mandatory input fields:

  Name    | Type            | Description               | Units
  k       | volScalarField  | Turbulent kinetic energy  | m^2/s^2
  omega   | volScalarField  | Specific dissipation rate | 1/s

Optional input fields:

  Name    | Type            | Description               | Units
  CSEP    | volScalarField  | Calibration for flow separation  | -
  CNW     | volScalarField  | Calibration for near-wall flows | -
  CMIX    | volScalarField  | Calibration for free-shear flows | -
  CJET    | volScalarField  | Calibration for jet flows | -

The inherited entries are elaborated in:

Source files

Definition at line 133 of file GEKO.H.

Member Typedef Documentation

◆ alphaField

typedef BasicTurbulenceModel::alphaField alphaField

Definition at line 324 of file GEKO.H.

◆ rhoField

typedef BasicTurbulenceModel::rhoField rhoField

Definition at line 325 of file GEKO.H.

◆ transportModel

typedef BasicTurbulenceModel::transportModel transportModel

Definition at line 326 of file GEKO.H.

Constructor & Destructor Documentation

◆ GEKO() [1/2]

GEKO ( const GEKO< BasicTurbulenceModel > &  )
delete

No copy construct.

◆ GEKO() [2/2]

GEKO ( const alphaField alpha,
const rhoField rho,
const volVectorField U,
const surfaceScalarField alphaRhoPhi,
const surfaceScalarField phi,
const transportModel transport,
const word propertiesName = turbulenceModel::propertiesName,
const word type = typeName 
)

Construct from components.

Definition at line 115 of file GEKO.C.

References Foam::bound(), Foam::dimless, IOobject::groupName(), autoPtr< T >::New(), IOobjectOption::NO_REGISTER, IOobjectOption::NO_WRITE, IOobjectOption::READ_IF_PRESENT, and Foam::type().

Here is the call graph for this function:

◆ ~GEKO()

virtual ~GEKO ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "GEKO< BasicTurbulenceModel >"  )

Runtime type information.

◆ operator=()

void operator= ( const GEKO< BasicTurbulenceModel > &  )
delete

No copy assignment.

◆ k()

virtual tmp<volScalarField> k ( ) const
inlinevirtual

Return the turbulence kinetic energy field [m^2/s^2].

Implements eddyViscosity< RASModel< BasicTurbulenceModel > >.

Definition at line 379 of file GEKO.H.

◆ omega()

virtual tmp<volScalarField> omega ( ) const
inlinevirtual

Return the specific dissipation rate field [1/s].

Reimplemented from RASModel< BasicTurbulenceModel >.

Definition at line 384 of file GEKO.H.

◆ R()

tmp< volSymmTensorField > R ( ) const
virtual

Return the Reynolds stress tensor; optional dilatation corr term.

Reimplemented from eddyViscosity< RASModel< BasicTurbulenceModel > >.

Definition at line 525 of file GEKO.C.

References Foam::devTwoSymm(), Foam::fvc::grad(), IOobject::groupName(), Foam::I, k, GeometricField< symmTensor, fvPatchField, volMesh >::New(), IOobjectOption::NO_REGISTER, and Foam::twoSymm().

Here is the call graph for this function:

◆ DkEff()

tmp<volScalarField> DkEff ( const volScalarField sigmaK) const
inline

Return the effective diffusivity for k.

Definition at line 397 of file GEKO.H.

References tmp< T >::New(), nu, and eddyViscosity< RASModel< BasicTurbulenceModel > >::nut_.

Here is the call graph for this function:

◆ DomegaEff()

tmp<volScalarField> DomegaEff ( const volScalarField sigmaOmega) const
inline

Return the effective diffusivity for omega.

Definition at line 410 of file GEKO.H.

References tmp< T >::New(), nu, and eddyViscosity< RASModel< BasicTurbulenceModel > >::nut_.

Here is the call graph for this function:

◆ correct()

◆ read()

bool read ( )
virtual

Re-read model coefficients if they have changed.

Implements eddyViscosity< RASModel< BasicTurbulenceModel > >.

Definition at line 552 of file GEKO.C.

References Foam::read().

Here is the call graph for this function:

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