I'm implementing a finite-difference WENO scheme for a simple advection equation$$\frac{\partial u}{\partial t} + \frac{\partial u}{\partial x} = 0$$with periodic boundary conditions.I'm not quite sure my scheme is conventional since it is mixing ideas from finite-difference and finite-volume methods in the following way: a time step consists of the reconstruction step and the evolution step. During the reconstruction step on the $i$-th interval the solution is approximated with$$U_i(x) = \frac{\sum_{k=1}^3 \alpha_k \gamma_k(x) P_i^{(k)}(x)}{\sum_{k=1}^3 \alpha_k \gamma_k(x)}$$where $P_i^{(k)}(x)$ are the quadratic interpolants for the $k$-th small stencil, $\gamma_k(x)$ are the blending functions, so $\sum_k \gamma_k(x)P_i^{(k)}(x)$ is the (unique) fourth order intepolant passing through the points $(x_{i-2}, u_{i-2}),\dots,(x_{i+2}, u_{i+2})$. Finally, $\alpha_k$ are related to the smoothness indicators $\beta_k$ as$$\alpha_k = \frac{1}{(\beta_k + \epsilon)^2}.$$Actually, the conventional $u_{i+1/2}$ is simply the value of $U_i(x)$ at $x = x_{i+1/2}$.The evolution step is done in upwind manner using the first order Euler method:$$\frac{u_i^{n+1} - u_i^n}{\Delta t} + \frac{U_i(x_{i+1/2}) - U_{i-1}(x_{i-1/2})}{\Delta x} = 0.$$The CFL number $\frac{\Delta t}{\Delta x}$ was taken to be $0.15$.In my numerical experiments I observe instability (in the right half of the plot). It occurs after different number of timesteps, depending on the number of spatial intervals and the CFL number. The number of intervals $N$ was taken to be $N = 100$ and $20N$ time steps was done.I have a feeling that explicit first order Euler integrator is unstable for the problem. I recall similar behavior of DG methods where the Euler time integrator is unstable if the spatial polynomial degree is greater than 1. What time integrator is suitable for the problem? Is it sufficient to use third order TVD Runge-Kutta or I need a fifth order one?Here is the code if someone is interested.
Time integrator for a WENO scheme for advection equation
time integration