MIKE水动力笔记5_建立水动力模型

本文目录

  • 前言
  • Step 1 导出mesh文件
  • Step 2 设置模型参数
  • Step 3 边界条件的获取与处理
  • Step 4 拟合对比

前言

前文已经讲了如何制作网格文件(.mdf文件),这一博文就讲如何建立水动力模型。

Step 1 导出mesh文件

前文制作好的mdf网格文件不可以直接拿来用的,需要先导出成mesh文件,步骤如下三图

MIKE水动力笔记5_建立水动力模型_第1张图片
MIKE水动力笔记5_建立水动力模型_第2张图片
MIKE水动力笔记5_建立水动力模型_第3张图片
于是,就可以看到你设定的文件夹里出现了一个 .mesh 的文件,这个就可以用作建立模型了。

Step 2 设置模型参数

首先,选择【MIKE 21】→【Flow Model FM(.m21fm)】,然后就打开了设置参数的界面,如下两图
MIKE水动力笔记5_建立水动力模型_第4张图片
MIKE水动力笔记5_建立水动力模型_第5张图片
接下来,设置一下参数。

【Domain】,加载mesh文件,其他参数均保持默认。

【Time】,这个需要自己设置,如下图

MIKE水动力笔记5_建立水动力模型_第6张图片

模拟结束时间 - 模拟开始时间 = 时间步长 × 时间步数

对于时间步长如何确定,也并没有特定的要求,我一般是根据情况取 60(1分钟) 或 120(2分钟) 或 180(3分钟) 或 240(4分钟)。

关于时间步长和时间步数,我自己做了一个 Excel 小工具,很方便计算,上传到我的CSDN资源库里了,有需要的读者可以到资源栏目中自行下载(不需要积分),叫做:【MIKE小工具】-计算时间步数-晏长街。

MIKE水动力笔记5_建立水动力模型_第7张图片
【Module Selection】,模块选择,其中水动力模块(Hydrodynamic)是必选的。我们这里也只选择水动力模块。

接下来的设置就都是水动力模块的参数了。

【Solution Technique】,算法。

Shallow water equations,浅水方程,Time和Space均选择低阶运算方法(Low order,fast algorithm)就行,其余均保持默认。

Transport equations,传输方程,均保持默认。

【Depth】,一般不需要水深校正,No depth correction,保持默认。

【Flood and Dry】,干湿边界,一般取默认值。干水深 0.005m,淹没水深 0.05m,湿水深 0.1m。

【Density】,密度,一般保持默认选择正压模型,Barotropic。

如果选择正压模型,温度和盐度会被定义为常数,在整个模型中保持不变。

事实上,如果水体充分混合,温盐密度在垂直方向都是定值;并且在大多数情况 下,密度梯度对二维浅水方程的影响是很小的,几乎可以忽略不计。

【Eddy Viscosity】,涡粘系数,默认采用Smagorinsky formulation,均采用默认即可。

【Bed Resistance】,底床糙率选用曼宁系数(Manning number),常数值需要自己设置,一般是根据拟合结果来多次回代确定。

一般我们根据拟合结果回调的值也就是底床糙率这个参数了。

【Coriolis Forcing】,科氏力,一般默认选择Varying in domain。

【Wind Forcing】,如果有风力数据,可以勾选这一项。随时间、空间变化的情况,对应dfs2文件。随时间变化、空间定值的情况,对应dfs0文件。其他均保持默认。

【Ice Coverage】,冰盖,一般不考虑。

【Tidal Potential】,引潮势,这是一个很弱的作用力,通常会在深且封闭的水体中作用明显,一般不考虑。

【Precipitation - Evaporation】,降水-蒸发,一般不需考虑。

【Wave Radiation】,波浪辐射应力,一般不需考虑。

【Sources】,源,一般不需考虑。

【Structures】,水工结构物,一般不需考虑。

【Initial Conditions】,初始条件,这个涉及到一个问题就是“冷启动”还是“热启动”。关于两者概念及具体操作今后会专门再讲的。一般第一次跑模型都会选择冷启动方式,选择Constant 常数,Surface elevation 初始水位默认保持0就行。其他默认即可。

【Boundary Conditions】,边界条件。

