一、非均匀声速环境设置
在BELLHOP-3D模型中关于声速设置是这样写的:
当一条射线穿过海洋学场时,声速是在一个单元格内线性插值声速矩阵,构建坐标系下相应网格位置的声速值。
BELLHOP3D说明书中给出示例:KoreanSea3d_ray.env,关键参数是SSOPT行中的“H”,表示六面体插值。深度从0到5500的线通常会包含实际的声速轮廓;然而,当选择“H”选项时,它们将被忽略。
然后,实际的声速字段作为一个扩展名为“.SSP”(在本例中为“KoreanSea3d_ray.ssp”)的附加输入文件提供。SSP文件的格式如下 :
示例运行结果:
二、声速插值带来的问题
然后我修改了声源位置,发生了报错。
目前个人分析原因主要在于这几个参数的设置有问题,参数分别为:声源x位置,y位置,水平距离以及x和y的计算范围(在以声源位置为中心,半边长为box_x和box_y的长方形内得到传播损失),在保证:
注意:
1、Box_x和Box_y大于R时,图形可以得到完全的显现,否则只出现box范围的部分图形(x±Box_x,y±Box_y),这一点无论是否插值ssp都会出现。
eg:R=30km,Box_x=10,Box_y=10; R=30km,Box_x=20,Box_y=20;
R=30km,Box_x=30,Box_y=30;
2、距离声源x和y位置Box_x和Box_y范围不得超过.ssp文件中的坐标值,否则无法插值获取相应位置处的声速值,这是插值ssp特有的问题,如果直接给深度和和声速一一对应,如下图所示则无需考虑。
eg:x=30.5km,y=750km,R=30km,Box_x=50,Box_y=50;这组参数中明显x的范围(30.5-50km)超出了.ssp初始的0位置,所以会显示报错。如果直接设置50也会报错,需要大于.ssp边界值0.5以上才可以。
三、非均匀声速对声传播的影响
env文件设置:
ssp文件设置:
声速随x位置变化
声速随y位置变化
声速随z位置变化
示例: 0-360°范围的传播损失:
参数设置:
env文件:
ssp文件:
得到深度1000m时的传播损失图:
plotshd函数中有read_shd_bin这样一个子函数,里面写道pressure的个数取决于Ntheta,因此在画垂直剖面图时,如果想选定角度的话,需要修改plotshd函数中的itheta,默认itheta=1。
分别将isz调整为1,10,19,28,得到0°,90°,180°,270°的垂直剖面图:
四、非均匀声速下多发多收传播损失
根据设置发射声源的xy可进行排列组合得到声源位置
在plotshdpol时,在后面给出具体的声源位置,前面【】内是x,后面【】内为y。
得到四个不同发射接收位置的结果:
将plotshdpol的画图深度调为100m,得到的结果:
通过传播损失的变化,体现声速在空间上的不均匀性。