polyTopoChange: Removed restrictive faceZone functionality
Now faceZones are handled directly by the applications and the new faceZone::topoChange function so that any face can now be in any number of zones, significantly increasing the flexibility and usefulness of faceZones. This completes the generalisation of cellZone, faceZone and pointZone to support multiple zones for each cell, face or point respectively. Next step will be to make zones polymorphic and run-time selectable so that they can alter during the run and adapt to moving meshes for example.
This commit is contained in:
@ -710,15 +710,6 @@ Foam::autoPtr<Foam::polyTopoChangeMap> Foam::meshRefinement::splitFaces
|
||||
nei = mesh_.faceNeighbour()[facei];
|
||||
}
|
||||
|
||||
const label zonei = mesh_.faceZones().whichZone(facei);
|
||||
bool zoneFlip = false;
|
||||
if (zonei != -1)
|
||||
{
|
||||
const faceZone& fz = mesh_.faceZones()[zonei];
|
||||
zoneFlip = fz.flipMap()[fz.whichFace(facei)];
|
||||
}
|
||||
|
||||
|
||||
if (debug)
|
||||
{
|
||||
Pout<< "face:" << facei << " verts:" << f
|
||||
@ -734,9 +725,7 @@ Foam::autoPtr<Foam::polyTopoChangeMap> Foam::meshRefinement::splitFaces
|
||||
own, // owner
|
||||
nei, // neighbour
|
||||
false, // face flip
|
||||
patchi, // patch for face
|
||||
zonei, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
patchi // patch for face
|
||||
);
|
||||
|
||||
meshMod.addFace
|
||||
@ -746,9 +735,7 @@ Foam::autoPtr<Foam::polyTopoChangeMap> Foam::meshRefinement::splitFaces
|
||||
nei, // neighbour
|
||||
facei, // master face
|
||||
false, // face flip
|
||||
patchi, // patch for face
|
||||
zonei, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
patchi // patch for face
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user