Skip to content

Propagation Code: Refactoring, Stage 2

Simon Spannagel requested to merge rkf into master

This MR takes a dive into the Runge-Kutta integration, adds a new (currently unused) Butcher tableau, adds documentation on all of them and adds a few references.

Most importantly, for TransientPropagation we switch from RK5 to RK4 since we have a fixed step width to better adhere to the binning of the current pulse and therefore do not need error estimation from the ordinary differential equation integrators. This reduces the number of required function calls from 6 to 4 for every step while yielding equivalent results (left RK5, right RK4):

line_plot_1_all_rk4

This MR is based on !1035 (merged) and should only be merged after.

Merge request reports