计算流体力学CFD基本原理——有限体积法(FVM)与浸入边界法(IBM)

4.1 有限体积法

有限体积法(Finite Volume Method)的基本思路是:将计算区域划分为网格,并使每一个网格点周围有一个互不重复的控制体积;FVM法是绝大多数 CFD 商用软件所采用的核心数值求解方法。

有限体积法的基本思路,就是把质量守恒、动量守恒、能量守恒的流体控制方程,在每一个独立的控制体积内做积分运算。简单来说,就是对每一个小控制体做 "收支记账":控制体内物理量的变化量,等于从各个网格界面流入、流出的通量之差。

这种方法最大优势是天然满足守恒定律。从一个网格面流出的质量、动量、热量,会直接成为相邻网格的流入量,即便网格比较粗糙,质量、能量依旧保持守恒,非常适合流体与传热耦合问题,例如汽车行驶时的强制对流散热仿真。

在计算流程上,计算机从边界条件获取初始物理量,依靠插值计算各个网格交界面上的流速、压力、温度通量,把原本连续的偏微分方程,转化为每一个控制体上的代数方程组。再通过迭代求解,不断更新所有控制体积内的物理量。随着迭代持续进行,当所有网格的通量收支趋于稳定,残差下降到设定标准,就达到稳态,得到整个计算域流场与温度场结果。

有限体积法对网格形状的兼容性很强,结构化网格、非结构化网格都能使用,适合汽车这类外形复杂的几何模型。但它也需要合理设置离散格式,用来估算网格界面的物理通量,不同格式会影响计算的稳定性与精度。

4.2 同位网格与错位网格

在同位网格中,所有待求物理量全部存储在同一组网格点上,是一种非常自然的变量存储方式。但是在CFD的早期发展过程中,这种方法却很少被使用,主要原因就是速度和压力解耦带来的棋盘效应。

所谓棋盘效应,就是物理场的分布如同棋盘一样出现大小间隔交错分布的情况。在网格划分中很容易被认为是无压力梯度,即均匀压力场。造成脱离真实物理的情况。

为了解决这一问题,1965 年Harlow和Welch引入了交错网格(staggered grid),将速度存储到了网格面上,其余物理量存储在网格中心,交错网格的优势很多,例如速度网格中心在压力网格面上,在求解压力修正方程时,不需要对速度再进行插值。避免了离散压力梯度存在的"棋盘格"问题。

以上图为例,当我们站在C点上想要知道自己受到多大的压力梯度时,我们会发现W和E上的压力完全一样均为-100,即C点感受到的压力梯度为0。同理,站在其他任何一个网格中心,我们看到的压力差都是0。这就导致当我们站在网格中心去感受这个压力场时,我们会误以为整个压力场都是均匀的,这意味着同位网格缺乏识别棋盘震荡的机制。

而在交错网格中,当我们站在面的中心e上,再看一看两侧C和E的压力差则为-110。面的中心e上感受到的压力差,将会推动流体从C流向E。同样的情况也发生在w上,流体将从C流向 W。两侧同时净流出显然要破坏质量守恒了,换言之当我们使用连续性方程去修正这个压力场时,这种棋盘震荡的情况就会被抹平。

需要说明的是,导致物理场数值震荡的原因是多方面的,可能来源于离散格式、求解误差积累、局部不连续性等等。棋盘震荡并不是由同位网格导致的,而是同位网格无法感知到棋盘震荡的存在从而也无法消除它。

而RC(Rhie-Chow)插值的核心思路,就是在计算面上流速时把交错网格面上中心感受到的压力差重新引入到方程中。在通过连续性方程组建压力方程或者压力修正方程时,这一引入的高阶量起到了过滤压力高频成分的耗散作用,从而避免了棋盘震荡的出现。

4.3 浸入边界法

浸入边界法是一种处理复杂几何边界和运动边界的数值方法,其核心思路是让边界"泡"在固定的背景网格中,通过添加体积力来实现边界与流体的相互作用,从而避免传统方法中繁琐的贴体网格生成。

浸入边界法一般包含两套相互独立的网格,在整个流场使用固定的直角网格,而物体则用一系列拉格朗日来表示。物体放入固定网格的流场后,通过物体对流体的作用进行两套网格之间的信息交换,进而对物体附近的流场进行特别的处理。

​​​​​​​ ​​​​​​​

如上图所示,对于一个二维流动区域,在整个流场均使用直角坐标网格,并且该网格是固定的,不会随着物体的变形或者边界的运动而改变,称之为欧拉网格点。物体边界则是用一系列离散的点来表示,而且这些点会随着物体的变形或者边界的运动而改变,称之为拉格朗日点。

在浸入边界法中,固体边界被放置在流场中,且浸入边界对于流场的作用是通过将固定边界上的回复力离散成体积力来实现的。对于一个二维不可压粘流问题,其控制方程(N-S方程)可以写作:

表示不可压缩流体,体积守恒,流入微元体的流量等于流出流量

其中, 表示欧拉点上的速度矢量, 是压强, 是密度,f是体积力项,体积力f可以通过边界上的回复力F离散而得:

其中x表示欧拉网格点坐标,X(s,t)则表示拉格朗日点坐标, 是delta函数。

边界点(拉格朗日点)上的回复力可以通过下式计算。

其中 是由周围欧拉网格点上的速度插值而来的边界点(拉格朗日点)上的速度, 表示固体边界的速度。通过delta函数,还能把流场的速度插值回拉格朗日点从而得到边界点上的速度。

总的来说,浸入边界法的求解步骤可以总结如下:

  1. 计算边界点(拉格朗日点)上的回复力F
  2. 计算欧拉点的体积力f
  3. 求解N-S方程,更新欧拉点上的速度
  4. 求解边界点(拉格朗日点)上的速度

重复上述1-4,直到收敛条件满足

浸入边界法的关键是边界上产生的回复力的计算。目前计算该力的方法一般包含三种:惩罚力法,直接力法以及动量变化法。

相关推荐
倾心琴心6 个月前
【agent辅助热仿真学习】实践1 hotspot 热仿真代码流程学习
ai·agent·芯片·热仿真·求解
和粒科技8 个月前
Simcenter FLOEFD for Solid Edge:在Solid Edge中快速精准地执行流体流动和传热分析
热仿真·simcenter·floefd·solid edge·传热分析
仿真APP2 年前
Simdroid-EC:液冷仿真新星,助力新能源汽车电机控制器高效散热
电机控制器·新能源汽车·仿真app·igbt·散热设计·热仿真·液冷