
[Sponsors] 
udf for one dimensional linear motion based on force 

LinkBack  Thread Tools  Search this Thread  Display Modes 
April 17, 2018, 12:23 
udf for one dimensional linear motion based on force

#1 
New Member
Join Date: Mar 2018
Posts: 24
Rep Power: 8 
Hi guys,
I am currently working on a Fluent simulation which contains a rigid body which should move in a certain way. At the moment, my goal is to get a udf file working which contains the following information: 1. Translational movement over a certain range from point a to b in negative ydirection caused by body forces of the rigids 2. A certain amount of time where the rigids rest at point b 3. Translational movement back from point b to a The magnitude of the force and the duration of time for step 2 should be modifiable in the udf. I looked at the define_cg_motion example in the udf manual, which seems to be a quite good point for me to start on. In this example, "the linear velocity is computed from a simple force balance on the body in the xdirection". Here it is: /************************************************** ********** * 1degree of freedom equation of motion (xdirection) * compiled UDF ************************************************** **********/ #include "udf.h" static real v_prev = 0.0; DEFINE_CG_MOTION(piston,dt,vel,omega,time,dtime) { Thread *t; face_t f; real NV_VEC(A); real force, dv; /* reset velocities */ NV_S(vel, =, 0.0); NV_S(omega, =, 0.0); if (!Data_Valid_P()) return; /* get the thread pointer for which this motion is defined */ t = DT_THREAD(dt); /* compute pressure force on body by looping through all faces */ force = 0.0; begin_f_loop(f,t) { F_AREA(A,f,t); force += F_P(f,t) * NV_MAG(A); } end_f_loop(f,t) /* compute change in velocity, i.e., dv = F * dt / mass velocity update using explicit Euler formula */ dv = dtime * force / 50.0; v_prev += dv; Message ("time = %f, x_vel = %f, force = %f\n", time, v_prev, force); /* set xcomponent of velocity */ vel[0] = v_prev; } However, I do not really understand how this udf is supposed to work, as the force is defined as zero (see the marked red line). I tested the udf out with a simple geometry (please see the image attached), which would allow a rigid sphere to move freely in xdirection with the use of dynamic meshing, but the sphere doesnīt bother to move at all. I modified the udf and put the force to a value of 100 instead of 0, but still no motion of the sphere. I would really appreciate some insights on this udf. Maybe I do get the udfs purpose all wrong and it isnīt supposed to work the way which I think of? Also, if you have some tips for writing an udf which performs the way i need it to, any help is really appreciated as well! In general, I am eager to learn more about C programming, but I just do not have the necessary time to learn it from the start to solve all the issues I have with udfs by myself. I do not expect someone to write the udf for me, but some tips from more experienced users are of essential meaning for the progression of my model at the moment. Thank you in advance! 

May 11, 2019, 03:05 

#2 
New Member
poya
Join Date: Jun 2013
Posts: 7
Rep Power: 13 
Hi dear
This parameters is the first value for forces and at the end of loop, force summation can be calculated. 

September 1, 2019, 02:18 

#3  
New Member
hossein
Join Date: Aug 2019
Posts: 2
Rep Power: 0 
Quote:


Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
incorrect cg motion UDF sdof_properties::libudf on zone 6 (assuming no motion)  M.Magdy  Fluent UDF and Scheme Programming  9  April 4, 2023 12:00 
CG Motion UDF Problem  leoarmas  Fluent UDF and Scheme Programming  17  February 14, 2023 08:59 
UDF for defining a body force in Singel ROtating Reference Frame  teymourj  Fluent UDF and Scheme Programming  9  August 18, 2016 15:33 
incorrect cg motion UDF sdof_properties::libudf on zone 6 (assuming no motion)  M.Magdy  Fluent UDF and Scheme Programming  0  March 22, 2013 06:58 
Fluent UDF Discontinuous Motion  lequi7  Fluent UDF and Scheme Programming  2  November 3, 2011 23:18 