绘制极坐标网格(python和/或paraview)上的有限体积模拟结果

时间:2016-10-26 16:44:44

标签: matplotlib plot heatmap polar-coordinates paraview

我一直试图在网上和其他地方寻找解决方案,但我似乎找不到我想要的地方。

我的问题如下:我有一个数值模拟器,使用径向(圆柱形)网格解决2d或3d中的流体流动问题。模拟器使用有限体积法,从而为每个网格块计算每个感兴趣变量的单个值(例如,压力,浓度)。

我希望使用Python(matplotlib)可视化2D中的轮廓(对于3D情况,我想在z方向上绘制切片)。但是,我不希望轮廓图具有平滑的轮廓,而是希望每个网格单元内的单个颜色编码值。我还想选择绘制网格线。

作为替代或替代方法,我想知道使用Paraview是否可以轻松解决同样的问题?也就是说,如何基于有关模拟网格单元格的边界半径,方位角和z坐标的信息来编写必要的.vtk文件?

如果有人能帮我解决这两个问题,我将非常感激!

1 个答案:

答案 0 :(得分:0)

对于ParaView,我能想到的最直接的解决方案是编写一个VTK文件。您可以加载该文件,在任何方向上对其进行切片,并且可以非常轻松地查看包含和不包含网格线的以单元格为中心的数据。

你的VTK文件将包含你从我认为它们被表示的极坐标系转换的xyz坐标。您的单元格类型为VTK_HEXAHEDRON个单元格。听起来你想将你的数据存储为VTK称为“单元”数据数组(而不是与网格点相关联的“点”数据数组)。有关VTK遗留文件格式的更多详细信息,请参阅http://www.vtk.org/wp-content/uploads/2015/04/file-formats.pdf