CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (https://www.cfd-online.com/Forums/fluent-udf/)
-   -   Problem in "grid motion" (https://www.cfd-online.com/Forums/fluent-udf/101756-problem-grid-motion.html)

yuanyeyzygo May 13, 2012 13:44

Problem in "grid motion"
 
I want to simulate about a kind of airfoil in the fluent. the motion of this airfoil is flexible. So i am told that the "rigid body" cannot be used. So i use the user defined and use the function of "define grid motion".But i can hardly see the wall moved when i click the display zone motion.
so...
please help me.
here is my udf file.and that is my only udf files, did i need to use another function to identify the "THREAD"????

help me~~~


#include "udf.h"
#include "dynamesh_tools.h"


DEFINE_GRID_MOTION(udf, domain, dt, time, dtime)
{
face_t f;
Thread *tf; /* pointer to a thread*/
real NV_VEC (omega), NV_VEC (axis), NV_VEC (dx);
real NV_VEC (origin), NV_VEC (rvec);
int n;
Node *v;
real sign,x,y,z,p;
tf=DT_THREAD(dt);

/* set deforming flags */
SET_DEFORMING_THREAD_FLAG (THREAD_T0(tf));


sign = sin (time);

Message ("time = %f, omega = %f\n", time, sign);

NV_S (omega, =, 0.0);
NV_D (axis, =, 0.0, 1.0, 0.0);
NV_D (origin, =, 0.0, 0.0, 0.152);
begin_f_loop (f, tf)
{
f_node_loop (f, tf, n)
{
v = F_NODE (f, tf, n);
y=NODE_Y(v);
x=NODE_X(v);
if(x<0.3)
{
if(NODE_POS_NEED_UPDATE(v))
{
NODE_POS_UPDATED(v);

y =sign *(0.01*x+3.8*sin(0.3768*x)+3.5+2*cos(0.5652*x));
NV_VV (rvec, =, NODE_COORD (v), -, origin);
NV_S (dx, *=, dtime);
NV_V (NODE_COORD (v), +=, dx);


}
}
}
}
end_f_loop (f, tf);
}

yuanyeyzygo May 13, 2012 13:48

please help me ~~~


All times are GMT -4. The time now is 06:02.