Approximating partial differential equations for extensive industrial and scientific applications requires leveraging the power of modern high-performance computing. In large-scale parallel computations, the geometrical discretisation rapidly becomes a bottleneck in the simulation pipeline. Unstructured mesh generation is hardly automatic, and meshing algorithms cannot efficiently exploit distributed-memory computers. Adaptive Cartesian meshes are far more advantageous, providing cheap and scalable mesh generation, partitioning, and balancing compared to unstructured meshes. However, Cartesian meshes are not suitable for complex geometries when using standard discretisation techniques. Unfitted finite element methods are a promising solution to the abovementioned problems. Nevertheless, their application is usually constrained to implicit (level-set) geometrical representations. The extension to general geometries, e.g., provided by an STL surface mesh, requires advanced intersection algorithms. This work presents an efficient parallel implementation of all the geometric tools required, e.g., for unfitted finite element methods (in a broad sense), for explicit boundary representations. Such geometries can readily be generated using standard computer-aided design tools. The proposed geometrical workflow utilise a multilevel approach to overlapping computations, effectively eliminating bottlenecks in large-scale computations. The numerical results demonstrate perfect weak scalability over 13,000 processors and one billion cells. All these algorithms are implemented in the open-sopurce STLCutters.jl library, written in the Julia programming language. The library is designed to be used in conjunction with the Gridap.jl library provides a high-level interface to the finite element method.
翻译:暂无翻译