Bellhop中的env文件配置

Bellhop

Bellhop,是一种水声工具箱,可以进行水下声学仿真,通过env文件设置环境参数,可得到与之对应的声线信息、多途等仿真,本博文并不着重介绍Bellhop的使用经验,主要介绍env文件的设置。使用东泰山版本即可,他的介绍已经很详细了,同时还有Acoustics Toolbox官方及时更新的版本。


env文件说明

env文件是Bellhop仿真中最先要解决的文件编辑,包含了对声场中基础参数的设计。env文件通过Bellhop工具仿真后会输出多个文件,我个人主要应用 .arr文件.shd文件

以下为Bellhop输出的三个文件说明:

.arr文件:描述声线到达的时间序列;
.shd文件:描述声线的传播损失;
.ray文件:描述声线和本征声线。

先看一个典型的env文件大致包含了什么:

标题等

'kenvintest'                      ! TITLE                               标题
6000.0                            ! FREQ(Hz)                            声波频率
1                                 ! NMEDIA                              介质分层数 传播介质个数为 1

上端属性

选择模式说明:

主要描述了 Bellhop 为了计算声速以及沿着声线相关的其他参数而采用的一些插值方法,下面是为声速剖面进行插值。

选项说 明
CC-线性插值
NN2-线性插值(n 是折射率)
S三次样条插值
Q2D SSP 四边形插值(只用于 BELLHOP,从文件中读取 .ssp 文件。)
H3D SSP 六面体插值(只用于 BELLHOP3D,从文件中读取 SSP)
A解析值 用户必须修改 ANALYT.FOR 中的解析公式,然后再编译和链接。

主要描述海水表面的类型

选项说 明
V表面真空
R表面完全刚性的硬物
A声学半空间
F从一个*.brc 文件读入反射系数
S用于“软层(Soft-boss)”Twersky 散射
H用于“硬层(Hard-boss)”Twersky 散射
T只用于“软层(Soft-boss)”Twersky 散射的幅度
I只用于“硬层(Hard-boss)”Twersky 散射的幅度

其中在描述为“A”的声学半空间中,SURFACE-LINE 格式如下:

z-surfacecp-surfacecs-surfacedensity-surfaceAP-surfaceAS-surface
深度纵波声速横波声速表面密度纵波吸收系数横波吸收系数

如果不选’A’,Bellhop 只用到前两个参数(每行要以“/” 结尾,其余参数用默认的),后面的参数是其他模型使用的。

描述底部的衰减所用的单位。

选项说 明
F(dB/m)kHz, F 指与频率相关
L衰减单位对应于参数损失 损失参量(又称损失切线)
MdB/m,M 指每米
NNepers/m
Q品质因子
WdB/λ, W 指波长

可选参数,如果描述声音的 Thope Volume 衰减,要设置为“T”

可选参数,用.ati 文件来描述海面边界形状要设置为’*’,如可以描述为高斯波浪等所需的海面形状。
根据以上选择模式为CVMT

'CVMT'                            ! SSPOPT								模式1
0 0.0 28.0 
! 分别对应:NMESH内部离散化使用的网格点数。
!SIGMA--界面 RMS 粗糙度。BELLHOP 和 SPARC 忽略此值。
!DEPTH_of_BOTTOM (m)--介质底端的深度(m)

声速曲线

0.0 1528.6 /
1.0 1528.5 /
2.0 1528 /
3.0 1527 /
4.0 1526.5 /
5.0 1526 /
6.0 1526 /
7.0 1525.8 /
8.0 1524 /
9.0 1517 /
10.0 1505 /
11.0 1500 /
12.0 1496 /
13.0 1493 /
14.0 1490.5 /
15.0 1488 /
16.0 1485.5 /
17.0 1483 /
18.0 1480 /
19.0 1477 /
20.0 1475 /
21.0 1473 /
22.0 1471 /
23.0 1469 /
24.0 1466 /
25.0 1460 /
26.0 1458 /
27.0 1457.5 /
28.0 1455 /

声线图为:

底部半空间属性

和上端属性类似,主要参考,这里选择A模式

'A' 0.0
28 1800.0 0.0 1.84 0.3 0.0 /

收发设置

以下是对于发射和接收的单元个数、距离的说明。

1                   ! NSD-- The number of source depths ,声源在垂直方向上个数,一般小于5020                   ! SD(1:NSD) (m)-- The source depths (m),声源的深度;
1                   ! NRD-The number of receiver depths,接收水听器的垂直方向上个数 (NRD<101 and NR*NRD<= 52000)30 /                 ! RD(1:NRD) (m)--The receiver depths (m),接收水听器的深度;
1                   ! NRR--The number of receiver ranges,接收水听器的水平方向上个数(NR<1001 and NR*NRD<= 50000)0.2 /                 ! RR(1:NR ) (km)The receiver ranges (km),接收水听器的水平接收范围;

输出描述

用五个字母来描述输出选项,分别对应了:

选项说 明
A幅度和传播时间
E本征声线坐标
R声线坐标
C相干声压
I非相干声压
S半相干声压

在我的仿真中选择A,最终输出为幅度和传播时间。

