MIKEFMHDStepByStepCN.docx
- 文档编号:7187766
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:43
- 大小:1.81MB
MIKEFMHDStepByStepCN.docx
《MIKEFMHDStepByStepCN.docx》由会员分享,可在线阅读,更多相关《MIKEFMHDStepByStepCN.docx(43页珍藏版)》请在冰豆网上搜索。
MIKEFMHDStepByStepCN
MIKE21FM水动力模型
逐步练习实例
目录
1概述1
1.1工程背景1
1.2练习实例的目的1
2创建计算网格3
2.1创建网格前需要注意的问题3
2.2创建Øresund的计算网格3
2.2.1由原始的xyz数据生成mdf文件4
2.2.2三角边界的调整7
2.2.3模拟区域的三角划分9
3创建MIKE21FM水动力模型的输入条件15
3.1生成水位边界条件15
3.1.1把测量水位导入时间序列文件16
3.1.2创建边界条件22
3.2初始条件25
3.3风力作用25
4MIKE21FM模型搭建27
4.1FM模型27
4.2模型率定42
4.2.1实测水位42
4.2.2实测流速42
4.2.3模拟与实测结果比较44
概述
本实例是连接丹麦和瑞典的跨海(Øresund)工程。
图1.1Sound(Øresund),丹麦
工程背景
1994年,哥本哈根和马尔默(Malmö)开始了连接丹麦和瑞典隧道和桥梁的改造项目。
该项目执行了严格的环境要求,即隧道和桥梁项目对波罗的海的环境不产生任何影响。
这样的要求意味着桥梁和隧道设计的阻流作用小于0.5%,同理,溢流和排放的最大流量也要得到控制。
为了达到环境的要求和监理工程施工,建立了一个主要的监测程序。
整个监测程序包括40多个水文测站,收集水文、盐度、温度和流场数据。
另外还为ADCP的船载测站和CTD等固定站点进行了广泛的补充测量。
监测程序最初于1992年开始并一直持续到本世纪。
由于Øresund海域天然水文的多样性和多变性,连接工程的阻流作用只能通过数值模型来评价。
而且,Øresund的情况需要一个三维模型。
所以,利用DHI的三维模型,MIKE3对Øresund整个海域进行模拟,并在其中设置嵌套模型,网格尺寸水平方向由连接工程附近的100米到Øresund较远海域的900米,垂直方向网格尺寸是1米。
随后,MIKE3模型会根据现场测量数据阶段进行率定和验证。
根据监测程序得到的数据,初步选择足以反映Øresund海域天然水文多样性的3个月作为模拟的“设计时段”。
设计时段用来对连接工程进行详细的规划和优化,并确定需要填充的挖泥量,以达到对环境没有任何影响。
练习实例的目的
练习实例的目的在于通过使用MIKE21的FlexibleMesh模块为Øresund建立水流模型和MIKE3的水流模型,生成令人满意的率定结果。
此次练习和实际工程操作相同,但根据输入数据也做了一些预备工作,主要是为用户准备了MIKE21格式的输入数据,以保证原始数据的准确性和预处理。
根据数据的数量和质量,数据的处理是非常耗时但又必不可少的过程。
本实例中,所有的原始数据都以ASCII文件的格式提供,所有相关数据和文件请在以下目录中查询:
C:
\Programfiles\DHI\MIKEZero\Examples\MIKE_21\FlowModel_FM\HD\Oresund
C:
\Programfiles\DHI\MIKEZero\Examples\MIKE_3\FlowModel_FM\HD\Oresund
如果用户对导入MIKEZero格式数据的过程已经熟悉,则不用再自行生成所有的输入文件。
在模型中确定了运行模型需要的所有输入条件后,用户就可以开始模拟。
创建计算网格
创建计算网格需要对数据进行大量的修改,在此,只对主要方法进行解释。
网格文件中包含不同地理位置的水深和下列信息:
1.计算网格
2.水深
3.边界资料
在建模过程中,网格文件的生成至关重要。
请在下列目录中参见网格生成器的用户手册:
C:
\ProgramFiles\DHI\MIKEZero\Manuals\MIKE_ZERO\MzGeneric.pdf
创建网格前需要注意的问题
地形和网格文件应该
1.描述模拟区域内的水深
2.使模拟结果达到理想的精度
3.达到用户能够接受的模拟用时
为了达到上述目的,用户需要注意的网格是:
1.没有过小角度的三角形(完美的的网格是等边三角形)
2.带有平滑的边界
3.分辨率更高的嵌套部分
4.来自于xyz数据的网格
较大的角度和较高的分辨率需要较长的计算时间,所以模型的使用者必须在计算时间和网格分辨率之间保持一个平衡。
网格的分辨率、水深、和时间步长决定了模型设置中的克朗值。
最大克朗值应该小于0.5,所以,模拟用时不仅和三角网格相关,还由网格的节点数量和克朗值决定。
因此,在深水区网格较细的地方所需要的计算时间就比浅水区较细的网格要长些。
创建Øresund的计算网格
实例中的模拟区域的海图如图2.1所示,它覆盖了丹麦和瑞典的海峡。
根据海图可以得到水深和海岸线的xyz数据。
在本实例中,海岸线和水深的xyz数据已经创建好了,见图2.14。
图2.1模拟区域:
Øresund,丹麦和瑞典海峡
由原始的xyz数据生成mdf文件
网格文件包括水深资料,网格是通过MIKEZero的网格创建器建立。
首先,打开“MeshGenerator”(NewMeshGenerator),见图2.2。
打开“MeshGenerator”,用户需要确定模拟地区的投影方式为UTM,并定义UTM区为33,如图2.3所示。
图2.2MIKEZero中的“MeshGenerator”
图2.3定义模拟区域的投影方式
定义好的模拟区域如图2.4所示。
图2.4添加xyz数据以前在“MeshGenerator”定义的模拟区域
从ACSII文件中导入海岸线的数据(ImportBoundarydataOpenXYZfile:
land.xyz),见图2.5。
图2.5导入海岸线数据
请注意需要转换地理坐标:
在导入了海岸线数据后请选择“Longitude/Latitude”,见图2.6。
图2.6导入海岸线数据
生成的模拟地区包括导入的海岸线数据被称为“MeshDefinitionFile”(mdf-file),如图2.7。
图2.7导入海岸线xyz数据后在MeshGenerator中的mdf文件
下一步是把模拟区域的原始数据变为可以划分三角网格的数据。
三角边界的调整
边界调整的目的是使模拟地区的边界能够被划分为三角网格,包括水边界(绿色弧形)。
从删除不需要包含于模拟区域的海岸线的交汇点和节点(红色和兰色点)开始进行调整,这还包括陆地上的节点,如图2.7所示。
通过在“丹麦”节点和“瑞典”节点之间添加弧形来定义北部和南部的边界。
边界应当定义在测量的边界位置附近,如表2.1。
选择北部边界并选择“properties”,把北部的圆弧属性设置为“2”,南部边界的圆弧属性设为“3”,见图2.8和图2.9。
这些属性用来区分网格中的不同边界类型:
北部边界
(2)和南部边界(3)。
陆地/水面边界
(1)由网格创建器自动生成。
表2.1测量的水位数据
测站
数据文件
位置
东
(m)
北
(m)
WL13Viken
waterlevel_viken.txt
349744
6224518
WL14Hornbæk
waterlevel_hornbaek.txt
341811
6219382
WL19Skanør
waterlevel_skanor.txt
362748
6143316
WL20Rødvig
waterlevel_rodvig.txt
333191
6126049
图2.8编辑属性(右击鼠标)选择北部边界的圆弧(紫色)
图2.9编辑北部边界圆弧的属性
现在用户能够看到一个可以划分三角网格的闭合区域,但首先需要对所有的海岸线进行核对和修正。
模拟区域的三角网格划分从边界多边形开始,所以,网格三角划分过程中产生的元素数量和海岸线的交汇点和节点数量密切相关。
用户可以使用相应的工具把各交汇点重新分布到圆弧上,使海岸线更为平滑均匀。
在特别关心的地区,用户还可以把交点沿陆地边界重新分布,并使其相互保持较小的间距。
用户需要注意,如果内陆港口和内陆湖对模拟地区影响不大,则不需要在模拟地形中予以考虑。
编辑完所有的海岸线后,用户可以得到和下图2.10所示相似的地形图,名为oresund.mdf。
用户可以在随后的工作中使用此文件。
模拟区域的三角划分
下一步就是真正进行模拟面积的三角划分。
首先,选择不适合进行三角划分的多边形(绿色)的闭合地区(如岛屿)。
图2.10MeshGenerator中的mdf-文件,边界xyz数据经过调整以形成能够进行三角划分的闭合面积
为了进行最初的三角划分(MeshTriangulateGenerate),用户需要进行相应的设置,如图2.11(MeshTriangulateOptions)。
在本实例中,特别需要关注的地区的网格分辨率较高。
用户也可以根据需要把某些地区的网格变细,具体做法是在需要加密的网格上添加多边形并设置多边形的属性(在多边形中添加绿色标识并右击鼠标定义属性)。
图2.11三角划分的选项
三角划分完成后,用户可以通过工具使网格平滑(MeshSmoothMesh)。
在这个例子中,网格被平滑了100次,如图2.12所示。
图2.12三角划分和网格平滑100次后的网格。
三角划分选项允许的最大面积是1500000m2,最小的角度是30度,最多的节点是6000个。
加密地区的选项在加密地区的多边形选择。
随后,用户需要把xyz文件中的水深数据(water.xyz)内差到网格中(MeshInterpolate),见图2.13。
注意在MIKE21FM和MIKE3FM中的水深不同,因为它们的测量年份不同,地形也有了变化。
MIKE21的mdf文件是1993年的数据,如图2.15。
图2.13内差水深需要选择xyz的数据文件。
定义投影方式为地理坐标1993water.xyz(MIKE 21FlowModelFM例子)和UTM331997water.xyz(MIKE 3FlowModelFM例子)
图2.14ASCII文件,定义了地理位置(经度、纬度和深度),请注意如果使用了MIKEC-MAP,用户则不能以文本方式浏览数据,因为数据已经加密。
图2.15在内差水深后的MeshGenerator中的网格
现在用户可以把编辑好的网格数据导入到MIKE21/3FM的水流模型中(MeshExportMesh)。
保存文件为oresund.mesh。
用户可以在DataViewer(图2.16)或MIKEAnimator(图2.17)中浏览或编辑网格文件。
图2.16DataViewer中的网格文件
图2.17MIKEAnimator中的Øresund网格
创建MIKE21FM水动力模型的输入条件
在设置MIKE21FM水流模型前,必须根据测量数据创建输入数据,1993年测量的数据是:
1.边界上的水位
2.丹麦哥本哈根Kastrup机场的风数据
通过使用MIKEZero中各种工具来准备输入数据,相应的用户手册在下列安装目录中可以找到:
C:
\ProgramFiles\DHI\MIKEZero\Manuals\MIKE_ZERO\MzGeneric.pdf
生成水位边界条件
在模型的边界附近有四个测站有测量的水位记录,见图3.1。
Øresund模型是水位边界,测量的水位数据表明沿着边界的水位变化比较显著,所以水位边界应该定义为线边界(dfs1类型的数据文件),是两个边界点数据的内差。
随后,两条线边界(dfs1类型的数据文件)的水位数据来自于两条边界上的四个测站的测量数据。
四个测站的位置如表2.1所示。
图3.1开边界上的水位测站位置:
Hornbæk,Viken,Skanör,和Rødvig
把测量水位导入时间序列文件
图3.2MIKEZero中的时间序列编辑器
打开MIKEZero中的“TimeSeriesEditor”(FileNewTimeSeries)见图3.2。
选择“ASCII格式”,打开文本文件waterlevel_hornbaek.txt。
选择“EquidistantCalendarAxis”并确认,然后右击鼠标并选择“properties”,把类型改变为“WaterLevel”,保存数据为waterlevel_hornbaek.dfs0。
对其他三个测站重复上述步骤。
注意在MIKE21/3FM水流模型的现有版本中,必须是等时间步长,这就意味着原始数据如有缺失,必须在导入之前通过内差等方式补充。
图3.3测站Hornbæk的实测水位,ASCII文件
图3.4时间序列编辑器的导入界面
图3.5时间序列属性
图3.6由测站1Hornbæk导入到时间序列中的水位数据
如果要把水位数据绘成时间序列图,打开MIKEZero中的“PlotComposer”,见图3.7。
选择“plot”“insertanewplotobject”并选择“TimeSeriesPlot”,见图3.8。
图3.7MIKEZero中打开PlotComposer
右击绘图区域并选择“properties”,点击
添加时间序列文件到“PlotComposer”,见图3.10。
用户可以在同一个绘图中添加多个时间序列图,在属性对话框中还能对图形进行编辑,如颜色等(见图3.9)。
图3.8在PlotComposer中插入新的绘图对象
图3.9在PlotComposer的TimeSeriesPlot对话框中选择时间序列文件,调整比例和曲线等
图3.11和图3.12是两个边界上的实测水位。
图3.10在PlotComposer中选择时间序列文件
图3.11北边界测站1和2,Hornbæk和Viken的时间序列
图3.12南边界测站3和4,Skanör和Rødvig的时间序列
创建边界条件
下一步是根据生成的时间序列创建线边界。
打开MIKEZero中的“ProfileSeries”并选择“Blank...”,见图3.13。
图3.13在MIKEZero中打开ProfileSeriesEditor
需要的信息如下:
北边界
开始时间1993-12-0200:
00:
00
时间步长:
1800s
时间步骤数:
577
网格点数:
2
网格间距:
9200m(边界的宽度,事实上并不需要,因为MIKE21/3FM的水流模型中线边界的内差不考虑此宽度,见MIKE21/3FM水流模型的用户手册)。
打开测站Hornbæk(waterlevel_hornbaek.dfs0)的水位文件,复制并粘贴到“profileSeriesEditor”中点“0”的位置,然后打开测站Viken(waterlevel_viken.dfs0)的的水位文件,复制并粘贴到“profileSeriesEditor”中点“1”的位置,见图3.15。
保存文件为“waterlevel_north.dfs1”,见图3.16。
图3.14剖面序列属性
图3.15从测站1(Hornbæk)复制水位到ProfileSeriesEditor(CtrlV)
图3.16北边界的水位线边界
除了网格间距不同,和使用的水位数据来自测站Rødvig(waterlevel_rodvig.dfs0)和Skanör(waterlevel_skanor.dfs0),对南边界重复相同的步骤和类似的信息,并保存结果为waterlevel_south.dfs1。
南边界
开始时间1993-12-0200:
00:
00
时间步长:
1800s
时间步骤数:
577
网格点数:
2
网格间距:
33500m(边界的宽度,事实上并不需要,因为MIKE21/3FM的水流模型中线边界的内差不考虑此宽度,见MIKE21/3FM水流模型的用户手册)。
初始条件
初始的水面高程由北边界和南边界水位的平均值计算得到。
从两个边界文件中看平均的高程约为–0.37m。
风力作用
来自Kastrup机场的风数据形成的风力是时间序列,但空间上恒定。
打开时间序列编辑器,从ASCII文件“wind_kastrup.txt”中导入数据,使用等时间步长。
保存文件为“wind_kastrup.dfs0”。
风速和风向的时间序列如
图3.17所示。
对于风的更形象描述是风玫瑰图。
打开“PlotComposer”,插入新的绘图对象,并选择“Wind/CurrentRosePlot”,然后选择属性,选择新生成的文件“wind_kastrup.dfs0”并按需要对图形进行编辑(颜色等)。
结果如图3.18所示。
图3.17来自Kastrup机场的风速和风向数据,ASCII文件
图3.17Kastrup机场的风速和风向数据,由PlotComposer(TimeSeriesDirectionplotcontrol)绘制
图3.18Kastrup机场的风玫瑰图,由PlotComposer绘制,南边界
MIKE21FM模型搭建
FM模型
现在我们采用第三章生成的1993年Øresund地形资料,边界条件和动力数据搭建MIKE21FM水动力模型。
首先,我们采用模型默认参数,不考虑边界密度变化的影响。
模型参数如下表所示:
参数
值
模型配置文件
Oresund.m21fm
网格地形
Oresund.mesh(1993)2057个节点
模拟时段
1993-12-0200:
00–1993-12-1300:
00(11天)
时间步长
8秒
模拟步长数
118800
干湿水深
干水深0.01米
洪水深0.05米
湿水深0.1米
初始水位
-0.37米
风场
随时间变化,在模型范围内常量:
wind_kastrup.dfs0
风摩阻系数
随风速变化:
0.001255,风速为:
7m/s时
0.002425,风速为25m/s时
北部边界
Waterlevel_north.dfs1
南部边界
Waterlevel_south.dfs1
涡粘系数
Smagorinsky公式,常量0.28m1/3/s
糙率
曼宁系数.常量32m1/3/s
结果文件
Flow.dfsundr_roese.dfs0
模拟时段
大约25分钟,2.4GHzCPU,512MBDDRRAM
下面简短地介绍了模型的搭建过程。
在模型范围对话框内指定地形网格文件oresund.mesh,如图5.1所示。
此地形文件已经内含了模型投影UTM-33。
在地形文件中,每个边界被给定一个识别代码。
在Øresund例子中,北部边界识别代码为2,南部边界识别代码为3。
在边界名称对话框中将“代码2”改名为“北部”,“代码3”为“南部”。
注意,点击
按钮,可以直接打开并查看网格文件。
用户可以在DataViewer中查看代码值(第二项),如图5.2所示。
图4.1MIKE21FM模型:
指定模型地形文件
图4.2在DataViewer中查看边界代码值
在“Time”对话框中指定时间步长为8秒,对应的克朗数小于0.5。
输入时间步数为118800步,对应的模拟时间11天,见图5.3。
图4.3MIKE21FM模型:
模拟时段
如果要同时计算对流扩散或Ecolab水质,请在“ModuleSelection”对话框对应的选择框中打勾,见图5.4。
在本例中,我们只进行水动力模拟。
如果希望在水动力模块的基础上增加Ecolab水质模块,请参考"Step-by-StepTrainingExampleforECOLab"。
图4.4MIKE21FM模型:
模块选择
在"FloodandDry"对话框中,可以进行干湿动边界的参数设置,见图5.5所示。
在该例子中,选取默认值,即干水深0.01米,洪水深0.05米,湿水深0.1米。
在该例子中,由于沿着Saltholm海岸的某些区域在模拟期间内会干涸,所以应该包含干湿动边界功能。
如果没有选择该功能,模型会在干涸地区溢出。
但是,包含干湿功能后会影响模型的稳定性,因此,如果干湿功能对所要模拟的问题不是很重要的话,建议不要将其包含进来。
做为补偿,请调整网格地形文件,使浅水区域有更深的水深,从而防止这些区域干涸,然后运转不包含干湿功能的模型。
图4.5MIKE21FM水动力模型:
干湿动边界
本例中不考虑密度梯度流,在"Density"对话框中选择"Barotropic"(正压),见图5.6。
图4.6MIKE21FM水动力模型:
密度梯度
水平涡粘系数的设定采用Smagorinsky公式,Smagorinsky常数取默认值0.28,见图5.7。
图4.7MIKE21FM水动力模型:
涡粘系数的设定
第一次模型运行采用默认的河床糙率值(曼宁系数)32m1/3/s,在随后的率定中可以改变它,见图5.8。
图4.8MIKE21FM水动力模型:
河床糙率
在Øresund地区潮流作用占优,一般来说,应该考虑科氏力的作用。
但是在该例中,由于海峡很浅,科氏力的影响也可以忽略。
而在实际的工程应用中,除非个别情况,一般都要考虑科氏力的作用,仅仅在实验室模拟中科氏力可以不考虑,见图5.9。
图4.9MIKE2FM水动力模型:
科氏力
使用已生成的风时间序列(在WindForcing对话框中风时间序列指定为“随时间变化,全域内常量”,时间序列文件名为wind_kastrup.dfs0)。
在本例中,风场软启动时间间隔指定为7200秒。
软启动时间间隔指在模拟开始阶段风的影响不完全考虑。
在软启动间隔开始阶段,风力的影响为零,然后它逐渐增长直到在软启动间隔终止阶段充分考虑风力的影响。
在本例中,指定风摩擦随风速变化,并采用默认的风摩擦值,见图5.11。
注意,在风场对话框中点击
按钮,可以直接打开并查看风场文件,见图5.10。
图4.10MIKE2FM水动力模型:
风场
图4.11MIKE2FM水动力模型:
风摩擦系数
在本例中
●不考虑冰盖影响
●不考虑降雨和蒸发
●不考虑波浪辐射应力
源和汇的流量及速度在“源”对话框中指定。
在本例中,由于Øresund地区的源流量过小,不会对水动力条件产生大的影响,因此没有包含在该例子中。
此页设置为空白,见图5.12。
图4.12MIKE2FM水动力模型:
源项
在“InitialConditions”对话框中设置初值条件,即模拟开始时刻的水位/流速。
本例中初始水位采用常量-0.37米,即模拟初始阶段北部和南部边界水位的平均值,水平方向和垂直方向流速为0,见图5.13。
图4.13MIK
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MIKEFMHDStepByStepCN
![提示](https://static.bdocx.com/images/bang_tan.gif)