From d5587615be27f971a6852554f7a80080756f3373 Mon Sep 17 00:00:00 2001 From: andy Date: Fri, 11 Dec 2009 17:52:15 +0000 Subject: [PATCH] Update to (in)compressible omegaWallFunction Changed the evaluation of omega to be a function of both omega in the viscous sublayer and omega in the log region --- .../omegaWallFunctionFvPatchScalarField.C | 22 ++++++++++++++++------ .../omegaWallFunctionFvPatchScalarField.H | 21 ++++++++++++++++++++- .../omegaWallFunctionFvPatchScalarField.C | 22 ++++++++++++++++------ .../omegaWallFunctionFvPatchScalarField.H | 21 ++++++++++++++++++++- 4 files changed, 72 insertions(+), 14 deletions(-) diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C index f377694b..8583936b 100644 --- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C @@ -73,7 +73,8 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField mutName_("mut"), Cmu_(0.09), kappa_(0.41), - E_(9.8) + E_(9.8), + beta1_(0.075) { checkType(); } @@ -96,7 +97,8 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField mutName_(ptf.mutName_), Cmu_(ptf.Cmu_), kappa_(ptf.kappa_), - E_(ptf.E_) + E_(ptf.E_), + beta1_(ptf.beta1_) { checkType(); } @@ -118,7 +120,8 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField mutName_(dict.lookupOrDefault("mut", "mut")), Cmu_(dict.lookupOrDefault("Cmu", 0.09)), kappa_(dict.lookupOrDefault("kappa", 0.41)), - E_(dict.lookupOrDefault("E", 9.8)) + E_(dict.lookupOrDefault("E", 9.8)), + beta1_(dict.lookupOrDefault("beta1", 0.075)) { checkType(); } @@ -138,7 +141,8 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField mutName_(owfpsf.mutName_), Cmu_(owfpsf.Cmu_), kappa_(owfpsf.kappa_), - E_(owfpsf.E_) + E_(owfpsf.E_), + beta1_(owfpsf.beta1_) { checkType(); } @@ -159,7 +163,8 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField mutName_(owfpsf.mutName_), Cmu_(owfpsf.Cmu_), kappa_(owfpsf.kappa_), - E_(owfpsf.E_) + E_(owfpsf.E_), + beta1_(owfpsf.beta1_) { checkType(); } @@ -206,7 +211,11 @@ void omegaWallFunctionFvPatchScalarField::updateCoeffs() Cmu25*y[faceI]*sqrt(k[faceCellI]) /(muw[faceI]/rhow[faceI]); - omega[faceCellI] = sqrt(k[faceCellI])/(Cmu25*kappa_*y[faceI]); + scalar omegaVis = 6.0*(muw[faceI]/rhow[faceI])/(beta1_*sqr(y[faceI])); + + scalar omegaLog = sqrt(k[faceCellI])/(Cmu25*kappa_*y[faceI]); + + omega[faceCellI] = sqrt(sqr(omegaVis) + sqr(omegaLog)); if (yPlus > yPlusLam) { @@ -238,6 +247,7 @@ void omegaWallFunctionFvPatchScalarField::write(Ostream& os) const os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl; os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl; os.writeKeyword("E") << E_ << token::END_STATEMENT << nl; + os.writeKeyword("beta1") << beta1_ << token::END_STATEMENT << nl; writeEntry("value", os); } diff --git a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H index 2eb47792..c5c7fbf6 100644 --- a/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H +++ b/src/turbulenceModels/compressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H @@ -26,7 +26,23 @@ Class Foam::compressible::RASModels::omegaWallFunctionFvPatchScalarField Description - Replaces functionality in wallFunctionsI.H + Provides a wall function boundary condition/constraint on omega + + Computed value is: + + omega = sqrt(omega_vis^2 + omega_log^2) + + where + omega_vis = omega in viscous region + omega_log = omega in logarithmic region + + Model described by Eq.(15) of: + @verbatim + Menter, F., Esch, T. + "Elements of Industrial Heat Transfer Prediction" + 16th Brazilian Congress of Mechanical Engineering (COBEM), + Nov. 2001 + @endverbatim SourceFiles omegaWallFunctionFvPatchScalarField.C @@ -84,6 +100,9 @@ class omegaWallFunctionFvPatchScalarField //- E coefficient scalar E_; + //- beta1 coefficient + scalar beta1_; + // Private member functions diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C index 300b0aaf..9eddcb54 100644 --- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C @@ -72,7 +72,8 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField nutName_("nut"), Cmu_(0.09), kappa_(0.41), - E_(9.8) + E_(9.8), + beta1_(0.075) { checkType(); } @@ -94,7 +95,8 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField nutName_(ptf.nutName_), Cmu_(ptf.Cmu_), kappa_(ptf.kappa_), - E_(ptf.E_) + E_(ptf.E_), + beta1_(ptf.beta1_) { checkType(); } @@ -115,7 +117,8 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField nutName_(dict.lookupOrDefault("nut", "nut")), Cmu_(dict.lookupOrDefault("Cmu", 0.09)), kappa_(dict.lookupOrDefault("kappa", 0.41)), - E_(dict.lookupOrDefault("E", 9.8)) + E_(dict.lookupOrDefault("E", 9.8)), + beta1_(dict.lookupOrDefault("beta1", 0.075)) { checkType(); } @@ -134,7 +137,8 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField nutName_(owfpsf.nutName_), Cmu_(owfpsf.Cmu_), kappa_(owfpsf.kappa_), - E_(owfpsf.E_) + E_(owfpsf.E_), + beta1_(owfpsf.beta1_) { checkType(); } @@ -154,7 +158,8 @@ omegaWallFunctionFvPatchScalarField::omegaWallFunctionFvPatchScalarField nutName_(owfpsf.nutName_), Cmu_(owfpsf.Cmu_), kappa_(owfpsf.kappa_), - E_(owfpsf.E_) + E_(owfpsf.E_), + beta1_(owfpsf.beta1_) { checkType(); } @@ -196,7 +201,11 @@ void omegaWallFunctionFvPatchScalarField::updateCoeffs() scalar yPlus = Cmu25*y[faceI]*sqrt(k[faceCellI])/nuw[faceI]; - omega[faceCellI] = sqrt(k[faceCellI])/(Cmu25*kappa_*y[faceI]); + scalar omegaVis = 6.0*nuw[faceI]/(beta1_*sqr(y[faceI])); + + scalar omegaLog = sqrt(k[faceCellI])/(Cmu25*kappa_*y[faceI]); + + omega[faceCellI] = sqrt(sqr(omegaVis) + sqr(omegaLog)); if (yPlus > yPlusLam) { @@ -227,6 +236,7 @@ void omegaWallFunctionFvPatchScalarField::write(Ostream& os) const os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl; os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl; os.writeKeyword("E") << E_ << token::END_STATEMENT << nl; + os.writeKeyword("beta1") << beta1_ << token::END_STATEMENT << nl; writeEntry("value", os); } diff --git a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H index ce9060de..7555b377 100644 --- a/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H +++ b/src/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.H @@ -26,7 +26,23 @@ Class Foam::incompressible::RASModels::omegaWallFunctionFvPatchScalarField Description - Replaces functionality in wallFunctionsI.H + Provides a wall function boundary condition/constraint on omega + + Computed value is: + + omega = sqrt(omega_vis^2 + omega_log^2) + + where + omega_vis = omega in viscous region + omega_log = omega in logarithmic region + + Model described by Eq.(15) of: + @verbatim + Menter, F., Esch, T. + "Elements of Industrial Heat Transfer Prediction" + 16th Brazilian Congress of Mechanical Engineering (COBEM), + Nov. 2001 + @endverbatim SourceFiles omegaWallFunctionFvPatchScalarField.C @@ -81,6 +97,9 @@ class omegaWallFunctionFvPatchScalarField //- E coefficient scalar E_; + //- beta1 coefficient + scalar beta1_; + // Private member functions -- 2.11.4.GIT