From 3bfb8b172d5e4e8527ff9531de599742113da81a Mon Sep 17 00:00:00 2001 From: sergio Date: Wed, 24 Nov 2010 12:26:18 +0000 Subject: [PATCH 1/4] ENH: Change definition of S and add extra reference --- .../LES/kOmegaSSTSAS/kOmegaSSTSAS.C | 38 +++++++++---------- .../LES/kOmegaSSTSAS/kOmegaSSTSAS.H | 6 ++- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C index 25aaf37ef4..4541bdcabb 100644 --- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C +++ b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C @@ -121,11 +121,10 @@ kOmegaSSTSAS::kOmegaSSTSAS const volVectorField& U, const surfaceScalarField& phi, transportModel& transport, - const word& turbulenceModelName, const word& modelName ) : - LESModel(modelName, U, phi, transport, turbulenceModelName), + LESModel(modelName, U, phi, transport), alphaK1_ ( @@ -263,7 +262,8 @@ kOmegaSSTSAS::kOmegaSSTSAS ) ), - omegaMin_("omegaMin", dimless/dimTime, SMALL), + omega0_("omega0", dimless/dimTime, SMALL), + omegaSmall_("omegaSmall", dimless/dimTime, SMALL), y_(mesh_), Cmu_ ( @@ -323,12 +323,7 @@ kOmegaSSTSAS::kOmegaSSTSAS mesh_ ) { - omegaMin_.readIfPresent(*this); - - bound(k_, kMin_); - bound(omega_, omegaMin_); - - updateSubGridScaleFields(magSqr(symm(fvc::grad(U)))); + updateSubGridScaleFields(magSqr(2.0*symm(fvc::grad(U)))); printCoeffs(); } @@ -345,15 +340,16 @@ void kOmegaSSTSAS::correct(const tmp& gradU) y_.correct(); } - volScalarField S2 = magSqr(symm(gradU())); + volScalarField S2 = magSqr(2.0*symm(gradU())); gradU.clear(); volVectorField gradK = fvc::grad(k_); volVectorField gradOmega = fvc::grad(omega_); - volScalarField L = sqrt(k_)/(pow025(Cmu_)*omega_); - volScalarField CDkOmega = (2.0*alphaOmega2_)*(gradK & gradOmega)/omega_; + volScalarField L = sqrt(k_)/(pow(Cmu_, 0.25)*(omega_ + omegaSmall_)); + volScalarField CDkOmega = + (2.0*alphaOmega2_)*(gradK & gradOmega)/(omega_ + omegaSmall_); volScalarField F1 = this->F1(CDkOmega); - volScalarField G = nuSgs_*2.0*S2; + volScalarField G = nuSgs_*0.5*S2; // Turbulent kinetic energy equation { @@ -371,12 +367,14 @@ void kOmegaSSTSAS::correct(const tmp& gradU) kEqn.relax(); kEqn.solve(); } - bound(k_, kMin_); + bound(k_, k0()); volScalarField grad_omega_k = max ( - magSqr(gradOmega)/sqr(omega_), - magSqr(gradK)/sqr(k_) + magSqr(gradOmega)/ + sqr(omega_ + omegaSmall_), + magSqr(gradK)/ + sqr(k_ + k0()) ); // Turbulent frequency equation @@ -388,7 +386,7 @@ void kOmegaSSTSAS::correct(const tmp& gradU) - fvm::Sp(fvc::div(phi()), omega_) - fvm::laplacian(DomegaEff(F1), omega_) == - gamma(F1)*2.0*S2 + gamma(F1)*0.5*S2 - fvm::Sp(beta(F1)*omega_, omega_) - fvm::SuSp // cross diffusion term ( @@ -398,7 +396,7 @@ void kOmegaSSTSAS::correct(const tmp& gradU) + FSAS_ *max ( - dimensionedScalar("zero",dimensionSet(0, 0, -2, 0, 0), 0.0), + dimensionedScalar("zero",dimensionSet(0, 0 , -2, 0, 0),0. ), zetaTilda2_*kappa_*S2*(L/Lvk2(S2)) - 2.0/alphaPhi_*k_*grad_omega_k ) @@ -407,7 +405,7 @@ void kOmegaSSTSAS::correct(const tmp& gradU) omegaEqn.relax(); omegaEqn.solve(); } - bound(omega_, omegaMin_); + bound(omega_, omega0_); updateSubGridScaleFields(S2); } @@ -460,8 +458,6 @@ bool kOmegaSSTSAS::read() zetaTilda2_.readIfPresent(coeffDict()); FSAS_.readIfPresent(coeffDict()); - omegaMin_.readIfPresent(*this); - return true; } else diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H index 8a27d515a2..444392668b 100644 --- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H +++ b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.H @@ -27,7 +27,11 @@ Class Description kOmegaSSTSAS LES turbulence model for incompressible flows - Reference: + References: + A Scale-Adaptive Simulation Model using Two-Equation Models + AIAA 2005-1095 + F. R. Menter and Y. Egorov + DESider A European Effort on Hybrid RANS-LES Modelling: Results of the European-Union Funded Project, 2004 - 2007 (Notes on Numerical Fluid Mechanics and Multidisciplinary Design). From 218c1c382c61cd541a979e730a0c1f56af6ceaca Mon Sep 17 00:00:00 2001 From: andy Date: Wed, 24 Nov 2010 13:19:02 +0000 Subject: [PATCH 2/4] COMP: removed trailing spaces after backslash to avoid comp warning msgs --- src/edgeMesh/Make/options | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/edgeMesh/Make/options b/src/edgeMesh/Make/options index 4796c18e22..3c1b5258d3 100644 --- a/src/edgeMesh/Make/options +++ b/src/edgeMesh/Make/options @@ -1,9 +1,9 @@ EXE_INC = \ -I$(LIB_SRC)/fileFormats/lnInclude \ - -I$(LIB_SRC)/triSurface/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude + -I$(LIB_SRC)/triSurface/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude LIB_LIBS = \ -ltriSurface \ - -lmeshTools \ + -lmeshTools \ -lfileFormats From 0a5a2430a4a0c789a0ab84773abd476acbf9e7e5 Mon Sep 17 00:00:00 2001 From: andy Date: Wed, 24 Nov 2010 13:22:20 +0000 Subject: [PATCH 3/4] COMP: Re-ordered components of src/Allwmake to avoid build dependency probs --- src/Allwmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Allwmake b/src/Allwmake index 354aee075d..2fd099352d 100755 --- a/src/Allwmake +++ b/src/Allwmake @@ -21,16 +21,16 @@ OSspecific/$WM_OSTYPE/Allwmake wmake libso OpenFOAM wmake libso fileFormats +wmake libso triSurface +wmake libso meshTools wmake libso edgeMesh wmake libso surfMesh -wmake libso triSurface # Decomposition methods needed by dummyThirdParty parallel/decompose/AllwmakeLnInclude # dummyThirdParty (dummy metisDecomp, scotchDecomp etc) needed by e.g. meshTools dummyThirdParty/Allwmake -wmake libso meshTools wmake libso lagrangian/basic wmake libso finiteVolume wmake libso genericPatchFields From 61dbfade71a40869f1cd62d35f267a868c453ffb Mon Sep 17 00:00:00 2001 From: sergio Date: Wed, 24 Nov 2010 16:13:48 +0000 Subject: [PATCH 4/4] BUG: Correction of kOmegaSSTSAS --- .../LES/kOmegaSSTSAS/kOmegaSSTSAS.C | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C index 4541bdcabb..7eb2619cd8 100644 --- a/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C +++ b/src/turbulenceModels/incompressible/LES/kOmegaSSTSAS/kOmegaSSTSAS.C @@ -121,10 +121,11 @@ kOmegaSSTSAS::kOmegaSSTSAS const volVectorField& U, const surfaceScalarField& phi, transportModel& transport, + const word& turbulenceModelName, const word& modelName ) : - LESModel(modelName, U, phi, transport), + LESModel(modelName, U, phi, transport, turbulenceModelName), alphaK1_ ( @@ -262,8 +263,7 @@ kOmegaSSTSAS::kOmegaSSTSAS ) ), - omega0_("omega0", dimless/dimTime, SMALL), - omegaSmall_("omegaSmall", dimless/dimTime, SMALL), + omegaMin_("omegaMin", dimless/dimTime, SMALL), y_(mesh_), Cmu_ ( @@ -323,6 +323,11 @@ kOmegaSSTSAS::kOmegaSSTSAS mesh_ ) { + omegaMin_.readIfPresent(*this); + + bound(k_, kMin_); + bound(omega_, omegaMin_); + updateSubGridScaleFields(magSqr(2.0*symm(fvc::grad(U)))); printCoeffs(); @@ -345,9 +350,8 @@ void kOmegaSSTSAS::correct(const tmp& gradU) volVectorField gradK = fvc::grad(k_); volVectorField gradOmega = fvc::grad(omega_); - volScalarField L = sqrt(k_)/(pow(Cmu_, 0.25)*(omega_ + omegaSmall_)); - volScalarField CDkOmega = - (2.0*alphaOmega2_)*(gradK & gradOmega)/(omega_ + omegaSmall_); + volScalarField L = sqrt(k_)/(pow025(Cmu_)*omega_); + volScalarField CDkOmega = (2.0*alphaOmega2_)*(gradK & gradOmega)/omega_; volScalarField F1 = this->F1(CDkOmega); volScalarField G = nuSgs_*0.5*S2; @@ -367,14 +371,12 @@ void kOmegaSSTSAS::correct(const tmp& gradU) kEqn.relax(); kEqn.solve(); } - bound(k_, k0()); + bound(k_, kMin_); volScalarField grad_omega_k = max ( - magSqr(gradOmega)/ - sqr(omega_ + omegaSmall_), - magSqr(gradK)/ - sqr(k_ + k0()) + magSqr(gradOmega)/sqr(omega_), + magSqr(gradK)/sqr(k_) ); // Turbulent frequency equation @@ -396,7 +398,7 @@ void kOmegaSSTSAS::correct(const tmp& gradU) + FSAS_ *max ( - dimensionedScalar("zero",dimensionSet(0, 0 , -2, 0, 0),0. ), + dimensionedScalar("zero",dimensionSet(0, 0, -2, 0, 0), 0.0), zetaTilda2_*kappa_*S2*(L/Lvk2(S2)) - 2.0/alphaPhi_*k_*grad_omega_k ) @@ -405,7 +407,7 @@ void kOmegaSSTSAS::correct(const tmp& gradU) omegaEqn.relax(); omegaEqn.solve(); } - bound(omega_, omega0_); + bound(omega_, omegaMin_); updateSubGridScaleFields(S2); } @@ -458,6 +460,8 @@ bool kOmegaSSTSAS::read() zetaTilda2_.readIfPresent(coeffDict()); FSAS_.readIfPresent(coeffDict()); + omegaMin_.readIfPresent(*this); + return true; } else