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.
Inheritance diagram for refinementIterator:
Collaboration diagram for refinementIterator: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().