I currently need to solve numerically the following reaction-diffusion equation:


For this purpose, I use the following numerical scheme (Crank-Nicolson??): $$ \frac{u(x,t+\delta t)-u(x,t)}{\delta t} = \frac{1}{2(\delta x)^2} \left[u(x+\delta x,t+\delta t)-2u(x,t+\delta t)+u(x-\delta x,t+\delta t)+u(x+\delta x,t)-2u(x,t)+u(x-\delta x,t)\right] + u(x,t)-u^2(x,t)$$

How can I investigate the stability of this scheme?

  • $\begingroup$ This is not truly Crank-Nicolson, as that it the trapezoidal method in time and would require $u-u^2$ to translate to $\frac12(u(x,t)−u(x,t)^2+u(x,t+δt)−u(x,t+δt)^2)$. This then requires a non-linear solver for the time step. The solution is close to the value of the Euler step or some other extrapolation of previous steps. $\endgroup$ Oct 6, 2019 at 6:15

1 Answer 1


Your discretization is correct but it's not the simplest one. I recommend to try the simplest one and if you find out it's not stable or doesn't give you desired accuracy, switch to the more advanced ones. I prefer this scheme cause it doesn't need to introduce linear system solvers into the implementation and maybe more efficient:

$$\partial^{2}_{x} u(x,t) = \frac{u^{t}_{x+\delta x}+u^{t}_{x-\delta x} - 2 u^{t}_{x}}{\delta x^{2}}$$

So, finally your update equation is:

$$u^{t+\delta t}_{x} = u^{t}_{x} + \delta t (\frac{u^{t}_{x+\delta x}+u^{t}_{x-\delta x} - 2 u^{t}_{x}}{\delta x^{2}} + u^{t}_{x} - (u^{t}_{x})^{2})$$

For stability, you should play around with a couple of $\delta t$ and $\delta x$ but for more detailed analysis I refer you to here: Linear Stability Analysis of Reaction-Diffusion Systems

  • 1
    $\begingroup$ The discretization I used is from the Crank - Nicolson scheme. So I don't think it is wrong. $\endgroup$
    – Lê Dũng
    Oct 2, 2019 at 16:40
  • $\begingroup$ For the link you provided, I think it is for the investigation of the stability of the homogeneous states of the original continuous reaction-diffusion equation (i.e., not the discretization scheme). $\endgroup$
    – Lê Dũng
    Oct 4, 2019 at 7:13
  • 1
    $\begingroup$ The equation you state is basically the "fisher equation", also called fisher-KKP equation. That might help in researching appropriate schemes. $\endgroup$
    – MPIchael
    Oct 4, 2019 at 8:36
  • $\begingroup$ @MPIchael Thank you very much. Indeed I know that it is the FKPP equation. However, since I tried to search for general parabolic case, the searching result is diffused. Your suggestion is nice. $\endgroup$
    – Lê Dũng
    Oct 4, 2019 at 13:59
  • $\begingroup$ One should note that your discretization has order one in both directions, while a properly executed Crank-Nicolson has order two. $\endgroup$ Oct 6, 2019 at 6:16

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.