The calculation of the acoustic field in or around objects is an important task in acoustic engineering. To numerically solve this task, the boundary element method (BEM) is a commonly used method especially for infinite domains. The open source tool Mesh2HRTF and its BEM core NumCalc provide users with a collection of free software for acoustic simulations without the need of having an in-depth knowledge into numerical methods. However, we feel that users should have a basic understanding with respect to the methods behind the software they are using. We are convinced that this basic understanding helps in avoiding common mistakes and also helps to understand the requirements to use the software. To provide this background is the first motivation for this paper. A second motivation for this paper is to demonstrate the accuracy of NumCalc when solving benchmark problems. Thus, users can get an idea about the accuracy they can expect when using NumCalc as well as the memory and CPU requirements of NumCalc. A third motivation for this paper is to give users detailed information about some parts of the actual implementation that are usually not mentioned in literature, e.g., the specific version of the fast multipole method and its clustering process or how to use frequency-dependent admittance boundary conditions.
翻译:物体内部或周围的声场计算是声学工程中的重要任务。边界元法是数值求解该问题的常用方法,尤其适用于无限域。开源工具Mesh2HRTF及其BEM核心代码NumCalc为用户提供了一套无需深入数值方法知识即可进行声学仿真的免费软件集合。然而,我们认为用户应当对其所用软件背后的方法具备基本理解。我们确信这种基础理解有助于避免常见错误,并理解使用该软件所需的各项条件。为读者提供这一背景知识是本文的第一动机。本文的第二动机是验证NumCalc求解基准测试问题的准确性,使用户能预期使用NumCalc时可达到的计算精度,以及所需的运行内存与CPU资源。本文的第三动机是为用户提供实际实现中通常文献未提及的详细技术信息,例如快速多极子方法的特定版本及其聚类过程,或如何应用频率相关导纳边界条件。