1 为什么要学习OpenFOAM
掐指算起来,接触CFD也差不多有十个年头了,其间一直使用的商用CFD软件,有Fluent、CFX、StarCCM+等,这些商用软件各有其优缺点,都能较好的解决常规的工程问题。然而,最近当我试图往这些软件中添加一些核心求解算法时,发现这是一个不可完成的任务,这些软件的核心计算程序都已经被封装得严严实实,外人连看一眼的资格都没有,更别说去修改了。这时我将目光投向了开源CFD软件OpenFOAM。
其实严格来讲OpenFOAM并不能称之为一款软件,说其是一个C++类库要更合适一些。OpenFOAM提供了CFD计算的一些基础类库,使用者可以在这些基础类库的基础上开发属于自己的CFD求解器。当然,OpenFOAM也预制了一些标准求解器,足以应付一些常规的工程问题。不管从哪个角度来看,OpenFOAM目前在开源CFD领域都是一款非常全面的软件,而且不管使用者熟悉或不熟悉C++,都可以使用它。对于不会编程的人来讲,可以将OpenFOAM当做一款与Fluent类似的求解器;而如果你熟悉程序设计,则可以任意打造OpenFOAM。要知道,如果想要在商用CFD软件中加入新的求解技术,你除了耐心的祈祷软件版本更新之外没有任何的办法,但是你可以利用OpenFOAM加入任何你想要尝试的新技术。
工业
OpenFOAM是免费的,这对于中小型企业来说,吸引力可以说相当的大,只要有一个成熟的前处理GUI,OpenFOAM可以迅速的转化成类似Fluent的CFD软件。科研
OpenFOAM的源代码是公开的,因此可以很方便的修改或增加自己的CFD算法。这对于研究算法的人来讲,OpenFOAM相当于提供了一个算法测试平台,可以省去很多的基础工作。CFD学习
由于OpenFOAM的算法公开,通过研究OpenFOAM的源代码,可以加深的对于CFD内部工作机理的了解。
由于OpenFOAM的适用场合非常广泛,可以预见,OpenFOAM会慢慢的流行起来。
2 为什么有这个系列
说实话,写系列文章是很花费时间的。尤其是对于一些图片插入不容易的编辑器来说。有人说,录视频要比写文章有效率。没错,录视频很简单也很方便,但是写文章视频不可替代的优势,那就是思维整理。
我写这些文章的目的并非给别人看,主要的目的还是方便自己理解和记忆。而将这些学习过程记录下来分享给其他的学习者,若能对他人的学习有所帮助,则是意外的收获了。
3 关于此系列
这个系列主要是讲OpenFOAM的学习之路,并不会涉及到其他的CFD软件。去年寒假期间写的《小白的CFD之旅》是关于FLUENT软件的学习之路,到现在也还没有更新完,我对天发誓会继续更新下去。
OpenFOAM的学习与Fluent软件的学习有很大的不一样的地方,前面提到OpenFOAM不仅可以作为常规的CFD求解器,而且还可以作为一个CFD求解器开发的基础类库,因此我的学习思路是先将OpenFOAM当做基本求解器,熟悉其作为求解器时各种CASE文件的编写方法,后期会涉及到OpenFOAM的程序设计,包括GUI界面开发以及求解器开发。
预计此系列会持续更新50篇。有兴趣的读者可以扫描下方的二维码关注微信公众号。