feat(fem): polar second moment of area of a hollow circular shaft#445
Merged
Merged
Conversation
Add beam::hollow_circular_polar_second_moment_of_area(outer_diameter, inner_diameter), the polar second moment of a tube/pipe about its axis: J = pi * (D^4 - d^4) / 32 (m^4) For a CIRCULAR tube this polar second moment IS the genuine St-Venant torsion constant (unlike a non-circular section) -- the torsional stiffness of drive-shaft tubing, far stiffer per weight than a solid shaft. Guard mirrors hollow_circular_second_moment_of_area. Analytic test hollow_circular_polar_second_moment_of_area_is_pi_d4_minus_d4_over_32: (a) worked D=0.1, d=0.05 -> J ~= 9.2038e-6 m^4; (b) threads hollow_circular_second_moment_of_area (#435) (non-tautological, perpendicular-axis theorem): J = 2*I_hollow; (c) threads circular_polar_second_moment_of_area (#423) (non-tautological, annulus): J = J(D) - J(d); (d) solid limit: a zero bore is a solid shaft; (e) 0-sentinel guards for D<=0, d>=D, non-finite, negative bore. Re-exported from lib.rs alphabetically in the beam block. valenx-fem 266 lib tests (was 265), cargo clippy --all-targets -D warnings clean.
nochallenge
added a commit
that referenced
this pull request
Jun 9, 2026
…an) (#464) Completes the scale-separation-ratio pair with the integral-to-Kolmogorov ratio L/η (dimensionless) — the ratio of the energy-containing integral length scale L (integral_length_scale, #445) to the dissipative Kolmogorov length η (kolmogorov_length_scale), the total span of the turbulent cascade from the largest eddies to the smallest. It is the companion to λ/η (taylor_to_kolmogorov_ratio, #455) and the widest scale-separation measure: it grows strongly with Reynolds number (∝ 1/ν^(3/2) for a fixed flow) and in isotropic turbulence satisfies L/η = Re_λ^(3/2)/15^(3/4). Guards η ≤ 0. Analytic test (4 checks) on a pure shear u(y)=γy (ε=νγ²) and a solid-body rotation (ε=0): (a) delegation thread L/η = L ÷ η; (b) non-tautological identity L/η = Re_λ^(3/2)/15^(3/4) threading taylor_reynolds_number (#443); (c) 1/ν^(3/2) scaling — fixed field, quartering ν multiplies the ratio by 8; (d) no- dissipation → 0. valenx-cfd-native 141 lib tests (was 140), clippy clean. Research-grade closed-form diagnostic, not a production turbulence model.
nochallenge
added a commit
that referenced
this pull request
Jun 9, 2026
…e trio) (#466) Completes the turbulence length-scale-ratio trio with the integral-to-Taylor ratio L/λ (dimensionless) — the ratio of the energy-containing integral length scale L (integral_length_scale, #445) to the intermediate Taylor microscale λ (taylor_microscale, #441). It joins λ/η (taylor_to_kolmogorov_ratio, #455) and L/η (integral_to_kolmogorov_ratio, #457). It grows linearly with Reynolds number (∝ 1/ν for a fixed flow) and in isotropic turbulence is exactly L/λ = Re_λ/15. Guards λ ≤ 0 (no dissipation). Analytic test (4 checks) on a pure shear u(y)=γy (ε=νγ²) and a solid-body rotation (ε=0): (a) delegation thread L/λ = L ÷ λ; (b) non-tautological identity L/λ = Re_λ/15 threading taylor_reynolds_number (#443); (c) 1/ν scaling — fixed field, halving ν doubles the ratio; (d) no-dissipation → 0. valenx-cfd-native 142 lib tests (was 141), clippy clean. No UI change. Research-grade closed-form diagnostic, not a production turbulence model.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
beam::hollow_circular_polar_second_moment_of_area(outer_diameter, inner_diameter)— the polar second moment of a tube/pipe about its axis:// J = pi * (D^4 - d^4) / 32 (m^4)Why
For a circular tube this polar second moment is the genuine St-Venant torsion constant (unlike a non-circular section) — the torsional stiffness of drive-shaft tubing, far stiffer per weight than a solid shaft. Guard mirrors
hollow_circular_second_moment_of_area. This completes the hollow circular{bending-I, polar-J}pair.Test
hollow_circular_polar_second_moment_of_area_is_pi_d4_minus_d4_over_32:D=0.1, d=0.05 -> J ~= 9.2038e-6 m^4;hollow_circular_second_moment_of_area(feat(cfd): RMS strain rate (L2 deformation rate) #435) (non-tautological, perpendicular-axis theorem) —J = 2*I_hollow;circular_polar_second_moment_of_area(feat(cad): inertia-tensor trace (rotation invariant) #423) (non-tautological, annulus) —J = J(D) - J(d);D<=0,d>=D, non-finite, negative bore.Re-exported from
lib.rsalphabetically in the beam block.valenx-fem266 lib tests (was 265);cargo clippy -p valenx-fem --all-targets -- -D warningsclean. Research-grade torsion section-property primitive.