Commit 3bfb8b17 authored by sergio's avatar sergio
Browse files

ENH: Change definition of S and add extra reference

parent 279e66ac
......@@ -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<volTensorField>& 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<volTensorField>& 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<volTensorField>& 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<volTensorField>& 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<volTensorField>& 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
......
......@@ -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).
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment