mike21fm网格生成器中文教程

更新时间:2023-10-20 04:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

MIKE21 FM网格生成器培训教程

目 录

17 简介 .......................................................................................................................................................... 1

17.1 概念 .............................................................................................................................................. 2 17.2 边界定义 ...................................................................................................................................... 3 18 开始 .......................................................................................................................................................... 3

18.1 介绍 .............................................................................................................................................. 3 18.2 数据位置 ...................................................................................................................................... 4 18.3 步骤1 - 建立一个工作区域 ..................................................................................................... 4 18.4 步骤2 - 导入模型边界线 ......................................................................................................... 5 18.5 步骤3 - 编辑陆地边界线 ......................................................................................................... 7 18.6 步骤4 - 定义开边界 ................................................................................................................. 9 18.7 步骤5 - 生成网格 ..................................................................................................................... 9 18.8 步骤6 - 对陆地边界进行光滑处理........................................................................................ 10 18.9 步骤7 - 网格地形插值 ........................................................................................................... 12 18.10 步骤8 - 对网格进行光滑处理 ............................................................................................... 15 18.11 步骤9 - 使用多边形来控制节点密度 ................................................................................... 15

MzGeneric.pdf手册中Mesh Generator部分 17 简介 网格生成器(mesh generator)为制作三角网格提供了工作平台。

创建合理的网格是模型获得可靠结果的重要条件。基于 MIKE Zero 之上的MIKE 21 Flow Model FM, MIKE 3 Flow Model FM 和 MIKE 21 Spectral Wave Model FM,都是以三角网格为基础的。

图 17.1 全球模型的陆地/海洋边界

网格的生成包括选择适当的模拟范围,确定地形网格的分辨率,考虑流场,风场和波浪场的影响,为开边界和陆地边界确定边界代码。此外,在考虑稳定性的前提下,确定地理空间的分辨率。

生成网格文件可以使用MIKE Zero网格生成器。网格文件是一个ASCII文件(扩展名*.mesh),其中包括地理位置信息和在网格中每一个节点的水深。文件还包括三角形的节点连通性信息。所有关于生成网格文件的配置信息都在网格定义文件(扩展名*.mdf) 中, 文件可以被修改和再利用。

网格生成器的功能包括从不同的外部信息源(例如. XYZ 水深点,XYZ等值线,MIKE 21矩形网格地形,MIKE C-MAP数据) 输入原始数据,或是用内置的制图工具手动创建地形数据。用户可以在网格生成器中导入背景图片,例如地图,在数据编辑时使用它们,或用来提高图形的后处理效果。

1

17.1 概念 网格生成器的使用不断地围绕着节点(node),顶点(vertice),弧线(arc)和多边形(polygon)的操作。因此,了解这些概念的含义是非常重要的。

?

节点定义了一个弧的开始和结束。一个封闭的弧只有一个节点,开放的弧有两个节 点。

弧的内部点叫做顶点,主要用于弧的定位。

?

?

一个弧是由许多线段组成的,组成弧的主要要素是顶点(零个或多个)和节点(一个或两个)。 ? 多边形是一个闭合的环,它由一个封闭的弧线,或两个或多个打开的弧线组成。多边

形不需要用户特别定义,当封闭一个或一组弧线时会自动产生一个多边形。一个多边形可以被定义为一个区域(Zone),区域的名称由用户给出。通过定义区域,多边形可以被包含入或是排除出模拟区域。实际上,网格生成器的工作区域最终应该生成的是一个大的多边形,这个大多边形确定了区域的范围和内部的小多边形,这些小多边形确定了区域范围内的陆地子区域。

图17.2

网格生成器的概念

注意:模型区域(Domain Area)和工作区域(Workspace Area)是不同的概念,模型区域是指使用数学模型所要模拟的实际空间范围,工作区域是指网格生成器内进行网格操作的工作范围。模型区域是工作区域的一个子集。

网格生成器的应用包括三个阶段:

2

1、确定模型边界 – 闭合边界(陆地-海洋)和开边界(参见Boundary Definitions)。用户可以通过导入陆地-海洋边界文件,或是在工作空间范围内手动操作生成模型边界。

2、如果你对模型的边界满意,此时就可以生成一个与水深无关的网格。你可以通过控制三角形最大面积、三角形最大扭曲度,区域最大节点数来控制三角形的生成。

3、最后,按照单元中心的水深值,程序会进行网格稀疏的自动调整。当然,这需要用户导入水深信息。你可以在工作空间范围内定义多个独立的多边形,每一个多边形的网格细化都可以是独立的。

