|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Functions | |
| object | lox () |
| object | _bend (**Param overrides) |
| object | _hose (dict[str, Param]|None params=None, **object kwargs) |
| None | test_bend_resistance_depends_on_how_tight_the_bend_is (object lox) |
| None | test_bend_loss_has_a_minimum_near_three_diameters (object lox) |
| None | test_a_bend_inside_its_minimum_radius_is_reported_not_enforced (object lox) |
| None | test_a_bend_within_its_limit_reports_nothing () |
| None | test_no_limit_declared_means_no_claim () |
| None | test_routing_a_hose_tighter_costs_pressure (object lox) |
| None | test_convoluted_hose_is_far_lossier_than_smooth_bore (object lox) |
| None | test_end_fittings_are_reported_separately (object lox) |
| None | test_static_and_dynamic_bend_limits_are_distinguished () |
| None | test_breaking_the_static_limit_is_an_error () |
| None | test_a_straight_hose_has_no_bend_to_check () |
| None | test_hose_defaults_are_flagged_as_assumptions () |
Variables | |
| M = Provenance.MANUFACTURER | |
| float | BORE_MM = 7.75 |
Bends and flex hose: geometry that changes the answer. Bend radius is not a cosmetic property. At r/D = 1 a bend carries about three times the friction factor of a straight run and at r/D = 3 still nearly twice, so a model that ignores how tightly a line is actually routed under-predicts its loss substantially. It is also a hardware limit. Tube bent inside its minimum radius thins and ovalises; hose bent inside its minimum collapses a smooth-bore liner or fatigues a convoluted one. Those limits are *reported*, never enforced -- a line bent too tight is buildable, somebody will build it, and the model should still solve so that the cost is visible.
|
protected |
Definition at line 32 of file test_comps_geometry.py.
Referenced by test_a_bend_inside_its_minimum_radius_is_reported_not_enforced(), test_a_bend_within_its_limit_reports_nothing(), test_bend_loss_has_a_minimum_near_three_diameters(), test_bend_resistance_depends_on_how_tight_the_bend_is(), and test_no_limit_declared_means_no_claim().
|
protected |
Definition at line 41 of file test_comps_geometry.py.
Referenced by test_a_straight_hose_has_no_bend_to_check(), test_breaking_the_static_limit_is_an_error(), test_convoluted_hose_is_far_lossier_than_smooth_bore(), test_end_fittings_are_reported_separately(), test_routing_a_hose_tighter_costs_pressure(), and test_static_and_dynamic_bend_limits_are_distinguished().
| object test_comps_geometry.lox | ( | ) |
Definition at line 28 of file test_comps_geometry.py.
| None test_comps_geometry.test_a_bend_inside_its_minimum_radius_is_reported_not_enforced | ( | object | lox | ) |
It still solves. The violation is a statement, not a refusal.
Definition at line 89 of file test_comps_geometry.py.
References _bend().
| None test_comps_geometry.test_a_bend_within_its_limit_reports_nothing | ( | ) |
Definition at line 107 of file test_comps_geometry.py.
References _bend().
| None test_comps_geometry.test_a_straight_hose_has_no_bend_to_check | ( | ) |
Definition at line 202 of file test_comps_geometry.py.
References _hose().
| None test_comps_geometry.test_bend_loss_has_a_minimum_near_three_diameters | ( | object | lox | ) |
A real and slightly counter-intuitive result, worth pinning. Very tight bends lose to the turn itself; very long-radius ones lose to the extra arc length they add. The optimum sits around r/D = 2 to 4. That this falls out of the correlation rather than being imposed is a good sign that the geometry is reaching it correctly.
Definition at line 69 of file test_comps_geometry.py.
References _bend().
| None test_comps_geometry.test_bend_resistance_depends_on_how_tight_the_bend_is | ( | object | lox | ) |
A tight bend and a long-radius one are not the same component. The whole reason bend radius is a first-class parameter rather than an elbow class: a tube bent on whatever former was to hand is not a long-radius elbow, and the difference is visible in the loss.
Definition at line 55 of file test_comps_geometry.py.
References _bend().
| None test_comps_geometry.test_breaking_the_static_limit_is_an_error | ( | ) |
Definition at line 189 of file test_comps_geometry.py.
References _hose().
| None test_comps_geometry.test_convoluted_hose_is_far_lossier_than_smooth_bore | ( | object | lox | ) |
The convolutions are in the flow path, not just in the braid.
Definition at line 141 of file test_comps_geometry.py.
References _hose().
| None test_comps_geometry.test_end_fittings_are_reported_separately | ( | object | lox | ) |
On a short hose the crimped ends dominate, and that should be visible. Rolling them into a single number would hide the case where most of a hose's loss is its terminations -- which is the case that tells you a shorter hose will not help.
Definition at line 153 of file test_comps_geometry.py.
References _hose().
| None test_comps_geometry.test_hose_defaults_are_flagged_as_assumptions | ( | ) |
Roughness, convolution factor and end-fitting K are all placeholders. Published flex-hose loss data is scarce and construction varies between manufacturers, so these defaults are more suspect than most. A run report should say so, which it can only do if they are tagged.
Definition at line 207 of file test_comps_geometry.py.
| None test_comps_geometry.test_no_limit_declared_means_no_claim | ( | ) |
Silence about a limit is not a pass -- it is an absence of information.
Definition at line 115 of file test_comps_geometry.py.
| None test_comps_geometry.test_routing_a_hose_tighter_costs_pressure | ( | object | lox | ) |
Curved flow is genuinely more lossy, and the whole run is curved. Unlike a discrete bend -- where the curvature effect is already inside the fitting correlation -- a hose bent over its length is curved everywhere, so the friction factor itself changes.
Definition at line 123 of file test_comps_geometry.py.
References _hose().
| None test_comps_geometry.test_static_and_dynamic_bend_limits_are_distinguished | ( | ) |
Inside static, outside dynamic -- the case worth surfacing. Whether a run actually flexes in service is a fact about the installation that the model does not know, so this is a warning rather than an error. Silently passing it would lose the one piece of information that matters.
Definition at line 169 of file test_comps_geometry.py.
References _hose().
| float test_comps_geometry.BORE_MM = 7.75 |
Definition at line 24 of file test_comps_geometry.py.
| test_comps_geometry.M = Provenance.MANUFACTURER |
Definition at line 23 of file test_comps_geometry.py.