|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
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;
}
******* 文字 |
|