计算机科学
解算器
有限体积法
多边形网格
计算
计算科学
空气声学
计算空气声学
离散化
稳健性(进化)
并行计算
算法
数学
物理
声压
机械
电信
基因
生物化学
计算机图形学(图像)
数学分析
化学
程序设计语言
作者
Matteo Falone,Alon Zameret,Yann Delorme,Yanir Edri,Solal Amouyal,Mark Wasserman,Zhaohui Ding,Valerio D’Alessandro
标识
DOI:10.1016/j.cpc.2023.108939
摘要
This paper presents an optimized framework for simulating aeroacoustic flow on unstructured meshes. The libFastMesh (LFM) framework is based on a low-dissipation finite–volume discretization, together with high-order explicit time integration, for direct computation of aeroacoustic fields. These methods were previously implemented in caafoam, an OpenFOAM-based solver developed by D'Alessandro et al. [1] to resolve aeroacoustic flows. The new framework is specifically developed from scratch to alleviate two of the main bottlenecks currently limiting the performance of OpenFOAM-based solvers at large scale: memory bandwidth and inter-node communication. Compact data structures and compute kernel fusion are employed to enhance cache utilization and re-use, respectively. Separate treatment of inter-process boundary cells, together with non-blocking MPI communication enable effective overlap between communication and flux computations. The accuracy and robustness of libFastMesh are established via simulations of well-established aeroacoustic flow benchmarks. Comparison to previous simulation results obtained with caafoam, and to DNS data serve to validate the code. Finally, the effectiveness of the aforementioned optimizations is demonstrated through rigorous analysis of the proposed solver performance in single-node and multi-node operation modes. The obtained results show that libFastMesh offers a speed-up of up to 20x with respect to to the previously developed OpenFOAM-based solver, caafoam, in large-scale computations. Moreover, LFM is shown to scale extremely for cell-per-core ratios of less than 500. These results are particularly appealing given the highly resource-demanding nature of direct computational aeroacoustics (CAA). Consequently, LFM could be an extremely attractive tool for scientists who wish to conduct large-scale CAA simulations on modern, exascale architectures. Program Title: libFastMesh CPC Library link to program files: https://doi.org/10.17632/7w9fy2xtcf.1 Developer's repository link: https://github.com/TRC-HPC/LFM_Public Licensing provisions: GPLv3 Programming language: C++ Nature of problem: This software solves compressible Navier–Stokes equations. The adopted numerics and flow models allow to capture with high accuracy aerodinamically generated sound. The solver is also designed to take advantage of the massively parallel computing systems which are strictly required for facing real–life aeroacoustic problems. Solution method: The libFastMesh (LFM) framework is based on a low-dissipation finite–volume discretization, together with high-order explicit time integration, for direct computation of aeroacoustic fields on unstructured meshes. Convective terms can be approximated using either the Kurganov–Noelle–Petrova (KNP) scheme or Pirozzoli's energy conserving approach. Time integration is fully–explicit and relies on a low-storage, 4th order Runge–Kutta scheme. The solver is specifically developed to run efficiently on modern many-core CPUs, and at large-scale where it exhibits excellent strong scaling features. This is made possible thanks to several optimizations that alleviate memory bandwidth and inter-node communication bottlenecks. Additional comments: OpenFOAM-v2112+ is an installation prerequisite. Standard OpenFOAM pre-processing and post-processing tools, as well as mesh decomposition and reordering methods may be used with the solver.
科研通智能强力驱动
Strongly Powered by AbleSci AI