Public Member Functions | Private Member Functions | Private Attributes
voronoiMeshGenerator Class Reference
Collaboration diagram for voronoiMeshGenerator:
Collaboration graph
[legend]

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 TimerunTime_
 reference to Time More...
 
const triSurfsurfacePtr_
 pointer to the surface More...
 
const triSurfmodSurfacePtr_
 pointer to the modifier surface More...
 
meshOctreeoctreePtr_
 pointer to the octree More...
 
labelListpointRegionsPtr_
 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...
 

Detailed Description

Definition at line 55 of file voronoiMeshGenerator.H.

Constructor & Destructor Documentation

◆ voronoiMeshGenerator() [1/2]

Disallow default bitwise copy construct.

◆ voronoiMeshGenerator() [2/2]

voronoiMeshGenerator ( const Time time)

◆ ~voronoiMeshGenerator()

Member Function Documentation

◆ createVoronoiMesh()

void createVoronoiMesh ( )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ surfacePreparation()

void surfacePreparation ( )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mapMeshToSurface()

void mapMeshToSurface ( )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ extractPatches()

void extractPatches ( )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mapEdgesAndCorners()

void mapEdgesAndCorners ( )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ optimiseMeshSurface()

void optimiseMeshSurface ( )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateBoudaryLayers()

void generateBoudaryLayers ( )
private

◆ optimiseFinalMesh()

void optimiseFinalMesh ( )
private

◆ projectSurfaceAfterBackScaling()

void 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ refBoundaryLayers()

void refBoundaryLayers ( )
private

◆ replaceBoundaries()

void replaceBoundaries ( )
private

replace boundaries

Definition at line 277 of file voronoiMeshGenerator.C.

References voronoiMeshGenerator::mesh_, voronoiMeshGenerator::meshDict_, and polyMeshGen::write().

Referenced by voronoiMeshGenerator::generateMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ renumberMesh()

void renumberMesh ( )
private

renumber the mesh

Definition at line 287 of file voronoiMeshGenerator.C.

References voronoiMeshGenerator::mesh_, polyMeshGenModifier::renumberMesh(), and polyMeshGen::write().

Referenced by voronoiMeshGenerator::generateMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ generateMesh()

void generateMesh ( )
private

◆ operator=()

void operator= ( const voronoiMeshGenerator )
private

Disallow default bitwise assignment.

◆ writeMesh()

void writeMesh ( ) const

write the mesh

Definition at line 446 of file voronoiMeshGenerator.C.

References voronoiMeshGenerator::mesh_, and polyMeshGen::write().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ runTime_

const Time& runTime_
private

reference to Time

Definition at line 59 of file voronoiMeshGenerator.H.

Referenced by voronoiMeshGenerator::voronoiMeshGenerator().

◆ surfacePtr_

const triSurf* surfacePtr_
private

◆ modSurfacePtr_

const triSurf* modSurfacePtr_
private

◆ octreePtr_

meshOctree* octreePtr_
private

◆ pointRegionsPtr_

labelList* pointRegionsPtr_
private

pointer to the list patches for boundary vertices

Definition at line 71 of file voronoiMeshGenerator.H.

Referenced by voronoiMeshGenerator::~voronoiMeshGenerator().

◆ meshDict_

IOdictionary meshDict_
private

◆ mesh_

polyMeshGen mesh_
private

◆ controller_

workflowControls controller_
private

workflow controller

Definition at line 80 of file voronoiMeshGenerator.H.

Referenced by voronoiMeshGenerator::generateMesh().


The documentation for this class was generated from the following files: