CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   FLUENT (http://www.cfd-online.com/Forums/fluent/)
-   -   Divide a time-step to some intervals (http://www.cfd-online.com/Forums/fluent/108998-divide-time-step-some-intervals.html)

Sarah.Tiani November 6, 2012 15:51

Divide a time-step to some intervals
 
Hello guys,
I have started to write a UDF to divide a time step to control the boundary conditions. SO, I want to have some intervals during a time step and change my boundary conditions at each interval during each time-step. Please note that my time-step is fixed.
Can anybody help me?
Thanks

syavash November 6, 2012 15:57

Quote:

Originally Posted by Sarah.Tiani (Post 390661)
Hello guys,
I have started to write a UDF to divide a time step to control the boundary conditions. SO, I want to have some intervals during a time step and change my boundary conditions at each interval during each time-step. Please note that my time-step is fixed.
Can anybody help me?
Thanks

Hi,
Why you don't try to decrease time step size as small as you need, instead of breaking current time step?!

vicarious November 6, 2012 16:00

Hello Sarah,
You can use the default UDF in FLUENT user guide for changing a boundary with respect to time. You can add different functions to produce the desired values in each boundary, but if you want to setup a boundary with irregularity, you need to develop the functions.

Best.

Sarah.Tiani November 6, 2012 16:09

Quote:

Originally Posted by syavash (Post 390662)
Hi,
Why you don't try to decrease time step size as small as you need, instead of breaking current time step?!

syavash,
I don't want to decrease the time-step because the boundary conditions must change at each time-step. I mean I have to change the flow conditions at each time-step.

Sarah.Tiani November 6, 2012 16:10

Hello vicarious,
can you specify more? what do you mean with irregularity?

vicarious November 6, 2012 16:20

Quote:

Originally Posted by Sarah.Tiani (Post 390666)
Hello vicarious,
can you specify more? what do you mean with irregularity?

For example I used to work with a pulsed injection boundary and I defined a step function to produce 0 and 1 to inject a high pressure jet pulse in each time step. What kind of conditions do you need? Is it periodic or could be specified by a function?

Sarah.Tiani November 6, 2012 16:28

Quote:

Originally Posted by vicarious (Post 390667)
For example I used to work with a pulsed injection boundary and I defined a step function to produce 0 and 1 to inject a high pressure jet pulse in each time step. What kind of conditions do you need? Is it periodic or could be specified by a function?

That's awesome vicarious,
seems exactly what I need. I want to set the inlet pressure a constant for a specific time-interval in a time-step and change the pressure to another fix value for the remaining times of the time-step. This pattern must be repeated till the end of simulation.
What do you think?

syavash November 6, 2012 16:32

Quote:

Originally Posted by Sarah.Tiani (Post 390665)
syavash,
I don't want to decrease the time-step because the boundary conditions must change at each time-step. I mean I have to change the flow conditions at each time-step.

You are right, actually dividing time step makes no sense. I think you are going to solve the flow in transient mode. Well, what exactly you need to know?!

syavash November 6, 2012 16:35

Quote:

Originally Posted by Sarah.Tiani (Post 390668)
That's awesome vicarious,
seems exactly what I need. I want to set the inlet pressure a constant for a specific time-interval in a time-step and change the pressure to another fix value for the remaining times of the time-step. This pattern must be repeated till the end of simulation.
What do you think?

You should use Define_Profile macro to specify a transient B.C.

Sarah.Tiani November 6, 2012 16:36

Quote:

Originally Posted by syavash (Post 390669)
You are right, actually dividing time step makes no sense. I think you are going to solve the flow in transient mode. Well, what exactly you need to know?!

Thanks dear siavash,
In fact in my problem (unsteady) the inlet pressure changes twice at each time step. so suppose that each time step takes 3 seconds. the pressure is 0 till the 1st second of the time step and the pressure changes to 100 from 1st to the end of time step. this pattern must be repeated till the end of simulation.
I am really stuck at this one :(

Sarah.Tiani November 6, 2012 16:37

Quote:

Originally Posted by syavash (Post 390670)
You should use Define_Profile macro to specify a transient B.C.

exactly,
but I didn't see any macro to split a time-step.

syavash November 6, 2012 16:44

Quote:

Originally Posted by Sarah.Tiani (Post 390672)
exactly,
but I didn't see any macro to split a time-step.

It seems that I can't get what you mean. Time step is a physical parameter and you may change it depending on the problem.
Why you just don't define time step size as 1 second?! Then specify b.c. to each time step and don't bother yourself!

vicarious November 6, 2012 16:45

Look at this profile and see if it helps:
**********************************
#include "udf.h"
DEFINE_PROFILE(injection_pulsed_flux, thread, position)
{
face_t f;
real t = CURRENT_TIME;
int n;
real pi;
n = 1000000.*t/1.7;
pi = 1.570796;
begin_f_loop(f, thread)
{
F_PROFILE(f, thread, position) = fabs(sin(pi*n));
}
end_f_loop(f, thread)
}
************************************************** **
You see the SIN function used in this udf periodically produces 0 & 1 with each time step (1000000=1/(time step)). I'm afraid I do not realize what you mean by "a specific time-interval in a time-step", But if you consider to have a specific value for boundary in a periodic form (in this case 0 and 1 constantly), then you can organize this code as you want. Let me know if it works out.

Sarah.Tiani November 6, 2012 16:47

Siavash,
the type of problem that I solving depends on each time step. If I wanna set each time step equal to 1 second, I have to set pressure equal to zero from beginning to 0.03th second of time step and set to 100 till the end of time step.

syavash November 6, 2012 16:55

Quote:

Originally Posted by Sarah.Tiani (Post 390676)
Siavash,
the type of problem that I solving depends on each time step. If I wanna set each time step equal to 1 second, I have to set pressure equal to zero from beginning to 0.03th second of time step and set to 100 till the end of time step.

I am not sure but thinking it is not possible since at each time step fluent does not march on time. Unsteady term is like a source term which is added to N-S equations and is solved iterative.

Sarah.Tiani November 6, 2012 16:56

Let me make it simpler,
Is it possible I write a UDF that repeats at each time-step?

syavash November 6, 2012 17:00

Quote:

Originally Posted by Sarah.Tiani (Post 390680)
Let me make it simpler,
Is it possible I write a UDF that repeats at each time-step?

I can't be sure what you mean from "repeating at each time step" but you may write a udf which could be executed at each iteration.

Sarah.Tiani November 6, 2012 17:04

syavash,
suppose I wanna execute a problem only for 5 seconds. I change the boundary conditions twice at two time intervals at this time step. OK? it is easy and I wrote the UDF.
Right now I wanna repeat this process for the next 5 seconds. Again I wanna repeat for the next 5 seconds. Again .....
my bad, maybe I couldn't convey myself correctly. Hope this works


All times are GMT -4. The time now is 19:18.