首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中可视化vtu文件?

如何在python中可视化vtu文件?
EN

Stack Overflow用户
提问于 2021-04-08 18:26:00
回答 1查看 112关注 0票数 0

我使用meshio软件包从一个vtu文件中提取信息,该文件表示流经雷诺号的圆柱体(Von涡)的2d版本。一次的220次。我能够在一个名为data的变量中提取x和y坐标,如下所示:

代码语言:javascript
复制
In[7]: data    
Out[7]: 
array([[0.02692238, 0.40000474],
       [0.02049045, 0.41      ],
       [0.03102019, 0.41      ],
       ...,
       [0.27846185, 0.15545069],
       [0.04423019, 0.05609254],
       [0.04601913, 0.06239963]])
In [9]: np.shape(data)
Out[9]: (12568, 2)

此外,我能够提取任何字段变量,例如压力,如下所示:

代码语言:javascript
复制
In [8]: Pressure
Out[8]: 
array([ 0.04950621,  0.05545308,  0.04723278, ..., -0.05356851,
        0.07954962,  0.08006932])
In [10]: np.shape(Pressure)
Out[10]: (12568,)

仿真中采用了triangle 6单元,即每条边中间有3个规则节点和3个额外节点的二次元。这是节点连接的结构。

代码语言:javascript
复制
In [14]: cells['triangle6']
Out[14]: 
array([[    0,     1,     2,  3528,  3527,  3531],
       [    3,     4,     5,  3525,  3239,  3238],
       [    4,     6,     5,  3408,  3237,  3239],
       ...,
       [ 1737,   484,   343,  7316,  4145,  4148],
       [ 3204,  3199,  3202, 12296, 12294, 12566],
       [ 3200,  3199,  3204, 12295, 12296, 12567]], dtype=int64)
In [15]: np.shape(cells['triangle6'])
Out[15]: (6142, 6)

如何使用这些信息绘制模拟?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-26 21:33:40

我在一年后回答我自己的问题。所以,如果重点是可视化vtu文件的话。PyVista是你需要的东西。这里,他们有一个关于如何可视化vtu文件的优秀教程系列。

我们还可以使用matplotlib.pyplot.scatter()快速绘制以因变量作为颜色图强度的散射图。

例如,如果我想在2D域中绘制压力。

代码语言:javascript
复制
import matplotlib.pyplot as plt
sc = plt.scatter(x,y, c = pressure)
plt.colormap(sc)

如果您想要将plt.imshow()用于更好的绘图,则需要应用内插将数据转换为结构化网格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67009826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档