Thick-walled cylinder under internal pressure (Lamé)#
One of the oldest pressure-vessel benchmarks in solid mechanics. A long cylinder with inner radius \(a\), outer radius \(b\), subjected to internal pressure \(p_i\) (no external pressure) develops radial and hoop stress fields that Lamé derived analytically in 1852.
Under the plane-strain assumption (ε_z = 0 — long cylinder
with ends restrained):
Radial displacement peaks at the inner surface; hoop stress also peaks there. \(\sigma_r(a) = -p_i\) exactly (the applied pressure, with compression sign convention).
Problem#
Parameter |
Value |
|---|---|
Inner radius |
0.01 m (10 mm) |
Outer radius |
0.02 m (20 mm) |
Axial slab thickness |
0.001 m (plane-strain model) |
Young’s modulus |
210 GPa |
Poisson’s ratio |
0.30 |
Internal pressure |
100 MPa |
Expected |
9.08 × 10⁻⁶ m |
Expected |
166.7 MPa (tensile) |
Expected |
66.7 MPa (tensile) |
femorph-solver result#
Ran by tests/validation/test_lame_cylinder.py on a
mapped quarter-annulus hex mesh (SOLID185 kernel). Plane
strain is enforced by pinning UZ = 0 on every node of the
thin slab; symmetry BCs on the cut x-axis / y-axis planes
restore the full annulus.
The internal pressure is lumped onto the inner-surface nodes via
trapezoid arc-length weighting, with local nodal accumulation
before calling Model.apply_force (the _f_impl path
assigns rather than accumulates).
Refinement |
Mesh (n_θ × n_r) |
|
Δ |
|
Δ |
|---|---|---|---|---|---|
Coarse |
16 × 4 |
9.038 × 10⁻⁶ m |
−0.45 % |
186.0 MPa |
+11.58 % |
Medium |
32 × 8 |
9.069 × 10⁻⁶ m |
−0.12 % |
177.6 MPa |
+6.57 % |
Reference |
64 × 16 |
9.077 × 10⁻⁶ m |
−0.03 % |
172.5 MPa |
+3.51 % |
Radial displacement converges to under 0.05 %. The hoop-stress
concentration at r = a is harder to resolve on a coarse mesh
— the 1/r² gradient is steep near the inner surface — but
refines to ~3.5 % at the reference mesh, well inside the 8 %
engineering tolerance.
Cross-references#
Source |
Reported |
Problem ID / location |
|---|---|---|
Closed form (Lamé 1852) |
166.67 |
Timoshenko & Goodier 1970 §33 |
Timoshenko & Goodier (1970) |
166.67 |
Theory of Elasticity §33 |
femorph-solver (refined) |
172.5 |
|
MAPDL Verification Manual |
≈ 166.7 |
VM-25 Stresses in a long cylinder under internal pressure |
Abaqus Verification Manual |
≈ 166.7 |
AVM 1.1.14 thick-walled cylinder family |
Source#
Problem class:
femorph_solver.validation.problems.LameCylinder.
Backing regression test:
tests/validation/test_lame_cylinder.py — convergence
study across three mesh refinements asserting all three
published quantities (u_r(a), σ_θ(a), σ_θ(b))
pass their tolerances and that u_r converges monotonically.