找回密码
 注册
查看: 2971|回复: 0

并行UDF问题

[复制链接]
发表于 2007-12-5 11:48:40 | 显示全部楼层 |阅读模式

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

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

x
FLUENT的例子中,为什么各种量是在 " !RP_NODE" 计算的呢?不是所有的变量都是存放在NODE中的么?谢谢!
*********
DEFINE_CG_MOTION(valve, dt, cg_vel, cg_omega, time, dtime)
{
#if !RP_NODE
  Thread *t = DT_THREAD (dt);
  face_t f;
  real force, loc;
#endif
  real velo;
  /* reset velocities */
  NV_S (cg_vel, =, 0.0);
  NV_S (cg_omega, =, 0.0);
  if (!Data_Valid_P ())
    return;
#if !RP_NODE
  /* compute force on piston wall */
  force = 0.0;
  begin_f_loop (f, t)
    {
      real *AA;
      AA = F_AREA_CACHE (f, t);
      force += F_P (f, t) * AA[0];
    }
  end_f_loop (f, t)
# if RP_2D
  if (rp_axi)
    force *= 2.0 * M_PI;
# endif
  read_loc_velo_file (&loc, &velo);
  /* add in spring force */
# define K_SPRING 150000
  {
    real init_disp = 0.4 * 0.0254;
    real s_force = K_SPRING * (loc + init_disp);
    force = force - s_force;
  }
  /* compute change in velocity */
  {
    real dv = dtime * force / 0.01;
    velo += dv;
    loc += velo * dtime;
  }
  Message ("\nUDF valve: time = %f, x_vel = %f, force = %f, loc(m)= %f\n",
           time, velo, force, loc);
  write_loc_velo_file (loc, velo);
#endif /* !RP_NODE */
#if PARALLEL
  host_to_node_real_1 (velo);
#endif
  cg_vel[0] = velo;
}
******* 文字
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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