|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Functions | |
| Optional[Dict[str, Any]] | forward_design_point (Any prep, Any config, Any runner=None, Optional[Mapping[str, Any]] forward=None) |
| np.ndarray | _replay_onto (Mapping[str, Any] result, str key, np.ndarray t) |
| Dict[str, Any] | build_injector (Mapping[str, Any] result, Any prep=None, Any config=None, *, Optional[Mapping[str, Any]] forward=None, Any runner=None) |
Variables | |
| tuple | SOURCE |
The injector's state per twin step: jet velocities, momentum ratio, the spray's resultant tilt, and eta_c* from the replay. ``build_injector(result, prep=None, config, *, forward=None, runner=None)`` -> ``diagnostics.injector`` (DATA-CONTRACT 3). Every quantity is EngineDesign's own definition, called rather than restated: * jet bulk velocity ``v = mdot / (rho n A_jet)``, ``A_jet = pi d_jet^2 / 4``, at the config density (the same ``v_O_bulk``/``v_F_bulk`` ``engine.core.injectors.impinging`` computes); * momentum ratio ``R = sqrt(rho_O v_O^2 / (rho_F v_F^2))`` (``impinging.momentum_ratio_R_from_bulk_velocities``; R is the Cd-dp split, not Rupe's mixing criterion) and Rupe's ``M = rho_O v_O^2 d_O / (rho_F v_F^2 d_F)`` (``impinging.rupe_mixing_ratio``: Rupe, JPL PR 20-195, restated by Elverum & Morey, JPL Memo 30-5, 1959, eq. 1); * the resultant's tilt from the chamber axis, + toward the wall, from the vector sum of the two streams' momenta (``layer1_static_optimization._impinging_resultant_tilt_deg``, the rule ``reconcile._angles_for_tilt`` uses; which ring is inboard from the pitch circles). The flows are the twin's (``series.*.mdot``), so these follow the burn; the densities are the config's, because that is what the card's injector was tabulated at (AUDIT ledger #27: the twin's saturated-line densities differ by 0.2 % / 0.04 %). ``design_momentum_ratio`` is EngineDesign's Forward solve at the burn's lockup (``forward``, or evaluated with ``runner``); without either it is null. ``eta_cstar`` is the replay's, linearly interpolated onto the twin's steps inside the replay's span and null outside it (the replay has ~28 points: never read 50 ms resolution into it).
|
protected |
Definition at line 64 of file injector.py.
Referenced by build_injector().
| Dict[str, Any] engine.layerx.diag.injector.build_injector | ( | Mapping[str, Any] | result, |
| Any | prep = None, | ||
| Any | config = None, | ||
| * | , | ||
| Optional[Mapping[str, Any]] | forward = None, | ||
| Any | runner = None ) |
``diagnostics.injector``. Never raises. Needs ``config`` (the orifices) and the series.
Definition at line 76 of file injector.py.
References _replay_onto(), and forward_design_point().
| Optional[Dict[str, Any]] engine.layerx.diag.injector.forward_design_point | ( | Any | prep, |
| Any | config, | ||
| Any | runner = None, | ||
| Optional[Mapping[str, Any]] | forward = None ) |
EngineDesign's Forward solve at the burn's lockup, both tanks, at the site's ambient: what the design column of a "design assumed X -> feed delivers Y(t)" row must come from (AUDIT 4). ``forward`` (a ``runner.evaluate`` result) is returned as is; else ``runner`` is evaluated.
Definition at line 44 of file injector.py.
Referenced by build_injector().
| tuple engine.layerx.diag.injector.SOURCE |
Definition at line 38 of file injector.py.