Marching XXX and Wrapping Methods

The idea
of Marching XXX and Wrapping Methods is simple but powerful. Let XXX be a 2 or 3 -dimensional tiling.
XXX consists of nodes, edges, faces, volumes which fit together (no gaps) but may be of different shape and size.

2D XXX = quad grid, triangular grid, mixed grid, ...
3D XXX = cube or brick grid, tetra grid, mixed grid, ...

Each node of XXX is assigned to one part. (If no part can be assigned, fluid is assigned. Fluid is regarded as a part.)
Each edge: if its nodes are assigned to different parts, a geo node is assigned at the middle of the edge. The edge is split.
Each face: if any of its edges are split, the face is split.
Each volume: if any of its faces are split, the volume is split.

The title "wrapping" comes from the 3D-one-part case before the volume split is performed:
The method creates a new surface of the part, very close or coincident to the original surface. The part is wrapped.


The images show simple geometry approximation, geo nodes lie on the middle of the edges.

Improved geometry approximation
If the nodes of an edge are assigned to part A and part B, there must be at least
   one crossing of the edge and surface of part A and
   one crossing of the edge and surface of part B.
In most cases there is only one crossing and the geo node with transition mark "A to B" is placed
at this crossing.

Face and volume
Additional geo nodes inside faces are required to appoximate geometric feature lines and common boundaries
of 3 parts. Additional geo nodes inside volumes are required to appoximate their corners.

XXX nodes have one part assignment, whereas geo nodes have at least 2 and less than 5 part assignments.
Tetras have no or one part assignment. No part assignment, iff its nodes belong to different parts.
The Marching Tetra step splits these tetras and assignes a unique part id to each of the children.


Improved geometry approximation, geo nodes lie on the part surface

This picture shows how to assign two materials to the nodes of a triangle, quad, tetra or cube.

Adaptive tiling
The 2 or 3 -dimensional tiling may be regarded as a Finite Element mesh.
This mesh is locally refined when problems arise while creating geo nodes.
   edge: More than one crossing of the edge and part surfaces.
   face: The new geo node cannot be created inside.
   volume: The new geo node cannot be created inside.
Edges smaller than the user given RESOLUTION -parameter are not refined.

Element quality
Tetra quality is defined as   Volume / max edge length **3   and is normalized to 1.0 .
Element quality > 0.0 is achieved by:
   A proper mesh refinement strategy that avoids repeated non uniform tetra splits.
   Geo nodes are not positioned too close to the edge/face/volume boundaries.
   A mesh improvement and -coarsen run is the final step.

Marching Tetra Multigrid Method
The Marching Tetra Multigrid Method starts with a single cubic tetra, which covers all parts.

This Method was presented at the Nafems World Congress 2019.
It is impossible to mention all related work. An Internet search with the keywords
"wrapping BCC finite element quality multipart multigrid mesh marching" gives an
impression of how busy this field of research is.

18 parts disc brake assembly, disc diameter 360 mm, resolution 3mm

4400 mm car, 220 mm toy-car, resolution 20 mm