
[Sponsors] 
Having difficulties in writing udf define_CG_motion for a piston 

LinkBack  Thread Tools  Display Modes 
May 20, 2009, 17:35 
Having difficulties in writing udf define_CG_motion for a piston

#1 
New Member
antonio santos
Join Date: May 2009
Posts: 2
Rep Power: 0 
Please can someone help me write a udf to define CG_motion for a piston inside a cilinder.
the equation for the position is Y=27*cos(A)+sqrt(100^2  (27^2)*sin^2(A)) Thank you so much everybody 

May 5, 2012, 21:32 

#2 
New Member
Jessica Simberg
Join Date: Mar 2012
Posts: 17
Rep Power: 6 
hope it's not too late....
DEFINE_CG_MOTION(piston,dt,vel,omega,time,dtime) { real Y = ; real A = ; /* reset velocities */ NV_S(vel, =, 0.0); NV_S(omega, =, 0.0); if (!Data_Valid_P()) /* Do nothing if gradient isn’t allocated yet. */ return; Y = 27*cos(A)+sqrt(100^2  (27^2)*sin^2(A)); /* sets the components of velocity */ vel[0] = 0; vel[1] = Y; vel[2] = 0; } this udf is for the speed not the position..... 

February 20, 2015, 07:02 

#3  
Member
Join Date: Oct 2011
Posts: 80
Rep Power: 6 
Quote:
There are many UDFs available for velocity. But I don't know the equation for velocity. I have equation of displacement. How do I implement that? 

February 20, 2015, 08:30 

#4  
Senior Member
Join Date: Nov 2013
Posts: 939
Rep Power: 12 
Quote:
So if I were you, I would go for the easy solution, and use the equation of velocity. 

April 7, 2015, 06:14 

#5 
New Member
umair
Join Date: Mar 2015
Posts: 1
Rep Power: 0 
hi friends,
I have a piston sinusoidal motion code ... #include "udf.h" #include <stdio.h> DEFINE_CG_MOTION(piston_mov, dt, vel, omega, time, dtime) { real a, w, pi; pi = 3.1415; /* define motion variables */ a = 0.007; /* 0.012m movement amplitude */ w = 2 * pi * 30; /* 30Hz (1800rpm) frequency */ /* define object movement law */ vel[0] = 0; vel[1] = a * w * sin(w*time); vel[2] = 0; } its working very well. But i want to set the velocity and displacement as according below mentioned equations Let suppose equation of displacement A=0.0036; theta=0:360; Xp=A*sin(theta)+(cos(theta))^0.5 And velocity Vp=A*w(cos(theta)sin(theta))^0.5 Please tell me, how i can modify the above udf according these equations Thanks 

April 13, 2015, 05:03 

#6 
Senior Member
Join Date: Nov 2013
Posts: 939
Rep Power: 12 
You should write your equations as functions of time. Currently it is a function of theta (which is probably an angle), but you should specify how the angle depends on time.


Tags 
dynamic mesh, piston, udf 
Thread Tools  
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Contribution a new utility: refine wall layer mesh based on yPlus field  lakeat  OpenFOAM Mesh Utilities  57  February 1, 2015 09:25 
crash sHM  H25E  OpenFOAM Native Meshers: snappyHexMesh and Others  11  November 10, 2014 12:27 
UDF for Piston movement  Harish  FLUENT  2  July 23, 2004 06:13 
Writing UDF for Robbins Bounday Condition  KKLAU  FLUENT  1  April 6, 2004 23:58 
Macros for writing UDF for porosity  umesh  FLUENT  1  June 13, 2003 04:20 