使用matlab求解二维浅水方程的数值解(二)—波浪的折射

如果大家去过海边,会有这样的感受:如果你面向大海,不管海岸是平直还是蜿蜒曲折的,你感觉到海浪总是迎着你传过来。这是波浪传播中的一种物理现象——波浪的折射。波浪由远海传入近岸的过程中,随着水深变浅,波浪会发生浅水变形,波浪的传播速度越来越依赖于水深,深水区的波浪要比浅水区的波浪传播速度快,导致波峰线越来越平行于等深线。这样给人的感受就是,波浪总是波涛滚滚,扑面而来。
闲话少叙,书接上回。上回用matlab模拟了浅水波的波动,这次模拟波浪的折射,其实计算u,v,zeta部分的代码几乎不用改动。这里修改的仅仅是静水深h0,以及驱动条件zeta(1,:,n)。这里驱动水位设定为简单的正弦函数。参数设置如下:
模拟区域为2000*500m的河道(也可以看做简单的水槽),空间步长10m,时间步长0.2s,等深线与X轴夹角为60度。
使用matlab求解二维浅水方程的数值解(二)—波浪的折射_第1张图片
模拟结果如下:

你可能感兴趣的:(Matlab,海洋数值模拟)