I have written a code which solves the incompressible formulation of the Navier-Stokes equations. It uses high-order methods both for time and spatial derivatives. I have been conducting convergence rate analysis to validate the high-order aspect of my solver.

For space convergence, the problem was relatively simple. For example, I choose a timestep of $\mathrm{dt} = 10^{-4}$, started with a 32-points ($\sqrt{n_x n_y}$) grid and refined my grid by factors of 2. At the 1024-grid, the $L_2$-error reached a plateau, which corresponds to the point where the leading error term comes from the time discretization scheme.

The time convergence study was not as easy. I am using an explicit low-storage RK3 method. The problem is that I need to have a grid fine enough so that the leading error term is that of the time discretization. Based on the CFL condition, this yields a very small $\mathrm{dt}$ for the simulation to be stable. When reducing $\mathrm{dt}$ to compute the rate of convergence, I very quickly reach plateau, which is indicative that the leading error term comes from the spatial discretization. Therefore, I need to further refine my grid, which would in turn lead to a smaller time-step and so on. This feels like the snake biting its own tail.

For example, let's say I start my convergence analysis in time for a 4096-points grid and a time-step of $\mathrm{dt} = 10^{-4}$. I obtain the $L_2$-error for $\mathrm{dt} = 5 \mathrm{x} 10^{-5}, 2.5 \mathrm{x} 10^{-5}, 1.25 \mathrm{x} 10^{-5}$ and observe an order of convergence of $2.99, 2.70$ and $0.26$, respectively, with that last value indicating that the leading error term has now becomes that of the spatial discretization. In the end, there isn't much convergence to show, as opposed to that for the spatial schemes mentioned above.

So now I am wondering, am I taking the right approach? This seems overly complicated and time-consuming for a seemingly simple task.

  • 1
    $\begingroup$ I suppose that NSE means Navier-Stokes and not, say, nonlinear Schrodinger. But it's wise to write things out before you abbreviate them. $\endgroup$ Feb 16, 2017 at 18:31
  • $\begingroup$ @DavidKetcheson I apologize for that. It's done! $\endgroup$
    – solalito
    Feb 16, 2017 at 19:08
  • $\begingroup$ What kind of test case are you using to conduct convergence analysis? If I were you, I would look into the method of manufactured solution to generate a test case which is very sensitive in time (large time derivative) compared to the other terms, and thus this would make you analysis much simpler. $\endgroup$
    – BlaB
    Apr 18, 2017 at 12:54

1 Answer 1


It depends on exactly what you want to validate. Usually one wishes to confirm convergence of the full discretization, which requires simultaneous refinement in space and time. I would recommend doing your convergence study that way.

If you do want to investigate purely convergence of the time discretization and you are using the method of lines, I think it's correct to think about convergence to the exact solution of the semi-discrete system, rather than of the PDE. This is often done in the literature on numerical time discretization.


Your Answer

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

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