This package is obsolete and archived. Please use DifferentialEquations.jl.
An implementation of the well-known Runge-Kutta-Fehlberg time integration method of 4th and 5th order (RKF45). The algorithm integrates differential equations of the form:
dx / dt = f[x](t)
f can be either a function or a functional of
x. This is useful for certain types of partial differential equations (e.g. the heat equation).
You import the package as usual:
The package exports exactly one function
rkf45_step(f, x, t, tolerance, dt[, error, safety])
dt as a tuple.
Most arguments should be self-explanatory but more detailed documentation is included in the package.
Most likely you will iterate over
rkf45_step() and sum up
The algorithm will run most efficiently if you pass the last return value for
dt back into
rkf45_step() at the next iteration.
The r.h.s. function
f() must take exactly two arguments,
t. Currently, there is no way to pass additional parameters to
However, you can easily define an intermediate function which contains the values of each parameter and then pass it to
f() at least 6 times during each step, so optimizing
f() can increase performance a lot.
I am currently hosting this in a separate package, but I am open to suggestions w.r.t. inclusion in a package for time integration methods.