吾生有涯 学海无涯
析模有界 知识无界

【这些年】OpenFOAM

OpenFOAM的学习曲线比较陡峭。软件自身比较复杂,再加上做得不怎么样的文档,这造就了OpenFOAM陡峭的学习曲线。很多刚接触OpenFOAM的新手都觉得茫然无措,不知从何处下手。

我第一次接触这货,大约是在2008年,记得当时在一个交流会上听一位博士师兄提起的。那年头,整个实验室都被CFX搞得乌烟瘴气,OpenFOAM是个什么鬼,没有人知道。我在官网上看了介绍,然后尝试着安装,不记得安装了多久,反正是没有安装上,最后不了了之。

再次接触这货,转眼就到了2014年,一晃6年过去,这期间发生了很多的事情,实验室的CFD主打软件也从CFX转换成了Fluent,不过依旧没有人使用OpenFOAM。而之所以再次与之发生交集,是因为这年开始我在给研究生上《计算流体力学》这门课,而在给学生上课的过程中,我一直试图找到一个方便的工具,能够在数学算法推导之后能够示之以程序。在起初,我采用python进行程序演示,然而这个效率很低,缺少基础平台,对于复杂的几何模型,单单是个网格生成,就需要大段的程序代码,这显然不是我所想要的结果。我希望能有一个好的程序平台,一个基础设施完备,而只需要将注意力投放在算法上的平台,毫无疑问,OpenFOAM能够满足要求,于是有了第二次接触。

第二次接触其实并不愉快,虽然说OpenFOAM提供了完备的底层实现,然而要想读懂那些底层代码谈何容易。且不说C++号称是宇宙最难学的计算机语言,更何况OpenFOAM的代码并非原始的C++,而是采用了C++封装的类库,而且这类库还不是标准类库,读起来不是一般的费劲。就如我号称大学本科不务正业的学了四年C++,通过了高级程序员考试的应该不算太菜鸟的人读起来也是焦头烂额,经常迷失其中四处碰壁。连着读了三个月代码,发现这玩意儿用在课堂上,实在是不太合适,首先这货需要安装在linux环境下,如果要用在windows下的话,就只能安装虚拟机,而比较令人尴尬的是,学校教室中的计算机并不支持vt,虚拟机也没法安装,于是放弃。

转眼间到了2016年,由于项目需要开发CFD求解器,而项目工期又短,从头开始堆砖似乎不太可能,于是想起了OpenFOAM,用这个至少不需要从最基础的代码开始,虽然用别人的程序读起来麻烦,然而时间紧迫也顾不上那么多了。之前的经验说明,靠读代码似乎很难在短期内看到效果,因此需要寻找一条捷径。

下面是我的个人经验,并非适合所有人,非喜勿喷。

视不同的应用人群,OpenFOAM基本上可以分成两大块:

  • 当做CFD求解器。OpenFOAM已经预制提供了一些标准求解器,实际上我们可以什么都不做,只是将其当做一款求解器,想来也是极好的。不过据说预制的求解器求解计算效率和商用CFD软件有差距,有人分析说是因为代码编译过程中没有优化,我没有尝试过,无从辨识真伪。不过OpenFOAM的并行效率是真的不太高。

  • 当做CFD求解器开发平台。此时将OpenFOAM当做一个CFD类库,利用其已经预制好的外围基础,将目光集中在自己的求解器算法开发上,而不必担心底层实现,这比从头开始编程序要节省海量的时间。

实际上,如果要学习OpenFOAM,以上两方面都需要有所了解。

如果只是单纯的将OpenFOAM当做一款免费的CFD求解器,在实际工程中,你仍然需要了解每一个标准求解器所需要的case文件组成,不同的求解器所需要的文件不同,可惜OpenFOAM文档中并未提供所有标准求解器的使用方法,因此,这些求解器的使用方法则必须通过阅读相关的程序代码才能了解。

如果将OpenFOAM当做CFD求解器开发平台,当然工作侧重点是OpenFOAM程序代码,但是如果熟悉标准求解器的使用方法,毫无疑问能够帮助我们更好的理解其核心代码,这对于程序开发工作是极为有利的。

OpenFOAM的帮助文档做得并不好,很多重要信息在文档中都找不到,当然一部分原因可能是在于原厂以培训为生,如果文档写得很好的话,岂不是自断财路。更多的信息要在程序代码中找寻答案,这对于初学者来讲无疑是一座难以逾越的大山,不过这可能也会诞生出一个新的行当:为OpenFOAM开发前处理器。针对不同的行业定制不同的前处理器,这似乎要比对其他商用软件二次开发简单不少。目前也有不少所谓的云计算,实际上就是定制了一个网页前端,后台仍然采用OpenFOAM作为求解器。前端的工作实际上很简单,最核心的无非是求解器筛选以及case文本的准备。

OpenFOAM提供了非常多的tutorials文件,只不过没有提供文档说明,不过通过解读这些tutorials文件,对于熟悉标准求解器的使用是至关重要的。

发现最近写OpenFOAM的内容的时候,取关的人数特别多,很多人可能并不了解这个,以为我在胡言乱语。不过我想说的是,如果你只是使用CFD的话,商用软件足矣,但如果想要真正理解CFD的话,OpenFOAM是一个很好的平台。后期还会继续更新OpenFOAM的内容。

本篇文章来源于微信公众号: CFD之道

赞(0) 打赏
版权声明:未经允许,请勿随意用于商业用途。
文章名称:《【这些年】OpenFOAM》
文章链接:https://www.topcfd.cn/2511/
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到

说两句 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者吧

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册