feat(fem): polar second moment of area of a circular shaft#430
Merged
Conversation
Add beam::circular_polar_second_moment_of_area(diameter), the polar second moment of a solid round shaft about its longitudinal axis: J = pi * d^4 / 32 (m^4) the torsion constant of a round bar -- the J that feeds polar_section_modulus (Z_p = J/(d/2)) and torsional_rigidity (GJ), neither of which previously had a way to compute J for a circle. By the perpendicular-axis theorem it is exactly twice the bending circular_second_moment_of_area (J = Ix + Iy = 2*I, since Ix = Iy for a circle). Guard mirrors the bending companion. Analytic test circular_polar_second_moment_of_area_is_pi_d4_over_32: (a) worked d=0.1 -> J = pi*0.1^4/32 ~= 9.8175e-6 m^4; (b) threads circular_second_moment_of_area (#419) (non-tautological, perpendicular-axis theorem): J = 2*I; (c) threads polar_section_modulus: Z_p = J/(d/2) = pi*d^3/16; (d) threads torsional_rigidity (#410): GJ of a steel shaft; (e) quartic in diameter; (f) 0-sentinel guards for non-positive d and non-finite input. Re-exported from lib.rs alphabetically in the beam block. valenx-fem 261 lib tests (was 260), cargo clippy --all-targets -D warnings clean.
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::circular_polar_second_moment_of_area(diameter)— the polar second moment of a solid round shaft about its longitudinal axis:Why
The torsion constant of a round bar — the
Jthat feedspolar_section_modulus(Z_p = J/(d/2)) andtorsional_rigidity(GJ), neither of which previously had a way to computeJfor a circle (both take it as a parameter). By the perpendicular-axis theorem it is exactly twice the bendingcircular_second_moment_of_area(J = Ix + Iy = 2*I, sinceIx = Iyfor a circle). Guard mirrors the bending companion.Test
circular_polar_second_moment_of_area_is_pi_d4_over_32:d=0.1 -> J = pi*0.1^4/32 ~= 9.8175e-6 m^4;circular_second_moment_of_area(feat(cfd): vorticity standard deviation (variance identity) #419) (non-tautological, perpendicular-axis theorem) —J = 2*I;polar_section_modulus—Z_p = J/(d/2) = pi*d^3/16;torsional_rigidity(feat(aero): Mach from stagnation temperature ratio (isentropic inverse) #410) —GJof a steel shaft;dand non-finite input.Re-exported from
lib.rsalphabetically in the beam block.valenx-fem261 lib tests (was 260);cargo clippy -p valenx-fem --all-targets -- -D warningsclean. Research-grade torsion section-property primitive.