24小时热门版块排行榜    

查看: 845  |  回复: 1

genesiskknd

新虫 (初入文坛)

[交流] 小弟编写了一个UDF,但是无法hookup,请各位高手看看是哪里出错了

大家好,
      小弟最近在做一个烟囱的瞬态模拟,边界条件是压力进口和压力出口。其中压力进口是一个随烟囱内部平均温度变化的变量。想通过先自定义一个UDF,将边界条件中的压力与烟囱内部平均温度关联,然后在Profile Update Interval中将边界条件的更新设置为每一个时间步长更新一次。下面是我编写的UDF原程序:
#include "udf.h"
/*定义随平均温度变化的压力进口*/
 DEFINE_PROFILE(pressure_inlet,thread,i)
 {
/*求平均温度,所有代码取自UDF manual*/
   Domain *d;
   real tavg = 0.;
   real tmax = 0.;
   real tmin = 0.;
   real temp,volume,vol_tot;
   Thread *t;
   cell_t c;
   d = Get_Domain(1);
   thread_loop_c(t,d)
      {
      begin_c_loop(c,t)
        {
           volume = C_VOLUME(c,t);
           temp = C_T(c,t);   
           if (temp < tmin || tmin == 0.) tmin = temp;
           if (temp > tmax || tmax == 0.) tmax = temp;
           vol_tot += volume;
           tavg += temp*volume;
        }
    end_c_loop(c,t)
    tavg /= vol_tot;
    printf("\n Tmin = %g  Tmax = %g  Tavg = %g\n",tmin,tmax,tavg);
    }
/*定义边界条件,部分代码取自UDF manual*/
        face_t f;
    begin_f_loop(f,thread)
      {
       F_PROFILE(f,thread,i) = 0.0345*75*((1/303)-(1/(273+tavg)));
      }
    end_f_loop(f,t)
 } 
在上述文件完成后,改名为pressure.c,然后在fluent中通过Inteperated方式导入(点选了Display Assembly List)。但是当我点击Interpret之后,控制台并未按manual中显示编译后的代码,而是显示:cpp -I"C:\PROGRA~1\ANSYSI~1\v130\fluent\fluent13.0.0/src" -I"C:\PROGRA~1\ANSYSI~1\v130\fluent\fluent13.0.0/cortex/src" -I"C:\PROGRA~1\ANSYSI~1\v130\fluent\fluent13.0.0/client/src" -I"C:\PROGRA~1\ANSYSI~1\v130\fluent\fluent13.0.0/multiport/src" -I. -DUDF
ONFIG_H="<udfconfig.h>" "C:\Stack\UDF\pressure.c"
Interrupting...
Done.
由于当中没有提示错误,因此直接到边界条件找到压力进口想将此UDF加载到边界条件当中。但是在压力的输入下拉列表里面还是没有定义的UDF。
小弟的问题是,倒地这当中哪里发生了错误,导致不能加载UDF。
问题比较冗长,再次感谢各位帮助小弟解决此问题。谢谢/bow
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

genesiskknd

新虫 (初入文坛)

貌似找到原因了,我从UDF manual里面复制了一些代码,这些代码是用UTF8的格式来编译的,但是好像fluent的udf只认ANSI的格式编译。
2楼2013-09-30 13:40:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 genesiskknd 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见