首页/文章/ 详情

汪洋博士:如何通过自己的努力学习OpenFOAM?

精品
作者优秀平台推荐
详细信息
文章亮点
作者优秀
优秀教师/意见领袖/博士学历/特邀专家/独家讲师
平台推荐
内容稀缺
1年前浏览2178
导读:本文由武汉理工大学汪博士根据自学OpenFOAM的亲身经历,总结了学习OpenFOAM最有价值的资料和个人经验。诚邀各位OpenFOAM学习者报名4月1日汪老师的公开课走近自由、开源计算流体软件—我的OpenFOAM启蒙课》,支持永久反复回看,详情见后文。

、引言
由于在群里,经常看到小白们天天问一些问题,回想起自己在入门的时候,也是在很多大神的帮助下,才有所进展,所以想写点东西帮助下小白怎么入门。但是本文并不是写几个流程,跑几个算例,来教小白,这种粗浅的案例式教程比比皆是。本文主要集中在如何通过自己的努力学习OpenFOAM

图片源自网络
二、入门准备
1、思想准备
  • 在学习OpenFOAM过程中,一定要避免完美主义倾向,切记!因为OpenFOAM涉及的内容特别多,你点点滴滴想搞懂,一定会陷入细节的黑洞不能自拔。所以在很多时候,当个漂亮的名词挺好。

  • 一定要认识到挫败感很强,这个感觉一直贯穿我的学习过程中。所以错了就弥补。

图片源自网络

2、Linux相关知识准备

首先最好有一台干净的电脑装Linux,最好装Ubuntu18.04LTS版本。然后找几个视频教程,越短越好,适应下Linux命令行。

强烈推荐学习下面这门课,对于今后使用OpenFOAM会有极大帮助,需要做作业,反复练习。

课程网址https://missing-semester-cn.github.io/
https://www.bilibili.com/video/BV1x7411H7wa?from=search&seid=17407778522322643506
也可以参考国内Up主基于上面课程做的视频,但是不完整。

https://www.bilibili.com/video/BV11T4y1G73e

3、安装OpenFOAM

