主要内容GydF4y2Ba

解偏微分方程GydF4y2Ba

该示例通过使用符号数学工具箱™来求解微分方程来模拟海啸波现象。GydF4y2Ba

该仿真是基于Goring和Raichlen[1]的一篇论文对这一现象的简化可视化。GydF4y2Ba

海啸模型的数学GydF4y2Ba

孤立波(Korteweg-de Vries方程的孤子溶液)在沿恒定深度的管道沿左侧的恒定速度行进。这对应于海上旅行的海啸。在运河的左端,有一个模拟大陆架的斜坡。到达斜坡后,孤波开始增加其高度。当水变得非常浅,大部分波都反射回运河。然而,在斜坡的末端产生狭窄但高峰的水,并在入射波的原始方向上进行减小的速度。这是终于击中岸边的海啸,沿着海岸线造成灾难性的破坏。接近岸边的波的速度相对较小。波最终开始打破。GydF4y2Ba

使用线性分散水理论,高度GydF4y2Ba 你GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba T.GydF4y2Ba )GydF4y2Ba 在不同深度的一维管中高于未受干扰的水位的自由表面波GydF4y2Ba HGydF4y2Ba (GydF4y2Ba XGydF4y2Ba )GydF4y2Ba 是以下部分微分方程的解决方案。(见[2])GydF4y2Ba

你GydF4y2Ba T.GydF4y2Ba T.GydF4y2Ba =GydF4y2Ba GGydF4y2Ba (GydF4y2Ba HGydF4y2Ba 你GydF4y2Ba XGydF4y2Ba )GydF4y2Ba XGydF4y2Ba

在该公式中,下标表示部分衍生物,和GydF4y2Ba GGydF4y2Ba =GydF4y2Ba 9.GydF4y2Ba .GydF4y2Ba 8.GydF4y2Ba 1GydF4y2Ba mGydF4y2Ba /GydF4y2Ba S.GydF4y2Ba 2GydF4y2Ba 是引力加速度。GydF4y2Ba

考虑一个波穿过线性斜率GydF4y2Ba HGydF4y2Ba (GydF4y2Ba XGydF4y2Ba )GydF4y2Ba 从具有恒定深度的区域GydF4y2Ba HGydF4y2Ba 2GydF4y2Ba 到具有恒定深度的区域GydF4y2Ba HGydF4y2Ba 1GydF4y2Ba «GydF4y2Ba HGydF4y2Ba 2GydF4y2Ba .傅里叶变换GydF4y2Ba T.GydF4y2Ba 将水波偏微分方程转化为傅里叶模式的常微分方程GydF4y2Ba 你GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba T.GydF4y2Ba )GydF4y2Ba =GydF4y2Ba 你GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba E.GydF4y2Ba 一世GydF4y2Ba ωGydF4y2Ba T.GydF4y2Ba .GydF4y2Ba

-GydF4y2Ba ωGydF4y2Ba 2GydF4y2Ba 你GydF4y2Ba =GydF4y2Ba GGydF4y2Ba (GydF4y2Ba HGydF4y2Ba 你GydF4y2Ba XGydF4y2Ba )GydF4y2Ba XGydF4y2Ba

对于具有恒定深度的区域GydF4y2Ba HGydF4y2Ba ,傅里叶模式是行进波以恒定速度在相反方向上传播GydF4y2Ba CGydF4y2Ba =GydF4y2Ba GGydF4y2Ba HGydF4y2Ba .GydF4y2Ba

你GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba T.GydF4y2Ba )GydF4y2Ba =GydF4y2Ba CGydF4y2Ba 1GydF4y2Ba (GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba E.GydF4y2Ba 一世GydF4y2Ba ωGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba +GydF4y2Ba XGydF4y2Ba /GydF4y2Ba CGydF4y2Ba )GydF4y2Ba +GydF4y2Ba CGydF4y2Ba 2GydF4y2Ba (GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba E.GydF4y2Ba 一世GydF4y2Ba ωGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba -GydF4y2Ba XGydF4y2Ba /GydF4y2Ba CGydF4y2Ba )GydF4y2Ba

