CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   FLUENT (http://www.cfd-online.com/Forums/fluent/)
-   -   Transient flow in fluent (http://www.cfd-online.com/Forums/fluent/116681-transient-flow-fluent.html)

linyx April 23, 2013 05:23

Transient flow in fluent
 
1 Attachment(s)
I am modoling a multi element airfoil at large angle of attack, basiclly it is a transient problem and I use the steady solver to iteration for some time and change to transient. The solver is implicit and use simple method.

but I have a problem when determine the time step size and max iteration step. In fluent guide it says

'A good way to judge the choice of time step size is to observe the number of iterations FLUENT needs to converge at each time step. The ideal number of iterations per time step is 10-20. If FLUENT needs substantially more, the time step is too large. If FLUENT needs only a few iterations per time step, may be increased'

but what is the convergence criteria in the transient problem? In steady flow when the parameter we care is not changing, we call it has converged. Like lift and drag for the airfoil. In transient solver, I can no longer observe the lift and drag but rasidual in one time step: the lift and drag would print only after one time step iteration is finished.

As read from fluent guide, I can set the residual as 10-5, and time step as (chord length/100*free stream velocity), the iteration seem to converge quickly, if I set the residual as 10-7, the solver iterates about 100 times and do not meet this critiera, the residual line goes straight with iteration. So I should lower the time step size? gosh, it would take too much of time. and set the residual manually would change the result? for example, the result of 10-5 is 10-8 is not the same.

Ps:In steady flows, when the problem is converged, the residual line always go straigh in the plot, is it applicable in the transient solver? Since after several time the residual seems go straight and not lower again...I wanna know whether it is applausible in fluent transient solver?

ghost82 April 23, 2013 08:06

Quote:

Originally Posted by linyx (Post 422525)
I am modoling a multi element airfoil at large angle of attack, basiclly it is a transient problem and I use the steady solver to iteration for some time and change to transient. The solver is implicit and use simple method.

but I have a problem when determine the time step size and max iteration step. In fluent guide it says

'A good way to judge the choice of time step size is to observe the number of iterations FLUENT needs to converge at each time step. The ideal number of iterations per time step is 10-20. If FLUENT needs substantially more, the time step is too large. If FLUENT needs only a few iterations per time step, may be increased'

but what is the convergence criteria in the transient problem? In steady flow when the parameter we care is not changing, we call it has converged. Like lift and drag for the airfoil. In transient solver, I can no longer observe the lift and drag but rasidual in one time step: the lift and drag would print only after one time step iteration is finished.

As read from fluent guide, I can set the residual as 10-5, and time step as (chord length/100*free stream velocity), the iteration seem to converge quickly, if I set the residual as 10-7, the solver iterates about 100 times and do not meet this critiera, the residual line goes straight with iteration. So I should lower the time step size? gosh, it would take too much of time. and set the residual manually would change the result? for example, the result of 10-5 is 10-8 is not the same.

Ps:In steady flows, when the problem is converged, the residual line always go straigh in the plot, is it applicable in the transient solver? Since after several time the residual seems go straight and not lower again...I wanna know whether it is applausible in fluent transient solver?

Hi!
I'm not expert in airfoil but maybe this can be usefull to you:

- in transient solver, as in the steady solver, you can monitor one or more parameter as you want; in steady solver, when these parameters don't change anymore you have the converged solution; in unsteady solver, your parameters are changing with time, but in every time step they have to reach convergence, i.e. these parameters don't change anymore within this time step.
So even in unsteady solver you can judge convergence looking at these parameters.

- in unsteady solver, when solution is converged, within each time step, residual curve goes straigh as in steady solver; when the time changes you have a peak, but as you see the residual curve goes straight you have your converged solution.

Judge your convergence looking at monitor parameters and residual curve.

Once you have observed when your solution converges at each time step, you can change it and see if it converges in 20-30 iterations.

Daniele

jwillie2000 April 23, 2013 08:16

Hi,
There is no convergence criteria for a transient problem. What you can do is define a plane for a three D problem or a line for a 2D problem at a position of interest in your domain. Monitor a parameter (say pressure, vel or temp) that is of interest. Usuallly, the monitoring is done at the outlet or close to the outlet if you have an internal flow. When you see that statistically the variable is not changing then you can use that to say you have statistical convergence. The variable will still be changing but the peak to peak variation would remain unchanged. The same can be said of the residuals.I hope this helps. Jimmy

macfly April 23, 2013 08:37

Quote:

Originally Posted by ghost82 (Post 422567)
- in unsteady solver, when solution is converged, within each time step, residual curve goes straigh as in steady solver; when the time changes you have a peak, but as you see the residual curve goes straight you have your converged solution.

But when the simulation has thousands of timesteps, it's a painful process to calibrate the number of iterations and timestep size in order to achieve flat residuals at each timestep. But I guess this is the robust way to achieve transient convergence.

Thanks ghost and jwillie for the useful comments.

ghost82 April 23, 2013 09:55

Quote:

Originally Posted by macfly (Post 422576)
But when the simulation has thousands of timesteps, it's a painful process to calibrate the number of iterations and timestep size in order to achieve flat residuals at each timestep. But I guess this is the robust way to achieve transient convergence.

Thanks ghost and jwillie for the useful comments.

Hi macfly,
I meant setting the timestep once, at the start of the simulation and keep it constant, trying to optimize it at the start of simulation, or after few iterations.
With this time step you have to reach convergence, then if number of iterations in one or more time steps is 70 instead of 20, I think it's ok!

macfly April 23, 2013 11:19

Hi Daniele,

What I meant is:
1. Set a time step size that won't change during the simulation, or maybe just in the first few time steps.
2. Set a high enough number of iterations at each time step in order to obtain flat residuals.
3. Set very low residuals limits that will never be achieved, this way the solver will go to next time step when it reaches the max number of iterations/time step, and at that time the residuals should be flat.

Critical calibration takes place at step 2 because
- if the number of iterations is too low, it's not converged.
- if the number of iterations is too high, you waste a loooot of calculation time.

Maybe there's a way to implement a UDF that analyzes the residuals mean, variance, etc. in order to go to next time step? I suppose the answer is yes, I'll have to check the UDF forum for that.

linyx April 23, 2013 22:22

Hi macfly, currently my way of dealling with transient convergence is like the way you did, set the residual criteria low enough, and set the maxium iteration large enough to obtain flat residuals at first few time steps, then lower the maximum iteration so that the residual plot still can get flat at the end of the iteration. And I could even increase the time step.

But sometimes it is quite not robust since as the iteration goes, the residual plot was not flat any more, and I need to change the time step and max iteration again and again, its quite annoying.

I wonder, is this method the usual way cfders deal with transient problems?? I see a lot of cfder just set the residual limits and when the criteria is met, let it jump the next iteration.

linyx April 23, 2013 22:31

hi ghost, about the parameter I care, like lift and drag, it only print out when one time step is over, I do not know whether this is a converged solution, the only one parameter I can obersve during one time step is residuals

So I think only residuals make sense to determine I have a converged result or not during one time step

oj.bulmer April 24, 2013 04:11

Quote:

Originally Posted by macly
1. Set a time step size that won't change during the simulation, or maybe just in the first few time steps.
2. Set a high enough number of iterations at each time step in order to obtain flat residuals.
3. Set very low residuals limits that will never be achieved, this way the solver will go to next time step when it reaches the max number of iterations/time step, and at that time the residuals should be flat.

It is not wise to set very low convergence criteria and very large iterations per timestep. Instead, it's appropriate to set the value of criteria that you think is small enough. When it comes to no. of iterations, it's advisable to use between 10 and 20 iterations per timestep. If solution doesn't converge at each timestep, reduce the timestep instead of increasing the iterations per timestep!! This way, the time for convergence would not change significantly but you will obtain a nice temporal resolution.

Quote:

Originally Posted by ghost82
I meant setting the timestep once, at the start of the simulation and keep it constant, trying to optimize it at the start of simulation, or after few iterations.

It might help to use adaptive timestepping here instead of going through the hassle of finding out the ideal timestep. Here again, it is advisable to keep the convergence criteria as large as possible but which is small enough for your situation. Setting very low convergence criteria will force Solver to choose smaller timesteps which does little to improve your accuracy. Once the initial transient instabilities have settled, you can always turn off the adaptive timestepping and use the larger timesteps if they allow convergence. Also if all you are interested are the time-averaged values, it's not needed to converge each timestep to flatten. Few dud timesteps at the beginning won't harm you too much.

Quote:

Originally Posted by linyx
but what is the convergence criteria in the transient problem?

1) The residuals should fall approximately by 1e3 for every timestep
2) The residuals should be flat towards the end of the timestep. But the flatness should not be proloonged, which indicates that timestep can be further increased to accelerate the solution.
3) The global volumetric mass imbalance should reach small values (say 1e-6 etc) at the end of every timestep.

