astro.FunctionContinuousBurn#

class hohmannpy.astro.FunctionContinuousBurn(start_time, end_time, thrust_function, 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.

  • thrust_function (Callable,) – Function which when passed an input via thrust_function(time) returns the thrust as a (3, ) numpy array. By default, this is assumed to be in the satellite’s radial-transverse-normal (RTN) frame unless inertial is set to True. Can not be a lambda function as this interferes with parallel processing capabilities.

  • 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:

thrust_function (Callable,) – Function which when passed an input via thrust_function(time) returns the thrust as a (3, ) numpy array. By default, this is assumed to be in the satellite’s radial-transverse-normal (RTN) frame unless inertial is set to True.

evaluate(time, state, satellite)#

See ContinuousBurn . evaluate().