- class gala.integrate.RK5Integrator(func, func_args=(), func_units=None, progress=False, store_all=True)[source]#
Initialize a 5th order Runge-Kutta integrator given a function for computing derivatives with respect to the independent variables. The function should, at minimum, take the independent variable as the first argument, and the coordinates as a single vector as the second argument. For notation and variable names, we assume this independent variable is time, t, and the coordinate vector is named x, though it could contain a mixture of coordinates and momenta for solving Hamilton’s equations, for example.
A callable object that computes the phase-space coordinate derivatives with respect to the independent variable at a point in phase space.
Any extra arguments for the function.
If using units, this is the unit system assumed by the integrand function.
Run the integrator starting from the specified phase-space position.
step(t, w, dt)
Step forward the vector w by the given timestep.
- run(w0, mmap=None, **time_spec)[source]#
Run the integrator starting from the specified phase-space position. The initial conditions
w0should be a
There are a few combinations of keyword arguments accepted for specifying the timestepping. For example, you can specify a fixed timestep (
dt) and a number of steps (
n_steps), or an array of times:
dt, n_steps[, t1] : (numeric, int[, numeric]) A fixed timestep dt and a number of steps to run for. dt, t1, t2 : (numeric, numeric, numeric) A fixed timestep dt, an initial time, and a final time. t : array-like An array of times to solve on.
Timestep information passed to