Adaptive meshing is a simulation technique used to automatically remesh parts of a finite element model during the solution phase, based on certain criteria set at the start of the analysis. Adaptive meshing can be broadly classified into two types – global remeshing and local adaptivity.
Global adaptive meshing is extremely useful for cases where large deformations of existing topology results in a final geometry that is quite different from initial one. Without adaptive remeshing, large strains and mesh distortions can prevent such analysis from continuation. Another likely situation for global adaptive meshing is when a fine mesh is needed in certain regions, which may change during the analysis. Global remeshing is also useful if we want to adapt the mesh according to the solution, in order to improve accuracy at a low cost. This technique is thus widely used in simulations of manufacturing processes (like metal forming), rubber seals, failure mechanics (crack propagation) and multi-physics applications.
In Marc, global adaptive meshing can be defined on contact bodies (2D solids, 3D solids and 3D shells) and is used with lower order elements for mechanical, thermo-mechanical, thermal Joule mechanical and electrostatic-structural coupled analyses. However, it is not supported along with local adaptivity; and domain decomposition method is only supported if the body to be remeshed is included in a single domain.
The basic steps in global adaptive meshing begin with extracting the outline of the deformed shape of the remeshed body. This outline is then cleaned up and filled with a newly generated mesh. Subsequently, a data mapping procedure is performed to transfer all necessary data from the old mesh to the new one. Contact parameters are refined on the new mesh with a new outline and new tolerances. Boundary conditions are also transferred to the new mesh, before Marc continues computation on the new mesh.
In order to use global adaptive meshing, Marc users need to first specify the mesher preference. Marc/Mentat software package comes with its built-in mesher (a 2D Overlay Quad mesher) and a number of integrated standalone meshers. The main 2D mesh generators are Advancing Front mesher (for triangles, quadrilaterals or mixed elements) and Delaunay mesher (triangles only). Available shell meshers are surface meshers that support triangles and quadrilaterals with full mesh density control. And the main 3D meshers are – (a) Overlay hex mesher with limited mesh density control and (b) Adaptive hybrid tet mesher with full support for density control. There are also a few meshers for recession in thermal analysis of pyrolysis and similar phenomena – Relax mesher (shifts nodes), Shave mesher (elements are deleted by layer-by-layer shaving in recession regions), Stretch mesher (stretches the mesh) and multi-zone mesher (for streamline regions).
Global adaptive meshing is automatically performed during crack growth or if elements go inside out. Element distortion during analysis can force internal remeshing before time step cut-back occurs. It can also be set up with a variety of user-defined criteria (based on the specified mesher) like (a) specified increment frequency, (b) immediate forced remeshing before next increment, (c) element shape distortion based on corner angles, (d) element distortion based on volume ratio, (e) contact penetration based on threshold or default limit, (f) strain changes as compared to previous mesh and (g) element angle deviation based on inner angle checks.
The mesh density can be controlled in a simplified way by specifying either a target element edge length, a target number of elements or specify the existing number of elements to be preserved. When a target element size is specified, user can give a minimum element size. Also, it is possible to define refinement boxes with specified refinement levels. One can also specify coarsening of mesh in the interior region of a 3D mesh. This provides limited capabilities and control over mesh density variation towards the interior.
However, full control of mesh density is allowed for shell and tet meshing based on either (1) target mesh density of current mesh which acts like a background mesh or (2) a constant target edge length, along with additional mesh controls like (a) curvature control, to generate finer mesh in regions of high surface and edge curvature; (b) refinement and coarsening regions (box, cylinder or sphere), which can also be moved by following a rigid contact body, a node or with a constant velocity; (c) distance control, which allows mesh refinement close to entities like a node, point, location, curve or crack front by specifying radius of influence and target edge length; (d) table option, which allows mesh density variation along spatial coordinates by specifying a curve as a function of x, y, z coordinates; and (e) element and nodal quantity control, which allows adaptive mesh density control based on current solution results (von Mises stress, contact status, etc.). Each of the above global mesh density control specify the minimum target edge length and in certain cases a radius of influence. The mesh generators ensure smooth transition between regions of different mesh density.
Marc 2015 added two new enhancements to global adaptive meshing. The first one aims to improve or preserve the geometric representation of the remeshed body. For parts in contact, the new surface nodes are projected onto neighboring contact bodies to preserve the contact condition. For parts not in contact, a smoothing operation is performed over the surface and along edges by creating cubic splines. This greatly improves the geometry, but without preserving the initial one. However, there is a procedure to preserve points, edges and faces by specifying Feature/Edge Vertex angle. Any angle smaller than that, is considered as a sharp corner and preserved. Additionally, entities like nodes, edges and faces can be explicitly defined as soft or hard. Nodes with loads or constraints are by default considered as hard entities and preserved as it is. Whereas, for soft entities (like edges with boundary conditions) the shape is preserved but mesh density is allowed to change.
The second enhancement in Marc 2015, is the use of a template or mapped mesh around a crack front of a new, stationary or growing crack during remeshing. The template consists of five rings of elements, each approximately of 30 degrees. The radius is 2.5 times the edge length along the crack front, which depend upon whether a constant global mesh density, a refinement region or distance to crack option is used. When the crack is near a boundary or a sharp edge, the radius of the template gets automatically adjusted.
During remeshing, two types of boundary conditions get transferred from the old mesh to the new mesh. Firstly, the contact boundary conditions are automatically updated based on new contact detection using the new mesh. Secondly, user defined boundary conditions like point loads, distributed loads and fixed displacements are also transferred to the new mesh, using any of the two following approaches. (a) In Defined Set Approach, each boundary condition is associated with defined set of nodes, edges or faces. During remeshing the boundaries of such sets are preserved, which allows new edges or faces to be created coincident with old edges and faces. (b) In Geometry Attachment Approach, the boundary conditions are attached to geometric entities like points, curves and surfaces. The geometric entities attached to the old mesh are preserved and then associated with new mesh entities. Hence the boundary conditions assigned to the geometric entities get automatically applied to new mesh.
History data (like stress, strain or temperature) also need to be transferred to the new mesh. In the old mesh, nodal values are calculated by first extrapolation from integration points and then computing weighted average nodal values based on contributions from different elements. Then a data mapping technique, which uses linear interpolation functions, computes the nodal values in the new mesh from the nodal values in the old mesh. Subsequently, data in the new integration points are computed based on interpolation of nodal data in the new mesh. After such data mapping, a new equilibrium is achieved at the end of the increment.
Marc users need to carefully choose the mesher depending on their requirements for global remeshing (not all meshers support all the features elucidated here).