Given the advection equation for an incompressible flow field$$\frac{\partial c}{\partial t} + \mathrm{Pe} \frac{\partial c}{\partial x} = 0$$what would the best method be for discretizing this without introducing any numerical diffusion or oscillations? Specifically when we have step changes in boundary conditions, and time (and space) dependent velocity $v(x,t)$.The book Numerical Methods for Problems with Moving Fronts by Bruce A. Finlayson goes into great detail on this problem when you have step changes as boundary conditions.He recommends filtered leapfrog as the best finite difference method:$$c^{n+1}_i = \frac{\alpha}{2}\left(c_i^n + c_i^{n+2}\right) + (1-\alpha)c_i^{n-1} - \frac{\mathrm{Pe}\Delta t}{\Delta x}\left(c_{i+1}^n - c_{i-1}^n\right)$$ (filtered means $\alpha = 1$) and Taylor-Galerkin as the best finite element method:$$\frac{1}{6}\left(c_{i+1}^{n+1} - c_{i+1}^{n}\right) + \frac{2}{3}\left(c_{i}^{n+1} - c_{i}^{n}\right) + \frac{1}{6}\left(c_{i-1}^{n+1} - c_{i-1}^{n}\right) = -\frac{\mathrm{Pe}\Delta t}{\Delta x} \left(c^{n}_{i+1} - c^{n}_{i-1}\right) + \frac{\mathrm{Pe}^2\Delta t^2}{\Delta x^2}\left(c^{n}_{i+1} - 2c_i^n + c^{n}_{i-1}\right)$$but I was wondering what the consensus is today? I have tested the mentioned methods, and they both suffer from numerical and oscillation. But perhaps this can be managed by adjusting $\Delta t$ and $\Delta x$ in relation to the velocity?This answer to a related question regarding Crank-Nicholson and the advection equation states thatCrank-Nicolson is not necessarily the best method for the advection equation. It is second order accurate and unconditionally stable, which is fantastic. However it will generate (as with all centered difference stencils) spurious oscillation if you have very sharp peaked solutions or initial conditions.but gives no alternative methods.
Discretization method for advection equation without numerical diffusion
discretization;advection