使用matlab求解二维浅水方程的数值解(一)—浅水波
最近在读《ocean modelling for beginners》这本书,对于做海洋数值模拟工作的小白来说,这绝对是一本好书。强烈推荐给理论基础较弱的学习者,这本书循序渐进,由简入繁的讲解了物理海洋方面的物理现象、理论基础、算法实现等等。
第五章讲的是二维浅水方程,书中进行了一些案例的模拟,并给出了相关代码。其中,模拟部分的代码使用Fortran,后处理部分使用Scilab。我试着用matlab,按照书中的有限差分方法,写了该部分的模拟及后处理代码。首先,原始方程组如下:
离散方法如下:
模拟案例设置如下:
与书中练习8一样,模拟区域为500*500m,空间步长10m,时间步长0.1s,重点内容初始条件为网格中心处初始水位1m。
模拟结果如图所示:
这个模拟案例比较简单,模拟的是水位起伏引起的波动。下篇博客将模拟波浪的折射,看看水深地形将会对波浪造成什么样的影响,敬请期待。
使用matlab求解二维浅水方程的数值解(一)—浅水波相关推荐
- 使用matlab求解二维浅水方程的数值解(二)—波浪的折射
如果大家去过海边,会有这样的感受:如果你面向大海,不管海岸是平直还是蜿蜒曲折的,你感觉到海浪总是迎着你传过来.这是波浪传播中的一种物理现象--波浪的折射.波浪由远海传入近岸的过程中,随着水深变浅,波浪 ...
- 二维有限元方程matlab,有限元法求解二维Poisson方程的MATLAB实现
有限元法求解二维 Poisson 方程的 MATLAB 实现 陈 莲a ,郭元辉b ,邹叶童a ( 西华师范大学 a. 数学与信息学院; b. 教育信息技术中心,四川南充 6437009) 摘 要: ...
- galerkin有限元法matlab实现,有限元法求解二维Poisson方程的MATLAB实现
有限元法求解二维Poisson方程的MATLAB实现 陈莲a,郭元辉b,邹叶童a [摘要]文章讨论了圆形区域上的三角形单元剖分.有限元空间,通过变分形式离散得到有限元方程. 用MATLAB编程求得数值 ...
- 二维对流方程matlab求解,二维对流扩散方程的有限元计算方法
冯立伟+张成+屈福志 " " " 摘要:针对二维对流扩散方程边值问题,采用三角形剖分,使用二维线性有限元进行计算分析.采用matlab编写了计算程序,使用算例进行了数值实 ...
- 有限元方法求解二维拉普拉斯方程C++实现
文章目录 前言 问题 区域 方程 程序设计 几何区域 网格单元 刚度矩阵组装 数值结果 问题区域网格 u 值图像(结果导出借助Matlab画图) 总结 前言 本文利用C++语言实现在二维任意区域(内部 ...
- 水深平均的二维浅水方程推导
浅水方程推导 将三维的基本方程沿水深积分平均,即可得到沿水深平均的平面二维流动基本方程. 定义水深为,.为基准面下液面水位和河床高程: 定义沿水深平均流速为: 引用莱布尼兹公式 自由表面及底部运动学条 ...
- matlab求解二维矩阵并画图,Matlab教程2_ 绘图 _ 二维(2)
(作者:lcc) 二维曲线绘图的基本操作 n plot指令的基本调用格式 (1)plot(x) n x为向量时,以该元素的下标为横坐标.元素值为纵坐标绘出曲线 n x为实数二维数组时,则按列绘制 ...
- [计算流体力学][Matlab] 使用 A,B,C 格式与蛙跳格式求解二维对流问题
1. 题目 2. 转述 原题目要求可以简化为: 对于二维对流方程: ∂u/∂t+∂u/∂x+∂u/∂y=0 u(x,y,0)={█(1,when-4≤x≤4,-4≤y≤4@0,other)┤ 取计算范 ...
- 有限元方法基础-以二维拉普拉斯方程为例(附程序)
文章目录 前言 问题描述 问题区域 偏微分方程 变分问题(弱形式) 有限元离散 二维线性有限元 : 参考基函数 2D linear finite element : affine mapping 有限 ...
最新文章
- Firefox 突然拉黑中国用户
- CUDA:根据本地电脑的NVIDIA显卡驱动版本去正确匹配待安装的CUDA版本之详细攻略
- 分享一下cookies操作(增、删、改、查)小经验
- 23种设计模式C++源码与UML实现--原型模式
- Docker for windows 10
- html除左侧浮动,html清除浮动的6种方法示例
- matlab判断电话播键音,MATLAB电话拨号音的合成与识别
- linux分割图片软件,桌面应用|5 种拆分 Linux 终端的方法
- 在linux下添加路由
- oracle 视图及函数授权,Oracle常见1000问之内部函数及管理视图
- 新手成为黑客,需要掌握电脑网络命令汇总
- 帝国网站mysql 数据库开发_帝国cms操作数据库函数范例(二次开发)
- 邮件服务器软件选择,3款windows下的免费邮件服务器软件
- 在职读研拓宽视野,社科院与杜兰大学合办金融管理硕士项目为你提供能量
- oracle 给表空间增加多个数据文件
- 编解码学习笔记(三) Mpeg系列——Mpeg 1和Mpeg 2
- 如何获取网站的HTTPS证书?
- IntelliJ IDEA设置版权
- Fantasy of a Summation LightOJ - 1213
- 学习手册--没必要装模做样,只有你自己最清楚