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

请教DEFINE_UDS_FLUX

[复制链接]
发表于 2007-6-28 22:14:01 | 显示全部楼层 |阅读模式

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

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

x
我想第一个和第二个uds的对流通量为:密度×速度,而其他uds的对流通量为0。
下面这个(帮助文件里的)的udf哪里出错了?怎么用不了?
知道的指点我一下,谢谢了。
DEFINE_UDS_FLUX(UDS_flux,f,t,i)
{
Thread *t0,*t1=NULL;
cell_t c0,c1=-1;
real NV_VEC(psi_vec),NV_VEC(A);
t0=F_C0_THREAD(f,t);
c0=F_C0(f,t);
if(NULL!=F_C1_THREAD(f,t))
{
t1=F_C1_THREAD(f,t);
c1=F_C1(f,t);
}
else
{
t1=NULL;
c1=-1;
}
if(NULL==t1)
{
NV_D(psi_vec, =,F_U(f,t),F_V(f,t),F_W(f,t));
NV_S(psi_vec, *=,F_R(f,t));
}
else
{
NV_D(psi_vec, =,C_U(c0,t0),C_V(c0,t0),C_W(c0,t0));
NV_D(psi_vec,+=,C_U(c1,t1),C_V(c1,t1),C_W(c1,t1));
NV_S(psi_vec,/=,2.);
NV_S(psi_vec,*=,(C_R(c0,t0)+C_R(c1,t1))/2.);
}
F_AREA(A,f,t);
if(i==0)
     return NV_DOT(psi_vec,A);
else if(i==1)
return NV_DOT(psi_vec,A);
else
return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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