- 积分
- 0
- 注册时间
- 2014-11-24
- 仿真币
-
- 最后登录
- 1970-1-1
|
本人刚接触udf,有下边的udf,加载的时候要打开udm数,还需要在哪个地方定义
DEFINE_ON_DEMAND(result1)
{
Domain *d;
real M=58.2;
real W=0.0;
real Icl=0.093;/*服装热阻 0.6clo*/
real ta;
real tr=29.89;/*平均辐射温度*/
real var;
real var1;
real rh=0.5;/*相对湿度*/
real fcl;
real pa;
real hc;
real tcl=30;/*initialized value unit:摄氏度*/
real wendu1;
real wendu2;
real PMV;
real n=1000;
real i;
real tcl0;
real tcl1;
real tcl2;
real tcl3;
real P1;
real P2;
real P3;
real P4;
real P5;
Thread *t;
cell_t c;
d = Get_Domain(1);
thread_loop_c(t,d)
{
begin_c_loop(c,t)
{
ta = C_T(c,t)-273; /*温度的单位为摄氏度*/
var1=pow(C_U(c,t),2)+pow(C_V(c,t),2)+pow(C_W(c,t),2);
var=sqrt(var1);/*速度的大小*/
/* printf("\n var = %g ,var);*/
if (var<=1.0&&ta<=30.0)/*limitations on velocity and temperature when using PMV formula in ISO7730*/
{
if(Icl<=0.078)
{fcl=1.00+1.290*Icl;}
else
{fcl=1.05+0.645*Icl;}
wendu2=12.1*sqrt(var);
for (i = 1 ; i <= n ; i++)
{
tcl0=tcl;
wendu1=2.38*pow(fabs(tcl-ta),0.25);
if(wendu1>wendu2)
{ hc=2.38*pow(fabs(tcl-ta),0.25);}
else
{ hc=12.1*sqrt(var);}
tcl1=35.7-0.028*(M-W);
tcl2=-3.96E-8*Icl*fcl*(pow(tcl+273,4)-pow(tr+273,4));
tcl3=-Icl*fcl*hc*(tcl-ta);
tcl=tcl1+tcl2+tcl3;
tcl=(tcl+tcl0)/2;
if (fabs(tcl-tcl0)<=0.001) i=n+1;
}
pa=rh*1000*exp(16.6536-4030.183/(ta+235));
P1=0.303*exp(-0.036*M)+0.028;
P2=(M-W)-3.05E-3*(5733-6.99*(M-W)-pa);
P3=-0.42*((M-W)-58.15);
P4=-1.7E-5*M*(5867-pa)-0.0014*M*(34-ta);
P5=-3.96E-8*fcl*(pow(tcl+273,4)-pow(tr+273,4))-fcl*hc*(tcl-ta);
PMV=P1*(P2+P3+P4+P5);
C_UDMI(c,t,0) = PMV;/*将所求的pmv存于起先设置的内存中,以便于在后处理时使用*/
}
else
{ C_UDMI(c,t,0) = PMV;}/*if the velocity is bigger than 1.0, then set 100 as the value of pmv*/
}
end_c_loop(c,t)
}
} |
|