2
$\begingroup$

I have a numerical discretization of a partial differential equation that seems to be unstable or stable at a boundary point, depending on what finite difference scheme I am using. Are there standard methods for investigating stability at boundaries?

I only know of the von Neumann stability analysis, but that seems to take into account the whole region, and I am particularly interested in instabilities coming from the boundary.

$\endgroup$
  • $\begingroup$ What happens at this point? Do you have a change in type of the boundary condition? Sometimes there's a known analytical problem at such a point in the continuous problem which can lead to trouble in your discretization. $\endgroup$ – Bill Barth Nov 3 '15 at 14:19
  • $\begingroup$ So there are some terms that go to infinity at this boundary, so I know it is a problematic one. However, it is stable when I use a first order finite difference method, but not when I use a higher order one (with non-symmetric stencils at this boundary). I am trying to understand why... $\endgroup$ – Jonathan Lindgren Nov 3 '15 at 16:16
  • $\begingroup$ Can you write down your differential equation? And, more importantly, your boundary conditions? $\endgroup$ – nicoguaro Nov 4 '15 at 7:14
3
$\begingroup$

If your PDE and your discretization are linear, then your numerical method can be written as

$$U_{n+1} = A U_n$$

where $A$ is a square matrix. One way to investigate stability is to look at some induced matrix norm of $A$: if it is larger than 1, the discretization is unstable. This is completely general and is probably what you are looking for. Below I explain that von Neumann analysis is just a special case of this general approach.

If $A$ is a normal matrix (i.e., if $AA^T = A^T A$), then to show stability it is sufficient to check that the eigenvalues of $A$ are not larger than 1 in modulus. That is because for normal matrices, the induced 2-norm is equal to the modulus of the largest eigenvalue.

If the problem has periodic boundary conditions and a standard finite difference discretization is used, then $A$ will be a circulant matrix. Circulant matrices are normal, and the eigenvectors of circulant matrices are just discrete Fourier modes. This makes it easy to compute their eigenvalues, and von Neumann analysis is simply a way of determining those eigenvalues.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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