【一起學OpenFOAM】03 OpenFOAM基本使用流程


OpenFOAM初學者常常對於軟件的使用流程感到很迷惑,與其他的具有GUI的CFD軟件不同,OpenFOAM的所有操作均為基於文本操作,譬如說里面各種計算模型、計算參數、流程控制參數等,均為通過修改對應的文本文件來進行指定。那么什么時候該用哪些文件,該修改哪些參數,要了這些則需要花費時間去了解OpenFOAM的內部運作機理。

1 CFD的一般流程

如果只是將OpenFOAM當做一款CFD軟件的話,則其使用流程與其他的商用CFD軟件使用流程一致。通常的CFD使用流程包括以下幾個步驟:

  • 問題定義與規划
    通常利用CFD來求解工程流動問題,並不是一上來就使用軟件的,除非你對於所要解決的問題細節非常熟悉。一般情況下,在進行CFD計算之前,需要對所涉及的物理問題進行仔細的分析,比如說計算中涉及到哪些物理模型,流動是層流還是湍流,要計算哪些物理量,采用什么樣的計算域,計算域能否簡化等等。

  • 計算區域幾何構建
    在對問題進行了仔細分析的基礎上,可以開始考慮構建計算區域了。在構建計算區域的過程中,需要考慮的是:計算區域可否利用對稱性或周期性條件?是否可以利用2D模型?一些細小的特征是否可以簡化掉?計算域中是否包含有運動區域?等等。
    在模型規划完畢后,即可着手模型的創建。創建幾何模型的工具很多,有的是采用外部CAD軟件,也有一些CAE前處理軟件具備一定的幾何創建功能。但不管采用何種方式進行幾何的創建,最終是要將這些幾何模型划分為計算網格。因此在創建幾何模型時,也要顧及一下后面使用的網格划分軟件了,雖然說目前主流的高端的網格生成軟件能夠支持非常多的幾何格式,但是也不排除有悲劇的事情發生對不,萬一你創建的幾何模型人家就是不支持呢?

  • 計算網格划分
    網格划分一直都是CFD計算過程中比較熱門的話題,人們也常常習慣於將計算過程中發生的種種問題都歸結到網格身上,雖然很多時候往往是人的問題。但是網格在計算過程中的作用的確非常重要,其影響計算精度和收斂性。在CFD應用過程中,可以利用專業的網格生成工具創建網格。

  • 計算模型選擇及參數設置
    選擇什么樣的計算模型,一般在問題規划過程中已經確定好了,但是模型選擇之后還需要設置與模型相關的參數,不同的物理模型涉及到的參數也不同,因此這方面如果想要做好的話,則需要去理解物理模型背后的數學物理原理。

  • 物性參數設置
    需要指定哪些物性參數,有時候也是和物理模型相關的。通常單純的流動問題,只需要指定流體的粘度和密度即可;若涉及到傳熱,則需要額外指定比熱及熱膨脹系數。因此

  • 邊界條件及初始條件指定
    很重要的內容,通常情況下直接決定了計算結果的正確與否,而且很多時候還會影響到計算收斂性和穩定性。需要按照實際情況進行設置。

  • 離散算法指定
    決定了計算的精度和收斂快慢。

  • 計算控制參數指定
    如殘差標准、迭代次數、時間步長等等參數的指定。

當上述步驟都做完了之后,就可以啟動求解器進行迭代計算了。計算完畢后進行后處理。OpenFOAM如果作為一款CFD軟件來使用的話,同樣也是按照以上的工作流程來進行。

2 最簡單的OpenFOAM案例

以OpenFOAM提供的測試案例來描述OpenFOAM工程文件的組織形式,此案例是OpenFOAM提供的。

  • 啟動終端terminal
  • 執行命令從OpenFOAM實例文件中拷貝cavity文件夾到當前路徑下
cd $FOAM_RUN
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity .
  • 執行命令生成計算網格
blockMesh
  • 執行命令進行計算
icoFoam
  • 進行后處理
paraFoam

自動啟動ParaView軟件進行后處理。


本OpenFOAM系列會在微信公眾號定期推送。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM