JuliaCon 2020 (times are in UTC)

Implicit RK solver for high precision numerical integration

We present a Julia implementation of a 16th order Implicit Runge-Kutta integrator IRKGL16 (a 8-stage IRK scheme based on Gauss-Legendre nodes) for high accuracy numerical integration of non-stiff ODE systems. Our algorithm supports adaptive time-stepping, mixed precision and multithreading to solve problems fast and accuracy.
We show that our implicit solver is more efficient than existing explicit solvers for accuracy requirements that exceeds double precision arithmetic.


DifferentialEquations.jl is a modern ecosystem for solving differential equations in Julia that is still under heavy development and it includes a suite specifically designed for researchers interested in developing new methods for differential equations. So, we have considered a promising implicit RK method, called IRKGL16, and we have fully integrated it on DifferentialEquations.jl ecosystem.

The family of implicit Runge-Kutta schemes based on collocation with Gauss-Legendre nodes are known to be symplectic and super-convergent (order 2s for the method with s internal nodes), and thus very convenient for the high precision numerical integration of Hamiltonian systems with constant time-step size. For non-stiff problems, implementations based on fixed-point iterations are recommended.

We believe that, for general (non-necessarily Hamiltonian) non-stiff ODE systems, such implicit Runge-Kutta methods (implemented with fixed point iteration) can be very competitive for high precision computations (for accuracy requirements that exceeds double precision arithmetic). We present an implementation of a 8-stage IRK of order 16 for non-stiff ODEs with adaptive time-stepping, and compare its efficiency with standard non-stiff solvers.