Implementation of cellLooper. This one recognizes splitHexes and tries to make a cut such that if the neighbour was split (in a previous iteration) this one also gets split in the same direction so that the result will be a mesh without splitHexes. More...
Public Member Functions | |
TypeName ("topoCellLooper") | |
topoCellLooper (const polyMesh &mesh) | |
virtual | ~topoCellLooper ()=default |
virtual bool | cut (const vector &refDir, const label celli, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const |
virtual bool | cut (const plane &cutPlane, const label celli, const boolList &vertIsCut, const boolList &edgeIsCut, const scalarField &edgeWeight, labelList &loop, scalarField &loopWeights) const |
![]() | |
TypeName ("hexCellLooper") | |
hexCellLooper (const polyMesh &mesh) | |
virtual | ~hexCellLooper ()=default |
![]() | |
TypeName ("geomCellLooper") | |
geomCellLooper (const polyMesh &mesh) | |
virtual | ~geomCellLooper ()=default |
![]() | |
TypeName ("cellLooper") | |
declareRunTimeSelectionTable (autoPtr, cellLooper, word,(const polyMesh &mesh),(mesh)) | |
cellLooper (const polyMesh &mesh) | |
autoPtr< cellLooper > | clone () const |
virtual | ~cellLooper ()=default |
![]() | |
edgeVertex (const polyMesh &mesh) | |
const polyMesh & | mesh () const |
bool | isEdge (const label eVert) const |
label | getEdge (const label eVert) const |
label | getVertex (const label eVert) const |
label | vertToEVert (const label vertI) const |
label | edgeToEVert (const label edgeI) const |
point | coord (const label cut, const scalar weight) const |
label | cutPairToEdge (const label cut0, const label cut1) const |
Ostream & | writeCut (Ostream &os, const label cut, const scalar) const |
Ostream & | writeCuts (Ostream &os, const labelList &, const scalarField &) const |
Static Public Attributes | |
static const scalar | featureCos = Foam::cos(degToRad(10.0)) |
Additional Inherited Members | |
![]() | |
static scalar | snapTol () |
static void | setSnapTol (const scalar tol) |
![]() | |
static autoPtr< cellLooper > | New (const word &type, const polyMesh &mesh) |
![]() | |
static void | updateLabels (const labelList &map, List< refineCell > &) |
static void | updateLabels (const labelList &map, Map< label > &) |
static void | updateLabels (const labelList &map, labelHashSet &) |
static bool | isEdge (const primitiveMesh &mesh, const label eVert) |
static label | getEdge (const primitiveMesh &mesh, const label eVert) |
static label | getVertex (const primitiveMesh &mesh, const label eVert) |
static label | vertToEVert (const primitiveMesh &mesh, const label vertI) |
static label | edgeToEVert (const primitiveMesh &mesh, const label edgeI) |
static point | coord (const primitiveMesh &, const label cut, const scalar weight) |
static label | cutPairToEdge (const primitiveMesh &, const label cut0, const label cut1) |
![]() | |
labelList | getVertFacesNonEdge (const label celli, const label edgeI, const label vertI) const |
label | getFirstVertEdge (const label facei, const label vertI) const |
labelList | getVertEdgesNonFace (const label celli, const label facei, const label vertI) const |
label | getMisAlignedEdge (const vector &refDir, const label celli) const |
cellLooper (const cellLooper &)=delete | |
void | operator= (const cellLooper &)=delete |
![]() | |
const cellModel & | hex_ |
Implementation of cellLooper. This one recognizes splitHexes and tries to make a cut such that if the neighbour was split (in a previous iteration) this one also gets split in the same direction so that the result will be a mesh without splitHexes.
'splitHexes' are cells of which the 'featureEdges' (see cellFeatures class) form a hex. The remaining non-feature edges are assumed to result from splitting the neighbour and this class tries to start from one of these and cut through to an opposite edge.
The current set of cuts (vertIsCut, edgeIsCut, edgeWeight) are not being used by this implementation.
All non-splitHexes are done by the parent classes.
Definition at line 65 of file topoCellLooper.H.
|
explicit |
Definition at line 658 of file topoCellLooper.C.
|
virtualdefault |
TypeName | ( | "topoCellLooper" | ) |
|
virtual |
Reimplemented from hexCellLooper.
Definition at line 667 of file topoCellLooper.C.
References primitiveMesh::cells(), cellShapes, hexCellLooper::cut(), primitiveMesh::edges(), cellFeatures::faces(), Foam::meshTools::getEdgeFaces(), mesh, hexMatcher::test(), and List::transfer().
|
virtual |
Reimplemented from hexCellLooper.
Definition at line 778 of file topoCellLooper.C.
References hexCellLooper::cut().
Definition at line 159 of file topoCellLooper.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.