frogfish 发表于 2006-8-1 18:36

对圆柱体网格划分的一些经验总结

最近一段时间在做锥形分离器内流场的研究。在对其流场进行数值模拟的过程中,在Gambit中试验了一些关于圆柱体的网格划分方法,并将其导入Fluent中进行了计算进行了对比。在此将个人的一些经验体会与大伙分享。
       刚开始划分网格的时候,我天真地认为圆柱体是非常容易划分网格的。但是这折腾了几天后,才发现,圆柱体要得到网格质量好的网格并不容易。经过试验,我总结出了三种划分圆柱体网格的方法。现在一个直径D=300,高度为1000的圆柱体为例进行网格的划分。此圆柱体是直接按照center模式生成体。

方法一:
       在二维坐标系下建立一个长1000,宽150的长方形,对此长方形进行网格划分,并设定一条长边为对称轴(注意,采用轴对称模型时,Fluent默认X轴为对称轴)。再将此网格导入Fluent中采用轴对称模型进行计算。此方法优点是:能够划分出高质量的结构性网格,并能在圆柱体的不同部位根据流动情况控制网格的尺寸和长宽比;能够很容易的在近壁面处加入边界层;即使网格尺寸比较小,网格数量也可以得到控制。缺点:二维轴对称模型决定了Fluent中计算结果都是关于轴对称的,并且Fluent中二维轴对称模型如何将二维网格转化为三维网格计算的机理不太清楚,对其计算结果的正确性不好评估。

方法二:
      在三维坐标系下建立圆柱体。先在Geometry>volume>Create Real cylinder中以Center形式生成一个直径为300,高度为1000的圆柱体。对其中一个圆面的圆周划分网格节点,取点的间距interval size为10。然后再对这个圆周面划分elements为Quad,Type为Pave的网格,网格大小interval size取10。(需要注意的是,在划分圆周网格节点的时候,选择的interval size要使得相应interval count为偶数,否则没有办法生成Pave面网格)。生成一个圆面上的面网格后,可以用Quad Map生成圆柱侧面的网格,然后再生成体网格。
       后来发现,可以一开始在圆面上生成Quad Map网格,然后直接用Hex\wedge Cooper模式生成体网格。两者的效果是差不多的。
方法二生成网格的问题在于圆面中心区域网格的质量不好控制。同时,从圆柱侧面看,可以发现侧面上的网格都是正方形的,即网格长度不能控制(关键是生成侧面网格时如果直接生成面网格或体网格,因为已经生成圆面的网格大小的影响,无法对长度进行控制),导致网格数量较多。
       生成的网格总体质量还是不错的。但因为我所做的课题要求对中心区域的网格质量要求较高,因此我还是在想办法提高中心区域的网格质量。

方法三:
       既然要控制中心区域的网格质量和网格的长度。我想了个办法,生成一个圆柱体后,我再以+x +y +z方向生成一个长、宽、高分别为160、160、1200的长方体,再在+x –y +z方向生成一个长、宽、高分别为160、160、1200的长方体,将这两个长方体合并成一个长方体。然后用合成的长方体去切圆柱体。即在split volume 面板中使用volume 圆柱体 split with 长方体,条件只选则connected(其余两项如果选择了会怎样,大家只要尝试一下,并看看生成的体怎么样就可以了)。上述操作其实就是把圆柱体劈成两个半圆柱体。此时我们就可以通过切开圆柱体的那个中间的面上边控制网格的质量和长度了。
       对于圆柱体上下端面网格的处理,因为端面被分成了两个半圆面。对半圆面上的半圆弧和直径上的边分别划分好网格节点,再生成面网格,就会发现圆面中心区域的面网格的质量好了很多,规整了很多。同时,我在想,如果将圆端面分成四个扇形面,可能可以将网格控制得更好更精细。
       在将圆柱体劈成两半的那个面的长边上划分网格节点,就可以控制圆柱体侧面上网格面的长度,从而控制体网格的长度。这是方法二做不到的。
       经过测试,发现生成的网格质量比方法二有提高,并且我特别关注的中心区域网格质量很好。

方法四:
       此方法是在圆柱的端面上生成一种从圆心向四周辐射开去的面网格。生成这种网格时需要圆心存在一个点,并且要将这个点的属性更改。
具体过程如下:在生成圆柱体后。在在生成体的面板中选择生成一个长方体,长方体的长、宽、高分别为160、160、1200,生成方式采用+x +y +z方式。生成体后,在split volume面板中选择volume 圆柱体 split with 长方体,条件只选则connected。然后我们便得到了一个端面为3/4圆面的体和一个端面为1/4圆面的体。此方法实际是为了方便的在圆柱体端面上划分出圆心。此圆心是我们生成辐射状网格必须的。我们打开生成面网格的面板Mesh>Face,打开十个按钮中第一行第四个按钮set face vertex type,在face中选择1/4圆面的那个体的扇形端面,在Type中选择Trielement,然后在Vertices中选择次面上那个圆心点,点击Apply。然后我们便可以对次面生成面网格,我们会发现在选中这个面的时候,网格类型自动选择为elements为Quad/Tri,Type为wedge primitive,选择合适的尺寸。便可以生成从圆心辐射向外的面网格。
       同样的方法处理完3/4圆面的那个体的扇形端面。然后我们可以便可以先在两个体的侧面生成Quad Map网格,因为在面上生成网格,网格的长度可以通过边上的网格节点来控制。最后生成体网格。
       此方法生成的网格非常漂亮,但能从网格上直接看出在圆柱端面的中心的网格实际是一很长很窄的扇形,因此可以判断中心处的网格质量很差,但外围的网格质量非常好。检查网格时证明的我的推测是正确的,中心区域网格质量非常差,网格扭曲度达到了0.9-1,但外围的网格质量都非常好。
       此方法实际更适合对中心是空心的圆柱体进行网格划分。

       以上是我最近所做的课题时对圆柱体网格划分的一些经验总结,希望对大伙,特别是所里面刚刚开始学习Fluent的同学一点帮助。因为Bolg不方便上图,我没有贴图。大家有什么疑问的话,可以来找我。如果大家有什么更好的划分圆柱体的方法,请一定要告诉我哦,呵呵。



来自徐斌的个人博客

gladfish 发表于 2006-8-2 09:41

哦,你想要中心的网格密一些。我建议你将一个大的圆柱用一个小的圆柱进行分割,
这样就可以生成一个小圆柱,和一个圆柱环,你将小圆柱的端面网格尺寸设的小一点,先画小圆柱断面的网格,然后画小圆柱的网格,或者画圆柱环断面的网格,采用cooper
画,就可以了。

happier_han 发表于 2008-5-21 13:06

不用分裂体即可控制圆柱长度方向的网格大小

1.生成圆柱体
2.利用圆柱体两个端面上现有的点生成一条虚边,虚边的宿主为侧面
3.用虚边split侧面(似乎一定要split,线才能真正属于面,控制面网格大小)
4.划分端面网格(可密,QUA或TRI等均可),划分虚边边网格(可疏,QUA-MAP规则些)
5.生成侧面网格(map)
6.生成体网格(cooper)

该法对于细长圆柱体,或者想在侧面控制网格疏密的用户很有帮助!

likgo 发表于 2008-11-8 13:53

:handshake :loveliness:

汪钰 发表于 2010-4-6 14:03

学习了,谢谢前辈们的指点!
页: [1]
查看完整版本: 对圆柱体网格划分的一些经验总结