Single hex — uniaxial tension (Hooke’s law)#
The most elementary first-principles correctness check for any 3D continuum element: does a single hex under uniaxial tension produce the stress and strain a textbook predicts?
For a unit cube of isotropic linear-elastic material with the
x = 0 face axially fixed and a uniform axial traction on the
x = L face:
This problem is exactly what the element kernel and the constitutive law encode — if a single hex fails it, something is wrong at the material-law or strain-recovery layer, not at the numerical-convergence layer.
Problem#
Parameter |
Value |
|---|---|
Geometry |
Unit cube, |
Element |
Single |
Young’s modulus |
200 GPa |
Poisson’s ratio |
0.30 |
Axial load |
1 MN distributed on four corner nodes of the |
BCs |
|
Analytical reference#
Hooke’s law in 3D (Cook et al. §1.3; Hughes §2.7 — public-domain derivations):
No approximation; no convergence discussion. The HEX8 shape functions are linear in each Cartesian direction, so a single element can represent the uniform strain state exactly.
femorph-solver result#
Ran by tests/analytical/test_single_hex_uniaxial.py using
the Model’s .strain(u) on-the-fly API (Agent 1’s TA-9b
contribution). With the strain-recovery path returning
per-node Voigt strain in (xx, yy, zz, xy, yz, xz) order:
Component |
Analytical |
femorph-solver |
Relative error |
|---|---|---|---|
|
|
|
< 10⁻⁸ |
|
|
|
< 10⁻⁸ |
|
|
|
< 10⁻⁸ |
|
0 |
< 10⁻¹⁰ |
— |
Hooke’s law holds to machine precision. The regression test sets
rtol = 1 × 10⁻⁸ for the diagonal components (tight enough to
catch a material-law bug but loose enough for single-precision
element-return-path rounding) and 1 × 10⁻¹⁰ absolute for the
shear components.
Cross-references#
Source |
Reported |
Problem ID / location |
|---|---|---|
Closed form (Hooke’s law) |
|
Cook CAFEA §1.3 + Hughes FEM §2.7 |
NAFEMS Background to Benchmarks |
|
BtB-2.1 (uniaxial tension test) |
femorph-solver |
|
|
Abaqus Verification Manual |
|
AVM 1.3.1 (uniaxial stress, C3D8) |
MAPDL Verification Manual |
|
VM-1 (statically indeterminate reaction force analysis) |
Every source agrees to the precision at which the value is stated. This is the minimum bar an FE implementation has to clear — no solver that ships results differing from Hooke’s law on a single element is worth trusting.
Source#
Backing regression test:
tests/analytical/test_single_hex_uniaxial.py
— landed with Agent 2’s TA-9b analytical suite (#150).