有时,当用MIKE软件计算完成后,由于工程需要或者其它原因,希望用Tecplot系列软件绘图。可以按照下面文件的步骤进行:点击在线阅读 。对于需要将三角网格转换CAD格式文档,可以采用本站下载栏目中三角网格转CAD文件工具进行相应转换,该工具适用于将不规则三角网格转换成CAD文件。
需要注意的两点:
(1)MIKE模型文件设置时,结果输出选项里的输出范围需要设置成输出whole-area,否则结果文件中,当中将有不少undefine,这些均是没有水的网格。
(2)模型文件的Domain选项中,不要勾选inculde recordering选项,否则会出错。
(3)结果可以从data viewer中提取(文档中的方法),但更方便的做法是从data manager中提取。
更多问题可以加入QQ群128,417,811交流。
你好,我看了你发表的MIKE与Tecplot结合的文档,觉得很好,因为我一直在用Tecplot做后处理。但是现在遇到个问题。
就是我输出的mesh文件中,并不像例子中那样是一个arc组成,在一个水域里有很多陆地,这些陆地都已经exclude了,输出的mesh文件比较复杂。不知道怎么在tecplot里画?
To mastergxm: 你好 即使有再多arc组成 处理方式是不变的。
To 危机四伏: 如果你指mike与tecplot结合,我相信文章中那个教程够用。当然如果你需要对tecplot进一步了解,你可以前往本站下载页面去下载关于tecplot的入门教程。如果是关于mike软件本身,欢迎加入QQ群128,417,811交流。
To mastergxm: 你好,请注意在mesh文件中高程数据是一个节点一个,而在结果文件中水位数据是一个单元格一个,数目自然是不同的,所以才需要在dat头文件中指明哪些变量是中心型的,剩余的是节点型的。请仔细查看教程中5.2节,头文件中[3-5]=cellcenterd代表第三到第五个变量为中心型。 顺便提醒在模型文件的Domain选项中,不要勾选inculde recordering选项。
能否提供一个0起点的教程和案例?谢谢木瓜先生!
你好,博主。感谢上面的回答,我弄出来了,非常感谢。你说的方法是对的。
另外有个问题。我的mesh文件中N=17658,E=29009。我在查看结果时,得到的surface elevation有29009个,然后代替mesh文件中的高程数据,发现这两组数据的个数不一样呀,打开tecplot后出现错误,这个问题该怎么解决?surface elevation
多谢提醒,默认好像是勾选include recordeing了,我用tecplot画出来的结果果然不行。这个选项是不是用于并行计算的呀?
To mastergxm: recordeing不是用于并行计算,而是重新编号方便计算机寻址,从而提高计算效率。虽然这也是个错误,但凭感觉你的错误不是这个导致的,这个只会导致画出的流场不对,而不会导致画不出流场。
其实我说的就是画的不对,不好意思,让你误解了。非常感谢这么认真的回答。
大瓜先生,我在MIKE软件交流区群里看见有人提问:mike21能否统计出所有网格节点处网格对应的△x,△y长度?你觉得可以统计出来不,mike软件好像没有这个功能,如果能,怎么操作;不能,是不是就没办解决,零点工作室能不能给我们讲讲呢?我们都想知道,mike21能不能实现,谢谢!
上面的,提的什么问哦!mike21怎么可能统计出所有网格节点处网格对应的△x,△y长度嘛,这个没得办法的,没人能够做得到,软件都是外国人的!
只看到“MIKE软件交流区”共享里有个“MIKE网格面积计算”,不知道这是谁提供的,这个看能不能帮你!
To 河海-南瓜饼:你好,网格面积计算小程序是由本站提供的,可前往本站下载页面下载,群共享里也有,但这个只适用于非结构网格且要求是投影坐标,而不能是经纬度坐标。
To mike学习者:对于结构网格具体来说是矩形网格,△x,△y是你在打网格时就确定的,是已知的,所以没有必要统计,对于非结构网格不存在什么△x,△y,如果有也只是一个等效的。MIKE21分两种网格对应两种不同的算法,关于这一点,你可以前往http://www.zlvo.com/archives/56.html看看。
想请教一下博主:楼上讲的那个“mike21能否统计出所有网格节点处网格对应的△x,△y长度”,如果是非结构网格且要求是投影坐标,能否实现呢?我也很好奇,博主如果能解决,希望帮助一下大家,谢谢木瓜先生!
To 河海-南瓜饼: 是这样子的,如果网格采用的不是地理坐标系而是投影坐标系的情况下,△x,△y的等效计算方法确定的情况下是比较容易做到的。就像对楼上“mike学习者”的回复一样,对于非结构网格不存在所谓的△x,△y,如果有也只是一个等效的。简单来讲,是可以做到的。
谢谢博主指点,是否可以弄一个程序提取mike21里面对“投影坐标系的情况下,△x,△y”加以提取呢?由于我们对mike21数据接口及编程能力的限制,博主能不能编个程序,让我们看看里面道底是△x,△y是多大,如何分布的!辛苦博主了,在这里替迷惑的人们感谢你!
To 河海-南瓜饼:写这个程序无需要MIKE的数据接口和很高深的编程知识,网格文件其实就是一个文本文件,你可以编程读mesh文件的网格信息来计算你要求的数据。
博主,写这个程序对你来说,想必是小事一桩了!我今天可弄了一天都没有成功,悲催呀!可否写一个,共享一下呢?谢谢
To 河海-南瓜饼: 就像前面提到的,这个程序并不难,相信你能独立完成。
谢谢博主的信任!我太笨了,花了两天功夫,还是没搞出来,不打算搞了!如果,博主搞出来了,希望能发送给我一个,谢谢!
楼主辛苦了,按照您发表的MIKE与Tecplot结合的文档,将MIKE的计算结果导入tecplot中,发现个问题哈,1、导入后的流速都在节点处显示,不像在mike view中是在网格单元中显示(表头中有“varlocation=([3-5]=cellcentered)”,是否是网格中心的意思呢?);2、tecplot中显示的水位值后跟mike view中的同一位置的数值不对应。检查了很久找不到原因,烦请楼主解答,非常感谢!
@smile tecplot显示某个位置的值有两个,一个是单元格的值,一个是该点的值(默认是这个),是由软件自动插值的,而对于mike view同一位置的也是插值的,如果不同可能是插值算法不同造成的,应该影响不会太大。“varlocation=([3-5]=cellcentered)”代表第三到第五个变量为网格中心的值。
谢谢楼主回答,tecplot显示某个位置的值有两个,一个是单元格的值,一个是该点的值(默认是这个),怎么处理可以让tecplot中流速值显示的是单元格的值呢?还有MIKE VIEW中计算的水位值和导入到tecplot中的水位不一致这个问题如何解决呢?我可以把这两个文件上传给您吗?麻烦了,非常感谢!
这个方法不适合大批量数据的处理。博主为何不用MIKE开发的matlab tool直接可以读取dfsu结果,自带插值函数可将单元变量插值为成节点变量,或者直接读取某指定步数结果等等,亦可直接matlab输出为tecplot格式?
@surface_wave 谢谢您的关注,上面的方法适合不会编程的人,实际上可以直接用MIKE的接口代码,读取结果生成tecplot格式或者其它格式。当然,您提到的方法也是可行的。
“结果输出选项里的输出范围需要设置成输出whole-area”
我想问问,当结果输出设置为whole-area时,输出的结果中那些没有淹没的地方的水面Surface elevation是如何取值的,我在用tecplot中画水面等高线时,这些没有淹没的地方的水位貌似是错的(有点像就是高程的信息)。不晓得这个问题如何处理?
@sukizi 没有水的地方水位与地表高程相等。
大瓜,你好!
我在用MIKE21 FM计算河道水流时,算出来的结果在边界处会有一些奇异点,这些点的水面高程梯度特别大,流速也特别大,流速梯度也大。比如边界附近有些区域的水面高程会在十几米内相差5m多(水面高程奇异的地方流速很小),而在这个区域相邻的边界会出现流速奇异,流速会达到5-7m/s。我想请问出现这个问题的原因可能是什么?需要怎么处理解决这个问题?
还有一个问题,是这样的,比如我计算的河道中有一个比较小的区域的河床底部高程在164以下,而这个区域周围的高程均大于168,主流区域的河床高程也是在164以下的,然后我计算时下游控制的水位为165,如果计算没问题的话,中间那个区域会是一个死水滩,相平行的主流区域水位高程在165.5左右。但是我计算出来的结果很奇怪,下游断面控制水位本来是165,计算结果显示下游断面处的水位比设定的边界条件高了1m多,而在中心死水滩的高程却为我设定的165。我想问的是这种情况下,是需要把死水滩那块区域剔除掉计算域吗?谢谢大瓜。
@sukizi 如果没有估计错,你下游给定的水位边界条件,可能是这个边界条件给定的值太小的原因。
你好,请问一下,我是按照该方法中一步一步做的,但是把dat文件输入tecplot时出现:Err:Unexcepted end of file in datafile header,请问问题出在哪呢
你好,我将Mike的mesh的数据导出并不会形成每个网格的顶点。
用excel直接打开也数据也不一样,并且很乱,请问Mike要如何才能输出网格的元素呢?