解决方案GydF4y2Ba 你GydF4y2Ba 2GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba T.GydF4y2Ba )GydF4y2Ba =GydF4y2Ba E.GydF4y2Ba 一世GydF4y2Ba ωGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba +GydF4y2Ba XGydF4y2Ba /GydF4y2Ba CGydF4y2Ba 2GydF4y2Ba )GydF4y2Ba +GydF4y2Ba R.GydF4y2Ba (GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba E.GydF4y2Ba 一世GydF4y2Ba ωGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba -GydF4y2Ba XGydF4y2Ba /GydF4y2Ba CGydF4y2Ba 2GydF4y2Ba )GydF4y2Ba 对于深水区,是两波的叠加:GydF4y2Ba

  • 以恒定速度向左传播的波GydF4y2Ba CGydF4y2Ba 2GydF4y2Ba =GydF4y2Ba GGydF4y2Ba HGydF4y2Ba 2GydF4y2Ba

  • 通过频率相关反射系数给出的幅度向右移动波GydF4y2Ba R.GydF4y2Ba (GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba

这种选择GydF4y2Ba 你GydF4y2Ba 2GydF4y2Ba 满足深水区的波动方程GydF4y2Ba R.GydF4y2Ba (GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba .GydF4y2Ba

解决方案GydF4y2Ba 你GydF4y2Ba 1GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba T.GydF4y2Ba )GydF4y2Ba =GydF4y2Ba T.GydF4y2Ba (GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba E.GydF4y2Ba 一世GydF4y2Ba ωGydF4y2Ba (GydF4y2Ba T.GydF4y2Ba +GydF4y2Ba XGydF4y2Ba /GydF4y2Ba CGydF4y2Ba 1GydF4y2Ba )GydF4y2Ba 对于浅水区,是以恒定速度向左移动的透射波GydF4y2Ba CGydF4y2Ba 1GydF4y2Ba =GydF4y2Ba GGydF4y2Ba HGydF4y2Ba 1GydF4y2Ba .这种选择GydF4y2Ba 你GydF4y2Ba 1GydF4y2Ba 满足浅水区中的波动方程,以进行任何传输系数GydF4y2Ba T.GydF4y2Ba (GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba .GydF4y2Ba

对于过渡区域(斜率),使用GydF4y2Ba 你GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba T.GydF4y2Ba )GydF4y2Ba =GydF4y2Ba 你GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba W.GydF4y2Ba )GydF4y2Ba E.GydF4y2Ba 一世GydF4y2Ba ωGydF4y2Ba T.GydF4y2Ba .GydF4y2Ba

海啸模型在符号数学工具箱中的参万博 尤文图斯数和解决方案GydF4y2Ba

定义海啸模型的参数如下所示。忽略对频率的依赖GydF4y2Ba ωGydF4y2Ba 在以下符号中:GydF4y2Ba R.GydF4y2Ba =GydF4y2Ba R.GydF4y2Ba (GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba 那GydF4y2Ba T.GydF4y2Ba =GydF4y2Ba T.GydF4y2Ba (GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba 那GydF4y2Ba 你GydF4y2Ba (GydF4y2Ba XGydF4y2Ba )GydF4y2Ba =GydF4y2Ba 你GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba .GydF4y2Ba

Syms.GydF4y2BaL.GydF4y2BaHGydF4y2Ba替补GydF4y2BaGGydF4y2Ba积极的GydF4y2BaSyms.GydF4y2BaXGydF4y2BaT.GydF4y2BaW.GydF4y2BaT.GydF4y2BaR.GydF4y2BaU(x)GydF4y2BaL1 = depthratio * L;L2 = L;h1 = depthratio * H;h2 = H;h(x)= x * h / l;c1 = sqrt (g * h1);c2 = sqrt(g * h2);U(x,t)= u(x)* exp(1i * w * t);U1(x,t)= t * exp(1i * w *(t + x / c1));U2(x,t)= exp(1i * w *(t + x / c2))+ r * exp(1i * w *(t-x / c2));GydF4y2Ba

在线性斜率上的过渡区域,使用GydF4y2BaDsolve.GydF4y2Ba要解决傅立叶变换的颂歌GydF4y2Ba 你GydF4y2Ba 的GydF4y2Ba 你GydF4y2Ba .GydF4y2Ba

Wavepde(x,t)= diff(u,t,t) -  g * diff(h(x)* diff(u,x),x);Slopeode(x)=波段(x,0);u(x)= dsolve(slopeode);GydF4y2Ba

解决方案GydF4y2Ba 你GydF4y2Ba 是涉及贝塞尔功能的复杂表达。它包含两个依赖的两个任意的“常量”GydF4y2Ba ωGydF4y2Ba .GydF4y2Ba

const = setdiff(symvar(u),sym([depthratio,g,h,l,x,w]))GydF4y2Ba
const =.GydF4y2Ba
                 
                  
                   
                    
                     
                      (GydF4y2Ba
                     
                      
                       
                        
                         
                          
                           
                            CGydF4y2Ba
                          
                          
                           
                            1GydF4y2Ba
                          
                         
                        
                       
                       
                        
                         
                          
                           
                            CGydF4y2Ba
                          
                          
                           
                            2GydF4y2Ba
                          
                         
                        
                       
                      
                     
                     
                      )GydF4y2Ba
                    
                   
                   
                    [C1,C2]GydF4y2Ba
                  
                 

对于任意傅里叶模式,整体解必须是连续可微的函数GydF4y2Ba XGydF4y2Ba .因此,函数值和衍生物必须在接缝点匹配GydF4y2Ba L.GydF4y2Ba 1GydF4y2Ba 和GydF4y2Ba L.GydF4y2Ba 2GydF4y2Ba .这提供了四个线性方程GydF4y2Ba T.GydF4y2Ba 那GydF4y2Ba R.GydF4y2Ba ,和两个常数GydF4y2Ba 你GydF4y2Ba .GydF4y2Ba

du1(x)= diff(u1(x,0),x);du2(x)= diff(u2(x,0),x);du(x)= diff(u(x),x);eqs = [u(l1)== u1(l1,0),u(l2)== u2(l2,0),GydF4y2Ba......GydF4y2Badu(l1)== du1(l1),du(l2)== du2(l2)];未知数= [const(1),const(2),r,t];GydF4y2Ba

解决这些方程。GydF4y2Ba

[Cvalue1,Cvalue2,R,T] =求解(EQS,未知数);GydF4y2Ba

将结果替换回来GydF4y2Ba R.GydF4y2Ba 那GydF4y2Ba T.GydF4y2Ba , 和GydF4y2Ba 你GydF4y2Ba .GydF4y2Ba

U (x) =潜艇(U (x){常量(1)常量(2)},{Cvalue1, Cvalue2});GydF4y2Ba

您无法直接评估解决方案GydF4y2Ba ωGydF4y2Ba =GydF4y2Ba 0.GydF4y2Ba 因为相应表达的分子和分母都消失了。相反,找到这些表达式的低频限制。GydF4y2Ba

简化(限制(U(x),w,0))GydF4y2Ba
ans =.GydF4y2Ba

2GydF4y2Ba 替补GydF4y2Ba +GydF4y2Ba 1GydF4y2Ba 2 /(SQRT(Depthratio)+ 1)GydF4y2Ba

简化(限制(R,W,0))GydF4y2Ba
ans =.GydF4y2Ba

-GydF4y2Ba 替补GydF4y2Ba -GydF4y2Ba 1GydF4y2Ba 替补GydF4y2Ba +GydF4y2Ba 1GydF4y2Ba - (SQRT(Depthratio) - 1)/(SQRT(Depthratio)+ 1)GydF4y2Ba

简化(限制(t,w,0))GydF4y2Ba
ans =.GydF4y2Ba

2GydF4y2Ba 替补GydF4y2Ba +GydF4y2Ba 1GydF4y2Ba 2 /(SQRT(Depthratio)+ 1)GydF4y2Ba

这些限制非常简单。它们仅取决于定义斜率的深度值的比率。GydF4y2Ba

用数字值替换符号参数GydF4y2Ba

有关以下计算,请使用这些数值进行符号参数。GydF4y2Ba

  • 重力加速度:GydF4y2Ba GGydF4y2Ba =GydF4y2Ba 9.GydF4y2Ba .GydF4y2Ba 8.GydF4y2Ba 1GydF4y2Ba mGydF4y2Ba /GydF4y2Ba S.GydF4y2Ba E.GydF4y2Ba CGydF4y2Ba 2GydF4y2Ba

  • 深度运河:GydF4y2Ba HGydF4y2Ba =GydF4y2Ba 1GydF4y2Ba mGydF4y2Ba

  • 浅层和深层区域之间的深度比例:GydF4y2Ba D.GydF4y2Ba E.GydF4y2Ba P.GydF4y2Ba T.GydF4y2Ba HGydF4y2Ba R.GydF4y2Ba 一种GydF4y2Ba T.GydF4y2Ba 一世GydF4y2Ba O.GydF4y2Ba =GydF4y2Ba 0.GydF4y2Ba .GydF4y2Ba 0.GydF4y2Ba 4.GydF4y2Ba

  • 斜坡区域的长度:GydF4y2Ba L.GydF4y2Ba =GydF4y2Ba 2GydF4y2Ba mGydF4y2Ba

g = 9.81;L = 2;H = 1;depthratio = 0.04;h1 = depthratio * H;h2 = H;L1 = depthratio * L;L2 = L;c1 = sqrt (g * h1);c2 = sqrt(g * h2);GydF4y2Ba

定义振幅的进入孤子GydF4y2Ba 一种GydF4y2Ba 以恒定的速度向左移动GydF4y2Ba CGydF4y2Ba 2GydF4y2Ba 在深水区。GydF4y2Ba

一个= 0.3;孤子= @ (x, t) A *双曲正割(sqrt (3/4 * g * / H) * (x / c2 + t)) ^ 2;GydF4y2Ba

选择GydF4y2Ba NGydF4y2Ba T.GydF4y2Ba 样本要点GydF4y2Ba T.GydF4y2Ba .选择时间尺度作为进入孤子的(时间)宽度的倍数。存储傅立叶变换的相应离散频率GydF4y2Ba W.GydF4y2Ba .GydF4y2Ba

元= 64;时间= 40 * sqrt (4/3 * H / / g);W =[0, 1:元/ 2 - 1,-(元/ 2 - 1):1]“* 2 *π/时间表;GydF4y2Ba

选择GydF4y2Ba NGydF4y2Ba XGydF4y2Ba 样本点GydF4y2Ba XGydF4y2Ba 每个区域的方向。创建样本点GydF4y2Ba XGydF4y2Ba 1GydF4y2Ba 对于浅水区,GydF4y2Ba XGydF4y2Ba 2GydF4y2Ba 对于深水区GydF4y2Ba XGydF4y2Ba 1GydF4y2Ba 2GydF4y2Ba 对于斜坡区域。GydF4y2Ba

nx = 100;x_min = l1  -  4;X_MAX = L2 + 12;x12 = linspace(l1,l2,nx);x1 = linspace(x_min,l1,nx);x2 = linspace(l2,x_max,nx);GydF4y2Ba

的时间网格上计算入射孤子的傅里叶变换GydF4y2Ba NGydF4y2Ba T.GydF4y2Ba 等距样份点。GydF4y2Ba

S = FFT(孤子(孤子(-0.8 *时间尺寸* C2,Linspace(0,Timescale,2 *(NT / 2)-1)))';s = repmat(s,1,nx);GydF4y2Ba

基于傅立叶数据构建深水区中的行波解决方案GydF4y2Ba S.GydF4y2Ba .GydF4y2Ba

soliton =真实(IFFT(s. * exp(1i * w * x2 / c2))));GydF4y2Ba

将深水区中反射波的傅里叶模式转换为网格上的数值GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba ωGydF4y2Ba )GydF4y2Ba 空间。将这些值乘以傅立叶系数GydF4y2Ba S.GydF4y2Ba 并使用该功能GydF4y2BaIFFT.GydF4y2Ba计算反射波GydF4y2Ba (GydF4y2Ba XGydF4y2Ba 那GydF4y2Ba T.GydF4y2Ba )GydF4y2Ba 空间。请注意,数字数据的第一行GydF4y2Ba R.GydF4y2Ba 由NAN值组成,因为符号数据的适当数值评估GydF4y2Ba R.GydF4y2Ba 为了GydF4y2Ba ωGydF4y2Ba =GydF4y2Ba 0.GydF4y2Ba 是不可能的。的第一行中的值GydF4y2Ba R.GydF4y2Ba 作为低频的限制。GydF4y2Ba

r = double(潜艇(船只(vpa(r)),w,w),x,x2));R(1,:)=双((1-SQRT(Depthratio))/(1 + SQRT(Depthratio)));反射Wave =真实(IFFT(s. * r。* exp(-1i * w * x2 / c2)));GydF4y2Ba

对浅水区域的透射波采用相同的方法。GydF4y2Ba

t = double(潜水艇(船只(vpa(op(ocm(t)),w,w),x,x1));t(1,:) =双(2 /(1 + SQRT(Depthratio)));传输Wave = Real(IFFT(S. * T. * exp(1i * w * x1 / c1));GydF4y2Ba

此外,使用这种方法对斜率区域。GydF4y2Ba

U12 = DOUBLE(潜水艇(船只(vpa(u(u(x))),w,w),x,x12));U12(1,:)=双(2 /(1 + SQRT(Depthratio)));U12 =真实(IFFT(s. * u12));GydF4y2Ba

绘制解决方案GydF4y2Ba

对于更平滑的动画,使用沿绘图数据列的三角插值生成其他采样点。GydF4y2Ba

soliton = interpft(soliton, 10*Nt);反射波= interpft(反射波,10*Nt);U12 = interpft(U12, 10*Nt);transmittedWave = interpft(transmittedWave, 10*Nt);GydF4y2Ba

创建一个在单独的图形窗口中显示的解决方案的动画曲线图。GydF4y2Ba

数字(GydF4y2Ba'可见的'GydF4y2Ba那GydF4y2Ba'上'GydF4y2Ba);绘图([x_min,l1,l2,x_max],[-h1,-h1,-h2,-h2],GydF4y2Ba'颜色'GydF4y2Ba那GydF4y2Ba'黑色的'GydF4y2Ba)轴([x_min,x_max,-h-0.1,0.6])保持GydF4y2Ba在GydF4y2Baline1 = plot(x1,传输波(1,:),GydF4y2Ba'颜色'GydF4y2Ba那GydF4y2Ba'蓝色的'GydF4y2Ba);line12 = plot(x12,u12(1,:),GydF4y2Ba'颜色'GydF4y2Ba那GydF4y2Ba'蓝色的'GydF4y2Ba);line2 = plot(x2,soliton(1,:) +反射Wave(1,:),GydF4y2Ba'颜色'GydF4y2Ba那GydF4y2Ba'蓝色的'GydF4y2Ba);GydF4y2Ba为了GydF4y2Bat = 2:尺寸(孤子,1)* 0.35行1.ydata =传输波(t,:);line12.ydata = u12(t,:);line2.ydata =孤子(t,:) +反射波(t,:);暂停(0.1)GydF4y2Ba结尾GydF4y2Ba

图包含轴。轴包含4个类型的4个物体。GydF4y2Ba

关于海啸的更多信息GydF4y2Ba

在现实生活中,海啸的波长为数百公里,速度通常超过500公里/小时。(注意海洋的平均深度约为4公里,对应的速度为GydF4y2Ba GGydF4y2Ba HGydF4y2Ba ≈GydF4y2Ba 7.GydF4y2Ba 0.GydF4y2Ba 0.GydF4y2Ba K.GydF4y2Ba mGydF4y2Ba /GydF4y2Ba HGydF4y2Ba O.GydF4y2Ba 你GydF4y2Ba R.GydF4y2Ba 。)在深海,振幅相当小,通常约0.5米或更小。然而,当传播到架子上时,海啸急剧增加它们的高度:报道了高达30米越来越多的幅度。GydF4y2Ba

虽然海啸通常接近海岸线作为波前延伸数百公里垂直于行驶的方向,但它们不会沿着海岸造成均匀的损坏。在某些方面,他们造成灾害,而在其他地方只观察到中等波浪现象。这是由海床到大陆架的不同斜坡引起的。事实上,非常陡峭的斜坡导致大部分海啸被反射回到深水区域中,而小斜坡反射较少的波浪,传输狭窄但高波浪携带大量能量。GydF4y2Ba

运行不同值的模拟GydF4y2Ba L.GydF4y2Ba ,对应于不同的斜坡。斜坡陡峭,越来越强大的波浪传输。GydF4y2Ba

请注意,此模型忽略了分散和摩擦效应。在架子上,模拟失去了其物理意义。在这里,摩擦效应是重要的,导致波浪的破坏。GydF4y2Ba

参考文献GydF4y2Ba

孙晓明,张建平,陆海空海啸的研究进展,中国海洋大学学报(自然科学版),2004,vol . 33, no . 1, pp. 61 - 63。GydF4y2Ba

[2] H.羊肉,流体动力学,多佛,1932年。GydF4y2Ba