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

Functions

 shipped_flight ()
 test_launch_comes_from_the_config (monkeypatch)
 test_rail_exit_velocity_against_a_hand_rail_run (shipped_flight)
 _barrowman_cp (cfg, nose_tip, nose_len)
 test_static_margin_at_liftoff_is_hand_barrowman (shipped_flight)
 test_requirement_checks_fire_only_when_declared (shipped_flight)
 _gravity_turn_loss (cfg, drag, incl_deg)
 test_launch_angle_costs_what_a_gravity_turn_says (shipped_flight)
 test_thrust_curve_reference_is_the_solvers_ambient (shipped_flight)
 test_pressure_thrust_grows_with_altitude (shipped_flight)

Variables

 rocketpy = pytest.importorskip("rocketpy")
float G0 = 9.80665

Detailed Description

Launch rail, angle and heading from the config; rail exit and static margin reported (FLT-8);
pressure thrust with altitude (FLT-10).

The flight flew Flight(rail_length=3.35, inclination=90, heading=0) from literals and reported
neither the rail-exit velocity nor the static margin, though RocketPy computes both. The thrust
curve reached RocketPy without a reference pressure, so (p_ref - p(z)) A_exit was zero all the
way up.

Independent checks: a hand integration of the rail run, a hand Barrowman CP and the audit's hand
static margin (CG 2.693 m, CP 1.541 m, 7.35 cal), a rail-then-gravity-turn point mass, and the
isothermal barometric formula.

Function Documentation

◆ _barrowman_cp()

test_flight_launch_and_report._barrowman_cp ( cfg,
nose_tip,
nose_len )
protected
Barrowman (TIR-33): nose CN_a = 2 at L - V/A_base from the tip (L/2 for von Karman);
trapezoidal fins with body interference 1 + R/(s + R).

Definition at line 73 of file test_flight_launch_and_report.py.

Referenced by test_static_margin_at_liftoff_is_hand_barrowman().

◆ _gravity_turn_loss()

test_flight_launch_and_report._gravity_turn_loss ( cfg,
drag,
incl_deg )
protected
Point-mass 2-DOF: along the rail at incl_deg to its end, then thrust along the velocity
(a gravity turn, what an overstable vehicle does in still air). Returns h(90) - h(incl).

Definition at line 112 of file test_flight_launch_and_report.py.

References max.

Referenced by test_launch_angle_costs_what_a_gravity_turn_says().

◆ shipped_flight()

test_flight_launch_and_report.shipped_flight ( )

Definition at line 29 of file test_flight_launch_and_report.py.

References fly().

◆ test_launch_angle_costs_what_a_gravity_turn_says()

test_flight_launch_and_report.test_launch_angle_costs_what_a_gravity_turn_says ( shipped_flight)

Definition at line 159 of file test_flight_launch_and_report.py.

References _gravity_turn_loss(), and fly().

◆ test_launch_comes_from_the_config()

test_flight_launch_and_report.test_launch_comes_from_the_config ( monkeypatch)

Definition at line 33 of file test_flight_launch_and_report.py.

References fly().

◆ test_pressure_thrust_grows_with_altitude()

test_flight_launch_and_report.test_pressure_thrust_grows_with_altitude ( shipped_flight)
F(z) = F_curve + (p_ref - p(z)) A_exit, Sutton & Biblarz eq. 3-21: ~55 N at 1.2 km MSL.

Definition at line 187 of file test_flight_launch_and_report.py.

◆ test_rail_exit_velocity_against_a_hand_rail_run()

test_flight_launch_and_report.test_rail_exit_velocity_against_a_hand_rail_run ( shipped_flight)
Along a vertical rail: dv/dt = F/m - g - D/m, dm/dt = -mdot, to s = rail length.

Definition at line 52 of file test_flight_launch_and_report.py.

◆ test_requirement_checks_fire_only_when_declared()

test_flight_launch_and_report.test_requirement_checks_fire_only_when_declared ( shipped_flight)

Definition at line 100 of file test_flight_launch_and_report.py.

References fly().

◆ test_static_margin_at_liftoff_is_hand_barrowman()

test_flight_launch_and_report.test_static_margin_at_liftoff_is_hand_barrowman ( shipped_flight)

Definition at line 88 of file test_flight_launch_and_report.py.

References _barrowman_cp().

◆ test_thrust_curve_reference_is_the_solvers_ambient()

test_flight_launch_and_report.test_thrust_curve_reference_is_the_solvers_ambient ( shipped_flight)
The time-varying solver computes the curve at the pad's ISA 1976 pressure (test_ambient_isa.py).

Definition at line 176 of file test_flight_launch_and_report.py.

Variable Documentation

◆ G0

float test_flight_launch_and_report.G0 = 9.80665

Definition at line 25 of file test_flight_launch_and_report.py.

◆ rocketpy

test_flight_launch_and_report.rocketpy = pytest.importorskip("rocketpy")

Definition at line 21 of file test_flight_launch_and_report.py.