# Failure Criteria

> Use when you must evaluate a composite lamina against strength failure criteria: compute the Tsai-Wu, Tsai-Hill, and max-stress failure indices from the in-plane stresses and the ply allowables, and return the failure verdict. Produces each criterion index, the governing criterion, and the pass or fail verdict for the ply stress state. Trigger: lamina failure, tsai wu, tsai hill, max stress, failure index, composite ply strength, in plane stress.

- Skill: `ashfordeou/failure-criteria` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add ashfordeou/failure-criteria`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ashfordeou/failure-criteria/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: ashfordeOU (https://skillmd.com/u/ashfordeou)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ashfordeou/failure-criteria

---


# Lamina Failure Criteria (structures/composites/failure-criteria)

Use when the task is lamina failure assessment for a composite ply:
Tsai-Wu, Tsai-Hill, and max-stress failure indices under in-plane
stress.

## Domain quick reference

- A lamina has strength allowables in material axes: fiber tension
  Xt, fiber compression Xc, transverse tension Yt, transverse
  compression Yc, and in-plane shear S.
- A failure index compares the applied stress state with the
  allowables; an index at or above 1.0 means the ply fails that
  criterion.
- Max-stress checks each stress component independently against its
  own allowable, so it ignores interaction between components.
- Tsai-Hill couples the two normal stresses with an interaction
  term and uses the tensile allowables in its classic form.
- Tsai-Wu is a quadratic interaction criterion whose linear terms
  capture tension and compression asymmetry.
- Composite airframe certification under FAR-25 relies on
  statistically based ply allowables; these criteria evaluate the
  ply stress state against them.

## Workflow

1. Collect the lamina in-plane stresses s1, s2, t12 and the
   allowables Xt, Xc, Yt, Yc, S, all in MPa.
2. Compute the Tsai-Wu index with tsai_wu_index.
3. Compute the Tsai-Hill index with tsai_hill_index.
4. Compute the max-stress index with max_stress_index.
5. Combine the three with failure_verdict; the ply fails when any
   index is at or above 1.0.

## Pitfalls

- Mixing units: keep every stress and allowable in MPa (the Pa/MPa
  mix is the classic bug class here).
- Using the compression allowables in the classic Tsai-Hill form,
  which is written for tension.
- Reading an index of exactly 1.0 as pass; 1.0 is the failure
  boundary, so treat index >= 1.0 as failure.
- Forgetting that max-stress checks components independently while
  Tsai-Wu and Tsai-Hill include interaction terms.
- Missing the sign convention: s1 and s2 are signed, so max-stress
  must pick Xt or Xc (Yt or Yc) by the stress sign.

## Behavior contract (gate 3)

The Tsai-Wu, Tsai-Hill, max-stress, and verdict logic is exercised by
the gate 3 contract test: scripts/test_failure_criteria_logic.py
against scripts/failure_criteria_logic.py (stdlib unittest, offline).
Run:
python3 scripts/test_failure_criteria_logic.py

## Compliance

- Standards referenced, not reproduced: FAR-25 (14 CFR Part 25) is US
  government work (public domain); the failure criteria are common
  strength-of-materials knowledge, summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.

