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

本书《oceanmodellingforbeginners》针对海洋数值模拟初学者,内容涵盖物理海洋现象及算法实现等。本文通过一个二维浅水方程案例演示如何进行水位波动模拟,采用Fortran进行模拟并使用Matlab进行后处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在读《ocean modelling for beginners》这本书,对于做海洋数值模拟工作的小白来说,这绝对是一本好书。强烈推荐给理论基础较弱的学习者,这本书循序渐进,由简入繁的讲解了物理海洋方面的物理现象、理论基础、算法实现等等。

第五章讲的是二维浅水方程,书中进行了一些案例的模拟,并给出了相关代码。其中,模拟部分的代码使用Fortran,后处理部分使用Scilab。我试着用matlab,按照书中的有限差分方法,写了该部分的模拟及后处理代码。首先,原始方程组如下:
这里写图片描述

离散方法如下:
这里写图片描述

模拟案例设置如下:
与书中练习8一样,模拟区域为500*500m,空间步长10m,时间步长0.1s,重点内容初始条件为网格中心处初始水位1m。
模拟结果如图所示:
这里写图片描述
这个模拟案例比较简单,模拟的是水位起伏引起的波动。下篇博客将模拟波浪的折射,看看水深地形将会对波浪造成什么样的影响,敬请期待。

评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值