mike21fm网格生成器中文教程.docx

上传人:b****6 文档编号:4431699 上传时间:2022-12-01 格式:DOCX 页数:17 大小:599.35KB
下载 相关 举报
mike21fm网格生成器中文教程.docx_第1页
第1页 / 共17页
mike21fm网格生成器中文教程.docx_第2页
第2页 / 共17页
mike21fm网格生成器中文教程.docx_第3页
第3页 / 共17页
mike21fm网格生成器中文教程.docx_第4页
第4页 / 共17页
mike21fm网格生成器中文教程.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

mike21fm网格生成器中文教程.docx

《mike21fm网格生成器中文教程.docx》由会员分享,可在线阅读,更多相关《mike21fm网格生成器中文教程.docx(17页珍藏版)》请在冰豆网上搜索。

mike21fm网格生成器中文教程.docx

mike21fm网格生成器中文教程

MIKE21FM网格生成器培训教程之杨若古兰创作

17简介1

18开始3

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手册中MeshGenerator部分

17简介

网格生成器(meshgenerator)为建造三角网格提供了工作平台.

创建合理的网格是模型获得可靠结果的次要条件.基于MIKEZero之上的MIKE21FlowModelFM,MIKE3FlowModelFM和MIKE21SpectralWaveModelFM,都是以三角网格为基础的.

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

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

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

概念

网格生成器的使用不竭地环绕着节点(node),顶点(vertice),弧线(arc)和多边形(polygon)的操纵.是以,了解这些概念的含义是非常次要的.

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

∙弧的内部点叫做顶点,次要用于弧的定位.

∙一个弧是由很多线段构成的,构成弧的次要要素是顶点(零个或多个)和节点(一个或两个).

∙多边形是一个闭合的环,它由一个封闭的弧线,或两个或多个打开的弧线构成.多边形不须要用户特别定义,当封闭一个或一组弧线时会主动发生一个多边形.一个多边形可以被定义为一个区域(Zone),区域的名称由用户给出.通过定义区域,多边形可以被包含入或是排除出模拟区域.实际上,网格生成器的工作区域终极应当生成的是一个大的多边形,这个大多边形确定了区域的范围和内部的小多边形,这些小多边形确定了区域范围内的陆地子区域.

图17.2网格生成器的概念

留意:

模型区域(DomainArea)和工作区域(WorkspaceArea)是分歧的概念,模型区域是指使用数学模型所要模拟的实际空间范围,工作区域是指网格生成器内进行网格操纵的工作范围.模型区域是工作区域的一个子集.

网格生成器的利用包含三个阶段:

1、确定模型鸿沟–闭合鸿沟(陆地-海洋)和开鸿沟(拜见BoundaryDefinitions).用户可以通过导入陆地-海洋鸿沟文件,或是在工作空间范围内手动操纵生成模型鸿沟.

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

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

鸿沟定义

用户使用点的属性参数来区分陆地鸿沟和开鸿沟.定义点的属性参数操纵如下:

选择一个节点(或多个),右击并选择属性.从PointProperties对话框中添加节点属性值,如图17.3所示.

图17.3确定节点属性值

字段属性的具体数值是有关紧要的(在对话框中字段被标注为a).这些值被用来区分网格平分歧的开鸿沟.在模型搭建过程中,用户须要把网格建造中定义的数值和具体的开鸿沟联系起来.对于闭鸿沟(水陆鸿沟),统一使用‘1’.

留意:

当生成网格时,网格生成器默认所有的鸿沟都是陆地鸿沟.所以,你须要为所有的开鸿沟手动定义属性值.

提示:

可以选一个弧并确定弧的属性值,这个属性将利用于弧上所有的点(顶点和节点).

18开始

介绍

本章简短地介绍了如何使用网格生成器(MeshGenerator)来生成网格地形.上面的例子将通过Funningsfjord网格实例向用户演示如何生成一个网格地形.

这个例子包含以下步调:

步调1–建立一个工作区域

步调2–导入模型鸿沟线

步调3–编辑陆地鸿沟线

步调4–定义开鸿沟

步调5–生成网格

步调6–对陆地鸿沟进行光滑处理

步调7–网格地形插值

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

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

数据地位

例子顶用到的数据文件位于默认的安装地位,即:

c:

