fbpx
维基百科

OpenFOAM



OpenFOAM(英文 Open Source Field Operation and Manipulation 的缩写,意为开源的场运算和处理软件)是对连续介质力学问题进行数值计算C++自由软件工具包,其代码遵守GNU通用公共许可证。它可进行数据预处理、后处理和自定义求解器,常用于计算流体力学(CFD)领域。该软件由OpenFOAM基金会维护[2](商标OpenFOAM的拥有者硅谷图形公司(SGI)赞助)。

OpenFOAM
在命令行窗口中运行的OpenFOAM
原作者Henry Weller
開發者The OpenFOAM Foundation
首次发布2004-12-10
目前版本
  • 10 (2022年7月12日;穩定版本)[1]
源代码库
  • github.com/OpenFOAM/OpenFOAM-dev
编程语言C++
操作系统Unix/Linux
类型计算流体力学
许可协议GNU通用公共许可证
网站www.openfoam.org

历史

OpenFOAM的早期开发始于1980年代末期的伦敦帝国学院,其目标是为了编写一个相对于当时事实上的标准,FORTRAN,更为强大和灵活的通用模拟计算平台。并且因此选择了拥有高度模块化面向对象特性的C++作为其编程语言。在2004年OpenFOAM以开源方式发布之前,英国Nabla有限公司曾销售过FOAM,OpenFOAM的前身。[3]2011年8月15日,OpenCFD宣布它被硅谷图形公司(SGI)收购。[4]

OpenFOAM是最早的用C++写成的重要科学计算软件包之一[來源請求]。现已成为使用多面体网格的最主要的通用计算流体力学(CFD)软件.

特色

语法

OpenFOAM一个非常有特色的地方是它描述张量偏微分方程的语法与被求解的方程本身非常相似,事实上便捷地在程序中表达传统的数学记号正是其语法设计的目标。例如方程[5]

 

对应的OpenFOAM代码是

solve (  fvm::ddt(rho,U)  + fvm::div(phi,U)  - fvm::laplacian(mu,U)  ==  - fvc::grad(p) ); 

得益于面向对象的程序设计运算符重载,使用者可以相对容易地建立自己的求解器。然而,大量模板元编程的运用以及相应开发文档的缺乏,使得越是深入库底层的定制化越是困难和充满挑战。

可扩展性

由于使用了工厂方法基类作为接口,OpenFOAM具有很好的可扩展性。使用者在建立定制化的物体或对象(例如边界条件或湍流模型)时,无需修改或是重新编译OpenFOAM软件包,便可在已有的求解器上工作。OpenFOAM称之为运行时决策(run-time selection)[6]

OpenFOAM的架构

OpenFOAM核心功能的实现是由大量的基础库完成的,其中包括:

  • 张量和场操作
  • 人类可读的偏微分方程离散化语法
  • 线性系统求解[7]
  • 常微分方程求解[8]
  • 高级操作的自动并行化
  • 动态网格[9]
  • 通用物理模型
    • 流变模型(Rheological models)[10]
    • 热力学模型及相关的数据库[11]
    • 湍流模型[12]
    • 化学反应和动理学模型[13]
    • 拉格朗日粒子追踪模型[14]
    • 热辐射传输模型
    • 单参照系和多参照系方法

利用便捷直观的高级语法和基础库提供的功能完成开发应用。通常应用可以归为两类:

  • 求解器:执行连续介质问题的求解计算
  • 实用程序:用于准备网格、设置模拟样例、处理结果等

每个应用有其专注的功能:如应用blockMesh用于从用户提供的输入文件生成网格,而另一个应用icoFoam,则用来求解不可压层流Navier-Stokes方程

最后,一些第三方软件包被用来提供并行化能力(即OpenMPI)和进行图像后处理(ParaView)。

功能

OpenFOAM的功能含有[15]

 
甲烷在空气中燃烧的模拟。甲烷从底端喷出,同时被点燃。图形界面是ParaView。图中底色表示温度,箭头表示气流速度,箭头的颜色表示局部的氧气含量。

除以上列举的标准求解器之外,由于OpenFOAM的语法,建立自定义的求解器也是容易的。

