We want to use the Fourier discrete transform to analyze the stability of leapfrog scheme for 1D diffusion eqn $v_t = \nu v_{xx}$


The leapfrog numerical discretization is given by

$$ \frac{ u_k^{n+1} - u_{k}^{n-1} }{2 \Delta t } = \nu \frac{ u_{k+1}^n - 2 u_k^n + u_{k-1}^n }{\Delta x } $$

With $r = 2 \nu \Delta t / \Delta x$, we can write our numerical scheme

$$ u_{k}^{n+1} = u_k^{n-1} + 2r ( u_{k+1}^n - 2u_k^n + u_{k-1}^n ) $$

(Def:) the discrete Fourier discrete transform of $u \in l_2$ is the function defined in $L_2[- \pi, \pi] $ by

$$ \hat{u}(\xi) = \frac{1}{ \sqrt{2 \pi } } \sum_{k=-\infty}^{\infty} e^{-i k \xi }u_k$$

for $\xi \in [-\pi, \pi]$.

If we apply the discrete Fourier transform to our scheme and then shifting the index $k$ appropriately, one obtains

$$ \hat{u}^{n+1} ( \xi) = \hat{u}^{n-1} ( \xi) + (2 r e^{i \xi} - 4r + 2r e^{- i \xi} ) \hat{u}^n(\xi) $$

And here is where I'm looking for some guidance. I know how to perform Von Neumann analysis for 1-level schemes, but how do we handle these situations when we have 2-level scheme?

  • $\begingroup$ Your second order difference quotient is missing a square in the denominator. $\endgroup$ Commented Mar 1, 2019 at 16:54

1 Answer 1


The characteristic equation for the recursion in $\hat u^n(ξ)$ is $$ q^2+4r(1-\cosξ)q-1=0\iff q_\pm(ξ)=q_\pm=-2r(1-\cosξ)\pm\sqrt{1+4r^2(1-\cosξ)^2}. $$ As both characteristic roots are real and their product is $-1$ with negative sum, the absolute value of the negative one will be larger than $1$. Which means that the resulting sequence $$\hat u^n(ξ)=c_1(ξ)q_+(ξ)^n+c_2(ξ)(-q_+(ξ))^{-n}$$ is almost always unstable. Even if initially $c_2(ξ)$ is very small, the accumulation of numerical errors will add to it in every step, and the alternating exponential term $$(-q_+(ξ))^{-n}\approx(-1)^n\exp(2nr(1-\cosξ))$$ will quickly grow, as the exponent $2nr(1-\cosξ)=(nΔt)\left(\frac{2\sinξ/2}{Δx}\right)^2$ is is positive and grows linearly in time $t_n=t_0+nΔt$.

  • $\begingroup$ how do you get this characteristic equation? you need to have the form ${\bf u^{n+1} } = |\rho( \xi ) | {\bf u^n} $ $\endgroup$
    – James
    Commented Mar 2, 2019 at 6:11
  • $\begingroup$ but in this situation we have n-1 time level. $\endgroup$
    – James
    Commented Mar 2, 2019 at 6:12
  • $\begingroup$ You have a second order difference equation, which gives you a degree 2 characteristic polynomial. $x_{n+1}=ax_n+bx_{n-1}$ has the characteristic polynomial $q^2-aq-b=0$. $\endgroup$ Commented Mar 2, 2019 at 14:54
  • $\begingroup$ I see now. Im seeing my book uses a different technique. They write the numerical discretization in the form $U^{n+1} = Q U^n $ Where $Q$ is 2 by 2 matrix. What difference between that approach and the one you use/ $\endgroup$
    – James
    Commented Mar 2, 2019 at 18:15
  • $\begingroup$ There is no difference. Diagonalization of $Q$ gives the same characteristic polynomial and the same solution formula. It is the same difference as solving a linear equation with constant coefficients directly or transforming it first into first-order form. $\endgroup$ Commented Mar 2, 2019 at 18:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .