This paper presents an algorithm for the refinement of two-or threedimensional meshes with respect to an implicitly given domain, so that its surface is approximated by facets of the resulting polytopes. Using a Cartesian grid, the proposed algorithm may be used as a mesh generator. Initial meshes may consist of polytopes such as quadrilaterals and triangles, as well as hexahedrons, pyramids, and tetrahedrons. Given the ability to compute edge intersections with the surface of an implicitly given domain, the proposed marching volume polytopes algorithm uses predefined refinement patterns applied to individual polytopes depending on the intersection pattern of their edges. The refinement patterns take advantage of rotational symmetry. Since these patterns are applied independently to individual polytopes, the resulting mesh may encompass the so-called orientation problem, where two adjacent polytopes are rotated against one another. To allow for a repeated application of the marching volume polytopes algorithm, the proposed data structures and algorithms account for this ambiguity. A simple example illustrates the advantage of the repeated application of the proposed algorithm to approximate domains with sharp corners. Furthermore, finite element simulations for two challenging real-world problems, which require highly accurate approximations of the considered domains, demonstrate its applicability. For these simulations, a variant of the fictitious domain method is used.
KEYWORDSfictitious domain method, finite element method, marching cubes, marching tetrahedrons, mesh generation, volume mesh Delaunay, quadtree/octree, and advancing-front methods for mesh generation. Using quadtree or octree techniques, 2-6 Cartesian grids covering a given domain are repeatedly refined via isotropic bisections of quadrilaterals into four similar sub-quadrilaterals or of hexahedrons into eight similar sub-hexahedrons for