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