STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
engine.core.injectors.spray_report Namespace Reference

Functions

Dict[str, Any] _row (str label, Any value, str unit="", str band="", str status="info", str source="", str note="")
float _f (Any v, float default=float("nan"))
List[Dict[str, Any]] jet_rows (Any cfg, Mapping[str, Any] result, Optional[Mapping[str, Any]] lay)
List[Dict[str, Any]] impingement_rows (Any cfg, Mapping[str, Any] result, Optional[Mapping[str, Any]] lay)
List[Dict[str, Any]] atomization_rows (Any cfg, Mapping[str, Any] result)
List[Dict[str, Any]] vaporization_rows (Any cfg, Mapping[str, Any] result)
List[Dict[str, Any]] mixing_rows (Any cfg, Mapping[str, Any] result)
Mapping[str, Any] _solve (Any cfg)
Dict[str, float] _summary (Mapping[str, Any] r)
List[Dict[str, Any]] sensitivity (Any cfg, Mapping[str, Any] base)
Dict[str, Any] spray_mixing_report (Any cfg, Optional[Mapping[str, Any]] result=None, *, bool with_sensitivity=True)

Variables

float PSI = 6894.757
float CORE_C_LOW = 7.0
float FREE_JET_MAX_D = 7.0
tuple RUPE_M_BAND = (0.8, 1.25)
tuple SENSITIVITY_CASES

Detailed Description

Spray and mixing of the unlike-doublet injector, as one report: what each jet does from its
orifice to where it is burnt, each number beside the band it is judged against and where that
band comes from, and how the answer moves across the inputs the literature does not pin down.

Presentation of the solve (``PintleEngineRunner.evaluate``) and the plate layout
(``layout_from_config``): the numbers are the solver's own, read back, except the few checks the
solver does not make (jet intact length, spray lean, the spray's reach against the chamber), which
are closed forms cited where they are made. Nothing here feeds back into the solve.

Rows: ``{"label", "value", "unit", "band", "status", "source", "note"}``; status is ``ok``,
``warn``, ``bad`` or ``info`` (a number with no band to hold it to).

Function Documentation

◆ _f()

float engine.core.injectors.spray_report._f ( Any v,
float default = float("nan") )
protected

◆ _row()

Dict[str, Any] engine.core.injectors.spray_report._row ( str label,
Any value,
str unit = "",
str band = "",
str status = "info",
str source = "",
str note = "" )
protected

◆ _solve()

Mapping[str, Any] engine.core.injectors.spray_report._solve ( Any cfg)
protected

Definition at line 205 of file spray_report.py.

Referenced by sensitivity(), and spray_mixing_report().

◆ _summary()

Dict[str, float] engine.core.injectors.spray_report._summary ( Mapping[str, Any] r)
protected

Definition at line 211 of file spray_report.py.

References _f().

Referenced by sensitivity().

◆ atomization_rows()

List[Dict[str, Any]] engine.core.injectors.spray_report.atomization_rows ( Any cfg,
Mapping[str, Any] result )

Definition at line 127 of file spray_report.py.

References _f(), and _row().

Referenced by spray_mixing_report().

◆ impingement_rows()

List[Dict[str, Any]] engine.core.injectors.spray_report.impingement_rows ( Any cfg,
Mapping[str, Any] result,
Optional[Mapping[str, Any]] lay )

Definition at line 86 of file spray_report.py.

References _f(), and _row().

Referenced by spray_mixing_report().

◆ jet_rows()

List[Dict[str, Any]] engine.core.injectors.spray_report.jet_rows ( Any cfg,
Mapping[str, Any] result,
Optional[Mapping[str, Any]] lay )
Each jet from its orifice to the impingement point.

Definition at line 47 of file spray_report.py.

References _f(), and _row().

Referenced by spray_mixing_report().

◆ mixing_rows()

List[Dict[str, Any]] engine.core.injectors.spray_report.mixing_rows ( Any cfg,
Mapping[str, Any] result )

Definition at line 169 of file spray_report.py.

References _f(), and _row().

Referenced by spray_mixing_report().

◆ sensitivity()

List[Dict[str, Any]] engine.core.injectors.spray_report.sensitivity ( Any cfg,
Mapping[str, Any] base )
Each open input moved to the end of its published range, the design re-solved AS WRITTEN
(same tanks, same holes). The value each case actually ran with is read back from the
solved config, so a case the model ignored cannot pass for one it honoured.

Definition at line 219 of file spray_report.py.

References _solve(), and _summary().

Referenced by spray_mixing_report().

◆ spray_mixing_report()

Dict[str, Any] engine.core.injectors.spray_report.spray_mixing_report ( Any cfg,
Optional[Mapping[str, Any]] result = None,
* ,
bool with_sensitivity = True )
The report for ``cfg`` at its own tank pressures (solved here unless ``result`` is given).

Definition at line 240 of file spray_report.py.

References _f(), _solve(), atomization_rows(), impingement_rows(), jet_rows(), mixing_rows(), sensitivity(), and vaporization_rows().

◆ vaporization_rows()

List[Dict[str, Any]] engine.core.injectors.spray_report.vaporization_rows ( Any cfg,
Mapping[str, Any] result )

Definition at line 143 of file spray_report.py.

References _f(), and _row().

Referenced by spray_mixing_report().

Variable Documentation

◆ CORE_C_LOW

float engine.core.injectors.spray_report.CORE_C_LOW = 7.0

Definition at line 24 of file spray_report.py.

◆ FREE_JET_MAX_D

float engine.core.injectors.spray_report.FREE_JET_MAX_D = 7.0

Definition at line 27 of file spray_report.py.

◆ PSI

float engine.core.injectors.spray_report.PSI = 6894.757

Definition at line 19 of file spray_report.py.

◆ RUPE_M_BAND

tuple engine.core.injectors.spray_report.RUPE_M_BAND = (0.8, 1.25)

Definition at line 31 of file spray_report.py.

◆ SENSITIVITY_CASES

tuple engine.core.injectors.spray_report.SENSITIVITY_CASES
Initial value:
1= (
2 ("SMD transfer: Dombrowski & Johns", ("spray", "smd", "smd_property_transfer"), "dombrowski_johns",
3 "the three published transfers of TN 4222 to the propellants"),
4 ("SMD transfer: none (heptane in air)", ("spray", "smd", "smd_property_transfer"), "none",
5 "the three published transfers of TN 4222 to the propellants"),
6 ("Rupe E_m opt 0.70", ("combustion", "efficiency", "rupe_Em_opt"), 0.70,
7 "short or cavitating orifices (Nurick & McHale, JPL TR 32-1546)"),
8 ("Rupe E_m opt 0.85", ("combustion", "efficiency", "rupe_Em_opt"), 0.85,
9 "top of the circular 1-on-1 doublet band (JPL TR 32-1546 p. 1)"),
10)

Definition at line 193 of file spray_report.py.