mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: baflfing: use consistent neighbouring cell centre
This commit is contained in:
@ -446,6 +446,7 @@ private:
|
|||||||
// have corresponding faceZone.
|
// have corresponding faceZone.
|
||||||
void findCellZoneGeometric
|
void findCellZoneGeometric
|
||||||
(
|
(
|
||||||
|
const pointField& neiCc,
|
||||||
const labelList& closedNamedSurfaces,
|
const labelList& closedNamedSurfaces,
|
||||||
labelList& namedSurfaceIndex,
|
labelList& namedSurfaceIndex,
|
||||||
const labelList& surfaceToCellZone,
|
const labelList& surfaceToCellZone,
|
||||||
|
|||||||
@ -1150,6 +1150,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::mergeBaffles
|
|||||||
// Finds region per cell for cells inside closed named surfaces
|
// Finds region per cell for cells inside closed named surfaces
|
||||||
void Foam::meshRefinement::findCellZoneGeometric
|
void Foam::meshRefinement::findCellZoneGeometric
|
||||||
(
|
(
|
||||||
|
const pointField& neiCc,
|
||||||
const labelList& closedNamedSurfaces, // indices of closed surfaces
|
const labelList& closedNamedSurfaces, // indices of closed surfaces
|
||||||
labelList& namedSurfaceIndex, // per face index of named surface
|
labelList& namedSurfaceIndex, // per face index of named surface
|
||||||
const labelList& surfaceToCellZone, // cell zone index per surface
|
const labelList& surfaceToCellZone, // cell zone index per surface
|
||||||
@ -1232,7 +1233,9 @@ void Foam::meshRefinement::findCellZoneGeometric
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const point& neiFc = mesh_.faceCentres()[faceI];
|
//const point& neiFc = mesh_.faceCentres()[faceI];
|
||||||
|
const point& neiFc = neiCc[faceI-mesh_.nInternalFaces()];
|
||||||
|
|
||||||
// Perturbed cc
|
// Perturbed cc
|
||||||
const vector d = 1e-4*(neiFc - ownCc);
|
const vector d = 1e-4*(neiFc - ownCc);
|
||||||
candidatePoints[nCandidates++] = ownCc-d;
|
candidatePoints[nCandidates++] = ownCc-d;
|
||||||
@ -2568,6 +2571,12 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
|
|||||||
const polyBoundaryMesh& patches = mesh_.boundaryMesh();
|
const polyBoundaryMesh& patches = mesh_.boundaryMesh();
|
||||||
|
|
||||||
|
|
||||||
|
// Swap neighbouring cell centres and cell level
|
||||||
|
labelList neiLevel(mesh_.nFaces()-mesh_.nInternalFaces());
|
||||||
|
pointField neiCc(mesh_.nFaces()-mesh_.nInternalFaces());
|
||||||
|
calcNeighbourData(neiLevel, neiCc);
|
||||||
|
|
||||||
|
|
||||||
// Mark faces intersecting zoned surfaces
|
// Mark faces intersecting zoned surfaces
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
@ -2579,11 +2588,6 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
|
|||||||
// Statistics: number of faces per faceZone
|
// Statistics: number of faces per faceZone
|
||||||
labelList nSurfFaces(faceZoneNames.size(), 0);
|
labelList nSurfFaces(faceZoneNames.size(), 0);
|
||||||
|
|
||||||
// Swap neighbouring cell centres and cell level
|
|
||||||
labelList neiLevel(mesh_.nFaces()-mesh_.nInternalFaces());
|
|
||||||
pointField neiCc(mesh_.nFaces()-mesh_.nInternalFaces());
|
|
||||||
calcNeighbourData(neiLevel, neiCc);
|
|
||||||
|
|
||||||
// Note: for all internal faces? internal + coupled?
|
// Note: for all internal faces? internal + coupled?
|
||||||
// Since zonify is run after baffling the surfaceIndex_ on baffles is
|
// Since zonify is run after baffling the surfaceIndex_ on baffles is
|
||||||
// not synchronised across both baffle faces. Fortunately we don't
|
// not synchronised across both baffle faces. Fortunately we don't
|
||||||
@ -2748,6 +2752,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
|
|||||||
|
|
||||||
findCellZoneGeometric
|
findCellZoneGeometric
|
||||||
(
|
(
|
||||||
|
neiCc,
|
||||||
closedNamedSurfaces, // indices of closed surfaces
|
closedNamedSurfaces, // indices of closed surfaces
|
||||||
namedSurfaceIndex, // per face index of named surface
|
namedSurfaceIndex, // per face index of named surface
|
||||||
surfaceToCellZone, // cell zone index per surface
|
surfaceToCellZone, // cell zone index per surface
|
||||||
|
|||||||
Reference in New Issue
Block a user