|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Variables | |
| float | STUDY_LOCKUP_PSIA = 564.7 |
| feedtwin = pytest.importorskip("feedtwin", reason="lib/feedtwin is not installed") | |
| ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
| CFG = os.path.join(ROOT, "configs", "ethalox_6800N.yaml") | |
| float | PSI = 6894.757293168361 |
| float | ATM_PSI = 101325.0 / PSI |
| float | LOW_MAWP_PSI = 566.3 |
| pytestmark | |
| probes = dataclasses.replace(self.probes, network=False) | |
Layer X records the whole feed network on every burn, and a vessel trip ends the burn. Two lib/feedtwin features wired into ``engine/layerx/analysis.py`` (DATA-CONTRACT 2 and 4): * **The network recorder** (``Probes(network=True)``, ``network_dict``). Recording only: a GN2 burn with it and one without give the same series and summary to the last bit, and the block it writes telescopes -- each side's rungs add up, step by step, to its first node minus the chamber. * **The vessel trip** (``BurnEnd.tripped``, ``trip_record``). The AUDIT's case is a tank whose MAWP is restated below the pressure the burn reaches (AUDIT section 5, #1: Layer X then integrated the frozen frame to the 14 s horizon, 99,478 N s for a ~24,240 N s load). Here TK-FUEL is restated to 566.3 psi on the helium drawing, which trips 0.575 s after Fire: the result must stop at the trip (series, burn time, impulse), say so (``tripped``, a ``fail`` event keyed ``trip``, ``converged`` false, ``vessel_trip`` graded bad), and every tool that grades burns must count it as failing. The same with the AUDIT's own 600 psi, through the replay and the diagnostics, is in tests/test_layerx_integration_le4.py (LAYERX_GOLDEN=1). Trips in the settle and in the lead-in cannot be reached from a drawing that passes preflight (the T-0 lockup is checked against the MAWP), so those two paths are driven by tripping the session directly, the way ``Session._check_limits`` does.
|
protected |
Definition at line 59 of file test_layerx_wire.py.
Referenced by gn2_pair(), and he().
|
protected |
Definition at line 63 of file test_layerx_wire.py.
Referenced by test_the_set_point_and_hardware_tools_do_not_use_a_tripped_burn(), tripped(), and tripped_bare().
|
protected |
Definition at line 373 of file test_layerx_wire.py.
Referenced by test_a_trip_in_the_lead_in_fires_nothing_and_is_not_replayed(), and test_a_trip_in_the_settle_raises_with_its_record().
| test_layerx_wire.cfg | ( | ) |
Definition at line 69 of file test_layerx_wire.py.
| test_layerx_wire.gn2_pair | ( | cfg | ) |
One GN2 burn as Layer X runs it (network recorded) and the same burn with the recorder off.
Definition at line 79 of file test_layerx_wire.py.
References _drawing().
| test_layerx_wire.he | ( | ) |
Definition at line 74 of file test_layerx_wire.py.
References _drawing().
| test_layerx_wire.test_a_trip_ends_the_burn_where_it_happened | ( | tripped | ) |
Definition at line 191 of file test_layerx_wire.py.
| test_layerx_wire.test_a_trip_in_the_lead_in_fires_nothing_and_is_not_replayed | ( | cfg, | |
| he, | |||
| monkeypatch ) |
Definition at line 405 of file test_layerx_wire.py.
References _trip_now().
| test_layerx_wire.test_a_trip_in_the_settle_raises_with_its_record | ( | cfg, | |
| he, | |||
| monkeypatch ) |
Definition at line 381 of file test_layerx_wire.py.
References _trip_now().
| test_layerx_wire.test_a_trip_is_a_fail_event_and_a_bad_limit_not_a_horizon | ( | tripped | ) |
Definition at line 243 of file test_layerx_wire.py.
| test_layerx_wire.test_a_trip_is_unconverged_even_with_nothing_to_iterate | ( | tripped_bare, | |
| tripped ) |
Definition at line 224 of file test_layerx_wire.py.
| test_layerx_wire.test_recording_the_network_moves_no_number | ( | gn2_pair | ) |
Definition at line 127 of file test_layerx_wire.py.
| test_layerx_wire.test_the_diagnostics_read_a_tripped_burn | ( | tripped | ) |
Definition at line 231 of file test_layerx_wire.py.
| test_layerx_wire.test_the_feed_diagnostics_build_from_the_recorded_network | ( | gn2_pair, | |
| cfg ) |
Definition at line 168 of file test_layerx_wire.py.
| test_layerx_wire.test_the_legacy_optimiser_and_reconcile_refuse_a_tripped_burn | ( | tripped, | |
| cfg, | |||
| he, | |||
| monkeypatch ) |
Definition at line 352 of file test_layerx_wire.py.
| test_layerx_wire.test_the_listing_marks_a_tripped_run | ( | tripped | ) |
Definition at line 259 of file test_layerx_wire.py.
| test_layerx_wire.test_the_network_block_is_the_contracts_and_its_rungs_telescope | ( | gn2_pair | ) |
Definition at line 136 of file test_layerx_wire.py.
| test_layerx_wire.test_the_set_point_and_hardware_tools_do_not_use_a_tripped_burn | ( | tripped, | |
| cfg, | |||
| he, | |||
| monkeypatch ) |
Definition at line 270 of file test_layerx_wire.py.
References _low_mawp().
| test_layerx_wire.test_the_sweep_counts_a_flip_of_the_tank_that_runs_dry_first_only_when_it_strands_propellant | ( | cfg, | |
| he, | |||
| monkeypatch ) |
Sweep 20261102-122930-2c5489 on LE4 (3): the nominal emptied LOX first, two Cd cases emptied fuel first with 0.003 kg of LOX left, and the page said '2 inputs break a limit: measure these first'. A run grades which tank empties first as information and the propellant left over at 0.2 kg (limits.py); the sweep grades a flip by the same residual.
Definition at line 324 of file test_layerx_wire.py.
| test_layerx_wire.test_the_sweep_leaves_a_tripped_case_out_of_the_swings_and_lists_it | ( | tripped, | |
| cfg, | |||
| he, | |||
| monkeypatch ) |
Definition at line 282 of file test_layerx_wire.py.
| test_layerx_wire.tripped | ( | cfg, | |
| he ) |
The early trip as the router runs a burn: erosion replay, flight asked for, diagnostics on. The flight is a stub that counts its calls: a tripped burn must not be flown.
Definition at line 101 of file test_layerx_wire.py.
References _low_mawp().
| test_layerx_wire.tripped_bare | ( | cfg, | |
| he ) |
The same trip as the sweep burns it: no replay, no flight, so no passes decide ``converged``.
Definition at line 118 of file test_layerx_wire.py.
References _low_mawp().
| float test_layerx_wire.ATM_PSI = 101325.0 / PSI |
Definition at line 47 of file test_layerx_wire.py.
| test_layerx_wire.CFG = os.path.join(ROOT, "configs", "ethalox_6800N.yaml") |
Definition at line 45 of file test_layerx_wire.py.
| test_layerx_wire.feedtwin = pytest.importorskip("feedtwin", reason="lib/feedtwin is not installed") |
Definition at line 37 of file test_layerx_wire.py.
| float test_layerx_wire.LOW_MAWP_PSI = 566.3 |
Definition at line 51 of file test_layerx_wire.py.
| test_layerx_wire.probes = dataclasses.replace(self.probes, network=False) |
Definition at line 91 of file test_layerx_wire.py.
| float test_layerx_wire.PSI = 6894.757293168361 |
Definition at line 46 of file test_layerx_wire.py.
| test_layerx_wire.pytestmark |
Definition at line 53 of file test_layerx_wire.py.
| test_layerx_wire.ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
Definition at line 44 of file test_layerx_wire.py.
| float test_layerx_wire.STUDY_LOCKUP_PSIA = 564.7 |
Definition at line 33 of file test_layerx_wire.py.