OpenFOAM programming学习问题
-
使用OF差不多半年时间了,开始只是使用solver,后来也自己写过一些solver,比如自定义的动网格和rhoCentralFoam的一些小的改动。最近要开始写一个求解热平衡的solver,感觉有点难度。
OpenFOAM编程主要分为2部分:
-
一部分是熟悉OpenFOAM的类型
-
一部分是求解
第一部分相对容易,第二部分相对难。很遗憾目前并没有我觉得写的好的OpenFOAM编程资料,或者可以说没有。
没有资料的原因很简单,是因为这东西不简单,并且不是按照资料就能学好的。而是需要按照科学研究的态度,进行验证。给你举个栗子,我们都知道
simpleFoam
没有考虑重力,那么如果我们要在simpleFoam
中添加重力应该怎么办?-
针对第一部分,你需要学习如何添加
g
,可能你在资料里面找到了,声明volVectorField
即可,恭喜,这一步达成; -
针对第二部分,那么就是如何采用有限体积法植入
g
的影响,如果看过一些FVM的资料,或许你在UEqn
中添加了g
,然后编译成功,你觉得大功告成;
如果CFD只是这么简单。那么人人都可以写OpenFOAM编程的资料,然而不然。
问题在于即使你植入了你的求解器,你如何验证你的植入是正确的?是复合物理的?例如上面这种方式的植入,我觉得就是不完美的。
如何获取这种普适性的CFD植入思想?这很难在资料中获得。
或许你觉得我说的有点高了。那么我们考虑最简单的:不考虑求解准确不准确,不考虑植入的方程符不符合CFD常规解法,如何开始编程第一步?
http://www.cfd-china.com/topic/580/学习openfoam的一点小建议 这个帖子中代码定制部分有一些回答
正如帖子所说,这部分完全可以自学。就像你的师父教会了你做馒头,做油条,更高级的自创西式面点,这需要你自己去研究。你在学校学会了乐理和节奏,你也需要自己去创作自己的原创。
OpenFOAM编程,或者说CFD求解器求解,本身已经不属于OpenFOAM学习的范畴,很难通过看一本书,就达到融会贯通的地步。
如果问题是如何学习OpenFOAM,应该会更好回答。
-
-
@xiaofenger 我是看的师兄留下的书。不过我可以帮你问问国内同学,有的话我发给你。
-
@xiaofenger 不太清楚这个会不会有版权问题,你发我你的邮箱吧,就不在这里给链接了
-
@sibo 125723952@qq.com 多谢哈!
-
-
东岳大神说了开发的问题。我来说说我的看法?清楚物理模型的物理意义貌似是最基本的也是最容易出错的部分。openfoam方面可以参考The Finite Volume Method in Computational Fluid Dynamics。还有就是最笨的办法:读代码