**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_faset
keep pre-existing outer surface boundaries.
*preserve_liset
preserve pre-existing outer boundaries of a 2D mesh.
*preserve_nset
keep 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_elset
preserve 2d elset definitions of the surface mesh.
*preserve_elset3d
In 3D cases, remesh each specified elset separately and preserve the interface.
*fixed_nset
preserve geometrical positions, ids and the order of nodes belonging to the given nset.
*auto_preserve
Automatic 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_preservation
exclude some sets from being preserved especially those that may hamper remeshing.
The refinement method can be specified using one of the following options:
*refinement
Introduces 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_gradation
A pre-defined refinement function given by
(3)#\[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_method
an alternative way to specifiy the refinement density using
REFINEMENT_DENSITY
objects. For now, two classes of typeREFINEMENT_DENSITY
are implemented:smooth
powercoarsening
factor
*nb_iter
number 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_surf
and*nb_iter_vol,
respectively.*separate_parts
A 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_options
additional options passed in to MG_VOL (default:
--max_memory 2048 --components all
)*meshadapt_options
additional options passed in to MG_ADAPT (default:
--max_memory 2048 --components all --adaptation volume
)*set_reduced
To 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).
*ascii
Ascii output file.
*mesh_cleaner
It 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