Context: Calculating stellar pulsations requires a sufficient accuracy to match the quality of the observations. Many current pulsation codes apply a second order finite-difference scheme, combined with Richardson extrapolation to reach fourth order accuracy on eigenfunctions. Although this is a simple and robust approach, a number of drawbacks exist thus making fourth order schemes desirable. A robust and simple finite-difference scheme, which can easily be implemented in either 1D or 2D stellar pulsation codes is therefore required. Aims: One of the difficulties in setting up higher order finite-difference schemes for stellar pulsations is the so-called mesh-drift instability. Current ways of dealing with this defect include introducing artificial viscosity or applying a staggered grids approach. However these remedies are not well-suited to eigenvalue problems, especially those involving non-dissipative systems, because they unduly change the spectrum of the operator, introduce supplementary free parameters, or lead to complications when applying boundary conditions. Methods: We propose here a new method, inspired from the staggered grids strategy, which removes this instability while bypassing the above difficulties. Furthermore, this approach lends itself to superconvergence, a process in which the accuracy of the finite differences is boosted by one order. Results: This new approach is shown to be accurate, flexible with respect to the underlying grid, and able to remove mesh-drift.
Read full abstract