【原創】OpenFOAM中各種牛逼的Utility工具
來自專欄 OpenFOAM Studio
本文原創作者:清華大學 劉德天 博士
1.工具fieldAverage
功能:在計算過程中直接對計算的場進行求平均處理
使用方法:
(1)進入即將運行的case文件夾下的system文件夾,編輯controlDict文件,在最後一行的functions中加入如下內容:
functions { #include 「fieldAverageDict」 }
(2)在system文件夾下新建一個空白文檔並命名為fieldAverageDict,進入該文檔,並複製如下內容進入文檔:
fieldAverage1
{ type fieldAverage;
functionObjectLibs("libfieldFunctionObjects.so" );
enabled true;
outputControl outputTime;
fields
( U { mean on; prime2Mean off; base time; } );
}
註:若需要平均計算其他場,請按照U的格式,依次添加在下面;
(3)正常運行計算即可。
2.工具postAverageTurbulenceFields
功能:在RANS或LES計算完成之後,利用各時間文件夾內的場(如速度場U,壓強場P),對場進行時間上的平均處理
使用方法:
(1)將上述文件解壓,拷貝到/OpenFOAM/applications/utilities/
postProcessing/turbulence下
(2)進入postAverageTurbulenceFields文件夾,對該工具進行編譯,即在終端輸入:wmake
(3)編譯後就可以直接使用postAverageTurbulenceFields命令利用各時間文件夾,對場進行求平均處理,並寫入相應的時間文件夾內,但需要在相應的case/system文件夾下建立相應的控制文件controlDict,具體的使用方法就是當需要使用postAverageTurbulenceFields時,將system下的controlDict先重命名備份起來,然後將AvgcontrolDict_postAvg命名為controlDict,然後在終端輸入postAverageTurbulenceFields,當使用完成後,再將兩個controlDict文件互換回來即可(可參考隨工具例子cavity_ras及pitz_daily_les的system下的controlDict_postAvg文件);
需要注意的是:
1).outputControl必須設置成timeStep;
2).outputInterval表示計算平均的結果多少步輸出一次;(目前的版本只當其值1或2時能夠運行,也就是只能1或2步就必須輸出一部保存——貌似沒有)
3).其他設置與原本的controlDict文件中相同即可;
(4)進入需要處理的case文件夾下,在互換controlDict文件後輸入命令。
在終端輸入:postAverageTurbulenceFields即可。
計算完成後記得把兩個controlDict文件互換回來。
3.工具:createTurbulenceFieldsLES
功能:在RANS或LES計算完成之後,利用各時間文件夾(主要利用裡面的速度場),計算湍動能k,耗散率epsilon,雷諾切應力R,等效半徑Reff
使用方法:
(1)將上述文件解壓,拷貝到/OpenFOAM/applications/utilities/
postProcessing/turbulence下
(2)進入createTurbulenceFieldsLES文件夾,對該工具進行編譯,即在終端輸入:wmake
(3)編譯後就可以直接使用createTurbulenceFieldsLES命令利用各時間文件夾,對場進行處理,求解湍動能k,耗散率epsilon,雷諾切應力R,等效半徑Reff四項,並寫入相應的時間文件夾內;
(4)進入需要處理的case文件夾下,輸入命令。
在終端輸入:createTurbulenceFieldsLES即可。
註:在RANS model下,不用該工具即可利用OpenFOAM自帶工具完成雷諾應力R的計算,即在該case文件夾下直接輸入:creatTurbulenceFields,回車即可!(如果僅想要雷諾應力,只輸入R然後回車即可)
註:在RANS或LES下,如果要計算渦量場,不需要其他工具,即可利用OpenFOAM自帶工具完成Vorticity的計算,即在該case文件夾下直接輸入:vorticity回車即可!
(版權所有 侵權必究)
推薦閱讀: