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 Time & | runTime_ |
reference to Time More... | |
const triSurf * | surfacePtr_ |
pointer to the surface More... | |
const triSurf * | modSurfacePtr_ |
pointer to the modified surface mesh More... | |
IOdictionary | meshDict_ |
IOdictionary containing information about cell sizes, etc.. More... | |
meshOctree * | octreePtr_ |
pointer to the octree More... | |
polyMeshGen | mesh_ |
mesh More... | |
workflowControls | controller_ |
workflow controller More... | |
Definition at line 56 of file tetMeshGenerator.H.
|
private |
Disallow default bitwise copy construct.
tetMeshGenerator | ( | 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 305 of file tetMeshGenerator.C.
References dictionary::add(), meshOctreeCreator::createOctreeBoxes(), Foam::deleteDemandDrivenData(), triSurfFeatureEdges::featureEdges(), dictionary::found(), tetMeshGenerator::generateMesh(), dictionary::lookup(), tetMeshGenerator::mesh_, tetMeshGenerator::meshDict_, polyMeshGen::metaData(), triSurfaceMetaData::metaData(), surfaceMeshGeometryModification::modifyGeometry(), tetMeshGenerator::modSurfacePtr_, tetMeshGenerator::octreePtr_, Time::path(), tetMeshGenerator::runTime_, LongList< T, Offset >::size(), tetMeshGenerator::surfacePtr_, and triSurfacePatchManipulator::surfaceWithPatches().
~tetMeshGenerator | ( | ) |
Definition at line 378 of file tetMeshGenerator.C.
References Foam::deleteDemandDrivenData(), tetMeshGenerator::modSurfacePtr_, tetMeshGenerator::octreePtr_, and tetMeshGenerator::surfacePtr_.
|
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().
|
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().
|
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().
|
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().
|
private |
capture edges and corners
Definition at line 105 of file tetMeshGenerator.C.
References tetMeshGenerator::mesh_, and tetMeshGenerator::octreePtr_.
Referenced by tetMeshGenerator::generateMesh().
|
private |
optimise surface mesh
Definition at line 110 of file tetMeshGenerator.C.
References tetMeshGenerator::mesh_, tetMeshGenerator::octreePtr_, and meshSurfaceOptimizer::optimizeSurface().
Referenced by tetMeshGenerator::generateMesh().
|
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().
|
private |
mesh optimisation
final optimisation
revert the mesh into the original space
delete modified surface mesh
Definition at line 143 of file tetMeshGenerator.C.
References polyMeshGenCells::clearAddressingData(), Foam::deleteDemandDrivenData(), meshOptimizer::enforceConstraints(), dictionary::found(), dictionary::lookup(), tetMeshGenerator::mesh_, tetMeshGenerator::meshDict_, tetMeshGenerator::modSurfacePtr_, tetMeshGenerator::octreePtr_, meshOptimizer::optimizeBoundaryLayer(), meshOptimizer::optimizeLowQualityFaces(), meshOptimizer::optimizeMeshFV(), meshOptimizer::optimizeSurface(), Foam::readBool(), polyMeshGenGeometryModification::revertGeometryModification(), and meshOptimizer::untangleMeshFV().
Referenced by tetMeshGenerator::generateMesh(), and tetMeshGenerator::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().
|
private |
refine boundary layers
Definition at line 206 of file tetMeshGenerator.C.
References dictionary::isDict(), meshOptimizer::lockPoints(), tetMeshGenerator::mesh_, tetMeshGenerator::meshDict_, refineBoundaryLayers::pointsInBndLayer(), refineBoundaryLayers::readSettings(), refineBoundaryLayers::refineLayers(), and meshOptimizer::untangleBoundaryLayer().
Referenced by tetMeshGenerator::generateMesh().
|
private |
replace boundaries
Definition at line 225 of file tetMeshGenerator.C.
References tetMeshGenerator::mesh_, and tetMeshGenerator::meshDict_.
Referenced by tetMeshGenerator::generateMesh().
|
private |
renumber the mesh
Definition at line 230 of file tetMeshGenerator.C.
References tetMeshGenerator::mesh_, and polyMeshGenModifier::renumberMesh().
Referenced by tetMeshGenerator::generateMesh().
|
private |
generate mesh
Definition at line 235 of file tetMeshGenerator.C.
References tetMeshGenerator::controller_, tetMeshGenerator::createTetMesh(), Foam::endl(), tetMeshGenerator::extractPatches(), tetMeshGenerator::generateBoundaryLayers(), Foam::Info, tetMeshGenerator::mapEdgesAndCorners(), tetMeshGenerator::mapMeshToSurface(), tetMeshGenerator::optimiseFinalMesh(), tetMeshGenerator::optimiseMeshSurface(), tetMeshGenerator::projectSurfaceAfterBackScaling(), tetMeshGenerator::refBoundaryLayers(), tetMeshGenerator::renumberMesh(), tetMeshGenerator::replaceBoundaries(), workflowControls::runCurrentStep(), tetMeshGenerator::surfacePreparation(), WarningIn, and workflowControls::workflowCompleted().
Referenced by tetMeshGenerator::tetMeshGenerator().
|
private |
Disallow default bitwise assignment.
void writeMesh | ( | ) | const |
write the mesh
Definition at line 387 of file tetMeshGenerator.C.
References tetMeshGenerator::mesh_, and polyMeshGen::write().
Referenced by main().
|
private |
reference to Time
Definition at line 60 of file tetMeshGenerator.H.
Referenced by tetMeshGenerator::tetMeshGenerator().
|
private |
pointer to the surface
Definition at line 63 of file tetMeshGenerator.H.
Referenced by tetMeshGenerator::projectSurfaceAfterBackScaling(), tetMeshGenerator::tetMeshGenerator(), and tetMeshGenerator::~tetMeshGenerator().
|
private |
pointer to the modified surface mesh
Definition at line 66 of file tetMeshGenerator.H.
Referenced by tetMeshGenerator::optimiseFinalMesh(), tetMeshGenerator::tetMeshGenerator(), and tetMeshGenerator::~tetMeshGenerator().
|
private |
IOdictionary containing information about cell sizes, etc..
Definition at line 69 of file tetMeshGenerator.H.
Referenced by tetMeshGenerator::createTetMesh(), tetMeshGenerator::generateBoundaryLayers(), tetMeshGenerator::optimiseFinalMesh(), tetMeshGenerator::projectSurfaceAfterBackScaling(), tetMeshGenerator::refBoundaryLayers(), tetMeshGenerator::replaceBoundaries(), and tetMeshGenerator::tetMeshGenerator().
|
private |
pointer to the octree
Definition at line 72 of file tetMeshGenerator.H.
Referenced by tetMeshGenerator::createTetMesh(), tetMeshGenerator::extractPatches(), tetMeshGenerator::mapEdgesAndCorners(), tetMeshGenerator::mapMeshToSurface(), tetMeshGenerator::optimiseFinalMesh(), tetMeshGenerator::optimiseMeshSurface(), tetMeshGenerator::projectSurfaceAfterBackScaling(), tetMeshGenerator::tetMeshGenerator(), and tetMeshGenerator::~tetMeshGenerator().
|
private |
mesh
Definition at line 75 of file tetMeshGenerator.H.
Referenced by tetMeshGenerator::createTetMesh(), tetMeshGenerator::extractPatches(), tetMeshGenerator::generateBoundaryLayers(), tetMeshGenerator::mapEdgesAndCorners(), tetMeshGenerator::mapMeshToSurface(), tetMeshGenerator::optimiseFinalMesh(), tetMeshGenerator::optimiseMeshSurface(), tetMeshGenerator::projectSurfaceAfterBackScaling(), tetMeshGenerator::refBoundaryLayers(), tetMeshGenerator::renumberMesh(), tetMeshGenerator::replaceBoundaries(), tetMeshGenerator::surfacePreparation(), tetMeshGenerator::tetMeshGenerator(), and tetMeshGenerator::writeMesh().
|
private |
workflow controller
Definition at line 78 of file tetMeshGenerator.H.
Referenced by tetMeshGenerator::generateMesh().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.