diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C index 26b1a214d57cb189907fede4b3af84791f8070bb..60d3dc3e841f40607dccb0292a8466bf7b7a3bda 100644 --- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C +++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.C @@ -125,6 +125,8 @@ RASModel::RASModel k0_("k0", dimVelocity*dimVelocity, SMALL), epsilon0_("epsilon", k0_.dimensions()/dimTime, SMALL), epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL), + omega0_("omega", dimless/dimTime, SMALL), + omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL), y_(mesh_) {} @@ -204,6 +206,8 @@ bool RASModel::read() k0_.readIfPresent(*this); epsilon0_.readIfPresent(*this); epsilonSmall_.readIfPresent(*this); + omega0_.readIfPresent(*this); + omegaSmall_.readIfPresent(*this); return true; } diff --git a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H index 7f45f88eed42d3fe075e853fd0387bc7192c19e0..7479eb4c553c9667138c29d9c0c5a0656174ee17 100644 --- a/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H +++ b/src/turbulenceModels/compressible/RAS/RASModel/RASModel.H @@ -80,22 +80,47 @@ protected: // Protected data + //- Turbulence on/off flag Switch turbulence_; + + //- Flag to print the model coeffs at run-time Switch printCoeffs_; + + //- Model coefficients dictionary dictionary coeffDict_; - dictionary wallFunctionDict_; - dimensionedScalar kappa_; - dimensionedScalar E_; - dimensionedScalar Cmu_; - dimensionedScalar Prt_; + // Wall function properties + + //- Wall function dictionary + dictionary wallFunctionDict_; + + dimensionedScalar kappa_; + + dimensionedScalar E_; + + dimensionedScalar Cmu_; + dimensionedScalar Prt_; + + //- Value of y+ at the edge of the laminar sublayer scalar yPlusLam_; + //- Lower limit of k dimensionedScalar k0_; + + //- Lower limit of epsilon dimensionedScalar epsilon0_; + + //- Small epsilon value used to avoid divide by zero dimensionedScalar epsilonSmall_; + //- Lower limit for omega + dimensionedScalar omega0_; + + //- Small omega value used to avoid divide by zero + dimensionedScalar omegaSmall_; + + //- Near wall distance boundary field nearWallDist y_; @@ -193,6 +218,19 @@ public: return epsilonSmall_; } + //- Return the value of omega0 which epsilon is not allowed to be + // less than + const dimensionedScalar& omega0() const + { + return omega0_; + } + + //- Return the value of omegaSmall which is added to epsilon when + // calculating nut + const dimensionedScalar& omegaSmall() const + { + return omegaSmall_; + } //- Allow k0 to be changed dimensionedScalar& k0() @@ -212,6 +250,17 @@ public: return epsilonSmall_; } + //- Allow omega0 to be changed + dimensionedScalar& omega0() + { + return omega0_; + } + + //- Allow omegaSmall to be changed + dimensionedScalar& omegaSmall() + { + return omegaSmall_; + } //- Return kappa for use in wall-functions dimensionedScalar kappa() const diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C index ab941a32a4c0154194101e3c333c3ea16950525e..52cfaf2df838c5dd72ed4b5d678d80ccb32be7da 100644 --- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C +++ b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.C @@ -208,19 +208,6 @@ kOmegaSST::kOmegaSST ) ), - omega0_("omega0", dimless/dimTime, SMALL), - omegaSmall_("omegaSmall", dimless/dimTime, SMALL), - - Cmu_ - ( - dimensioned<scalar>::lookupOrAddToDict - ( - "Cmu", - coeffDict_, - 0.09 - ) - ), - y_(mesh_), k_ @@ -350,7 +337,6 @@ bool kOmegaSST::read() betaStar_.readIfPresent(coeffDict_); a1_.readIfPresent(coeffDict_); c1_.readIfPresent(coeffDict_); - Cmu_.readIfPresent(coeffDict_); return true; } diff --git a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H index a9f668b6ad11dbf22f4625bcce29fdb471da8e80..8a948a5f779a00f1ccc07cdb9ed280e31c10a8d5 100644 --- a/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H +++ b/src/turbulenceModels/compressible/RAS/kOmegaSST/kOmegaSST.H @@ -56,7 +56,6 @@ Description @verbatim kOmegaSST { - Cmu 0.09; alphaK1 0.85034; alphaK2 1.0; alphaOmega1 0.5; @@ -96,7 +95,7 @@ namespace RASModels { /*---------------------------------------------------------------------------*\ - Class kOmega Declaration + Class kOmegaSST Declaration \*---------------------------------------------------------------------------*/ class kOmegaSST @@ -105,36 +104,38 @@ class kOmegaSST { // Private data - dimensionedScalar alphaK1_; - dimensionedScalar alphaK2_; + // Model coefficients - dimensionedScalar alphaOmega1_; - dimensionedScalar alphaOmega2_; + dimensionedScalar alphaK1_; + dimensionedScalar alphaK2_; - dimensionedScalar alphah_; + dimensionedScalar alphaOmega1_; + dimensionedScalar alphaOmega2_; - dimensionedScalar gamma1_; - dimensionedScalar gamma2_; + dimensionedScalar alphah_; - dimensionedScalar beta1_; - dimensionedScalar beta2_; + dimensionedScalar gamma1_; + dimensionedScalar gamma2_; - dimensionedScalar betaStar_; + dimensionedScalar beta1_; + dimensionedScalar beta2_; - dimensionedScalar a1_; - dimensionedScalar c1_; + dimensionedScalar betaStar_; - dimensionedScalar omega0_; - dimensionedScalar omegaSmall_; + dimensionedScalar a1_; + dimensionedScalar c1_; - dimensionedScalar Cmu_; + //- Wall distance + // Note: different to wall distance in parent RASModel wallDist y_; - volScalarField k_; - volScalarField omega_; - volScalarField mut_; - volScalarField alphat_; + // Fields + + volScalarField k_; + volScalarField omega_; + volScalarField mut_; + volScalarField alphat_; // Private member functions diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C index b70be3ad4d6025372df4fa22bbb3abc41675a1b8..d06bc6652b6bff30d5b1bc2d08e609d1814e1e01 100644 --- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C +++ b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.C @@ -115,6 +115,8 @@ RASModel::RASModel k0_("k0", dimVelocity*dimVelocity, SMALL), epsilon0_("epsilon", k0_.dimensions()/dimTime, SMALL), epsilonSmall_("epsilonSmall", epsilon0_.dimensions(), SMALL), + omega0_("omega0", dimless/dimTime, SMALL), + omegaSmall_("omegaSmall", omega0_.dimensions(), SMALL), y_(mesh_) {} @@ -250,6 +252,8 @@ bool RASModel::read() k0_.readIfPresent(*this); epsilon0_.readIfPresent(*this); epsilonSmall_.readIfPresent(*this); + omega0_.readIfPresent(*this); + omegaSmall_.readIfPresent(*this); return true; } diff --git a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H index 50127d8c665e22b3f32f4bd22097b590c7c1c65a..963af37dddbbe864f9d60a282394d6b64e6d6218 100644 --- a/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H +++ b/src/turbulenceModels/incompressible/RAS/RASModel/RASModel.H @@ -77,21 +77,45 @@ protected: // Protected data + //- Turbulence on/off flag Switch turbulence_; + + //- Flag to print the model coeffs at run-time Switch printCoeffs_; + + //- Model coefficients dictionary dictionary coeffDict_; - dictionary wallFunctionDict_; - dimensionedScalar kappa_; - dimensionedScalar E_; - dimensionedScalar Cmu_; + // Wall function properties + + //- Wall function dictionary + dictionary wallFunctionDict_; + + dimensionedScalar kappa_; + + dimensionedScalar E_; + + dimensionedScalar Cmu_; + //- Value of y+ at the edge of the laminar sublayer scalar yPlusLam_; + //- Lower limit of k dimensionedScalar k0_; + + //- Lower limit of epsilon dimensionedScalar epsilon0_; + + //- Small epsilon value used to avoid divide by zero dimensionedScalar epsilonSmall_; + //- Lower limit for omega + dimensionedScalar omega0_; + + //- Small omega value used to avoid divide by zero + dimensionedScalar omegaSmall_; + + //- Near wall distance boundary field nearWallDist y_; @@ -183,6 +207,20 @@ public: return epsilonSmall_; } + //- Return the value of omega0 which epsilon is not allowed to be + // less than + const dimensionedScalar& omega0() const + { + return omega0_; + } + + //- Return the value of omegaSmall which is added to epsilon when + // calculating nut + const dimensionedScalar& omegaSmall() const + { + return omegaSmall_; + } + //- Allow k0 to be changed dimensionedScalar& k0() { @@ -201,6 +239,18 @@ public: return epsilonSmall_; } + //- Allow omega0 to be changed + dimensionedScalar& omega0() + { + return omega0_; + } + + //- Allow omegaSmall to be changed + dimensionedScalar& omegaSmall() + { + return omegaSmall_; + } + //- Return kappa for use in wall-functions dimensionedScalar kappa() const { diff --git a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C index ad8d3d14f78240ef386a4db0eb629fdd3a9328fd..a45ff8c33b1594741ab0d0c61fefd967fe5655b1 100644 --- a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C +++ b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.C @@ -101,9 +101,6 @@ kOmega::kOmega ) ), - omega0_("omega0", dimless/dimTime, SMALL), - omegaSmall_("omegaSmall", dimless/dimTime, SMALL), - k_ ( IOobject @@ -271,7 +268,7 @@ void kOmega::correct() // Re-calculate viscosity - nut_ == k_/omega_; + nut_ == k_/(omega_ + omegaSmall_); nut_.correctBoundaryConditions(); } diff --git a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H index d07d8a5fcbbd80bd9cfbe972cfd335920a60dc1b..649a13abe7976735ce54ef074575b54850778192 100644 --- a/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H +++ b/src/turbulenceModels/incompressible/RAS/kOmega/kOmega.H @@ -90,10 +90,6 @@ class kOmega dimensionedScalar alphaOmega_; - dimensionedScalar omega0_; - dimensionedScalar omegaSmall_; - - // Fields volScalarField k_; diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C index a066017a64472ee82e60a1a15a40bc674b7ce46e..6a737fce49fb5b4c1cb41f39818d314fa5ed4ad7 100644 --- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C +++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.C @@ -198,19 +198,6 @@ kOmegaSST::kOmegaSST ) ), - omega0_("omega0", dimless/dimTime, SMALL), - omegaSmall_("omegaSmall", dimless/dimTime, SMALL), - - Cmu_ - ( - dimensioned<scalar>::lookupOrAddToDict - ( - "Cmu", - coeffDict_, - 0.09 - ) - ), - y_(mesh_), k_ @@ -331,7 +318,6 @@ bool kOmegaSST::read() betaStar_.readIfPresent(coeffDict_); a1_.readIfPresent(coeffDict_); c1_.readIfPresent(coeffDict_); - Cmu_.readIfPresent(coeffDict_); return true; } diff --git a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H index 8994b1ab3aa875d4adab233d9a449164086d3470..4563853801218285b5301896e507c52aac456adb 100644 --- a/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H +++ b/src/turbulenceModels/incompressible/RAS/kOmegaSST/kOmegaSST.H @@ -57,7 +57,6 @@ Description @verbatim kOmegaSST { - Cmu 0.09; alphaK1 0.85034; alphaK2 1.0; alphaOmega1 0.5; @@ -103,33 +102,33 @@ class kOmegaSST { // Private data - dimensionedScalar alphaK1_; - dimensionedScalar alphaK2_; + // Model coefficients + dimensionedScalar alphaK1_; + dimensionedScalar alphaK2_; - dimensionedScalar alphaOmega1_; - dimensionedScalar alphaOmega2_; + dimensionedScalar alphaOmega1_; + dimensionedScalar alphaOmega2_; - dimensionedScalar gamma1_; - dimensionedScalar gamma2_; + dimensionedScalar gamma1_; + dimensionedScalar gamma2_; - dimensionedScalar beta1_; - dimensionedScalar beta2_; + dimensionedScalar beta1_; + dimensionedScalar beta2_; - dimensionedScalar betaStar_; + dimensionedScalar betaStar_; - dimensionedScalar a1_; - dimensionedScalar c1_; - - dimensionedScalar omega0_; - dimensionedScalar omegaSmall_; - - dimensionedScalar Cmu_; + dimensionedScalar a1_; + dimensionedScalar c1_; + //- Wall distance field + // Note: different to wall distance in parent RASModel wallDist y_; - volScalarField k_; - volScalarField omega_; - volScalarField nut_; + // Fields + + volScalarField k_; + volScalarField omega_; + volScalarField nut_; // Private member functions