对于 Land boundary 陆地边界,选择 Land(zero normal velocity)即可。

对于开边界,选择 Specified level 水位设定,边界格式选择 Varying in time and along boundary 随时间且沿边界变化,然后导入潮汐边界条件dfs1文件。关于这个潮汐边界条件dfs1文件如何获取,请读者耐心往后看,在本博文Step3里面会讲到的。其他均按默认即可。

下图所示:

MIKE水动力笔记5_建立水动力模型_第8张图片
【Decoupling】,解耦,一般不需要考虑。

【Outputs】,输出。

首先 New output,新建一个输出项目,如下图,可以自己命名。

MIKE水动力笔记5_建立水动力模型_第9张图片
然后,Output specification,对这个输出项目进行设置,一般如下图设置就行。

MIKE水动力笔记5_建立水动力模型_第10张图片
再然后,Output items,选择自己需要的模块,一般研究水动力的话就勾选Surface elevation,U velocity,V velocity。其他根据自己情况添加。

至此,参数就设置完成了。

接下来,就点击【Run】→【Start Simulation】,模型就开始运行了。运行完成后,点击【View】就可以查看模型计算结果。如下图

MIKE水动力笔记5_建立水动力模型_第11张图片

Step 3 边界条件的获取与处理

我们刚刚讲了,边界条件 Boundary Conditions,对于开边界,需要导入 dfs1 文件。那么,这个dfs1文件是怎样获取的呢?

MIKE自带了一个潮汐预测的工具,可以根据这个工具来生成开边界水位数据。

具体操作如下图

MIKE水动力笔记5_建立水动力模型_第12张图片
MIKE水动力笔记5_建立水动力模型_第13张图片
MIKE水动力笔记5_建立水动力模型_第14张图片
MIKE水动力笔记5_建立水动力模型_第15张图片
MIKE水动力笔记5_建立水动力模型_第16张图片
MIKE水动力笔记5_建立水动力模型_第17张图片
MIKE水动力笔记5_建立水动力模型_第18张图片
然后,就会发现,你选择的目录里生成了一个dfs1的文件,那个就是开边界的水位条件。

但这个dfs1文件还不能直接用在模型参数输入里面,必须修改一下。因为这个软件生成潮位边界的时间是格林尼治时间,而我们中国的海域的验测的水文数据用的是北京时间,北京时间比格林尼治时间滞后8个小时。

因此,我们要做的就是将开边界水位条件dfs1文件中的全部数据整体滞后8个小时。具体操作如下:

先复制一份水位条件,然后把两个dfs1文件同时打开,如下两图

MIKE水动力笔记5_建立水动力模型_第19张图片
MIKE水动力笔记5_建立水动力模型_第20张图片
然后对dfs1源文件,选中全部数据,将其删除,操作如下两图

MIKE水动力笔记5_建立水动力模型_第21张图片

MIKE水动力笔记5_建立水动力模型_第22张图片
再然后对dfs1副本文件,选中全部数据,ctrl + C 复制,如下图

MIKE水动力笔记5_建立水动力模型_第23张图片
再转到刚刚数据全部被删掉了的源文件中,找到滞后8小时后的时间行,选中这一行,然后ctrl + V 粘贴,如下两图

MIKE水动力笔记5_建立水动力模型_第24张图片
MIKE水动力笔记5_建立水动力模型_第25张图片
这样,这个边界条件文件dfs1就可以用在参数输入里面了。那个副本已经没用了,删掉就行了。

Step 4 拟合对比

拟合对比就是将你的模拟结果与实测数据进行对比,一般实测数据就是潮位站的水位数据,和潮流站的u速度分量、v速度分量数据(或流速流向数据)。

如果拟合的结果较好,则代表模型可以很好的模拟现实海湾;如果模拟结果较差,则代表模型不能代表海湾情况,必须重新调整,调整边界或者参数,一般如果你觉得边界基本没啥问题的话,那就调整参数就行,基本就是底床糙率那个参数了。

至此,水动力模型就初步建立起来啦!


以上就是全部内容啦~

希望可以得到你的赞,非常感谢!

你可能感兴趣的:(MIKE水动力笔记,cfd)