|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
泊松方程和电流密度方程联立求解电势分布与电流密度分布,本人写的udf单独计算电势时候可以的到电势分布,但电势和电流密度联立计算就会发散,怀疑是电流密度中对流项编写的有问题,现把程序粘贴如下,大神们帮帮忙吧,卡了好久了。。。
DEFINE_UDS_FLUX(p_uds_flux, f, t, i)
{
cell_t c0, c1 = -1;
Thread *t0, *t1 = NULL;
real NV_VEC(psi_vec), NV_VEC(A), flux = 0.0,tt,yy,uu;
c0 = F_C0(f, t);
t0 = F_C0_THREAD(f, t);
tt=-C_UDSI_G(c0, t0, 0)[0];
yy=-C_UDSI_G(c0, t0, 0)[1];
uu=-C_UDSI_G(c0, t0, 0)[2];
F_AREA(A, f, t);
if (BOUNDARY_FACE_THREAD_P(t))
real dens;
if (NNULLP(THREAD_STORAGE(t, SV_DENSITY)))
dens = F_R(f, t);
dens = C_R(c0, t0);
NV_DS(psi_vec, = , F_U(f, t)+kion*tt, F_V(f, t)+kion*yy, F_W(f, t)+kion*uu, *, dens);
flux = NV_DOT(psi_vec, A);
}
else
{
c1 = F_C1(f, t);
t1 = F_C1_THREAD(f, t);
NV_DS(psi_vec, = , C_U(c0, t0)+kion*tt, C_V(c0, t0)+kion*yy, C_W(c0, t0)+kion*uu, *, C_R(c0, t0));
NV_DS(psi_vec, += , C_U(c1, t1)+kion*tt, C_V(c1, t1)+kion*yy, C_W(c1, t1)+kion*uu, *, C_R(c1, t1));
flux = NV_DOT(psi_vec, A) / 2.0;
return flux;
}
|
|