'A'                 ! Run-type: ’R/C/I/S’

其他设置

10                  ! NBEAMS--波束数目。设为 0 时,程序会自动计算一个值。
-20 20 /            ! ALPHA(1:NBEAMS) (degrees)--开扇角度。
0 50 2.5            ! STEP (m) ZBOX (m) RBOX (km) 对应的有STEP--声线跟踪的步长,ZBOX--The maximum depth to trace a ray (m),接收水听器的最大深度,RBOX--The maximum range to trace a ray (km),接收水听器与声源的最
大水平距离。

其他说明

在以上设置中我们使用的是的单发单收,实际环境中涉及的会有多个,例如单发多收的情况,在收发设置单元中,我们做一下设置说明。

单发单收

1                   ! NSD-- The number of source depths ,声源在垂直方向上个数,一般小于5020                   ! SD(1:NSD) (m)-- The source depths (m),声源的深度;
1                   ! NRD-The number of receiver depths,接收水听器的垂直方向上个数 (NRD<101 and NR*NRD<= 52000)30 /                 ! RD(1:NRD) (m)--The receiver depths (m),接收水听器的深度;
1                   ! NRR--The number of receiver ranges,接收水听器的水平方向上个数(NR<1001 and NR*NRD<= 50000)0.2 /                 ! RR(1:NR ) (km)The receiver ranges (km),接收水听器的水平接收范围;

以图形的方式展现如下

单发多收

同一距离

这种情况下的接收为同一距离下的不同深度,设置如下:

1                   ! NSD-- The number of source depths ,声源在垂直方向上个数,一般小于50100                 ! SD(1:NSD) (m)-- The source depths (m),声源的深度;
2                   ! NRD-The number of receiver depths,接收水听器的垂直方向上个数 (NRD<101 and NR*NRD<= 52000)30 50 /           ! RD(1:NRD) (m)--The receiver depths (m),接收水听器的深度;
1                   ! NRR--The number of receiver ranges,接收水听器的水平方向上个数(NR<1001 and NR*NRD<= 50000)0.2/                ! RR(1:NR ) (km)The receiver ranges (km),接收水听器的水平接收范围;

以图形的方式展现如下

在我的仿真中,设置声线数为20的时候,下图中debug后的Narr显示为[2,1],即代表了接收1和接收2分别对应的到达次数为2和1
在这里插入图片描述

不同距离

这种情况下为不同距离下的接收,设置如下:

1                   ! NSD-- The number of source depths ,声源在垂直方向上个数,一般小于50100                 ! SD(1:NSD) (m)-- The source depths (m),声源的深度;
2                   ! NRD-The number of receiver depths,接收水听器的垂直方向上个数 (NRD<101 and NR*NRD<= 52000)150 300 /           ! RD(1:NRD) (m)--The receiver depths (m),接收水听器的深度;
2                   ! NRR--The number of receiver ranges,接收水听器的水平方向上个数(NR<1001 and NR*NRD<= 50000)1 2/                ! RR(1:NR ) (km)The receiver ranges (km),接收水听器的水平接收范围;

以图形的方式展现如下

同样的设置声线数为20的时候,下图中debug后的Narr显示为[2,1],[6,2],即代表了接收1、接收2、接收3、接收4分别对应的到达次数为2、1、6、2


完整env文件

以下为一段较为完整的env文件。

'SH Lake Freq = 6 kHz, Sd = 30 m' ! TITLE
6000.0 ! FREQ(Hz)
1 ! NMEDIA
'CVMT' ! SSPOPT
0 0.0 28.0 ! NMESH SIGMA DEPTH_of_BOTTOM (m)
0.0 1528.6 /
1.0 1528.5 /
2.0 1528 /
3.0 1527 /
4.0 1526.5 /
5.0 1526 /
6.0 1526 /
7.0 1525.8 /
8.0 1524 /
9.0 1517 /
10.0 1505 /
11.0 1500 /
12.0 1496 /
13.0 1493 /
14.0 1490.5 /
15.0 1488 /
16.0 1485.5 /
17.0 1483 /
18.0 1480 /
19.0 1477 /
20.0 1475 /
21.0 1473 /
22.0 1471 /
23.0 1469 /
24.0 1466 /
25.0 1460 /
26.0 1458 /
27.0 1457.5 /
28.0 1455 /
'A' 0.0
28 1800.0 0.0 1.84 0.3 0.0 /
1 ! NSD
6 !SD(1:NSD) (m)
1 ! NRD
3 / ! RD(1:NRD) (m)
1 ! NRR
2 / ! RR(1:NR ) (km)
'A' ! Run-type
20 ! NBEAMS
-20 20 / ! ALPHA(1:NBEAMS) (degrees)
0 50 2.5 ! STEP (m) ZBOX (m) RBOX (km)

经过bellhop后的env会产生对应的文件,因为设置为'A' ! Run-type,所以产生以下文件。
在这里插入图片描述

其他

关于如何使用Bellhop可参见东泰山版本的使用说明,如果你习惯使用Python平台,可参见我个人关于Bellhop的Python版本的设置说明。

  • 18
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值