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

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

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

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

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

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

最佳答案

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

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

如果您需要知道名称,这也是可能的:
ofReader.GetProperty("PatchArrayInfo")

10-06 10:35
查看更多