{"title":"STLCutters.jl: A scalable geometrical framework library for unfitted finite element discretisations","authors":"Pere A. Martorell , Santiago Badia","doi":"10.1016/j.cpc.2024.109479","DOIUrl":null,"url":null,"abstract":"<div><div>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. Besides, partitioning of unstructured meshes relies on graph partitioning strategies, which scale poorly. As a result, the use of dynamic load balancing for locally refined meshes becomes prohibitive. 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. These numerical schemes rely on Cartesian meshes and can handle complex geometries. 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 utilises 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-source <span>STLCutters.jl</span> library, written in the Julia programming language. The library is designed to be used in conjunction with the <span>Gridap.jl</span> library provides a high-level interface to the finite element method.</div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"309 ","pages":"Article 109479"},"PeriodicalIF":7.2000,"publicationDate":"2024-12-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465524004028","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0
Abstract
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. Besides, partitioning of unstructured meshes relies on graph partitioning strategies, which scale poorly. As a result, the use of dynamic load balancing for locally refined meshes becomes prohibitive. 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. These numerical schemes rely on Cartesian meshes and can handle complex geometries. 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 utilises 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-source 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.
期刊介绍:
The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper.
Computer Programs in Physics (CPiP)
These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged.
Computational Physics Papers (CP)
These are research papers in, but are not limited to, the following themes across computational physics and related disciplines.
mathematical and numerical methods and algorithms;
computational models including those associated with the design, control and analysis of experiments; and
algebraic computation.
Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.