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


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< volScalarField > | k () const |
| Return the turbulence kinetic energy field [m^2/s^2]. More... | |
| virtual tmp< volScalarField > | omega () const |
| Return the specific dissipation rate field [1/s]. More... | |
| virtual tmp< volSymmTensorField > | R () const |
| Return the Reynolds stress tensor; optional dilatation corr term. More... | |
| tmp< volScalarField > | DkEff (const volScalarField &sigmaK) const |
| Return the effective diffusivity for k. More... | |
| tmp< volScalarField > | DomegaEff (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< volScalarField > | nut () const |
| Return the turbulence viscosity. More... | |
| virtual tmp< scalarField > | nut (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< volSymmTensorField > | devRhoReff () const |
| Return the effective stress tensor. More... | |
| virtual tmp< volSymmTensorField > | devRhoReff (const volVectorField &U) const |
| Return the effective stress tensor based on a given velocity field. More... | |
| virtual tmp< fvVectorMatrix > | divDevRhoReff (volVectorField &U) const |
| Return the source term for the momentum equation. More... | |
| virtual tmp< fvVectorMatrix > | divDevRhoReff (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 dimensionedScalar & | kMin () const noexcept |
| Return the lower allowable limit for k (default: SMALL) More... | |
| const dimensionedScalar & | epsilonMin () const noexcept |
| Return the lower allowable limit for epsilon (default: SMALL) More... | |
| const dimensionedScalar & | omegaMin () const noexcept |
| Return the lower allowable limit for omega (default: SMALL) More... | |
| dimensionedScalar & | kMin () noexcept |
| Allow kMin to be changed. More... | |
| dimensionedScalar & | epsilonMin () noexcept |
| Allow epsilonMin to be changed. More... | |
| dimensionedScalar & | omegaMin () noexcept |
| Allow omegaMin to be changed. More... | |
| virtual const dictionary & | coeffDict () const |
| Const access to the coefficients dictionary. More... | |
| virtual tmp< volScalarField > | nuEff () const |
| Return the effective viscosity. More... | |
| virtual tmp< scalarField > | nuEff (const label patchi) const |
| Return the effective viscosity on patch. More... | |
| virtual tmp< volScalarField > | epsilon () 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< RASModel > | New (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... | |
GEKO implements the Menter & Matyushenko (2025) generalized k-omega two-equation turbulence model with the support:
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.
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:
| typedef BasicTurbulenceModel::alphaField alphaField |
| typedef BasicTurbulenceModel::transportModel transportModel |
| 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().

|
virtualdefault |
Destructor.
| TypeName | ( | "GEKO< BasicTurbulenceModel >" | ) |
Runtime type information.
|
delete |
No copy assignment.
|
inlinevirtual |
Return the turbulence kinetic energy field [m^2/s^2].
Implements eddyViscosity< RASModel< BasicTurbulenceModel > >.
|
inlinevirtual |
Return the specific dissipation rate field [1/s].
Reimplemented from RASModel< BasicTurbulenceModel >.
|
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().

|
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_.

|
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_.

|
virtual |
Solve the turbulence equations and correct the turbulence viscosity.
Implements eddyViscosity< RASModel< BasicTurbulenceModel > >.
Definition at line 600 of file GEKO.C.
References Foam::constant::atomic::alpha, Foam::bound(), correct, tmp< T >::cref(), Foam::fvm::ddt(), DimensionedField< Type, GeoMesh >::dimensions(), Foam::dimless, Foam::fvm::div(), forAll, fvOptions, Foam::constant::universal::G, Foam::fvc::grad(), Foam::fvm::laplacian(), Foam::magSqr(), Foam::max(), Foam::min(), options::New(), tmp< T >::New(), nu, nut, Foam::pow(), Foam::pow4(), psi, tmp< T >::ref(), rho, Foam::skew(), Foam::solve(), Foam::fvm::Sp(), Foam::sqr(), Foam::sqrt(), Foam::symm(), Foam::tanh(), and U.

|
virtual |
Re-read model coefficients if they have changed.
Implements eddyViscosity< RASModel< BasicTurbulenceModel > >.
Definition at line 552 of file GEKO.C.
References Foam::read().
