Utility class to do iterating meshCutter until all requests satisfied. More...
Public Member Functions | |
ClassName ("refinementIterator") | |
Runtime type information. More... | |
refinementIterator (polyMesh &mesh, undoableMeshCutter &meshRefiner, const cellLooper &cellWalker, const bool writeMesh=false) | |
Construct from mesh, refinementEngine and cell walking routine. More... | |
~refinementIterator () | |
Destructor. More... | |
Map< label > | setRefinement (const List< refineCell > &) |
Try to refine cells in given direction. Constructs intermediate. More... | |
Public Member Functions inherited from edgeVertex | |
edgeVertex (const polyMesh &mesh) | |
Construct from mesh. More... | |
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 |
Write cut description to Ostream. More... | |
Ostream & | writeCuts (Ostream &os, const labelList &, const scalarField &) const |
Write cut descriptions to Ostream. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from edgeVertex | |
static void | updateLabels (const labelList &map, List< refineCell > &) |
Update refine list from map. Used to update cell/face labels. More... | |
static void | updateLabels (const labelList &map, Map< label > &) |
Update map from map. Used to update cell/face labels. More... | |
static void | updateLabels (const labelList &map, labelHashSet &) |
Update map from map. Used to update cell/face labels. More... | |
static bool | isEdge (const primitiveMesh &mesh, const label eVert) |
Is eVert an edge? More... | |
static label | getEdge (const primitiveMesh &mesh, const label eVert) |
Convert eVert to edge label. More... | |
static label | getVertex (const primitiveMesh &mesh, const label eVert) |
Convert eVert to vertex label. More... | |
static label | vertToEVert (const primitiveMesh &mesh, const label vertI) |
Convert pointi to eVert. More... | |
static label | edgeToEVert (const primitiveMesh &mesh, const label edgeI) |
Convert edgeI to eVert. More... | |
static point | coord (const primitiveMesh &, const label cut, const scalar weight) |
Return coordinate of cut (uses weight if edgeCut) More... | |
static label | cutPairToEdge (const primitiveMesh &, const label cut0, const label cut1) |
Find mesh edge (or -1) between two cuts. More... | |
Utility class to do iterating meshCutter until all requests satisfied.
Needed since cell cutting can only cut cell once in one go so if refinement pattern is not compatible on a cell by cell basis it will refuse to cut.
Parallel: communicates. All decisions done on 'reduce'd variable.
Definition at line 64 of file refinementIterator.H.
refinementIterator | ( | polyMesh & | mesh, |
undoableMeshCutter & | meshRefiner, | ||
const cellLooper & | cellWalker, | ||
const bool | writeMesh = false |
||
) |
Construct from mesh, refinementEngine and cell walking routine.
If writeMesh = true increments runTime and writes intermediate meshes.
Definition at line 49 of file refinementIterator.C.
~refinementIterator | ( | ) |
Destructor.
Definition at line 66 of file refinementIterator.C.
References refinementIterator::setRefinement().
ClassName | ( | "refinementIterator" | ) |
Runtime type information.
Foam::Map< Foam::label > setRefinement | ( | const List< refineCell > & | refCells | ) |
Try to refine cells in given direction. Constructs intermediate.
meshes. Returns map from old to added cells.
Definition at line 73 of file refinementIterator.C.
References Foam::abort(), refineCell::cellNo(), cells, polyTopoChange::changeMesh(), refineCell::direction(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, forAllConstIter(), mesh, cellCuts::nLoops(), points, Foam::Pout, Foam::reduce(), Foam::returnReduce(), mapPolyMesh::reverseCellMap(), List< T >::setSize(), List< T >::size(), WarningInFunction, Ostream::write(), and Foam::meshTools::writeOBJ().
Referenced by refinementIterator::~refinementIterator().