Creates dual of polyMesh. Every point becomes a cell (or multiple cells for feature points), a walk around every edge creates faces between them. More...
Public Member Functions | |
ClassName ("meshDualiser") | |
Runtime type information. More... | |
meshDualiser (const polyMesh &) | |
Construct from mesh. More... | |
const labelListList & | pointToDualCells () const |
From point on cell to dual cell. Either single entry or. More... | |
const labelList & | pointToDualPoint () const |
From point to dual point (or -1 if not feature point). More... | |
const labelList & | cellToDualPoint () const |
From cell to dual point (at cell centre). All cells become. More... | |
const labelList & | faceToDualPoint () const |
From face to dual point (at face centre; or -1 if not. More... | |
const labelList & | edgeToDualPoint () const |
From edge to dual point (at edge mid; or -1 if not feature. More... | |
void | setRefinement (const bool splitFace, const labelList &featureFaces, const labelList &featureEdges, const labelList &singleCellFeaturePoints, const labelList &multiCellFeaturePoints, polyTopoChange &meshMod) |
Insert all changes into meshMod to convert the polyMesh into. More... | |
Private Member Functions | |
label | findDualCell (const label cellI, const label pointI) const |
Find dual cell given point and cell. More... | |
void | generateDualBoundaryEdges (const PackedBoolList &, const label pointI, polyTopoChange &) |
Helper function to generate dualpoints on all boundary edges. More... | |
bool | sameDualCell (const label faceI, const label pointI) const |
Check that owner and neighbour of face have same dual cell. More... | |
label | addInternalFace (const label masterPointI, const label masterEdgeI, const label masterFaceI, const bool edgeOrder, const label dualCell0, const label dualCell1, const DynamicList< label > &verts, polyTopoChange &meshMod) const |
Add internal face. More... | |
label | addBoundaryFace (const label masterPointI, const label masterEdgeI, const label masterFaceI, const label dualCellI, const label patchI, const DynamicList< label > &verts, polyTopoChange &meshMod) const |
Add boundary face. More... | |
void | createFacesAroundEdge (const bool splitFace, const PackedBoolList &, const label edgeI, const label startFaceI, polyTopoChange &, boolList &doneEFaces) const |
Create internal faces walking around edge. More... | |
void | createFaceFromInternalFace (const label faceI, label &fp, polyTopoChange &) const |
Create single internal face from internal face. More... | |
void | createFacesAroundBoundaryPoint (const label patchI, const label patchPointI, const label startFaceI, polyTopoChange &, boolList &donePFaces) const |
Creates boundary faces walking around point on patchI. More... | |
meshDualiser (const meshDualiser &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const meshDualiser &) |
Disallow default bitwise assignment. More... | |
Static Private Member Functions | |
static void | checkPolyTopoChange (const polyTopoChange &) |
static void | dumpPolyTopoChange (const polyTopoChange &, const fileName &) |
Private Attributes | |
const polyMesh & | mesh_ |
labelListList | pointToDualCells_ |
From point on cell to dual cell. Either single entry or. More... | |
labelList | pointToDualPoint_ |
From point to dual point (or -1 if not feature point). More... | |
labelList | cellToDualPoint_ |
From cell to dual point. All cells become point. More... | |
labelList | faceToDualPoint_ |
From face to dual point (or -1 if not feature face) More... | |
labelList | edgeToDualPoint_ |
From edge to dual point (or -1 if not feature edge) More... | |
Creates dual of polyMesh. Every point becomes a cell (or multiple cells for feature points), a walk around every edge creates faces between them.
Put all points you want in the final mesh into featurePoints; all edge(mid)s you want in the final mesh into featureEdges; all face(centre)s in faceFaces.
Usually to preserve boundaries:
In same way you can also preserve internal faces (e.g. faceZones)
Definition at line 66 of file meshDualiser.H.
|
private |
Disallow default bitwise copy construct.
meshDualiser | ( | const polyMesh & | ) |
Construct from mesh.
|
staticprivate |
|
staticprivate |
Find dual cell given point and cell.
|
private |
Helper function to generate dualpoints on all boundary edges.
emanating from (boundary & feature) point
Check that owner and neighbour of face have same dual cell.
|
private |
Add internal face.
|
private |
Add boundary face.
|
private |
Create internal faces walking around edge.
|
private |
Create single internal face from internal face.
|
private |
Creates boundary faces walking around point on patchI.
|
private |
Disallow default bitwise assignment.
ClassName | ( | "meshDualiser" | ) |
Runtime type information.
|
inline |
From point on cell to dual cell. Either single entry or.
one entry per pointCells.
Definition at line 195 of file meshDualiser.H.
|
inline |
From point to dual point (or -1 if not feature point).
Definition at line 201 of file meshDualiser.H.
References meshDualiser::pointToDualPoint_.
|
inline |
From cell to dual point (at cell centre). All cells become.
points.
Definition at line 208 of file meshDualiser.H.
|
inline |
From face to dual point (at face centre; or -1 if not.
feature face).
Definition at line 215 of file meshDualiser.H.
|
inline |
From edge to dual point (at edge mid; or -1 if not feature.
edge).
Definition at line 222 of file meshDualiser.H.
void setRefinement | ( | const bool | splitFace, |
const labelList & | featureFaces, | ||
const labelList & | featureEdges, | ||
const labelList & | singleCellFeaturePoints, | ||
const labelList & | multiCellFeaturePoints, | ||
polyTopoChange & | meshMod | ||
) |
Insert all changes into meshMod to convert the polyMesh into.
its dual. featureFaces : faces where we want a point at the face centre featureEdges : edges ,, edge mid featurePoints : points ,, point. Two variants: singleCellFeaturePoints : point becomes one dualcell. Use this for e.g. convex boundary points. multiCellFeaturePoints : one dualcell per original cell around point. Use this for e.g. concave boundary points since it prevents big concave boundary cells.
|
private |
Definition at line 70 of file meshDualiser.H.
|
private |
From point on cell to dual cell. Either single entry or.
one entry per pointCells
Definition at line 74 of file meshDualiser.H.
|
private |
From point to dual point (or -1 if not feature point).
Definition at line 77 of file meshDualiser.H.
Referenced by meshDualiser::pointToDualPoint().
|
private |
From cell to dual point. All cells become point.
Definition at line 80 of file meshDualiser.H.
|
private |
From face to dual point (or -1 if not feature face)
Definition at line 83 of file meshDualiser.H.
|
private |
From edge to dual point (or -1 if not feature edge)
Definition at line 86 of file meshDualiser.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.