diff --git a/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C index a6dbee759f072549ab4483e9cbc3fe9e48114fb1..fc73f457e8134d2cea169a230753710743901121 100644 --- a/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C +++ b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.C @@ -28,7 +28,7 @@ License // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // template<class BasicTurbulenceModel> -void Foam::eddyDiffusivity<BasicTurbulenceModel>::correctAlphat() +void Foam::eddyDiffusivity<BasicTurbulenceModel>::correctNut() { alphat_ = this->rho_*this->nut()/Prt_; alphat_.correctBoundaryConditions(); @@ -135,12 +135,4 @@ bool Foam::eddyDiffusivity<BasicTurbulenceModel>::read() } -template<class BasicTurbulenceModel> -void Foam::eddyDiffusivity<BasicTurbulenceModel>::correct() -{ - BasicTurbulenceModel::correct(); - correctAlphat(); -} - - // ************************************************************************* // diff --git a/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H index 18d5c98281b1fafebc71dbe6d7e232445f65414c..0913da84649c6ecbe0491ca71a77fb9df5b65482 100644 --- a/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H +++ b/src/TurbulenceModels/compressible/eddyDiffusivity/eddyDiffusivity.H @@ -68,7 +68,7 @@ protected: // Protected Member Functions - virtual void correctAlphat(); + virtual void correctNut(); public: @@ -157,9 +157,6 @@ public: { return this->transport_.alphaEff(alphat(patchi), patchi); } - - //- Correct the turbulent thermal diffusivity for enthalpy - virtual void correct(); }; diff --git a/src/TurbulenceModels/incompressible/incompressibleTurbulenceModel.H b/src/TurbulenceModels/incompressible/incompressibleTurbulenceModel.H index b3d25a8fbde002f4a550761596b2ad5a050a501c..251bfd179f15054d12a56024f50959aff55efd64 100644 --- a/src/TurbulenceModels/incompressible/incompressibleTurbulenceModel.H +++ b/src/TurbulenceModels/incompressible/incompressibleTurbulenceModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -61,6 +61,11 @@ protected: geometricOneField rho_; + //- ***HGW Temporary function to be removed when the run-time selectable + // thermal transport layer is complete + virtual void correctNut() + {} + private: diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/Changes b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/Changes deleted file mode 100644 index 51cb377b02b22b3a5e544744e1e0f8efdb9e736c..0000000000000000000000000000000000000000 --- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/kOmega/Changes +++ /dev/null @@ -1,144 +0,0 @@ -turbulenceModelName -> propertiesName -modelName -> type - -* Header -*** Includes - - Remove - #include "RASModel.H" - + Add - #include "turbulentTransportModel.H" - #include "eddyViscosity.H" -*** Base class - - Change - RASModel -> eddyViscosity<RASModel> -*** Protected data - - Remove - volScalarField nut_; -*** Constructor - + Add - const geometricOneField& alpha, - const geometricOneField& rho, - . - const surfaceScalarField& alphaRhoPhi, - -*** Private member functions - + Add - // Protected Member Functions - - virtual void correctNut(); - -*** Member functions - - Remove - //- Return the turbulence viscosity - virtual tmp<volScalarField> nut() const - { - return nut_; - } - - //- Return the Reynolds stress tensor - virtual tmp<volSymmTensorField> R() const; - - //- Return the effective stress tensor including the laminar stress - virtual tmp<volSymmTensorField> devReff() const; - - //- Return the source term for the momentum equation - virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const; - - //- Return the source term for the momentum equation - virtual tmp<fvVectorMatrix> divDevRhoReff - ( - const volScalarField& rho, - volVectorField& U - ) const; - - + Move to top - //- Read RASProperties dictionary - virtual bool read(); - -* Source -*** Includes - + Add - #include "bound.H" - - Remove - #include "backwardsCompatibilityWallFunctions.H" -*** Constructor - + Add arguments - const geometricOneField& alpha, - const geometricOneField& rho, - . - const surfaceScalarField& alphaRhoPhi, - + Replace - RASModel(modelName, U, phi, transport, turbulenceModelName), - with - eddyViscosity<RASModel> - ( - type, - alpha, - rho, - U, - alphaRhoPhi, - phi, - transport, - propertiesName - ), - + Replace - autoCreate.*mesh_) -> mesh_ - NO_READ -> MUST_READ - - Remove - nut_ - ( - IOobject - ( - "nut", - runTime_.timeName(), - mesh_, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - autoCreateNut("nut", mesh_) - ) - + Replace - nut_ = k_/omega_; - nut_.correctBoundaryConditions(); - - printCoeffs(); - - with - - if (type == typeName) - { - correctNut(); - printCoeffs(type); - } -*** Member functions - + Move read to top - + Add after read -void kOmega::correctNut() -{ - .... - nut_.correctBoundaryConditions(); -} - - Remove - //- Return the Reynolds stress tensor - virtual tmp<volSymmTensorField> R() const; - - //- Return the effective stress tensor including the laminar stress - virtual tmp<volSymmTensorField> devReff() const; - - //- Return the source term for the momentum equation - virtual tmp<fvVectorMatrix> divDevReff(volVectorField& U) const; - - //- Return the source term for the momentum equation - virtual tmp<fvVectorMatrix> divDevRhoReff - ( - const volScalarField& rho, - volVectorField& U - ) const; - -*** correct() - - Replace - // Re-calculate viscosity - nut_ = Cmu_*sqr(k_)/epsilon_; - nut_.correctBoundaryConditions(); - with - correctNut(); diff --git a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C index 499bbd4da39f04785b93cb300a7ca3d7a46fdcdf..31526fbf0c1e2752ee5e6e2102ae0a5cd5403f34 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C +++ b/src/TurbulenceModels/turbulenceModels/LES/DeardorffDiffStress/DeardorffDiffStress.C @@ -39,6 +39,8 @@ void DeardorffDiffStress<BasicTurbulenceModel>::correctNut() { this->nut_ = Ck_*sqrt(this->k())*this->delta(); this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C index 6d3696ccc1ec9853a7e9b274a73f4d03324b54f5..c3549fdd8851d9351808a55ec0a45dd752859dd7 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C +++ b/src/TurbulenceModels/turbulenceModels/LES/Smagorinsky/Smagorinsky.C @@ -69,6 +69,8 @@ void Smagorinsky<BasicTurbulenceModel>::correctNut() this->nut_ = Ck_*this->delta()*sqrt(k); this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C index f0a8c60ac10953de4c4139289a5be2919a2c8a66..53e22dd3847db4e6af8499c0a8d49aa7253387ec 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C +++ b/src/TurbulenceModels/turbulenceModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C @@ -170,6 +170,8 @@ void SpalartAllmarasDES<BasicTurbulenceModel>::correctNut { this->nut_ = nuTilda_*fv1; this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C b/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C index 40cf764d975db2d95f22fd800f72d83e16fd9a4a..674c889b1c4c543c94ae4b67d4a08518cdf53a37 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C +++ b/src/TurbulenceModels/turbulenceModels/LES/WALE/WALE.C @@ -89,6 +89,8 @@ void WALE<BasicTurbulenceModel>::correctNut() { this->nut_ = Ck_*this->delta()*sqrt(this->k(fvc::grad(this->U_))); this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C index e73aaae168f7d6713def93c933267d71fd0d652c..38a1a989341312ce7b8e0a61cfc485ab571a07e5 100644 --- a/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C +++ b/src/TurbulenceModels/turbulenceModels/LES/kEqn/kEqn.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -32,6 +32,33 @@ namespace Foam namespace LESModels { +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +template<class BasicTurbulenceModel> +void kEqn<BasicTurbulenceModel>::correctNut() +{ + this->nut_ = Ck_*sqrt(k_)*this->delta(); + this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); +} + + +template<class BasicTurbulenceModel> +tmp<fvScalarMatrix> kEqn<BasicTurbulenceModel>::kSource() const +{ + return tmp<fvScalarMatrix> + ( + new fvScalarMatrix + ( + k_, + dimVolume*this->rho_.dimensions()*k_.dimensions() + /dimTime + ) + ); +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template<class BasicTurbulenceModel> @@ -129,29 +156,6 @@ tmp<volScalarField> kEqn<BasicTurbulenceModel>::epsilon() const } -template<class BasicTurbulenceModel> -void kEqn<BasicTurbulenceModel>::correctNut() -{ - this->nut_ = Ck_*sqrt(k_)*this->delta(); - this->nut_.correctBoundaryConditions(); -} - - -template<class BasicTurbulenceModel> -tmp<fvScalarMatrix> kEqn<BasicTurbulenceModel>::kSource() const -{ - return tmp<fvScalarMatrix> - ( - new fvScalarMatrix - ( - k_, - dimVolume*this->rho_.dimensions()*k_.dimensions() - /dimTime - ) - ); -} - - template<class BasicTurbulenceModel> void kEqn<BasicTurbulenceModel>::correct() { diff --git a/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C b/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C index a51c7c971d7a759eba3a58f2c7f6f61e1249df67..98e11cf880a5f2d87347f37d72f0436b1d23a96c 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/LRR/LRR.C @@ -39,6 +39,8 @@ void LRR<BasicTurbulenceModel>::correctNut() { this->nut_ = this->Cmu_*sqr(k_)/epsilon_; this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C index 61addc591d8178002fd71f0f93bfbbaf44098719..fbd7b71b6e17b378fc5a339276cad309737f0528 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C @@ -56,6 +56,8 @@ void LaunderSharmaKE<BasicTurbulenceModel>::correctNut() { this->nut_ = Cmu_*fMu()*sqr(k_)/epsilon_; this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C index 563d33ebfb9de700eeb6f3d35e196d2998299967..55ba1e000436b2c2cea27350586d363b364d7d9e 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/RNGkEpsilon/RNGkEpsilon.C @@ -40,6 +40,8 @@ void RNGkEpsilon<BasicTurbulenceModel>::correctNut() { this->nut_ = Cmu_*sqr(k_)/epsilon_; this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C index c07e677155f09633d1e4195b03e37c9e5ff73b79..520accaed58f3345a2c5edd2759bfe924175acfb 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C @@ -124,6 +124,8 @@ void SpalartAllmaras<BasicTurbulenceModel>::correctNut { this->nut_ = nuTilda_*fv1; this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C index 1543385ffce815027d6771b3a846b3553c8c1c70..15b538cf93bcca73340736aff5286dba6b05ebe4 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/kEpsilon/kEpsilon.C @@ -40,6 +40,8 @@ void kEpsilon<BasicTurbulenceModel>::correctNut() { this->nut_ = Cmu_*sqr(k_)/epsilon_; this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); } @@ -133,7 +135,7 @@ kEpsilon<BasicTurbulenceModel>::kEpsilon ( "C3", this->coeffDict_, - 0 + -0.33 ) ), sigmak_ @@ -185,8 +187,8 @@ kEpsilon<BasicTurbulenceModel>::kEpsilon if (type == typeName) { - correctNut(); this->printCoeffs(type); + correctNut(); } } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C index 6acfbbe6489d569a8f7aea2c62b389d0de284418..1c3babf681e439b5f6c0f5bb3c96fd2d32b2bfb7 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/kOmegaSST/kOmegaSST.C @@ -106,6 +106,46 @@ tmp<volScalarField> kOmegaSST<BasicTurbulenceModel>::kOmegaSST::F23() const } +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +template<class BasicTurbulenceModel> +void kOmegaSST<BasicTurbulenceModel>::correctNut() +{ + this->nut_ = + a1_*k_/max(a1_*omega_, F23()*sqrt(2.0)*mag(symm(fvc::grad(this->U_)))); + this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); +} + + +template<class BasicTurbulenceModel> +tmp<fvScalarMatrix> kOmegaSST<BasicTurbulenceModel>::kSource() const +{ + return tmp<fvScalarMatrix> + ( + new fvScalarMatrix + ( + k_, + dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime + ) + ); +} + + +template<class BasicTurbulenceModel> +tmp<fvScalarMatrix> kOmegaSST<BasicTurbulenceModel>::omegaSource() const +{ + return tmp<fvScalarMatrix> + ( + new fvScalarMatrix + ( + omega_, + dimVolume*this->rho_.dimensions()*omega_.dimensions()/dimTime + ) + ); +} + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -335,43 +375,6 @@ bool kOmegaSST<BasicTurbulenceModel>::read() } -template<class BasicTurbulenceModel> -void kOmegaSST<BasicTurbulenceModel>::correctNut() -{ - this->nut_ = - a1_*k_/max(a1_*omega_, F23()*sqrt(2.0)*mag(symm(fvc::grad(this->U_)))); - this->nut_.correctBoundaryConditions(); -} - - -template<class BasicTurbulenceModel> -tmp<fvScalarMatrix> kOmegaSST<BasicTurbulenceModel>::kSource() const -{ - return tmp<fvScalarMatrix> - ( - new fvScalarMatrix - ( - k_, - dimVolume*this->rho_.dimensions()*k_.dimensions()/dimTime - ) - ); -} - - -template<class BasicTurbulenceModel> -tmp<fvScalarMatrix> kOmegaSST<BasicTurbulenceModel>::omegaSource() const -{ - return tmp<fvScalarMatrix> - ( - new fvScalarMatrix - ( - omega_, - dimVolume*this->rho_.dimensions()*omega_.dimensions()/dimTime - ) - ); -} - - template<class BasicTurbulenceModel> void kOmegaSST<BasicTurbulenceModel>::correct() { diff --git a/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C b/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C index 397847bbf6330155a8d8d04ced4cdcbab33a32dc..597d21f1ebbddf98e7db23b3d975a6797e3beced 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/realizableKE/realizableKE.C @@ -78,6 +78,8 @@ void realizableKE<BasicTurbulenceModel>::correctNut { this->nut_ = rCmu(gradU, S2, magS)*sqr(k_)/epsilon_; this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); } diff --git a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C index a281ef4fa515d20d7c5827ef03de553ef8726794..6e2ee1b4ed05782315ec33cf33da953a8cd62327 100644 --- a/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C +++ b/src/TurbulenceModels/turbulenceModels/RAS/v2f/v2f.C @@ -25,8 +25,6 @@ License #include "v2f.H" #include "bound.H" -#include "fixedValueFvPatchField.H" -#include "zeroGradientFvPatchField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -58,6 +56,8 @@ void v2f<BasicTurbulenceModel>::correctNut() { this->nut_ = min(CmuKEps_*sqr(k_)/epsilon_, this->Cmu_*v2_*Ts()); this->nut_.correctBoundaryConditions(); + + BasicTurbulenceModel::correctNut(); }