Merge 9db68e28f21e1ca5120ffe63bfa373530dfd4f83 into a9e8f2a1c9df7363710aa6213eca608c0bcc71ec

This commit is contained in:
nikhilsrajan 2025-05-04 22:34:01 +00:00 committed by GitHub
commit df27ebe8da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 98 additions and 0 deletions

View File

@ -801,6 +801,25 @@ namespace nglib
check_overlap = 1; check_overlap = 1;
check_overlapping_boundary = 1; check_overlapping_boundary = 1;
parallel_meshing = 1;
nthreads = 4;
opterrpow = 2;
delaunayenable = 1;
blockfillenable = 1;
blockfilldist = 0.1;
maxoutersteps = 10;
only3D_domain_nr = 0;
try_hexes = 0;
surfcurvfact = 2;
chartdistfact = 1.2;
edgeanglefact = 1;
surfmeshcurvfact = 1;
linelengthfact = 0.5;
stlgeom_tol_fact = 1E-6;
} }
@ -842,6 +861,25 @@ namespace nglib
check_overlap = 1; check_overlap = 1;
check_overlapping_boundary = 1; check_overlapping_boundary = 1;
parallel_meshing = 1;
nthreads = 4;
opterrpow = 2;
delaunayenable = 1;
blockfillenable = 1;
blockfilldist = 0.1;
maxoutersteps = 10;
only3D_domain_nr = 0;
try_hexes = 0;
surfcurvfact = 2;
chartdistfact = 1.2;
edgeanglefact = 1;
surfmeshcurvfact = 1;
linelengthfact = 0.5;
stlgeom_tol_fact = 1E-6;
} }
@ -866,6 +904,7 @@ namespace nglib
mparam.meshsizefilename = meshsize_filename; mparam.meshsizefilename = meshsize_filename;
else else
mparam.meshsizefilename = ""; mparam.meshsizefilename = "";
mparam.optsteps2d = optsteps_2d; mparam.optsteps2d = optsteps_2d;
mparam.optsteps3d = optsteps_3d; mparam.optsteps3d = optsteps_3d;
@ -874,6 +913,28 @@ namespace nglib
mparam.checkoverlap = check_overlap; mparam.checkoverlap = check_overlap;
mparam.checkoverlappingboundary = check_overlapping_boundary; mparam.checkoverlappingboundary = check_overlapping_boundary;
mparam.parallel_meshing = parallel_meshing;
mparam.nthreads = nthreads;
mparam.opterrpow = opterrpow;
mparam.delaunay = delaunayenable;
mparam.blockfill = blockfillenable;
mparam.filldist = blockfilldist;
mparam.maxoutersteps = maxoutersteps;
mparam.only3D_domain_nr = only3D_domain_nr;
mparam.try_hexes = try_hexes;
stlparam.resthsurfcurvfac = surfcurvfact;
stlparam.resthchartdistfac = chartdistfact;
stlparam.resthedgeanglefac = edgeanglefact;
stlparam.resthsurfmeshcurvfac = surfmeshcurvfact;
stlparam.resthlinelengthfac = linelengthfact;
stldoctor.geom_tol_fact = stlgeom_tol_fact;
if(closeedgeenable)
mparam.closeedgefac = closeedgefact;
} }
// ------------------ End - Meshing Parameters related functions -------------------- // ------------------ End - Meshing Parameters related functions --------------------

View File

@ -125,6 +125,28 @@ public:
int check_overlap; //!< Check for overlapping surfaces during Surface meshing int check_overlap; //!< Check for overlapping surfaces during Surface meshing
int check_overlapping_boundary; //!< Check for overlapping surface elements before volume meshing int check_overlapping_boundary; //!< Check for overlapping surface elements before volume meshing
// Nikhil - 29/09/2020
// Added a couple more parameters into the meshing parameters list
// from Netgen into Nglib
int parallel_meshing; //!< Enable / Disable parallel meshing
int nthreads; //!< Set number of threads to use
double opterrpow; //!< Set power of error (to approximate max err optimization)
int delaunayenable; //!< Enable / Disable delaunay
int blockfillenable; //!< Enable / Disable block fill
double blockfilldist; //!< Enable / Disable block fill distance
int maxoutersteps; //!< Set max number of outer steps
int only3D_domain_nr; //!< Select domain to perform volume meshing ignoring others. (0 => ignore none)
int try_hexes; //!< Enable / Disable hex-meshing
double surfcurvfact; //!< Set STL - surface curvature
double chartdistfact; //!< Set STL - chart distance
double edgeanglefact; //!< Set STL - edge angle
double surfmeshcurvfact; //!< Set STL - surface mesh curv
double linelengthfact; //!< Set STL - line length
double stlgeom_tol_fact; //!< Set the point tolerance in STL files
/*! /*!
Default constructor for the Mesh Parameters class Default constructor for the Mesh Parameters class
@ -150,6 +172,21 @@ public:
- #invert_trigs:0 - #invert_trigs:0
- #check_overlap: 1 - #check_overlap: 1
- #check_overlapping_boundary: 1 - #check_overlapping_boundary: 1
- #parallel_meshing: 1
- #nthreads: 4
- #opterrpow: 2
- #delaunayenable: 1
- #blockfillenable = 1
- #blockfilldist = 0.1
- maxoutersteps = 10
- only3D_domain_nr = 0
- try_hexes = 0
- #surfcurvfact: 2
- #chartdistfact: 1.2
- #edgeanglefact: 1
- #surfmeshcurvfact: 1
- #linelengthfact: 0.5
- #stlgeom_tol_fact: 1E-6
*/ */
NGLIB_API Ng_Meshing_Parameters(); NGLIB_API Ng_Meshing_Parameters();