基于snappyHexMesh生成网格的圆柱绕流算例
1.创建几何体STL文件
在了解了原理之后,要生成网格第一步就是要创建一个几何体的STL文件,可以使用3Dbulider,3DCAD等软件生成几何体然后以STL格式输出,然后将文件拷贝到虚拟机中。可以使用paraview打开几何体进行查看,确认没有问题。
2.创建背景网格
修改blockMeshDict字典文件来创建一个背景网格,在这个算例中背景网格是一个非常简单的block,背景网格的几何大小与第二章的圆柱绕流算例的尺寸一致。
需要注意的是,在blockMeshDict中所有面的type都为patch。 生成的背景网格如下:
将几何体放置到网格中,发现没有问题,继续之后的步骤。
3.为几何体创建多个表面
默认情况下,几何体STL文件由一个表面组成,如果要创建多个表面,可以使用surfaceAutoPatch。在几何体STL文件所在的目录下终端键入:
surfaceAutoPatch geo.stl cylinder.stl 130程序surfaceAutoPatch将读取原始STL文件geo.stl(一个面组成),并将使用130的角度标准将几何体划分为多个面。
这个角度划分标准类似于表面特征细化角,如果几何体相邻面角度大于resolveFeatureAngle,则标记相邻STL面进行划分(细化),反之不进行划分(细化)。
cylinder.stl最终要拷贝到constant/triSurface中。
这时候打开cylinder.stl,会发现里面定义了三个表面:patch0(通过部分代码上的点位置可以确定patch0是圆柱体的侧表面)
patch1(可以判断为后端面)
patch2(同理可以判断为前端面)
在paraview中可以直观的看到三个面分别是不同的颜色:
4.复制snappyHexMeshDict,meshQualityDict和surfaceFeatureExtractDict文件
在完成上面的操作后,就可以进行网格细化了,网格细化需要snappyHexMeshDict,meshQualityDict和surfaceFeatureExtractDict这三个文件ÿ