Utility class to do iterating meshCutter until all requests satisfied. More...
#include <dynamicMesh/refinementIterator.H>
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 65 of file refinementIterator.H.
Public Member Functions | |
ClassName ("refinementIterator") | |
Runtime type information.
| |
refinementIterator (polyMesh &mesh, undoableMeshCutter &meshRefiner, const cellLooper &cellWalker, const bool writeMesh=false) | |
Construct from mesh, refinementEngine and cell walking routine.
| |
~refinementIterator () | |
Map< label > | setRefinement (const List< refineCell > &) |
Try to refine cells in given direction. Constructs intermediate.
|
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 51 of file refinementIterator.C.
~refinementIterator | ( | ) |
Definition at line 68 of file refinementIterator.C.
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 75 of file refinementIterator.C.
References Foam::abort(), HashTable< T, Key, Hash >::begin(), refineCell::cellNo(), cells, polyTopoChange::changeMesh(), refineCell::direction(), Foam::endl(), Foam::FatalError, FatalErrorIn, forAll, mesh, cellCuts::nLoops(), points, Foam::Pout, Foam::reduce(), List< T >::setSize(), List< T >::size(), WarningIn, Ostream::write(), and Foam::meshTools::writeOBJ().