Skip to content

Propulsion

The propulsion stage applies defined maneuver plans to the propagated state and tracks their orbital and propellant consequences. Use it when the burn plan is already known and the engineering question is:

  • how did the trajectory change?
  • how much delta-v and propellant were used?
  • was the target orbit reached within tolerance?
  • what electrical load did a finite spacecraft burn create?
flowchart LR STATE["Initial propagated state"] --> BURNS["Impulsive and finite burns"] MASS["Mass and engine definitions"] --> BURNS BURNS --> TRANSFER["Transfer state and burn events"] TRANSFER --> TARGET["Target-orbit evaluation"] TRANSFER --> POWER["Optional propulsion power load"]

Main Inputs

A RunSpec propulsion study combines:

  • mass for dry, payload, and propellant mass
  • propulsion.engines for thrust, specific impulse, throttle, and duration
  • propulsion.maneuver_plans for per-satellite burns
  • propulsion.targets for orbital closure and tolerances
  • propulsion.policy for finite-burn integration and target-reach behavior
mass:
  default:
    dry_mass_kg: 190
    payload_mass_kg: 35
    propellant_mass_kg: 20

propulsion:
  policy:
    reach_eval_mode: allow_wait
    finite_burn_step_s: 1
  engines:
    - engine_id: ep-main
      thrust_n: 0.5
      isp_s: 1500
      throttle_min: 0.2
      throttle_max: 1.0
  maneuver_plans:
    - satellite_id: CUSTOMER-EP-P1-1
      finite_burns:
        - burn_id: orbit-trim
          start_utc: '2026-03-01T00:10:00+00:00'
          duration_s: 600
          actor: satellite
          engine_id: ep-main
          throttle: 0.75
          direction:
            mode: orbital_enum
            orbital_enum: prograde

Burn directions can be expressed in supported orbital directions or as an inertial TEME vector. Finite burns are integrated at the configured internal burn step; impulsive burns apply their velocity change at a sampled event time.

Transfer timeline showing altitude, cumulative delta-v, remaining propellant, and two impulsive burn times.

The transfer timeline ties maneuver events to orbital change, cumulative delta-v, and remaining propellant.

Power Coupling

For finite spacecraft burns, power.propulsion can map an engine to continuous standby draw and an active increment. The active load may be constant or scale with executed throttle. Partial simulation intervals are duty-weighted.

Spacecraft electrical load includes finite spacecraft-owned burns. Launcher- and OTV-owned burns remain on their owning vehicle, while impulsive burns have no finite electrical duration. Omitting power.propulsion preserves an uncoupled power result.

Outputs

Artifact Contents
propulsion/timeline_propulsion.parquet transfer state, accumulated delta-v, and propellant over time
propulsion/burn_events.* requested and applied burn events and directions
propulsion/transfer_summary_by_satellite.* transfer and resource summary per spacecraft
propulsion/target_orbit_evaluation.* achieved orbit versus target and tolerances
propulsion/propulsion_summary.json run-level settings, counts, and provenance

These outputs are available to the Console analysis views and deterministic report/review workflows.

Packaged Example

Run:

astraeus run astraeus-resources/examples/user/propulsion-power-coupling.yaml

The example executes two finite electric-propulsion trims for one satellite and tracks the orbit, propellant, thruster load, battery response, and target-orbit evaluation in one result bundle.

Interpretation Limits

  • The user-facing surface evaluates explicit RunSpec maneuver plans. Design optimization remains a separate workflow.
  • Finite-burn fidelity depends on engine assumptions, mass inputs, direction, and finite_burn_step_s.
  • Target closure compares the propagated result against declared orbital tolerances. Navigation and flight certification require their own evidence.
  • Thermal, structural, plume, detailed feed-system, and actuator-control effects require dedicated higher-fidelity models.

For exact fields, see the RunSpec reference.