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

Functions

 _tank (res, name)
 test_shipped_vehicle_flies_on_the_flight_tab_path ()
 test_ullage_gas_fills_the_real_ullage_at_tank_pressure ()
 test_small_tank_at_ninety_percent_flies ()
 test_a_tank_with_no_ullage_is_refused_by_name ()
 test_impulse_is_the_curve_integral_at_the_edge (scale)
 test_apogee_is_continuous_in_the_load ()
 test_one_percent_short_loses_one_percent_of_impulse ()
 test_pressurant_moved_into_the_ullage_stays_on_board ()

Variables

 CP = pytest.importorskip("CoolProp.CoolProp")
float PSI = 6894.757293168

Detailed Description

The T-0 ullage and the depletion cut (FLT-1, FLT-3).

FLT-1: both propellant tanks were seeded with 0.05 kg of gas at 50 kg/m3, 1.000 L whatever the
tank. The shipped 6.5 kN tanks, loaded to 90 %, have 0.644 L and 0.620 L of ullage, so RocketPy
refused both and the Flight tab could not fly the shipped vehicle at all. The gas that is there
fills V - m/rho_liquid at tank pressure (CoolProp N2).

FLT-3: a truncated burn lost 50 ms, and a fuel-only loop shrank loads within 1 mg of the
integral to 98 % of the fuel; which fired was floating-point noise, a 143 m apogee spread for
loads that differ by micrograms. The cut is now at the exact depletion.

Expected values are hand geometry, CoolProp and the trapezoid of the thrust curve; none of them
come from the flight sim.

Function Documentation

◆ _tank()

◆ test_a_tank_with_no_ullage_is_refused_by_name()

test_flight_ullage_and_depletion.test_a_tank_with_no_ullage_is_refused_by_name ( )
An explicit capacity above what the tank holds lets 110 % of it through the cap (FLT-9);
the flight names the tank instead of failing inside RocketPy.

Definition at line 68 of file test_flight_ullage_and_depletion.py.

References fly().

◆ test_apogee_is_continuous_in_the_load()

test_flight_ullage_and_depletion.test_apogee_is_continuous_in_the_load ( )
Was 3941 / 3890 / 4033 m for x(1, 1+1e-9, 1+1e-6). RocketPy's own integrator scatter on
this vehicle is under 1 m, so that is the bound.

Definition at line 92 of file test_flight_ullage_and_depletion.py.

References fly(), max, and min.

◆ test_impulse_is_the_curve_integral_at_the_edge()

test_flight_ullage_and_depletion.test_impulse_is_the_curve_integral_at_the_edge ( scale)
Loads at the curve's own integral burn the whole curve, whichever side of it they fall.

Definition at line 80 of file test_flight_ullage_and_depletion.py.

References fly().

◆ test_one_percent_short_loses_one_percent_of_impulse()

test_flight_ullage_and_depletion.test_one_percent_short_loses_one_percent_of_impulse ( )

Definition at line 104 of file test_flight_ullage_and_depletion.py.

References fly().

◆ test_pressurant_moved_into_the_ullage_stays_on_board()

test_flight_ullage_and_depletion.test_pressurant_moved_into_the_ullage_stays_on_board ( )
Vehicle mass falls by exactly the propellant burned: the refill is a transfer.

Definition at line 114 of file test_flight_ullage_and_depletion.py.

References _tank(), and fly().

◆ test_shipped_vehicle_flies_on_the_flight_tab_path()

test_flight_ullage_and_depletion.test_shipped_vehicle_flies_on_the_flight_tab_path ( )

Definition at line 35 of file test_flight_ullage_and_depletion.py.

◆ test_small_tank_at_ninety_percent_flies()

test_flight_ullage_and_depletion.test_small_tank_at_ninety_percent_flies ( )
A 5 L LOX tank at 90 % fill: 0.5 L of ullage, half what the old seed demanded.

Definition at line 56 of file test_flight_ullage_and_depletion.py.

References _tank(), and fly().

◆ test_ullage_gas_fills_the_real_ullage_at_tank_pressure()

test_flight_ullage_and_depletion.test_ullage_gas_fills_the_real_ullage_at_tank_pressure ( )

Definition at line 41 of file test_flight_ullage_and_depletion.py.

References _tank(), and fly().

Variable Documentation

◆ CP

test_flight_ullage_and_depletion.CP = pytest.importorskip("CoolProp.CoolProp")

Definition at line 24 of file test_flight_ullage_and_depletion.py.

◆ PSI

float test_flight_ullage_and_depletion.PSI = 6894.757293168

Definition at line 28 of file test_flight_ullage_and_depletion.py.