实验五 KRAKEN 程序的使用方法
【实验目的】
掌握声场计算的简正波方法;
掌握矩阵分解技术的数值算法;
熟悉 KRAKEN 程序的使用;
掌握宽带信号的滤波技术。
【实验原理】
Kraken 程序是基于简正波理论的声传播计算软件,实际上是一整套称之为
声学工具箱的模型化工具中的一部分。程序开发者 Michael B. Porter 的目的是开
发一个计算更精确、更有效的简正波模型软件,使之能处理一些更为复杂的海洋
模型。
基本理论
简正波方法需要解与深度有关的波动方程。对于某些问题(例如理想液体波
导),方程的解是各阶简正模式之和。但是对于大多数,即使是相当简单的情况
(例如 Pekeris 波导),这种处理方法也是不恰当的,这是因为分离变量后将不能
构成简正模式完备集,因而成为一个奇异问题。在此,采用另一种求解方法:声
场解的形式写为如(2.1)式所示的谱积分表达式,将围线闭合并且按照留数之和来
计算这一积分,从而得到声压场的解。
(
)
krk
r
(
zzG
,
(
zrp
,
dk
)
J
k
)
;
0
r
r
r
s
s
式中的格林函数满足以下条件:
,
)
(
krkHkzzG
( )(
)
;
1
0
r
r
dk
r
r
,
(2.1)
∫∞=
0
1
∫=
2
−
k
2
r
⎤
⎥
⎥
⎦
−=
(
δ
),
s
z
z
−
2
π
⎡
( )
z
ρ
⎢
⎣
1
( )
z
ρ
⎤
( )
zG
′
⎥
⎦
′
+
(
2
Gk
r
) ( )
0
+
T
f
) (
(
2
DGk
r
)
+
B
f
(
T
2
kg
r
( )
0
ρ
(
B
2
g
k
r
(
)
D
ρ
2
⎡
ω
⎢
( )
2
c
z
⎢
⎣
)
( )
dG
0
dz
=
,0
)
)
(
DdG
dz
=
0
顶部(T)和底部(B)的边界条件含有函数 BTf
, 和 BTg , 。在标准教科书中给出了这一
问题的解:
(
kzzG
;
,
s
(
zp
1
)
r
−=
)
(
zpk
;
r
2
<
(
)r
kzW
;
s
>
;
k
r
)
(2.2)
其中,
z
<
=
min
(
zz
,
)
,
s
(
z
>
)
kzW
;
=
=
(
)s
(
kzpkzp
;
1
max
(
zz
,
)
′
2
;
r
r
。 (
)rkzW ; 是朗斯基行列式:
)
kzpkzp
;
′−
1
),
(
)
(
′
2
;
r
r
式中 p1,p2 分别为满足边界条件的任意非平凡解。对于(2.1)式中的积分,我们可以
利用柯西定理把积分围线改变到复平面上。对于 Pekeris 波导问题,它有一个来
自下半空间边界条件的单个分支割线,我们接着把半圆 ∞C 和分支割线 C 分支割线加
起来,使谱积分表达式中的围线闭合,其中分支割线可以有不同的选择。这样,
利用柯西定理就可以把积分写成围线所围留数之和:
∞
∫
∞−
+
∫
C
∞
+
∫
C
分支割线
=
M
∑
iπ
2
m
1
=
res
(
k
rm
).
)rmk
式中 (
res
割选择,留数的个数可能为零,有限个或无限多个。
是围线包围的第 m 个极点的留数,对于不同的问题和不同的分支切
-
1k
2k−
2k
1k
图 2.1-1 Pekeris 问题使用 EJP 割线时特征值的位置
分支割线有多种选择,我们选择图 2.1-1 所示的 EJP 割线,它是以 Ewing,
Jardetzky 和 Press 命名的。这条割线走过实 rk 轴上的[
k−
2, k
]2
和整个虚轴。垂直波
数
k
bz
,
=
k
2
2
−
k
2
r
沿着这条割线为实数。这样就可以用简正波的留数之和以及支线
积分代替原来沿实波数轴的积分。
支线积分代表了辐射到海底的谱成分(
0
<
kr <
k
2
)的贡献和随距离增大而逐
渐消失的谱成分的贡献,因此它的重要性是随距离的增大而逐渐减小的。
当 ∞C 的半径趋于无限大时,由于汉克尔函数按指数规律衰减,故这一段围
线的贡献为零。将式(2.2)给出的格林函数表达式代入式(2.1),于是得到用留数之
和加分支割线积分表示的声场表达式:
(
zrp
,
)
=
i
2
M
∑
m
1
=
(
kzp
;
rm
1
kzW
;
∂
(
<
s
r
(
)
zp
2
)
k
/
∂
;
k
>
rm
)
kr
=
k
r
rm
)
krkH
( )(
1
0
rm
−
∫
C
EJP
rm
(2.3)
式中
rmk 是朗斯基行列式的第 m 个零点,确定这些特征值的方程称为特征方程
或 久 期 方 程 。 若
=mkW
)
(
0
, 则
p
;(2,1
mkz
)
线 性 相 关 且 可 以 通 过 简 单 换 算 使
mkzp
;(1
)
=
mkzp
;(2
)
。这样,可以定义
=)(zmψ
mkzp
;(1
)
=
mkzp
;(2
)
,则可以用 mψ
把声场写成
zrp
),(
=
i
2
M
∑
m
1
=
(
z
)
ψψ
s
m
kzW
);
∂
m
(
s
k
∂
z
)(
|
kk
=
m
krkH
)
(
)1(
0
m
−
∫
C
m
EJP
(2.4)
为简化该表达式,通过对
)(zmψ 进行适当的换算,可以令
kzW
∂
/);
(
s
k
∂
|
= mkk
=
1
,
则声压场为
zrp
),(
=
i
(4
ρ
z
s
)
M
∑
m
z
(
ψψ
m
1
=
m
s
)
rkHz
)(
m
)1(
0
(
)
-∫ EJPC
(2.5)
这里,垂直简正波被归一化,如下式所示
D
∫
0
z
)(
2
ψ
m
z
)(
ρ
dz
−
1
k
m
2
T
)
gfd
(
/
dk
2
ψ
m
)0(
+
k
m
1
k
m
2
B
)
gfd
(
/
dk
2
ψ
m
k
m
(
D
1)
=
数值方法
在分层介质条件下,简正波方程的解是一个复杂的特征值问题, Kraken 方
法采用有限差分方法求解方程,可以得到快速精确的解。则离散化模式问题就变
成为以下代数特征值问题:
(
xIkA
)
0
=
−
2
r
Kraken 模型将整个深度 D 划分成 N 个等间隔的宽度 h=D/N,相应地得到
N+1 个点,
图 2.1-2 含有界面的有限差分网格
假设 ρ为常数,则垂直简正波函数满足以下模式方程
z
)(
′′
ψ
+
(
2
ω
z
c
)(
2
−
k
2
)
ψ
z
)(
=
0
f
T
(
k
2
)
ψ
)0(
+
T
g
2
)
k
(
ρ
)0(
′
ψ
=
0
f
B
(
k
2
)
(
ψ
D
)
+
B
g
2
)
k
(
ρ
(
′
ψ
D
)
=
0
(2.6)
将前向差分、后向差分和中心差分估计,代入(2.6)式得
ψ
j
1
−
+−+
2{
h
2
[
2
ω
z
(
2
c
)
j
−
k
2
r
]}
ψψ
j
+
j
=
0
j=1……N-1
1
+
T
T
f
g
B
B
f
g
ψ
0
+
ψ
N
+
{1
ρ
2
ωψψ
)0(
2
−
h
+
c
[
0
1
2
−
k
]
ψ
0
h
2
0}
=
{1
ρ
ψψ
N
N
−
h
1
−
−
[
2
ω
Dc
(
2
)
−
k
2
r
]
ψ
N
h
2
0}
=
(2.7)
将(2.7)式中第一式写为
2-[1
h
ρ
1
h
ρ
ψ
j
+
1
−
+
2
h
(
2
ω
z
(
2
c
)
j
2
-
k
)]
ψ
j
+
1
h
ρ
ψ
j
1
+
=
0
(2.8)
0
3
2
2
2
3
e
e
d
d
e
1
OO
e
1
d
e
再将上式所有的差分方程联立,可得
⎡
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
记为
其中
O
d
e
=ψrkA
( 2
e
d
N
e
e
0
)
N
N
N
−
1
N
−
2
N
−
2
−
1
−
1
e
d
N
N
=
0
⎤
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
ψ
⎡
1
⎢
ψ
⎢
2
⎢
⎢
⎢
⎢
⎢
⎢
⎢
ψ
⎣
N
M
⎤
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
+−
2
2
h
2
ω
[
zc
(
2
h
ρ
2
−
k
2
]
)
0
+
k
f
T
(
kg
T
(
2
2
)
)
2-
h
2+
2
ω
[
zc
(
2
h
ρ
k
2
]
-)
j
j=1……N-1
2-
+
2
h
2
ω
[
zc
(
2
h
ρ
2
k
2
]
-)
N
−
B
k
f
(
kg
B
(
2
2
)
)
1
ρh
j=1……N
d
0
=
d
j
=
d
N
=
e j
=
在分界面上可用边界条件将各层联系起来。上层是水,下层是海底,利用法
向振速连续
)
'
ψ
D
(
ρ
w
=
)
'
ψ
D
(
ρ
b
得
⎧
⎨
⎩
Ψ−Ψ
N
h
w
N
1
−
−
⎡
⎢
⎣
2
ω
(
Dc
2
−
)
−
k
2
r
⎤
Ψ⎥
⎦
N
h
w
2
⎫
⎬
⎭
ρ
w
=
⎧
⎨
⎩
Ψ−Ψ
N
1
+
h
b
即
Ψ
h
N
1
−
ρ
ww
+
+
+Ψ−
N
[
2
ω
+Ψ−
N
[
2
ω
N
+
⎡
⎢
⎣
2
ω
(
Dc
2
+
)
−
k
2
r
⎤
Ψ⎥
⎦
N
h
b
2
⎫
⎬
⎭
ρ
b
−
(
)
Dc
2
h
ρ
ww
(
)
Dc
2
h
ρ
b
b
−
]
Ψ−
k
2
r
h
22
w
N
]
Ψ−
k
2
r
h
2
b
N
2
+
Ψ
h
b
N
1
+
ρ
b
=
0
上式形式与(2.8)式类似,因此可将两层介质各自的对称矩阵构成三对角矩阵
求解本征值。一旦求得本征值,特征向量可用反迭代法求得。
目前计算本征值的方法可以分为两大类.第 1 类方法假设本征值的虚部很
小,忽略其虚部或采用摄动的方法,使得本征方程解耦,然后进行求解.这种方
法的计算速度快,精度高,但是由于它不能计算虚部比较大的高号简正波本征值,
因而只能应用于不需要考虑高号简正波的情况。例如 KRAKEN 算法.第 2 类方
法是直接在复数域内求解本征方程,例如 KRAKENC 算法,虽然它能够处理任
意号数的本征值,但是其计算速度非常慢,不适用于声场的快速计算。
Kraken 程序应用
Kraken 是在直角坐标系和柱坐标系下处理与径向相关问题的简正波程序,
其中与径向相关的解采用绝热或耦合简正波方法给出。Kraken 程序可自由选择
绝对软、绝对硬、均匀半空间等边界条件,能处理分层介质环境,考虑了界面的
粗糙度和弹性介质的情况,并可计算表面和底部平面反射系数。求特征值的方法
能有效的保证收敛,特征函数的计算非常可靠,并且通过外插法达到高精度,还
可扩展到解决三维可变环境中的问题[35]。
Kraken 程序的模块结构
图 2.1-3 为 KRAKEN 程序的模块结构,其中方框内为程序名,圆框内为输
入输出文件。
从图中可以看出,KRAKEN 程序实际上是由多个子程序构成的,不同的子
程序可以分别完成某一方面的任务。按其功能主要分为以下三个部分:
1. 模式计算
包括 KRAKEN、KRAKENC 及 KRAKENL,在处理实际问题时只需选择其
中一个。它们的主要功能是读入 ENVFIL(环境文件),计算出各阶简正波的波数,
相速度以及深度方向的声场等值,并存入 MODFIL(模式文件)及一个二进制的
“隐含”文件 SHDFIL 中,以供其他程序调用。KRAKEN 程序忽略了弹性介质
中的衰减,而 KRAKENL 则较少使用,相比之下,KRAKENC 时处理实际问题
时较常用的选择。
2. 声场计算程序
绝热近似或单向耦合模式。
FIELD :计算水平方向上各点的声场值。对于环境与距离有关的问题采用
FIELD3D :使用绝热近似理论计算三维可变环境问题的声场。需要输入一
个附加的一个海底环境参数文件 FLPFIL。
3. 绘图程序
PLOTMODE:绘制各阶简正波深度方向的声场。
PLOTGRN:绘制深度分离的波动方程格林函数。
PLOTTLR:绘制特定深度沿水平方向的传播损失。
PLOTTLD:绘制特定距离沿深度方向的传播损失。
PLOTTRI:绘制三维可变环境的三角网。
PLOTFIELD:采用直角坐标或极坐标绘制传播损失。
PLOTRAYXY:绘制声线图。
上述各绘图子程序中,有的只需环境文件 ENVFIL(如:PLOTSSP),有的还需
要调用 KRAKEN 及 FIELD 程序所产生的 MODFIL 文件和 SHDFIL 文件。
图 2.1-3 KRAKEN 程序包的模块结构
Kraken 程序的输入输出
Kraken 程序的输入文本文件称为环境文件,其后缀名为.ENV,下面以一具
体实例说明运行 Kraken 程序所需输入的海洋环境参数,如下所示:
'FRAMIV Twersky S/S ice scatter' ! TITLE
50.0 ! FREQ (Hz)
4 ! NMEDIA
'NST' ! OPTIONS
0.0092 8.2 5.1 ! BUMDEN (1/m) ETA (m) XI (m)
750 0.0 3750.0 ! NMESH SIGMA (m) Z(NSSP)
0.0 1436.0 0.0 1.03/ ! Z(m) CP CS(m/s) RHO(gm/cm3)
50.0 1437.7 /
100.0 1441.9 /
150.0 1450.0 /
200.0 1458.4 /
300.0 1460.5 /
400.0 1461.0 /
500.0 1462.0 /
900.0 1465.8 /
1200.0 1469.0 /
1800.0 1477.0 /
2500.0 1487.9 /
3750.0 1510.4 /
35 0.0 3808.33
3750.0 1504.6 0.0 1.50 .15 0.0
3808.33 1603.07 /
35 0.0 3866.66
3808.33 1603.07 0.0 1.533 .15 0.0
3866.66 1701.53 /
35 0.0 3925.0
3866.66 1701.53 0.0 1.566 .15 0.0
3925.0 1800.0 /
'A' 0.0 ! BOTOPT SIGMA (m)
3925.0 1800.0 0.0 1.60 .15 0.0
0.0 1504.0 ! CLOW CHIGH (m/s)
300.0 ! RMAX (km)
1 100.0 / ! NSD SD(1:NSD) (m)
1 200.0 / ! NRD RD(1:NRD) (m)
各输入参数的说明如下,以下输入可以在单个环境文件 ENVFIL 中根据需要
重复多次。每当遇到以下输入结束时,就会产生一个独立的模式文件 MODFIL。
(1) – 标题
句式:TITLE
说明:
TITLE:单引号内输入运行程序的标题
(2) – 频率
句式:FREQ
说明:
(3) – 介质数
FREQ:以 Hz 为单位的频率值。
句式:NMEDIA (<20)
说明:
NMEDIA: 介质数目。
该行输入介质的层数,同一层内各参数可以认为是缓慢变化的,层与层的界
面则是参数发生突变或流体/弹性介质交界面。
(4) – 选项
句式:OPTION
说明:
选项(1:1):声速剖面(SSP)插值类型
‘C’—三次多项式插值,
‘N’—N2 型线性插值(n 是折射率),
‘S’—三次样条插值,
‘A’—解析形式。用户必须先修正 PROFIL.FOR 文件中的
解析式,然后进行编译、连接。
如果不能确定合适选项,建议选择'C' 或 'N'。
选项(2:2):衰减系数单位选择
‘N’:Nepers/m
‘F’:dB/(kmHz)
‘M’:dB/m
‘W’:dB/波长
‘Q’:品质因数
选项(3:3):顶部边界条件类型。
‘V’:上半部空间为真空,
‘A’:上半部为弹性半空间,
若选择此项,则需在下一行输入半空间参数
‘R’: 绝对硬边界
射系数)
‘F’: (只对 KRAKENC 有效)由*.TRC 文件输入上界面反
‘W’:(只对 KRAKENC 有效)将界面反射系数写入*.IRC
此外,还有’S’、’H’、’T’、’R’、’I’等选项,对于大多数的海洋声学问题,’V’
文件并作为底面边界条件读入
是一般的选择。
(5) – TWERSKY 散射参数
句式:BUMDEN ETA XI
说明:
BUMDEN:扰动密度
ETA:主轴 1
XI:主轴 2
以上三参数仅当选中顶部边界条件类型 OPT(3:3)为 T 选项时有效
(6) – 介质特性
句式:NUMESH SIGMA Z(NSSP)
说明:
NUMESH:进行数值计算所分的网格数,网格应取的足够小以保证计
算的精确,对于声学介质通常每波长取 10 个点就够了,对