STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
payload.cold_gas_thruster.ColdGasThruster Class Reference

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

Detailed Description

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.

Constructor & Destructor Documentation

◆ __init__()

payload.cold_gas_thruster.ColdGasThruster.__init__ ( self,
ColdGasThrusterConfig config )

Definition at line 275 of file cold_gas_thruster.py.

Member Function Documentation

◆ compute()

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.

◆ generate_nozzle_contour()

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.

Member Data Documentation

◆ cfg

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().


The documentation for this class was generated from the following file: