找回密码
 注册
查看: 4113|回复: 1

请各位同学帮忙看看我这个计算PMV的udf, 谢谢!!

[复制链接]
发表于 2007-12-21 10:33:04 | 显示全部楼层 |阅读模式

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

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

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, 肯定会有错误。麻烦各位高手帮我这个菜鸟看一看。多谢了!
下边是程序。
&#35;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++没有装好,是这样么?
发表于 2007-12-27 16:51:52 | 显示全部楼层

请各位同学帮忙看看我这个计算PMV的udf, 谢谢!!

貌似发错地方了,呵呵呵,那位有这方面的经验,帮助一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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