I have a question concerning the von Neumann stability analysis of finite difference approximations of PDEs. There seem to be a wealth of online source explaining the application of this stability analysis to a few example cases, most commonly the heat equation:

${\frac {\partial u}{\partial t}} = \alpha {\frac {\partial^2 u}{\partial x^2}}$

The procedure is also elaborated in the wikipedia article, so please refer to the linked source for a detailed stability analysis on this equation. Now my question: Is the Von Neumann stability analysis applicable if my PDE involves a constant term $C$, i.e. some sort of source term:

${\frac {\partial u}{\partial t}} - \alpha {\frac {\partial^2 u}{\partial x^2}}= C$

Wouldn't introducing a constant prohibit one from eliminating the variables introduced in the Fourier expansion? Can the von Neumann stability analysis applied here, and if yes, how?


1 Answer 1


From your link, consider the definition of the round off error and the statement "Since the exact solution must satisfy the discretized equation exactly, the error must also satisfy the discretized equation." This is actually only true if the PDE is homogeneous, that is, if we can write it in the form $\mathcal{L}(u;u_t,u_x,u_{xx},\ldots)=0$, with all terms involving the dependent variable or its derivatives.

In your case however, we have $\mathcal{L}(u)=C$. Keeping the notation from your link have assumed both the numerical solution, $N_i^{n}$ and the true trajectory ${u^n_i}$ satisfy the discretised equation $\mathcal{L}^*$, hence using the linearity of $\mathcal{L}^*$ the rounding error satisfies $\mathcal{L}^*(\epsilon)$= $\mathcal{L}^*(N)-\mathcal{L}^*(u) = C-C=0$, or in other words the homogeneous version of the operator. This means that the von Neumann analysis on conditions for the stability of the round-off error remains the same.


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.