Public Member Functions | |
voronoiMeshGenerator (const Time &) | |
Construct from time. More... | |
~voronoiMeshGenerator () | |
Construct from time and desired cell size. More... | |
void | writeMesh () const |
write the mesh More... | |
Private Member Functions | |
void | createVoronoiMesh () |
create voronoi mesh More... | |
void | surfacePreparation () |
prepare mesh surface More... | |
void | mapMeshToSurface () |
map mesh to the surface and untangle surface More... | |
void | extractPatches () |
assign patches to boundary faces More... | |
void | mapEdgesAndCorners () |
capture edges and corners More... | |
void | optimiseMeshSurface () |
optimise surface mesh More... | |
void | generateBoudaryLayers () |
add boundary layers More... | |
void | optimiseFinalMesh () |
mesh optimisation More... | |
void | projectSurfaceAfterBackScaling () |
re-project points back on the surface mesh after back-scaling More... | |
void | refBoundaryLayers () |
refine boundary layer More... | |
void | replaceBoundaries () |
replace boundaries More... | |
void | renumberMesh () |
renumber the mesh More... | |
void | generateMesh () |
generate mesh More... | |
voronoiMeshGenerator (const voronoiMeshGenerator &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const voronoiMeshGenerator &) |
Disallow default bitwise assignment. More... | |
Private Attributes | |
const Time & | runTime_ |
reference to Time More... | |
const triSurf * | surfacePtr_ |
pointer to the surface More... | |
const triSurf * | modSurfacePtr_ |
pointer to the modifier surface More... | |
meshOctree * | octreePtr_ |
pointer to the octree More... | |
labelList * | pointRegionsPtr_ |
pointer to the list patches for boundary vertices More... | |
IOdictionary | meshDict_ |
IOdictionary containing information about cell sizes, etc.. More... | |
polyMeshGen | mesh_ |
mesh More... | |
workflowControls | controller_ |
workflow controller More... | |
Definition at line 55 of file voronoiMeshGenerator.H.
|
private |
Disallow default bitwise copy construct.
voronoiMeshGenerator | ( | const Time & | time | ) |
Construct from time.
save meta data with the mesh (surface mesh + its topology info)
create surface patches based on the feature edges and update the meshDict based on the given data
delete the old surface and assign the new one
Definition at line 364 of file voronoiMeshGenerator.C.
References dictionary::add(), meshOctreeCreator::createOctreeBoxes(), Foam::deleteDemandDrivenData(), triSurfFeatureEdges::featureEdges(), dictionary::found(), voronoiMeshGenerator::generateMesh(), dictionary::lookup(), voronoiMeshGenerator::mesh_, voronoiMeshGenerator::meshDict_, polyMeshGen::metaData(), triSurfaceMetaData::metaData(), surfaceMeshGeometryModification::modifyGeometry(), voronoiMeshGenerator::modSurfacePtr_, voronoiMeshGenerator::octreePtr_, Time::path(), voronoiMeshGenerator::runTime_, LongList< T, Offset >::size(), voronoiMeshGenerator::surfacePtr_, and triSurfacePatchManipulator::surfaceWithPatches().
~voronoiMeshGenerator | ( | ) |
Construct from time and desired cell size.
voronoiMeshGenerator(const Time&, const volScalarField&);
Definition at line 436 of file voronoiMeshGenerator.C.
References Foam::deleteDemandDrivenData(), voronoiMeshGenerator::modSurfacePtr_, voronoiMeshGenerator::octreePtr_, voronoiMeshGenerator::pointRegionsPtr_, and voronoiMeshGenerator::surfacePtr_.
|
private |
create voronoi mesh
create voronoi mesh from octree and Delaunay tets
Definition at line 59 of file voronoiMeshGenerator.C.
References voronoiMeshExtractor::createMesh(), voronoiMeshGenerator::mesh_, voronoiMeshGenerator::meshDict_, voronoiMeshGenerator::octreePtr_, and polyMeshGen::write().
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
prepare mesh surface
removes unnecessary cells and morphs the boundary such that there exists only one boundary face per cell
Definition at line 72 of file voronoiMeshGenerator.C.
References Foam::deleteDemandDrivenData(), voronoiMeshGenerator::mesh_, surfaceMorpherCells::morphMesh(), and polyMeshGen::write().
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
map mesh to the surface and untangle surface
calculate mesh surface
map mesh surface on the geometry surface
untangle surface faces
Definition at line 87 of file voronoiMeshGenerator.C.
References Foam::deleteDemandDrivenData(), Foam::exit(), meshSurfaceMapper::mapVerticesOntoSurface(), voronoiMeshGenerator::mesh_, voronoiMeshGenerator::octreePtr_, meshSurfaceMapper::preMapVertices(), meshSurfaceOptimizer::untangleSurface(), and polyMeshGen::write().
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
assign patches to boundary faces
Definition at line 113 of file voronoiMeshGenerator.C.
References Foam::endl(), edgeExtractor::extractEdges(), Foam::Info, voronoiMeshGenerator::mesh_, voronoiMeshGenerator::octreePtr_, and edgeExtractor::updateMeshPatches().
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
capture edges and corners
Definition at line 123 of file voronoiMeshGenerator.C.
References voronoiMeshGenerator::mesh_, voronoiMeshGenerator::octreePtr_, and polyMeshGen::write().
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
optimise surface mesh
Definition at line 133 of file voronoiMeshGenerator.C.
References voronoiMeshGenerator::mesh_, voronoiMeshGenerator::octreePtr_, meshSurfaceOptimizer::optimizeSurface(), meshSurfaceOptimizer::untangleSurface(), and polyMeshGen::write().
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
add boundary layers
Definition at line 146 of file voronoiMeshGenerator.C.
References boundaryLayers::addLayerForAllPatches(), boundaryLayers::addLayerForPatch(), forAll, dictionary::found(), dictionary::lookup(), voronoiMeshGenerator::mesh_, voronoiMeshGenerator::meshDict_, Foam::readLabel(), dictionary::subDict(), dictionary::toc(), and polyMeshGen::write().
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
mesh optimisation
untangle the surface if needed
final optimisation
revert the mesh into the original space
delete modified surface mesh
Definition at line 199 of file voronoiMeshGenerator.C.
References polyMeshGenCells::clearAddressingData(), Foam::deleteDemandDrivenData(), meshOptimizer::enforceConstraints(), meshSurfaceOptimizer::enforceConstraints(), dictionary::found(), dictionary::lookup(), voronoiMeshGenerator::mesh_, voronoiMeshGenerator::meshDict_, voronoiMeshGenerator::modSurfacePtr_, voronoiMeshGenerator::octreePtr_, meshOptimizer::optimizeBoundaryLayer(), meshOptimizer::optimizeLowQualityFaces(), meshOptimizer::optimizeMeshFV(), meshSurfaceOptimizer::optimizeSurface(), Foam::readBool(), polyMeshGenGeometryModification::revertGeometryModification(), meshOptimizer::untangleMeshFV(), and polyMeshGen::write().
Referenced by voronoiMeshGenerator::generateMesh(), and voronoiMeshGenerator::projectSurfaceAfterBackScaling().
|
private |
re-project points back on the surface mesh after back-scaling
calculate mesh surface
pre-map mesh surface
map mesh surface on the geometry surface
Definition at line 251 of file voronoiMeshGenerator.C.
References meshOctreeCreator::createOctreeWithRefinedBoundary(), Foam::deleteDemandDrivenData(), dictionary::found(), meshSurfaceMapper::mapVerticesOntoSurface(), voronoiMeshGenerator::mesh_, voronoiMeshGenerator::meshDict_, voronoiMeshGenerator::octreePtr_, voronoiMeshGenerator::optimiseFinalMesh(), and voronoiMeshGenerator::surfacePtr_.
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
refine boundary layer
Definition at line 180 of file voronoiMeshGenerator.C.
References dictionary::isDict(), meshOptimizer::lockPoints(), voronoiMeshGenerator::mesh_, voronoiMeshGenerator::meshDict_, refineBoundaryLayers::pointsInBndLayer(), refineBoundaryLayers::readSettings(), refineBoundaryLayers::refineLayers(), and meshOptimizer::untangleBoundaryLayer().
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
replace boundaries
Definition at line 277 of file voronoiMeshGenerator.C.
References voronoiMeshGenerator::mesh_, voronoiMeshGenerator::meshDict_, and polyMeshGen::write().
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
renumber the mesh
Definition at line 287 of file voronoiMeshGenerator.C.
References voronoiMeshGenerator::mesh_, polyMeshGenModifier::renumberMesh(), and polyMeshGen::write().
Referenced by voronoiMeshGenerator::generateMesh().
|
private |
generate mesh
Definition at line 297 of file voronoiMeshGenerator.C.
References voronoiMeshGenerator::controller_, voronoiMeshGenerator::createVoronoiMesh(), Foam::endl(), voronoiMeshGenerator::extractPatches(), voronoiMeshGenerator::generateBoudaryLayers(), Foam::Info, voronoiMeshGenerator::mapEdgesAndCorners(), voronoiMeshGenerator::mapMeshToSurface(), voronoiMeshGenerator::optimiseFinalMesh(), voronoiMeshGenerator::optimiseMeshSurface(), voronoiMeshGenerator::projectSurfaceAfterBackScaling(), voronoiMeshGenerator::refBoundaryLayers(), voronoiMeshGenerator::renumberMesh(), voronoiMeshGenerator::replaceBoundaries(), workflowControls::runCurrentStep(), voronoiMeshGenerator::surfacePreparation(), and WarningIn.
Referenced by voronoiMeshGenerator::voronoiMeshGenerator().
|
private |
Disallow default bitwise assignment.
void writeMesh | ( | ) | const |
write the mesh
Definition at line 446 of file voronoiMeshGenerator.C.
References voronoiMeshGenerator::mesh_, and polyMeshGen::write().
Referenced by main().
|
private |
reference to Time
Definition at line 59 of file voronoiMeshGenerator.H.
Referenced by voronoiMeshGenerator::voronoiMeshGenerator().
|
private |
pointer to the surface
Definition at line 62 of file voronoiMeshGenerator.H.
Referenced by voronoiMeshGenerator::projectSurfaceAfterBackScaling(), voronoiMeshGenerator::voronoiMeshGenerator(), and voronoiMeshGenerator::~voronoiMeshGenerator().
|
private |
pointer to the modifier surface
Definition at line 65 of file voronoiMeshGenerator.H.
Referenced by voronoiMeshGenerator::optimiseFinalMesh(), voronoiMeshGenerator::voronoiMeshGenerator(), and voronoiMeshGenerator::~voronoiMeshGenerator().
|
private |
pointer to the octree
Definition at line 68 of file voronoiMeshGenerator.H.
Referenced by voronoiMeshGenerator::createVoronoiMesh(), voronoiMeshGenerator::extractPatches(), voronoiMeshGenerator::mapEdgesAndCorners(), voronoiMeshGenerator::mapMeshToSurface(), voronoiMeshGenerator::optimiseFinalMesh(), voronoiMeshGenerator::optimiseMeshSurface(), voronoiMeshGenerator::projectSurfaceAfterBackScaling(), voronoiMeshGenerator::voronoiMeshGenerator(), and voronoiMeshGenerator::~voronoiMeshGenerator().
|
private |
pointer to the list patches for boundary vertices
Definition at line 71 of file voronoiMeshGenerator.H.
Referenced by voronoiMeshGenerator::~voronoiMeshGenerator().
|
private |
IOdictionary containing information about cell sizes, etc..
Definition at line 74 of file voronoiMeshGenerator.H.
Referenced by voronoiMeshGenerator::createVoronoiMesh(), voronoiMeshGenerator::generateBoudaryLayers(), voronoiMeshGenerator::optimiseFinalMesh(), voronoiMeshGenerator::projectSurfaceAfterBackScaling(), voronoiMeshGenerator::refBoundaryLayers(), voronoiMeshGenerator::replaceBoundaries(), and voronoiMeshGenerator::voronoiMeshGenerator().
|
private |
mesh
Definition at line 77 of file voronoiMeshGenerator.H.
Referenced by voronoiMeshGenerator::createVoronoiMesh(), voronoiMeshGenerator::extractPatches(), voronoiMeshGenerator::generateBoudaryLayers(), voronoiMeshGenerator::mapEdgesAndCorners(), voronoiMeshGenerator::mapMeshToSurface(), voronoiMeshGenerator::optimiseFinalMesh(), voronoiMeshGenerator::optimiseMeshSurface(), voronoiMeshGenerator::projectSurfaceAfterBackScaling(), voronoiMeshGenerator::refBoundaryLayers(), voronoiMeshGenerator::renumberMesh(), voronoiMeshGenerator::replaceBoundaries(), voronoiMeshGenerator::surfacePreparation(), voronoiMeshGenerator::voronoiMeshGenerator(), and voronoiMeshGenerator::writeMesh().
|
private |
workflow controller
Definition at line 80 of file voronoiMeshGenerator.H.
Referenced by voronoiMeshGenerator::generateMesh().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.