随机海浪往往具有统计特征,组成频率会呈现出某一频率集中的特征。由此而衍生出的海浪谱多种多样。其中较为著名的一种海浪谱Jonswap被广泛应用在海洋科学、海洋工程领域。
以合田改进的Jonswap谱(1999)为例:
S
(
f
)
=
β
j
H
1
/
3
2
T
P
−
4
f
−
5
exp
[
−
5
4
(
T
P
f
)
−
4
]
γ
exp
[
−
(
f
f
P
−
1
)
2
/
2
σ
2
]
S(f)=\beta_jH_{1/3}^2T_P^{-4}f^{-5}\exp[-\frac{5}{4}(T_Pf)^{-4}]\gamma^{\exp[-(\frac{f}{f_P}-1)^2/2\sigma^2]}
S(f)=βjH1/32TP−4f−5exp[−45(TPf)−4]γexp[−(fPf−1)2/2σ2]
其中,
β
j
=
0.06238
0.230
+
0.0336
γ
−
0.185
(
1.9
+
γ
)
−
1
[
1.094
−
0.01915
ln
γ
]
\beta_j=\frac{0.06238}{0.230+0.0336\gamma-0.185(1.9+\gamma)^{-1}}[1.094-0.01915\ln\gamma]
βj=0.230+0.0336γ−0.185(1.9+γ)−10.06238[1.094−0.01915lnγ],
T
P
=
T
H
1
/
3
1
−
0.132
(
γ
+
0.2
)
−
0.559
T_P=\frac{T_{H_{1/3}}}{1-0.132(\gamma+0.2)^{-0.559}}
TP=1−0.132(γ+0.2)−0.559TH1/3,
对于平均Jonswap谱来说:
γ
=
3.3
,
σ
a
=
0.07
,
σ
b
=
0.09
,
\gamma=3.3,\sigma_a=0.07,\sigma_b=0.09,
γ=3.3,σa=0.07,σb=0.09,
α
=
0.076
X
ˉ
−
0.22
,
X
ˉ
=
1
0
−
1
t
o
1
0
5
,
\alpha=0.076\bar{X}^{-0.22},\bar{X}=10^{-1}to10^{5},
α=0.076Xˉ−0.22,Xˉ=10−1to105,
ω
m
=
22
(
g
/
U
ˉ
)
X
ˉ
−
0.33
\omega_m=22(g/\bar{U})\bar{X}^{-0.33}
ωm=22(g/Uˉ)Xˉ−0.33
或
f
m
=
3.5
(
g
/
U
ˉ
)
X
ˉ
−
0.33
,
f_m=3.5(g/\bar{U})\bar{X}^{-0.33},
fm=3.5(g/Uˉ)Xˉ−0.33,
X
ˉ
=
g
X
/
U
2
.
\bar{X}=gX/U^2.
Xˉ=gX/U2.
峰型参数
σ
=
σ
a
\sigma=\sigma_a
σ=σa(当
ω
<
=
ω
m
\omega<=\omega_m
ω<=ωm时),
σ
=
σ
b
\sigma=\sigma_b
σ=σb(当
ω
>
ω
m
\omega>\omega_m
ω>ωm)时。
% Improved Jonswap Spectral
% Designed by: JN-Cui
% Modified on 12/09/2019
%% DEFINITIONS
% alpha - energy scale factor; gama - spectral peak elevation factor;
% omega_m - spectral peak circular frequency; f_m - spectral peak frequency;
% U - wind speed at 10 m above sea surface; H_s - significant wave height;
% g - gravity acceleration;
%% FOR AVERAGE JONSWAP SPECTRAL
% gama=3.3; k=83.7; sigma_a=0.07; sigma_b=0.09;
% alpha=0.076*(X_bar)^(-0.22);
% X_bar=10^(-1)~20^(5); omega_m=22(g/U)*(X_bar)^(-0.33);
% f_m=3.5(g/U)(X_bar)^(-0.33);
%% IMPUT PARAMETERS
% H_s - significant wave height; T_s - wave period at 1/3 wave height
% dm - calculation interval of omega
%% FUNCTION
function [W_s,t,x,Omega,S]=random_wave_v2_0(H_s,T_p,dm,dt,T,dx,X)
d=2000;
g=9.8;
gama=3.3;
sigma_a=0.07;
sigma_b=0.09;
T_s=T_p*(1-0.132*(gama+0.2)^(-0.559));
f_p=1/T_p;
omega_p=f_p*2*pi;
i=1;
S_o=zeros(1,length(0:dm:1/T_s*2*pi*4));
Omega1=zeros(1,length(0:dm:1/T_s*2*pi*4));
for omega=0:dm:1/T_s*2*pi*4
if omega<omega_p
sigma=sigma_a;
else
sigma=sigma_b;
end
S_o(i)=320*H_s^2/(1/f_p)^4*omega^(-5)*exp(-1950/(1/f_p)^4*omega^(-4))*gama^exp(-0.5*((omega-omega_p)/(sigma*omega_p))^2.0);
Omega1(i)=omega;
i=i+1;
end
Omega=Omega1(2:end);
S=S_o(2:end);
N=length(S);
M=T/dt;
e=rand(1,N)*2*pi;
w=Omega;
f=zeros(1,length(w));
T_w=zeros(1,length(w));
K=zeros(1,length(w));
k=zeros(1,length(w));
a=zeros(1,length(w));
L=zeros(1,length(w));
for i=1:N
f(i)=w(i)/2/pi;
T_w(i)=1/f(i);
K(i)=g*T_w(i)^2/(2*pi);
fun=@(L1) L1/tanh(2*pi/L1*d)-K(i);
L(i)=fzero(fun,K(i));
k(i)=(2*pi/L(i));
a(i)=sqrt(2*S(i)*(w(2)-w(1)));
end
t=zeros(1,M);
for i=1:M
t(i)=(i-1)*dt;
end
NN=floor(X/dx)+1;
x=0:dx:X;
W_s=zeros(M,NN-1);
for j=1:M
for ii=1:NN
W_s(j,ii)=sum(a.*cos(k.*x(ii)-w.*t(j)+e));
end
end
end