非静压模型NHWAVE学习(1)——模型原理简介(控制方程)
NHWAVE模型原理简介
- 模型简介
- 模型控制方程
- 水动力模型控制方程
- 紊流模型控制方程
- 对流-扩散控制方程
- 参考文献
这个系列的blog有点类似NHWAVE手册和代码的解读,内容之中也会穿插一些个人的学习体会。
模型简介
NHWAVE模型全称为Non-Hydrostatic Wave Model;它是由特拉华大学应用海岸研究中心开发。虽然以“波浪模型”来冠名,但个人认为它是一个适用于多种水力情况的水动力数值模型。对于传统的(大空间尺度)水动力模型,为了避免压力项和速度项的耦合求解,通常会将静水压力假定添加到模型中,以省略压力项的求解;这一类模型被称作“静压水动力模型”,MIKE、Delft3D、FVCOM都是静压水动力模型。而在上世纪末,部分学者提出了一种不需要将压力项和速度项完全耦合,但也考虑压力项求解的水动力模型;在这类模型中,压力项被分裂为静水压力项和动水压力项两个部分,通过求解动水压力项来实现较为精确的水动力模拟。
NHWAVE模型基于不可压缩N-S方程建立;对于其中的压力项,模型采用Casulli等人1提出的分步法来进行处理。此“分步法”是将水动力场求解分为两个步骤:
- 首先,不考虑动水压力,在满足静压假定的情况下求出估计的水动力场;
- 将上一步得到的水动力场估计值代入压力泊松方程,迭代求解出动水压力,并用得出的动水压力值修正水动力场数值。
为了能够模拟水动力场的紊流特征,NHWAVE模型中还包括k-ε模型、大涡模拟亚格子等紊流模型。
开发组的Ma等人在控制方程中加入了斜压项,来考虑密度的影响;通过求解盐度、泥沙等物质输运的对流-扩散方程,现在的NHWAVE能够模拟斜压问题。
此外,NHWAVE模型已通过MPI技术实现并行化,可实现高效的多核并行计算。
模型控制方程
水动力模型控制方程
如上图所示,水动力模型的控制方程(原始方程)是N-S方程。要注意的是,在方程(2)的扩散项中,扩散系数只有一个νt;这里的νt是包含了分子扩散效应和紊动扩散效应。在最新的模型代码中,νt是背景粘度(分子粘度)ν0和由紊流模型求解的νturb的叠加;要注意的是,本文下文紊流模型中所计算的νt其实是我这里所说的νturb。
紊流模型控制方程
NHWAVE中默认的紊流模型是非线性k-ε模型2。
注意:这里面的紊动能k和紊动能耗散率ε的控制方程(13)(14)是对流扩散方程。
对流-扩散控制方程
模型中泥沙、盐度、温度等标量及上面提到的紊动能k和紊动能耗散率ε都通过对流-扩散方程控制。
对流-扩散方程的形式如下所示3:
参考文献
Casulli, V. , & Stelling, G. S. . (1998). Numerical simulation of 3d quasi-hydrostatic, free-surface flows. Journal of Hydraulic Engineering, 124(7), 678-686. ↩︎
Lin, P. , & Liu, L. F. . (1998). Turbulence transport, vorticity dynamics, and solute mixing under plunging breaking waves in surf zone. JOURNAL OF GEOPHYSICAL RESEARCH. ↩︎
时健. 河口盐淡水垂向混合的非静压模型模拟研究[D]. 河海大学, 2016. ↩︎
非静压模型NHWAVE学习(1)——模型原理简介(控制方程)相关推荐
- 非静压模型NHWAVE学习(13)——模拟淹没锥形岛屿的水流(shallow flows submerged conical islands)
NHWAVE学习--模拟淹没锥形岛屿的水流(shallow flows submerged conical islands) 算例简介 模型设置 模型参数配置 模型的编译运行及模拟结果 本blog介绍 ...
- 非静压模型NHWAVE学习(10)——海底滑坡引体发涌浪的模拟算例(Three-dimensional rigid submarine slide)
NHWAVE海底滑坡体算例学习(Three-dimensional rigid submarine slide) 算例简介 地形与网格 运行参数配置 模型的编译运行 模拟结果 本blog介绍了NHWA ...
- 非静压模型NHWAVE学习(7)——波浪变形模拟算例学习(Wave transformation over an elliptical shoal)
波浪变形模拟算例学习(Wave transformation over an elliptical shoal) 算例简介 地形与网格 运行参数配置 模型的编译运行 模拟结果处理 本blog介绍了NH ...
- 非静压模型NHWAVE学习(9)——波浪破碎RANS紊流模型算例学习(Wave Breaking on a Planar Beach)
NHWAVE波浪破碎RANS紊流模型算例学习(Wave Breaking on a Planar Beach) 算例简介 地形与网格 运行参数配置 模型的编译运行 模拟结果 本blog介绍了NHWAV ...
- 非静压模型NHWAVE学习(6)——波浪模拟算例学习(Periodic wave over a submerged bar)
波浪模拟算例学习(Periodic wave over a submerged bar) 算例简介 网格与地形 运行参数配置 模型的编译运行及模拟结果 本blog介绍了NHWAVE模型自带算例Peri ...
- 非静压模型NHWAVE学习(8)——波浪破碎模拟算例学习(Breaking solitary wave run-up)
NHWAVE波浪破碎模拟算例学习(Breaking solitary wave run-up) 算例简介 地形与网格 运行参数配置 模型的编译运行 模拟结果处理 本blog介绍了NHWAVE模型自带算 ...
- 非静压模型NHWAVE学习(11)——孤立波爬坡测试算例(Solitary Wave on a Simple Beach)
NHWAVE孤立波爬坡测试算例(Solitary Wave on a Simple Beach) 测试算例简介 实验设置 与解析解对比的模拟(Analytical Solution) 最大爬升高度的模 ...
- 数据挖掘算法之时间序列算法(平稳时间序列模型,AR(p),MA(q),(平稳时间序列模型,AR(p),MA(q),ARMA(p,q)模型和非平稳时间序列模型,ARIMA(p,d,q)模型)学习笔记梳理
时间序列算法 一.时间序列的预处理 二.平稳时间序列模型 (一).自回归模型AR( p ) (二).移动平均模型MA(q) (三).自回归移动平均模型ARMA(p,q) 三.非平稳时间序列模型 四.确 ...
- 06.Logistic回归与最大熵模型(学习笔记)
06.Logistic回归与最大熵模型 参考: 袁春老师<大数据机器学习公开课>:https://www.xuetangx.com/course/THU08091001026/103331 ...
- 图灵计算机模型意义,图灵机有什么意义_学习图灵机模型中遇到的问题
图灵机意义 图灵提出图灵机的模型并不是为了同时给出计算机的设计,它的意义我认为有如下几点: 1.它证明了通用计算理论,肯定了计算机实现的可能性,同时它给出了计算机应有的主要架构: 2.图灵机模型引入了 ...
最新文章
- 像我这种垃圾学校出来的人...【原话,不是我编的】
- 稀疏性和L1正则化基础 Sparsity and Some Basics of L1 Regularization
- Django中六个常用的自定义装饰器
- 查看linux文件系统结构,linux的文件系统架构
- CreatObject方法参数查询
- oVirt guest | VM HOST HA in one Cluster
- DB2数据库常用基本操作命令
- Android:制作Update.zip升级包 【转】
- 面向过程编程和面向对象编程的区别
- matlab 求反余弦,matlab中反余弦函数
- Linux共享后无权限访问,Samba服务无权限访问
- Baas是什么?区块链Baas平台开发解决方案带你知晓
- 【EfficientNet】EfficientNet网络结构及代码详解
- Error splicing file: No space left on device
- Android开发之深入理解Android Studio构建文件build.gradle配置
- linux系统安装在u盘
- 前端disable和readonly的区别?
- 服务器安装Centos 7系统
- 腾讯入股Snap,能救“阅后即焚”的命吗?
- python类型对象<class ‘type‘>的理解与探究