新手上路 OpenFOAM

作为一个 CFD 新手,我想对朋友们说,CFD 大法好,OpenFOAM 终将成为你的工具。

想用 CFD 工具,展示展示计算结果,工程分析,用 Fluent/CFX/StarCD/StarCCM+ … 就好。

但是,作为一名 CFD 学员,了解 CFD 的运作方式,会使 CFD 的使用更得心应手。钻研一下 OpenFOAM 的代码,成了 CFD 的主流。

首先来说,对于大多数童鞋来说,OpenFOAM 还是工具,多数情况下,受限于商业软件的 license 费用,因而选择开源软件。但是,这并不免费的,时间、精力都是要花成本的。开源的软件,学习资料还是有限。但是,并不是没有,尤其是,OpenFOAM 发展也有 15+ 年了,算上闭源 FOAM 开发,已经有约 30 年了,因此,在网上的学习资料还是很多的。但是,好像又不是学了就会用。每一个新的 case 都有不同的要求,怎么解决?唯有学习,他山之石,可以攻玉。

现在我分享一些学习 OpenFOAM 的途径和方法。欢迎讨论。

  1. 首先,安装。如果是 Windows,建议大家安装 Linux 虚拟机,然后在虚拟机中学习使用 linux 和 OpenFOAM;如果你已经熟悉 Linux,或者有偏好某个发行版的 Linux,比如 Debian, CentOS, Ubuntu 等,可以在上面装,OpenFOAM 提供了多种安装方式。

阶段1

  1. 其次,初学。建议把 User Guide 和 Programming Guide 上的 tutorials 先做一遍。如果你已经比较熟悉其他软件的 CFD,也做过一些 CFD 算例,那这里就算是熟悉环境了。如果之前没有任何 CFD 经验,建议从 cavity 流开始,做好每一个算例,弄清楚边界条件、网格等。

阶段 2

  1. 下一步,自用。结合你要做的 case,划好网格,定好边界,选一个能和你的 case 贴合的已有求解器进行计算,分析。

阶段 3

  1. 接下来,发展阶段,达到可以自行编程或改编程序的能力。

这三个阶段可不可以跨越呢?当然可以,不过,跨度太大,将来还是要补锅的。还是要回头学。

网上资源:

教程:

  1. Tutorial Wiki 初学
    由 ESI-OpenCFD 资助,由社区活跃者自发维护。总结有 “First Glimpse" 系列“3 Weeks” 系列,带领初学者一步一个脚印地走进 OpenFOAM 的世界。“First Glimpse" 系列旨在提供 OpenFOAM 初体验,“3 Weeks” 系列则提供了包括 OpenFOAM 的安装、工作流程介绍、CFD基础理论、网格划分、湍流、多相流、编程等在内的详细讲义。说是三周,其实所需要的时间远不止三周,可以结合自身情况及需要合理安排进度。

  2. Youtube Channel by Jozef Nagy
    该频道为 Jozef Nagy 的视频教程集合,有 Linux 入门、CFD 入门、CFD 进阶、前后处理、实用技巧等多个播放列表。良心制作,但是比较考验听力水平。

  3. Holzmann CFD by Tobias Holzmann
    Tobi的YouTube频道 曾经也有很多优秀的教程,但因为大部分人享受免费的午餐,Tobi 得不到足够的支持,所以半年前他下架了所有教程视频,只留下了很多精彩的项目演示。这些视频部分转为付费项目在他的个人网站 Holzmann CFD 上提供。幸运的是仍有部分教程免费,可点击该网站导航栏 “Free Material” 获取。

  4. Tutorials by TU Wien
    由维也纳工业大学提供的 176 页 PDF 教程,涵盖基本 Linux命令、网格划分、湍流、多相流、反应、后处理等,跟着走一遍可以快速熟悉 OpenFOAM 工作流。

  5. WolfDynamics by Joel Guerrero
    Joel的讲义,全面而详细,耐读性上佳。可以打印一本作为手册查阅。教程集合可以在 Tutorial Wiki 上的 Joel Guerrero 专区轻松获取。不过其中漏了几册,包括异常精彩的湍流进阶讲义和多相流进阶讲义,可以在 WolfDynamics 的教程专区找到。

  6. Tutorials by Hrvoje Jasak
    由 OpenFOAM 创始人之一 Jasak,利用 foam-extended 提供的讲义及视频教程,深入浅出,有很多实用技巧和理念。视频较长。

说明文档:

  1. Doxygen 由官方提供的 Doxygen 是比用户指南更为细化的说明书,其中对很多关键字的具体用法有详细的说明。不管你使用的发行版是 OpenFOAM-vXXXX 还是 OpenFOAM-X.X,都推荐查阅前者(即OpenFOAM+)的 Doxygen,简单对比你就会发现它有更好的可读性。

  2. OpenFOAM Wiki 提供了很多按主题分类的案例合集,想要实现某一功能,往往能在这里找到指引。遗憾的是部分页面因为缺少维护而偶有陈旧、欠缺、坏链的现象。

  3. Training Manual by CFD Support 由 CFD Support提供,说明文档很翔实,尤其是对一些冷门关键字的使用举例尤其让人兴奋。

  4. Docs by SimScale SimScale 是基于 OpenFOAM 的在线 CFD 模拟工具,由于是 OpenFOAM 的商业化应用,所以提供了比源生 OpenFOAM 更加详细友好的说明文档,绝大部分内容与源生 OpenFOAM 通用。

  5. PENGUINITIS 是一个神奇的网站,提供了各种开源工具的详细说明,其中有OpenFOAM专区,提供了非常全面的文档。只不过行文为日语,可以用浏览器的自动翻译功能翻译成英文,阅读基本畅通无阻。尝试过翻译成中文,不仅语句不连贯,且关键字都会被一并翻译,阅读体验较差。

  6. Fumiya Nozaki’s CFD Blog Fumiya 的个人博客有很多有趣而有价值的博文,其中一些结合代码的解析文章尤其让人受益,对进阶很有帮助。

  7. 东岳流体 提供了很多关于 CFD 理论和 CFD 求解器的讲解,深入代码进行剖析,而很多问题在读了代码之后就柳暗花明。

  8. SourceFlux 上有很多精彩的博文,尤其涉及一些细节上的技巧。除了免费内容外,还有一本付费书籍《The OpenFOAM Technology Primer》,对 OpenFOAM 有全面而深入的介绍,很适合入门后阅读,同样推荐给您。

其他不错的文档:

  1. PhD course in CFD with OpenSource Software by Chalmers University of Technology 瑞典 Chalmers 工业大学提供的博士课程,这个网站可以用宝藏来形容,每讲都针对一个主题有翔实的剖析,专业而前沿。提供演示文稿、书面讲义和算例文件。

  2. “OpenFOAM-A Little User-Manual” by Gerhard Holzinger 这是一本很翔实的用户指南,作者结合自身多年经验,把遇到过的问题与解决方案都列在了每个小专题的最后。

论坛/社区,答疑解惑

如果有问题,可以在这些地方讨论

  1. www.cfd-online.com (英文),
  2. forum.cfdac.com,CFD 连线
  3. www.cfd-china.com
  4. www.cfluid.com,流体中文网
  5. www.openfluid.com,蓝色流体网

参考资料

  1. http://www.runinchaos.com/CFD/Openfoam_free_materials.html
3 个赞

非常感谢,教程很有帮助