CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Fluent UDF and Scheme Programming (https://www.cfd-online.com/Forums/fluent-udf/)
-   -   How do i create time dependent flows on UDF? (https://www.cfd-online.com/Forums/fluent-udf/82953-how-do-i-create-time-dependent-flows-udf.html)

 nha1g08 December 9, 2010 16:22

How do i create time dependent flows on UDF?

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

 ComputerGuy December 9, 2010 20:56

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)
}

 bright181 December 12, 2010 04:20

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?

 ComputerGuy December 12, 2010 09:24

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) }```

 nuengao January 5, 2011 00:42

Dear computerGuy

how to hook your codes to Fluent and how to set time in fluent

thank

 nuengao January 5, 2011 00:48

Could I have one question?

I'd like to know that how to define current time at fluent ?

 sakshi1632 June 17, 2013 03:03

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"

{ face_t f;

{
real t = RP_Get_Real("flow-time");

if (t%360==0)

else

 lomba June 17, 2013 06:06

get cell value

Hi,
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"

{

face_t f;
cell_t c;
real YH, Rhol, ConsH, pH, pH1, cent,YH1, x, y;
real xc[ND_ND];

/*--------------------------------------------------------------------*/

/*--------------------------------------------------------------------*/

/*---mesurement---*/
/*--------------------------------------------------------------------*/
/*to get cell YI value*/

{
x=xc[0];
y=xc[1];

if( x=0.08. && y=0.015.) /*probe position*/

}

pH=-log(ConsH);

/*--------------------------------------------------------------------*/

/*---injection CO2---*/
/*--------------------------------------------------------------------*/
{

if(pH >7)

else

}

/*--------------------------------------------------------------------*/

}

 sam2629 July 9, 2017 11:10

sakshi1632

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"

{ face_t f;

{
real t = RP_Get_Real("flow-time");

if (t%360==0)

else

hi,
did you know what was the problem of your code?

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.

 pakk September 22, 2017 08:57

If q=6.75e11, it is not varying in time but constant... So I think you should be more clear in what you want.

Quote:
 Originally Posted by pakk (Post 665267) If q=6.75e11, it is not varying in time but constant... So I think you should be more clear in what you want.
Hi,

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;
}

 pakk September 25, 2017 10:09

What makes you think that you made a mistake?

Regarding entropy generation due to heat transfer and fluid friction.

1 Attachment(s)
Quote:
 Originally Posted by pakk (Post 665578) What makes you think that you made a mistake?
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.