OpenFOAM python PINN tensorflow gpu (小白,莫笑)
-
大神们好!
我的课题中涉及到快速求解室内(三维室内空间)的流场(一般ke模型就可以了),通过前期的文献调研了解到physics-informed nerual networks可能是解决方案之一,现在也在这个方向上努力。但该方法还是涉及到求解几个边界条件的室内流场做训练样本。所以想到了用python调用OpenFOAM来求解指定边界下的室内流场,然后带入到python中的PINN里用于训练模型,了解到已经有可以调用的PyFoam包,但没尝试过,也没用过OpenFOAM,想问下有经验的,这条路子走得通吗?(有Matlab和Python的编程经验,上手OpenFOAM难不难呀,因为案例不会很难,就是常规的很简单的不可压缩流体流动,最多涉及到一个浮力的boussinesq假设)。
第二个问题,就是python里的PINN模型在训练时的高效性是基于GPU实现的(所以是租用了GPU服务器,不支持/不鼓励用CPU求解),所以在python里调用OpenFOAM时,想让OpenFOAM也基于GPU计算,这成熟吗?或者有现成的解决方案吗?
第一次涉足OpenFOAM,可能问的问题很不专业,见谅!
-
@mengqiang 我想到的能够用ISIGHT做集成,用ISIGHT调用fluent计算,然后用fluent自动后处理(都用TUI命令),再用ISIGHT调用python进行神经网络训练模型. 这样就不用学openfoam了,fluent也挺好用. 而且ISIGHT还能调用matlab...
但是感觉不用这么折腾啊,为啥非要集成到一块. 用处理好的数据训练PINN也行啊. 我在用PINN做反演(污染物的溯源)
-
这条路子走得通吗?
下面有请鲁迅先生:“世上本没有路,走的人多了,便变成了路”
只要不是商业软件的封闭格式搀和进来,数据都是明码的,撑死了就是输出成文件再读文件。这就是开源的优势。文件格式不符?有一大堆现有的处理纯文本的软件,再调用个 shell 脚本或者python 的脚本也行;处理一下。想让OpenFOAM也基于GPU计算,这成熟吗?
成熟呀,只要钱够多: rapid cfd
但是既然别人做出来了,不想花钱,花时间自己搞也是可以的有Matlab和Python的编程经验,上手OpenFOAM难不难呀
难呀,matlab 和 python 之所以普及就是因为易用呀,OpenFOAM 不易用。如果有 linux 系统维护经验,或者自行编译软件安装软件的经验;上手会有加成。
-
-
@mengqiang 老铁,这一块研究后来做的咋样了
-
@李东岳 我回复一下自己,我说的是错误的。PINN可以理解为另外一套求解PDE的方法。比如FDE可以求解PDE,FVM可以求解PDE,同样PINN也可以求解PDE。PINN求解PDE跟CFD没有任何关系。
当时临近毕业,试了很久PINN
@mengqiang 大佬用什么做的PINN,deepxde么
-
对的,李老师,我用过deepxde,我记得大概就是神经网络在求解的时候涉及到一个什么梯度的求解,然后求解PDE的时候也需要这个梯度,所以他就具有先天优势?然后通过构造特定的损失函数,能够把PINN训练得符合特定守恒方程?我也记不太清了,好久没碰了。然后有数据好像是比如你有一些流场内的数据(比如几个的传感器?)去推测整个计算域的数据?您可以参考一下这篇论文https://www.sciencedirect.com/science/article/pii/S0021999118307125#se0080
-
@小菜鸟 在 OpenFOAM python PINN tensorflow gpu (小白,莫笑) 中说:
@李东岳 李老师,deepxde库属于基于pytorch tensorflow做了封包,形成的高级科学计算库,把计算物理方程的部分模块化掉了,在计算性能方面可能有做过优化,但是降低了自定义的灵活性。还有jax,这个会更加完善,我习惯用pytorch,用jax不太习惯,jax的风格有类似于tensorflow吧(具体不太了解)。国内的有百度系的paddle science和华为系的MindSpore 的MindSpore Flow。
老兄能否留个联系方式交流一下,我也在整这个,正在入门。
10/12