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 Time & | db_ |
reference to Time More... | |
const triSurf * | surfacePtr_ |
pointer to the surface More... | |
const triSurf * | modSurfacePtr_ |
pointer to the modified surface 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 cartesianMeshGenerator.H.
|
private |
Disallow default bitwise copy construct.
cartesianMeshGenerator | ( | 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 316 of file cartesianMeshGenerator.C.
References dictionary::add(), meshOctreeCreator::createOctreeBoxes(), cartesianMeshGenerator::db_, Foam::deleteDemandDrivenData(), triSurfFeatureEdges::featureEdges(), dictionary::found(), cartesianMeshGenerator::generateMesh(), dictionary::lookup(), cartesianMeshGenerator::mesh_, cartesianMeshGenerator::meshDict_, polyMeshGen::metaData(), triSurfaceMetaData::metaData(), surfaceMeshGeometryModification::modifyGeometry(), cartesianMeshGenerator::modSurfacePtr_, cartesianMeshGenerator::octreePtr_, UPstream::parRun(), Time::path(), LongList< T, Offset >::size(), cartesianMeshGenerator::surfacePtr_, and triSurfacePatchManipulator::surfaceWithPatches().
Definition at line 391 of file cartesianMeshGenerator.C.
References Foam::deleteDemandDrivenData(), cartesianMeshGenerator::modSurfacePtr_, cartesianMeshGenerator::octreePtr_, and cartesianMeshGenerator::surfacePtr_.
|
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().
|
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().
|
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().
|
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().
|
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().
|
private |
optimise surface mesh
Definition at line 132 of file cartesianMeshGenerator.C.
References cartesianMeshGenerator::mesh_, cartesianMeshGenerator::octreePtr_, and meshSurfaceOptimizer::optimizeSurface().
Referenced by cartesianMeshGenerator::generateMesh().
|
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().
|
private |
refine boundary layers
Definition at line 145 of file cartesianMeshGenerator.C.
References dictionary::isDict(), meshOptimizer::lockPoints(), cartesianMeshGenerator::mesh_, cartesianMeshGenerator::meshDict_, refineBoundaryLayers::pointsInBndLayer(), refineBoundaryLayers::readSettings(), refineBoundaryLayers::refineLayers(), and meshOptimizer::untangleBoundaryLayer().
Referenced by cartesianMeshGenerator::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 164 of file cartesianMeshGenerator.C.
References polyMeshGenCells::clearAddressingData(), Foam::deleteDemandDrivenData(), meshOptimizer::enforceConstraints(), meshSurfaceOptimizer::enforceConstraints(), dictionary::found(), dictionary::lookup(), cartesianMeshGenerator::mesh_, cartesianMeshGenerator::meshDict_, cartesianMeshGenerator::modSurfacePtr_, cartesianMeshGenerator::octreePtr_, meshOptimizer::optimizeBoundaryLayer(), meshOptimizer::optimizeLowQualityFaces(), meshOptimizer::optimizeMeshFV(), meshSurfaceOptimizer::optimizeSurface(), Foam::readBool(), polyMeshGenGeometryModification::revertGeometryModification(), and meshOptimizer::untangleMeshFV().
Referenced by cartesianMeshGenerator::generateMesh(), and cartesianMeshGenerator::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().
|
private |
replace boundaries
Definition at line 237 of file cartesianMeshGenerator.C.
References cartesianMeshGenerator::mesh_, and cartesianMeshGenerator::meshDict_.
Referenced by cartesianMeshGenerator::generateMesh().
|
private |
renumber the mesh
Definition at line 242 of file cartesianMeshGenerator.C.
References cartesianMeshGenerator::mesh_, and polyMeshGenModifier::renumberMesh().
Referenced by cartesianMeshGenerator::generateMesh().
|
private |
generate mesh
Definition at line 247 of file cartesianMeshGenerator.C.
References cartesianMeshGenerator::controller_, cartesianMeshGenerator::createCartesianMesh(), Foam::endl(), cartesianMeshGenerator::extractPatches(), cartesianMeshGenerator::generateBoundaryLayers(), Foam::Info, cartesianMeshGenerator::mapEdgesAndCorners(), cartesianMeshGenerator::mapMeshToSurface(), cartesianMeshGenerator::optimiseFinalMesh(), cartesianMeshGenerator::optimiseMeshSurface(), cartesianMeshGenerator::projectSurfaceAfterBackScaling(), cartesianMeshGenerator::refBoundaryLayers(), cartesianMeshGenerator::renumberMesh(), cartesianMeshGenerator::replaceBoundaries(), workflowControls::runCurrentStep(), cartesianMeshGenerator::surfacePreparation(), WarningIn, and workflowControls::workflowCompleted().
Referenced by cartesianMeshGenerator::cartesianMeshGenerator().
|
private |
Disallow default bitwise assignment.
void writeMesh | ( | ) | const |
write the mesh
Definition at line 400 of file cartesianMeshGenerator.C.
References cartesianMeshGenerator::mesh_, and polyMeshGen::write().
Referenced by main().
|
private |
reference to Time
Definition at line 60 of file cartesianMeshGenerator.H.
Referenced by cartesianMeshGenerator::cartesianMeshGenerator().
|
private |
pointer to the surface
Definition at line 63 of file cartesianMeshGenerator.H.
Referenced by cartesianMeshGenerator::cartesianMeshGenerator(), cartesianMeshGenerator::projectSurfaceAfterBackScaling(), and cartesianMeshGenerator::~cartesianMeshGenerator().
|
private |
pointer to the modified surface
Definition at line 66 of file cartesianMeshGenerator.H.
Referenced by cartesianMeshGenerator::cartesianMeshGenerator(), cartesianMeshGenerator::optimiseFinalMesh(), and cartesianMeshGenerator::~cartesianMeshGenerator().
|
private |
IOdictionary containing information about cell sizes, etc..
Definition at line 69 of file cartesianMeshGenerator.H.
Referenced by cartesianMeshGenerator::cartesianMeshGenerator(), cartesianMeshGenerator::createCartesianMesh(), cartesianMeshGenerator::optimiseFinalMesh(), cartesianMeshGenerator::projectSurfaceAfterBackScaling(), cartesianMeshGenerator::refBoundaryLayers(), and cartesianMeshGenerator::replaceBoundaries().
|
private |
pointer to the octree
Definition at line 72 of file cartesianMeshGenerator.H.
Referenced by cartesianMeshGenerator::cartesianMeshGenerator(), cartesianMeshGenerator::createCartesianMesh(), cartesianMeshGenerator::extractPatches(), cartesianMeshGenerator::mapEdgesAndCorners(), cartesianMeshGenerator::mapMeshToSurface(), cartesianMeshGenerator::optimiseFinalMesh(), cartesianMeshGenerator::optimiseMeshSurface(), cartesianMeshGenerator::projectSurfaceAfterBackScaling(), and cartesianMeshGenerator::~cartesianMeshGenerator().
|
private |
mesh
Definition at line 75 of file cartesianMeshGenerator.H.
Referenced by cartesianMeshGenerator::cartesianMeshGenerator(), cartesianMeshGenerator::createCartesianMesh(), cartesianMeshGenerator::extractPatches(), cartesianMeshGenerator::generateBoundaryLayers(), cartesianMeshGenerator::mapEdgesAndCorners(), cartesianMeshGenerator::mapMeshToSurface(), cartesianMeshGenerator::optimiseFinalMesh(), cartesianMeshGenerator::optimiseMeshSurface(), cartesianMeshGenerator::projectSurfaceAfterBackScaling(), cartesianMeshGenerator::refBoundaryLayers(), cartesianMeshGenerator::renumberMesh(), cartesianMeshGenerator::replaceBoundaries(), cartesianMeshGenerator::surfacePreparation(), and cartesianMeshGenerator::writeMesh().
|
private |
workflow controller
Definition at line 78 of file cartesianMeshGenerator.H.
Referenced by cartesianMeshGenerator::generateMesh().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.