找回密码
 注册
查看: 3504|回复: 2

UDF添加uds计算电流密度

[复制链接]
发表于 2017-12-5 15:19:42 | 显示全部楼层 |阅读模式

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

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

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;
}
发表于 2019-6-30 20:56:46 | 显示全部楼层
您好!我看到您发的udf添加uds计算电流密度的帖子,想请问您做的是电除尘器的两相流吗?您这种做法和运用dpm添加电场力两者之间有什么区别吗?或者是哪个是对的还是两个都可以?求解答,十分感谢!
发表于 2019-7-2 17:26:35 | 显示全部楼层
UDS涉及到对流项,扩散项,源项,边界条件,如果非稳态还有时间项,可没这么简单,可以先看看我的教程。百度搜索《一个简单而完整的UDS例子》,调试建议用VC++ Udf Studio,同样百度搜,主页上有QQ群,有问题有专家回答。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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