This paper introduces a new algorithm to improve the accuracy of numerical phase-averaging in oscillatory, multiscale, differential equations. Phase-averaging is a timestepping method which averages a mapped variable to remove highly oscillatory linear terms from the differential equation. This retains the main contribution of fast waves on the low frequencies without explicitly resolving the rapid oscillations. However, this comes at the cost of introducing an averaging error. To offset this, we propose a modified mapping that includes a mean correction term encoding an average measure of the nonlinear interactions. This mapping was introduced in Tao (2019) for weak nonlinearity and relied on classical time-averaging, which leaves only the zero frequencies. Our algorithm instead considers mean corrected phase-averaging when 1) the nonlinearity is not weak but the linear oscillations are fast and 2) finite averaging windows are applied via a smooth kernel, which has the advantage of retaining low frequencies whilst still eliminating the fastest oscillations. In particular, we introduce a local mean correction that combines the concepts of a mean correction and finite averaging; this retains low-frequency components in the mean correction that are removed with classical time-averaging. We show that the new timestepping algorithm reduces phase errors in the mapped variable for the swinging spring ODE in various dynamical configurations. We also show accuracy improvements with a local mean correction compared to standard phase-averaging in the one-dimensional rotating shallow water equations, a useful test case for weather and climate applications.
翻译:暂无翻译