empyrean.ThrustArc

class ThrustArc(start_mjd_tdb, end_mjd_tdb, thrust_n, mass_kg, steering, sharpness, central_body, isp_s=None)[source]

Bases: object

A single continuous-thrust arc with smooth on/off switching and optional mass depletion.

Methods

__init__(start_mjd_tdb, end_mjd_tdb, ...[, ...])

Attributes

isp_s

Specific impulse in seconds.

start_mjd_tdb

Arc start epoch (MJD TDB).

end_mjd_tdb

Arc end epoch (MJD TDB).

thrust_n

Engine thrust force in Newtons.

mass_kg

Spacecraft mass at arc start in kilograms.

steering

Steering law for this arc.

sharpness

tanh\tanh switching sharpness (1/days).

central_body

Central body for the RTN / velocity-tangent frame reference.

Parameters:
  • start_mjd_tdb (float)

  • end_mjd_tdb (float)

  • thrust_n (float)

  • mass_kg (float)

  • steering (ConstantRTN | VelocityTangent | InertialFixed)

  • sharpness (float)

  • central_body (Origin)

  • isp_s (float | None)

start_mjd_tdb: float

Arc start epoch (MJD TDB).

end_mjd_tdb: float

Arc end epoch (MJD TDB).

thrust_n: float

Engine thrust force in Newtons.

mass_kg: float

Spacecraft mass at arc start in kilograms.

steering: ConstantRTN | VelocityTangent | InertialFixed

Steering law for this arc.

sharpness: float

tanh\tanh switching sharpness (1/days). Higher values give sharper on/off transitions (closer to bang-bang). Typical values: 1000-10000 for burns of minutes, 100 for multi-hour arcs.

central_body: Origin

Central body for the RTN / velocity-tangent frame reference. The spacecraft state is expressed relative to this body before the thrust direction is computed — e.g. Origin.EARTH for geocentric arcs, Origin.SUN for heliocentric ones.

isp_s: float | None = None

Specific impulse in seconds. When set, mass depletes linearly during the burn at m˙=F/(Ispg0)\dot m = F/(I_{sp}\,g_0); None holds mass constant.