# How to calculate numerical dispersion relations for Spectral Elements?

How can we determine the numerical dispersion relation of a Spectral Element Method which leads to coupled systems of algebraic equations?

What approaches to do analysis of dispersion relations is available?

The key steps are to consider the advection equation $u_t + au_x = 0$ where $a=\omega/k$ is the advection speed. Exact solutions to this equation is of the form $u(x,t) = f(x-at)$, where $f(y)$ is an arbitrary function.

For example, discretize using a standard Galerkin method we derive the weak form $\int_\Omega v u_t dx + \int_\Omega a u_x = 0$

Assuming that the SEM solution is of the form $u(x,t) = \sum_j u_j N_j(x)$

and selecting the test functions $v=N_i(x)$, we can derive the algebraic system of equations $M \frac{d}{dt} {\bf u} + a S {\bf u} = 0$

where $M_{ij} = \int_\Omega N_i N_j dx, \quad S_{ij} = \Omega N_i N_j' dx$

Assuming the solution ansatz $u(x,t) = A \exp( i (k x - \omega t) )$ we can insert this in the solution vector to derive a generalised eigenvalue problem of the form $-i \omega M {\bf u} + a S {\bf u} = 0$

We can introduce a dimensionless variable $-i \Omega M {\bf u} + S {\bf u} = 0$

where $\Omega = \frac{\omega h}{a}$, $h$ is the element size and $a$ is the advection speed.

By solving for the eigenpairs $(v,\lambda)$ of the generalised eigenvalue problem $Av=Bv\lambda$, we can obtain estimates of the angular frequency $\omega$ which can be used to characterise the numerical dispersion. The $\lambda\approx \Omega$.

In Matlab this can be implemented as

B = 1i*M; A = S; [V,D] = eig(A,B);

where D contains the eigenvalues of the system and V the eigenvectors. The numerical value contained in D that matches the analytical the closest is assumed to be the approximation to the physical eigenmode.

Also, it is noted that Both M and S is constructed to be periodic.

• In your second equation, what is "c"? You seem to be switching between "S" and "A" (which is also used in your Ansatz); is there a difference? – Max Hutchinson Feb 6 '15 at 16:02
• Made some minor corrections, to fix the small errors in notation. Than you. – Allan P. Engsig-Karup Feb 7 '15 at 20:33