|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Classes | |
| class | BurnTimeEval |
| class | AltitudeOptimizeResult |
Functions | |
| float | _integrate (np.ndarray times, np.ndarray values) |
| Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray] | truncate_time_series (np.ndarray times, np.ndarray thrust, np.ndarray mdot_O, np.ndarray mdot_F, float burn_time_s) |
| Tuple[float, float, float] | required_propellant_at_burn_time (np.ndarray times, np.ndarray thrust, np.ndarray mdot_O, np.ndarray mdot_F, float burn_time_s) |
| AltitudeOptimizeResult | optimize_minimum_fuel_burn_time (*, np.ndarray times, np.ndarray thrust, np.ndarray mdot_O, np.ndarray mdot_F, float target_apogee_m, float apogee_tolerance_m, Callable[[float], BurnTimeEval] simulate_at_burn_time, Optional[float] min_burn_time_s=None, Optional[float] max_burn_time_s=None, float time_resolution_s=0.05, int max_iterations=24) |
Find minimum-fuel burn time to reach a target apogee for a fixed time-series curve. For each candidate burn time T we truncate the thrust/mdot curve, load exactly the propellant required to complete that burn (∫mdot dt), and run flight simulation. The optimal burn time is the shortest T whose apogee meets the altitude target — which minimizes fuel mass because fuel_required(T) increases monotonically with T.
|
protected |
Definition at line 43 of file flight_altitude_optimizer.py.
Referenced by required_propellant_at_burn_time().
| AltitudeOptimizeResult engine.pipeline.flight_altitude_optimizer.optimize_minimum_fuel_burn_time | ( | * | , |
| np.ndarray | times, | ||
| np.ndarray | thrust, | ||
| np.ndarray | mdot_O, | ||
| np.ndarray | mdot_F, | ||
| float | target_apogee_m, | ||
| float | apogee_tolerance_m, | ||
| Callable[[float], BurnTimeEval] | simulate_at_burn_time, | ||
| Optional[float] | min_burn_time_s = None, | ||
| Optional[float] | max_burn_time_s = None, | ||
| float | time_resolution_s = 0.05, | ||
| int | max_iterations = 24 ) |
Binary-search the shortest burn time that reaches target_apogee_m.
Definition at line 105 of file flight_altitude_optimizer.py.
References max, min, and required_propellant_at_burn_time().
| Tuple[float, float, float] engine.pipeline.flight_altitude_optimizer.required_propellant_at_burn_time | ( | np.ndarray | times, |
| np.ndarray | thrust, | ||
| np.ndarray | mdot_O, | ||
| np.ndarray | mdot_F, | ||
| float | burn_time_s ) |
Return (lox_kg, fuel_kg, total_impulse_Ns) for burn truncated to burn_time_s.
Definition at line 88 of file flight_altitude_optimizer.py.
References _integrate(), and truncate_time_series().
Referenced by optimize_minimum_fuel_burn_time().
| Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray] engine.pipeline.flight_altitude_optimizer.truncate_time_series | ( | np.ndarray | times, |
| np.ndarray | thrust, | ||
| np.ndarray | mdot_O, | ||
| np.ndarray | mdot_F, | ||
| float | burn_time_s ) |
Return curve arrays truncated to burn_time_s (interpolated endpoint).
Definition at line 51 of file flight_altitude_optimizer.py.
Referenced by required_propellant_at_burn_time().