最近总有小伙伴向我询问Fluent中的动网格问题,因此决定做一期关于Fluent动网格技术的内容。
动网格技术在流体仿真中很特殊,应用也很广。生活中能够碰到形形色色的包含有部件运动的问题,比如说我现在想要出门,那么开门的一瞬间,门的运动会影响到房间内部的空气流动,这就是一个典型的动网格问题。在工程中,动网格应用也非常的广泛,如依靠转子运动而工作的泵和压缩机、依靠旋翼旋转而飞行的直升机、随海浪起伏的船只、内燃机缸内活塞运动等等。
为什么只有搞CFD的人才会提动网格这个事儿?
固体结构仿真中并不会有动网格的提法。因为在结构计算中,网格节点的运动位移是要求解计算的基本物理量,而模型边界上的位移则可以直接作为载荷条件输入。结构仿真计算基于拉格朗日坐标系, 每一个网格节点都具有转动和(或)平动自由度,因此节点运动是理所当然的事情。
然而流体计算基于欧拉坐标系,在欧拉坐标系中,计算空间与网格节点保持固定,因此在利用CFD计算流体问题时,要考虑区域中部件的变形或运动,则需要通过特殊的手段来解决。
当前很多的CFD软件都有针对边界或区域运动的解决方案。
商业CFD软件中用得比较多的方法包括:
其中方法一为稳态模型,采用的是动参考系模型,在计算过程中,网格实际上并不运动。滑移网格方法中,网格的确是在运动,然而滑移网格只能解决区域运动问题,对于只有区域内各边界以不同规则运动的情况则无能为力。而这些问题都可以采用动网格技术来实现。动网格最接近真实物理状态。
其实还有一种情况,比如说在CFD中可以设定壁面是运动的还是静止的,可以设定运动壁面的平动速度或转动速度。但这仅仅只是边界条件的设定罢了,并未涉及到区域或边界的真实运动,网格也不会产生任何变化。
动网格(Dynamic Mesh)通常包含两个方面的内容:运动方式描述以及网格的处理。
在CFD中由于速度是可以求解的量,因此在定义物体部件的运动时常用速度进行表达。
主要有两种类型:
对于可以显示定义的运动方式,我们可以称之为主动运动;而无法直接得到速度的运动方式,可以称之为被动运动。对于被动运动,目前很多主流的CFD求解器都提供了6DOF模型进行解决。
部件的运动势必会影响原始网格,当运动量较大时,可能会导致网格退化,甚至产生负体积。
目前成熟的CFD软件对于动网格中网格的处理主要分为两个阵营:
Fluent中动网格功能非常齐全,对于部件的运动,Fluent提供了Profile及UDF宏来进行定义,只要运动规律能够用数学语言描述,软件可以定义任意复杂程度的运动。
对于网格的处理,Fluent以网格重构(Remeshing)见长,同时还包含了网格光顺方法及动态铺层方法,以应对不同的应用场合。同时在新版本的Fluent中,还加入了Overset重叠网格,对于复杂运动的网格处理提供了更为强大的功能。
在被动运动方面,Fluent可以利用UDF将被动运动转化为主动运动,也可以利用6DOF模型。同时还针对发动机缸内运动提供了in-cylinder运动描述。除此之外,Fluent还提供了接触检测功能以应对边界运动过程中发生的接触问题。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删