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

Public Member Functions

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

Private Member Functions

void createCartesianMesh ()
 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 ()
 map points at feature edges and corners More...
 
void optimiseMeshSurface ()
 optimise surface mesh More...
 
void generateBoundaryLayers ()
 add boundary layers More...
 
void refBoundaryLayers ()
 refine boundary layers More...
 
void optimiseFinalMesh ()
 mesh optimisation More...
 
void projectSurfaceAfterBackScaling ()
 re-project points back on the surface mesh after back-scaling More...
 
void replaceBoundaries ()
 replace boundaries More...
 
void renumberMesh ()
 renumber the mesh More...
 
void generateMesh ()
 generate mesh More...
 
 cartesianMeshGenerator (const cartesianMeshGenerator &)
 Disallow default bitwise copy construct. More...
 
void operator= (const cartesianMeshGenerator &)
 Disallow default bitwise assignment. More...
 

Private Attributes

const Timedb_
 reference to Time More...
 
const triSurfsurfacePtr_
 pointer to the surface More...
 
const triSurfmodSurfacePtr_
 pointer to the modified surface 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 cartesianMeshGenerator.H.

Constructor & Destructor Documentation

◆ cartesianMeshGenerator() [1/2]

Disallow default bitwise copy construct.

◆ cartesianMeshGenerator() [2/2]

cartesianMeshGenerator ( const Time time)

◆ ~cartesianMeshGenerator()

Member Function Documentation

◆ createCartesianMesh()

void createCartesianMesh ( )
private

create cartesian mesh

create polyMesh from octree boxes

Definition at line 62 of file cartesianMeshGenerator.C.

References cartesianMeshExtractor::createMesh(), cartesianMeshExtractor::decomposeSplitHexes(), dictionary::found(), dictionary::lookup(), cartesianMeshGenerator::mesh_, cartesianMeshGenerator::meshDict_, cartesianMeshGenerator::octreePtr_, and Foam::readBool().

Referenced by cartesianMeshGenerator::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 76 of file cartesianMeshGenerator.C.

References checkIrregularSurfaceConnections::checkAndFixIrregularConnections(), checkBoundaryFacesSharingTwoEdges::improveTopology(), and cartesianMeshGenerator::mesh_.

Referenced by cartesianMeshGenerator::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

pre-map mesh surface

map mesh surface on the geometry surface

untangle surface faces

Definition at line 101 of file cartesianMeshGenerator.C.

References meshSurfaceMapper::mapVerticesOntoSurface(), cartesianMeshGenerator::mesh_, cartesianMeshGenerator::octreePtr_, meshSurfaceMapper::preMapVertices(), and meshSurfaceOptimizer::untangleSurface().

Referenced by cartesianMeshGenerator::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 117 of file cartesianMeshGenerator.C.

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

Referenced by cartesianMeshGenerator::generateMesh().

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

◆ mapEdgesAndCorners()

void mapEdgesAndCorners ( )
private

map points at feature edges and corners

Definition at line 127 of file cartesianMeshGenerator.C.

References cartesianMeshGenerator::mesh_, and cartesianMeshGenerator::octreePtr_.

Referenced by cartesianMeshGenerator::generateMesh().

Here is the caller graph for this function:

◆ optimiseMeshSurface()

void optimiseMeshSurface ( )
private

optimise surface mesh

Definition at line 132 of file cartesianMeshGenerator.C.

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

Referenced by cartesianMeshGenerator::generateMesh().

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

◆ generateBoundaryLayers()

void generateBoundaryLayers ( )
private

add boundary layers

add boundary layers

Definition at line 138 of file cartesianMeshGenerator.C.

References boundaryLayers::addLayerForAllPatches(), and cartesianMeshGenerator::mesh_.

Referenced by cartesianMeshGenerator::generateMesh().

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

◆ refBoundaryLayers()

void refBoundaryLayers ( )
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 211 of file cartesianMeshGenerator.C.

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

Referenced by cartesianMeshGenerator::generateMesh().

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

◆ replaceBoundaries()

void replaceBoundaries ( )
private

replace boundaries

Definition at line 237 of file cartesianMeshGenerator.C.

References cartesianMeshGenerator::mesh_, and cartesianMeshGenerator::meshDict_.

Referenced by cartesianMeshGenerator::generateMesh().

Here is the caller graph for this function:

◆ renumberMesh()

void renumberMesh ( )
private

renumber the mesh

Definition at line 242 of file cartesianMeshGenerator.C.

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

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

Disallow default bitwise assignment.

◆ writeMesh()

void writeMesh ( ) const

write the mesh

Definition at line 400 of file cartesianMeshGenerator.C.

References cartesianMeshGenerator::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

◆ db_

const Time& db_
private

reference to Time

Definition at line 60 of file cartesianMeshGenerator.H.

Referenced by cartesianMeshGenerator::cartesianMeshGenerator().

◆ surfacePtr_

const triSurf* surfacePtr_
private

◆ modSurfacePtr_

const triSurf* modSurfacePtr_
private

◆ meshDict_

IOdictionary meshDict_
private

◆ octreePtr_

meshOctree* octreePtr_
private

◆ mesh_

polyMeshGen mesh_
private

◆ controller_

workflowControls controller_
private

workflow controller

Definition at line 78 of file cartesianMeshGenerator.H.

Referenced by cartesianMeshGenerator::generateMesh().


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