Cantilever under tip torque — Saint-Venant torsion ===================================================== First torsion benchmark in the corpus. A prismatic cantilever loaded by a pure tip torque :math:`T` about the beam axis twists uniformly along its span. Saint-Venant torsion gives .. math:: \varphi_{\text{tip}} = \frac{T L}{G J}, with :math:`G = E / (2(1+\nu))` the shear modulus and :math:`J` the torsion constant of the cross-section. For a rectangular section ``b × t`` (``b ≥ t``): .. math:: J = \beta(b/t) \, b \, t^{3}, where :math:`\beta` tabulated from Saint-Venant's infinite- series solution (Timoshenko & Goodier §109): ``β = 0.141`` at ``b/t = 1`` (square), approaching ``1/3`` for long thin sections. For a square ``h × h`` section, :math:`J \approx 0.141 \, h^{4}`. 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 * - Tip torque ``T`` - 10 N·m * - Shear modulus ``G`` - ``E / (2(1+ν))`` = 76.92 GPa * - Torsion constant ``J`` - ``0.141 × h⁴`` = 8.81 × 10⁻⁷ m⁴ * - Expected tip twist ``φ`` - ``T L / (G J)`` = 1.475 × 10⁻⁴ rad femorph-solver result --------------------- Ran by :file:`tests/validation/test_cantilever_torsion.py` using the ``BEAM188`` kernel — femorph-solver's 3D linear beam with 6 DOFs per node. Clamp all six DOFs at the left end, apply ``MX = T`` at the tip (moment about the beam x-axis), read the tip ``ROTX`` back. .. list-table:: :header-rows: 1 :widths: 30 30 20 20 * - Refinement - Elements - ``φ_tip`` (rad) - Error vs closed form * - Coarse - 10 - 1.4752 × 10⁻⁴ - < 1 × 10⁻¹² * - Medium - 20 - 1.4752 × 10⁻⁴ - < 1 × 10⁻¹² * - Refined - 40 - 1.4752 × 10⁻⁴ - < 1 × 10⁻¹² ``BEAM188`` integrates the Saint-Venant linear torsion equation **exactly**: the torsion block of the stiffness matrix produces the closed-form ``T L / (GJ)`` twist to machine precision on any mesh. This is the standard signature of a correctly- implemented linear-beam torsion kernel. Cross-references ---------------- .. list-table:: :header-rows: 1 :widths: 35 30 35 * - Source - Reported ``φ_tip`` (rad) - Problem ID / location * - Closed form (Saint-Venant) - 1.475 × 10⁻⁴ - Timoshenko & Goodier 1970 §109 * - Saint-Venant (1853) - 1.475 × 10⁻⁴ - Original derivation, ``β(b/t)`` series * - femorph-solver (any mesh) - 1.475 × 10⁻⁴ - :file:`test_cantilever_torsion.py` * - MAPDL Verification Manual - 1.475 × 10⁻⁴ - VM-23 family (rotating-disk / torsion kernel) * - Abaqus Verification Manual - 1.475 × 10⁻⁴ - AVM 1.5.x cantilever-torsion family Source ------ Problem class: :class:`femorph_solver.validation.problems.CantileverTorsion`. Backing regression test: :file:`tests/validation/test_cantilever_torsion.py` — asserts ``φ_tip`` matches the closed form to within ``1 × 10⁻¹⁰`` relative error on every mesh in the refinement sweep (not just the finest).