找回密码
 注册
查看: 7276|回复: 2

[转载]商业软件划分的网格向OpenFOAM转换应注意的问题

[复制链接]
发表于 2009-6-18 00:50:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

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
发表于 2009-10-22 23:11:00 | 显示全部楼层
在导入openfoam之前以前修改了各个界面的名称比如symmetryPlane,在网格导入之后,我到0文件夹去修改p文件,界面名称我知道应该跟着修改。那type呢?要跟boundary里的一样吗比如symmetryPlane?因为以前的都是什么0 梯度
发表于 2009-10-22 23:13:42 | 显示全部楼层
刚才又拜读了一下版主的上面文章,说的是要修改名称和type的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表