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

Functions

 _python_physics ()
float _lichtarowicz (float ld)
 _short_tube_band (float ld, float Re=3.0e5)
 test_blank_doublet_gets_the_drilled_hole_cd (path, side)
 test_blank_hole_ld_is_the_one_the_layout_draws ()
 test_default_length_model_is_the_published_fit (ld)
 test_past_the_fit_is_recorded_not_silent ()
 test_thin_plate_path_has_no_small_hole_penalty (d_mm)
 test_impinging_solve_on_the_thin_plate_path_says_so ()

Variables

 ROOT = Path(__file__).resolve().parents[1]
list BLANKS = ["configs/default.yaml", "configs/canonical/impinging.yaml"]

Detailed Description

A blank doublet design flows its holes as the drilled passages the layout draws.

The layout drills every doublet hole as an L/d-4 passage (SP-8089 3.1.2.2: "an orifice L/d of
at least 4"), so a design started from configs/default.yaml (what a new session loads) or
configs/canonical/impinging.yaml (what an injector switch loads) must use that passage's Cd. A
sharp-entry drilled hole reattaches inside the bore: Lichtarowicz, Duggins & Markland (1965),
Cd_u = 0.827 - 0.0085 L/d for 2 <= L/d <= 10, i.e. 0.793 at L/d 4. Both blank configs used to
fall through to the thin-plate diameter model, 0.60 x (d / 2 mm)^0.2 = 0.566 at 1.5 mm: holes
sized on it come out ~1.4x too large in area and run at half the design injector dp.

That small-hole exponent also had the wrong sign. ISO 5167 and Sutton & Biblarz Table 8-2 both
have small sharp holes flowing slightly more, not less; the thin-plate path is now the flat
0.60 asymptote below d_ref.

Expected values are the published fit and an energy balance built on ``fluids``, not the module.

Function Documentation

◆ _lichtarowicz()

float test_default_doublet_cd._lichtarowicz ( float ld)
protected

◆ _python_physics()

test_default_doublet_cd._python_physics ( )
protected
The authoritative Python path; engine/accel mirrors it and test_numba_ab_parity holds the
two together.

Definition at line 32 of file test_default_doublet_cd.py.

◆ _short_tube_band()

test_default_doublet_cd._short_tube_band ( float ld,
float Re = 3.0e5 )
protected
Energy balance through a short tube, Cd = (1 + K_entrance + f L/d)^-1/2, with the sharp
entrance K from Rennels (0.57) and Idelchik (0.5) and a smooth-wall Colebrook f.

Definition at line 49 of file test_default_doublet_cd.py.

References max, and min.

Referenced by test_blank_doublet_gets_the_drilled_hole_cd().

◆ test_blank_doublet_gets_the_drilled_hole_cd()

test_default_doublet_cd.test_blank_doublet_gets_the_drilled_hole_cd ( path,
side )

Definition at line 61 of file test_default_doublet_cd.py.

References _lichtarowicz(), and _short_tube_band().

◆ test_blank_hole_ld_is_the_one_the_layout_draws()

test_default_doublet_cd.test_blank_hole_ld_is_the_one_the_layout_draws ( )
One number drives the drawing and the Cd: the layout's passage L/d is the discharge L/d.

Definition at line 73 of file test_default_doublet_cd.py.

◆ test_default_length_model_is_the_published_fit()

test_default_doublet_cd.test_default_length_model_is_the_published_fit ( ld)
No plateau over L/d 2-5: the default is Lichtarowicz, not the piecewise curve.

Definition at line 85 of file test_default_doublet_cd.py.

References _lichtarowicz().

◆ test_impinging_solve_on_the_thin_plate_path_says_so()

test_default_doublet_cd.test_impinging_solve_on_the_thin_plate_path_says_so ( )
An impinging config that still declares no inlet is told its Cd is a thin plate.

Definition at line 107 of file test_default_doublet_cd.py.

◆ test_past_the_fit_is_recorded_not_silent()

test_default_doublet_cd.test_past_the_fit_is_recorded_not_silent ( )

Definition at line 91 of file test_default_doublet_cd.py.

◆ test_thin_plate_path_has_no_small_hole_penalty()

test_default_doublet_cd.test_thin_plate_path_has_no_small_hole_penalty ( d_mm)
Below d_ref the thin-plate path is the 0.60 sharp-orifice asymptote (ISO 5167 C ~ 0.60-0.62),
not 0.60 x (d/2 mm)^0.2.

Definition at line 100 of file test_default_doublet_cd.py.

Variable Documentation

◆ BLANKS

list test_default_doublet_cd.BLANKS = ["configs/default.yaml", "configs/canonical/impinging.yaml"]

Definition at line 28 of file test_default_doublet_cd.py.

◆ ROOT

test_default_doublet_cd.ROOT = Path(__file__).resolve().parents[1]

Definition at line 27 of file test_default_doublet_cd.py.