astro.LookupContinuousBurn#

class hohmannpy.astro.LookupContinuousBurn(start_time, end_time, thrusts, masses=None, inertial=False)#

Continuous burn where a time-varying thrust is interpolated from a lookup table.

Parameters:
  • start_time (Any[float, Time]) – The time at which the burn is to begin. Can either be the relative time since mission start in seconds or a Time object.

  • end_time (Any[float, Time]) – The time at which the burn is to end. Can either be the relative time since mission start in seconds or a Time object.

  • thrusts (np.ndarray) – (N, 4) array of (time, (3, ) thrust) at N timesteps ranging from start_time to end_time. Each row consists of the time for that entry followed by the 1, 2, and 3 components of the thrust. By default, this is assumed to be in the satellite’s radial-transverse-normal (RTN) frame unless inertial is set to True.

  • masses (Any[Optional[scipy.BSpline, Callable]]) – The mass can optionally change over the course of the burn. If it does, the masses of the satellite over time can be provided as either a (N, 2) lookup table of (time, mass) entries where the first row is the mass at start_time and the last is the mass at end_time or alternatively as a function. Can not be a lambda function as this interferes with parallel processing capabilities.

  • inertial (bool) – Whether the velocity_change is parameterized in planet-centered inertial coordinates.

Variables:

burn_spline (scipy.BSpline) – Cubic spline of the thrust. Calling it via burn_spline(time) returns the interpolated thrust at that time.

evaluate(time, state, satellite)#

See ContinuousBurn. evaluate().