CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   Navier-Stokes time step size (

Martin June 4, 2008 12:14

Navier-Stokes time step size

I'm implementing a 3D finite volume solver for the Navier-Stokes (NS) equations. I'm using a 4-stage RK for the time integration and I would like the time step to be adaptive and automatic, i.e. determined run time per time step.

However, I don't know how to choose an appropriate time step for NS. I'm not comfortable inferring a time step from some combination of, say, the time step limits for the 1D wave and heat equations using various schemes. For one thing I could arrive at a condition more restrictive than necessary. For example, I found that Euler's scheme for the wave equation is unconditionally unstable whereas it is conditionally stable for advection-diffusion. Or even worse, I could make a choice that is not restrictive enough.

The easiest approach would be to take the time step as the minimum of the convective and diffusive limits. But is this good enough ? And how is the diffusive time step limit really computed in 3D?

Thanks in advance

ganesh June 5, 2008 13:27

Re: Navier-Stokes time step size
Dear Martin,

The time step in 3D is often chosen as the minimum of timesteps determined from convective and diffusive limits. There is no major difference between 2d and 3d definitions, only the characteristic length scale (when considering arbitrary ploygonal meshes) are a little different. Yo could compute dt_vis from the concept that VNN= nu*dt_vis/ char_len^2, where nu is the kinematic viscosity and char_len is a characteristic length for a volume, typically chosen as sqrt(cell_area) of cubeorot(cell_volume) depending on 2d/3d. Typically you could set VNN=CFL and get dt_vis for every cell. You could then set dt=min(dt_inv_min,dt_vis_min), which is global time stepping strategy or use the smallest of dt_inv and dt_vis in each cell as its own dt; which is local time stepping. For NS solvers, local time stepping relieves much of the grid--induced stiffness and results in a more rapid convergence. Of course the CFL in your case would be bounded from above by 1. In our codes however, we do not invoke the diffusive time limit even for a NS solver, we generally employ implicit time integration with a convective time limit coupled with local time stepping to achieve rapid steady state viscous solutions.

Hope this helps.



Martin June 6, 2008 03:38

Re: Navier-Stokes time step size
Hello Ganesh,

Thank you very much for your reply. It confirms my beliefs on how this is done. For now I have included only explicit time stepping but implicit methods are certainly something to consider once I get my basic solver validated.

Regards, Martin

All times are GMT -4. The time now is 21:07.