Page 100 - 《应用声学》2023年第1期
P. 100
96 2023 年 1 月
其中,myrank 表示 MPI 给每个核分配的进程编号, Toolbox 的算例选用了10 Hz,为了与原算例进行对
P表示每个核分别计算的声压。第19 行表示将各个 比,本文也选取了10 Hz。
核的声压规约求和到0号进程的rdcP,即总声压。 图 2 为所示环境的声线图,本文在方位角上选
择了 7 条声线,在俯仰角上选择了 21 条声线。可以
3 数值计算结果
看到,通过与倾斜海底的反复相互作用,向上坡传播
3.1 问题描述 的能量逐渐折射回下坡。
计算 Acoustics Toolbox 2020 年版本的算例 3.2 误差分析
wedge3dGaussian。该算例计算点源在全反射楔 本 节 分 别 使 用 串 行 BELLHOP3D 和 并 行
形海底中产生的声场,使用高斯波束。声源频率 BELLHOP3D 计算接收深度为 80 m、平行于水面
为 10 Hz,位置为 (0, −19.1 km, 8 m),接收深度为 的平面的传播损失。图 3 是串行 BELLHOP3D、并
80 m,接收点的水平距离为 0 ∼ 20 km,水平距离 行 BELLHOP3D 使用单进程和并行 BELLHOP3D
的离散点数为 301,接收点的方向角为 −90 ∼ 90 ,
◦
◦
使用72个进程计算的传播损失。
离散点数为 901。将声源发射的声线俯仰角范围设 数值计算结果显示,使用单进程的并行 BELL-
置为 [−80 , 80 ],离散点数 151;方位角范围设置为
◦
◦
HOP3D 与串行 BELLHOP3D 相比完全没有误差,
[−90 , 90 ],离散点数301。海洋环境如图1所示。
◦
◦
使用 72 进程的并行 BELLHOP3D 与串行 BELL-
需要指出,在计算声场时,相对于简正波方法,
HOP3D 计算的声压最大误差为 2.6577 × 10 −9 ,相
射线方法更适用于高频问题,但是由于 Acoustic- −7
对误差 8.3053 × 10 ,这主要是最后各进程归约求
和造成的。
f=10 Hz
c=1500 m/s
ڹए=1.2° 3.3 并行测试结果
ܦູງए 8 m 计算环境:2 个 Intel®Xeon®Gold 6140 CPU,
19.1 km
主 频 2.30 GHz。 使 用 消 息 传 递 软 件 oneAPI-
ܦູܫඵງ 400 m 2021.1.1,编译优化选项-O3。
100
并行性能的主要考察指标包括加速比、并行效
0 x
y 率和可扩展性。
-50 0 加速比指串行执行时间与并行执行时间的比
图 1 三维海洋环境示意图 值。并行效率指加速比与进程数的比值,即 E P
Fig. 1 Schematic diagram of three dimensional = T S /(P × T P ),其中 P 为并行程序执行进程数,
environment T P 为并行程序执行时间,T S 为串行程序执行时间。
ງए/m ງए/m
2000
-10 2000
0 1000 1000
ງए/m 500 ඵࣱᡰሏ y/km -20
1000 0 -30 0
-10 -1000 -1000
-40
-20
30
-30
20 -2000 -2000
-40 -50
10
-50 ඵࣱᡰሏ x/km 0 5 10 15 20 25 30
0 ඵࣱᡰሏ x/km
ඵࣱᡰሏ y/km
(a) ᤩڏ (b) οڏ
图 2 楔形问题的声线图
Fig. 2 Rays for the wedge problem