OpenFOAM

✍ dations ◷ 2025-06-29 14:50:18 #自由软件,计算流体力学



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

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

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

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

对应的OpenFOAM代码是

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

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

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

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

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

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

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

OpenFOAM的功能含有:

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

OpenFOAM实用程序被细分为:

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

相关

  • 内啡肽内啡肽,亦称脑内啡、脑内吗啡或音译安多酚(来自英文 endorphin),是可于动物体内自行生成的类吗啡生物化学合成物,是由脊椎动物的脑下垂体和丘脑下部所分泌的氨基化合物(肽)。在1975
  • 艋舺助顺将军庙坐标:25°02′45.31″N 121°30′12.33″E / 25.0459194°N 121.5034250°E / 25.0459194; 121.5034250艋舺十月初二迎助顺将军爷 出巡平安绕境艋舺晋德宫又名“艋舺助顺将军
  • 伦敦码头区伦敦码头区(London Docklands)是位于英国伦敦东部,泰晤士河沿岸的水滨再开发地区的名称。横跨了南华克区、陶尔哈姆莱茨区、纽汉区。目前主要开发为商业区和住宅区。伦敦码头区
  • 霍特科姆霍特科姆县(Whatcom County, Washington)是美国华盛顿州西北部的一个县,北邻加拿大不列颠哥伦比亚省。面积6,484平方公里。根据美国2000年人口普查,共有人口166,814人。县治贝灵
  • 中华盖饭中华丼(日语:中華丼/ちゅうかどん),意思为“中国式盖浇饭”,是日本仿效中国菜的料理。据说从昭和时代开始,在东京的中华料理店,客人在米饭上面浇上八宝菜,从此成了日式中华盖饭的前身
  • 1 − 1 + 2 − 6 + 24 − 120 + ⋯数学上,发散级数:是被欧拉首次研究,他应用重求和方法给级数赋予一个有限的值。此级数是被交替加减的阶乘之总和。要给发散级数赋值,其中一个方法是用博雷尔和,其型式上写成:若我们
  • 天主教卡利博教区天主教卡利博教区 (拉丁语:Dioecesis Kalibensis、他加禄语:Diyosesis ng Kalibo)是菲律宾一个罗马天主教教区,属天主教卡皮斯总教区。辖区包括阿克兰省。2006年有教友454,903人
  • 明古鲁语明古鲁语是印度尼西亚苏门答腊岛上明古鲁市附近所说的语言。
  • 鲁文·拉马第鲁文·拉马第(Reuven Ramaty,1937年2月25日-2001年4月8日)是一位美国籍匈牙利天文学家,生于罗马尼亚。拉马第是太阳物理学、伽马射线天文学、核天文物理学和宇宙线研究的先驱者。
  • 程善之程善之(1880年11月29日-1942年4月12日),名庆余,字善之,以字行,号小斋,别署一粟,安徽歙县人,中国近代文人、小说家。其著作有《沤和室诗存》、《残水浒》、《宋金战纪》、《四十年闻见