找回密码
 注册
查看: 1863|回复: 2

求助关于UDF解释出错的问题!

[复制链接]
发表于 2010-4-27 09:11:02 | 显示全部楼层 |阅读模式

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

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

x
#include "udf.h"
#include "mem.h"
#define C 20
DEFINE_PROFILE(pressure_out,t,i)
{
face_t f;
Thread *t;
real m_c;
real m_t=4.08;
real P_N,P_N1;
begin_f_loop(f,t)
   {
     P_N=F_P_M1(f,t);
     P_N1=F_P(f,t);
  m_c=F_FLUX(f,t);
     P_N1=P_N+C*(m_c-m_t);
   }
end_f_loop(f,t)
}
这是我编的一段小程序,解释的时候总是出现一个问题,说我F_P_M1参数没有定义,显示如下:Error: E:\\321\247\317\260\327\312\301\317A\FLUENT\312\375\276\335\1.c: line 13: F_P_M1: undeclared variable,不知道这是为什么?难道是表示前一时刻面压力不是这样表示的吗?请问各位大侠表示前一时刻面压力应该表示?谢谢啦!
发表于 2010-4-27 20:16:52 | 显示全部楼层
如果定义边界条件的话里面应该有下面格式的语句吧
F_PROFILE(f,t,i)=??
发表于 2010-8-18 12:29:47 | 显示全部楼层
F_P_M1,,我也是这个问题,,不知楼主解决了没有,我的直接无法初始化,,
#include "udf.h"

#define H 0.625
#define W 0.221
#define fic0 0.034
#define R 0.326
#define le 0.63
#define li 0.63
#define Ud 102
#define mu 0.00002
#define a 3.2
#define m 1.75
#define Vp 2.5
#define as 340
#define Lc 1.11
#define Den 1
#define Ac 0.25
#define I 0.03
#define c1 0.02
#define c2 0.017

DEFINE_PROFILE(unsteady_pressure, thread, position)
{
  face_t f;
  real p,k,ki;
  real q,dq,dj,b,lc,mB,ent,La1,u1,u2,Z,X;

  begin_f_loop(f, thread)
  {
    real t = RP_Get_Real("flow-time");
    p = F_P(f,thread);
    k = F_U(f,thread);
        ki = F_U_M1(f,thread);
   
    q = 0.125*k;
    b = 2*as*(sqrt(Ac*Lc/Vp));
    lc = li+le+1/a;
    mB = (1-m)*b-1;
    ent = -q*q;
    La1 = (Den*R*R*R*Ac*b)/(I*Ud);
    dq = (k-ki)/0.00005;
        Z = lc*dq/H+(p-fic0)/H-1+0.5*(q/W-1)*(q/W-1)*(q/W-1)+(le*Ud*La1*ent*q)/(b*H);
        dj = (1-(q/W-1)*(q/W-1)-1/2+Z/(2*q/W-2)-(mu*W)/(3*a*H)-(2*Ud*La1*(m-1)*W*ent)/(3*b*H))*((3*a*H)/((1-mB*a)*W));
    u1 = lc*dq+p+c1*(q-2*W);
        u2 = H*(Z*dq/(q-W)-1.5*(q/W-1-Z)*dj-1.5*(q/W-1)*(q/W-1)*dq/W+(3*le*Ud*La1*q*q*dq)/(b*H))+c1*dq;   
        X = -c2*(p-u1)+(q-2*W)/lc+u2;
        F_PROFILE(f, thread, position) = 0.00005*X+p;
  }
  end_f_loop(f, thread)

}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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