类库查看源代码讨论查看历史
类库是一个完全由C++编写,在linux下运行软件工具包。它可进行数据预处理、后处理和自定义求解器,常用于计算流体力学(CFD)领域。OpenFOAM可以模拟复杂流体流动、湍流流动、换热分析、化学反应等现象,还能进行结构动力学分析、电磁场分析。OpenFOAM的早期开发始于1980年代末期的伦敦帝国学院,在2004年OpenFOAM以开源方式发布。
基本介绍
OpenFOAM是一个完全由C++编写,在linux下运行,面向对象的计算流体力学(CFD)类库。
OpenFOAM跟商用的CFD软件Ansys Fluent,CFX类似,但其为开源的,采用类似于我们日常习惯[1]的方法在软件中描述偏微分方程的有限体积离散化。2004年开始OpenFOAM一直作为免费使用的开源软件,有OpenFOAM和OpenFOAM-Extened两个版本,分别有Henry Weller负责的OpenCFD以及Hrvoje Jasak负责的Wikki公司分别维护。
发展历程
1989年开始,Henry Weller和帝国理工大学等人开始编写OpenFOAM的前身,当时的名称为“FOAM”(Field Operation and Manipulation的简写)。
1993年,克罗地亚人Hrvoje Jasak在帝国理工大学Gosman团队[2]读PhD期间开始写FOAM,1996年,第一篇使用“FOAM”的博士论文出现。随后在2000-2004年被Nabla公司购买,当时的FOAM并未开源且为一款商业软件。
2004年12月,Henry Weller,Chris Creenshields,Mattijs Janssens通过他们创立的OpenCFD公司将FOAM开源化并发行,同时将“FOAM”更名为“OpenFOAM”。同年,Hrvoje Jasak创办了Wikki公司(2008年Henrik Rusche加入),Hrvoje Jasak的公司主要负责OpenFOAM-Extened版本的发布和管理。
2008年,“OpenFOAM”发布了snappyHexMesh,其为一个非常强大的、依然在更新的六面体(多面体)全自动网格划分程序。
2010年,Helene Blanchonnet加入OpenCFD,创建了新版的OpenFOAM网站以及一个Bug汇报网站。
2011年,“OpenFOAM”由SGI集团收购,为了保证其开源特性,在OpenCFD被收购之前,创立了位于美国的非营利性OpenFOAM基金会。“OpenFOAM”被转移至OpenFOAM基金会下,其主要负责“OpenFOAM”的发布以及开源特性。
2012年,SGI集团把OpenCFD卖给了ESI集团。
2014年,Henry Weller和Chris Creenshields离开了ESI集团,继续负责“OpenFOAM”的开发和维护,OpenFOAM基金会移至英国。
2015年3月,Henry Weller,Chris Creenshields,Jenya Collings在英国雷丁创立CFD Direct,以OpenFOAM基金会的利益负责OpenFOAM的开发和管理。
特色功能
主要功能
OpenFOAM是一个完全由C++编写的面向对象的CFD类库,采用类似于我们日常习惯的方法在软件中描述偏微分方程的有限体积离散化,支持多面体网格(比如CD-adapco公司推出的CCM+生成的多面体网格),因而可以处理复杂的几何外形,其自带的snappyHexMesh可以快速高效的划分六面体+多面体网格,网格质量高。支持大型并行计算,针对OpenFOAM库的GPU运算优化也正在进行中。
简单来讲,OpenFOAM是一个针对不同的流动编写不同的C++程序集合,每一种流体流动都可以用一系列的偏微分方程表示,求解这种运动的偏微分方程的代码,即为OpenFOAM的一个求解器。针对一个简单的单相牛顿流体层流运动,icoFoam即可进行求解。
标准求解器
openfoam包含大量求解器,研究人员也可以编写自己的求解器。简单介绍以下几个自带的标准求解器:
icoFoam:用于求解层流下的单相牛顿流体流动。
simpleFoam:求解单相牛顿以及非牛顿湍流流动。
interFoam:牛顿和非牛顿流体的VOF模型求解。
产品特点
全面支持c++库。
愈加广泛的用途,例如已经被用在了金融等方面。
各种各样的工具箱,包括各种ODE求解器、ChemKIN接口等。
支持多种网格接口。
参考文献
- ↑ 习惯是什么,习惯是如何养成的?,搜狐,2018-01-18
- ↑ 怎么管理好一个团队?这四个方法很实用 ,搜狐,2023-03-07