使用matlab求解二维浅水方程的数值解(一)—浅水波
2017-02-24 14:50
1341 查看
最近在读《ocean modelling for beginners》这本书,对于做海洋数值模拟工作的小白来说,这绝对是一本好书。强烈推荐给理论基础较弱的学习者,这本书循序渐进,由简入繁的讲解了物理海洋方面的物理现象、理论基础、算法实现等等。
第五章讲的是二维浅水方程,书中进行了一些案例的模拟,并给出了相关代码。其中,模拟部分的代码使用Fortran,后处理部分使用Scilab。我试着用matlab,按照书中的有限差分方法,写了该部分的模拟及后处理代码。首先,原始方程组如下:
离散方法如下:
模拟案例设置如下:
与书中练习8一样,模拟区域为500*500m,空间步长10m,时间步长0.1s,重点内容初始条件为网格中心处初始水位1m。
模拟结果如图所示:
这个模拟案例比较简单,模拟的是水位起伏引起的波动。下篇博客将模拟波浪的折射,看看水深地形将会对波浪造成什么样的影响,敬请期待。
第五章讲的是二维浅水方程,书中进行了一些案例的模拟,并给出了相关代码。其中,模拟部分的代码使用Fortran,后处理部分使用Scilab。我试着用matlab,按照书中的有限差分方法,写了该部分的模拟及后处理代码。首先,原始方程组如下:
离散方法如下:
模拟案例设置如下:
与书中练习8一样,模拟区域为500*500m,空间步长10m,时间步长0.1s,重点内容初始条件为网格中心处初始水位1m。
模拟结果如图所示:
这个模拟案例比较简单,模拟的是水位起伏引起的波动。下篇博客将模拟波浪的折射,看看水深地形将会对波浪造成什么样的影响,敬请期待。
相关文章推荐
- 使用matlab求解二维浅水方程的数值解(二)—波浪的折射
- MATLAB实例之对线性,非线性,超越方程的求解
- 二分法,matlab中利用二分法求解一个多项式方程的近似值。
- 二分法求解方程的值 matlab
- 使用牛顿迭代法求解一阶导数方程 python
- 使用MATLAB和Python迭代求解黄金分割
- 一个使用MATLAB手动求二维曲线交点的例子
- Matlab练习——多项式和一元方程求解
- 使用matlab进行非线性方程组求解
- 使用MATLAB进行一次和二次规划问题求解
- 如何使用MATLAB绘制不同类型的二维图形
- 二分法,matlab中利用二分法求解一个多项式方程的近似值。
- 使用Chebfun求解Blasius方程(二)
- 使用Chebfun求解Blasius方程(二)
- matlab---方程求解
- matlab ode方程的求解
- matlab求解平面方程的原理
- 使用 Matlab 的 bvp4c 求解边值问题
- 利用matlab的PDE工具箱求解Neumann边界的Poisson方程
- matlab中二维插值函数interp2的使用