Definition at line 61 of file MeshGenDriver.C.
References cfmLclRefPatch::aditRefLvls, cfmPtchBndLyr::alwDiscont, NEM::GEN::TransfiniteBlock::axis, cfmPtchBndLyr::blNLyr, cfmPtchBndLyr::blThkRto, cfmLclRefPatch::cellSize, blockMeshParams::cellSize, blockMeshParams::cnvrtToMeters, NEM::GEN::TransfiniteBlock::coef, meshBase::Create(), meshGen::createMeshFromSTL(), meshBase::CreateShared(), cfmRenBndry::defName, cfmRenBndry::defType, shmLayers::expansionRatio, meshBase::exportGmshToVtk(), meshBase::exportVolToVtk(), shmFeatureEdgeRef::fileName, shmLayers::finalLayerThickness, nemAux::find_ext(), shmLayers::firstLyrThickness, snappymeshParams::geomFileName, meshGen::getDataSet(), meshGen::gmData, NEM::GEN::volSizeField::id, NEM::GEN::TransfiniteBlock::id, cfmPtchBndLyr::maxFrstLyrThk, shmRegionRefine::maxLvl, shmSurfRefine::maxLvl, shmFeatureEdgeRef::maxLvl, snappymeshParams::mergeTol, mesh, shmRegionRefine::minLvl, shmSurfRefine::minLvl, shmFeatureEdgeRef::minLvl, shmLayers::minThickness, shmRegionRefine::mode, cfmObjRef::name, NEM::MSH::New(), cfmRenBndry::newPatches, shmLayers::nSurfaceLayers, NEM::GEN::volSizeField::num_list_params, cfmObjRef::params, NEM::GEN::volSizeField::params, cfmLclRefPatch::patchName, cfmPtchBndLyr::patchName, shmLayers::patchName, shmSurfRefine::patchType, NEM::DRV::NemDriver::readJSON(), cfmLclRefPatch::refThickness, shmSTLDefinition::snappyPatchName, shmSTLDefinition::STLPatchName, NEM::GEN::volSizeField::strg_list_params, shmLayers::thickness, nemAux::trim_fname(), NEM::GEN::volSizeField::type, NEM::GEN::TransfiniteBlock::type, and NEM::GEN::TransfiniteBlock::vert.
65 std::cout <<
"MeshGenDriver created" << std::endl;
70 if (meshEngine ==
"netgen") {
72 generator =
new netgenGen(dynamic_cast<netgenParams *>(params));
75 std::cerr <<
"NETGEN is not enabled during build." 76 <<
" Build NEMoSys with ENABLE_NETGEN to use this method." 80 }
else if (meshEngine ==
"gmsh") {
85 }
else if (meshEngine ==
"cfmesh") {
86 generator =
new cfmeshGen(dynamic_cast<cfmeshParams *>(params));
88 }
else if (meshEngine ==
"snappyHexMesh") {
89 generator =
new snappymeshGen(dynamic_cast<snappymeshParams *>(params));
91 }
else if (meshEngine ==
"blockMesh") {
92 generator =
new blockMeshGen(dynamic_cast<blockMeshParams *>(params));
96 std::cerr << meshEngine <<
" is not a supported meshing engine" 102 std::cerr <<
"Meshing with engine " << meshEngine <<
" failed. Aborting." 110 std::cerr <<
"Mesh Engine " << meshEngine <<
" not recognized" << std::endl;
116 std::shared_ptr<meshBase>
mesh;
117 if (outputType ==
".msh" && meshEngine ==
"gmsh") {
124 if (meshEngine ==
"netgen") {
127 }
else if (meshEngine ==
"gmsh") {
130 if (outputType ==
".msh")
return;
139 if (meshEngine ==
"cfmesh" || meshEngine ==
"snappyHexMesh" ||
140 meshEngine ==
"blockMesh") {
142 geoMesh->takeGeoMesh(generator->
gmData.get());
143 geoMesh->write(ofname);
146 mesh->setFileName(ofname);
snappymeshGen facilitates full-hexahedral/hex-dominent meshing of complex geometries with surface...
blockMeshGen <– meshGen <– meshBase This class incorporates mesh generating method of blockMesh uti...
std::unique_ptr< NEM::MSH::geoMeshBase > gmData
static meshBase * exportGmshToVtk(const std::string &fname)
construct vtkMesh from gmsh msh file (called in Create methods)
static meshBase * exportVolToVtk(const std::string &fname)
construct vtkMesh from netgen vol file (called in Create methods)
geoMeshBase * New(MeshType meshType)
Create a new mesh object.
static meshBase * Create(const std::string &fname)
Construct vtkMesh from filename.
std::string find_ext(const std::string &fname)
std::string trim_fname(const std::string &name, const std::string &ext)
std::shared_ptr< meshBase > mesh
static std::shared_ptr< meshBase > CreateShared(const std::string &fname)
Create shared ptr from fname.
virtual int createMeshFromSTL(const char *fname)=0
vtkSmartPointer< vtkDataSet > getDataSet() const