OpenFOAM实用程序被细分为:

  • 网格实用程序
    • 网格生成: 它们通过输入文件或几何描述文件(如)来自动生成计算用的网格(hex-dominant, snappyHexMesh)
    • 网格格式转化:转化其他工具生成的网格到OpenFOAM格式
    • 网格处理:执行一些网格操作,如局部优化,区域定义等
  • 并行处理工具:提供计算任务的分解、合并和重分发功能来实现并行计算
  • 预处理工具:准备模拟样例
  • 后处理工具:处理模拟结果,包含到OpenFOAM和ParaView的插件
  • 表面处理工具
  • 热物理工具

许可证

OpenFOAM是自由软件和开源软件,在GNU通用公共许可证版本3下发布。[26]

优劣

优点

  • 用户友好的偏微分方程描述语法
  • 有非结构化多面体网格的处理能力
  • 自动并行化OpenFOAM高级语言写成的应用
  • 现成的涵盖宽领域的应用和模型
  • 有由开发者提供的商业支持和培训
  • 无许可证花费

缺点

  • 缺少集成的图形化用户界面(GUI)(但有独立私有软件可选)
  • 开发文档缺乏足够的细节,学习曲线陡峭
  • 文档缺乏维护,入门困难

分支和改编

免费软件

  • blueCFD 是改编自OpenFlow的运行在 Windows 上的OpenFOAM交叉编译版本。该软件包同时也含有一些有用的额外函数和工具。blueCAPE出品。[27]
  • FreeFOAM[28]为了把OpenFOAM从它对系统的依赖中解脱出来,使其安装更为便携和用户友好而建立的分支。其开发紧跟最新的OpenFOAM发布版,不附带额外的功能,使用CMake作为编译系统。
  • OpenFlow 是一个OpenFOAM的Windows平台交叉编译的源码补丁。blueCFD中OpenFOAM的部分既是由它而来。Symscape出品[29]
  • OpenFOAM-extend[30]由Wikki有限公司维护[31]。该分支有社区贡献的大量内容,并且当中的绝大部分贡献可以装入到OpenFOAM的官方版本中,而只产生最低限度的影响。[32]它的开发与官方版OpenFOAM是并列进行的,对最新版OpenFOAM的合并可能要等到一至两年后。

付费软件

  • CaediumSymscape出品的通用数值模拟环境。其RANS Flow的附加功能[33]提供了用于OpenFOAM的模型建立、解操作和后处理的图形用户界面。
  • CastNet DHCAE Tools出品的私有建模和模拟环境。[34]其中包含一个OpenFOAM的图形界面前端。FOAM.
  • ICON FOAMpro CFDICON Process & Consulting Ltd进行维护。[35]大众汽车[36]福特汽车[37]合作,主要围绕着汽车应用而开发。该分支既包含社区贡献的内容也包含ICON专有的开发。

替代软件

开源软件和自由软件

私有软件

  • ANSYS CFX
  • ANSYS Fluent
  • Pumplinx
  • STAR-CCM+
  • KIVA (software)
  • RELAP5-3D
  • PowerFlow
  • FOAMpro

