29 #ifndef NEMOSYS_SNAPPYMESHPARAMS_H_ 30 #define NEMOSYS_SNAPPYMESHPARAMS_H_ 34 # include "nemosys_export.h" 61 virtual std::string getType()
const = 0;
73 std::string
getType()
const override {
return "searchableBox"; }
79 std::string
getType()
const override {
return "searchableCylinder"; }
86 std::string
getType()
const override {
return "searchableSphere"; }
98 std::string patchType{
"NO"};
122 int nSurfaceLayers{1};
123 double expansionRatio{1.};
124 double finalLayerThickness{1.};
125 double firstLyrThickness{-1.};
126 double thickness{-1.};
127 double minThickness{1};
148 std::vector<std::shared_ptr<shmSearchableShape>>
srchShape;
156 bool withCellZones{
false};
160 int castMeshGpLvl{1};
164 int maxLCells{2000000};
168 int maxGCells{4000000};
176 int cellsBetnLvls{3};
180 int refSurfLvlMin{0};
184 int refSurfLvlMax{0};
188 double featAngle{60.};
201 std::array<double, 3> locMesh{0, 0, 0};
205 bool alwFreeZone{
true};
230 double tolerance{0.5};
243 int nFeatureSnapIter{10};
247 bool implicitFeatureSnap{
false};
251 bool explicitFeatureSnap{
false};
255 bool multiRegionFeatureSnap{
false};
267 double expRatio{1.3};
271 double finLThick{1.};
275 double minThick{0.1};
279 double firstLyrThickness{-1.};
283 double thickness{-1.};
291 double featAngle{30.};
315 double maxThickTMR{1};
319 double minMedAngl{90.};
331 int nRelaxedIter{20};
335 int slipFeatureAngle{30};
339 int nMedialAxisIter{-1};
343 int nSmoothDisplacement{-1};
358 double maxBndrySkew{20.};
361 double maxIntSkew{4.};
367 double minVol{1e-13};
370 double minTetQ{1e-15};
376 double minTwist{0.02};
379 double minFaceW{0.05};
382 double minVolRto{0.01};
385 double minDet{0.001};
388 double minTriTwist{-1.};
394 double errReduction{0.75};
415 bool withCastMesh{
true};
431 bool withLayers{
false};
448 double mergeTol{1e-6};
452 bool isPackMesh{
true};
457 #endif // NEMOSYS_SNAPPYMESHPARAMS_H_ std::string singleSolidPatch
patch name for input surface file for when not _withMultiPatches
std::vector< shmSurfRefine > surfRefs
Vector for shmSurfRefine struct.
std::array< double, 3 > axisPoint2
shmMeshQualityControls qualityControls
Mesh Quality Controls.
snappymeshParams contains all parameters essential for mesh generation using snappymeshGen class meth...
A structure for STL definition.
std::string patchName
Patch name.
shmGeo geoDef
Geometry definition.
Castellated Mesh Controls.
double minLvl
Minimum refinement level.
std::vector< shmSTLDefinition > stlPatchDefs
Vector for STL patches, if _withMultiPatches.
std::string getType() const override
A structure to respresent regions refining capability in snappymeshGen.
int maxLvl
Maximum refinement level.
shmSnapControls snapControls
Snapping controls.
std::string snappyPatchName
std::vector< shmFeatureEdgeRef > ftrEdge
Vector for feature edge refinement.
std::string geomFileName
Input geometry STL name.
std::vector< shmLayers > layerVec
Vector for Layers.
std::array< double, 3 > center
std::string getType() const override
std::vector< std::shared_ptr< shmSearchableShape > > srchShape
Vector for searchable shapes.
bool withMultiPatches
Boolean for if user wants whole STL as one solid of has different patches under STL.
int maxLvl
Maximum refinement level.
std::array< double, 3 > maxBound
shmCastMeshControls castMeshControls
Castellated mesh controls.
std::string refPatchName
Refining region patch name.
A structure to respresent shape patches defining capability in snappymeshGen.
A structure for feature edge refinement.
A structure to represent geometry surface refining capability in snappymeshgGen.
std::array< double, 3 > axisPoint1
std::vector< shmRegionRefine > geomRefs
Vector for shmRegionRefine struct.
shmLayerControls layerControls
Layer controls.
std::string mode
Inside, Outside.
std::array< double, 3 > minBound
std::string getType() const override
A struct for layer addition.