OJ

ghost82 April 24, 2013 04:35

Quote:

Originally Posted by linyx (Post 422724)
hi ghost, about the parameter I care, like lift and drag, it only print out when one time step is over, I do not know whether this is a converged solution, the only one parameter I can obersve during one time step is residuals

So I think only residuals make sense to determine I have a converged result or not during one time step

Hi!
monitor some other parameters, create surfaces in your domain and monitor velocities, pressure, turbulent kinetic energy, etc.
About OJ comment, it's true that variable time step can be better, however in 90% of my cases I need to make animation of the transient run, so I need a fixed time step.

Daniele

oj.bulmer April 24, 2013 04:38

Quote:

it's true that variable time step can be better, however in 90% of my cases I need to make animation of the transient run, so I need a fixed time step.
How would a variable timestep be a problem in animations? Typically, you won't be saving the results at every timesteps, but at a fixed frequency of time, which almost always is a lot larger than individual timestep.

OJ

ghost82 April 24, 2013 04:48

Quote:

Originally Posted by oj.bulmer (Post 422760)
How would a variable timestep be a problem in animations? Typically, you won't be saving the results at every timesteps, but at a fixed frequency of time, which almost always is a lot larger than individual timestep.

OJ

I never used fluent for animations; usually I saved cas and dat for dynamic mesh problems or only dat files every x iterations, then I import the saved files into tecplot and do the animation.
So If I have fixed time step of 1 s for example, I have dat files at 0s, 1s, 2s, etc. but if I have variable time step my animation will be not good, as for example I will have dat files at 0s, 1s, 1.2s, 2.5s.
This is a little off topic, but can you elaborate a bit more what do you mean by "but at a fixed frequency of time"?I ever used save after x iterations.
Thank you
Daniele

