找回密码
 注册
查看: 4883|回复: 4

请各位高手帮忙看看这个计算PMV的UDF,谢谢!

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

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

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

x
我现在需要用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所在的文件夹了。
麻烦各位高手帮我这个菜鸟看一看。多谢了!
下边是程序。
&#35;include "udf.h"
DEFINE_ADJUST(PD,domain)
{
  Thread *t;
  cell_t c;
thread_loop_c(c,domain)
begin_c_loop(c,t)
{
  float t_myudf=C_T(c,t)-273.15;
  float speed_u_myudf=C_U(c,t);
  float speed_v_myudf=C_V(c,t);
  float speed_w_myudf=C_W(c,t);
  float turbu_k=C_K(c,t);
  float mh2o_myudf=C_YI(c,t,1);      /*mass friction of h2o 1????*/
  float clo=0.55;
  float icl=0.155*clo;               /*clothing insulation*/
  float tr_myudf=t_myudf;                 
  float M_myudf=58.0;               /*metabolism, w/m2*/
  float W_myudf=0.0;
  float p_myudf=101325;

/*calculate PD*/                   /*external work, w/m2*/

  float 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(c,t)=(34-t_myudf)(speed_myudf-0.05)**0.62*(3.14+0.37*speed_myudf*turbu_tu);
  if (PD(c,t)>1) PD(c,t)=1;                         /*for PD>1, use PD=1*/
/*Calculate PMV*/

  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(c,t)=(0.303exp(-0.036M_myudf)+0.028)L_myudf;
  
/*Calculate PPD*/
  PPD(c,t)=100.0-95.0exp(-0.03353*POW(PMV(c,t),4.0)-0.2179*POW(PMV(c,t),2.0));
}
end_c_loop(c,t)
}
return

还有一个问题:就是在fluent的命令行窗口输入nmake,回车后显示invalid command [nmake], 就一定是c++没有装好,是这样么?
发表于 2007-12-23 00:08:50 | 显示全部楼层

请各位高手帮忙看看这个计算PMV的UDF,谢谢!

你安装vc 安装的时候把set environment点选
然后就可以用了
nmake路径在udf帮助上都有
应该没甚么问题
domain *domain
[br][br][以下内容由 vvvms 在 2007年12月23日 00:15am 时添加] [br]
thread_loop_c(c,domain)这个是不是应该thread_loop_c(t,domain)
 楼主| 发表于 2007-12-27 11:58:47 | 显示全部楼层

请各位高手帮忙看看这个计算PMV的UDF,谢谢!

多谢vvvms。
确实应该是thread_loop_c(t,domain)。
但是把这个改了,再在第一个domain前边加上*, 还是不可以interpret! 郁闷!!
我在安装c++的时候,有把set environment点选,但是cl.exe执行的时候,就是不显示成功信息!又发现没有mspdb70.dll, 就从网上下载了一个放到bin文件夹里边,但是还是不行。万分郁闷,不知道还有没有其他人遇到过这个问题。
我用的版本是6.1.22, 不知道是不是版本的问题。
发表于 2008-1-5 20:44:34 | 显示全部楼层

请各位高手帮忙看看这个计算PMV的UDF,谢谢!

正常安装都没什么问题 安装vc++[br][br][以下内容由 vvvms 在 2008年01月05日 08:45pm 时添加] [br]
忘记了 用的是comply形式的
 楼主| 发表于 2008-1-17 14:36:30 | 显示全部楼层

请各位高手帮忙看看这个计算PMV的UDF,谢谢!

多谢vvvms
重新作了系统 在安装一次vc++就好了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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