|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Public Member Functions | |
| __init__ (self, ColdGasThrusterConfig config) | |
| ColdGasThrusterResult | compute (self) |
| np.ndarray | generate_nozzle_contour (self, int steps=200, bool do_plot=True, bool color_segments=True) |
Public Attributes | |
| cfg = config | |
Cold-gas thruster performance analyser. Usage ----- >>> cfg = ColdGasThrusterConfig( ... throat_diameter=0.005, ... exit_diameter=0.010, ... inlet_pressure=500_000, ... ) >>> cgt = ColdGasThruster(cfg) >>> result = cgt.compute() >>> print(result.summary())
Definition at line 260 of file cold_gas_thruster.py.
| payload.cold_gas_thruster.ColdGasThruster.__init__ | ( | self, | |
| ColdGasThrusterConfig | config ) |
Definition at line 275 of file cold_gas_thruster.py.
| ColdGasThrusterResult payload.cold_gas_thruster.ColdGasThruster.compute | ( | self | ) |
Run the full isentropic cold-gas analysis and return results.
Definition at line 281 of file cold_gas_thruster.py.
References engine.control.robust_ddp.controller.RobustDDPController.cfg, engine.control.robust_ddp.identify.ParameterIdentifier.cfg, and cfg.
| np.ndarray payload.cold_gas_thruster.ColdGasThruster.generate_nozzle_contour | ( | self, | |
| int | steps = 200, | ||
| bool | do_plot = True, | ||
| bool | color_segments = True ) |
Generate the converging-diverging nozzle + chamber contour.
Two paths are available:
**Solved path** (preferred): when ``config.volume_chamber > 0``, calls
:func:`engine.core.chamber_geometry_solver.solved_chamber_plot` which is
purely geometric — no CEA or thermodynamic iteration required. Requires:
``A_throat``, ``A_exit``, ``volume_chamber``, ``chamber_diameter``, and
``chamber_length`` (``Lstar`` is optional / informational).
**Fallback path**: when ``volume_chamber`` is not set, the original
hand-rolled contour (cylindrical section + 45° contraction + Rao bell) is
used for backward-compatibility.
Parameters
----------
steps : int
Number of points per contour segment.
do_plot : bool
Whether to save a plot to ``payload/cgt_nozzle.png``.
color_segments : bool
Colour-code sections in the plot (fallback path only).
Returns
-------
pts : np.ndarray, shape (N, 2)
Contour points (axial x [m], radius y [m]).
Definition at line 370 of file cold_gas_thruster.py.
References engine.control.robust_ddp.controller.RobustDDPController.cfg, engine.control.robust_ddp.identify.ParameterIdentifier.cfg, cfg, and max.
| payload.cold_gas_thruster.ColdGasThruster.cfg = config |
Definition at line 276 of file cold_gas_thruster.py.
Referenced by test_robust_ddp_controller_integration.TestControllerIntegration._simulate_dynamics(), compute(), generate_nozzle_contour(), test_combustion_stability_audit.TestIntegration.test_acoustic_report_only_by_default(), test_robust_ddp_reference.TestReferenceGeneration.test_altitude_command(), test_robust_ddp_reference.TestReferenceGeneration.test_altitude_command_below_goal(), test_robust_ddp_actuation.TestActuation.test_binary_actuation_sigma_delta(), test_robust_ddp_actuation.TestActuation.test_binary_actuation_threshold(), test_robust_ddp_reference.TestReferenceGeneration.test_build_reference_altitude_mode(), test_robust_ddp_reference.TestReferenceGeneration.test_build_reference_slew_rate(), test_robust_ddp_reference.TestReferenceGeneration.test_build_reference_thrust_mode(), test_combustion_stability_audit.TestIntegration.test_chug_gate_is_the_gain_margin_band_minimum(), test_robust_ddp_safety_filter.TestSafetyFilter.test_compute_action_cost(), test_robust_ddp_actuation.TestActuation.test_compute_actuation_binary(), test_robust_ddp_actuation.TestActuation.test_compute_actuation_clamping(), test_robust_ddp_actuation.TestActuation.test_compute_actuation_dwell_enforcement(), test_robust_ddp_actuation.TestActuation.test_compute_actuation_dwell_satisfied(), test_robust_ddp_actuation.TestActuation.test_compute_actuation_pwm(), test_robust_ddp_controller_integration.TestControllerIntegration.test_controller_integration(), test_robust_ddp_reference.TestReferenceGeneration.test_estimate_thrust_bounds(), test_robust_ddp_safety_filter.TestSafetyFilter.test_filter_action_clamping(), test_robust_ddp_safety_filter.TestSafetyFilter.test_filter_action_safe(), test_robust_ddp_safety_filter.TestSafetyFilter.test_filter_action_unsafe_mr(), test_robust_ddp_safety_filter.TestSafetyFilter.test_filter_action_unsafe_ullage(), test_robust_ddp_safety_filter.TestSafetyFilter.test_find_best_safe_action(), test_robust_ddp_ddp_solver.TestDDPSolver.test_forward_rollout(), test_robust_ddp_safety_filter.TestSafetyFilter.test_generate_action_candidates(), test_robust_ddp_identify.TestParameterIdentification.test_get_params(), test_robust_ddp_identify.TestParameterIdentification.test_identify_alpha_F(), test_robust_ddp_identify.TestParameterIdentification.test_identify_alpha_O(), test_robust_ddp_identify.TestParameterIdentification.test_identify_copv_coefficients(), test_robust_ddp_identify.TestParameterIdentification.test_identify_tau_line_F(), test_robust_ddp_identify.TestParameterIdentification.test_identify_tau_line_O(), test_combustion_stability_audit.TestIntegration.test_missing_injector_drop_is_recorded_and_zero_is_zero(), test_combustion_stability_audit.TestIntegration.test_model_error_fails_closed(), test_robust_ddp_identify.TestParameterIdentification.test_parameter_bounds(), test_robust_ddp_reference.TestReferenceGeneration.test_project_thrust_bounds(), test_robust_ddp_reference.TestReferenceGeneration.test_project_thrust_slew_rate(), test_robust_ddp_ddp_solver.TestDDPSolver.test_running_cost(), test_robust_ddp_ddp_solver.TestDDPSolver.test_running_cost_with_errors(), test_robust_ddp_safety_filter.TestSafetyFilter.test_tube_violates_constraints_copv_min(), test_robust_ddp_safety_filter.TestSafetyFilter.test_tube_violates_constraints_mr(), test_robust_ddp_safety_filter.TestSafetyFilter.test_tube_violates_constraints_safe(), test_robust_ddp_safety_filter.TestSafetyFilter.test_tube_violates_constraints_ullage_max(), and test_robust_ddp_identify.TestParameterIdentification.test_update_config().