|
[Sponsors] |
December 9, 2010, 16:22 |
How do i create time dependent flows on UDF?
|
#1 |
New Member
Nuril
Join Date: Dec 2010
Posts: 17
Rep Power: 15 |
How do I create this conditon using a UDF?
I want the velocity at the pipe inlet to be 10m/s from t=0 to 5 then i want the v=20m/s from t=5 to 6, then i want the velocity again to be 10m/s from t =6 to 11 How do i set the time ticking ticking on the UDF? and what is the varaible for time? Thanks |
|
December 9, 2010, 20:56 |
|
#2 |
Senior Member
Real Name :)
Join Date: Jan 2010
Location: United States
Posts: 192
Rep Power: 16 |
nha1g08,
Try something like this. Inevitably I'm missing a semicolon in the following, but it should be relatively simple to fix. Interpret (or better, compile) this UDF, then hook it to your face velocity boundary condition. This loops over all cell faces at the inlet boundary and sets them to the given velocity depending on the simulation time. Make sure you run transient! Regards, ComputerGuy DEFINE_PROFILE(velocity_magnitude, t, i) { real velocity; real the_current_time; face_t f; the_current_time = CURRENT_TIME; if ((the_current_time>=0) && (the_current_time<5)) { velocity=10; } if ((the_current_time>=5) && (the_current_time<6)) { velocity=20; } if ((the_current_time>=6)) { velocity=10; } begin_f_loop(f,t) { F_PROFILE(f,t,i) = velocity; } end_f_loop(f,t) } |
|
December 12, 2010, 04:20 |
|
#3 |
New Member
zhuliang
Join Date: Nov 2010
Location: China
Posts: 13
Rep Power: 16 |
I want the pressure of the pressureinlet to be 0 form 0 to 5 second
and the pressure of 8Mpa from 5 to 6 second is it similar? thank you in advance |
|
December 12, 2010, 09:24 |
|
#4 |
Senior Member
Real Name :)
Join Date: Jan 2010
Location: United States
Posts: 192
Rep Power: 16 |
bright181,
Yes. You have to change the udf slightly and hook it to a different place on the inlet boundary conditions panel, but it's effectively the same. I have changed variable names for clarity. ComputerGuy Code:
#include "udf.h" DEFINE_PROFILE(pressure_magnitude, t, i) { real pressure_mag; real the_current_time; face_t f; the_current_time = CURRENT_TIME; if ((the_current_time>=0.0) && (the_current_time<5.)) { pressure_mag=0.0; } if ((the_current_time>=5.0) && (the_current_time<6.0)) { pressure_mag=8.0e6; } begin_f_loop(f,t) { F_PROFILE(f,t,i) = pressure_mag; } end_f_loop(f,t) } Last edited by ComputerGuy; December 12, 2010 at 11:27. Reason: Changed pressure from 10 --> 8 MPa |
|
January 5, 2011, 00:42 |
|
#5 |
New Member
ekkapong
Join Date: Oct 2010
Posts: 18
Rep Power: 16 |
Dear computerGuy
how to hook your codes to Fluent and how to set time in fluent please give me your suggestion thank |
|
January 5, 2011, 00:48 |
|
#6 |
New Member
ekkapong
Join Date: Oct 2010
Posts: 18
Rep Power: 16 |
Could I have one question?
I'd like to know that how to define current time at fluent ? |
|
June 17, 2013, 04:03 |
|
#7 |
New Member
Sakshi Sharma
Join Date: Jun 2013
Posts: 1
Rep Power: 0 |
I want to inject a fluid at every 6 mins. I prepared a code, but ther seems to be an error in line 10 saying:" line 10: invalid type for integral binary expression: double % int."
Can anyone give me a solution to this? Thankyou. Here's the code: #include "udf.h" DEFINE_PROFILE(insulin_inlet,thread,position ) { face_t f; begin_f_loop(f,thread) { real t = RP_Get_Real("flow-time"); if (t%360==0) F_PROFILE(f,thread,position) = 0.1; else F_PROFILE(f,thread,position) = 0; } end_f_loop(f,thread) } |
|
June 17, 2013, 07:06 |
get cell value
|
#8 |
New Member
Join Date: Feb 2013
Posts: 2
Rep Power: 0 |
Hi,
Someone can help me please. I would like to retrieve the value in a cell in the liquid phase and compared with a set value. Depending on the value found, I modified the condition of gas inlet. like a regulation loop. Here is the UDF I wrote but I am having acces_violation. the coordenates of the cell where i want get mass fraction value are x=0.08 and y=0.015 I get acess violation when i compiled my UDF. Best regards!!! Sorry for my english level! /*---------------------------------------------------------------*/ #include "udf.h" DEFINE_PROFILE(profile,thread,i) { face_t f; cell_t c; real YH, Rhol, ConsH, pH, pH1, cent,YH1, x, y; real xc[ND_ND]; /*--------------------------------------------------------------------*/ Thread *thread_l = THREAD_SUB_THREAD(thread,0); /*to pointer the liquid phase*/ Thread *cell_thread; /*--------------------------------------------------------------------*/ /*---mesurement---*/ /*--------------------------------------------------------------------*/ /*to get cell YI value*/ begin_c_loop_all(c,cell_thread) { x=xc[0]; y=xc[1]; C_CENTROID(xc,c,cell_thread); if( x=0.08. && y=0.015.) /*probe position*/ YH = C_YI(c,thread_l,0); ConsH=YH*C_R(c,thread_l); } end_c_loop_all(c,cell_thread) pH=-log(ConsH); /*--------------------------------------------------------------------*/ /*---injection CO2---*/ /*--------------------------------------------------------------------*/ begin_f_loop(f,thread) { if(pH >7) F_PROFILE(f,thread,i) = 1; else F_PROFILE(f,thread,i) = 0; } end_f_loop(f,thread) /*--------------------------------------------------------------------*/ } |
|
July 9, 2017, 12:10 |
sakshi1632
|
#9 |
New Member
saman
Join Date: Jul 2017
Posts: 1
Rep Power: 0 |
I want to inject a fluid at every 6 mins. I prepared a code, but ther seems to be an error in line 10 saying:" line 10: invalid type for integral binary expression: double % int."
Can anyone give me a solution to this? Thankyou. Here's the code: #include "udf.h" DEFINE_PROFILE(insulin_inlet,thread,position ) { face_t f; begin_f_loop(f,thread) { real t = RP_Get_Real("flow-time"); if (t%360==0) F_PROFILE(f,thread,position) = 0.1; else F_PROFILE(f,thread,position) = 0; } end_f_loop(f,thread) } hi, did you know what was the problem of your code? |
|
September 21, 2017, 08:57 |
|
#10 |
New Member
madan
Join Date: Sep 2017
Posts: 5
Rep Power: 9 |
Hi everybody,
I am doing a transient simulation of conjugated heat transfer problem. In that I have a solid that plays a role of heat generation(W/m3) varying with time (q=q(t)). Since i am weak in codings, I need a help to write a udf for heat source varying with time. value is q=6.75e11 Thank you. |
|
September 22, 2017, 09:57 |
|
#11 |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 27 |
If q=6.75e11, it is not varying in time but constant... So I think you should be more clear in what you want.
|
|
September 22, 2017, 15:37 |
|
#12 | |
New Member
madan
Join Date: Sep 2017
Posts: 5
Rep Power: 9 |
Quote:
I found out the example source. When I tried to run transient simulation with this udf. It doesnt looklike its working. The heat generation source is increasing for every 100 sec. But when i see the avearge temperature of heat source its was almost the same for all timesteps. Hereby I have attached the Udf. Please tell me what are the mistakes I have did. Thank You. #define Q1 2e10 #define Q2 2.97e10 #define Q3 3.80e10 DEFINE_SOURCE(qgen_source,c,t,dS,eqn) { real source; real time = CURRENT_TIME; if (time <= 100) /* time 0-100 q = Q1 */ { /* source term */ source = Q1; /* derivative of source term. */ dS[eqn] = 0.; } if (time > 100 && time < 200) /* time 100-200 q = Q2 */ { source = Q2; dS[eqn] = 0.; } if (time >= 200 && time < 300) /* time 200-300 q = Q3 */ { source = Q3; dS[eqn] = 0.; } if (time >= 300 && time <400) /* time 300 -400 q = 0 */ { source = dS[eqn] = 0.; } return source; } |
||
September 25, 2017, 11:09 |
|
#13 |
Senior Member
Join Date: Nov 2013
Posts: 1,965
Rep Power: 27 |
What makes you think that you made a mistake?
|
|
September 25, 2017, 17:58 |
Regarding entropy generation due to heat transfer and fluid friction.
|
#14 |
New Member
madan
Join Date: Sep 2017
Posts: 5
Rep Power: 9 |
Hi pakk,
I figured out the mistake.that was is in timestep size when iam iterating it.. And I have a another doubt in the entropy generation for 3d problem. I am trying to calculate entropy generation for heat transfer and fluid friction using custom field functions. from the literature i have found that the entropy for heat transfer can be found out from following formula but for fluid friction i dont know how to implement that formula..herby i have attached the photo. please help me about that. Thanking you. |
|
April 4, 2018, 09:44 |
|
#15 | |
New Member
Tufan Özyıldız
Join Date: Sep 2017
Posts: 20
Rep Power: 9 |
Quote:
|
||
February 12, 2020, 06:37 |
|
#16 | |
New Member
Shashank Singh
Join Date: Feb 2020
Posts: 1
Rep Power: 0 |
Quote:
|
||
February 12, 2020, 06:52 |
UDF not required
|
#17 |
Senior Member
|
UDF is an overkill for this work. Use a transient profile.
__________________
Regards, Vinerm PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Emergency:UDF for a time dependent parabolic velocity | zumaqiong | Fluent UDF and Scheme Programming | 12 | March 25, 2010 13:00 |
Availability of previous time level values in UDF | ranga sudarsan | FLUENT | 0 | September 1, 2008 10:17 |
IcoFoam parallel woes | msrinath80 | OpenFOAM Running, Solving & CFD | 9 | July 22, 2007 03:58 |
AMG versus ICCG | msrinath80 | OpenFOAM Running, Solving & CFD | 2 | November 7, 2006 16:15 |
Could anybody help me see this error and give help | liugx212 | OpenFOAM Running, Solving & CFD | 3 | January 4, 2006 19:07 |