I am aware than Euler explicit is conditionally stable, and Euler implicit is unconditionally stable. And I am aware that it is probably pointless to use Euler implicit with a small computational step $\Delta t$ for which Euler explicit is stable. But from a theoretical point of view, should one of the two be more accurate than the other, of course for $\Delta t$ for which the explicit method is stable? It can be shown that the local truncation error for both Euler explicit and Euler Implicit scales linearly with $\Delta t^2$, and therefore the global truncation error should scale with $\Delta t$, so they are both first order accurate. And from what I understand also the constant in front of $\Delta t$ should be the same, or is here where I am doing wrong? In FLOW-3D technical manual on implicit vs explicit methods I read that:

For an implicit method to have minimal under-relaxation (i.e., little damping), a time-step size much smaller than the stable, explicit value would have to be used. [...] To reduce this under-relaxation damping the time-step size would have to be much smaller than the explicit stability limit, but this makes little sense since an implicit method is not required.

Is this true? Since they are both first order, are we saying that it is possible to prove that the proportionality constant in front of $\Delta t$ is larger for the implicit scheme and depends on the step (larger damping for higher steps)? Can the answer to this question be generalized to Runge-Kutta schemes?

  • Could it be that the Flow-3D manual is referring to extra diffusion in space (i.e. in Dx, Dy and Dz) added by the implicit Euler scheme applied in time? I am not sure this also apply to a standard ODE, but maybe only on ODEs which stem from a spatial discretization of an unsteady 1D-2D-3D problem. – Lupocci Nov 8 at 19:06

In general, just because method A provides certain guarantees (such as unconditional stability, energy conservation, being symplectic) does not imply that it is more accurate. In fact, a common observation is that the opposite may be true: For example, if a method is symplectic, then it guarantees that the error is zero with regard to certain quantities (e.g. angular momentum) but that in the norm of the solution vector, the error is often larger than other methods that are not symplectic. It's a bit like a water balloon: if you squeeze it in one direction, it has to expand in the other direction.

So no, there is no reason to believe that the implicit Euler method is, in general, more accurate than the explicit Euler method.

  • Ok thanks. But is there a way to show that it is less precise than the Euler explicit like the Flow3D developers say? – Lupocci Nov 10 at 4:23
  • 1
    I suspect that it all depends on the testcase. How would you define "less accurate" in general? You need to specify on which testcase! – Wolfgang Bangerth Nov 11 at 20:12
  • On the link I posted, flow3d developer states that for small dt one can prove that euler implicit is less accurate than the explicit. I would like to see a proof of that. – Lupocci Nov 12 at 0:04
  • A proof would be that the coefficient multiplying Dt in the truncation error is function of dt and for smaller dt for Euler Implicit it is larger than for Euler Explicit – Lupocci Nov 12 at 0:06
  • @Lupocci On my reading, the statement isn't that implicit methods are always less accurate than implicit methods, but that for their choice of formulation it's computationally more efficient to use an explicit method rather than an implicit one as the $\Delta t$ vanishes. That is, the underlying assumption is that explicit methods are cheaper, and should be used if possible below the stability threshold. This isn't necessarily true it you're using a finite element formulation for example. – origimbo Nov 12 at 8:28

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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