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

Functions

 _tangency_radius (R_t, theta)
 _drawn_volume (L_cyl, L_con, R_c, R_t, theta, n=200001)
 test_drawn_volume_matches_commanded_lstar (D_c, Lstar, theta)
 test_old_exponent_would_fail ()
float _real_drawn_lstar (float D_c, float Lstar, float theta)
 test_generated_contour_has_the_commanded_lstar (Lstar, theta_deg)
 test_entrance_arc_volume_is_not_negligible ()
 test_tangency_radius_is_above_the_throat ()

Variables

 _PC
 _F
 _D_EXIT

Detailed Description

The drawn chamber must actually hold the commanded L* x A_t.

Guards the convergent-volume term in chamber_length_calc. The old form used
(eps^(1/3) - 1) instead of (eps^(3/2) - 1), understating the cone by ~18x at
typical contraction ratios and padding the barrel to compensate.

Function Documentation

◆ _drawn_volume()

test_chamber_geometry_volume._drawn_volume ( L_cyl,
L_con,
R_c,
R_t,
theta,
n = 200001 )
protected
Volume of the solid of revolution ACTUALLY generated: cylinder, cone to the arc
tangency radius, then the 1.5*R_t entrance arc down to the throat.

This used to draw a straight cone all the way to R_t, which is not what the generator
makes -- so it reproduced the very convention the volume arithmetic got wrong and could
not catch the entrance-arc bug. See the real-contour tests at the bottom of this file.

Definition at line 23 of file test_chamber_geometry_volume.py.

References _tangency_radius().

Referenced by test_drawn_volume_matches_commanded_lstar(), and test_old_exponent_would_fail().

◆ _real_drawn_lstar()

float test_chamber_geometry_volume._real_drawn_lstar ( float D_c,
float Lstar,
float theta )
protected
L* of the contour chamber_geometry_calc ACTUALLY generates, face to throat.

Definition at line 107 of file test_chamber_geometry_volume.py.

Referenced by test_generated_contour_has_the_commanded_lstar().

◆ _tangency_radius()

test_chamber_geometry_volume._tangency_radius ( R_t,
theta )
protected
Radius where the 1.5*R_t entrance arc is tangent to a cone of half-angle theta.

Definition at line 18 of file test_chamber_geometry_volume.py.

Referenced by _drawn_volume(), test_drawn_volume_matches_commanded_lstar(), and test_old_exponent_would_fail().

◆ test_drawn_volume_matches_commanded_lstar()

test_chamber_geometry_volume.test_drawn_volume_matches_commanded_lstar ( D_c,
Lstar,
theta )

Definition at line 51 of file test_chamber_geometry_volume.py.

References _drawn_volume(), and _tangency_radius().

◆ test_entrance_arc_volume_is_not_negligible()

test_chamber_geometry_volume.test_entrance_arc_volume_is_not_negligible ( )
Guard the guard: if the arc term were dropped the test above must fail, not pass.

Definition at line 133 of file test_chamber_geometry_volume.py.

◆ test_generated_contour_has_the_commanded_lstar()

test_chamber_geometry_volume.test_generated_contour_has_the_commanded_lstar ( Lstar,
theta_deg )
The chamber that gets DRAWN must hold the volume that was asked for.

Definition at line 122 of file test_chamber_geometry_volume.py.

References _real_drawn_lstar().

◆ test_old_exponent_would_fail()

test_chamber_geometry_volume.test_old_exponent_would_fail ( )
The pre-fix formula overshoots by ~10 % -- proves this test has teeth.

Definition at line 68 of file test_chamber_geometry_volume.py.

References _drawn_volume(), and _tangency_radius().

◆ test_tangency_radius_is_above_the_throat()

test_chamber_geometry_volume.test_tangency_radius_is_above_the_throat ( )
r_tan = R_t(1 + 1.5(1-cos theta)) must exceed R_t, or the cone would run past the arc.

Definition at line 146 of file test_chamber_geometry_volume.py.

Variable Documentation

◆ _D_EXIT

test_chamber_geometry_volume._D_EXIT
protected

Definition at line 104 of file test_chamber_geometry_volume.py.

◆ _F

test_chamber_geometry_volume._F
protected

Definition at line 104 of file test_chamber_geometry_volume.py.

◆ _PC

test_chamber_geometry_volume._PC
protected

Definition at line 104 of file test_chamber_geometry_volume.py.