\ProgramFiles\MIKEZero\Examples\MIKE_Zero\MeshEdit文件夹.

–建立一个工作区域

从MIKEZero文件菜单当选择New然后选择MeshGenerator.用户必须在MeshGenerator创建工作区域之前对要操纵的网格的投影进行定义.

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

留意:

如果你想使用UTM坐标投影的话,你必须输入一个UTM区号.请拜见ReferenceGuide来对了解如何选择UTM区.

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

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

步调2–导入模型鸿沟线

模型鸿沟包含两个品种:

●陆地和水之间的鸿沟,称之为陆地鸿沟.

●模型模拟时,利用鸿沟条件(水位,流量变更或者波谱)的地方.这些鸿沟被称之为开鸿沟.

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

在这个例子里面,使用了从MIKEC-MAP里面导出的两个数据文件:

∙Land.xyz,定义陆地鸿沟

∙Water.xyz,定义区域内一系列点的水深

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

图18.2Funning海湾

从Data菜单里面选择ImportBoundary…而且选择文件.选择BoundaryAttribute对话框.

在菜单里面你可以对文件的安插,数据的投影和如何对数据进行内插进行定义.ReferenceGuide提供了导入格式的具体信息.

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

留意:

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

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

在本例中,由于我们只模拟Fjord海峡本人,所以只生成海峡内的网格.从图18.4中可以看出,模拟的区域包含:

∙模型区域东北角的一个模型开鸿沟

∙沿海峡东部和西部的陆地鸿沟

下一步包含清理工作区域不须要的陆地-水鸿沟点.

步调3–编辑陆地鸿沟线

在这一步调中,须要删除图18.4所示的模型区域外的所有点.

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

图18.5删除点和弧线

用户可以画一个矩形框住多个对象将它们快速删除.按照上面步调删除工作区右上角的点和弧线:

在编辑工具栏上选择Delete键,按住左键后迁延鼠标框中右上角的这些点和弧线,完成后放开左键,如许选中的点和弧线就被删除了.

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

请按如下步调操纵:

1、在编辑工具栏上选择SelectPointfunction

2、右击鼠标,在显示的上下文菜单当选择InsidePolygon

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

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

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

拜见图.

图18.6多边形选择

终极得到的陆地鸿沟如图18.7所示.留意图中以下几点:

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

∙在模型区域右上角画出一段新的弧线来封闭海峡.新的开鸿沟和陆地鸿沟采取不异的两个节点.这段弧线是通过选择DrawArc工具,然后点击海峡段两边的nodes来生成的.该开鸿沟弧线有以下两个感化:

1、定义一个可设置鸿沟条件的开鸿沟

2、生成一个多边形来封闭模型区域.如许该模型区域就可以三角化了,由于只要封闭区域(多边形)才干被三角化.

图18.7生成的陆地鸿沟

步调4–定义开鸿沟

区分陆地鸿沟和开鸿沟是非常次要的.正如步调3-鸿沟陆地鸿沟线中所描述的,图所示的模型区域同时有一个陆地鸿沟和一个开鸿沟.网格生成器将所有的鸿沟默认为陆地鸿沟.用户必须本人将右上角的鸿沟定义为开鸿沟.

在EditingToolbar当选择SelectArc工具,然后选择OpenBoundaryArc.右击鼠标,选择Properties.在出现的对话框中将ArcAttribute设为2.如许模型模拟程序就会将属性值为2的弧线判断为一个开鸿沟.

留意:

弧线–结点属性值–的默认值都为0.当导出一个生成的网格时,所有的弧线和节点的属性值会从0变成1.属性值1代表了陆地鸿沟.是以须要用2或者更高的属性值代表开鸿沟.对赋予同一鸿沟条件的鸿沟节点和弧线需使用不异的属性值.

步调5-生成网格

此刻,用户可以生成网格了.

请在Mesh菜单当选择Triangulate选项,因而出现Triangulation的对话框.在Triangulation对话框的Option栏中(如图18.8所示),用户可以通过设定参数从而控制网格的生成过程.

图18.8Triangulation

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

图18.9生成的网格

步调6-对陆地鸿沟进行光滑处理

如果生成的三角网格不敷理想,譬如,靠近陆地的网格过小,用户可以有多个分歧的方法来批改.其中之一就是对陆地鸿沟进行平滑处理.

