RK5Integrator#

class gala.integrate.RK5Integrator(func, func_args=(), func_units=None, progress=False, store_all=True)[source]#

Bases: Integrator

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.

Parameters:
funcfunc

A callable object that computes the phase-space coordinate derivatives with respect to the independent variable at a point in phase space.

func_argstuple (optional)

Any extra arguments for the function.

func_unitsUnitSystem (optional)

If using units, this is the unit system assumed by the integrand function.

Methods Summary

__call__(w0[, mmap])

Run the integrator starting from the specified phase-space position.

run(w0[, mmap])

step(t, w, dt)

Step forward the vector w by the given timestep.

Methods Documentation

__call__(w0, mmap=None, **time_spec)[source]#

Run the integrator starting from the specified phase-space position. The initial conditions w0 should be a PhaseSpacePosition instance.

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.
Parameters:
w0PhaseSpacePosition

Initial conditions.

**time_spec

Timestep information passed to parse_time_specification.

Returns:
orbitOrbit
run(w0, mmap=None, **time_spec)#

Deprecated since version 1.9: The run function is deprecated and may be removed in a future version. Use Integrator call method instead.

Run the integrator starting from the specified phase-space position.

Deprecated since version 1.9: Use the __call__ method instead.

step(t, w, dt)[source]#

Step forward the vector w by the given timestep.

Parameters:
dtnumeric

The timestep to move forward.