商业软件划分的网格导入OpenFOAM问题总结【终极】
商業軟件劃分的網格導入OpenFOAM問題總結【終極】
openfoam自己帶有網格劃分功能blockMesh和snapHexMesh.前者可以生成塊結構化網格,后者則基于表面網格文件(stl格式)自動生成復雜的網格。她還帶有商業軟件網格轉換功能,如fluentMeshToFoam等,所有的網格轉換器源文件在文件夾applications/utilities/mesh/conversion中。
總體而言運用商業軟件網格的轉換openfoam可識別的網格時候,應當注意以下幾個問題
(1)幾何尺寸
幾乎所有的商業軟件劃分的網格是沒有單位的,而OpenFOAM的網格是具有單位(其單位m),因此在劃分網格的時候應當完全按照國際單位制劃分網格。如果在事先沒有注意到這一點, 不用著急,后面還有補救方法。
(2)邊界條件
幾乎所有的商業軟件都支持邊界條件的設定,然而在這些軟件定義的邊界條件openfoam未必認識,這時候轉換器會將其定義為wall類型。不要隨意定義邊界類型,因為一個不同的邊界類型可能對網格進行的限制,如你在gridgen中定義了周期邊界,導出的網格是無法為openfoam認識的,一種比較好的就是將起定義為wall類型。
如果商業軟件允許你對邊界條件進行命名的話,一個比較好的名字,可以解決轉換后網格邊界條件無法識別的問題。但是有的商業軟件(gridgen)邊界名字是根據邊界類型生成的。要是定義多個邊界都為wall的話并導出fluent格式,并轉換為openfoam時候,相同類型的邊界會命名為wall-1,wall-2,不醒目,你設置類型的時候都不知道那個是那個,我通常采用自定義邊界類型,然后輸出fluent格式,并轉換為openfoam格式。
當成功的劃分網格并轉換成openfoam可支持的轉換格式后,就可以對網格進行轉換了。
(3)網格轉換
將劃分后的mesh拷貝到你的case文件夾中,然后運用如下命令進行網格轉換
轉換器名字 網格文件 [-scale scale factor]
比如:fluentMeshToFoam 001.cas -scale 0.01
前面fluentMeshToFoam為轉換器,001.cas為網格文件,-scale用來指定你要劃分的網格放大多少倍,用來處理你劃分網格的時候沒有注意到的單位問題,上面的0.01是將網格縮小100倍。
(4)修改物理邊界名字和邊界類型。
所有不識別的邊界類型,他們都會認為是wall類型。修改邊界名字,應當到case文件夾中constant/polyMesh中的boundary文件修改。里面有邊界的名字,和邊界type,指定為你要的類型,比如patch,wall等,這里指定的是物理邊界。
(5)設定數值邊界類型
進入初始化文件夾0文件中各個場文件進行boundaryField 設定相應的數值邊界條件。 數值邊界的名字要和物理邊界的名字對應,對順序沒有要求。
如果對openfoam中的數值和物理邊界不明白,請參看本站博文“OpenFOAM不可壓縮流邊界條件的設定之我見”
現在check一下你的mesh了。 利用checkMesh對網格進行一下check 或者利用paraFoam看看你導入的網格。
參考文獻1:http://blog.sina.com.cn/s/blog_5fdfa7e60100dsiq.html
參考文獻2:http://blog.sina.com.cn/s/blog_5fdfa7e60100dehz.html
總結
以上是生活随笔為你收集整理的商业软件划分的网格导入OpenFOAM问题总结【终极】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ANSYS-CFX,计算时报错,内存参数
- 下一篇: macOS Catalina 及更高版本