Go to the documentation of this file.
102 #ifndef addPatchCellLayer_H
103 #define addPatchCellLayer_H
108 #include "indirectPrimitivePatch.H"
117 class polyTopoChange;
200 const label thisGlobalFaceI,
201 const label nbrGlobalFaceI,
210 const label patchFaceI,
211 const label globalFaceI
222 const label newPatchID,
223 const label newZoneI,
225 const label inflateFaceI,
227 const label ownFaceI,
228 const label nbrFaceI,
229 const label meshEdgeI,
231 const label numEdgeFaces,
267 const bool useInternalFaces,
268 const bool useBoundaryFaces,
359 const bool zoneFromAnyFace,
442 overallDisplacement / nLayers,
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
List< label > labelList
A List of labels.
#define forAll(list, i)
Loop across all elements in list.
label findIndex(const ListType &, typename ListType::const_reference, const label start=0)
Find first occurence of given element and return index,.
static labelListList globalEdgeFaces(const polyMesh &, const globalIndex &globalFaces, const indirectPrimitivePatch &pp)
Per patch edge the pp faces (in global indices) using it. Uses.
static label findProcPatch(const polyMesh &, const label nbrProcID)
Find patch to neighbouring processor.
label nEdges() const
Return number of edges in patch.
static void findZoneFace(const bool useInternalFaces, const bool useBoundaryFaces, const polyMesh &mesh, const indirectPrimitivePatch &pp, const label ppEdgeI, const UIndirectList< label > &excludeFaces, const labelList &meshFaces, label &inflateFaceI, label &patchI, label &zoneI, bool &zoneFlip)
Find internal or boundary face to get extrude properties.
Direct mesh changes based on v1.3 polyTopoChange syntax.
label addSideFace(const indirectPrimitivePatch &, const labelListList &addedCells, const face &newFace, const label newPatchID, const label newZoneI, const bool newFlip, const label inflateFaceI, const label ownFaceI, const label nbrFaceI, const label meshEdgeI, const label layerI, const label numEdgeFaces, const labelList &meshFaces, polyTopoChange &) const
Add face between layer-1 and layer.
labelListList layerFaces_
For all patchfaces: list of layer faces.
const labelListList & addedPoints() const
Added points per patch point.
Mesh consisting of general polyhedral cells.
static void setFaceProps(const polyMesh &, const label, label &, label &, bool &)
Extract properties from mesh face.
const bool addToMesh_
Add layers to existing mesh or create new mesh.
addPatchCellLayer(const addPatchCellLayer &)
Disallow default bitwise copy construct.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
labelPair getEdgeString(const indirectPrimitivePatch &pp, const labelListList &globalEdgeFaces, const boolList &doneEdge, const label patchFaceI, const label globalFaceI) const
static void addVertex(const label, face &, label &fp)
Add vertex to face if unique.
label nPoints() const
Return number of points supporting patch faces.
Adds layers of cells to outside of polyPatch. Can optionally create stand-alone extruded mesh (addToM...
ClassName("addPatchCellLayer")
Runtime type information.
void operator()(labelList &x, const labelList &y) const
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
static label nbrFace(const labelListList &edgeFaces, const label edgeI, const label faceI)
Get the face on the other side of the edge.
void updateMesh(const mapPolyMesh &, const labelList &faceMap, const labelList &pointMap)
Update any locally stored mesh information. Gets additional.
const labelListList & layerFaces() const
Layer faces per patch face. See above.
labelListList addedPoints_
For all patchpoints: list of added points (size 0 or nLayers)
An ordered pair of two objects of type <T> with first() and second() elements.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
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:
bool sameEdgeNeighbour(const indirectPrimitivePatch &pp, const labelListList &globalEdgeFaces, const boolList &doneEdge, const label thisGlobalFaceI, const label nbrGlobalFaceI, const label edgeI) const
void operator=(const addPatchCellLayer &)
Disallow default bitwise assignment.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
A List with indirect addressing.
A face is a list of labels corresponding to mesh vertices.
const polyMesh & mesh_
Reference to mesh.
A list of faces which address into the list of points.
void setRefinement(const globalIndex &globalFaces, const labelListList &globalEdgeFaces, const scalarField &expansionRatio, const indirectPrimitivePatch &pp, 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.
labelListList addedCells() const
Added cells given current mesh & layerfaces.