|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
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看看你导入的网格。
转自OpenFOAM研究:http://blog.sina.com.cn/openfoamresearch |
|