首页/文章/ 详情

OpenFOAM | 工业软件版权大战下的思考:掌握一门免费的开源软件至关重要

4年前浏览3568

一、写在前面
今年正值软件版权大战,Adobe、matlab等等,都开始严厉打击盗版。商用软件往往伴随着高额的使用费用,Linux之父Linus Torvalds有言:

所以,掌握一门免费的开源软件它不香吗?告别crack它不香吗?学会OpenFOAM它不香吗?

二、什么是OpenFOAM???
我们来看一下wiki百科如何释义OpenFOAM:

注:上述图片来源于网络

OpenFOAM的雏形始于1980年代的英国帝国理工学院,经过几十年的发展,目前拥有来自商业和学术机构的大部分工程和科学领域的庞大用户群。
OpenFOAM是一款免费的开源计算软件,其中包括可压与不可压流、多相流、直接模拟、燃烧、传热、粒子跟踪、分子动力学、电磁、应力分析、金融分析等求解器。使用者可根据自身需求自定义求解器及相关功能,灵活性极强。

OpenFOAM这个C++类库主要包含前处理、求解和后处理三大部分。其中前处理包含网格工具和其他工具;求解部分包含了标准的求解器,且用户可以自定义求解器;后处理部分集成了对ParaView的调用。

OpenFOAM的普通标准算例主要包含三个文件夹,时间步文件夹、constant文件夹和system文件夹。
uconstant文件夹下包含了所需要的网格文件和物理特性文件。
usystem文件夹主要用于设置求解算法的参数,包括离散格式、矩阵求解器以及时间步长等等。
u时间步文件夹包含一系列的计算结果,其中包括必须指定的初始数据以及边界条件。
OpenFOAM提供了大量的标准库文件,如有限体积库,后处理库,网格操作库,热物理模型库,湍���模型库,辐射模型库等。只要使用库文件添加库的地址,并在主程序中包含其相应的头文件即可使用。每个库文件根据类别存储相关代码,方便使用者在开发过程中调用或修改。
OpenFOAM-7中主要包含下列文件夹:

uapplication: 主要存放求解器代码
ubin: 存放一些脚本文件
udoc: OpenFOAM的自带文档
uetc: 储存环境变量等
uplatforms: 编译出的文件
usrc: 储存除了求解器的主要内容,比如湍流模型
ututorials: 自带的算例
OpenFOAM 的求解器源代码位于$FOAM_SOLVERS中,根据不同模型分类成不同的求解器文件夹,如不可压缩流体求解器类、燃烧求解器类、多相流求解器类等。以下列举了部分OpenFOAM中的不可压缩求解器。
三、怎么使用OpenFOAM???
OpenFOAM是什么相信大家已经大致了解了,那么OpenFOAM该如何使用呢?下面通过一个简单的例子来演示一下:
1. 首先进入OpenFOAM自带的pitzDaily文件夹如下:

pitzDaily是用不可压缩求解器simpleFoam求解的一个OpenFOAM自带的算例,是基于Pitz和Daily(1981)的实验工作的一个模拟。
2.在算例文件夹路径下的终端中键入blockMesh回车:
此算例网格由system中的blockMeshDict控制生成:

成功生成网格后终端输出信息如下:
此时在constant中生成了polymesh文件夹,其中存储了网格信息。

3.终端中继续输入simpleFoam回车开始计算:
其边界条件位于0文件夹中,以0文件夹中的U字典文件即速度举例,此处入口速度设置为10m/s,方向为x轴正方向。

计算结束后终端输出信息如下:
算例文件夹下多出了结果的时间步文件和该算例的后处理文件:
4.终端中继续输入paraFoam回车进行后处理:
速度场的云图如下:
以上就是通过一个OpenFOAM自带的简单算例来演示了一遍OpenFOAM的基本简单使用流程,当然这是OpenFOAM的冰山一小角,更多更精彩更有趣的丰富OpenFOAM内容等待着你来学习。
下述的仿真均是各国外大神使用OpenFOAM进行仿真得来:

注:上述图片来源于网络

上图为利用OpenFOAM模拟电影院中的温度分布。

注:上述图片来源于网络

上图为利用OpenFOAM模拟两个人的打喷嚏过程。

注:上述图片来源于网络
上图为利用OpenFOAM模拟一个水槽放水的过程。
下图来自OpenFOAM官网,由于今年疫情原因,每年即2020年的现场培训课改为线上。图中可以看到,即使是线上培训课,培训费仍在软妹币1w左右不等。近些年OpenFOAM在国外越来越热门,在国内也势如破竹,需求越来越大,更实际的讲,OpenFOAM由于其开源特性,让使用者更接近低层代码,对流体力学等理论有更深刻的见识和理解。
更进一步讲,目前在国内,掌握OpenFOAM的技能更往往会在找工作时增分添彩
四、零基础入门学习OpenFOAM
《零基础入门学习OpenFOAM—掌握OpenFOAM的使用和技巧》本课程共分十二讲,面向对象为0基础使用者,即使你完全没听说过OpenFOAM,也可以通过此课程无障碍地进行学习。从安装到各个部分的讲解以及手把手搭建算例的实践,完成此课程,你会对OpenFOAM整体和各细节部分有一定的把控和掌握,你会拥有在OpenFOAM中从零开始自己搭建算例的能力。
点击图片可以体验
本课适合哪些人学习:
  • OpenFOAM零基础初学者

  • 完全0基础也可以学!
对学员的帮助是什么:
  • 掌握编译安装OpenFOAM-7及编译安装ParaView的方法
  • 了解OpenFOAM的程序结构、大致求解器的功能、以及如何查看求解器的功能
  • 掌握一个OpenFOAM基础算例所需要的配置以及ParaView的一些后处理方法
  • 了解OpenFOAM中的网格生成方式,并对通过“手把手”教学的方式深入理解OpenFOAM的blockMesh以及snappyHexMesh
  • 掌握OpenFOAM中常用的边界条件类型,以及常用的典型的边界条件设置;并手把手教学变化速度入口的代码设置。
  • 通过“手把手“算例搭建,从划分网格到边界条件设置以及求解,实现可完全自己使用OpenFOAM模拟卡门涡街
  • 通过“手把手“教学,教你如何从层流模型亲自改为湍流模型进行计算
  • 通过“手把手“教学,了解setFields功能、浅涉动网格以及有趣的液滴破碎算例和后处理
  • 通过“手把手“教学,实现传热的模拟以及学习topoSet的使用技巧
  • 掌握OpenFOAM并行计算的方法,以及一些常用的工具和经验

作者:Tesbo  仿真秀专栏作者

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

其他软件流体基础通用科普
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2020-08-09
最近编辑:4年前
仿真圈
技术圈粉 知识付费 学习强国
获赞 9708粉丝 21100文章 3394课程 215
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