BUG: maxDeltaxyz LES delta - updated calculation. Fixes #200

This commit is contained in:
Andrew Heather 2016-08-01 12:59:24 +01:00
parent 466a2631c7
commit e9edf89a5d

View File

@ -47,26 +47,31 @@ void Foam::LESModels::maxDeltaxyz::calcDelta()
label nD = mesh.nGeometricD(); label nD = mesh.nGeometricD();
const cellList& cells = mesh.cells(); const cellList& cells = mesh.cells();
const vectorField& cellC = mesh.cellCentres();
const vectorField& faceC = mesh.faceCentres();
const vectorField faceN(mesh.faceAreas()/mag(mesh.faceAreas()));
scalarField hmax(cells.size()); scalarField hmax(cells.size());
forAll(cells,cellI) forAll(cells, celli)
{ {
scalar deltaMaxTmp = 0.0; scalar deltaMaxTmp = 0.0;
const labelList& cFaces = mesh.cells()[cellI]; const labelList& cFaces = cells[celli];
const point& centrevector = mesh.cellCentres()[cellI]; const point& cc = cellC[celli];
forAll(cFaces, cFaceI) forAll(cFaces, cFacei)
{ {
label faceI = cFaces[cFaceI]; label facei = cFaces[cFacei];
const point& facevector = mesh.faceCentres()[faceI]; const point& fc = faceC[facei];
scalar tmp = mag(facevector - centrevector); const vector& n = faceN[facei];
scalar tmp = magSqr(n*(n & (fc - cc)));
if (tmp > deltaMaxTmp) if (tmp > deltaMaxTmp)
{ {
deltaMaxTmp = tmp; deltaMaxTmp = tmp;
} }
} }
hmax[cellI] = deltaCoeff_*deltaMaxTmp; hmax[celli] = deltaCoeff_*Foam::sqrt(deltaMaxTmp);
} }
if (nD == 3) if (nD == 3)
@ -76,7 +81,7 @@ void Foam::LESModels::maxDeltaxyz::calcDelta()
else if (nD == 2) else if (nD == 2)
{ {
WarningInFunction WarningInFunction
<< "Case is 2D, LES is not strictly applicable\n" << "Case is 2D, LES is not strictly applicable" << nl
<< endl; << endl;
delta_.internalField() = hmax; delta_.internalField() = hmax;