Public Member Functions | |
cartesian2DMeshGenerator (const Time &) | |
Construct from time. More... | |
~cartesian2DMeshGenerator () | |
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 () |
capture edges and corners More... | |
void | optimiseMeshSurface () |
optimise surface mesh More... | |
void | generateBoundaryLayers () |
add boundary layers More... | |
void | refBoundaryLayers () |
refine boundary layers More... | |
void | replaceBoundaries () |
replace boundaries More... | |
void | renumberMesh () |
renumber the mesh More... | |
void | generateMesh () |
generate mesh More... | |
cartesian2DMeshGenerator (const cartesian2DMeshGenerator &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const cartesian2DMeshGenerator &) |
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 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 55 of file cartesian2DMeshGenerator.H.
|
private |
Disallow default bitwise copy construct.
cartesian2DMeshGenerator | ( | const Time & | time | ) |
Construct from time.
save meta data with the mesh (surface mesh + its topology info)
get rid of duplicate triangles as they cause strange problems
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 265 of file cartesian2DMeshGenerator.C.
References dictionary::add(), meshOctreeCreator::createOctreeBoxes(), triSurface2DCheck::createSubsets(), cartesian2DMeshGenerator::db_, Foam::deleteDemandDrivenData(), Foam::endl(), triSurfFeatureEdges::featureEdges(), dictionary::found(), cartesian2DMeshGenerator::generateMesh(), Foam::Info, triSurface2DCheck::is2DSurface(), dictionary::lookup(), cartesian2DMeshGenerator::mesh_, cartesian2DMeshGenerator::meshDict_, polyMeshGen::metaData(), triSurfaceMetaData::metaData(), surfaceMeshGeometryModification::modifyGeometry(), cartesian2DMeshGenerator::modSurfacePtr_, cartesian2DMeshGenerator::octreePtr_, UPstream::parRun(), Time::path(), LongList< T, Offset >::size(), cartesian2DMeshGenerator::surfacePtr_, triSurfacePatchManipulator::surfaceWithPatches(), and triSurf::writeSurface().
Definition at line 353 of file cartesian2DMeshGenerator.C.
References Foam::deleteDemandDrivenData(), cartesian2DMeshGenerator::modSurfacePtr_, cartesian2DMeshGenerator::octreePtr_, and cartesian2DMeshGenerator::surfacePtr_.
|
private |
create cartesian mesh
create polyMesh from octree boxes
Definition at line 63 of file cartesian2DMeshGenerator.C.
References cartesianMeshExtractor::createMesh(), cartesianMeshExtractor::decomposeSplitHexes(), dictionary::found(), dictionary::lookup(), cartesian2DMeshGenerator::mesh_, cartesian2DMeshGenerator::meshDict_, cartesian2DMeshGenerator::octreePtr_, and Foam::readBool().
Referenced by cartesian2DMeshGenerator::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 77 of file cartesian2DMeshGenerator.C.
References checkIrregularSurfaceConnections::checkAndFixIrregularConnections(), checkBoundaryFacesSharingTwoEdges::improveTopology(), and cartesian2DMeshGenerator::mesh_.
Referenced by cartesian2DMeshGenerator::generateMesh().
|
private |
map mesh to the surface and untangle surface
calculate mesh surface
pre-map mesh surface
map mesh surface on the geometry surface
Definition at line 102 of file cartesian2DMeshGenerator.C.
References meshSurfaceMapper2D::adjustZCoordinates(), Foam::deleteDemandDrivenData(), meshSurfaceMapper2D::mapVerticesOntoSurface(), cartesian2DMeshGenerator::mesh_, cartesian2DMeshGenerator::octreePtr_, and meshSurfaceMapper2D::preMapVertices().
Referenced by cartesian2DMeshGenerator::generateMesh().
|
private |
capture edges and corners
Definition at line 120 of file cartesian2DMeshGenerator.C.
References meshSurfaceEdgeExtractor2D::distributeBoundaryFaces(), cartesian2DMeshGenerator::mesh_, and cartesian2DMeshGenerator::octreePtr_.
Referenced by cartesian2DMeshGenerator::generateMesh().
|
private |
capture edges and corners
Definition at line 125 of file cartesian2DMeshGenerator.C.
References cartesian2DMeshGenerator::mesh_, cartesian2DMeshGenerator::octreePtr_, and meshSurfaceEdgeExtractor2D::remapBoundaryPoints().
Referenced by cartesian2DMeshGenerator::generateBoundaryLayers(), and cartesian2DMeshGenerator::generateMesh().
|
private |
optimise surface mesh
Definition at line 130 of file cartesian2DMeshGenerator.C.
References cartesian2DMeshGenerator::mesh_, cartesian2DMeshGenerator::octreePtr_, meshSurfaceOptimizer::optimizeSurface2D(), and meshSurfaceOptimizer::untangleSurface2D().
Referenced by cartesian2DMeshGenerator::generateBoundaryLayers(), and cartesian2DMeshGenerator::generateMesh().
|
private |
add boundary layers
revert the mesh into the original space
delete modified surface mesh
delete the octree
contruct a new octree from the input surface
Definition at line 138 of file cartesian2DMeshGenerator.C.
References boundaryLayers::activate2DMode(), boundaryLayers::addLayerForAllPatches(), meshOctreeCreator::createOctreeWithRefinedBoundary(), Foam::deleteDemandDrivenData(), cartesian2DMeshGenerator::mapEdgesAndCorners(), cartesian2DMeshGenerator::mesh_, cartesian2DMeshGenerator::meshDict_, cartesian2DMeshGenerator::modSurfacePtr_, cartesian2DMeshGenerator::octreePtr_, cartesian2DMeshGenerator::optimiseMeshSurface(), polyMeshGenGeometryModification::revertGeometryModification(), and cartesian2DMeshGenerator::surfacePtr_.
Referenced by cartesian2DMeshGenerator::generateMesh().
|
private |
refine boundary layers
Definition at line 169 of file cartesian2DMeshGenerator.C.
References refineBoundaryLayers::activate2DMode(), dictionary::isDict(), cartesian2DMeshGenerator::mesh_, cartesian2DMeshGenerator::meshDict_, cartesian2DMeshGenerator::octreePtr_, refineBoundaryLayers::readSettings(), refineBoundaryLayers::refineLayers(), and meshSurfaceOptimizer::untangleSurface2D().
Referenced by cartesian2DMeshGenerator::generateMesh().
|
private |
replace boundaries
Definition at line 188 of file cartesian2DMeshGenerator.C.
References cartesian2DMeshGenerator::mesh_, and cartesian2DMeshGenerator::meshDict_.
Referenced by cartesian2DMeshGenerator::generateMesh().
|
private |
renumber the mesh
Definition at line 193 of file cartesian2DMeshGenerator.C.
References cartesian2DMeshGenerator::mesh_, and polyMeshGenModifier::renumberMesh().
Referenced by cartesian2DMeshGenerator::generateMesh().
|
private |
generate mesh
Definition at line 198 of file cartesian2DMeshGenerator.C.
References cartesian2DMeshGenerator::controller_, cartesian2DMeshGenerator::createCartesianMesh(), Foam::endl(), cartesian2DMeshGenerator::extractPatches(), cartesian2DMeshGenerator::generateBoundaryLayers(), Foam::Info, cartesian2DMeshGenerator::mapEdgesAndCorners(), cartesian2DMeshGenerator::mapMeshToSurface(), cartesian2DMeshGenerator::optimiseMeshSurface(), cartesian2DMeshGenerator::refBoundaryLayers(), cartesian2DMeshGenerator::renumberMesh(), cartesian2DMeshGenerator::replaceBoundaries(), workflowControls::runCurrentStep(), cartesian2DMeshGenerator::surfacePreparation(), WarningIn, and workflowControls::workflowCompleted().
Referenced by cartesian2DMeshGenerator::cartesian2DMeshGenerator().
|
private |
Disallow default bitwise assignment.
void writeMesh | ( | ) | const |
write the mesh
Definition at line 362 of file cartesian2DMeshGenerator.C.
References cartesian2DMeshGenerator::mesh_, and polyMeshGen::write().
Referenced by main().
|
private |
reference to Time
Definition at line 59 of file cartesian2DMeshGenerator.H.
Referenced by cartesian2DMeshGenerator::cartesian2DMeshGenerator().
|
private |
pointer to the surface
Definition at line 62 of file cartesian2DMeshGenerator.H.
Referenced by cartesian2DMeshGenerator::cartesian2DMeshGenerator(), cartesian2DMeshGenerator::generateBoundaryLayers(), and cartesian2DMeshGenerator::~cartesian2DMeshGenerator().
|
private |
pointer to the modified surface mesh
Definition at line 65 of file cartesian2DMeshGenerator.H.
Referenced by cartesian2DMeshGenerator::cartesian2DMeshGenerator(), cartesian2DMeshGenerator::generateBoundaryLayers(), and cartesian2DMeshGenerator::~cartesian2DMeshGenerator().
|
private |
IOdictionary containing information about cell sizes, etc..
Definition at line 68 of file cartesian2DMeshGenerator.H.
Referenced by cartesian2DMeshGenerator::cartesian2DMeshGenerator(), cartesian2DMeshGenerator::createCartesianMesh(), cartesian2DMeshGenerator::generateBoundaryLayers(), cartesian2DMeshGenerator::refBoundaryLayers(), and cartesian2DMeshGenerator::replaceBoundaries().
|
private |
pointer to the octree
Definition at line 71 of file cartesian2DMeshGenerator.H.
Referenced by cartesian2DMeshGenerator::cartesian2DMeshGenerator(), cartesian2DMeshGenerator::createCartesianMesh(), cartesian2DMeshGenerator::extractPatches(), cartesian2DMeshGenerator::generateBoundaryLayers(), cartesian2DMeshGenerator::mapEdgesAndCorners(), cartesian2DMeshGenerator::mapMeshToSurface(), cartesian2DMeshGenerator::optimiseMeshSurface(), cartesian2DMeshGenerator::refBoundaryLayers(), and cartesian2DMeshGenerator::~cartesian2DMeshGenerator().
|
private |
mesh
Definition at line 74 of file cartesian2DMeshGenerator.H.
Referenced by cartesian2DMeshGenerator::cartesian2DMeshGenerator(), cartesian2DMeshGenerator::createCartesianMesh(), cartesian2DMeshGenerator::extractPatches(), cartesian2DMeshGenerator::generateBoundaryLayers(), cartesian2DMeshGenerator::mapEdgesAndCorners(), cartesian2DMeshGenerator::mapMeshToSurface(), cartesian2DMeshGenerator::optimiseMeshSurface(), cartesian2DMeshGenerator::refBoundaryLayers(), cartesian2DMeshGenerator::renumberMesh(), cartesian2DMeshGenerator::replaceBoundaries(), cartesian2DMeshGenerator::surfacePreparation(), and cartesian2DMeshGenerator::writeMesh().
|
private |
workflow controller
Definition at line 77 of file cartesian2DMeshGenerator.H.
Referenced by cartesian2DMeshGenerator::generateMesh().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.