5月21日剛剛回家,明天爺爺生日,在此祝他福如東海!
今天按計劃完成空腔流教程的最後一項——高雷諾數。在此之前,我所做的都隻是低雷諾數下的層流。但在現實中,理想的層流是不存在的,更多的是湍流。這塊硬骨頭,最是難啃。話不多說,我按着userguide做一遍。
這一篇的關鍵詞:pisoFoam,RAS,k − ε 模型。
首先将教程裡面的案例複制到run目錄内:
run
cp -r $FOAM_TUTORIALS/incompressible/pisoFoam/ras/cavity cavityRAS
cd cavityRAS
先用blockMesh生成網格。在這裡,mesh grading 不是必要的,因為我們用的是k − ε 模型。
paraFoam看一看,就是很普通的網格。
看一看,是很普通的網格。
打開0/nut檔案:
注意邊界的type“nutkWallFunction”,還有其他的keyword,這些都要通過深入地研究源代碼才能,并且有相關的理論基礎才能很好地了解。這些會在日後慢慢寫,慢慢學,我還有很長的路要走。
在constant/turbulenceProperties的檔案裡:
simulationType有三個選項可選:lamilar,RAS和LES。在RAS的子程式裡,預設是選擇k − ε 模型,即kEpsilon;
輸入pisoFoam,運作計算:
花了半分鐘左右,最後用cat log檢視:
停在了10秒,即我們設定的endtime,收斂成功,看到end字樣。
最後看看結果:
速度場
壓力場
可以看出,高雷諾數下的結果跟低雷諾數有很大的不同。
小結:
我想通過看源代碼來了解程式,但是一方面c++代碼基礎差,另一方面流體的知識也差,今後會兩手抓,通過對icoFoam等代碼的學習,體會CFD的美麗。