**mesh_gems#
Description#
This mesher is an interface with Distene remeshing tools (surfacic remesher YAMS, volumic remesher GHS3D, …).
Syntax#
**mesh_gems
\(~\,\) [ *preserve_faset ]
\(~\,\) [ *preserve_liset ]
\(~\,\) [ *preserve_nset ]
\(~\,\) [ *preserve_elset3d]
\(~\,\) [ *preserve_elset]
\(~\,\) [ *fixed_nset ]
\(~\,\) [ *auto_preserve]
\(~\,\) [ *skip_auto_preservation set1 set2 … setN ]
\(~\,\) [ *mesh_cleaner ]
\(~\,\) [ *absolu ]
\(~\,\) [ *max_size max]
\(~\,\) [ *min_size min ]
\(~\,\) [ *yams_only ]
\(~\,\) [ *refinement <FUNCTION>
\(~\,\) *refinement_origin nset_ref ]
\(~\,\) [ *refinement_gradation nset_ref minsize R0 gradation ]
\(~\,\) [ *refinement_method <REFINEMENT_DENSITY>
\(~\,\) *refinement_origin nset_ref ]
\(~\,\) [ *nb_iter iter ]
\(~\,\) [ *nb_iter_surf iter_surf ]
\(~\,\) [ *nb_iter_vol iter_vol ]
\(~\,\) [ *separate_parts ]
\(~\,\) [ *yams_options options_yams ]
\(~\,\) [ *ghs3d_options ghs_options ]
\(~\,\) [ *meshadapt_options adapt_options ]
\(~\,\) [ *set_reduced ]
\(~\,\) [ *ascii ]
To preserve different sets of the initial mesh during remesh:
*preserve_fasetkeep pre-existing outer surface boundaries.
*preserve_lisetpreserve pre-existing outer boundaries of a 2D mesh.
*preserve_nsetkeep the nodes of the given node set (pre-existing) at their exact position. During remeshing, other nodes may be added between preserved nodes but will not be included in the node set (contrary to
*preserve_faset/*preserve_liset).*preserve_elsetpreserve 2d elset definitions of the surface mesh.
*preserve_elset3dIn 3D cases, remesh each specified elset separately and preserve the interface.
*fixed_nsetpreserve geometrical positions, ids and the order of nodes belonging to the given nset.
*auto_preserveAutomatic preservation of all sets (nsets, bsets and elsets). If possible, each nset is converted to a faset or a liset which are preserved. The nsets are retrieved from corresponding “remeshed” liset/faset. Otherwise, if a faset or a liset cannot be created from it, only the nset is preserved.
*skip_auto_preservationexclude some sets from being preserved especially those that may hamper remeshing.
The refinement method can be specified using one of the following options:
*refinementIntroduces a function of the mesh coordinates that defines the size of each element. The nset that serves as the reference to calculate the distance is given by
*refinement_origin.*refinement_gradationA pre-defined refinement function given by
\[minsize + (r^2+R0^2)\left(1-\dfrac{1}{gradation}\right)(r-R0)\]where \(r=\sqrt{x^2+y^2+z^2}\). The distance is computed w.r.t a given nset_ref.
*refinement_methodan alternative way to specifiy the refinement density using
REFINEMENT_DENSITYobjects. For now, two classes of typeREFINEMENT_DENSITYare implemented:smoothpowercoarseningfactor
*nb_iternumber of iterations allowed for volume/surface mesh adaptation. By default, iter_surf = 3 and iter_vol =2. The number of iterations can be specified separately for surface and volume using
*nb_iter_surfand*nb_iter_vol,respectively.*separate_partsA flag allowing to remesh each part of the mesh independently (see also another method to handle such cases in **mesh_gems_unconnected).
*yams_options(or
*options) additional options passed in to MG_SURF (default: --max_memory 1024).*ghs3d_optionsadditional options passed in to MG_VOL (default:
--max_memory 2048 --components all)*meshadapt_optionsadditional options passed in to MG_ADAPT (default:
--max_memory 2048 --components all --adaptation volume)*set_reducedTo set reduced integration. By default, the new mesh is made up of full-integration elements (regardless of the integration degree of the initial mesh elements).
*asciiAscii output file.
*mesh_cleanerIt uses the mesh fixing tool MeshGems-Cleaner which allows to correct mesh misfeatures such as overlaps, intersections, holes or gaps.
Examples#
**mesh_gems_unconnected#
Description#
This mesher is derived from mesh_gems. It handles the remeshing of mesh parts. It creates a separate mesh for specified parts, remeshs each part using mesh_gems and finally performs a union of different parts.
Syntax#
**mesh_gems_unconnected
\(~\,\) *use_part part meshfile_name
\(~\,~\,\) mesh_gems options