不用画网格的CFD?真香~
记得三年前,有一个研究生来我们公司面试,面试官让他谈谈对于PowerFLOW的认识,这个小伙子说“PowerFLOW是新一代无网格CFD工具。”话音刚落,我们的技术总监就笑了,他说“我们从来都不是无网格的CFD工具,我们只是全自动生成体网格的CFD工具。”
划网格的痛苦历历在目:相信绝大部分的CFDer在学校或者工作中接触的传统CFD工具都需要经历痛苦的前处理过程,从三维模型的简化开始,抽取流场域、面网格、体网格、边界层加密、调整网格质量,历经千辛万苦最终得到自己想要的网格。如果运气不好,你做的那个计算必须使用结构化网格,那就更痛苦了。笔者在学校念书的时候曾经画过汽轮机抽汽系统的结构化网格,两个不规则形状之间插着无数的小管,我到如今还记得O网格套着O网格,还有C网格和H网格。
“苦海,翻起爱恨;在世间,难逃避命运。”
不经意间命运已改变:如果使用过PowerFLOW或者其他某些LBM工具的朋友会发现,在具体使用的过程中,和传统方法最大的区别就是不需要再手动画体网格了。特别的,对于PowerFLOW,我们只需要将几何模型转化成三角形的面网格(nas或stl格式),然后将该面网格导入PowerFLOW即可设置边界条件进行CFD计算。
我们前面说到PowerFLOW的计算仍然是需要体网格,只是软件会全自动生成,即在提交计算的时候,求解器会自动进行空间离散,生成体网格,PowerFLOW的网格就是标准的正六面体网格,是所有CFDer心中梦寐以求的网格形状。
众望所归的正交网格:大家应该还记得,我们在前面的文章中说过,LBM是玻尔兹曼方程在空间中的离散格式,因为实际粒子的运动方向有无数个,我们只有将速度方向离散为有限的个数才能进行数值计算。当然,离散格式并不唯一,下图展示了在二维平面上,两种不同的离散格式。大家可以想象,在自然选择过程中,更加适合数值实现的前一种Square Lattice便成为了如今LBM的主流。谈到LBM的主流,值得一提的是,LBM是少有的华人占主力地位的领域,作为一个晚辈,深感骄傲。不敢蹭各位大神的热度,谨以此勉励自己吧。
如何解决网格的过渡问题:确定好了以标准的正六面体作为我们的网格之后,细心的读者可能会问两个问题。因为在实际的计算过程中,在流场中的不同区域,需要不同尺度的网格,也就是我们常说的网格疏密。如下图所示,我们可以看到网格尺寸从内向外逐级增大,且相邻两级之间的网格尺寸比例是1:2,如果把局部的网格放大显示的话,我们会更加清楚的看到网格尺寸的变化。相信很多读者发现了一个小问题,Level2和Level1的网格并非一一对应的。那求解的时候该如何处理呢?
不知道大家还记不记得,我们在之前的文章中介绍过LBM是如何描述粒子在时域上运动的。我们可以设想一下,如果一个粒子以速度U在Level2的网格上运动,从一个节点到另外一个节点所需要的时间为t,那么该粒子如果运动到了Level1的网格上,则需要2倍的t才能从一个节点运动到下一个节点。所以,在实际的求解过程中,Level2每计算两次,Level1才进行一次计算。
何为等效网格量:综上所述,流场中很多稀疏的网格需要间隔很久才会进行一次计算啊。所以,大家在使用LBM方法做计算的时候,除了要关心网格总量,还要关注另外一个“等效网格数”的概念,它才是真正影响计算量的参数,因为“等效网格数”把流场中不同尺度的网格全部换算成了等级最高的网格尺度。看完这篇文章之后,大家记得去看看你的离散文件,对比一下总网格数和等效网格数的值,看看它们之间是如何换算的。
如何处理壁面:相信读者关心的另外一个问题则是关于壁面,远离壁面的区域当然可以使用正六面体,并通过2倍的关系逐级变化网格尺度。但是壁面毕竟是不规则的,如何划分正六面体的网格呢。大家先看看下面这个示意图吧。大家是不是已经明白了,就是使用体网格和壁面的三角形网格直接相交,生成一套全新的用于实际计算的面网格,既保证了几何的形状,又实现了体网格和面网格之间的对应。
壁面碰撞模拟:既然提到了壁面,想必大家已经迫不及待地想要知道,咱们的粒子到底是怎么和壁面相互作用的?下面这幅示意图展示了粒子和壁面碰撞的过程,是不是看上去也很简单?不过第三步提到的施加壁面碰撞条件是啥意思呢?
我们设想一个小球碰到壁面的常规情况,通常有两种结局:Option A是光滑壁面,哧溜一下滑出去,表现为镜面反射,小球只改变了法向的速度;Option B是标准壁面,硬生生给怼回来,表现为原路返回,小球的切向和法向速度均被改变。
镜面反射 VS 原路返回
又见壁面函数:对于雷诺数相对低的流动,我们可以在壁面附近布置比较密的网格,通过标准壁面的方式直接模拟粒子和壁面的碰撞,相应的边界层内流动也是直接求解的。
相信聪明的你已经想到了,就是使用壁面函数啦。下一期为您带来Advanced Wall Function的解读。哼,凭啥你的壁面函数就是高级的?