From a9b8f174ce8a136eeb5799aa62fdd2c92916e8ec Mon Sep 17 00:00:00 2001 From: Henry <Henry> Date: Fri, 27 Feb 2015 19:22:53 +0000 Subject: [PATCH] non-linear turbulence models: corrected generation term and tested --- .../RAS/LienCubicKE/LienCubicKE.C | 9 ++----- .../RAS/LienCubicKELowRe/LienCubicKELowRe.C | 10 +------- .../LienLeschzinerLowRe/LienLeschzinerLowRe.C | 25 ++++++------------- 3 files changed, 11 insertions(+), 33 deletions(-) diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C index 30f7de7b591..fcf7d88e980 100644 --- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C +++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKE/LienCubicKE.C @@ -306,15 +306,13 @@ void LienCubicKE::correct() tmp<volTensorField> tgradU = fvc::grad(U_); const volTensorField& gradU = tgradU(); - // generation term - tmp<volScalarField> S2 = symm(gradU) && gradU; - volScalarField G ( GName(), - Cmu_*sqr(k_)/epsilon_*S2 - (nonlinearStress_ && gradU) + (nut_*twoSymm(gradU) - nonlinearStress_) && gradU ); + // Update epsilon and G at the wall epsilon_.boundaryField().updateCoeffs(); @@ -330,15 +328,12 @@ void LienCubicKE::correct() ); epsEqn().relax(); - epsEqn().boundaryManipulate(epsilon_.boundaryField()); - solve(epsEqn); bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation - tmp<fvScalarMatrix> kEqn ( fvm::ddt(k_) diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C index cef1ad5bf31..c9caa1129f9 100644 --- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C +++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienCubicKELowRe/LienCubicKELowRe.C @@ -371,9 +371,6 @@ void LienCubicKELowRe::correct() tmp<volTensorField> tgradU = fvc::grad(U_); const volTensorField& gradU = tgradU(); - // generation term - tmp<volScalarField> S2 = symm(gradU) && gradU; - yStar_ = sqrt(k_)*y_/nu() + SMALL; tmp<volScalarField> Rt = sqr(k_)/(nu()*epsilon_); @@ -385,7 +382,7 @@ void LienCubicKELowRe::correct() volScalarField G ( GName(), - Cmu_*fMu()*sqr(k_)/epsilon_*S2 - (nonlinearStress_ && gradU) + (nut_*twoSymm(gradU) - nonlinearStress_) && gradU ); // Dissipation equation @@ -404,16 +401,11 @@ void LienCubicKELowRe::correct() ); epsEqn().relax(); - - #include "LienCubicKELowReSetWallDissipation.H" - #include "wallDissipationI.H" - solve(epsEqn); bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation - tmp<fvScalarMatrix> kEqn ( fvm::ddt(k_) diff --git a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C index 65880a8a825..31384000265 100644 --- a/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C +++ b/src/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LienLeschzinerLowRe/LienLeschzinerLowRe.C @@ -243,21 +243,15 @@ void LienLeschzinerLowRe::correct() return; } - scalar Cmu75 = pow(Cmu_.value(), 0.75); - - const volTensorField gradU(fvc::grad(U_)); - - // generation term - tmp<volScalarField> S2 = symm(gradU) && gradU; + tmp<volTensorField> tgradU = fvc::grad(U_); + volScalarField G(GName(), nut_*(tgradU() && twoSymm(tgradU()))); + tgradU.clear(); + scalar Cmu75 = pow(Cmu_.value(), 0.75); yStar_ = sqrt(k_)*y_/nu() + SMALL; tmp<volScalarField> Rt = sqr(k_)/(nu()*epsilon_); - const volScalarField f2(scalar(1) - 0.3*exp(-sqr(Rt))); - volScalarField G(GName(), Cmu_*fMu()*sqr(k_)/epsilon_*S2); - - // Dissipation equation tmp<fvScalarMatrix> epsEqn ( @@ -266,24 +260,21 @@ void LienLeschzinerLowRe::correct() - fvm::laplacian(DepsilonEff(), epsilon_) == C1_*G*epsilon_/k_ + // E-term + C2_*f2*Cmu75*sqrt(k_) - /(kappa_*y_*(scalar(1) - exp(-Aepsilon_*yStar_))) - *exp(-Amu_*sqr(yStar_))*epsilon_ + /(kappa_*y_*(scalar(1) - exp(-Aepsilon_*yStar_))) + *exp(-Amu_*sqr(yStar_))*epsilon_ + - fvm::Sp(C2_*f2*epsilon_/k_, epsilon_) ); epsEqn().relax(); - - #include "LienLeschzinerLowReSetWallDissipation.H" - #include "wallDissipationI.H" - solve(epsEqn); bound(epsilon_, epsilonMin_); // Turbulent kinetic energy equation - tmp<fvScalarMatrix> kEqn ( fvm::ddt(k_) -- GitLab