133#ifndef addPatchCellLayer_H
134#define addPatchCellLayer_H
157class addPatchCellLayer
165 const bool addToMesh_;
198 static void addVertex(
const label,
face&, label& fp);
200 bool sameEdgeNeighbour
205 const label thisGlobalFaceI,
206 const label nbrGlobalFaceI,
215 const label patchFaceI,
216 const label globalFaceI
227 const label newPatchID,
228 const label newZoneI,
230 const label inflateFaceI,
232 const label ownFaceI,
233 const label nbrFaceI,
234 const label meshEdgeI,
236 const label numEdgeFaces,
242 static void setFaceProps
252 static void setFaceProps
267 static void markPatchEdges
275 bitSet& isPatchBoundaryEdge
282 static void globalEdgeInfo
284 const bool zoneFromAnyFace,
299 addPatchCellLayer(
const addPatchCellLayer&) =
delete;
302 void operator=(
const addPatchCellLayer&) =
delete;
314 explicit addPatchCellLayer
317 const bool addToMesh=
true,
318 const bool extrude=
true
396 const bool zoneFromAnyFace,
481 overallDisplacement / nLayers,
514 const bitSet& isDupPatchPoint,
uindirectPrimitivePatch pp(UIndirectList< face >(mesh.faces(), faceLabels), mesh.points())
A HashTable to objects of type <T> with a label key.
void setRefinement(const globalIndex &globalFaces, const labelListList &globalEdgeFaces, const label nLayers, const indirectPrimitivePatch &pp, const labelList &sidePatchID, const vectorField &overallDisplacement, polyTopoChange &meshMod)
Add with constant expansion ratio and same nLayers everywhere.
static labelListList addedCells(const polyMesh &, const labelListList &layerFaces)
Helper: get added cells per patch face.
void setRefinement(const globalIndex &globalFaces, const labelListList &globalEdgeFaces, const scalarField &expansionRatio, const indirectPrimitivePatch &pp, const bitSet &flip, const labelList &sidePatchID, const labelList &sideZoneID, const boolList &sideFlip, const labelList &inflateFaceID, const labelList &exposedPatchID, const labelList &nFaceLayers, const labelList &nPointLayers, const vectorField &firstLayerDisp, polyTopoChange &meshMod)
Play commands into polyTopoChange to create layers on top.
const labelListList & layerFaces() const
Layer faces per patch face. See above.
static labelListList globalEdgeFaces(const polyMesh &, const globalIndex &globalFaces, const indirectPrimitivePatch &pp, const bitSet &orientation)
Per patch edge the pp faces (in global indices) using it.
void updateMesh(const mapPolyMesh &, const labelList &faceMap, const labelList &pointMap)
Update any locally stored mesh information. Gets additional.
static void findDuplicatedPoints(const polyMesh &mesh, const indirectPrimitivePatch &pp, const bitSet &ppFlip, const bitSet &isBlockedFace, const bitSet &isDupPatchPoint, const bool extrude, faceList &isDupMeshPoint)
Helper: given patch and points on patch that are extruded.
static void calcExtrudeInfo(const bool zoneFromAnyFace, const polyMesh &, const globalIndex &globalFaces, const labelListList &globalEdgeFaces, const indirectPrimitivePatch &pp, labelList &edgePatchID, label &nPatches, Map< label > &nbrProcToPatch, Map< label > &patchToNbrProc, labelList &edgeZoneID, boolList &edgeFlip, labelList &inflateFaceID)
Determine extrude information per patch edge:
ClassName("addPatchCellLayer")
Runtime type information.
labelListList addedCells() const
Added cells given current mesh & layerfaces.
const labelListList & addedPoints() const
Added points per patch point.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
A face is a list of labels corresponding to mesh vertices.
Calculates a non-overlapping list of offsets based on an input size (eg, number of cells) from differ...
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Mesh consisting of general polyhedral cells.
Direct mesh changes based on v1.3 polyTopoChange syntax.
Cell-face mesh analysis engine.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
const bitSet isBlockedFace(intersectedFaces())
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
Pair< label > labelPair
A pair of labels.
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
List< face > faceList
List of faces.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
PrimitivePatch< IndirectList< face >, const pointField & > indirectPrimitivePatch
A PrimitivePatch with an IndirectList for the faces, const reference for the point field.
Field< vector > vectorField
Specialisation of Field<T> for vector.
List< bool > boolList
A List of bools.
Basic run-time type information using word as the type's name. Used to enhance the standard RTTI to c...