如何将MIke的结果转成Tecplot格式--基于python
1. 简介
Mike是工程和科研领域常用的水动力计算模型,其本身自带了后处理作图功能,但其作图风格往往不是我们想要的,Tecplot是由美国Tecplot公司推出的功能强大的数据分析和可视化处理软件,常被用于海洋模型结果绘图,因此,如何将Mike结果转为tecplot可读的格式,是一个值得思考的问题。
2. 源程序
首先,导入需要的模块:
from mikeio import Dfsu
import numpy as np
读取mike文件中的变量,在此我们以有效波高和悬沙浓度为例,并读取文件的网格信息:
dfs=Dfsu('.\\test.dfsu',)
ds = dfs.read(items=['Total SSC','Wave height'])
e_num = dfs.n_elements #单元信息
n_num = dfs.n_nodes #节点信息
x = dfs.node_coordinates[:,0]
y = dfs.node_coordinates[:,1]
z = dfs.node_coordinates[:,2]
e = dfs.element_table #单元网格构成
data0 = np.array(ds.data) #Tecplot不识别nan,将mike结果中的nan代替为0
data0[np.isnan(data0)]=0
建立Tecplot文件并向其中写入数据,其中文件格式为6列,但Tecplot并不要求一定是6列,此处输出程序有待优化:
f = open('test.tec','w')
title2='VARIABLES ="Xp","Yp","Zp","Total SSC","Wave height"'
f.write(title2+'\n')
for i in range(dfs.n_timesteps): print(i)title3 = 'ZONE T ="P_'+str(i)+ '" N='+str(n_num)+ ' E='+str(e_num)f.write(title3+'\n')title4 = 'ZONETYPE=FETriangle,DATAPACKING=BLOCK 'f.write(title4+'\n')f.write('VARLOCATION=([1-3]=NODAL,[4-5]=CELLCENTERED) \n') #1~3变量为节点,4~5变量为单元for j in range(0,n_num,6):for k in range(6):if j+k<n_num:f.write('%e ' % x[j+k])f.write(' ')f.write('\n')for j in range(0,n_num,6):for k in range(6):if j+k<n_num:f.write('%e ' % y[j+k])f.write(' ')f.write('\n')for j in range(0,n_num,6):for k in range(6):if j+k<n_num:f.write('%e ' % z[j+k])f.write(' ')f.write('\n')for j in range(0,e_num,6):for k in range(6):if j+k<e_num:f.write('%e ' % data0[0,i,j+k])f.write(' ')f.write('\n')for j in range(0,e_num,6):for k in range(6):if j+k<e_num:f.write('%e ' % data0[1,i,j+k])f.write(' ')f.write('\n')for j in range(e_num):f.write(str(e[j][0]+1)+' '+str(e[j][1]+1)+' '+str(e[j][2]+1)+'\n')
f.close()
值得注意的是,上述程序中,x,y,z为节点变量,有效波高和悬沙浓度为单元变量。
3. 处理结果
Mike的绘图效果如下图所示:
将文件处理后用Tecplot打开并调节相关参数后:
如何将MIke的结果转成Tecplot格式--基于python相关推荐
- 【Python】python实现jpg图片文字转成pdf格式
python实现jpg图片文字转成pdf格式 [代码][Python]代码 #!/usr/bin/env pythonimport os import sys from reportlab.lib.p ...
- matlab数据转换为tecplot格式[ASCII码格式下的plt文件]
matlab数据转换为tecplot格式[ASCII码格式下的plt文件] 1 tecplot能读取的的常见ASCII格式 1.1 文件格式与文件头 1.2 zone相关的格式 2 一维数据 3 二维 ...
- python自动化之文件处理_Python自动化办公之Word批量转成自定义格式的Excel
作者:青春阳光king python实现word转成自定义格式的excel文档(解决思路和代码)支持按照文件夹去批量处理,也可以单独一个文件进行处理,并且可以自定义标识符. 最近在开发一个答题类的小程 ...
- PDF文件如何转成markdown格式
百度上根据pdf转makrdown为关键字进行搜索,结果大多数是反过来的转换,即markdown文本转PDF格式. 但是PDF转markdown的解决方案很少. 正好我工作上有这个需求,所以自己实现了 ...
- 厉害了,用Python绘制动态可视化图表,并保存成gif格式
作者 | 俊欣 来源 | 关于数据分析与可视化 最近有粉丝问道说"是不是可以将这些动态的可视化图表保存成gif图",小编立马就回复了说后面会写一篇相关的文章来介绍如何进行保存gif ...
- 安卓取map集合转换为json_android json解析成map格式
"discount": { "3": "34", "4": "33", "5": ...
- python使用openCV加载图像、并将BGR格式转换成HSV格式、定义HSV格式中需要分离颜色的掩码(掩模)区间(mask)、并使用mask信息进行颜色分离、BGR格式的图像转化为RGB、并可视化
python使用openCV加载图像.并将BGR格式转换成HSV格式.定义HSV格式中需要分离颜色的掩码(掩模)区间(mask).并使用mask信息进行颜色分离.将BGR格式的图像转化为RGB.可视化 ...
- python 怎么将数组转为列表_图片转换成pdf格式怎么操作?什么软件能将图片转为pdf?...
伙伴们好,你们知道如何把图片转为pdf格式吗?前一阵子我参加了一个家居行业大会,在会议上拍摄了不少会议照片,包括主持人讲话.嘉宾出席.观众提问.产品推广等环节都拍摄了不同的角度.拍摄好后,需要传送给写 ...
- xsd文件转图片_图片转换成PDF格式怎么转?图片转换成PDF的软件哪个好?
图片转换成PDF格式怎么转?经验丰富的设计师在完成图片格式的设计作品后都会将图片转成PDF格式文件,这样方便保存以及参加一些设计比赛.同时我们在保存大量图片的时候也可以将图片转换成PDF文件.但是还有 ...
最新文章
- 【完结】利用 Composer 完善自己的 PHP 框架(三)——Redis 缓存
- ZAM 3D入门教程(5):Lathe编辑器
- uWSGI+Nginx安装、配置
- 操作系统课设--扩展文件系统
- Codeforces626B - Cards【模拟】
- 《Core Java 课件》Day02
- unity3d AssetBundle 资源热更专题
- Unity 内置渲染管线、SRP、URP、HDRP区别
- h264 pps sps详解
- python 抓取微博评论破亿_利用python实现爬取微博评论的方法
- SQL 日期交差判断
- MOOC《程序设计入门——C语言》翁恺 第六周编程练习及答案
- 阿里云服务平台,分布式架构云平台解决方案
- 一年级金字塔框填数字_一年
- 计算机上机模拟试题答案,[计算机类试卷]国家二级VB机试(上机操作)模拟试卷420及答案与解析.doc...
- 如何检验有调节的中介作用?
- 增值电信业务经营许可证办理续期流程
- php post发微博,php结合redis实现高并发下发帖、发微博的方法
- 兆鹏带你读watir——【第五篇】watir的js应用(技巧篇)
- C语言中输入两个整数,输出其中的最大值
热门文章
- Linu系统(笔记版)
- 第20回	二弟呀,你赤兔带蓝牙不?
- Rainbond之NFS文件挂载(下篇)
- “春节十二响”C语言代码开源了,命名是亮点
- CenterNet:Objects as Points论文学习笔记+代码复现(demo+训练数据)【检测部分】
- linux下光模块参数如何查找,光模块介绍以及常用接口参数查询
- Node 入门及模块系统
- 【数据结构】(二叉树)递归求解双分支结点个数
- linux 服务器之间数据复制—scp
- Android 通过JNI获取MAC地址(适配Android6.0及以上)