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 aTimeobject.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 aTimeobject.thrusts (np.ndarray) – (N, 4) array of (time, (3, ) thrust) at N timesteps ranging from
start_timetoend_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 unlessinertialis set toTrue.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_timeand the last is the mass atend_timeor alternatively as a function. Can not be a lambda function as this interferes with parallel processing capabilities.inertial (bool) – Whether the
velocity_changeis 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().