void Foam::IDDESDelta::calcDelta() { const volScalarField& hmax = hmax_(); // initialise wallNorm wallDistReflection wallNorm(mesh()); const volVectorField& n = wallNorm.n(); tmp<volScalarField> tfaceToFacenMax ( new volScalarField ( IOobject ( "faceToFaceMax", mesh().time().timeName(), mesh(), IOobject::NO_READ, IOobject::NO_WRITE ), mesh(), dimensionedScalar("zrero", dimLength, 0.0) ) ); scalarField& faceToFacenMax = tfaceToFacenMax().internalField(); const cellList& cells = mesh().cells(); const vectorField& faceCentres = mesh().faceCentres(); forAll(cells, cellI) { scalar deltaMaxTmp = 0.0; const labelList& cFaces = cells[cellI]; const vector nCell = n[cellI]; forAll(cFaces, cFaceI) { label faceI = cFaces[cFaceI]; const point& faceCentreI = faceCentres[faceI]; forAll(cFaces, cFaceJ) { label faceJ = cFaces[cFaceJ]; const point& faceCentreJ = faceCentres[faceJ]; scalar tmp = (faceCentreJ - faceCentreI) & nCell; if (tmp > deltaMaxTmp) { deltaMaxTmp = tmp; } }
void Foam::LESModels::IDDESDelta::calcDelta() { const volScalarField& hmax = hmax_; const fvMesh& mesh = turbulenceModel_.mesh(); // Wall-normal vectors const volVectorField& n = wallDist::New(mesh).n(); tmp<volScalarField> tfaceToFacenMax ( new volScalarField ( IOobject ( "faceToFaceMax", mesh.time().timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE ), mesh, dimensionedScalar("zero", dimLength, 0.0) ) ); scalarField& faceToFacenMax = tfaceToFacenMax.ref().primitiveFieldRef(); const cellList& cells = mesh.cells(); const vectorField& faceCentres = mesh.faceCentres(); forAll(cells, celli) { scalar maxDelta = 0.0; const labelList& cFaces = cells[celli]; const vector nci = n[celli]; forAll(cFaces, cFacei) { label facei = cFaces[cFacei]; const point& fci = faceCentres[facei]; forAll(cFaces, cFacej) { label facej = cFaces[cFacej]; const point& fcj = faceCentres[facej]; scalar ndfc = nci & (fcj - fci); if (ndfc > maxDelta) { maxDelta = ndfc; } }