|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Classes | |
| class | Row |
Functions | |
| List[int] | _symmetric_n_values (int n_min, int n_max, *, bool quick, Optional[int] bins=None, Optional[int] quick_clip_max=None) |
| float | _geom_A (int n, float d_jet) |
| Optional[str] | _precheck_impinging_skip_reason (cfg, int n_O, float d_O, int n_F, float d_F, *, float P_O_psi, float P_F_psi) |
| Row | _failed_row (int n_O, float d_O, int n_F, float d_F, float P_O_psi, float P_F_psi, str err) |
| None | _apply_impinging_geometry (cfg, int n_O, float d_O, int n_F, float d_F) |
| Row | _one_eval (base_cfg, int n_O, float d_O, int n_F, float d_F, float P_O_psi, float P_F_psi) |
| bool | _in_dp_band (float r_o, float r_f, float lo=DP_BAND_LO, float hi=DP_BAND_HI) |
| bool | _in_r_band (float r, float lo=R_BAND_LO, float hi=R_BAND_HI) |
| bool | _mission_all_met (Row row, float F_t, float MR_t, *, float f_rel=MISSION_F_REL, float mr_rel=MISSION_MR_REL) |
| float | _distance_score (Row row, float F_t, float MR_t, float w_dp=5.0, *, float r_lo=R_BAND_LO, float r_hi=R_BAND_HI, float dp_lo=DP_BAND_LO, float dp_hi=DP_BAND_HI) |
| int | run_grid_independent (List[Row] rows, base, Sequence[int] n_O_list, Sequence[int] n_F_list, Sequence[float] d_O_list, Sequence[float] d_F_list, Sequence[Tuple[float, float]] tank_grid) |
| Tuple[List[int], List[int], List[float], List[float], List[Tuple[float, float]], str] | _scenario_spec (str name, *, int n_min, int n_max, bool quick, float P_O_yaml, float P_F_yaml, float max_lox_psi, float max_fuel_psi, float P_O_lo_l1, float P_O_hi_l1, float P_F_lo_l1, float P_F_hi_l1, float d_jet_upper_m=0.004) |
| bool | _stream_dp_ok (float r) |
| float | _r_distance_to_band (float r) |
| None | _print_extended_feasibility_analysis (List[Row] ok_rows, List[Row] band_rows, float F_target, float MR_target, *, int max_show=8) |
| None | _print_report (List[Row] rows, float F_target, float MR_target, int max_rows, Dict[str, Any] req, int n_max, float P_O_lo, float P_O_hi, float P_F_lo, float P_F_hi, str scenario_footer="") |
| None | main (Optional[Sequence[str]] argv=None) |
Variables | |
| float | R_BAND_LO = 0.909 |
| float | R_BAND_HI = 1.1 |
| float | DP_BAND_LO = 0.20 |
| float | DP_BAND_HI = 0.35 |
| float | MISSION_F_REL = 0.05 |
| float | MISSION_MR_REL = 0.05 |
| ROOT = Path(__file__).resolve().parents[1] | |
| float | PSI_TO_PA = 6894.76 |
Feasibility sweep: impinging LOX/CH4 geometry vs ΔP/Pc band (no physics changes). Loads a YAML config (default: configs/impinging_lox_ch4_8000N.yaml) with frozen chamber/throat/nozzle, sweeps injector counts/orifice diameters (optional tank pressures), runs runner.evaluate, and ranks cases vs design_requirements thrust/O/F plus momentum R window and ΔP_inj/Pc band. Before ``evaluate``, unrealistic impinging combinations are skipped (precheck tags in ``Row.err``): area vs throat, face packing density, spacing / ring count / n·d_jet, and coarse mdot-vs-throat proxies from tank PSI. Usage (from repo root, with venv and PYTHONPATH=.): PYTHONPATH=. python scripts/feasibility_impinging_lox_ch4_sweep.py --config configs/impinging_lox_ch4_8000N.yaml PYTHONPATH=. python scripts/feasibility_impinging_lox_ch4_sweep.py --quick Related: ``scripts/pareto_throat_dp_pressures.py`` sweeps throat area × tank-cap scenarios and solves tank pressures for thrust/MR targets (geometry fixed from YAML).
|
protected |
Definition at line 247 of file feasibility_impinging_lox_ch4_sweep.py.
References max.
Referenced by _one_eval().
|
protected |
Lower is better (composite deviation from targets).
Definition at line 377 of file feasibility_impinging_lox_ch4_sweep.py.
References max.
Referenced by _print_report().
|
protected |
Definition at line 188 of file feasibility_impinging_lox_ch4_sweep.py.
References _geom_A().
Referenced by _one_eval().
|
protected |
Definition at line 85 of file feasibility_impinging_lox_ch4_sweep.py.
Referenced by _failed_row(), _one_eval(), and _precheck_impinging_skip_reason().
|
protected |
Definition at line 337 of file feasibility_impinging_lox_ch4_sweep.py.
Referenced by _mission_all_met(), and _print_report().
|
protected |
Definition at line 351 of file feasibility_impinging_lox_ch4_sweep.py.
Referenced by _mission_all_met(), _print_extended_feasibility_analysis(), and _print_report().
|
protected |
F/MR near targets, R in band, both ΔP/Pc streams in band.
Definition at line 355 of file feasibility_impinging_lox_ch4_sweep.py.
References _in_dp_band(), and _in_r_band().
Referenced by _print_report().
|
protected |
Definition at line 255 of file feasibility_impinging_lox_ch4_sweep.py.
References _apply_impinging_geometry(), _failed_row(), _geom_A(), and _precheck_impinging_skip_reason().
Referenced by run_grid_independent().
|
protected |
Return skip tag if geometry is unrealistic before runner.evaluate(); else None. Mirrors Layer-1 soft limits (area vs throat, packing, d_jet vs spacing) plus coarse Bernoulli mdot proxies using tank PSI and a guessed Pc so obviously oversized A_eff does not burn closure iterations.
Definition at line 89 of file feasibility_impinging_lox_ch4_sweep.py.
References _geom_A(), max, and min.
Referenced by _one_eval().
|
protected |
Pairwise-best rows and marginal constraint failure stats (successful evals only).
Definition at line 580 of file feasibility_impinging_lox_ch4_sweep.py.
References _in_r_band(), _r_distance_to_band(), _stream_dp_ok(), and max.
Referenced by _print_report().
|
protected |
Definition at line 700 of file feasibility_impinging_lox_ch4_sweep.py.
References _distance_score(), _in_dp_band(), _in_r_band(), _mission_all_met(), _print_extended_feasibility_analysis(), and min.
Referenced by main().
|
protected |
0 if R in [R_BAND_LO, R_BAND_HI], else squared distance to nearest edge.
Definition at line 569 of file feasibility_impinging_lox_ch4_sweep.py.
Referenced by _print_extended_feasibility_analysis().
|
protected |
Return (n_O, n_F, d_O, d_F, tanks, description). n_max/d_jet_hi scale with chamber bore.
Definition at line 448 of file feasibility_impinging_lox_ch4_sweep.py.
References _symmetric_n_values(), max, and min.
Referenced by main().
|
protected |
Definition at line 565 of file feasibility_impinging_lox_ch4_sweep.py.
Referenced by _print_extended_feasibility_analysis().
|
protected |
Coarse n_grid: small engines keep step-5 sweep; large n_max uses ~8-bin linspace.
Definition at line 64 of file feasibility_impinging_lox_ch4_sweep.py.
References min.
Referenced by _scenario_spec(), and main().
| None feasibility_impinging_lox_ch4_sweep.main | ( | Optional[Sequence[str]] | argv = None | ) |
Definition at line 810 of file feasibility_impinging_lox_ch4_sweep.py.
References _print_report(), _scenario_spec(), _symmetric_n_values(), main(), max, min, and run_grid_independent().
| int feasibility_impinging_lox_ch4_sweep.run_grid_independent | ( | List[Row] | rows, |
| base, | |||
| Sequence[int] | n_O_list, | ||
| Sequence[int] | n_F_list, | ||
| Sequence[float] | d_O_list, | ||
| Sequence[float] | d_F_list, | ||
| Sequence[Tuple[float, float]] | tank_grid ) |
Append evaluations; returns total count for this grid.
Definition at line 418 of file feasibility_impinging_lox_ch4_sweep.py.
References _one_eval().
Referenced by main().
| float feasibility_impinging_lox_ch4_sweep.DP_BAND_HI = 0.35 |
Definition at line 28 of file feasibility_impinging_lox_ch4_sweep.py.
| float feasibility_impinging_lox_ch4_sweep.DP_BAND_LO = 0.20 |
Definition at line 27 of file feasibility_impinging_lox_ch4_sweep.py.
| float feasibility_impinging_lox_ch4_sweep.MISSION_F_REL = 0.05 |
Definition at line 30 of file feasibility_impinging_lox_ch4_sweep.py.
| float feasibility_impinging_lox_ch4_sweep.MISSION_MR_REL = 0.05 |
Definition at line 31 of file feasibility_impinging_lox_ch4_sweep.py.
| float feasibility_impinging_lox_ch4_sweep.PSI_TO_PA = 6894.76 |
Definition at line 61 of file feasibility_impinging_lox_ch4_sweep.py.
| float feasibility_impinging_lox_ch4_sweep.R_BAND_HI = 1.1 |
Definition at line 25 of file feasibility_impinging_lox_ch4_sweep.py.
| float feasibility_impinging_lox_ch4_sweep.R_BAND_LO = 0.909 |
Definition at line 24 of file feasibility_impinging_lox_ch4_sweep.py.
| feasibility_impinging_lox_ch4_sweep.ROOT = Path(__file__).resolve().parents[1] |
Definition at line 44 of file feasibility_impinging_lox_ch4_sweep.py.