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

Public Member Functions

 tetMeshGenerator (const Time &)
 Construct from time. More...
 
 ~tetMeshGenerator ()
 
void writeMesh () const
 write the mesh More...
 

Private Member Functions

void createTetMesh ()
 create cartesian mesh More...
 
void surfacePreparation ()
 prepare mesh surface More...
 
void mapMeshToSurface ()
 map mesh to the surface and untangle surface More...
 
void extractPatches ()
 capture edges and corners More...
 
void mapEdgesAndCorners ()
 capture edges and corners More...
 
void optimiseMeshSurface ()
 optimise surface mesh More...
 
void generateBoundaryLayers ()
 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 layers More...
 
void replaceBoundaries ()
 replace boundaries More...
 
void renumberMesh ()
 renumber the mesh More...
 
void generateMesh ()
 generate mesh More...
 
 tetMeshGenerator (const tetMeshGenerator &)
 Disallow default bitwise copy construct. More...
 
void operator= (const tetMeshGenerator &)
 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 modified surface mesh More...
 
IOdictionary meshDict_
 IOdictionary containing information about cell sizes, etc.. More...
 
meshOctreeoctreePtr_
 pointer to the octree More...
 
polyMeshGen mesh_
 mesh More...
 
workflowControls controller_
 workflow controller More...
 

Detailed Description

Definition at line 56 of file tetMeshGenerator.H.

Constructor & Destructor Documentation

◆ tetMeshGenerator() [1/2]

tetMeshGenerator ( const tetMeshGenerator )
private

Disallow default bitwise copy construct.

◆ tetMeshGenerator() [2/2]

tetMeshGenerator ( const Time time)

◆ ~tetMeshGenerator()

Definition at line 378 of file tetMeshGenerator.C.

References Foam::deleteDemandDrivenData(), tetMeshGenerator::modSurfacePtr_, tetMeshGenerator::octreePtr_, and tetMeshGenerator::surfacePtr_.

Here is the call graph for this function:

Member Function Documentation

◆ createTetMesh()

void createTetMesh ( )
private

create cartesian mesh

create tet Mesh from octree and Delaunay tets

Definition at line 59 of file tetMeshGenerator.C.

References tetMeshExtractorOctree::createMesh(), tetMeshGenerator::mesh_, tetMeshGenerator::meshDict_, and tetMeshGenerator::octreePtr_.

Referenced by tetMeshGenerator::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 morph the boundary such that there is only one boundary face per cell It also checks topology of cells after morphing is performed

Definition at line 67 of file tetMeshGenerator.C.

References Foam::deleteDemandDrivenData(), tetMeshGenerator::mesh_, and surfaceMorpherCells::morphMesh().

Referenced by tetMeshGenerator::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 81 of file tetMeshGenerator.C.

References Foam::deleteDemandDrivenData(), meshSurfaceMapper::mapVerticesOntoSurface(), tetMeshGenerator::mesh_, tetMeshGenerator::octreePtr_, and meshSurfaceOptimizer::untangleSurface().

Referenced by tetMeshGenerator::generateMesh().

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

◆ extractPatches()

void extractPatches ( )
private

capture edges and corners

Definition at line 95 of file tetMeshGenerator.C.

References Foam::endl(), edgeExtractor::extractEdges(), Foam::Info, tetMeshGenerator::mesh_, tetMeshGenerator::octreePtr_, and edgeExtractor::updateMeshPatches().

Referenced by tetMeshGenerator::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 105 of file tetMeshGenerator.C.

References tetMeshGenerator::mesh_, and tetMeshGenerator::octreePtr_.

Referenced by tetMeshGenerator::generateMesh().

Here is the caller graph for this function:

◆ optimiseMeshSurface()

void optimiseMeshSurface ( )
private

optimise surface mesh

Definition at line 110 of file tetMeshGenerator.C.

References tetMeshGenerator::mesh_, tetMeshGenerator::octreePtr_, and meshSurfaceOptimizer::optimizeSurface().

Referenced by tetMeshGenerator::generateMesh().

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

◆ generateBoundaryLayers()

void generateBoundaryLayers ( )
private

add boundary layers

Definition at line 116 of file tetMeshGenerator.C.

References boundaryLayers::addLayerForAllPatches(), boundaryLayers::addLayerForPatch(), forAll, dictionary::found(), dictionary::lookup(), tetMeshGenerator::mesh_, tetMeshGenerator::meshDict_, Foam::readLabel(), dictionary::subDict(), and dictionary::toc().

Referenced by tetMeshGenerator::generateMesh().

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

◆ 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 180 of file tetMeshGenerator.C.

References meshOctreeCreator::createOctreeWithRefinedBoundary(), Foam::deleteDemandDrivenData(), dictionary::found(), meshSurfaceMapper::mapVerticesOntoSurface(), tetMeshGenerator::mesh_, tetMeshGenerator::meshDict_, tetMeshGenerator::octreePtr_, tetMeshGenerator::optimiseFinalMesh(), and tetMeshGenerator::surfacePtr_.

Referenced by tetMeshGenerator::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 225 of file tetMeshGenerator.C.

References tetMeshGenerator::mesh_, and tetMeshGenerator::meshDict_.

Referenced by tetMeshGenerator::generateMesh().

Here is the caller graph for this function:

◆ renumberMesh()

void renumberMesh ( )
private

renumber the mesh

Definition at line 230 of file tetMeshGenerator.C.

References tetMeshGenerator::mesh_, and polyMeshGenModifier::renumberMesh().

Referenced by tetMeshGenerator::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 tetMeshGenerator )
private

Disallow default bitwise assignment.

◆ writeMesh()

void writeMesh ( ) const

write the mesh

Definition at line 387 of file tetMeshGenerator.C.

References tetMeshGenerator::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 60 of file tetMeshGenerator.H.

Referenced by tetMeshGenerator::tetMeshGenerator().

◆ surfacePtr_

const triSurf* surfacePtr_
private

◆ modSurfacePtr_

const triSurf* modSurfacePtr_
private

pointer to the modified surface mesh

Definition at line 66 of file tetMeshGenerator.H.

Referenced by tetMeshGenerator::optimiseFinalMesh(), tetMeshGenerator::tetMeshGenerator(), and tetMeshGenerator::~tetMeshGenerator().

◆ meshDict_

IOdictionary meshDict_
private

◆ octreePtr_

meshOctree* octreePtr_
private

◆ mesh_

polyMeshGen mesh_
private

◆ controller_

workflowControls controller_
private

workflow controller

Definition at line 78 of file tetMeshGenerator.H.

Referenced by tetMeshGenerator::generateMesh().


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