@vbcwl
codeStream应该可以
codeStream.pdf
-
RE: python进行OpenFOAM流场后处理
- 首先pathlib这个模块在最终的代码中并没有被使用到,所以你可以将这个模块和对应的代码移除,这并不会影响代码运行结果。
- 然后谈谈你这个报错。
readData.py
这个文件是用pvpython
执行的,这个python解释器是paraview自带的,对应的第三方库也是在安装paraview时配置好的,所以错误来源于你的paraview附带的pvpython解释器(可能是安装问题,可能是系统环境问题,也可能是软件版本问题,请自行排查),和系统python解释器无关。你使用pip
和conda
只是在安装你系统python解释器的第三方库。 - 尽管最终版本这个模块被弃用,不过这里再补充一下:pathlib在本代码中的用途是创建空文件夹(
pathlib.Path
),在上面的讨论中也提到了,因此可以使用os.mkdir
替代。
-
RE: python进行OpenFOAM流场后处理
我不太清楚你表述的网格扭曲是什么意思,如果只是纵横比不正确的话,可以使用
set_aspect
进行调整。比如我上面代码段中的ax.set_aspect('equal')
,表示x轴和y轴始终保持1:1的比例。 -
RE: python进行OpenFOAM流场后处理
其实是这么写的,就是指定读取的时间,后面改着改着就忘了
b = 10 os.system('pvpython readData.py -time_ %f' % b)
你想读取最后一步也很简单。注意第一段代码中的这一行:
times = reader.TimestepValues
这一行代码返回了一个包含所有可读时间的List,List的最后一个元素就是latestTime。因此接下来使用这个元素更新pipeline即可:
UpdatePipeline(time=times[-1])
-
RE: OpenFoam后处理读取颗粒错误
还有种方法,通过一个工具将OF中颗粒坐标转换成旧版本的格式,然后就能被paraview和tecplot等读取了
https://github.com/blueCFD/lagrangianExtraFunctionObjects -
RE: tecplot后处理
Data-Create Zone-Rectangular提取出想截取的位置
但是提取出来的Zone没有数据,Data-Interpolate根据原数据对创建的Zone进行插值就可以
这样就得到一个名为Rectangular zone的Zone