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 |
Quote:
Why you don't try to decrease time step size as small as you need, instead of breaking current time step?! |
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. |
Quote:
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. |
Hello vicarious,
can you specify more? what do you mean with irregularity? |
Quote:
|
Quote:
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? |
Quote:
|
Quote:
|
Quote:
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 :( |
Quote:
but I didn't see any macro to split a time-step. |
Quote:
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! |
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. |
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. |
Quote:
|
Let me make it simpler,
Is it possible I write a UDF that repeats at each time-step? |
Quote:
|
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 16:34. |