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

求助,不同的UDF残差曲线完全一样怎么回事

[复制链接]
发表于 2011-3-10 16:09:12 | 显示全部楼层 |阅读模式

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

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

x
我正在做一个UDF方面的小程序,编译好后开始叠代,残差曲线完全一样,但是是不同的UDS。。郁闷中,求指教。
顺带附上自己的代码。
#include"udf.h"

DEFINE_SOURCE(bx_source,c,t,dS,eqn)
{real source;
real A;
real B;
        A=(C_UDSI(c,t,1)+C_UDMI(c,t,1))*C_U_G(c,t)[0]+(C_UDSI(c,t,2)+C_UDMI(c,t,2))*C_U_G(c,t)[1]+(C_UDSI(c,t,3)+C_UDMI(c,t,3))*C_U_G(c,t)[2];
        B=C_U(c,t)*C_UDSI_G(c,t,4)[0]+C_V(c,t)*C_UDSI_G(c,t,4)[0]+C_W(c,t)*C_UDSI_G(c,t,4)[0];
        source=A-B;
        dS[eqn]=C_U_G(c,t)[0];
return source;
}


DEFINE_SOURCE(by_source,c,t,dS,eqn)
{real source;
real A;
real B;
        A=(C_UDSI(c,t,1)+C_UDMI(c,t,1))*C_V_G(c,t)[0]+(C_UDSI(c,t,2)+C_UDMI(c,t,2))*C_V_G(c,t)[1]+(C_UDSI(c,t,3)+C_UDMI(c,t,3))*C_V_G(c,t)[2];
        B=C_U(c,t)*C_UDSI_G(c,t,5)[0]+C_V(c,t)*C_UDSI_G(c,t,5)[0]+C_W(c,t)*C_UDSI_G(c,t,5)[0];
        source=A-B;
        dS[eqn]=C_V_G(c,t)[1];
return source;
}


DEFINE_SOURCE(bz_source,c,t,dS,eqn)
{real source;
real A;
real B;
        A=(C_UDSI(c,t,1)+C_UDMI(c,t,1))*C_W_G(c,t)[0]+(C_UDSI(c,t,2)+C_UDMI(c,t,2))*C_W_G(c,t)[1]+(C_UDSI(c,t,3)+C_UDMI(c,t,3))*C_W_G(c,t)[2];
        B=C_U(c,t)*C_UDSI_G(c,t,6)[0]+C_V(c,t)*C_UDSI_G(c,t,6)[0]+C_W(c,t)*C_UDSI_G(c,t,6)[0];
        source=A-B;
        dS[eqn]=C_W_G(c,t)[2];
return source;
}



DEFINE_DIFFUSIVITY(diffusivity,c,t,i)
{return 1/(1044000*1.257e-06);
}




DEFINE_ADJUST(CALC,d)

{

  Thread *t;
  cell_t c;
  real kesi=1044000;

        thread_loop_c(t,d)
        {
                begin_c_loop(c,t)
                {
                       
                        C_UDSI(c,t,4)=C_UDMI(c,t,1);
                        C_UDSI(c,t,5)=C_UDMI(c,t,2);
                        C_UDSI(c,t,6)=C_UDMI(c,t,3);
                        C_UDMI(c,t,41)=(-C_UDMI(c,t,9)+C_V(c,t)*(C_UDSI(c,t,3))-C_W(c,t)*(C_UDSI(c,t,2)))*kesi;
                        C_UDMI(c,t,42)=(-C_UDMI(c,t,10)-C_U(c,t)*(C_UDSI(c,t,3))+C_W(c,t)*(C_UDSI(c,t,1)))*kesi;
                        C_UDMI(c,t,43)=(-C_UDMI(c,t,11)+C_U(c,t)*(C_UDSI(c,t,2))-C_V(c,t)*(C_UDSI(c,t,1)))*kesi;
                       
                       
                       
                }
                end_c_loop(c,t)
}
}

DEFINE_SOURCE(Fx_source,c,t,dS,eqn)
{
     real source;
     real kesi=1044000;
               source=(-C_UDMI(c,t,10)-C_U(c,t)*(C_UDSI(c,t,2))+C_W(c,t)*(C_UDSI(c,t,1)))*kesi*C_UDSI(c,t,3)-(-C_UDMI(c,t,11)+C_U(c,t)*(C_UDSI(c,t,1))-C_V(c,t)*(C_UDSI(c,t,0)))*kesi*C_UDSI(c,t,2);
           dS[eqn]=0;
     return source;
}


DEFINE_SOURCE(Fy_source,c,t,dS,eqn)
{
     real source;
    real kesi=1044000;
               source=-(-C_UDMI(c,t,9)+C_V(c,t)*(C_UDSI(c,t,3))-C_W(c,t)*(C_UDSI(c,t,2)))*kesi*C_UDSI(c,t,3)+(-C_UDMI(c,t,11)+C_U(c,t)*(C_UDSI(c,t,2))-C_V(c,t)*(C_UDSI(c,t,1)))*kesi*C_UDSI(c,t,1);
           dS[eqn]=0;
     return source;
}


DEFINE_SOURCE(Fz_source,c,t,dS,eqn)
{
     real source;
     real kesi=1044000;
     
               source=(-C_UDMI(c,t,9)+C_V(c,t)*(C_UDSI(c,t,3))-C_W(c,t)*(C_UDSI(c,t,2)))*kesi*C_UDSI(c,t,2)-(-C_UDMI(c,t,10)-C_U(c,t)*(C_UDSI(c,t,3))+C_W(c,t)*(C_UDSI(c,t,1)))*kesi*C_UDSI(c,t,1);
           dS[eqn]=0;
     return source;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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