As a model of a more complex problem, I am studying a linear advection equation with a rapidly oscillating velocity $$ \partial_t u + a \cos(\omega t) \partial_x u = 0 $$ with initial condition $u(x,0) = \phi(x)$. The exact solution is $$ u(x,t) = \phi(x-a\omega^{-1}\sin(\omega t)). $$ I am trying to develop a finite difference method that
- Remains accurate when the time step is of order the oscillation period $(\omega\Delta t \sim 1$)
- Remains stable when using spatial meshes such that $\Delta x < a\Delta t$
Criterion 2 obviously points me toward implicit methods, but it is less clear what to do about Criterion 1. I have been trying to explore time integration methods based on quadrature of highly oscillatory functions, e.g., Filon's rule. Based on this idea, I write $$ u(x,t+\Delta t) = u(x,t) - \int_{t}^{t+\Delta t}a\cos(\omega\tau)\partial_xu(x,\tau) d\tau $$ A trapezoid-like rule that integrates $\exp(i\omega t)$ and $t \exp(i\omega t)$ exactly is $$ \frac{1}{\Delta t}\int_{t}^{t+\Delta t} f(\tau)e^{i\omega\tau}d\tau\approx c f(t)e^{i\omega t}+c^*f(t+\Delta t)e^{i\omega(t+\Delta t)} $$ $$ c = \frac{1 + i\omega\Delta t - e^{i\omega\Delta t}}{\omega^2\Delta t^2} $$ Using this quadrature in the same manner as one would use trapezoid integration, I write a semi-discrete approximation to the advection equation $$ u^{n+1} = u^n-a\Delta t~\Re[ce^{i\omega t_n}] \partial_xu^n-a \Delta t~\Re[c^*e^{i\omega t_{n+1}}]\partial_xu^{n+1} $$ Now I have to decide what to do about my spatial differencing. I have already attempted central differencing to form a Crank-Nicolson-like method, but I found it produced unphysical trailing oscillations, just like the usual CN method. Rather than continue other methods by trial and error, I hope to do some analysis. Since the coefficients are time-dependent, I can't really use standard Fourier mode amplification analysis. So my questions are
- Is there an existing literature on methods for stepping over rapid oscillations in PDEs?
- What analysis tools are at my disposal to try to derive a suitable spatial difference scheme in the above case?