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

Functions

 _sutton_impulse (m0, mp, tb, h)
 _ivp_impulse (m0, mp, tb, h, cd, area, elev)
 test_no_drag_is_sutton ()
 test_with_drag_matches_an_independent_integration (m_dry, mp, tb, h)
 test_the_pressurant_on_board_is_weight ()
 test_layer2_and_the_flight_agree_on_the_shipped_vehicle ()

Variables

float G0 = 9.80665

Detailed Description

Layer 2's required impulse is a vertical flight, not a formula (FLT-7).

It was (1.15 sqrt(2 g h) + 0.5 g t_b)(m_dry + m_p): 27,094 N s for the 6.5 kN vehicle against
22,537 N s with no drag (Sutton) and 25,025 N s at the flight sim's old Cd 0.45, with errors
that cancelled only near that point (+18 % at 40 kg / 40 kg / 15 s).

References: Sutton & Biblarz's closed form for vertical flight without drag (ch. 4), and an
independent point-mass integration (scipy solve_ivp, fluids' 1976 atmosphere) with drag.

Function Documentation

◆ _ivp_impulse()

test_layer2_required_impulse._ivp_impulse ( m0,
mp,
tb,
h,
cd,
area,
elev )
protected
Flat mdot, constant exhaust velocity, constant Cd, 1976 atmosphere: impulse to apogee h.

Definition at line 33 of file test_layer2_required_impulse.py.

References max.

Referenced by test_with_drag_matches_an_independent_integration().

◆ _sutton_impulse()

test_layer2_required_impulse._sutton_impulse ( m0,
mp,
tb,
h )
protected

◆ test_layer2_and_the_flight_agree_on_the_shipped_vehicle()

test_layer2_required_impulse.test_layer2_and_the_flight_agree_on_the_shipped_vehicle ( )
The same curve, drag and pad: the 1-DOF apogee and RocketPy's within 1 %.

Definition at line 80 of file test_layer2_required_impulse.py.

References fly().

◆ test_no_drag_is_sutton()

test_layer2_required_impulse.test_no_drag_is_sutton ( )

Definition at line 56 of file test_layer2_required_impulse.py.

References _sutton_impulse().

◆ test_the_pressurant_on_board_is_weight()

test_layer2_required_impulse.test_the_pressurant_on_board_is_weight ( )

Definition at line 73 of file test_layer2_required_impulse.py.

References _sutton_impulse().

◆ test_with_drag_matches_an_independent_integration()

test_layer2_required_impulse.test_with_drag_matches_an_independent_integration ( m_dry,
mp,
tb,
h )

Definition at line 63 of file test_layer2_required_impulse.py.

References _ivp_impulse().

Variable Documentation

◆ G0

float test_layer2_required_impulse.G0 = 9.80665

Definition at line 20 of file test_layer2_required_impulse.py.