From d54b31e2d6ada5713ec15c720a3c44a89e75131e Mon Sep 17 00:00:00 2001 From: sergio <s.ferraris@opencfd.co.uk> Date: Mon, 6 Dec 2010 12:47:14 +0000 Subject: [PATCH] BUG: deltaMax correction and IDDED delta correction --- .../IDDESDelta/IDDESDelta.C | 55 +++++++------------ .../SpalartAllmarasIDDES.C | 19 ++++++- 2 files changed, 39 insertions(+), 35 deletions(-) diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.C b/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.C index 96041938ddd..a7de909e459 100644 --- a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.C +++ b/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/IDDESDelta/IDDESDelta.C @@ -42,47 +42,34 @@ void Foam::IDDESDelta::calcDelta() { label nD = mesh().nGeometricD(); + volScalarField delta + ( + IOobject + ( + "delta", + mesh_.time().timeName(), + mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + mesh_, + dimensionedScalar("zero", dimLength, SMALL), + calculatedFvPatchScalarField::typeName + ); + + delta.internalField() = pow(mesh_.V(), 1.0/3.0); + // initialise hwn as wall distance volScalarField hwn = wallDist(mesh()).y(); - scalar deltamaxTmp = 0.; - - const cellList& cells = mesh().cells(); - - forAll(cells,cellI) - { - scalar deltaminTmp = 1.e10; - const labelList& cFaces = mesh().cells()[cellI]; - const point& centrevector = mesh().cellCentres()[cellI]; - - forAll(cFaces, cFaceI) - { - label faceI = cFaces[cFaceI]; - const point& facevector = mesh().faceCentres()[faceI]; - scalar tmp = mag(facevector - centrevector); - - if (tmp > deltamaxTmp) - { - deltamaxTmp = tmp; - } - if (tmp < deltaminTmp) - { - deltaminTmp = tmp; - } - } - hwn[cellI] = 2.0*deltaminTmp; - } - - dimensionedScalar deltamax("deltamax",dimLength,2.0*deltamaxTmp); - if (nD == 3) { delta_.internalField() = deltaCoeff_ *min ( - max(max(cw_*wallDist(mesh()).y(), cw_*deltamax), hwn), - deltamax + max(max(cw_*wallDist(mesh()).y(), cw_*delta), hwn), + delta ); } else if (nD == 2) @@ -95,8 +82,8 @@ void Foam::IDDESDelta::calcDelta() deltaCoeff_ *min ( - max(max(cw_*wallDist(mesh()).y(), cw_*deltamax), hwn), - deltamax + max(max(cw_*wallDist(mesh()).y(), cw_*delta), hwn), + delta ); } else diff --git a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C b/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C index 08849cd0178..50ea893c03b 100644 --- a/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C +++ b/src/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C @@ -44,9 +44,26 @@ addToRunTimeSelectionTable(LESModel, SpalartAllmarasIDDES, dictionary); tmp<volScalarField> SpalartAllmarasIDDES::alpha() const { + volScalarField delta + ( + IOobject + ( + "delta", + mesh_.time().timeName(), + mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE + ), + mesh_, + dimensionedScalar("zero", dimLength, SMALL), + calculatedFvPatchScalarField::typeName + ); + + delta.internalField() = pow(mesh_.V(), 1.0/3.0); + return max ( - 0.25 - y_/dimensionedScalar("hMax", dimLength, max(cmptMax(delta()))), + 0.25 - y_/delta, scalar(-5) ); } -- GitLab