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

Functions

float _built_length (cfg)
float _smooth_friction_floor (cfg, float mach)
 shipped_flight ()
 test_drag_is_above_the_smooth_friction_floor (shipped_flight)
 test_thrusting_removes_the_nozzle_exit_from_the_base (shipped_flight)
 test_drag_grows_with_the_vehicle (shipped_flight)
 test_rougher_skin_more_drag (shipped_flight)
 test_flown_length_is_the_hand_stack (shipped_flight)
 test_full_burn_apogee_is_below_the_constant_cd_answer (shipped_flight)
 test_user_table_is_flown_as_given ()
 test_a_table_needs_its_pair_and_its_source ()
 test_turbulent_cf_against_prandtl_schlichting ()
 test_rough_cf_is_reynolds_independent ()
 test_isa_against_fluids ()
 test_nose_wave_drag_at_fineness_three_is_stoneys_table ()
 test_haack_wetted_area_against_a_hand_trapezoid ()

Variables

 rocketpy = pytest.importorskip("rocketpy")

Detailed Description

Drag of the flown vehicle (FLT-2).

The flight sim flew Cd 0.45 at every Mach, motor on and off, whatever the length, fins or finish.
The shipped vehicle is 7.76 m long on a 0.157 m body, 226 wetted areas per reference area: fully
turbulent skin friction alone exceeds 0.45. The build-up is Barrowman's as the OpenRocket technical
documentation (Niskanen 2013) gives it, on the geometry the sim assembles.

Independent sources here: Prandtl-Schlichting's smooth flat plate 0.455 / (log10 Re)^2.58, hand
geometry of the stack and the fins, the base-drag formula (Niskanen eq. 3.94 / sec. 3.4.5), the
1976 standard atmosphere from `fluids`, Stoney's fineness-3 table, and a hand trapezoid.

Function Documentation

◆ _built_length()

float test_vehicle_drag._built_length ( cfg)
protected
Tail to nose tip as the sim stacks it, by hand: highest tank top + avionics length.

Definition at line 24 of file test_vehicle_drag.py.

References max.

Referenced by _smooth_friction_floor(), and test_flown_length_is_the_hand_stack().

◆ _smooth_friction_floor()

float test_vehicle_drag._smooth_friction_floor ( cfg,
float mach )
protected
0.12 base + smooth turbulent plate friction on the wetted area, Prandtl-Schlichting.

Definition at line 34 of file test_vehicle_drag.py.

References _built_length().

Referenced by test_drag_is_above_the_smooth_friction_floor().

◆ shipped_flight()

test_vehicle_drag.shipped_flight ( )

Definition at line 48 of file test_vehicle_drag.py.

References fly().

◆ test_a_table_needs_its_pair_and_its_source()

test_vehicle_drag.test_a_table_needs_its_pair_and_its_source ( )

Definition at line 114 of file test_vehicle_drag.py.

◆ test_drag_grows_with_the_vehicle()

test_vehicle_drag.test_drag_grows_with_the_vehicle ( shipped_flight)

Definition at line 72 of file test_vehicle_drag.py.

References fly().

◆ test_drag_is_above_the_smooth_friction_floor()

test_vehicle_drag.test_drag_is_above_the_smooth_friction_floor ( shipped_flight)

Definition at line 53 of file test_vehicle_drag.py.

References _smooth_friction_floor().

◆ test_flown_length_is_the_hand_stack()

test_vehicle_drag.test_flown_length_is_the_hand_stack ( shipped_flight)

Definition at line 87 of file test_vehicle_drag.py.

References _built_length().

◆ test_full_burn_apogee_is_below_the_constant_cd_answer()

test_vehicle_drag.test_full_burn_apogee_is_below_the_constant_cd_answer ( shipped_flight)
Most favourable plausible build-up (smooth, the 6.43 m length) gives 3803 m AGL by an
independent 1-DOF (audit); Cd 0.45 gave 4033 m.

Definition at line 96 of file test_vehicle_drag.py.

◆ test_haack_wetted_area_against_a_hand_trapezoid()

test_vehicle_drag.test_haack_wetted_area_against_a_hand_trapezoid ( )

Definition at line 166 of file test_vehicle_drag.py.

References max.

◆ test_isa_against_fluids()

test_vehicle_drag.test_isa_against_fluids ( )

Definition at line 146 of file test_vehicle_drag.py.

◆ test_nose_wave_drag_at_fineness_three_is_stoneys_table()

test_vehicle_drag.test_nose_wave_drag_at_fineness_three_is_stoneys_table ( )
(B.9) scales Stoney's fineness-3 curve by log4(fN + 1), which is 1 at fN = 3.

Definition at line 157 of file test_vehicle_drag.py.

◆ test_rough_cf_is_reynolds_independent()

test_vehicle_drag.test_rough_cf_is_reynolds_independent ( )
(3.80): 0.032 (Rs/L)^0.2 above the critical Re, whatever Re.

Definition at line 136 of file test_vehicle_drag.py.

◆ test_rougher_skin_more_drag()

test_vehicle_drag.test_rougher_skin_more_drag ( shipped_flight)

Definition at line 79 of file test_vehicle_drag.py.

References fly().

◆ test_thrusting_removes_the_nozzle_exit_from_the_base()

test_vehicle_drag.test_thrusting_removes_the_nozzle_exit_from_the_base ( shipped_flight)
Cd_off - Cd_on = (0.12 + 0.13 M^2) A_exit / A_ref, nothing else changes with the motor.

Definition at line 60 of file test_vehicle_drag.py.

◆ test_turbulent_cf_against_prandtl_schlichting()

test_vehicle_drag.test_turbulent_cf_against_prandtl_schlichting ( )

Definition at line 129 of file test_vehicle_drag.py.

◆ test_user_table_is_flown_as_given()

test_vehicle_drag.test_user_table_is_flown_as_given ( )

Definition at line 102 of file test_vehicle_drag.py.

References fly().

Variable Documentation

◆ rocketpy

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

Definition at line 21 of file test_vehicle_drag.py.