找回密码
 注册
查看: 2755|回复: 1

一点疑惑关于Blazek的程序

[复制链接]
发表于 2016-3-14 17:10:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
  1. void BndConds::ZeroResiduals( const Geometry &geometry, Equations equsType, CONSVARS rhs[] )
  2. {
  3.   int i, ib, ibn, ibegn, iendn;

  4.   ibegn = 0;

  5.   for (ib=0; ib<geometry.nSegs; ib++)
  6.   {
  7.     iendn = geometry.ibound[ib].bnodeIndex;

  8.     // symmetry boundary

  9.     if (geometry.btype[ib]>=500 && geometry.btype[ib]<600)
  10.     {
  11.       if (geometry.btype[ib]-500 < 2) // x=const. line -> x-component
  12.       {
  13.         for (ibn=ibegn; ibn<=iendn; ibn++)
  14.         {
  15.           i = geometry.bnode[ibn].node;
  16.           rhs[i].xmom = 0.0;
  17.         }
  18.       }
  19.       else                            // y=const. line -> y-component
  20.       {
  21.         for (ibn=ibegn; ibn<=iendn; ibn++)
  22.         {
  23.           i = geometry.bnode[ibn].node;
  24.           rhs[i].ymom = 0.0;
  25.         }
  26.       }

  27.     // viscous (no-slip) wall
  28.     }
  29.     else if ((geometry.btype[ib]>=300 && geometry.btype[ib]<400) &&
  30.              equsType==Equations::NavierStokes)
  31.     {
  32.       for (ibn=ibegn; ibn<=iendn; ibn++)
  33.       {
  34.         i = geometry.bnode[ibn].node;
  35.         rhs[i].xmom = 0.0;       // velocity components = 0
  36.         rhs[i].ymom = 0.0;
  37.       }
  38.     }
  39.     ibegn = iendn + 1;
  40.   } // boundary
  41. }
复制代码


为什么要对粘性壁面的残差进行归零? 粘性壁面也是有动量通量和粘性通量的,但是Blazek附带的C++程序,将其通量残差归零,不明白怎么回事,希望高手指点
 楼主| 发表于 2016-3-15 17:59:27 | 显示全部楼层
已经搞明白,因为要保证粘性壁面的速度为零,那么必须让壁面上的控制体的动量通量残差(包括对流通量和粘性通量)为0,否则,因为通量的存在,会使得粘性壁面上的速度不为0.不满足无滑移壁面条件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表