base

A parent class used for interfacing any propagator.

Module summary

Classes

Propagator([settings, profiler, logger])

Contents

Propagator

class sorts.propagator.base.Propagator(settings=None, profiler=None, logger=None)[source]

Bases: abc.ABC

convert_time(t, epoch)[source]

Convert input time and epoch variables to astropy.TimeDelta and astropy.Time variables of the correct format and scale.

heartbeat(t, state, **kwargs)[source]

Function applied after propagation to time t and state state, before next time step as given in the input time vector to propagate.

abstract propagate(t, state0, epoch, **kwargs)[source]

Propagate a state

This function uses key-word argument to supply additional information to the propagator, such as area or mass.

The coordinate frames used should be documented in the child class docstring.

SI units are assumed unless implementation states otherwise.

Parameters
  • t (float/list/numpy.ndarray/astropy.TimeDelta) – Time to propagate relative the initial state epoch.

  • epoch (float/astropy.Time) – The epoch of the initial state.

  • state0 (any) – State vector in SI-units.

Returns

State vectors in SI-units.