# UDF - Question

 Register Blogs Members List Search Today's Posts Mark Forums Read

May 8, 2020, 10:10
UDF - Question
#1
Member

sandy
Join Date: May 2013
Posts: 89
Rep Power: 9
Hi i am trying to understand the define grid motion udf given in the manual.

Can someone explain what is 0.230 "pow (NODE_X(v)/0.230, 0.5)" doing here ? . Why do we want to divide the node x by that number ?

Quote:
 node motion based on simple beam deflection equation compiled UDF ************************************************** ********/ #include "udf.h" DEFINE_GRID_MOTION(beam,domain,dt,time,dtime) { Thread *tf = DT_THREAD(dt); face_t f; Node *v; real NV_VEC(omega), NV_VEC(axis), NV_VEC(dx); real NV_VEC(origin), NV_VEC(rvec); real sign; int n; /* set deforming flag on adjacent cell zone */ SET_DEFORMING_THREAD_FLAG(THREAD_T0(tf)); sign = -5.0 * sin (26.178 * 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); /* update node if x position is greater than 0.02 and that the current node has not been previously visited when looping through previous faces */ if (NODE_X(v) > 0.020 && NODE_POS_NEED_UPDATE (v)) { /* indicate that node position has been update so that it's not updated more than once */ NODE_POS_UPDATED(v); omega[1] = sign * pow (NODE_X(v)/0.230, 0.5); NV_VV(rvec, =, NODE_COORD(v), -, origin); NV_CROSS(dx, omega, rvec); NV_S(dx, *=, dtime); NV_V(NODE_COORD(v), +=, dx); } } } end_f_loop(f,tf); }

 May 8, 2020, 12:21 Equation #2 Senior Member     Vinerm Join Date: Jun 2009 Location: Nederland Posts: 2,547 Blog Entries: 1 Rep Power: 28 That's just an equation for a cantilever motion. You would anyway use your own equation. __________________ Regards, Vinerm PM to be used if and only if you do not want something to be shared on the Forum

 May 8, 2020, 15:37 #3 Member   sandy Join Date: May 2013 Posts: 89 Rep Power: 9 Thanks Vinerm.