linyx April 24, 2013 05:42

Quote:

Originally Posted by oj.bulmer (Post 422751)
Also if all you are interested are the time-averaged values, it's not needed to converge each timestep to flatten. Few dud timesteps at the beginning won't harm you too much.


why in time averaged values problem don't need to converge each timestep to flatten?? Since residual flatten is the character of convergence, don't we need a converged solution at each time at time averaged problem?:)

oj.bulmer April 24, 2013 08:54

Quote:

Originally Posted by ghost82
So If I have fixed time step of 1 s for example, I have dat files at 0s, 1s, 2s, etc. but if I have variable time step my animation will be not good, as for example I will have dat files at 0s, 1s, 1.2s, 2.5s.
This is a little off topic, but can you elaborate a bit more what do you mean by "but at a fixed frequency of time"?I ever used save after x iterations.

Typically, the change in the timestep is never as large as you suggest. eg, in sequence 0 s,1 s,1.2 s, the successive timesteps will be 1s, 0.2s which suggest 80% reduction. The successive timesteps do not differ that significantly (guess 10% max). Moreover, I wouldn't save dat files after every timestep, but after each 10 timesteps or more to limit the storage requirement. Now due to variable timestep, the dat files saved will not be exactly at fixed interval of time, but in CFD post (Or Tecplot), you can always read only the files that are separated by a specific time. eg, if you have saved data files at 0.2,0.5,0.9,1.3,1.4,1.7,1.9, etc, and you want data files that are separated by 0.5 sec, only select the dats at 0.5, 0.9, 1.4, 1.9 s. This way you will meet your requirement

Quote:

Originally Posted by linyx
why in time averaged values problem don't need to converge each timestep to flatten?? Since residual flatten is the character of convergence, don't we need a converged solution at each time at time averaged problem?

If you carefully read my statement, I said that the timesteps "at the beginning" need not be fully converged. The time-averaged values are never considered for first few timesteps where the transient and numerical instabilities dominate the solution. Once these instabilities have settled (which typically happens after a period of 2-3 times the residence time) you start generating the transient statistics for time-averaged values. Same applies for the periodic values as well. If one is interested in the physics starting from t=0, then only it is needed to have the initial timesteps converged nicely, otherwise, you can rush through the initial timesteps with relatively larger timessteps. But this doesn't mean you can choose unreasonably large timesteps. That said, after initial instabilities have settled in, before you start averaging, it is imperative to use adequate timestep and get then converged solution at every timestep.

OJ

macfly April 24, 2013 09:40

My project is a baking process that has a duration of about 2 weeks. I have turbulent combustion and radiation in a somewhat complex geometry. I fixed my time step at 5 minutes and it takes about 200 iterations at each time step to reach the default residual values.

If I reduce the time step < 1 s, I can get maybe 50 iterations per time step but the number of time steps will be ridiculously high for a 2 weeks simulation. I think it's not profitable in my case.

oj.bulmer April 24, 2013 09:54

200 inner iterations for 5 minutes timestep and 50 for 1 sec! Are you sure of these numbers?

OJ


All times are GMT -4. The time now is 12:05.