Cantilever beam — tip deflection under uniform distributed load ================================================================ A clamped slender cantilever of length :math:`L` carrying a uniformly-distributed transverse load :math:`q` (force per unit length, e.g. self-weight) along its span deflects at the tip by .. math:: \delta_{\text{tip}} = \frac{q L^{4}}{8 E I}, \qquad I = \frac{b h^{3}}{12}. Companion to the :doc:`tip-shear ` and :doc:`tip-moment ` cantilever cases. Problem ------- .. list-table:: :header-rows: 1 :widths: 30 70 * - Parameter - Value * - Length ``L`` - 1.0 m * - Cross-section - 0.05 m × 0.05 m (square) * - Young's modulus ``E`` - 200 GPa * - Poisson's ratio ``ν`` - 0.30 * - Distributed load ``q`` - 1 000 N/m (acts in ``-z``) * - Expected tip deflection - ``q L⁴ / (8 E I) = 1.20 × 10⁻³ m`` Analytical reference -------------------- Integrating the Euler–Bernoulli equation ``EI w'''' = q`` (Timoshenko, *Strength of Materials Part I*, §5.4) four times with cantilever BCs (``w(0)=w'(0)=0``, ``EI w'''(L)=0``, ``EI w''(L)=0``) gives ``w(x) = q x² (6L² - 4Lx + x²) / (24 E I)`` and hence ``δ_tip = q L⁴ / (8 E I)``. femorph-solver result --------------------- Ran by :file:`tests/validation/test_cantilever_udl.py` on an SOLID185 enhanced-strain hex mesh. The UDL is lumped onto the top-face nodes with a trapezoidal rule: edge columns carry half- weight per unit length, interior columns full weight. The nodal resultant integrates to ``q * L`` exactly — a regression test pins this invariant. .. list-table:: :header-rows: 1 :widths: 25 20 25 25 * - Discretisation - Mesh (``nx × ny × nz``) - ``δ_tip`` (m) - Error vs Euler–Bernoulli * - Coarse - 10 × 3 × 3 - see test - < 5 % * - Medium - 20 × 3 × 3 - see test - ~1 % * - Reference - 40 × 3 × 3 - 1.193 × 10⁻³ - 0.59 % * - Refined - 80 × 3 × 3 - see test - < 0.2 % Cross-references ---------------- .. list-table:: :header-rows: 1 :widths: 35 30 35 * - Source - Reported ``δ_tip`` (m) - Problem ID / location * - Closed form (Euler–Bernoulli) - 1.200 × 10⁻³ - Timoshenko *SoM Part I* §5.4 * - Gere & Goodno (2018) §9.3 Table 9-1 case 1 - 1.200 × 10⁻³ - UDL cantilever * - femorph-solver (reference mesh) - 1.193 × 10⁻³ - :file:`test_cantilever_udl.py` * - MAPDL Verification Manual - 1.20 × 10⁻³ - VM-2 *Beam stresses and deflections* (UDL case) * - Abaqus Verification Manual - 1.20 × 10⁻³ - AVM 1.5.x cantilever-with-UDL family Source ------ Problem class: :class:`femorph_solver.validation.problems.CantileverUDL`. Backing regression test: :file:`tests/validation/test_cantilever_udl.py` — four-mesh convergence sweep plus a nodal-load-conservation check.