|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Functions | |
| config () | |
| drawing () | |
| _prep (config, drawing, **settings) | |
| _burst_rated (drawing, tank_psi=1500.0, bottle_psi=15000.0, relief_psi=None) | |
| _fails (prep) | |
| test_a_lockup_over_the_mawp_trip_fails_preflight (config, drawing) | |
| test_burst_pressure_is_the_rating_when_drawn (config, drawing) | |
| test_a_fill_over_the_bottles_relief_is_said (config, drawing) | |
| test_a_burn_that_starts_off_its_datum_is_not_a_settled_answer (config, drawing) | |
| _burn (float peak_ox, float peak_fuel) | |
| test_the_limits_grade_the_tank_peak_on_the_trip () | |
| test_the_set_point_and_optimiser_caps_are_the_trip () | |
Variables | |
| reason | |
| float | PSI = 6894.757293168361 |
| float | ATM_PSI = 101325.0 / PSI |
| str | GN2 = "copv_study_gn2" |
| str | CFG = Path(__file__).resolve().parent / "fixtures" / "ethalox_6500N_doublet_cad_2026-09-28.yaml" |
| needs_drawing | |
Layer X holds each vessel to the pressure the feed twin trips the stand at. The twin trips a vessel when its absolute pressure is over ``_trip_limit``: the drawing's burst pressure over ``Setup.burst_safety_factor`` (across the wall) when one is drawn, else its MAWP -- both read as the drawing reads them, a bare psi being gauge, so ``.si`` is already absolute. Before 2026-11-02 Layer X read the MAWP as a pressure *across* the wall: preflight passed a lockup up to one atmosphere plus the site's over the trip (``target - ambient > MAWP.si``), the optimiser and set point capped the lockup at ``MAWP.si + ambient``, the water-hammer rating added another atmosphere, and the limits graded ``peak - ambient`` against the absolute figure. And it read no burst pressure at all, which is how LE4 (3) rates every vessel: preflight said "nothing checks those vessels" while the twin tripped its tanks at 764.7 psia. Worked by hand: copv_study_gn2's tanks are drawn MAWP 1000 psi -> 1014.70 psia. LE4 (3)-style burst 1500 psi over a factor of 2 -> (1500 / 2) psig = 764.70 psia; 15000 psi -> 7514.70 psia.
|
protected |
Two lead-in samples and four firing steps, flat but for each tank's peak.
Definition at line 157 of file test_layerx_ratings.py.
Referenced by test_the_limits_grade_the_tank_peak_on_the_trip().
|
protected |
``drawing`` rated as LE4 (3) is: burst pressures, no MAWP; optionally a relief on the bottle's manifold.
Definition at line 61 of file test_layerx_ratings.py.
Referenced by test_a_burn_that_starts_off_its_datum_is_not_a_settled_answer(), test_a_fill_over_the_bottles_relief_is_said(), and test_burst_pressure_is_the_rating_when_drawn().
|
protected |
Definition at line 79 of file test_layerx_ratings.py.
Referenced by test_a_lockup_over_the_mawp_trip_fails_preflight(), and test_burst_pressure_is_the_rating_when_drawn().
|
protected |
| test_layerx_ratings.config | ( | void | ) |
Definition at line 46 of file test_layerx_ratings.py.
| test_layerx_ratings.drawing | ( | ) |
Definition at line 51 of file test_layerx_ratings.py.
| test_layerx_ratings.test_a_burn_that_starts_off_its_datum_is_not_a_settled_answer | ( | config, | |
| drawing ) |
The 4500 psia fill vents through the 4000 psi relief in the settle (to ~3895 psia) and the tanks follow the regulator's supply effect: T-0 is not the burn asked for. The run said only "T-0 did not settle" and stood as converged; it now says what it started from and is not converged.
Definition at line 137 of file test_layerx_ratings.py.
References _burst_rated(), and _prep().
| test_layerx_ratings.test_a_fill_over_the_bottles_relief_is_said | ( | config, | |
| drawing ) |
A relief on the bottle's manifold at 4000 psi lifts at 4014.7 psia: a 4500 psia fill vents in the settle, so preflight warns; a 3900 psia one does not.
Definition at line 124 of file test_layerx_ratings.py.
References _burst_rated(), and _prep().
| test_layerx_ratings.test_a_lockup_over_the_mawp_trip_fails_preflight | ( | config, | |
| drawing ) |
1000 psi MAWP trips at 1014.70 psia. 1012 passes; 1022 -- under MAWP.si plus the site's 13.64 psia, which the old check allowed -- fails, naming the trip. The session holds the same limit.
Definition at line 84 of file test_layerx_ratings.py.
| test_layerx_ratings.test_burst_pressure_is_the_rating_when_drawn | ( | config, | |
| drawing ) |
Definition at line 102 of file test_layerx_ratings.py.
References _burst_rated(), _fails(), and _prep().
| test_layerx_ratings.test_the_limits_grade_the_tank_peak_on_the_trip | ( | ) |
``tank_mawp_psi`` is absolute: a 770 psia peak against a 764.70 psia trip is 755.30 psig of 750.00, 100.7 % -- over the red line, where reading the trip as across the wall (peak less the site's 13.64 psia, against 764.70) put it at 756.36, under. 700 psia is 685.30 of 750.00, 91 %: amber.
Definition at line 181 of file test_layerx_ratings.py.
References _burn().
| test_layerx_ratings.test_the_set_point_and_optimiser_caps_are_the_trip | ( | ) |
The optimiser's lockup ceiling, the set point's MAWP cap and the set point's fallback grade all stop at the trip itself; each used to add the site's atmosphere (13.64 psia) on top.
Definition at line 200 of file test_layerx_ratings.py.
| float test_layerx_ratings.ATM_PSI = 101325.0 / PSI |
Definition at line 37 of file test_layerx_ratings.py.
| str test_layerx_ratings.CFG = Path(__file__).resolve().parent / "fixtures" / "ethalox_6500N_doublet_cad_2026-09-28.yaml" |
Definition at line 39 of file test_layerx_ratings.py.
| str test_layerx_ratings.GN2 = "copv_study_gn2" |
Definition at line 38 of file test_layerx_ratings.py.
| test_layerx_ratings.needs_drawing |
Definition at line 41 of file test_layerx_ratings.py.
| float test_layerx_ratings.PSI = 6894.757293168361 |
Definition at line 36 of file test_layerx_ratings.py.
| test_layerx_ratings.reason |
Definition at line 27 of file test_layerx_ratings.py.