如何使用 python 脚本选择 ParaView OpenFOAM 案例中的所有网格区域?

Posted

技术标签:

【中文标题】如何使用 python 脚本选择 ParaView OpenFOAM 案例中的所有网格区域?【英文标题】:How to select all mesh regions in ParaView OpenFOAM case using python scripting? 【发布时间】:2018-05-18 06:08:06 【问题描述】:

使用 python 在 ParaView 中加载 OpenFOAM 案例非常简单:

ofReader = OpenFOAMReader(FileName='<some OpenFOAM case directory>')

但是,默认情况下,阅读器对象中只选择了internalMesh 网格区域。

使用 ParaView 的 trace 方法没有任何帮助,因为 OpenFOAMReader 对象的 MeshRegion 属性只是设置为我通过鼠标输入选择的网格区域的值:

ofReader.MeshRegions = ['internalField', 'patch1', 'patch2']

由于我事先不知道网格区域名称是什么,我无法在我的 python ParaView 脚本中生成这样的行。

如何使用 python 脚本和仅使用 ParaView Python API 功能在 ParaView 中选择和加载 OpenFOAM 案例的所有网格区域?

【问题讨论】:

【参考方案1】:

ArrayListPropery python 类上有一个 SelectAll() 函数。

ofReader = OpenFOAMReader(FileName='<some OpenFOAM case directory>')
ofReader.MeshRegions.SelectAll()
Show(ofReader)
Render()

如果您需要知道名称,这也是可能的:

ofReader.GetProperty("PatchArrayInfo")

【讨论】:

感谢您的帮助。上面的答案是有效的!你知道这是否记录在任何地方? 就在这里:paraview.org/ParaView/Doc/Nightly/www/py-doc/…

以上是关于如何使用 python 脚本选择 ParaView OpenFOAM 案例中的所有网格区域?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 脚本在 ParaView 中绘制一条线上变量的积分与时间的关系

如何在 Paraview 中打开具有可见内容的 .pvd 文件?

无法使用 pvpython 渲染某些东西(paraview)

使用 ParaView 进行文件转换

用于 OpenFoam 的 jupyter notebook 中的 Paraview:没有名为 vtkCommonCorePython 的模块

是否可以在不使用 GUI 的情况下使用 ParaView Python Shell 加载 OpenFOAM 解决方案文件?