105#ifndef addPatchCellLayer_H
106#define addPatchCellLayer_H
137 const bool addToMesh_;
162 static void addVertex(
const label,
face&, label& fp);
164 bool sameEdgeNeighbour
169 const label thisGlobalFaceI,
170 const label nbrGlobalFaceI,
179 const label patchFaceI,
180 const label globalFaceI
191 const label newPatchID,
192 const label newZoneI,
194 const label inflateFaceI,
196 const label ownFaceI,
197 const label nbrFaceI,
198 const label meshEdgeI,
200 const label numEdgeFaces,
206 static label findProcPatch(
const polyMesh&,
const label nbrProcID);
209 static void setFaceProps
219 static void setFaceProps
234 static void findZoneFace
236 const bool useInternalFaces,
237 const bool useBoundaryFaces,
253 static void markPatchEdges
261 bitSet& isPatchBoundaryEdge
268 static void globalEdgeInfo
270 const bool zoneFromAnyFace,
360 const bool zoneFromAnyFace,
445 overallDisplacement / nLayers,
A HashTable to objects of type <T> with a label key.
A list of faces which address into the list of points.
label nEdges() const
Number of edges in patch.
label nPoints() const
Number of points supporting patch faces.
A List with indirect addressing. Like IndirectList but does not store addressing.
Adds layers of cells to outside of polyPatch. Can optionally create stand-alone extruded mesh (addToM...
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.
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.
void updateMesh(const mapPolyMesh &, const labelList &faceMap, const labelList &pointMap)
Update any locally stored mesh information. Gets additional.
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.
static labelListList globalEdgeFaces(const polyMesh &, const globalIndex &globalFaces, const indirectPrimitivePatch &pp)
Per patch edge the pp faces (in global indices) using it.
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 unique integer (label so might not have enough room - 2G max) for processor + local inde...
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.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
List< label > labelList
A List of labels.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.