BUG: Correction of kOmegaSSTSAS

This commit is contained in:
sergio
2010-11-24 16:13:48 +00:00
parent 3bfb8b172d
commit 61dbfade71

View File

@ -121,10 +121,11 @@ kOmegaSSTSAS::kOmegaSSTSAS
const volVectorField& U, const volVectorField& U,
const surfaceScalarField& phi, const surfaceScalarField& phi,
transportModel& transport, transportModel& transport,
const word& turbulenceModelName,
const word& modelName const word& modelName
) )
: :
LESModel(modelName, U, phi, transport), LESModel(modelName, U, phi, transport, turbulenceModelName),
alphaK1_ alphaK1_
( (
@ -262,8 +263,7 @@ kOmegaSSTSAS::kOmegaSSTSAS
) )
), ),
omega0_("omega0", dimless/dimTime, SMALL), omegaMin_("omegaMin", dimless/dimTime, SMALL),
omegaSmall_("omegaSmall", dimless/dimTime, SMALL),
y_(mesh_), y_(mesh_),
Cmu_ Cmu_
( (
@ -323,6 +323,11 @@ kOmegaSSTSAS::kOmegaSSTSAS
mesh_ mesh_
) )
{ {
omegaMin_.readIfPresent(*this);
bound(k_, kMin_);
bound(omega_, omegaMin_);
updateSubGridScaleFields(magSqr(2.0*symm(fvc::grad(U)))); updateSubGridScaleFields(magSqr(2.0*symm(fvc::grad(U))));
printCoeffs(); printCoeffs();
@ -345,9 +350,8 @@ void kOmegaSSTSAS::correct(const tmp<volTensorField>& gradU)
volVectorField gradK = fvc::grad(k_); volVectorField gradK = fvc::grad(k_);
volVectorField gradOmega = fvc::grad(omega_); volVectorField gradOmega = fvc::grad(omega_);
volScalarField L = sqrt(k_)/(pow(Cmu_, 0.25)*(omega_ + omegaSmall_)); volScalarField L = sqrt(k_)/(pow025(Cmu_)*omega_);
volScalarField CDkOmega = volScalarField CDkOmega = (2.0*alphaOmega2_)*(gradK & gradOmega)/omega_;
(2.0*alphaOmega2_)*(gradK & gradOmega)/(omega_ + omegaSmall_);
volScalarField F1 = this->F1(CDkOmega); volScalarField F1 = this->F1(CDkOmega);
volScalarField G = nuSgs_*0.5*S2; volScalarField G = nuSgs_*0.5*S2;
@ -367,14 +371,12 @@ void kOmegaSSTSAS::correct(const tmp<volTensorField>& gradU)
kEqn.relax(); kEqn.relax();
kEqn.solve(); kEqn.solve();
} }
bound(k_, k0()); bound(k_, kMin_);
volScalarField grad_omega_k = max volScalarField grad_omega_k = max
( (
magSqr(gradOmega)/ magSqr(gradOmega)/sqr(omega_),
sqr(omega_ + omegaSmall_), magSqr(gradK)/sqr(k_)
magSqr(gradK)/
sqr(k_ + k0())
); );
// Turbulent frequency equation // Turbulent frequency equation
@ -396,7 +398,7 @@ void kOmegaSSTSAS::correct(const tmp<volTensorField>& gradU)
+ FSAS_ + FSAS_
*max *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)) zetaTilda2_*kappa_*S2*(L/Lvk2(S2))
- 2.0/alphaPhi_*k_*grad_omega_k - 2.0/alphaPhi_*k_*grad_omega_k
) )
@ -405,7 +407,7 @@ void kOmegaSSTSAS::correct(const tmp<volTensorField>& gradU)
omegaEqn.relax(); omegaEqn.relax();
omegaEqn.solve(); omegaEqn.solve();
} }
bound(omega_, omega0_); bound(omega_, omegaMin_);
updateSubGridScaleFields(S2); updateSubGridScaleFields(S2);
} }
@ -458,6 +460,8 @@ bool kOmegaSSTSAS::read()
zetaTilda2_.readIfPresent(coeffDict()); zetaTilda2_.readIfPresent(coeffDict());
FSAS_.readIfPresent(coeffDict()); FSAS_.readIfPresent(coeffDict());
omegaMin_.readIfPresent(*this);
return true; return true;
} }
else else