mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
synchronise flipping on coupled boundaries
This commit is contained in:
@ -2411,6 +2411,9 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
|
|||||||
}
|
}
|
||||||
syncTools::swapBoundaryFaceList(mesh_, neiCellZone, false);
|
syncTools::swapBoundaryFaceList(mesh_, neiCellZone, false);
|
||||||
|
|
||||||
|
// Get per face whether is it master (of a coupled set of faces)
|
||||||
|
PackedBoolList isMasterFace(syncTools::getMasterFaces(mesh_));
|
||||||
|
|
||||||
// Set owner as no-flip
|
// Set owner as no-flip
|
||||||
forAll(patches, patchI)
|
forAll(patches, patchI)
|
||||||
{
|
{
|
||||||
@ -2428,14 +2431,27 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
|
|||||||
label neiZone = neiCellZone[faceI-mesh_.nInternalFaces()];
|
label neiZone = neiCellZone[faceI-mesh_.nInternalFaces()];
|
||||||
|
|
||||||
bool flip;
|
bool flip;
|
||||||
if (ownZone == max(ownZone, neiZone))
|
|
||||||
|
label maxZone = max(ownZone, neiZone);
|
||||||
|
|
||||||
|
if (maxZone == -1)
|
||||||
{
|
{
|
||||||
flip = false;
|
flip = false;
|
||||||
}
|
}
|
||||||
else
|
else if (ownZone == neiZone)
|
||||||
|
{
|
||||||
|
// Can only happen for coupled boundaries. Keep master
|
||||||
|
// face unflipped.
|
||||||
|
flip = !isMasterFace[faceI];
|
||||||
|
}
|
||||||
|
else if (neiZone == maxZone)
|
||||||
{
|
{
|
||||||
flip = true;
|
flip = true;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
flip = false;
|
||||||
|
}
|
||||||
|
|
||||||
meshMod.setAction
|
meshMod.setAction
|
||||||
(
|
(
|
||||||
|
|||||||
Reference in New Issue
Block a user