OpenFOAM從入門到精通
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
OpenFOAM是一款優秀的開源CFD軟件,國內外的用戶群體近年來快速發展壯大。本書從簡單算例出發,使讀者熟悉OpenFOAM的使用流程,再進一步闡述OpenFOAM的網格劃分、數值算法、邊界條件、湍流模型等,同時輔以編程實例,使用戶在掌握相關原理的基礎上,了解二次開發方法,推進相關研究進程,最后介紹OpenFOAM中的常見問題與使用技巧,從而全方位提升讀者的掌握程度。
本書共7章:OpenFOAM安裝及簡要介紹,初步認識OpenFOAM,OpenFOAM運算、離散及網格劃分,OpenFOAM邊界條件及程序解讀,OpenFOAM湍流模型,OpenFOAM中的application,以及其他相關內容。
本書可作為高等院校動力工程及工程熱物理、水利工程、航空航天等專業的教材或教學參考書,也可供從事CFD的技術人員自學參考。
基于多年的使用與開發經驗,從簡單算例出發,便于熟悉OpenFOAM的使用流程。
闡述OpenFOAM的網格劃分、數值算法、邊界條件、湍流模型等,知識全面。
輔以編程實例,介紹OpenFOAM中的常見問題與使用技巧,從而全方位提升掌握程度。
得益于計算機技術突飛猛進的發展,CFD的應用已深入各領域,國內外不少企業與高校均開展了相關研究。以ANSYS CFX、Fluent以及Star CCM+等為首的一批商用CFD軟件被廣泛使用,其優勢在于功能模塊的高度集成化以及新手入門的低難度化,友好的GUI也使此類軟件易于掌握。
然而,出于保密的考慮,開發商無法將商業軟件的所有代碼公開,以至于用戶僅能針對其中的部分功能進行自主開發、編譯,二次開發功能大打折扣,常常無法滿足CFD研究與開發人員的需求。因此,開源的CFD程序成為科研院所及相關企業的首選。OpenFOAM作為一款優秀的開源CFD程序,由于其豐富的功能、良好的程序接口以及快速的版本更新,在全球范圍內吸引了越來越多的用戶,而基于OpenFOAM的研究與應用也日益增多。
OpenFOAM基于C++編寫,面向對象的特點使其代碼編寫更為方便快捷。但由于其功能繁多,且目前關于該軟件的資料極少,新手用戶往往難以在浩如煙海的代碼中獲取有效的信息,從而導致學習使用過程困難重重。此外,OpenFOAM的可調參數極多,若無相關經驗,往往容易導致計算溢出或程序編譯失敗,更增加了學習的困難程度。
為此,作者基于多年的使用與開發經驗,從簡單算例出發,使讀者熟悉OpenFOAM的使用流程,再進一步闡述OpenFOAM的網格劃分、數值算法、邊界條件、湍流模型等,同時輔以編程實例,使用戶在掌握相關原理的基礎上,了解二次開發方法,推進相關研究進程,最后介紹OpenFOAM中的常見問題與使用技巧,從而全方位提升讀者的掌握程度。
本書分為7章:第1章介紹軟件的安裝及基本功能;第2章通過兩個算例(攪拌器、子彈空化)介紹OpenFOAM的使用流程,包括前處理、計算與后處理;第3章介紹張量運算、離散的原理及相關數值格式與解法的使用方式,并實例介紹利用blockMesh進行網格劃分的要點以及如何導入網格;第4章介紹邊界與邊界條件的類型,邊界條件的程序解讀以及各壁面函數的數學原理、使用方式,并實例分析如何自定義邊界條件與壁面函數;第5章在分析湍流模型結構的基礎上,基于源代碼分析湍流模型(RANS與LES)的實現方式,并通過實例講解如何自定義RANS與LES模型;第6章基于simpleFoam與Lambda2的程序,解讀OpenFOAM中求解器與工具的實現方式,通過實例講解如何自定義求解器與工具;第7章介紹查詢代碼的常用技巧,分析編程中常見的問題及解決方法,以及如何利用Tecplot進行后處理。
在本書的編寫過程中,我們得到了國家自然科學基金(51909231、51806187)、揚州大學學科(流體動力與能源高效轉化利用)建設經費、揚州大學科技創新培育基金以及中國水利水電出版社的支持,也得到了同事與朋友的幫助,在此對這些寶貴支持和幫助表示衷心的感謝。
本書得以出版,離不開父母的支持與默默奉獻,在此致以最誠摯的感謝。
限于作者的能力和水平,書中錯誤和缺點在所難免,懇請讀者批評指正。
作 者
2020年9月
1.1 基于“.deb”文件的安裝 2
1.2 基于源文件的安裝 2
1.3 OpenFOAM簡介 7
第2章 初步認識OpenFOAM 9
2.1 攪拌器內流場模擬 11
2.1.1 算例描述及前處理 11
2.1.2 后處理 26
2.2 子彈周圍空化流場模擬 31
2.2.1 算例描述及前處理 31
2.2.2 后處理 43
第3章 OpenFOAM運算、離散及網格劃分 50
3.1 OpenFOAM中的張量運算 50
3.1.1 常用張量與運算 52
3.1.2 速度梯度張量的問題 54
3.2 OpenFOAM中的離散 55
3.2.1 計算域的離散 55
3.2.2 方程的空間離散 60
3.2.3 方程的時間離散 77
3.2.4 離散方程的求解 83
3.2.5 離散方程組的分離式解法 100
3.3 OpenFOAM中的網格劃分 105
3.3.1 blockMesh 105
3.3.2 外部網格導入 115
第4章 OpenFOAM邊界條件及程序解讀 118
4.1 OpenFOAM中的邊界及邊界條件 118
4.1.1 邊界類型 118
4.1.2 OpenFOAM中的set及其創建方式 119
4.1.3 創建cyclic及cyclicAMI邊界 132
4.1.4 邊界條件類型 140
4.2 邊界條件程序解讀 145
4.2.1 fixedValue邊界條件程序解讀 145
4.2.2 自定義邊界條件實例—創建符合拋物線分布的速度邊界 153
4.3 OpenFOAM中的壁面函數 162
4.3.1 壁面函數理論 162
4.3.2 nutWallFunction程序解讀 164
4.3.3 νt壁面函數 169
4.3.4 k壁面函數 175
4.3.5 ε壁面函數 176
4.3.6 ω壁面函數 178
4.3.7 自定義壁面函數類型實例—三層壁面函數 178
第5章 OpenFOAM湍流模型 184
5.1 RANS模型 184
5.1.1 turbulenceModel 186
5.1.2 RASModel 192
5.1.3 標準k-ε模型程序解析 199
5.1.4 自定義RANS模型—標準k-ε模型的Kato-Launder修正 210
5.2 LES模型 214
5.2.1 LESModel 215
5.2.2 濾波方式 222
5.2.3 濾波尺度 226
5.2.4 Smagorinsky模型程序解析 229
5.2.5 自定義LES模型—動態
Smagorinsky模型 235
第6章 OpenFOAM中的application 241
6.1 求解器 241
6.1.1 適于不可壓流動的simpleFoam程序解讀 241
6.1.2 創建旋轉槽道流求解器 248
6.2 工具 251
6.2.1 Lambda2程序解讀 252
6.2.2 自定義后處理工具—計算亞格子湍動能生成率 254
第7章 其他 257
7.1 代碼中函數的調用問題 257
7.1.1 官方網站的C++ source guide 257
7.1.2 安裝本地C++ source guide 261
7.2 編譯及運行常見問題 262
7.2.1 sigFpe 263
7.2.2 初始化順序問題 263
7.2.3 類型與實際不一致的問題 264
7.2.4 找不到頭文件的問題 265
7.3 使用Tecplot進行后處理 267
7.3.1 foamToTecplot360工具的安裝 268
7.3.2 foamToTecplot360使用實例 268
參考文獻 272
符號表 276
英文字母變量 276
希臘字母變量 279
下標 281
上標 281
縮略詞表 282
- 輸水管線工程風險管理 [張勇 黨亥生 著]
- 民用航空飛機標準線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運河講談錄 [趙珩 著]
- 實用運籌學 [主編 邢育紅 于晉臣]
- 三峽梯級電站水資源決策支持系統研究與開發 [姚華明 潘紅忠 湯正]
- 海南黎族民俗文化鑒賞 [龐國華 著]
- 石墨烯在太赫茲及中紅外頻段電磁器件設計中的應用 [李艷秀 莊華偉 著]
- 電子技術(第二版) [主編 覃愛娜 李飛]
- 辦公自動化高級應用 [陳萍 朱曉玉]
- 信息處理技術員考試32小時通關 [薛大龍]
- 電子產品設計案例教程(微課版)—基于嘉立創EDA(專業版) [王靜 莫志宏 陳學昌 丁紅]
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- Web技術開發教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 商務英語翻譯教程(筆譯)(第四版) [主編 王軍平]
- 智慧零售技術與應用 [洪旭 著]
- 建設工程法規實務 [主編 余瀅]
- 商務秘書理論與實務(第三版) [主編 張同欽]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務 [主編 王秀卿 羅靜]
- 工程數學 [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 信息系統項目管理師章節習題與考點特訓(第二版) [主編 薛大龍]
- 武術基礎教程 [主編 李代勇 謝志民]
- 計算機網絡實訓教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機械制圖習題集(多學時) [主編 趙軍]
- HCIA-Datacom認證題庫分類精講 [主 編 韓立剛]
- SwiftUI完全開發 [李智威 著]
- 網絡規劃設計師備考一本通 [夏杰 編著]