17.2 边界定义 用户使用点的属性参数来区分陆地边界和开边界。定义点的属性参数操作如下:选择一个节点(或多个),右击并选择属性。从Point Properties 对话框中添加节点属性值,如图17.3所示。

图 17.3 确定节点属性值

字段属性的具体数值是无关紧要的(在对话框中字段被标注为a)。这些值被用来区分网格中不同的开边界。在模型搭建过程中,用户需要把网格制作中定义的数值和具体的开边界联系起来。对于闭边界(水陆边界),统一使用‘1’。

注意:当生成网格时,网格生成器默认所有的边界都是陆地边界。所以,你需要为所有的开边界手动定义属性值。

提示:可以选一个弧并确定弧的属性值,这个属性将应用于弧上所有的点(顶点和节点)。

18 开始 18.1 介绍 本章简短地介绍了如何使用网格生成器(Mesh Generator)来生成网格地形。下面的例子将通过Funningsfjord网格实例向用户演示如何生成一个网格地形。

3

这个例子包含以下步骤:

步骤1 – 建立一个工作区域 步骤2 – 导入模型边界线 步骤3 – 编辑陆地边界线 步骤4 – 定义开边界 步骤5 – 生成网格

步骤6 – 对陆地边界进行光滑处理 步骤7 – 网格地形插值

步骤8 – 对网格进行光滑处理

步骤9 – 使用多边形来控制节点密度

18.2 数据位置 例子中用到的数据文件位于默认的安装位置,即:

c:\\Program Files\\MIKEZero\\Examples\\MIKE_Zero\\MeshEdit文件夹.

18.3 步骤1 – 建立一个工作区域 从MIKE Zero文件菜单中选择New然后选择Mesh Generator。用户必须在Mesh Generator创建工作区域之前对要操作的网格的投影进行定义。

一开始程序会提示输入投影设置,如图18.1所示。

图18.1 工作区域投影

注意:如果你想使用UTM坐标投影的话,你必须输入一个UTM区号。请参见Reference Guide来对了解如何选择UTM区。

请选择UTM坐标投影并且输入30作为UTM区号。

Mesh Generator会创建一个工作区域,然后你就可以初始化mesh的创建过程。

4

18.4 步骤2 – 导入模型边界线 模型边界包含两个种类:

? 陆地和水之间的边界,称之为陆地边界。

? 模型模拟时,应用边界条件(水位,流量变化或者波谱)的地方。 这些边界被

称之为开边界。

定义模型边界最简便的方法是通过使用MIKE C-MAP。MIKE C-MAP是一个包含全球所有海洋水深和陆地-水边界的数据库。你可以在MIKE C-MAP中对一个特定区域进行放大,并将陆地-水边界和水深值导出到Mesh Generator进行使用。

在这个例子里面,使用了从MIKE C-MAP里面导出的两个数据文件: ? Land.xyz,定义陆地边界 ? Water.xyz,定义区域内一系列点的水深

图18.2显示了提取数据的区域。

图18.2 Funning 海湾

从Data菜单里面选择Import Boundary?并且选择land.xyz文件。选择land.xyz文件后,会出现如图18.3所示的Boundary Attribute对话框。

5

图18.3 边界属性

在菜单里面你可以对land.xyz文件的布置,数据的投影和如何对数据进行内插进行定义。Reference Guide提供了导入格式的详细信息。

请对图18.3中的数值进行定义。

注意:此处定义的LONG/LAT投影说明在land.xyz文件中的数据是纬度和经度。Mesh Generator会将经纬度转化成在UTM-30投影坐标中的东向和北向的坐标。

网格生成器读取数据文件并更新工作区域,如图18.4显示。

图 18.4 导入的边界数据

在本例中,因为我们只模拟Fjord海峡本身,所以只生成海峡内的网格。从图18.4中可以看出,模拟的区域包括:

6

? 模型区域东北角的一个模型开边界 ? 沿海峡东部和西部的陆地边界

下一步包括清理工作区域不必要的陆地-水边界点。

18.5 步骤 3 –编辑陆地边界线 在这一步骤中,需要删除图18.4所示的模型区域外的所有点。

首先删除工作区左边的点和弧线。选择工具栏上的Delete button (橡皮擦图标),然后选中窗口左区域中的点和弧线进行删除。 如下图18.5所示。

图 18.5 删除点和弧线

用户可以画一个矩形框住多个对象将它们快速删除。按照下面步骤删除工作区右上角的点和弧线:在编辑工具栏上选择 Delete键, 按住左键后拖拉鼠标框中右上角的这些点和弧线,完成后放开左键,这样选中的点和弧线就被删除了。

也可以画出一个多边形圈选所要删除的点,然后按键盘上的Delete键来进行删除。

请按如下步骤操作:

1、在编辑工具栏上选择Select Point function

