Skip to content

feat(fem): plastic section modulus of a circular section#436

Merged
nochallenge merged 1 commit into
masterfrom
feat/fem-circular-plastic-section-modulus
Jun 8, 2026
Merged

feat(fem): plastic section modulus of a circular section#436
nochallenge merged 1 commit into
masterfrom
feat/fem-circular-plastic-section-modulus

Conversation

@nochallenge

Copy link
Copy Markdown
Owner

What

Adds beam::circular_plastic_section_modulus(diameter) — the plastic section modulus of a solid round section:

// Z = d^3 / 6   (m^3)
pub fn circular_plastic_section_modulus(diameter: f64) -> f64

Why

The section property for fully-plastic limit bending of a shaft (M_plastic = sigma_y * Z) — the circular companion to rectangular_plastic_section_modulus (#426). For a solid circle the shape factor is Z/S = 16/(3*pi) ~= 1.698 (Z = d^3/6 vs the elastic S = pi*d^3/32). Guard mirrors circular_second_moment_of_area. This completes the {rectangular, circular} x {elastic-S, plastic-Z} section-modulus grid.

Test

circular_plastic_section_modulus_is_d3_over_6:

  • (a) workedd=0.1 -> Z = 1.6667e-4 m^3;
  • (b) threads elastic_section_modulus + circular_second_moment_of_area (feat(cfd): vorticity standard deviation (variance identity) #419) (non-tautological) — Z = (16/3pi)*S and the shape factor Z/S = 16/(3pi);
  • (c) scaling — cubic in diameter;
  • (d) guards — 0-sentinel for non-positive d and non-finite input.

Re-exported from lib.rs alphabetically in the beam block. valenx-fem 263 lib tests (was 262); cargo clippy -p valenx-fem --all-targets -- -D warnings clean. Research-grade plastic/limit-analysis section property.

Add beam::circular_plastic_section_modulus(diameter), the plastic section
modulus of a solid round section:

  Z = d^3 / 6   (m^3)

the section property for fully-plastic limit bending of a shaft
(M_plastic = sigma_y * Z) -- the circular companion to
rectangular_plastic_section_modulus (#426). For a solid circle the shape
factor is Z/S = 16/(3*pi) ~= 1.698 (Z = d^3/6 vs the elastic S = pi*d^3/32).
Guard mirrors circular_second_moment_of_area.

Analytic test circular_plastic_section_modulus_is_d3_over_6:
(a) worked d=0.1 -> Z = 1.6667e-4 m^3;
(b) threads elastic_section_modulus + circular_second_moment_of_area
    (#419) (non-tautological): Z = (16/3pi)*S and the shape factor
    Z/S = 16/(3pi);
(c) cubic in diameter;
(d) 0-sentinel guards for non-positive d and non-finite input.

Re-exported from lib.rs alphabetically in the beam block. valenx-fem 263
lib tests (was 262), cargo clippy --all-targets -D warnings clean.
@nochallenge nochallenge merged commit 92f8d47 into master Jun 8, 2026
@nochallenge nochallenge deleted the feat/fem-circular-plastic-section-modulus branch June 8, 2026 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant