← All posts Composites · Literature replication

Three composite benchmarks, reproduced from the papers.

Closed-form checks show that an element is coded correctly. To trust a composites engine, you must also reproduce the results that the field cites. We took three standard ones: the Tsai-Pagano quasi-isotropic invariants, the Tsai-Wu failure criterion, and the World-Wide Failure Exercise reference lamina. We got them back to machine precision.

The physicsbase team
July 2026 · 7 min read

A composite laminate is a stack of orthotropic plies at different angles. Its stiffness is a clear function of that stack. But the interesting properties are in the classic papers. Is it isotropic in-plane? Which ply fails first, and at what load? The field uses those papers to check a new tool. Thus we did not invent our own numbers. We reproduced theirs.

1 — Tsai-Pagano quasi-isotropic invariants (1968)

Tsai and Pagano rewrote the transformed lamina stiffness with five invariants \(U_1\ldots U_5\). These do not change when you rotate the ply. This has a strong result. A laminate with plies at equal angle spacing — the common [0/±45/90]s quasi-isotropic layup — has an in-plane stiffness that is isotropic. The invariants alone give the modulus in closed form:

\[ E_{\text{qi}} = \frac{U_1^2 - U_4^2}{U_1}, \qquad \nu_{\text{qi}} = \frac{U_4}{U_1}, \qquad G_{\text{qi}} = U_5 = \tfrac{1}{2}(U_1-U_4). \]

We built that laminate from the World-Wide Failure Exercise T300/BSL914C lamina (\(E_1=138\), \(E_2=11\) GPa, \(\nu_{12}=0.28\), \(G_{12}=5.5\) GPa). We asked the ABD engine for its effective constants:

Quantityphysicsbase (CLT)Tsai-Paganoerror
Ex54.14 GPa54.14 GPa1e−16
Ey54.14 GPa= Exexact
Gxy20.72 GPaU₅1e−16
νxy0.3065U₄/U₁exact

The layup is quasi-isotropic. Thus a rotation of every ply by any angle does not change the effective modulus. The engine reproduces this to one part in \(10^{8}\). The invariants are not a coincidence of one layup. They are a property of the material. The ABD assembly recovers them exactly.

2 — The Tsai-Wu failure criterion (1971)

Tsai and Wu proposed a single quadratic scalar that decides whether a lamina has failed under a combined stress \((\sigma_1,\sigma_2,\tau_{12})\) in fibre axes:

\[ F_1\sigma_1 + F_2\sigma_2 + F_{11}\sigma_1^2 + F_{22}\sigma_2^2 + F_{66}\tau_{12}^2 + 2F_{12}\sigma_1\sigma_2 \ge 1. \]

The five measured strengths fix the coefficients. These are the tensile and compressive strengths along and across the fibres, and the shear strength. The criterion must reduce to those strengths at each axis. Pure longitudinal tension must fail at \(X_t\). Pure transverse tension must fail at \(Y_t\). Pure shear must fail at \(S\). Our code does this exactly:

LoadingFailure stressStrengtherror
Fibre tension1500 MPaXt = 1500exact
Fibre compression900 MPaXc = 900exact
Transverse tension27 MPaYt = 27exact
Transverse compression200 MPaYc = 200exact
In-plane shear80 MPaS = 80exact

Between the axes the criterion draws a tilted ellipse in \((\sigma_1,\sigma_2)\) space. This is the interaction that a maximum-stress check misses. It works with the Hashin criterion that is already in the engine. The Hashin criterion reports which mode (fibre or matrix) failed.

3 — The World-Wide Failure Exercise materials

The WWFE (Soden, Hinton, and Kaddour, 1998) is the reference dataset for composite failure. It is a fixed set of lamina properties and layups. Nineteen failure theories had to predict them. We use its lamina elastic properties — T300/BSL914C, E-glass/LY556, AS4/3501-6 — as the inputs to the invariant and laminate checks above. Thus the numbers we reproduce come from the data that the field agreed on.

Each case is in the manual. The quasi-isotropic invariants, the rotation invariance, and the Tsai-Wu axis strengths are live rows in the Verification Manual. Run python -m verification.suite to reproduce them.

Honest footnotes

These are analytical composite mechanics: classical lamination theory and closed-form failure criteria at the ply level, reproduced exactly. They are not a full-field prediction of the WWFE failure envelopes. That prediction needs progressive damage with the paper's specific nonlinear shear and in-situ strengths. They are also not a 3D woven-RVE homogenization. They show that the laminate stiffness, the invariant structure, and the failure-criterion algebra are correct against the sources that the field trusts. The harder predictions build on this.

References

  1. S. W. Tsai & N. J. Pagano, "Invariant properties of composite materials," in Composite Materials Workshop (1968).
  2. S. W. Tsai & E. M. Wu, "A general theory of strength for anisotropic materials," J. Composite Materials 5 (1971) 58–80.
  3. P. D. Soden, M. J. Hinton & A. S. Kaddour, "Lamina properties, lay-up configurations and loading conditions for a range of fibre-reinforced composite laminates," Compos. Sci. Technol. 58 (1998) 1011–1022.
  4. Z. Hashin, "Failure criteria for unidirectional fiber composites," J. Appl. Mech. 47 (1980) 329–334.
  5. R. M. Jones, Mechanics of Composite Materials, 2nd ed. (1999).
Try it. POST /v1/laminate and /v1/progressive_failure take a ply stack. They return the ABD matrices, the per-ply stresses, and the failure loads. Read the docs →