OpenFOAM(英文 Open Source Field Operation and Manipulation 的縮寫(xiě),意為開(kāi)源的場(chǎng)運(yùn)算和處理軟件)是對(duì)連續(xù)介質(zhì)力學(xué)問(wèn)題進(jìn)行數(shù)值計(jì)算的C++自由軟件工具包,其代碼遵守GNU通用公共許可證。它可進(jìn)行數(shù)據(jù)預(yù)處理、后處理和自定義求解器,常用于計(jì)算流體力學(xué)(CFD)領(lǐng)域。該軟件由OpenFOAM基金會(huì)維護(hù)(商標(biāo)OpenFOAM的擁有者硅谷圖形公司(SGI)贊助)。
歷史
(資料圖片僅供參考)
OpenFOAM的早期開(kāi)發(fā)始于1980年代末期的倫敦帝國(guó)學(xué)院,其目標(biāo)是為了編寫(xiě)一個(gè)相對(duì)于當(dāng)時(shí)事實(shí)上的標(biāo)準(zhǔn),F(xiàn)ORTRAN,更為強(qiáng)大和靈活的通用模擬計(jì)算平臺(tái)。并且因此選擇了擁有高度模塊化和面向?qū)ο筇匦缘腃++作為其編程語(yǔ)言。在2004年OpenFOAM以開(kāi)源方式發(fā)布。
特色
OpenFOAM一個(gè)非常有特色的地方是它描述張量和偏微分方程的語(yǔ)法與被求解的方程本身非常相似,事實(shí)上便捷地在程序中表達(dá)傳統(tǒng)的數(shù)學(xué)記號(hào)正是其語(yǔ)法設(shè)計(jì)的目標(biāo)。
例如此處一個(gè)連續(xù)性方程:
solve(fvm::ddt(rho,U)+ fvm::div(phi,U)– fvm::laplacian(mu,U)==– fvc::grad(p));
OpenFOAM的架構(gòu)
OpenFOAM核心功能的實(shí)現(xiàn)是由大量的基礎(chǔ)庫(kù)完成的,利用便捷直觀的高級(jí)語(yǔ)法和基礎(chǔ)庫(kù)提供的功能完成開(kāi)發(fā)應(yīng)用。通常應(yīng)用可以歸為兩類:
Solver 求解器:執(zhí)行連續(xù)介質(zhì)問(wèn)題的求解計(jì)算
Case 實(shí)用程序:用于準(zhǔn)備網(wǎng)格、設(shè)置模擬樣例、處理結(jié)果等
每個(gè)應(yīng)用有其專注的功能:如應(yīng)用blockMesh用于從用戶提供的輸入文件生成網(wǎng)格,而另一個(gè)應(yīng)用icoFoam,則用來(lái)求解不可壓層流的Navier-Stokes方程。
最后,一些第三方軟件包被用來(lái)提供并行化能力(即OpenMPI)和進(jìn)行圖像后處理(ParaView)。
功能
OpenFOAM的功能含有:
基本的計(jì)算流體力學(xué)求解器
不可壓流的雷諾平均納維-斯托克斯方程法(RANS)和大渦流模擬法(LES)求解器
可壓流的RANS和LES求解
浮力流動(dòng)求解器
直接數(shù)值模擬(DNS)和 LES
多相流體求解器
粒子跟蹤求解器
燃燒問(wèn)題求解器
耦合熱傳輸求解器分子動(dòng)力學(xué)求解器
OpenFOAM直接模擬蒙特卡洛求解器
電磁學(xué)求解器
剛體動(dòng)力學(xué)模擬器
除以上列舉的標(biāo)準(zhǔn)求解器之外,由于OpenFOAM的語(yǔ)法,創(chuàng)建自定義的求解器也是容易的。
OpenFOAM實(shí)用程序被細(xì)分為:
網(wǎng)格實(shí)用程序網(wǎng)格生成: 它們通過(guò)輸入文件或幾何描述文件(如)來(lái)自動(dòng)生成計(jì)算用的網(wǎng)格(hex-dominant, snappyHexMesh)
網(wǎng)格格式轉(zhuǎn)化:轉(zhuǎn)化其他工具生成的網(wǎng)格到OpenFOAM格式
網(wǎng)格處理:執(zhí)行一些網(wǎng)格操作,如局部?jī)?yōu)化,區(qū)域定義等
并行處理工具:提供計(jì)算任務(wù)的分解、合并和重分發(fā)功能來(lái)實(shí)現(xiàn)并行計(jì)算
預(yù)處理工具:準(zhǔn)備模擬樣例
后處理工具:處理模擬結(jié)果,包含到OpenFOAM和ParaView的插件
表面處理工具
熱物理工具
許可證
OpenFOAM是自由軟件和開(kāi)源軟件,在GNU通用公共許可證版本3下發(fā)布。
優(yōu)劣
優(yōu)點(diǎn)
用戶友好的偏微分方程描述語(yǔ)法
有非結(jié)構(gòu)化多面體網(wǎng)格的處理能力
自動(dòng)并行化OpenFOAM高級(jí)語(yǔ)言寫(xiě)成的應(yīng)用
現(xiàn)成的涵蓋寬領(lǐng)域的應(yīng)用和模型
有由開(kāi)發(fā)者提供的商業(yè)支持和培訓(xùn)
無(wú)許可證花費(fèi)
缺點(diǎn)
缺少集成的圖形化用戶界面(GUI)(但有獨(dú)立私有軟件可選)
開(kāi)發(fā)文檔缺乏足夠的細(xì)節(jié),學(xué)習(xí)曲線平緩
文檔缺乏維護(hù),入門困難
標(biāo)簽: