8
$\begingroup$

Overview

My understanding is that one should use a time step $\Delta t < \frac{h}{v}$ (where h - smallest mesh element, v - velocity) to get an accurate result.

But how important is this really for the accuracy of the simulation? Is it as important as having an independent mesh?

Is there even such a thing as a time step independent solution? Can a very small $\Delta t$ actually be bad for the accuracy of the solution?

I am running computational optimisation, where speed is important. Just how much am I justified to use $\Delta t > \frac{h}{v}$?

Also, I am running a transient simulation, where $v$ changes from zero to 60 m/s. Should I just set it to the smallest $\Delta t \approx 0.0007$ s (I can't dynamically change $\Delta t$)?.

Problem Details

I am using an Euler-Euler model (in Fluent™) to simulate particle-air interaction in a fluidised bed.

$\endgroup$
1
  • 1
    $\begingroup$ Hard limits are usually for explicit solvers. For implicit solvers just run a number of test cases on a small (2D) problem to see how different the solution is with increasing delta_t. While you're at it you can also test the effect of mesh resolution on the solution. $\endgroup$
    – stali
    Commented Jun 19, 2013 at 21:21

3 Answers 3

12
$\begingroup$

It depends on your problem and your ODE solver/time discretization. If you have a hyperbolic PDE and want to solve it with an explicit method, then you need the time step restriction (called the Courant-Friedrichs-Lewy/CFL condition) or your numerical solution will typically oscillate and may grow to $\pm\infty$.

On the other hand, if you have a parabolic problem and an implicit time discretization, then you don't need the restriction.

You will have to tell more about your problem for us to be able to give a more detailed answer.

$\endgroup$
8
  • $\begingroup$ In case of linear hyperbolic problems, large time step algorithms can be used to update the solution. That way Courant number much greater than 1 are used. $\endgroup$
    – Subodh
    Commented Jun 19, 2013 at 14:42
  • $\begingroup$ But only if you have an implicit method. I should have been clearer in my answer. (I edited it for that now.) $\endgroup$ Commented Jun 19, 2013 at 20:52
  • $\begingroup$ To be honest, I am having difficulty establishing which method Fluent™ is using. It seems that it can do both. The user guide for Fluent v14 (p. 1250) implies that for the multiphase Euler-Euler simulation an explicit method is used. I like the suggestion by @stali do simply do some testing (although he does suggest this for an implicit solver). The solver is stable with all the time steps, but there is quite a big difference in the solution (and computational cost) between $\Delta t=0.0007$ and $\Delta t=0.0021$. $\endgroup$ Commented Jun 20, 2013 at 8:52
  • $\begingroup$ Implicit steps exceeding CFL 1 are not time-accurate. For pure advection, there are no faster processes, so they're not of much use for non-steady simulation. Implicit stepping is more interesting when you are trying to follow a quasi-equilibrium process that appears when much faster processes are nearly balanced (e.g., slow-moving vortices in low-Mach shallow-water or gas dynamics). $\endgroup$
    – Jed Brown
    Commented Jun 20, 2013 at 19:46
  • $\begingroup$ @Wolfgang Bangerth Would you say that a CFL number $C_{max}=1$, although required for the explicit scheme is also a good rough guide for the implicit scheme? Or is testing on a simple 2D problem the only way to determine the appropriate $\Delta t$ when using an implicit scheme? $\endgroup$ Commented Jun 22, 2013 at 14:46
2
$\begingroup$

There are two factors that are influenced by time step size and the choice of scheme: accuracy and stability.

Accuracy is typically measured by the "local error" or "consistency error" of the scheme. You want to choose your time step such that this error is balanced with a comparable error of the space discretization. That would be a good balance for accuracy.

Unfortunately, most timestepping schemes also change the dynamics of your system, which is usually subsumed under the term stability. This question goes beyond explicit or implicit. And this goes both ways: a perfectly stable solution can be converted to an explosion if you use the wrong method with a large timestep. And the opposite holds: if you use a method that is too stable, turbulent, instationary flow might be turned into honey. I know of simulations where a single backward Euler step every 100 Crank-Nicolson steps made an oscillatory solution stationary.

The terms used to categorize the dynamics of timestepping schemes are A-, L-, and B-stability. As far as I know, only the Crank-Nicolson scheme and Gauss-collocation methods preserve the essential dynamics, but even for those, certain features of your solution may be amplified or suppressed in an unphysical way, if your timestep is too large.

If you want to be able to predict these effects, you have to know your scheme. Else, you are stuck with test examples, or with computing everything with at least two time step sizes

$\endgroup$
-1
$\begingroup$

It is really important! If you do not have an appropriate time step, you can not achieve mesh independence.

Use my personal experience: I investigate CFD of fluid-structure interaction using FEM. I was trying to do the mesh independence study to make sure that mesh does not affect the accuracy of my simulations. However, when I refine the mesh, the simulation results even diverges further. At last, I figured out that I forgot to adjust my time step accordingly.

When you reduce the size of element, you are recommended to reduce the time step correspondingly. Otherwise, you may have trouble.

Also, if you got time and computational resources, you may just run some test cases to see how the $\Delta t$ affects your specific cases, which I think should be the most reliable method.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.