diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C index 0f4b7756f66329707c17be75498b413b66c32dd0..ea031c676901170cbaa20139c8f701c2b42c3b4a 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C +++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.C @@ -136,7 +136,6 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correctNut() template<class BasicEddyViscosityModel> Foam::tmp<Foam::volScalarField> kOmegaSSTBase<BasicEddyViscosityModel>::S2 ( - const volScalarField& F1, const volTensorField& gradU ) const { @@ -169,8 +168,7 @@ template<class BasicEddyViscosityModel> tmp<volScalarField::Internal> kOmegaSSTBase<BasicEddyViscosityModel>::GbyNu0 ( const volTensorField& gradU, - const volScalarField& F1, - const volScalarField& S2 + const volScalarField& /* S2 not used */ ) const { return tmp<volScalarField::Internal>::New @@ -521,6 +519,14 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correct() fvc::div(fvc::absolute(this->phi(), U)) ); + tmp<volTensorField> tgradU = fvc::grad(U); + const volScalarField S2(this->S2(tgradU())); + volScalarField::Internal GbyNu0(this->GbyNu0(tgradU(), S2)); + volScalarField::Internal G(this->GName(), nut*GbyNu0); + + // Update omega and G at the wall + omega_.boundaryFieldRef().updateCoeffs(); + const volScalarField CDkOmega ( (2*alphaOmega2_)*(fvc::grad(k_) & fvc::grad(omega_))/omega_ @@ -529,14 +535,6 @@ void kOmegaSSTBase<BasicEddyViscosityModel>::correct() const volScalarField F1(this->F1(CDkOmega)); const volScalarField F23(this->F23()); - tmp<volTensorField> tgradU = fvc::grad(U); - const volScalarField S2(this->S2(F1, tgradU())); - volScalarField::Internal GbyNu0(this->GbyNu0(tgradU(), F1, S2)); - volScalarField::Internal G(this->GName(), nut*GbyNu0); - - // Update omega and G at the wall - omega_.boundaryFieldRef().updateCoeffs(); - { const volScalarField::Internal gamma(this->gamma(F1)); const volScalarField::Internal beta(this->beta(F1)); diff --git a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H index 96b333ea736afd114f5e088f12c40b5a8e6c18a6..05d32cffe551d6cafd8bf678581b65e4fd52ebff 100644 --- a/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H +++ b/src/TurbulenceModels/turbulenceModels/Base/kOmegaSST/kOmegaSSTBase.H @@ -263,7 +263,6 @@ protected: //- Return square of strain rate virtual tmp<volScalarField> S2 ( - const volScalarField& F1, const volTensorField& gradU ) const; @@ -284,7 +283,6 @@ protected: virtual tmp<volScalarField::Internal> GbyNu0 ( const volTensorField& gradU, - const volScalarField& F1, const volScalarField& S2 ) const; diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C index 6645e1728815147ea55b1b1bc035b51a3685090e..333d3f2f098a0a4bfeb6dc0bce7821bdd77e21ce 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.C @@ -53,16 +53,26 @@ tmp<volScalarField> kOmegaSSTDDES<BasicTurbulenceModel>::fd template<class BasicTurbulenceModel> tmp<volScalarField> kOmegaSSTDDES<BasicTurbulenceModel>::S2 ( - const volScalarField& F1, const volTensorField& gradU ) const { tmp<volScalarField> tS2 = - kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::S2(F1, gradU); + kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::S2(gradU); if (this->useSigma_) { volScalarField& S2 = tS2.ref(); + + const volScalarField& k = this->k_; + const volScalarField& omega = this->omega_; + + const volScalarField CDkOmega + ( + (2*this->alphaOmega2_)*(fvc::grad(k) & fvc::grad(omega))/omega + ); + + const volScalarField F1(this->F1(CDkOmega)); + const volScalarField CDES(this->CDES(F1)); const volScalarField Ssigma(this->Ssigma(gradU)); @@ -98,7 +108,6 @@ template<class BasicTurbulenceModel> tmp<volScalarField::Internal> kOmegaSSTDDES<BasicTurbulenceModel>::GbyNu0 ( const volTensorField& gradU, - const volScalarField& F1, const volScalarField& S2 ) const { @@ -108,7 +117,7 @@ tmp<volScalarField::Internal> kOmegaSSTDDES<BasicTurbulenceModel>::GbyNu0 } return - kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::GbyNu0(gradU, F1, S2); + kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::GbyNu0(gradU, S2); } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H index 4b4f41b40e8fa16435f21d8d8669899bbdb8a73e..08943a3651c89726d4b7edc30855ec6356e89e5a 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDDES/kOmegaSSTDDES.H @@ -97,7 +97,6 @@ protected: //- Return square of strain rate virtual tmp<volScalarField> S2 ( - const volScalarField& F1, const volTensorField& gradU ) const; @@ -112,7 +111,6 @@ protected: virtual tmp<volScalarField::Internal> GbyNu0 ( const volTensorField& gradU, - const volScalarField& F1, const volScalarField& S2 ) const; diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C index bf3d8b1f4e8aa0e9df60af87f938b53f19f4e324..7811de5b59dedc77fe3d96b24b3443000fceecca 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.C @@ -77,16 +77,26 @@ tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::r template<class BasicTurbulenceModel> tmp<volScalarField> kOmegaSSTDES<BasicTurbulenceModel>::S2 ( - const volScalarField& F1, const volTensorField& gradU ) const { tmp<volScalarField> tS2 = - kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::S2(F1, gradU); + kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::S2(gradU); if (this->useSigma_) { volScalarField& S2 = tS2.ref(); + + const volScalarField& k = this->k_; + const volScalarField& omega = this->omega_; + + const volScalarField CDkOmega + ( + (2*this->alphaOmega2_)*(fvc::grad(k) & fvc::grad(omega))/omega + ); + + const volScalarField F1(this->F1(CDkOmega)); + const volScalarField CDES(this->CDES(F1)); const volScalarField dTilda(this->dTilda(mag(gradU), CDES)); const volScalarField lengthScaleRAS(this->lengthScaleRAS()); @@ -128,7 +138,6 @@ template<class BasicTurbulenceModel> tmp<volScalarField::Internal> kOmegaSSTDES<BasicTurbulenceModel>::GbyNu0 ( const volTensorField& gradU, - const volScalarField& F1, const volScalarField& S2 ) const { @@ -138,7 +147,7 @@ tmp<volScalarField::Internal> kOmegaSSTDES<BasicTurbulenceModel>::GbyNu0 } return - kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::GbyNu0(gradU, F1, S2); + kOmegaSSTBase<DESModel<BasicTurbulenceModel>>::GbyNu0(gradU, S2); } diff --git a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H index dfdf077c5b9a07260e75616ff6625c7ac7a657bd..e9afbd15091826db72194c6755d28652ac87d1fe 100644 --- a/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H +++ b/src/TurbulenceModels/turbulenceModels/DES/kOmegaSSTDES/kOmegaSSTDES.H @@ -118,7 +118,6 @@ protected: //- Return square of strain rate virtual tmp<volScalarField> S2 ( - const volScalarField& F1, const volTensorField& gradU ) const; @@ -140,7 +139,6 @@ protected: virtual tmp<volScalarField::Internal> GbyNu0 ( const volTensorField& gradU, - const volScalarField& F1, const volScalarField& S2 ) const;