MIKE模型—水利数值模拟计算技术应用教程2被推荐为河流、湖泊、河口和海岸水流的二维仿真模拟工具。1.3水动力模块原理1.3.1控制方程模型是基于三向不可压缩和Reynolds值均布的Navier-Stokes方程,并服从于Boussinesq假定和静水压力的假定。二维非恒定浅水方程组为:hSyvhxuhth=¶¶+¶¶+¶¶(1-1)()()202000012axysxbxxxxxxysphuhuhuvhfvhghtxyxxssghxxyhThThuSxyhrttrrrrr¶¶¶¶¶++=---¶¶¶¶¶¶æö¶¶+--++ç÷¶¶¶èø¶¶++¶¶(1-2)(1-3)式中:t为时间;,xy为笛卡尔坐标系坐标;h为水位;d为静止水深;hdh=+为总水深;,uv分别为,xy方向上的速度分量;f是哥氏力系数,2sinfwj=,w为地球自转角速度,j为当地纬度;g为重力加速度;r为水的密度;xxs、xys、yys分别为辐射应力分量;S为源项;(,)ssuv为源项水流流速。字母上带横杠的是平均值。例如,u、v为沿水深平均的流速,由以下公式定义:ddhuuzh-=ò,ddhvvzh-=ò(1-4)()()ShvhTyhTxysxsyghyphyghhufyvhxuvhtvhsyyxyyyyxbysya+¶¶+¶¶+÷÷øöççè涶+¶¶--+¶¶-¶¶-¶¶--=¶¶+¶¶+¶¶000020212rrtrtrrrhMIKE模型—水利数值模拟计算技术应用教程3ijT为水平粘滞应力项,包括粘性力、紊流应力和水平对流,这些量是根据沿水深平均的速度梯度用涡流粘性方程得出的:2xxuTAx¶=¶,()xyuvTAyx¶¶=+¶¶,2yyvTAy¶=¶(1-5)1.3.2数值解法(1)空间离散计算区域的空间离散是用有限体积法(FiniteVolumeMethod),将该连续统一体细分为不重叠的单元,单元可以是任意形状的多边形,但在这里只考虑三角形和四边形单元。在MIKE软件2007版本只能是三角形网格。浅水方程组的通用形式一般可以写成()()t¶+Ñ×=¶UFUSU(1-6)式中:U为守恒型物理向量;F为通量向量;S为源项。在笛卡尔坐标系中,二维浅水方程组可以写为()()IVIVyyxxtxy¶-¶-¶++=¶¶¶FFFFUS(1-7)式中:上标I和V分别为无粘性的和粘性的通量。各项分别如下:hhuhvéùêú=êúêúëûU,()22212Ixhuhughdhuvéùêúêú=+-êúêúêúëûF,02VxuhAxuvhAyxéùêúêúêúæö¶êú=ç÷êú¶èøêúêúæö¶¶+ç÷êú¶¶èøëûF()22212Iyhvhuvhvghdéùêúêú=êúêú+-êúëûF,02VxuvhAyxvhAxéùêúêúêúæö¶¶êú=+ç÷êú¶¶èøêúêúæö¶ç÷êú¶èøëûF(1-8)MIKE模型—水利数值模拟计算技术应用教程420000020000001212xyaxxsxbxsyxyysybyasspsdhghgfvhhuxxyxysspdhghgfuhhvyyyxyttrhrrrrrttrhrrrrréùêúêúêú¶æö¶¶¶¶êú=+---++-+ç÷¶¶¶¶¶êúèøêú¶¶æö¶¶¶êú+---++-+ç÷êú¶¶¶¶¶èøëûS对方程(4-6)第i个单元积分,并运用Gauss原理重写可得出()()dddiiiAAstG¶+×=¶òòòUΩFnSUΩ(1-9)式中:iA为单元iW的面积;iG为单元的边界;ds为沿着边界的积分变量。这里使用单点求积法来计算面积的积分,该求积点位于单元的质点,同时使用中点求积法来计算边界积分,方程(4-9)可以写为1NSijijiUStA¶+×DG=¶åFn(1-10)式中:iU和iS分别为第i个单元的U和S的平均值,并位于单元中心;NS是单元的边界数;jDG为第j个单元的长度。一阶解法和二阶解法都可以用于空间离散求解。对于二维的情况,近似的Riemann解法可以用来计算单元界面的对流流动。使用Roe方法时,界面左边的和右边的相关变量需要估计取值。二阶方法中,空间准确度可以通过使用线性梯度重构的技术来获得。而平均梯度可以用由Jawahar和Kamath于2000年提出的方法来估计,为了避免数值振荡,模型使用了二阶TVD格式。(2)时间积分考虑方程的一般形式()t¶=¶UGU(1-11)对于二维模拟,浅水方程的求解有两种方法:一种是低阶方法,另一种是高阶方法。低价方法即低阶显式的Euler方法)(1nnntUGUUD+=+(1-12)式中:tD为时间步长。高阶的方法为以如下形式的使用了二阶的RungeKuttaMIKE模型—水利数值模拟计算技术应用教程5方法1/21()2nnnt+=+DUUGU11/2()nnnt++=+DUUGU(1-13)(3)边界条件1)闭合边界沿着闭合边界(陆地边界),所有垂直于边界流动的变量必须为0。对于动量方程,可以得知沿着陆地边界是完全平稳的。2)开边界开边界条件可以指定为流量过程或者是水位过程。3)干湿边界处理动边界问题(干湿边界)的方法是基于赵棣华(1994)和Sleigh(1998)的处理方式。当深度较小时,该问题可以被重新表述,通过将动量通量设置为零以及只考虑质量通量来实现。只有当深度足够小时,计算不考虑该网格单元。每个单元的水深会被监测,并且单元会被定义为干、半干湿和湿。单元面也会被监测,以确定淹没边界。满足下面两个条件单元边界被定义为淹没边界:首先单元的一边水深必须小于dryh,且另一边水深必须大于floodh;第二,水深小于dryh的单元的静水深加上另一单元表面高程水位必须大于零。满足下面两个条件单元会被定义为干单元:首先单元中的水深必须小于干水深dryh;另外,该单元的三个边界中没有一个是淹没边界。被定义为干的单元在计算中会被忽略不计。单元被定义为半干:如果单元水深介于dryh和floodh之间,或是当水深小于dryh但有一个边界是淹没边界。此时动量通量被设定为0,只有质量通量会被计算。单元会被定义为湿:如果单元水深大于weth。此时动量通量和质量通量都会在计算中被考虑。如果模型中的区域是处在干湿边交替区,为了避免模型计算出现不稳定性,使用者可以启用FloodandDry选项。在这个情形下使用者必须设定一个干水深MIKE模型—水利数值模拟计算技术应用教程6(dryingdepth),淹没深度(floodingwaterdepth)和湿水深(wettingdepth)。dryh、floodh、weth三者必须满足dryfloodwethhh。应注意的是,对于值很小的weth,在模拟过程中可能出现不符合实际的高流速,并引起稳定问题。当某一单元的水深小于湿水深时,在此单元上的水流计算会被相应调整,而当水深小于干深度的时候,会被冻结而不参与计算。淹没深度是用来检测网格单元是不是己经被淹没。当水深小于湿水深的单元会做相应调整,即不计算动量方程,经计算连续方程。在没有启用干湿边界的情况下,使用者可以设定一个小于零的最小截断水深。但在这样的情况下,模型中任一网格单元的总水深小于零,模型便会发散,模型计算也会因此中断。第二章模型构建2.1基础数据构建二维水动力模型需要的基础数据主要包括:(1)地形数据地形数据主要是指计算范围内地形地貌,这些数据可以是DEM,电子海图,CAD图等,但都需要前期处理才能应用于MIKE21中。(2)水文数据水文数据包括降雨数据、上下游边界数据(流量,水位)。(3)糙率糙率是一个结果影响比较大的参数,如果没有实测糙率,则需要根据历史水文数据,对结果进行率定,进而确定糙率。(4)其它主要包括波浪、风以及潮位等数据资料MIKE模型—水利数值模拟计算技术应用教程72.2建模步骤第一步准备地形数据,水文数据等,确定计算范围。第二步用MIKEZero当中MeshGenerator生成mesh文件。(具体步骤见第三章)第三步建立时间序列文件用作边界条件。第四步在MIKE21中选择FlowModel(fm)生成模拟文件。(模拟文件中各选项详细说明见水动力模块教程)MIKE模型—水利数值模拟计算技术应用教程8第五步结果后处理。第三章MESH文件生成3.1MESH文件生成步骤第一步在MIKEZero中选择MeshGenerator。第二步选择投影带MIKE模型—水利数值模拟计算技术应用教程9选择投影带主要用来计算地球自转引起的科氏力,当计算区域较小可以不考虑科氏力,此时可选择NON-UTM。国内常用的北京54及西安80均已经内置,用户直接选择即可。第三步设置模拟区域根据实际计算范围,设置工作范围。依次打开Options→Workspace打开相应界面进行设置。这一步需要指定计算区域左下角和右上角坐标。第四步导入背景图片(1)导入背景图片之前,需要将背景图片左下角和右上角在工作范围内的坐标。这一步可以用Tool中设置(如左图,MIKE2009之前版本没有此功能),也可以直接在图片所在文件夹中放置一个与图片同名的属性文件,用文本编辑器编辑里面的数据。更为简单的方法是在(2)步中导入图片后,点击旁边的editMIKE模型—水利数值模拟计算技术应用教程10来设置。(2)完成以上设置后,通过Options→ImportGraphicLayers.点击下图箭头处的图标,新建一个背景图片。打开顺序:MIKEZero→MikeZero只需要设置x0,y0,x1,y1的值即可,gifw文件需要与背景MIKE模型—水利数值模拟计算技术应用教程11(3)导入后,点击工具栏中缩小按钮,可以显示图片。当不需要显示图片时,可在第(2)步中界面,选择OverlayManager(见下图),去掉图片前的对号,即可隐藏图片。导入新建MIKE模型—水利数值模拟计算技术应用教程12第五步描绘边界边界可以在底图上描绘,也可以直接导入数据确定边界。(1)在导入底图后,可以用工具栏中Drawacr工具进行描绘边界。边界描绘完成后,可能由于底图的原因,无法看到描绘的边界,此时可以按照第四步(3)中方法隐藏图片。MIKE模型—水利数值模拟计算技术应用教程13(2)通过selectacr工具()选择已经绘制的边界,右击选择RedistributedVertices,选择适当的距离对Vertices进行均匀化处理。MIKE模型—水利数值模拟计算技术应用教程14第六步定义边界(1)将需要定义为开办界的线段两端的vertice(图中显示为红色的点)转换为node(图中显示为蓝色的点)。用工具选择vertice,右击选择Vertices→Nodes(2)转换后,用selectarc选择该边界,右击选择property,将表中数字改为大于0的数字,即可将该线段定义为开办界。MIKE模型—水利数值模拟计算技术应用教程15第七步导入地形数据依次打开Data→ImportScatterData打开相应界面,点击Add可导入后缀为.xyz的地形文件。地形文件中数据依次为X,Y,Z坐标,可事先制作好。第八步生成网格(1)在导入地形数据后,依次点击Mesh→GenerateMesh打开网格设置界面,可以设置网格最大面积等相应参数。参数设置完后,点击Generate可生成网格。MIKE模型—水利数值模拟计算技术应用教程16(2)点击Mesh→SmoothMesh可对网格进行平滑处理。第九步地形插值点击Mesh→Interpolate,对地形进行插值,保证每一个网格都有地形数据。第十步导出mesh点击Mesh→Exportmesh,输出mesh文件,供模型文件使用。注意文件名及路径中尽量不要有中文。MIKE模型—水利数值模拟计算技术应用教程173.2常用数据格式(1)边界文件格式3547.994484.421004022.694162.301004314.883541.011003987.782647.471003527.051886.561002577.661432.811001970.3315