使用 Python 脚本在 ParaView 中绘制一条线上变量的积分与时间的关系
Posted
技术标签:
【中文标题】使用 Python 脚本在 ParaView 中绘制一条线上变量的积分与时间的关系【英文标题】:Using Python scripting to plot integration of a variable over a line versus time in ParaView 【发布时间】:2018-09-06 14:14:12 【问题描述】:我有一些OpenFOAM模拟结果(你可以使用官方的can.ex2
模型,可以从here下载)。我想做的是:
-
打开一个文件,将原始数据加载为分解的case(不能应用于上面的case)
对特定变量应用计算器过滤器(例如
DISP*3.14*coordsX
,我使用 3.14,因为看在上帝的份上,我找不到 Pi!)
在[x1,y1,z1]
到[x2,y2,z2]
线上应用滤波器图
在每个时间步中将 2 的输出积分到 3 中定义的线
随着时间的推移绘制 4 的结果
如果您能帮助我了解如何编写 Python 脚本来执行此操作,我将不胜感激。
【问题讨论】:
对于 2:从数学导入 pi。目前尚不清楚您使用的是哪种文件。如果是类csv,可以使用标准库中的csv模块。 @GeorgeG 在 Python 中我知道如何使用 Pi,但是如果您检查 ParaView Calculator 过滤器属性部分,则没有 pi。当然,在 Python 中这个问题会得到解决。除非 ParaView API 接受表达式作为字符串... 啊,我从来没用过,抱歉。 @GeorgeG 没问题。我也没有在 Parview 中使用过 python 脚本。我什至找不到一个好的“傻瓜”示例。 【参考方案1】:编写 Python 脚本来执行此操作的最简单方法是使用 ParaView 的 Python Trace 功能。基本上,您开始跟踪,然后运行您在 Paraview 用户界面中列出的操作。 ParaView 将您的操作转换为 Python 脚本,您可以在停止跟踪后保存和修改该脚本。有关详细信息,请参阅ParaView Guide 的第 1.6.2 节。这可能是了解 ParaView 的 Python 脚本的最佳方式。
【讨论】:
感谢您的帖子。我将阅读该部分,尽管我仍然有 issues 和 VTK! 根据指南,Tools
菜单中必须有一个Python shell
。我找不到它。它不存在!
找到Python shell
。它位于View
菜单中。对于 mac 上的记录,Help
菜单上有这个不错的功能,人们可以在其中搜索命令并选择项目,蓝色箭头显示确切的位置。想知道为什么这个功能不在 Windows GUI 上!
我尝试了您的建议,通过 GUI 和跟踪执行所有步骤。我还使用@mathieu-westphal 方法here 与ParaView GUI 进行交互。然而,结果不是我所期望的,从要点的图像中可以看出。它会打开所有的平底锅,但不应用任何过滤器!如果您能帮助我了解问题所在以及如何解决,我将不胜感激。
我还尝试删除 Connect("localhost")
并从 Menu>Macro>Add new macro
加载 python 脚本,它显示了第一步,但它再次不应用其余部分。请看paraview_GUI_result_2.png
以上是关于使用 Python 脚本在 ParaView 中绘制一条线上变量的积分与时间的关系的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 脚本在 ParaView 中绘制一条线上变量的积分与时间的关系
如何在 Paraview 中打开具有可见内容的 .pvd 文件?
无法使用 pvpython 渲染某些东西(paraview)
用于 OpenFoam 的 jupyter notebook 中的 Paraview:没有名为 vtkCommonCorePython 的模块
是否可以在不使用 GUI 的情况下使用 ParaView Python Shell 加载 OpenFOAM 解决方案文件?