|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Variables | |
| M = Provenance.MANUFACTURER | |
| HERE = Path(__file__).resolve().parent | |
| str | DRAWING = HERE / "fixtures" / "le4_rocket_and_gse.json" |
| str | TABLES = HERE.parents[2] / "feed-twin" / "backend" / "statemachines" |
A sealed tank with a drain open: it pulls a vacuum and stops. The operator stopped a fuel fill (the vent shuts in Armed) with a line still open below the liquid, and the fuel tank emptied slowly while the solver tab's clamp energy climbed. Two faults, each enough on its own: * The ullage's floor (``TankSim._settled``) held the pressurant at atmosphere's worth *in the ullage's present volume*, so as the liquid left, the floor put air in to keep it there. A tank cannot be refilled with air through a shut vent: it goes below atmosphere until the head can no longer push liquid out. A vented tank keeps the floor -- on a LOX load it stands in for the boil-off the built-in chill vents off the books. * The network solve judged every branch's pressure residual against the highest pressure anywhere on the stand. With a 6,000 psi K-bottle drawn, a branch could sit half a psi off its relation and report converged, so a drain driven by 0.45 psi of head never left the solve's 1 g/s starting guess.
|
protected |
A drain valve between a tank outlet 0.45 psi above atmosphere and the air -- and, beside it, a 6,000 psi K-bottle line that has nothing to do with it.
Definition at line 103 of file test_sealed_tank_drain.py.
Referenced by test_a_low_pressure_branch_is_solved_beside_a_high_pressure_one().
|
protected |
Definition at line 46 of file test_sealed_tank_drain.py.
Referenced by test_a_sealed_tank_draining_goes_below_atmosphere_without_gaining_gas(), and test_a_vent_still_cannot_pull_a_tank_below_atmosphere().
| None test_sealed_tank_drain.test_a_dry_transfer_tank_is_a_tee_the_fill_line_drains_through | ( | ) |
LE4 (6)'s unsized tee joins the fill line and the dump into the cart tank's outlet node. With both hand valves held open the transfer tank pushes into the fuel tank, then dumps itself dry -- and the fuel tank's pressure must then go out through the same tee. Cutting every branch on the dry tank's outlet froze it at 45 psig with the dump open.
Definition at line 215 of file test_sealed_tank_drain.py.
| None test_sealed_tank_drain.test_a_full_fuel_tank_with_the_vent_shut_holds_against_an_open_drain | ( | ) |
The operator's case on LE4 (6): fill the fuel tank, stop the fill (Armed shuts the vent), and a drain teed into the tank's bottom port is open. The tank pulls its head's worth of vacuum and keeps its fuel; the old floor let it drain at 129 g/s and booked the air it made as clamp energy.
Definition at line 149 of file test_sealed_tank_drain.py.
| None test_sealed_tank_drain.test_a_low_pressure_branch_is_solved_beside_a_high_pressure_one | ( | ) |
Definition at line 136 of file test_sealed_tank_drain.py.
References _drain_network().
| None test_sealed_tank_drain.test_a_sealed_tank_draining_goes_below_atmosphere_without_gaining_gas | ( | ) |
Definition at line 63 of file test_sealed_tank_drain.py.
References _full_tank_at_atmosphere().
| None test_sealed_tank_drain.test_a_vent_still_cannot_pull_a_tank_below_atmosphere | ( | ) |
The floor's own job: a vent asked for more gas than there is above atmosphere leaves the tank *at* atmosphere -- at the gas's own (expanded) temperature, not the wall's -- and what that takes is air the vent let in, booked as inflow, not as a clamp.
Definition at line 81 of file test_sealed_tank_drain.py.
References _full_tank_at_atmosphere().
| str test_sealed_tank_drain.DRAWING = HERE / "fixtures" / "le4_rocket_and_gse.json" |
Definition at line 42 of file test_sealed_tank_drain.py.
| test_sealed_tank_drain.HERE = Path(__file__).resolve().parent |
Definition at line 41 of file test_sealed_tank_drain.py.
| test_sealed_tank_drain.M = Provenance.MANUFACTURER |
Definition at line 40 of file test_sealed_tank_drain.py.
| str test_sealed_tank_drain.TABLES = HERE.parents[2] / "feed-twin" / "backend" / "statemachines" |
Definition at line 43 of file test_sealed_tank_drain.py.