24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1458  |  回复: 1

GZxiao

新虫 (初入文坛)

[求助] FLUENT UDF问题求助

用FLUENT解释运行UDF时,出现错误为:

cpp -I"F:\Fluent.Inc\fluent6.3.26/src" -I"F:\Fluent.Inc\fluent6.3.26/cortex/src" -I"F:\Fluent.Inc\fluent6.3.26/client/src" -I"F:\Fluent.Inc\fluent6.3.26/multiport/src" -I. -DUDFCONFIG_H="<udfconfig.h>" "C:\Users\Administrator\Desktop\udf .c"
Error: C:\Users\Administrator\Desktop\udf .c: line 15: structure reference not implemented
使用编译运行出现错误为:
Opening library "libudf"...
Error: open_udf_library: 系统找不到指定的路径。

Error Object: ()
请大神帮忙看看是什么问题,感激不尽


UDF代码如下:

#include "udf.h"
#define Rho 1000  /*海水密度*/
#define g 9.81    /*重力加速度*/
#define s 2.65    /*泥沙相对密度*/
#define m 0.4     /*泥沙孔隙率*/
/*#define Nu 0.001148  海水动力粘性系数*/
#define d 0.0005    /*泥沙中值直径*/
/*#define mu 1.146e-6  海水运动粘性系数*/
#define C 2        /*输沙率计算经验系数*/
#define N 1000
DEFINE_GRID_MOTION(wall_motion,domain,dt,time,dtime)
{

Thread *tf=DT_THREAD(dt);
face_t f;
Node *v;
real A[ND_ND];
real area,wall_shear_force;
real Theta_cr0,Phi,Gamma;
real Theta[N]={0.0},Theta_cr[N]={0.0},X[N]={0.0},Y[N]={0.0},Qo[N]={0.0},Delta_h[N]={0.0},Delta_h_v[N]={0.0},wall_shear_stress[N]={0.0};
real X1,X2,Y1,Y2;
real a,b,c,e,z1,z2,z3,z4,w1,w2,w3,w4,v1,v2,v3,v4,p1,p2,p3;
real NV_VEC(Delta_y);
int i,j,n;


i=0;
j=0;
X2=0;
Y2=0;


NV_D(Delta_y,=,0.0,0.0,0.0);

/*求解水平面泥沙临界起动希尔兹数*/

Theta_cr0=0.047;
     
    /*求解泥沙休止角*/
Phi=(32.5+1.27*d*1000)/180;

    /* set deforming flag on adjacent cell zone */
    SET_DEFORMING_THREAD_FLAG(THREAD_T0(tf));

/*得到网格面上的希尔兹数*/
begin_f_loop(f,tf)
{
   
i++;
j++;
F_AREA(A,f,tf);
        area=NV_MAG(A);
        wall_shear_force=F_STORAGE_R_N3V(f,tf,SV_WALL_SHEAR)[0];
        wall_shear_stress=wall_shear_force/area;
Theta=fabs(wall_shear_stress)/(g*(s-1)*d*Rho);

}
end_f_loop(f,tf)
     
i=0;
begin_f_loop(f,tf)
{

i++;
f_node_loop(f,tf,n)
{

X1=X2;
Y1=Y2;
v=F_NODE(f,tf,n);
X2=NODE_X(v);
Y2=NODE_Y(v);

            if(n!=0)
{

Gamma=atan(fabs(Y2-Y1)/fabs(X2-X1));
a=1-0.85*0.85*tan(Phi)*tan(Phi);
b=-sin(Gamma)+tan(Phi)*tan(Phi)*0.85*cos(Gamma);
c=sin(Gamma)*sin(Gamma)-tan(Phi)*tan(Phi)*cos(Gamma)*cos(Gamma);
e=tan(Phi)*(1-0.85*tan(Phi));
Theta_cr=Theta_cr0*((sqrt(b*b-a*c)-b)/e);   

}

}

}
end_f_loop(f,tf)

/*得到网格平面中心点输沙率*/
i=0;
begin_f_loop(f,tf)
{

i++;        
if(Theta>Theta_cr)
Qo=12*sqrt(g*(s-1)*pow(d,3.0)*Theta)*(Theta-Theta_cr);
else
Qo=0;

}
end_f_loop(f,tf)

i=1;
begin_f_loop(f,tf)
{

i++;
f_node_loop(f,tf,n)
{

v=F_NODE(f,tf,n);
if(n!=0)
{

X=NODE_X(v);
Y=NODE_Y(v);

}

}

}
end_f_loop(f,tf)
     
/*得到网格平面中心点位移*/
i=1;
begin_f_loop(f,tf)
{

i++;
if(i<j-1)
{

p1=(Qo[i+1]-Qo[i-1])/(2*(X[i+1]-X));
    p2=(Y[i+1]-Y[i-1])/(2*(X[i+1]-X));
    p3=(Y[i+1]-2*Y+Y[i-1])/((X[i+1]-X)*(X[i+1]-X));
/*Message("i=%d,p1=%f,P2=%f,p3=%f\n",i,p1,p2,p3);*/
    if(wall_shear_stress>0)
Delta_h=dtime*(-p1+C*p1*p2+C*Qo*p3)/(m-1);
            else
    Delta_h=dtime*(p1+C*p1*p2+C*Qo*p3)/(m-1);

}        

}
end_f_loop(f,tf)

    /*拉格朗日插值得到网格节点位移*/
i=4;
begin_f_loop(f,tf)
{

i++;
f_node_loop(f,tf,n)
{

if(i<j-4)
{

z1=(X[i-2]+X[i-1])/2;
z2=(X[i-1]+X)/2;
z3=(X+X[i+1])/2;
z4=(X[i+1]+X[i+2])/2;
w1=(X-z2)*(X-z3)*(X-z4);
w2=(X-z1)*(X-z3)*(X-z4);
w3=(X-z1)*(X-z2)*(X-z4);
w4=(X-z1)*(X-z2)*(X-z3);
v1=(z1-z2)*(z1-z3)*(z1-z4);
v2=(z2-z1)*(z2-z3)*(z2-z4);
v3=(z3-z1)*(z3-z2)*(z3-z4);
v4=(z4-z1)*(z4-z2)*(z4-z3);
Delta_h_v=w1*Delta_h[i-2]/v1+w2*Delta_h[i-1]/v2+w3*Delta_h/v3+w4*Delta_h[i+1]/v4;

}

}

}
end_f_loop(f,tf)


/*更新网格节点*/
i=4;
begin_f_loop(f,tf)
{

i++;

f_node_loop(f,tf,n)
{

v=F_NODE(f,tf,n);
if(i>4&&NODE_POS_NEED_UPDATE(v)&&i<j-5)
{

NODE_POS_UPDATED(v);
Delta_y[1]=Delta_h_v;
NV_V(NODE_COORD(v),+=,Delta_y);

}

}

}
end_f_loop(f,tf)

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

yanrong219

新虫 (初入文坛)

你好,请问这个程序调通了吗,我也遇到相似的问题了,能否交流一下
2楼2018-05-31 17:05:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 GZxiao 的主题更新
信息提示
请填处理意见