参考文献

  1. ^ OpenFOAM 10 Released. [2022年9月22日]. 
  2. ^ The OpenFOAM Foundation homepage
  3. ^ OpenFOAM Release History
  4. ^ . [2016-08-23]. (原始内容存档于2012-12-06). 
  5. ^ Creating solvers in OpenFOAM. [2012-07-17]. (原始内容于2012-08-07). 
  6. ^ OpenFOAM's run-time selection mechanism explained. [2012-07-17]. (原始内容于2014-01-08). 
  7. ^ Linear system solvers in OpenFOAM. [2012-07-17]. (原始内容于2012-07-23). 
  8. ^ Ordinary differential equation solvers in OpenFOAM. [2012-07-17]. (原始内容于2012-08-07). 
  9. ^ Dynamic mesh in OpenFOAM. [2012-07-17]. (原始内容于2012-07-23). 
  10. ^ Rheological models in OpenFOAM. [2012-07-17]. (原始内容于2012-07-23). 
  11. ^ Thermophysical models in OpenFOAM. [2012-07-17]. (原始内容于2012-07-23). 
  12. ^ Turbulence models in OpenFOAM. [2012-07-17]. (原始内容于2012-07-23). 
  13. ^ Chemical reactions and kinetics models in OpenFOAM. [2012-07-17]. (原始内容于2012-08-07). 
  14. ^ Lagrangian particle tracking in OpenFOAM. [2012-07-17]. (原始内容于2012-07-23). 
  15. ^ OpenFOAM features. [2012-07-17]. (原始内容于2012-07-23). 
  16. ^ OpenFOAM incompressible flow solvers. [2012-07-17]. (原始内容于2012-07-23). 
  17. ^ OpenFOAM Compressible flow solvers. [2012-07-17]. (原始内容于2012-07-23). 
  18. ^ OpenFOAM buoyancy-driven flow solvers. [2012-07-17]. (原始内容于2012-07-23). 
  19. ^ Multiphase flow solvers. [2012-07-17]. (原始内容于2012-07-23). 
  20. ^ OpenFOAM solvers for combustion. [2012-07-17]. (原始内容于2012-07-23). 
  21. ^ OpenFOAM solvers for conjugate heat transfer. [2012-07-17]. (原始内容于2012-07-23). 
  22. ^ OpenFOAM molecular dynamics solvers. [2012-07-17]. (原始内容于2012-07-23). 
  23. ^ OpenFOAM Direct Simulation Monte Carlo solvers. [2012-07-17]. (原始内容于2012-07-23). 
  24. ^ OpenFOAM Electromagnetics solvers. [2012-07-17]. (原始内容于2012-07-23). 
  25. ^ OpenFOAM solid dynamics solvers. [2012-07-17]. (原始内容于2012-07-23). 
  26. ^ http://www.openfoam.org/licence.php (页面存档备份,存于互联网档案馆) OpenFOAM Licensing Page
  27. ^ blueCAPE's homepage. [2012-07-17]. (原始内容于2012-04-25). 
  28. ^ FreeFOAM Home Page. [2012-07-17]. (原始内容于2012-06-17). 
  29. ^ OpenFlow source code patch. [2012-07-17]. (原始内容于2012-07-30). 
  30. ^ OpenFOAM-extend Project Home Page. [2012-07-17]. (原始内容于2012-06-17). 
  31. ^ Wikki Ltd (页面存档备份,存于互联网档案馆).
  32. ^ Solvers (页面存档备份,存于互联网档案馆), Utilities (页面存档备份,存于互联网档案馆), and Other contributions (页面存档备份,存于互联网档案馆
  33. ^ Caedium RANS Flow add-on. [2012-07-17]. (原始内容于2012-07-02). 
  34. ^ DHCAE Tools homepage. [2012-07-17]. (原始内容于2012-04-25). 
  35. ^ ICON FOAMpro Process. [2012-07-17]. (原始内容于2012-04-25). 
  36. ^ ICON VWG SAE paper. [2012-07-17]. (原始内容于2012-04-23). 
  37. ^ ICON FORD SAE paper. [2012-07-17]. (原始内容于2012-04-23). 
  38. ^ SU2 homepage. [2012-07-17]. (原始内容于2016-10-19). 
  39. ^ FreeCFD homepage. [2012-07-17]. (原始内容于2012-07-10). 
  40. ^ Gerris homepage. [2012-07-17]. (原始内容于2019-10-19). 
  41. ^ OpenFVM homepage. [2012-07-17]. (原始内容于2016-07-29). 
  42. ^ [depts.washington.edu/clawpack]

外部链接

官方资源

社区资源

  • OpenFOAM Forum at CFD Online(页面存档备份,存于互联网档案馆
  • OpenFOAM wiki(页面存档备份,存于互联网档案馆
  • , by one of the original developers of the code, who is not associated with OpenCFD.
  • A Blog about OpenFOAM in Chinese(页面存档备份,存于互联网档案馆
  • OpenFOAM中文爱好者之家网站(页面存档备份,存于互联网档案馆

openfoam, 英文, open, source, field, operation, manipulation, 的缩写, 意为开源的场运算和处理软件, 是对连续介质力学问题进行数值计算的c, 自由软件工具包, 其代码遵守gnu通用公共许可证, 它可进行数据预处理, 后处理和自定义求解器, 常用于计算流体力学, 领域, 该软件由基金会维护, 商标的拥有者硅谷图形公司, 赞助, 在命令行窗口中运行的原作者henry, weller開發者the, foundation首次发布2004, 10目前版本10, 202. OpenFOAM 英文 Open Source Field Operation and Manipulation 的缩写 意为开源的场运算和处理软件 是对连续介质力学问题进行数值计算的C 自由软件工具包 其代码遵守GNU通用公共许可证 它可进行数据预处理 后处理和自定义求解器 常用于计算流体力学 CFD 领域 该软件由OpenFOAM基金会维护 2 商标OpenFOAM的拥有者硅谷图形公司 SGI 赞助 OpenFOAM在命令行窗口中运行的OpenFOAM原作者Henry Weller開發者The OpenFOAM Foundation首次发布2004 12 10目前版本10 2022年7月12日 穩定版本 1 源代码库github wbr com wbr OpenFOAM wbr OpenFOAM dev编程语言C 操作系统Unix Linux类型计算流体力学许可协议GNU通用公共许可证网站www openfoam org 目录 1 历史 2 特色 2 1 语法 2 2 可扩展性 3 OpenFOAM的架构 4 功能 5 许可证 6 优劣 6 1 优点 6 2 缺点 7 分支和改编 7 1 免费软件 7 2 付费软件 8 替代软件 8 1 开源软件和自由软件 8 2 私有软件 9 参考文献 10 外部链接 10 1 官方资源 10 2 社区资源历史 编辑OpenFOAM的早期开发始于1980年代末期的伦敦帝国学院 其目标是为了编写一个相对于当时事实上的标准 FORTRAN 更为强大和灵活的通用模拟计算平台 并且因此选择了拥有高度模块化和面向对象特性的C 作为其编程语言 在2004年OpenFOAM以开源方式发布之前 英国Nabla有限公司曾销售过FOAM OpenFOAM的前身 3 2011年8月15日 OpenCFD宣布它被硅谷图形公司 SGI 收购 4 OpenFOAM是最早的用C 写成的重要科学计算软件包之一 來源請求 现已成为使用多面体网格的最主要的通用计算流体力学 CFD 软件 特色 编辑语法 编辑 OpenFOAM一个非常有特色的地方是它描述张量和偏微分方程的语法与被求解的方程本身非常相似 事实上便捷地在程序中表达传统的数学记号正是其语法设计的目标 例如方程 5 r U t ϕ U m U p displaystyle frac partial rho mathbf U partial t nabla cdot phi mathbf U nabla cdot mu nabla mathbf U nabla p 对应的OpenFOAM代码是 solve fvm ddt rho U fvm div phi U fvm laplacian mu U fvc grad p 得益于面向对象的程序设计和运算符重载 使用者可以相对容易地建立自己的求解器 然而 大量模板元编程的运用以及相应开发文档的缺乏 使得越是深入库底层的定制化越是困难和充满挑战 可扩展性 编辑 由于使用了工厂方法和基类作为接口 OpenFOAM具有很好的可扩展性 使用者在建立定制化的物体或对象 例如边界条件或湍流模型 时 无需修改或是重新编译OpenFOAM软件包 便可在已有的求解器上工作 OpenFOAM称之为运行时决策 run time selection 6 OpenFOAM的架构 编辑OpenFOAM核心功能的实现是由大量的基础库完成的 其中包括 张量和场操作 人类可读的偏微分方程离散化语法 线性系统求解 7 常微分方程求解 8 高级操作的自动并行化 动态网格 9 通用物理模型 流变模型 Rheological models 10 热力学模型及相关的数据库 11 湍流模型 12 化学反应和动理学模型 13 拉格朗日粒子追踪模型 14 热辐射传输模型 单参照系和多参照系方法利用便捷直观的高级语法和基础库提供的功能完成开发应用 通常应用可以归为两类 求解器 执行连续介质问题的求解计算 实用程序 用于准备网格 设置模拟样例 处理结果等每个应用有其专注的功能 如应用blockMesh用于从用户提供的输入文件生成网格 而另一个应用icoFoam 则用来求解不可压层流的Navier Stokes方程 最后 一些第三方软件包被用来提供并行化能力 即OpenMPI 和进行图像后处理 ParaView 功能 编辑OpenFOAM的功能含有 15 甲烷在空气中燃烧的模拟 甲烷从底端喷出 同时被点燃 图形界面是ParaView 图中底色表示温度 箭头表示气流速度 箭头的颜色表示局部的氧气含量 基本的计算流体力学求解器 不可压流的雷诺平均纳维 斯托克斯方程法 RANS 和大涡流模拟法 LES 求解 16 可压流的RANS和LES求解 17 浮力流动求解器 18 直接数值模拟 DNS 和 LES 多相流体求解器 19 粒子跟踪求解器 燃烧问题求解器 20 耦合热传输求解器 21 分子动力学求解器 22 23 电磁学求解器 24 刚体动力学模拟器 25 除以上列举的标准求解器之外 由于OpenFOAM的语法 建立自定义的求解器也是容易的 OpenFOAM实用程序被细分为 网格实用程序 网格生成 它们通过输入文件或几何描述文件 如 来自动生成计算用的网格 hex dominant snappyHexMesh 网格格式转化 转化其他工具生成的网格到OpenFOAM格式 网格处理 执行一些网格操作 如局部优化 区域定义等 并行处理工具 提供计算任务的分解 合并和重分发功能来实现并行计算 预处理工具 准备模拟样例 后处理工具 处理模拟结果 包含到OpenFOAM和ParaView的插件 表面处理工具 热物理工具许可证 编辑OpenFOAM是自由软件和开源软件 在GNU通用公共许可证版本3下发布 26 优劣 编辑优点 编辑 用户友好的偏微分方程描述语法 有非结构化多面体网格的处理能力 自动并行化OpenFOAM高级语言写成的应用 现成的涵盖宽领域的应用和模型 有由开发者提供的商业支持和培训 无许可证花费缺点 编辑 缺少集成的图形化用户界面 GUI 但有独立私有软件可选 开发文档缺乏足够的细节 学习曲线陡峭 文档缺乏维护 入门困难分支和改编 编辑免费软件 编辑 blueCFD 是改编自OpenFlow的运行在 Windows 上的OpenFOAM交叉编译版本 该软件包同时也含有一些有用的额外函数和工具 blueCAPE出品 27 FreeFOAM 28 为了把OpenFOAM从它对系统的依赖中解脱出来 使其安装更为便携和用户友好而建立的分支 其开发紧跟最新的OpenFOAM发布版 不附带额外的功能 使用CMake作为编译系统 OpenFlow 是一个OpenFOAM的Windows平台交叉编译的源码补丁 blueCFD中OpenFOAM的部分既是由它而来 Symscape出品 29 OpenFOAM extend 30 由Wikki有限公司维护 31 该分支有社区贡献的大量内容 并且当中的绝大部分贡献可以装入到OpenFOAM的官方版本中 而只产生最低限度的影响 32 它的开发与官方版OpenFOAM是并列进行的 对最新版OpenFOAM的合并可能要等到一至两年后 付费软件 编辑 Caedium 是Symscape出品的通用数值模拟环境 其RANS Flow的附加功能 33 提供了用于OpenFOAM的模型建立 解操作和后处理的图形用户界面 CastNet DHCAE Tools出品的私有建模和模拟环境 34 其中包含一个OpenFOAM的图形界面前端 FOAM ICON FOAMpro CFD 由ICON Process amp Consulting Ltd进行维护 35 与大众汽车 36 和福特汽车 37 合作 主要围绕着汽车应用而开发 该分支既包含社区贡献的内容也包含ICON专有的开发 替代软件 编辑开源软件和自由软件 编辑 Stanford University Unstructured SU2 38 Code Saturne GPL FreeCFD 39 Gerris Flow Solver 40 OpenFVM 41 CLAWPACK 42 私有软件 编辑 ANSYS CFX ANSYS Fluent Pumplinx STAR CCM KIVA software RELAP5 3D PowerFlow FOAMpro参考文献 编辑 OpenFOAM 10 Released 2022年9月22日 The OpenFOAM Foundation homepage OpenFOAM Release History 存档副本 2016 08 23 原始内容存档于2012 12 06 Creating solvers in OpenFOAM 2012 07 17 原始内容存档于2012 08 07 OpenFOAM s run time selection mechanism explained 2012 07 17 原始内容存档于2014 01 08 Linear system solvers in OpenFOAM 2012 07 17 原始内容存档于2012 07 23 Ordinary differential equation solvers in OpenFOAM 2012 07 17 原始内容存档于2012 08 07 Dynamic mesh in OpenFOAM 2012 07 17 原始内容存档于2012 07 23 Rheological models in OpenFOAM 2012 07 17 原始内容存档于2012 07 23 Thermophysical models in OpenFOAM 2012 07 17 原始内容存档于2012 07 23 Turbulence models in OpenFOAM 2012 07 17 原始内容存档于2012 07 23 Chemical reactions and kinetics models in OpenFOAM 2012 07 17 原始内容存档于2012 08 07 Lagrangian particle tracking in OpenFOAM 2012 07 17 原始内容存档于2012 07 23 OpenFOAM features 2012 07 17 原始内容存档于2012 07 23 OpenFOAM incompressible flow solvers 2012 07 17 原始内容存档于2012 07 23 OpenFOAM Compressible flow solvers 2012 07 17 原始内容存档于2012 07 23 OpenFOAM buoyancy driven flow solvers 2012 07 17 原始内容存档于2012 07 23 Multiphase flow solvers 2012 07 17 原始内容存档于2012 07 23 OpenFOAM solvers for combustion 2012 07 17 原始内容存档于2012 07 23 OpenFOAM solvers for conjugate heat transfer 2012 07 17 原始内容存档于2012 07 23 OpenFOAM molecular dynamics solvers 2012 07 17 原始内容存档于2012 07 23 OpenFOAM Direct Simulation Monte Carlo solvers 2012 07 17 原始内容存档于2012 07 23 OpenFOAM Electromagnetics solvers 2012 07 17 原始内容存档于2012 07 23 OpenFOAM solid dynamics solvers 2012 07 17 原始内容存档于2012 07 23 http www openfoam org licence php 页面存档备份 存于互联网档案馆 OpenFOAM Licensing Page blueCAPE s homepage 2012 07 17 原始内容存档于2012 04 25 FreeFOAM Home Page 2012 07 17 原始内容存档于2012 06 17 OpenFlow source code patch 2012 07 17 原始内容存档于2012 07 30 OpenFOAM extend Project Home Page 2012 07 17 原始内容存档于2012 06 17 Wikki Ltd 页面存档备份 存于互联网档案馆 Solvers 页面存档备份 存于互联网档案馆 Utilities 页面存档备份 存于互联网档案馆 and Other contributions 页面存档备份 存于互联网档案馆 Caedium RANS Flow add on 2012 07 17 原始内容存档于2012 07 02 DHCAE Tools homepage 2012 07 17 原始内容存档于2012 04 25 ICON FOAMpro Process 2012 07 17 原始内容存档于2012 04 25 ICON VWG SAE paper 2012 07 17 原始内容存档于2012 04 23 ICON FORD SAE paper 2012 07 17 原始内容存档于2012 04 23 SU2 homepage 2012 07 17 原始内容存档于2016 10 19 FreeCFD homepage 2012 07 17 原始内容存档于2012 07 10 Gerris homepage 2012 07 17 原始内容存档于2019 10 19 OpenFVM homepage 2012 07 17 原始内容存档于2016 07 29 depts washington edu clawpack 外部链接 编辑官方资源 编辑 Official OpenFOAM web site 页面存档备份 存于互联网档案馆 OpenFOAM official documentation 页面存档备份 存于互联网档案馆 OpenFOAM bug reporting system 页面存档备份 存于互联网档案馆 社区资源 编辑 OpenFOAM Forum at CFD Online 页面存档备份 存于互联网档案馆 OpenFOAM wiki 页面存档备份 存于互联网档案馆 FOAM CFD web site by one of the original developers of the code who is not associated with OpenCFD A Blog about OpenFOAM in Chinese 页面存档备份 存于互联网档案馆 OpenFOAM中文爱好者之家网站 页面存档备份 存于互联网档案馆 入门课程 取自 https zh wikipedia org w index php title OpenFOAM amp oldid 74995532, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。