|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
请各位同学帮忙看看我这个计算PMV的udf, 谢谢!!
我现在需要用fluent计算PMV,PPD,PD, 刚开始学习UDF,编了下边的程序。
但是电脑上的c++总是有问题。于是就想用interpreted udf. 但是在compile的时候提示
C:\Fluent.Inc
tbin
tx86\cpp.exe -IC:\Fluent.Inc\fluent6.1.22/src -IC:\Fluent.Inc\fluent6.1.22/cortex/src -IC:\Fluent.Inc\fluent6.1.22/client/src -IC:\Fluent.Inc\fluent6.1.22/multiport/src -I. -DUDFCONFIG_H="<udfconfig.h>" C:\Documents and Settings\chunying.CITYUMD\Desktop
1\PPD.c.txt
Error: C:\Documents and Settings\chunying.CITYUMD\Desktop\1\PPD.c.txt: line 1: parse error.
我实在找不到第一行有什么问题了。udf.h文件也已经放到了case所在的文件夹了。
刚开始用fluent, 肯定会有错误。麻烦各位高手帮我这个菜鸟看一看。多谢了!
下边是程序。
#include "udf.h"
DEFINE_ADJUST(pd_myudf,domain)
{
Thread *t;
cell_t c;
thread_loop_c(c,domain)
begin_c_loop(c,t)
{
real t_myudf=C_T(c,t)-273.15;
real speed_u_myudf=C_U(c,t);
real speed_v_myudf=C_V(c,t);
real speed_w_myudf=C_W(c,t);
real turbu_k=C_K(c,t);
real mh2o_myudf=C_YI(c,t,1); /*mass friction of h2o 1????*/
real clo=0.55;
real icl=0.155*clo; /*clothing insulation*/
real tr_myudf=t_myudf;
real M_myudf=58.0; /*metabolism, w/m2*/
real W_myudf=0.0;
real p_myudf=101325;
/*calculate pd_myudf*/ /*external work, w/m2*/
real speed_myudf=sqrt(speed_u_myudf**2.0+speed_v_myudf**2.0+speed_w_myudf**2.0); /*magnitude of speed*/
if (speed_myudf<0.05) speed_myudf=0.05; /*for speed<0.05,use speed=0.05*/
turbu_tu=100.0*(2.0*turbu_k)**0.5/speed;
pd_myudf(c,t)=(34-t_myudf)(speed_myudf-0.05)**0.62*(3.14+0.37*speed_myudf*turbu_tu);
if (pd_myudf(c,t)>1) pd_myudf(c,t)=1; /*for pd_myudf>1, use pd_myudf=1*/
/*Calculate pmv_myudf*/
pa_myudf=29*mh2o_myudf/(18+11mh2o_myudf)*p_myudf;
{
if (icl_myudf<0.078)
fcl_myudf=1.00+1.290*icl_myudf;
else
fcl_myudf=1.05+0.645*icl_myudf;
} /*Calculate fcl*/
tcl1_myudf=40;
tcl2_myudf=35.7-0.025*(M_myudf-W_myudf)-icl_myudf*(0.0000000396*fcl_myudf*((tcl1_myudf+273)**4-(tr_myudf+273)**4)+fcl_myudf*hc_myudf*(tcl1_myudf-t_myudf);
while (tcl1_myudf-tcl2_myudf>0.000001)
{
tcl1_myudf=tcl2_myudf;
temperary1_myudf=2.38*pow((tcl1_myudf-t_myudf),0.25)
temperary2_myudf=12.1*pow(speed_myudf,0.5)
{
if (temperary1_myudf<temperary2_myudf)
hc_myudf=temperary2_myudf;
else
hc_myudf=temperary1_myudf;
} /*Calculate hc*/
tcl2_myudf=35.7-0.025*(M_myudf-W_myudf)-icl_myudf*(0.0000000396*fcl_myudf*((tcl1_myudf+273)**4-(tr_myudf+273)**4)+fcl_myudf*hc_myudf*(tcl1_myudf-t_myudf);
}
tcl_myudf=tcl2_myudf; /*iterate to calculate tcl*/
a_myudf=0.0000000396*fcl_myudf(pow((tcl_myudf+273),4.0)-pow((tr_myudf+273),4.0);
b_myudf=fcl_myudf*hc_myudf(tcl_myudf-t_myudf);
c_myudf=0.00305*(5733-6.99*(M_myudf-W_myudf)-pa_myudf;
d_myudf=0.42*(M_myudf-W_myudf-58.15);
e_myudf=0.000017*M_myudf*(5867-pa_myudf);
f_myudf=0.0014*M_myudf*(34-t_myudf); /*for a shorter formula of L_myudf*/
L_myudf=M_myudf-W_myudf-(a_myudf+b_myudf+c_myudf+d_myudf+e_myudf+f_myudf);
pmv_myudf(c,t)=(0.303exp(-0.036M_myudf)+0.028)L_myudf;
/*Calculate ppd_myudf*/
ppd_myudf(c,t)=100.0-95.0exp(-0.03353*POW(pmv_myudf(c,t),4.0)-0.2179*POW(pmv_myudf(c,t),2.0));
}
end_c_loop(c,t)
}
return
还有一个问题:就是在fluent的命令行窗口输入nmake,回车后显示invalid command [nmake], 就一定是c++没有装好,是这样么? |
|