很多人不知道选择哪个版本,用什么。实际上都差不多。选择最容易安装的版本,安装链接如下。由于是Ubuntu,所以按照下面三步就可以安装上OpenFOAM8,命令行中输入。如果不了解命令行可以查询一下官网https://openfoam.org/download/8-ubuntu/openfoam.org

  • Step1
    sudo sh -c "wget -O - https://dl.openfoam.org/gpg.key | apt-key add -"sudo add-apt-repository http://dl.openfoam.org/ubuntu
    • Step2

      sudo apt-get update
      • Step3
        sudo apt-get -y install openfoam8
        相信学到一定程度之后,你的安装水平会提高的。以至于可以多版本共存。

        三、正式入门

        入门这个环节,推荐大家系统耐心的去学习。不要觉得太花时间,应该直入科研主题,这样做反而会浪费时间。

        从目前学过的资料中,排序如下

        1、wolfDy相关课程
        我推崇热那亚大学的培训。这个页面是个巨大的宝库,要特别重视。里面有PPT和对应的算例资料。甚至连C 和linux都有入门教程。实际上按照这个资料走一遍,就入门了。

        http://www.wolfdynamics.com/tutorials.html?layout=edit&id=50
        2、OpenFOAM.com版本
        这是com版的官方给的入门资料。也是相当详实和丰富。尤其是三周课程,非常值得一学。
        https://wiki.openfoam.com/%22first_glimpse%22_series

        https://wiki.openfoam.com/%223_weeks%22_series
        3、研发埠的课程
        推荐DTK大学,陈昊大神的课,他研究对象应该是波浪。

        4、József Nagy

        他是上述三周课程的编委之一,其中部分内容会在三周课程中出现,有所重复。
        首先看basic基础视频,讲的非常清晰

        https://www.*******.com/watch?v=E9_kyXjtRHc&list=PLnJ8lIgfDbkokSay_SRjHREsoA_TS-ALl&index=14

        其次看intermediate中级视频
        5、Development - Holzmann CFD

        https://www.*******.com/channel/UCLMLJc3tV_tNRlWoVFaSRGw

        哥们是德国人,网站上很有一些宝贝。尤其是想学好SnappyHexMesh的人。唯一的缺点是要收费,但是还是挺值得的。免费内容也相当精致。
        6、瑞典Chalmers大学博士课程
        http://www.tfd.chalmers.se/~hani/kurser/OS_CFD/
        授课内容较难,PPT图片不多,文字描述操作步骤,总体来说没有什么问题,都可以实现。由于是博士生课程,所以这门课更偏向编程一点,不过也还好,不是特别难。往年很多学生都要自己写求解器的。所以有兴趣的朋友可以认真看一下历年相关的课件和作品集。
        7、C 入门课程

        https://www.bilibili.com/video/av68697716?p=11

        认为是很不错的C 入门教程,这个课程有很多优点,我是编程小白,就不一一说明了。绝对值得跟一下。
        8、CFD理论补充
        ① 快速入门CFD教材
        唯一一本,推荐看下安德森的那么薄薄的计算流体力学作为完整框架性学习。那些从入门到放弃的CFD就再说吧。

        ② CFD理论基础课-Dr Aidan Wimshurst

        https://www.udemy.com/course/computational-fluid-dynamics-fundamentals-course/
        分为三门课程,可能后续还要出。涵盖的内容,主要是一维、二维扩散方程,扩散对流方程,三类边界条件的实现(Dirichlet, Von Nuemann),集中常见的离散格式,非结构化网格,网格质量评价标准等内容。内容娓娓道来,推导相当清晰,例题相当细致,每一步都不省略,并且提供了Excel,Python两种实现方式。非常推荐,唯一缺点,有点贵。
        ③ FluidMechanics 101课程
        https://www.*******.com/channel/UCjdgpuxuAxH9BqheyE82Vvw
        这是Dr Aidan Wimshurst的专栏,没有固定的逻辑和顺序,讲解过程逻辑清晰,英式口音。重要的是,授课逻辑偏向OpenFOAM,内容以湍流模型,PISO,SIMPLE等算法实现,也会扣一些细节比如网格的非正交修正等。由于OF的很多算法与教科书的是有一定区别的,所以理论还是得扣一下的。视频下方给出相关参考文献,也省去收集经典文献的麻烦,这是快速入门CFD的捷径。补充一下,作者对OF主要开发人员Jasak教授的博士论文相当有研究。
        ④ ME702 12步入门CFD(Python)
        https://github.com/barbagroup/CFDPython
        这个版本是github上的版本,会多一些内容,直接看官网的也行。配合ME702课程系统学习一边CFD也是非常推荐的。
        https://www.bilibili.com/video/BV1YW411s729?from=search&seid=11824432106004864112

        四、学习建议

        • 无论是视频教程和文字教程,学习过程尽量专心。如果不能专心,由于资料大多是英文,所以会导致理解偏差。

        • 碰到问题或者计算结果与教程不同,不是打开QQ,拍照上传到群里,此方式很糟糕。应该自己先思考下,为什么?是自己操作的问题,还是因为版本的问题,还是老师故意为之设置好不同让你改,还是其他什么原因。如果分析不出原因,可以将错误,抛到google上搜索一番,也许你的问题有人曾经也发生过。一般都会在Cfd-Online上找到,实在不行再问。

        • OpenFOAM分支特别多,不太可能有人什么都知道,所以问问题一定要精确。起码大概知道是OpenFOAM的问题还是Linux还是C 。这里额外提醒一下,不用花太多时间学习C ,学几个月一样解决不了OpenFOAM出现的问题。这里强调的是,不要把C 作为学习OpenFOAM的主要方向。

        • 大部分与OpenFOAM有关的问题。

          ① 操作问题,例如:不在正确的目录下输入icoFoam,然后报错了不看错误信息。

          ② 设置问题,例如:没有0文件夹,或者没有改名字,就开始算,结果报错。

          ③ 发散问题,例如:Co设置不合理,网格划分不合理等都会导致。求解器设置不合理,这个就得提升CFD内功。

        • 学习路径。应用:学3.4的Nagy老师的基础和中级课程->3.1->3.2(前十天,今年刚更新)->3.3->3.6。编程:3.4->3.1>3.2(最后5天)->3.6->3.5的编程课程,同时学习3.7。

        • CFD理论,找到特别合适的Crash课程,认真学习3.8.2,最详细,最基础的CFD入门动手课,大一数学功底就可以跟下来。3.8.1可以在系统学完3.8.2同时展开。3.8.4给出了另外一条路,就是上课动手实操。这一关,逃不掉。

        五、结论

        • 首先,学习OpenFOAM就几个月时间,上面推荐的内容,我都看过。只有反复才能提高,不要为畏难此为其一。
        • 其二、就是必须努力提高内功,光会设置一些基本参数,那与用fluent这些商软差别不大,一定要明白fvSchemes和fvSolution这些设置的内涵,这样才能在前人的工作基础上有所创新。
        • 第三、对CFD本身的功底的提高,千万别忽视计算流体力学功底的提高,这方面我也是看了不少书和视频的,对一些算法格式都有认识。
        • 总之学习就是个螺旋向上的过程,充满挫败感,希望不放弃,与诸君共勉!

        OpenFoam版本更新日历

        • 第一版本:2019-10-03

        • 第二版本:2019-11-21

        • 第三版本:2019-12-16 增加3.8节相关内容,牛津大学博士研究生的视频教程。

        • 第四版本:2020-04-28 大幅修改了3.8节内容,推荐更为完善Dr Aidan Wimshurst的工作。增加了波士顿大学芭芭拉教授的CFD课程,ME702,并将有名的12步入门CFD(是ME702的配套课程)增加进来。大幅度对文字内容进行修改。

        • 第五版本:2020-04-30增加Linux相关内容,非常值得用来Linux入门。

        • 第六版本:2020-08-31修改了学习路径中微小细节,官方3.2节内容已经更新。

        • 第七版本:2020-12-05将MIT的讲计算机教育缺失的一课正式加入进来,非常好的Linux相关生产力学习课程,修改了一些语言描述和错别字。

        六、我的OpenFOAM启蒙课

        以上就是笔者OpenFOAM学习过程和经验的总结,希望对后来者有些许帮助,2021年4月1日20时,我将在仿真秀平台公开直播《走近自由、开源计算流体软件—我的OpenFOAM启蒙课》。走近自由、开源计算流体软件—我的OpenFOAM启蒙课

        (完)

        作者:汪老师 仿真秀专栏作者

        声明:本文首发仿真秀App,部分图片和内容源自网络,如有不当请联系我们,欢迎分享,禁止私自转载,转载请联系我们。

        来源:仿真秀App
        OpenFOAM湍流理论
        著作权归作者所有,欢迎分享,未经许可,不得转载
        首次发布时间:2022-08-19
        最近编辑:1年前
        仿真圈
        技术圈粉 知识付费 学习强国
        获赞 9059粉丝 20428文章 3170课程 205
        点赞
        收藏
        未登录
        还没有评论

        课程
        培训
        服务
        行家

        VIP会员 学习 福利任务 兑换礼品
        下载APP
        联系我们
        帮助与反馈