在Mesh菜单中,选择DeleteMesh选项,然后选择LandBoundaryArc,点击鼠标右键并选择Redistributevertices,就会出现RedistributeVertices对话框,见图18.10.

图18.10从头分布顶点对话框

在Redistributevertices对话框中(如图18.10)设定参数,然后点OK.

留意:

用户在接受新的结果之前,应当先预览生成的鸿沟.如果地形很复杂,可能新发生的陆地鸿沟没法被模型接受.

如图18.11所示,重生成的陆地鸿沟比本来的平滑.

图18.11光滑处理后的陆地鸿沟

在新的陆地鸿沟基础上生成的三角网格如图18.12所示.

留意:

新的鸿沟线上的点比本来“粗糙”的鸿沟线上的点(见图18.9)排列规则.

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

步调7-网格地形插值

用户可以细化网格,将生成的三角形与水深关联起来.普通来说,浅水区三角形要比深水区的要小.

请按照如下步调:

1、删除网格

2、用编辑工具栏的InsertPolygon工具在峡湾拔出Polygon标识表记标帜,使用Selecltpolygon工具,选中多边形标识表记标帜,点击鼠标右键,选择Properties.反选第一个记号框,确保该区域包含在三角化区域中.

3、生成网格-在Mesh菜单当选择Triangulate…菜单项

在网格节点拔出Z值之前,必须导入内插的离散数据.用Data菜单ImportScatterData…导入离散数据.

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

图18.13离散数据视图

此刻可以将导入的离散数据内插到网格节点中.在Mesh菜单当选择Interpolate….接受默认值(defaultvalue),选择Interpolate.内插结束后,点击Close按钮,内插后的网格深度以等高线图显示.结果见图18.14.

此刻可以细化网格来考虑水深.在Mesh菜单当选择Refinemesh…,接受默认值(defaultvalues),点击Refine按钮.经过细化的一系列子网格如图18.15所示.

此刻可以留意到靠近陆地的三角区的面积比峡湾两头的三角网格要小.

步调8-对网格进行光滑处理

通常,必须包管相邻的三角形之间的面积和偏斜度变更越小约好,即,在网格的分歧区域创建平滑的过渡.

在Mesh菜单选择Smothmesh…,确定10作为迭代数目.

在图18.16种可以看到网格经过平滑后后果.

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

普通情况下,在全部模型区域内的局部地区可能须要比其他地区更为精细的分辨率和网格密度.用户可以通过Step7描述的以水深来进一步细分网格,进而在必定程度上达到局部加密的目的.

另外一种方式就是把模拟区域划分成分歧的子区域,或者叫多边形区域,然后针对分歧区域定义分歧的最大单元面积.这类方法可以使用户更为灵活地、根据分歧的水深来控制网格的生成.

在本练习中,用户就须要在海峡内定义较海峡内部小的三角形网格面积,来生成网格.

请通过mesh菜单下的Deletemesh把网格删除.如许用户就可以把模拟区域划分为两个子区域–内部和内部.请通过把海峡两头的两个顶点转换为节点(右击顶点,然后选择Verticestonodes)来进行子区域的划分,然后在两个顶点之间画一段弧线,如许就完成了子区域的划分,见图.

图18.17划分子区域

留意:

在上图中,在两个节点之间还画了一系列的顶点,网格生成器将使用这些顶点来生成网格.如许,用户就可以控制子区域公共边的网格分布.

然后,用户点击工具条中的Insertpolygon、然后分别点击内部和内部区域在两个子区域中来定义一个多边形标识表记标帜,如图.

图18.18定义多边形标识表记标帜

此刻,用户须要选择子区域来定义最大单元面积:

请点击工具条中的SelectPolygon工具,选择内部区域,然后右击并选择Properties,用户将看到如下对话框,如图.

图18.19多边形属性对话框

请确认没有选择“ExcludefromTriangulation”,并定义最大单元面积为5000.对内部区域反复同样的步调,但是最大单元面积定义为15000.

此刻,用户就可以生成三角网格,在Mesh菜单下,选择Triangulate….结果如图所示.

图18.20分歧子区域三角网格的生成

上图清晰地标明,此刻海峡的内部区域要比内部区域的三角网格更为过细.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1