OpenFOAM是一個完全由C++編寫,在linux下運行,面向?qū)ο蟮挠嬎懔黧w力學(xué)(CFD)類庫。
OpenFOAM跟商用的CFD軟件Ansys Fluent,CFX類似,但其為開源的,采用類似于我們?nèi)粘A?xí)慣的方法在軟件中描述偏微分方程的有限體積離散化。2004年開始OpenFOAM一直作為免費使用的開源軟件,有OpenFOAM和OpenFOAM-Extened兩個版本,分別有Henry Weller負(fù)責(zé)的OpenCFD以及Hrvoje Jasak負(fù)責(zé)的Wikki公司分別維護(hù)。
1989年開始,Henry Weller和帝國理工大學(xué)等人開始編寫OpenFOAM的前身,當(dāng)時的名稱為“FOAM”(Field Operation and Manipulation的簡寫)。
1993年,克羅地亞人Hrvoje Jasak在帝國理工大學(xué)Gosman團(tuán)隊讀PhD期間開始寫FOAM,1996年,第一篇使用“FOAM”的博士論文出現(xiàn)。隨后在2000-2004年被Nabla公司購買,當(dāng)時的FOAM并未開源且為一款商業(yè)軟件。
2004年12月,Henry Weller,Chris Creenshields, Mattijs Janssens通過他們創(chuàng)立的OpenCFD公司將FOAM開源化并發(fā)行,同時將“FOAM”更名為“OpenFOAM”。同年,Hrvoje Jasak創(chuàng)辦了Wikki公司(2008年Henrik Rusche加入),Hrvoje Jasak的公司主要負(fù)責(zé)OpenFOAM-Extened版本的發(fā)布和管理。
2008年,“OpenFOAM”發(fā)布了snappyHexMesh,其為一個非常強(qiáng)大的、依然在更新的六面體(多面體)全自動網(wǎng)格劃分程序。
2010年,Helene Blanchonnet加入OpenCFD,創(chuàng)建了新版的OpenFOAM網(wǎng)站以及一個Bug匯報網(wǎng)站。
2011年,“OpenFOAM”由SGI集團(tuán)收購,為了保證其開源特性,在OpenCFD被收購之前,創(chuàng)立了位于美國的非營利性O(shè)penFOAM基金會?!癘penFOAM”被轉(zhuǎn)移至OpenFOAM基金會下,其主要負(fù)責(zé)“OpenFOAM”的發(fā)布以及開源特性。
2012年,SGI集團(tuán)把OpenCFD賣給了ESI集團(tuán)。
2014年,Henry Weller和Chris Creenshields離開了ESI集團(tuán),繼續(xù)負(fù)責(zé)“OpenFOAM”的開發(fā)和維護(hù),OpenFOAM基金會移至英國。
2015年3月,Henry Weller,Chris Creenshields,Jenya Collings在英國雷丁創(chuàng)立CFD Direct,以O(shè)penFOAM基金會的利益負(fù)責(zé)OpenFOAM的開發(fā)和管理。
OpenFOAM是一個完全由C++編寫的面向?qū)ο蟮腃FD類庫,采用類似于我們?nèi)粘A?xí)慣的方法在軟件中描述偏微分方程的有限體積離散化,支持多面體網(wǎng)格(比如CD-adapco公司推出的CCM+生成的多面體網(wǎng)格),因而可以處理復(fù)雜的幾何外形,其自帶的snappyHexMesh可以快速高效的劃分六面體+多面體網(wǎng)格,網(wǎng)格質(zhì)量高。支持大型并行計算,針對OpenFOAM庫的GPU運算優(yōu)化也正在進(jìn)行中。
簡單來講,OpenFOAM是一個針對不同的流動編寫不同的C++程序集合,每一種流體流動都可以用一系列的偏微分方程表示,求解這種運動的偏微分方程的代碼,即為OpenFOAM的一個求解器。針對一個簡單的單相牛頓流體層流運動,icoFoam即可進(jìn)行求解。
openfoam包含大量求解器,研究人員也可以編寫自己的求解器。簡單介紹以下幾個自帶的標(biāo)準(zhǔn)求解器:
icoFoam:用于求解層流下的單相牛頓流體流動。
simpleFoam:求解單相牛頓以及非牛頓湍流流動。
interFoam:牛頓和非牛頓流體的VOF模型求解。
全面支持c++庫。
愈加廣泛的用途,例如已經(jīng)被用在了金融等方面。
各種各樣的工具箱,包括各種ODE求解器、ChemKIN接口等。
支持多種網(wǎng)格接口。