Fatigue Cumulative Damage (structures/fatigue/miner-damage)
Use when the task is fatigue life evaluation with cumulative damage: Palmgren-Miner fractions, life limit checks, and life consumed reporting.
Domain quick reference
- The Palmgren-Miner rule sums n/N for each load level, where n is applied cycles and N is cycles to failure.
- Failure is predicted when the accumulated fraction reaches 1.0.
- The load spectrum is the sequence of (cycles, cycles-to-failure) blocks from the fatigue analysis.
- Fatigue practice sits in the FAR-25.571 damage tolerance context for transport aeroplanes.
Workflow
- Collect the load spectrum blocks.
- Sum the damage with cumulative_damage.
- Check the total with damage_ok.
- Report life consumed with life_consumed_pct.
- Gate the fatigue assessment on the verdict.
Pitfalls
- Summing damage without the cycles-to-failure at each level.
- Using a zero cycles-to-failure for a load block.
- Treating a damage fraction above 1.0 as acceptable.
Behavior contract (gate 3)
The damage, limit, and life logic is exercised by the gate 3 contract test: scripts/test_miner_damage.py against scripts/miner_damage_logic.py (stdlib unittest, offline). Run: python3 scripts/test_miner_damage.py
Compliance
- Standards referenced, not reproduced: FAR-25 is US government work (public domain) and CS-25 is a free EASA download; the damage rule is common fatigue methodology, summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.