OpenFOAM有两个大版本:org版本(www.openfoam.org)和com(www.openfoam.com)版本。还有若干小众旁支版本,这里就不提了。
两个版本看起来和用起来大体上差不多,直观的差异是com版本似乎内置的求解器更多一些。从$FOAM_APPBIN
文件夹中筛选以Foam
结尾的可执行程序来看,org版本提供了72个求解器,com版本提供了141个求解器。如果只是想将OpenFOAM当做CFD软件来使用的话,毫无疑问com版本有优势。但优势其实并不明显,毕竟在OpenFOAM中定义一个新的求解器并不困难,大不了从com版本里面抄代码呗。
org版本是由非盈利组织The OpenFOAM® Foundation维护的,com版本由ESI公司维护。从开源的角度思考,个人还是比较倾向于非盈利机构,因为企业的本质是要盈利,谁也无法预料未来会怎样,万一哪天ESI抽风了要收费就麻烦了。不过就目前来说,ESI还是将OpenFOAM维护得非常好,而且也没见到有任何准备收费的迹象。有个很奇怪的问题,ESI收编OpenFOAM后,自家的CFD软件(ESI CFD)怎么就不见宣传了呢?挺好用的软件,扔掉实在是太可惜了。
当然大多数人使用OpenFOAM肯定是冲着定制求解器去的。目前两个版本的OpenFOAM的所有源码都是完全可读写,不仔细比较的话还不容易找到差异。但如果进行的是底层编程的话,还是偶尔会碰到两个版本的差异的。碰到了会特别麻烦,尤其是对于像我这种拷贝粘贴打天下的业余选手来说,好不容易粘了个看着很牛的功能片段,结果编译死活通不过,也许找了一下午才发现版本差异导致的底层变化。所以如果是以编程为主的新手小白,建议一开始就选择某个版本,而不是像我这样在N个版本之间摇摆,我纯粹是拿OpenFOAM耍着玩儿而已。
不过以我个人的OpenFOAM玩耍感受,还是比较喜欢com版本,主要是因为其官网上的文档比较多,另外一个可能是感觉ESI有额外的经济来源,不会因为财务问题影响到OpenFOAM。当然org版本也不错,我以前也经常耍,不过现在不怎么耍了。
版本分裂是开源的必然后果,既然选择了开源,自然要承担使用开源所带来的后果。
联系客服