Improve Chebyshev expansion
Description
-
Improve error estimate for Chebyshev expansion: Use the estimate from Hochbruck, M. & Ostermann, A.: Exponential Runge–Kutta methods for parabolic problems. Applied Numerical Mathematics 53, 323–339 (2005), Theorem 4.3 to truncate the expansion.
Set the tolerance to 1e-5, in line with the Lanczos expansion.
-
Improve estimate of spectrum of discrete Laplace operator: Evaluate the Fourier transform at the maximum phase for the star and star_general stencils, using the weights from the stencil. This makes it generic for all orders and also for non-orthogonal grids with the star_general stencil. The bounds are much better than the continuum bounds for non-orthogonal cells, leading to a faster convergence of the Chebyshev expansion.
-
Also replace the non-batchified version of the exponential by a wrapper to the batchified version.
Checklist
-
I have checked that my code follows the Octopus coding standards -
I have added tests for all the new features added in this request.