| ²é¿´: 1542 | »Ø¸´: 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) } |
» ²ÂÄãϲ»¶
²ÄÁϵ÷¼Á
ÒѾÓÐ7È˻ظ´
»¯Ñ§¹¤³Ì085602 305·ÖÇóµ÷¼Á
ÒѾÓÐ10È˻ظ´
289Çóµ÷¼Á
ÒѾÓÐ15È˻ظ´
291 Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
274Çóµ÷¼Á
ÒѾÓÐ14È˻ظ´
±±¾©ÁÖÒµ´óѧ˶µ¼ÕÐÉú¹ã¸æ
ÒѾÓÐ3È˻ظ´
309Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
292Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
Ò»Ö¾Ô¸ Î÷±±´óѧ ×Ü·Ö282 Ó¢ÓïÒ»62 Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
yanrong219
гæ (³õÈëÎÄ̳)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- Ìû×Ó: 1
- ÔÚÏß: 3.5Сʱ
- ³æºÅ: 3134575
- ×¢²á: 2014-04-14
- רҵ: ºÓÁ÷º£°¶¶¯Á¦Ñ§ÓëÄàɳÑо¿
2Â¥2018-05-31 17:05:22














»Ø¸´´ËÂ¥