tahar
Subscriber
tank you very much Mr YasserSelima for your help whene i use CG_MOTION i alway have a negative cell volume even with small time step. and where i should put nPRF_GSYNC()nmy udfs are below and i use another udfs for data acquisition nDEFINE_GRID_MOTION(deflection,domain,dt,time,dtime) n{ n Thread *tf = DT_THREAD(dt); n face_t f; n Node *v; n real NV_VEC (velocity), NV_VEC (axis);n real NV_VEC (origin), NV_VEC (rvec);nn real x,y; n real c =0.05;n real freq = 4;n real alpha;n int n; n /* set deforming flag on adjacent cell zone */ n SET_DEFORMING_THREAD_FLAG(THREAD_T0(tf)); n NV_S (velocity, =, 0.0);n NV_D (axis, =, 0.0,0.0, 1.0);n begin_f_loop(f,tf) n { n f_node_loop(f,tf,n) n { n v = F_NODE(f,tf,n); if ( NODE_POS_NEED_UPDATE (v)) NODE_POS_UPDATED(v); alpha = 0.1; NODE_X (v)= NODE_X (v); n NODE_Y (v) = NODE_Y (v)- alpha*sin(2*M_PI*freq*time+M_PI/2);nn } n } end_f_loop(f,tf); n}nDEFINE_CG_MOTION(trans, dt, cg_vel, cg_omega, time, dtime)n{n Thread *t = DT_THREAD (dt);n face_t f;nn/*****************************************************/ n real corde = 0.1;n // real freq = 0.224;n real freq = 4;n real ho = 1;n real ao = 0.84811*(M_PI/2); /*76.33?*/n real phy = M_PI/2;n/*****************************************************/n cg_vel[0] = 0.0;n cg_vel[1] = (ho*corde*cos(2*M_PI*freq*(time+dtime)) - ho*corde*cos(2*M_PI*freq*time))/dtime; cg_omega[0] = 0.0;n cg_omega[1] = 0.0;}nn