|
发表于 2011-1-20 12:53:27
|
显示全部楼层
经过修改,你这个udf可以运行了,不过,本人对里面的很多机制不清楚,虽然修改到可以运行,但是可以肯定 的说是不能得到正确结果的,
请楼主说明下各个宏的用途,用以判断正误
/**************************************************************/
/********** UDF for UDS DIFFUSIVITY****************************/
/**************************************************************/
#include "udf.h"
#include "math.h"
#define Pa 1101300 /* atmosphere pressure */
#define Rg 461
#define h_latent 2542 /* latent heat of water */
#define tf 296
DEFINE_DIFFUSIVITY(diffu, c, t, i)
{
real F;
F = 0.000024/Pa * pow(C_T(c,t)/273.15, 18);
return F;
}
/**************************************************************/
/*UDF for specifying an mass source term in the ***************/
/* equation of continuous phase ***************/
/**************************************************************/
DEFINE_SOURCE(mass_source, c, t, dS, eqn)
{
real U;
real hm, area, h;
real A[ND_ND];
U = sqrt(C_U(c,t) * C_U(c,t) + C_V(c,t) * C_V(c,t) + C_W(c,t) * C_W(c,t));
h= 30.86155 * pow(U, 0.56517);
hm = h/(1.0889 * (1005 + 1840 * C_UDSI(c,t,0)));
F_AREA(A,c,t);
area = NV_MAG(A);
C_UDMI(c,t,0) = hm / Rg * area / C_VOLUME(c,t)
* (9.96072 - (101300 * C_UDSI(c,t,0) / 0.622 + C_UDSI(c,t,0)) / C_T(c,t));
C_UDMI(c,t,1) = h;
dS[eqn] = 0;
return C_UDMI(c,t,0);
}
/**************************************************************/
/**********source term of x-momentum equations*****************/
/**************************************************************/
DEFINE_SOURCE(xmom_source,c,t,dS,eqn)
{
real Su;
Su = C_UDMI(c,t,0) * C_U(c,t);
dS[eqn]=0;
return Su;
}
/**************************************************************/
/**********source term of y-momentum equations*****************/
/**************************************************************/
DEFINE_SOURCE(ymom_source,c,t,dS,eqn)
{
real Sv;
Sv = C_UDMI(c,t,0) * C_V(c,t);
dS[eqn] = 0;
return Sv;
}
/**************************************************************/
/**********source term of z-momentum equations*****************/
/**************************************************************/
DEFINE_SOURCE(zmom_source,c,t,dS,eqn)
{
real Sw;
Sw = C_UDMI(c,t,0) * C_W(c,t);
dS[eqn] = 0;
return Sw;
}
/**************************************************************/
/**********source term of energy equations*********************/
/**************************************************************/
DEFINE_SOURCE(heat_source,c,t,dS,eqn)
{
real Sn;
Sn = C_UDMI(c,t,0) * h_latent / (1005 + 1840 * C_UDSI(c,t,0));
dS[eqn] = 0;
return Sn;
}
/**************************************************************/
/********** UDF for boundary conditon**************************/
/**************************************************************/
DEFINE_PROFILE(wallheatgenerate, t, i)
{
real source;
face_t f;
cell_t c;
real NV_VEC(A), area;
begin_f_loop(c,t)
{
F_AREA(A,c,t);
area = NV_MAG(A);
source = h_latent * C_UDMI(c,t,0) * C_VOLUME(c,t) / area + C_UDMI(c,t,1) * (tf - C_T(c,t));
F_PROFILE(c,t,i) = -source;
}
end_f_loop(c,t)
} |
|