2、右击鼠标,在显示的上下文菜单中选择 Inside Polygon

3、右击鼠标添加polygon的角。沿着窗口左上角的陆地线画一个多边形

7

4、双击鼠标左键,完成这个多边形

5、按键盘上的Delete键,将多边形中所有的点删除

参见图 18.6。

图 18.6 多边形选择

最终得到的陆地边界如图18.7所示。注意图中以下几点:

??

图18.7中所示的陆地边界是一个开放弧线(有两个节点)。这是通过把所有陆地节点转化为顶点来实现的。在这一过程中要确保陆地边界上所有的洞都要封闭- 这取决于你之前是如何清空它所在的工作区的。

在模型区域右上角画出一段新的弧线来封闭海峡。新的开边界和陆地边界采用相同的两个节点。这段弧线是通过选择Draw Arc工具,然后点击海峡段两边的nodes来生成的。该开边界弧线有以下两个作用:

?

1、定义一个可设置边界条件的开边界

2、生成一个多边形来封闭模型区域。这样该模型区域就可以三角化了, 因为只有封闭区域(多边形)才能被三角化。

8

图 18.7 生成的陆地边界

18.6 步骤 4 – 定义开边界 区分陆地边界和开边界是非常重要的。正如步骤3 - 边界陆地边界线中所描述的,图18.4所示的模型区域同时有一个陆地边界和一个开边界。网格生成器将所有的边界默认为陆地边界。用户必须自己将右上角的边界定义为开边界。

在Editing Toolbar中选择Select Arc工具,然后选择Open Boundary Arc。右击鼠标,选择Properties. 在出现的对话框中将Arc Attribute 设为2。这样模型模拟程序就会将属性值为2的弧线判断为一个开边界。

注意: 弧线–结点属性值–的默认值都为0. 当导出一个生成的网格时, 所有的弧线和 节点的属性值会从0变为1。属性值1代表了陆地边界。因此需要用2或者更高的属性值代表开边界。对赋予同一边界条件的边界节点和弧线需使用相同的属性值。

18.7 步骤 5 - 生成网格 现在,用户可以生成网格了。

请在Mesh菜单中选择Triangulate选项,于是出现Triangulation的对话框。在

9

Triangulation对话框的Option栏中(如图18.8所示),用户可以通过设定参数从而控制网格的生成过程。

图 18.8 Triangulation

点击Triangulate,然后点击Generate,网格生成器就会自动计算并生成网格,如图18.9所示。

图 18.9 生成的网格

18.8 步骤 6 - 对陆地边界进行光滑处理 如果生成的三角网格不够理想,譬如,靠近陆地的网格过小,用户可以有多个不同的方法来修正。其中之一就是对陆地边界进行平滑处理。

在Mesh菜单中,选择Delete Mesh选项,然后选择Land Boundary Arc,点击鼠标右键

10

并选择Redistribute vertices, 就会出现Redistribute Vertices对话框,见图18.10。

图 18.10 重新分布顶点对话框

在Redistribute vertices对话框中(如图18.10)设定参数,然后点OK。

注意:用户在接受新的结果之前,应该先预览生成的边界。如果地形很复杂,可能新产生的陆地边界无法被模型接受。

如图18.11所示,新生成的陆地边界比原来的平滑。

图 18.11 光滑处理后的陆地边界

在新的陆地边界基础上生成的三角网格如图18.12所示。

11

注意:新的边界线上的点比原来“粗糙”的边界线上的点(见图18.9)排列规则。

图 18.12 陆地边界光滑处理后生成的三角网格

18.9 步骤 7 - 网格地形插值 用户可以细化网格,将生成的三角形与水深关联起来。一般来说,浅水区三角形要比深水区的要小。

请按照如下步骤: 1 、删除网格

2 、用编辑工具栏的Insert Polygon工具在峡湾插入Polygon标记,使用Seleclt polygon工具,选中多边形标记,点击鼠标右键,选择Properties。反选第一个记号框,确保该区域包含在三角化区域中。

12

3 、生成网格-在Mesh菜单中选择Triangulate?菜单项

在网格节点插入Z值之前,必须导入内插的离散数据。用Data菜单Import Scatter Data?导入离散数据。

清选择water.xyz文件,指定LONG/LAT投影。在导入数据后,显示图形应该如图8.13所示。

图18.13 离散数据视图 现在可以将导入的离散数据内插到网格节点中。在Mesh菜单中选择Interpolate?。接受默认值(default value),选择Interpolate。内插结束后,点击Close按钮,内插后的网格深度以等高线图显示。结果见图18.14。

13

本文来源:https://www.bwwdw.com/article/pmbf.html

Top