CFD:交错网格simple算法

Part1交错网格

交错网格现在基本主流CFD软件都不用了,但是理解它能更好的理解Rhie-chow插值。

网格一般分为:

  • 同位网格:

    所有的数据都存在网格的质心处(速度、压力等)。

    CFD:交错网格simple算法的图1
    image-20230615232453912
  • 交错网格

    为了解决棋盘震荡下,存在压力梯度但不能驱动速度的问题提出交错网格的处理方法。

    在原网格的基础上向右平移半个网格(一维):

    此时速度变量存储在平移后的网格,而其它变量都存储在原始网格的质心。计算时有两套网格,移动后的网格质心为原始网格的边界面中心

    CFD:交错网格simple算法的图2
    image-20230615233439527

    二维下的交错网格,根据动量方程中速度U,V的分量方向将其偏移半个网格分别得出计算速度u的网格和计算速度v的网格(在simple算法中U,V单独列方程计算的所以需要分开建立网格):

      															<img src="https://raw.githubusercontent.com/UltramanNOAS/cfdnote/main/202306160215963.png" alt="image-20230615234024953" style="zoom:50%;" /> 
    CFD:交错网格simple算法的图3
    image-20230615234120157

    速度U网格:

    CFD:交错网格simple算法的图4
    image-20230616001417617

    速度V网格:

    CFD:交错网格simple算法的图5
    image-20230616001425945

    注:

    交错网格的缺点

    • 二维有三套网格:1、原始网格 2、计算速度U的网格 3、计算速度V的网格。

    • 交错网格的特点,速度变量存在原始网格边界面上,其他变量存在原始网格的质心上。

    • 对于计算速度U时,所列的U的动量方程在U网格上(移动后网格的质心在原网格的U方向的网格边界面上)

    • 对于计算速度V时,所列的V的动量方程在V网格上(移动后网格的质心在原网格的V方向的网格边界面上)

    • 对于压力p则存储在原始的网格质心

    • 三维问题和上述同方法处理

CFD:交错网格simple算法的图6
image-20230616004049359
CFD:交错网格simple算法的图7
image-20230616003842703
CFD:交错网格simple算法的图8
image-20230616004138512
CFD:交错网格simple算法的图9
image-20230616004312614

注:

  • 当网格存在歪斜时,对原始网格的平移后会与原始计算区域存在误差。
  • 极坐标下的网格也可以使用交错网格
  • 通常境况下的非结构网格是不能使用交错网格的

Part2交错网格下压力梯度的表示

由于交错网格下的动量方程是在偏移后的网格上进行离散,故在网格边界面上的压力值则可以直接取得无需进行插值(压力存在原始网格质心即偏移网格后的网格边界面):

CFD:交错网格simple算法的图10
CFD:交错网格simple算法的图11
image-20230616002621785

注:

  • 上图虚线为偏移后的网格,实线为原始网格。
  • 这样的处理方法,使得压力的计算会受原始网格质点梯度差的影响(棋盘震荡下仅受到邻近网格影响) 。
  • 这样处理可以解决棋盘震荡的影响

1交错网格下的simple算法

由于在NS方程中的P并不能直接求出,所以需要结合连续性方程对压力进行求解。

2simple算法的基本思想:

  • 给一个初始的压力场 ,先根据动量方程计算处速度 , (在偏移后的网格上列动量方程,压力梯度使用上述方式表示)

  • 此时 , 并不是精确解,因此需要进行修正:

    • 都可以由动量方程推出(与压力的修正 有关)

  • 求出后的速度场不一定满足连续性方程,故在原始网格上列出连续性方程(此时原始网格的边界上的速度已经计算出无需进行插值处理),由于 , 已知而 的函数(这里忽略了邻近网格的贡献量以为速度主要有压差产生),因此通过连续性方程可以求解出

  • 计算出后 也可计算出来了,对计算变量进行修正:

  • 返回到第一步进行循环

3simple算法

原始网格:

CFD:交错网格simple算法的图12
image-20230615233237325

平移后的网格:

CFD:交错网格simple算法的图13
image-20230615233206542

连续性方程离散(密度为常量)这个方程是在原始网格上列出来的:

CFD:交错网格simple算法的图14
image-20230616011308611
CFD:交错网格simple算法的图15
image-20230616011514529

动量方程离散(稳态)这个方程是在偏移后的网格上列出来的(质心为原始网格的边界面):

CFD:交错网格simple算法的图16
image-20230616011453027
CFD:交错网格simple算法的图17
image-20230616011519654

simple数学计算

  • 给定一个初始的压力场

  • 列出动量方程离散形式,求出速度

    CFD:交错网格simple算法的图18
    image-20230616011519654
  • 求出满足动量方程的速度场 ,但它不精确需要修正添加修正项 ,压力也同理:

  • 修正值的计算:
    • e面上的动量修正方程:
    • e面上的动量修正方程:
    • CFD:交错网格simple算法的图19
      image-20230616013845794
    • CFD:交错网格simple算法的图20
      image-20230616014006521
    • CFD:交错网格simple算法的图21
      image-20230616013743323
    • CFD:交错网格simple算法的图22
      image-20230616013506278
    • 将其简写为:
    • CFD:交错网格simple算法的图23
      image-20230616013606291
    • CFD:交错网格simple算法的图24
      image-20230616013618798
    • 精确解的下动量方程:
    • 计算下的动量方程可以写为:
    • 修正项(用精确解的下动量方程减去计算下的动量方程):
  • 将其带入连续性方程(在原始网格上列出):

    CFD:交错网格simple算法的图25
    image-20230616014255422
CFD:交错网格simple算法的图26
image-20230616014352708

将压力梯度修正项用上述压力梯度相同方式处理:

CFD:交错网格simple算法的图27
image-20230616014559928

写出压力修正项的离散方程,求出

CFD:交错网格simple算法的图28
image-20230616014847217

CFD:交错网格simple算法的图29

注:下划线部分在计算收敛时为0,对整体解没有影响,因此可以忽略故这部分等于0(另一个解释就是 为邻近网格对速度的贡献,它可以忽略,因为压力梯度才是驱动速度的根本原因)

是由于 速度场不完善造成的,当 为精确解时 ,因此它可以作为收敛的的判定条件

  • 将求出的 带回动量方程修正方程求出速度修正项 ,然后对速度和压力进行修正:

    • 用修正后的速度U,再求源项或其他速度耦合物理量 (它会影响流动如粘性阻力和惯性阻力),若不该物理量不影响流动则可以用最终收敛后的速度后再进行计算。

  • 以修正后P为初始压力场,将修正后的的U与耦合项 及相关源项带入第一步的动量方程进行循环

文章来源:CFD小白入门分享

默认 最新
当前暂无评论,小编等你评论哦!
点赞 1 评论 收藏 2
关注