Skip to content

ThrusterAssemblyCore

Defined in: thruster.rs:376

pub struct ThrusterAssemblyCore

Geometry, constraint, and load-aggregation logic for a group of thrusters.

Testable independently of the ODE integration. The wrapper ThrusterAssembly adds the commanded state and implements Model.

fn new(specs: [Vec<ThrusterSpec>](https://doc.rust-lang.org/std/vec/struct.Vec.html)) -> Self

Create an assembly from a list of thruster specs.

The propellant they draw from is the spacecraft’s, so the floor is not theirs to carry: see PropellantPool(super::PropellantPool).


fn num_thrusters(&self) -> usize

Number of thrusters in the assembly.


fn loads(&self, throttles: &[f64], state: &SpacecraftState, epoch: [Option<&Epoch>](https://doc.rust-lang.org/std/option/enum.Option.html)) -> ExternalLoads

Compute aggregate loads from per-thruster throttle values.

Each throttle is clamped to [0, 1]. Returns zero loads when throttles length does not match the number of thrusters. Whether the spacecraft has propellant left is its pool’s to say, and the system’s to act on.