OpenFOAM是一款優(yōu)秀的開(kāi)源CFD軟件,國(guó)內(nèi)外的用戶群體在近年快速發(fā)展壯大。本書(shū)從簡(jiǎn)單算例出發(fā),使讀者熟悉OpenFOAM的使用流程,再進(jìn)一步闡述OpenFOAM的網(wǎng)格劃分、數(shù)值算法、邊界條件、湍流模型等,同時(shí)輔以編程實(shí)例,使用戶在掌握相關(guān)原理的基礎(chǔ)上,了解二次開(kāi)發(fā)方法,推進(jìn)相關(guān)研究進(jìn)程,最后介紹OpenFOAM中的常見(jiàn)問(wèn)題與使用技巧,從而全方位提升讀者的掌握程度。 本書(shū)共7章:OpenFOAM安裝及簡(jiǎn)要介紹,初步認(rèn)識(shí)OpenFOAM,OpenFOAM運(yùn)算、離散及網(wǎng)格劃分,OpenFOAM邊界條件及程序解讀,OpenFOAM湍流模型,OpenFOAM中的application,以及其他相關(guān)內(nèi)容。 本書(shū)可作為高等院校動(dòng)力工程及工程熱物理、水利工程、航空航天等專業(yè)的教材或教學(xué)參考用書(shū),也可供從事CFD的技術(shù)人員自學(xué)參考。
基于多年的使用與開(kāi)發(fā)經(jīng)驗(yàn),從簡(jiǎn)單算例出發(fā),便于熟悉OpenFOAM的使用流程。
闡述OpenFOAM的網(wǎng)格劃分、數(shù)值算法、邊界條件、湍流模型等,知識(shí)全面。
輔以編程實(shí)例,介紹OpenFOAM中的常見(jiàn)問(wèn)題與使用技巧,從而全方位提升掌握程度。
得益于計(jì)算機(jī)技術(shù)突飛猛進(jìn)的發(fā)展,CFD的應(yīng)用已深入各領(lǐng)域,國(guó)內(nèi)外不少企業(yè)與高校均開(kāi)展了相關(guān)研究。以ANSYS CFX、Fluent以及Star CCM+等為首的一批商用CFD軟件被廣泛使用,其優(yōu)勢(shì)在于功能模塊的高度集成化以及新手入門(mén)的低難度化,友好的GUI也使此類(lèi)軟件易于掌握。
然而,出于保密的考慮,開(kāi)發(fā)商無(wú)法將商業(yè)軟件的所有代碼公開(kāi),以至于用戶僅能針對(duì)其中的部分功能進(jìn)行自主開(kāi)發(fā)、編譯,二次開(kāi)發(fā)功能大打折扣,常常無(wú)法滿足CFD研究與開(kāi)發(fā)人員的需求。因此,開(kāi)源的CFD程序成為科研院所及相關(guān)企業(yè)的首選。OpenFOAM作為一款優(yōu)秀的開(kāi)源CFD程序,由于其豐富的功能、良好的程序接口以及快速的版本更新,在全球范圍內(nèi)吸引了越來(lái)越多的用戶,而基于OpenFOAM的研究與應(yīng)用也日益增多。
OpenFOAM基于C++編寫(xiě),面向?qū)ο蟮奶攸c(diǎn)使其代碼編寫(xiě)更為方便快捷。但由于其功能繁多,且目前關(guān)于該軟件的資料極少,新手用戶往往難以在浩如煙海的代碼中獲取有效的信息,從而導(dǎo)致學(xué)習(xí)使用過(guò)程困難重重。此外,OpenFOAM的可調(diào)參數(shù)極多,若無(wú)相關(guān)經(jīng)驗(yàn),往往容易導(dǎo)致計(jì)算溢出或程序編譯失敗,更增加了學(xué)習(xí)的困難程度。
為此,作者基于多年的使用與開(kāi)發(fā)經(jīng)驗(yàn),從簡(jiǎn)單算例出發(fā),使讀者熟悉OpenFOAM的使用流程,再進(jìn)一步闡述OpenFOAM的網(wǎng)格劃分、數(shù)值算法、邊界條件、湍流模型等,同時(shí)輔以編程實(shí)例,使用戶在掌握相關(guān)原理的基礎(chǔ)上,了解二次開(kāi)發(fā)方法,推進(jìn)相關(guān)研究進(jìn)程,最后介紹OpenFOAM中的常見(jiàn)問(wèn)題與使用技巧,從而全方位提升讀者的掌握程度。
本書(shū)分為7章:第1章介紹軟件的安裝及基本功能;第2章通過(guò)兩個(gè)算例(攪拌器、子彈空化)介紹OpenFOAM的使用流程,包括前處理、計(jì)算與后處理;第3章介紹張量運(yùn)算、離散的原理及相關(guān)數(shù)值格式與解法的使用方式,并實(shí)例介紹利用blockMesh進(jìn)行網(wǎng)格劃分的要點(diǎn)以及如何導(dǎo)入網(wǎng)格;第4章介紹邊界與邊界條件的類(lèi)型,邊界條件的程序解讀以及各壁面函數(shù)的數(shù)學(xué)原理、使用方式,并實(shí)例分析如何自定義邊界條件與壁面函數(shù);第5章在分析湍流模型結(jié)構(gòu)的基礎(chǔ)上,基于源代碼分析湍流模型(RANS與LES)的實(shí)現(xiàn)方式,并通過(guò)實(shí)例講解如何自定義RANS與LES模型;第6章基于simpleFoam與Lambda2的程序,解讀OpenFOAM中求解器與工具的實(shí)現(xiàn)方式,通過(guò)實(shí)例講解如何自定義求解器與工具;第7章介紹查詢代碼的常用技巧,分析編程中常見(jiàn)的問(wèn)題及解決方法,以及如何利用Tecplot進(jìn)行后處理。
在本書(shū)的編寫(xiě)過(guò)程中,我們得到了國(guó)家自然科學(xué)基金(51909231、51806187)、揚(yáng)州大學(xué)學(xué)科(流體動(dòng)力與能源高效轉(zhuǎn)化利用)建設(shè)經(jīng)費(fèi)、揚(yáng)州大學(xué)科技創(chuàng)新培育基金以及中國(guó)水利水電出版社的支持,也得到了同事與朋友的幫助,在此對(duì)這些寶貴支持和幫助表示衷心的感謝。
本書(shū)得以出版,離不開(kāi)父母的支持與默默奉獻(xiàn),在此致以最誠(chéng)摯的感謝。
限于作者的能力和水平,書(shū)中錯(cuò)誤和缺點(diǎn)在所難免,懇請(qǐng)讀者批評(píng)指正。
作 者
2020年9月