| name | fos-check |
| description | Factor of safety check across ALL failure modes simultaneously for a given design. Returns ranked table of safety factors with red/yellow/green status and specific fix recommendations. |
| metadata | {"priority":8,"promptSignals":{"phrases":["factor of safety","safety factor","FOS","is this safe","check safety","adequate","safe design"],"minScore":4}} |
Factor of Safety Check — Complete Skill
Minimum Required Safety Factors (Design Standards)
| Category | n_min | Condition |
|---|
| Static yielding (well-known loading, ductile) | 1.5 | Predictable, proof-tested |
| Static yielding (uncertain loading) | 2.0 | Variable loads, multiple load paths |
| Static yielding (human safety) | 3.0-4.0 | Lifts, cranes, pressure vessels (ASME: 3.5) |
| Fatigue (infinite life, Goodman) | 1.5-2.0 | Machined, known spectrum |
| Fatigue (finite life, Goodman) | 1.2-1.5 | Well-characterized spectrum |
| Buckling | 2.0-3.0 | More uncertainty in boundary conditions |
| Fracture (K_I/K_IC) | 1.5-2.0 | NDT-inspected; 3.0+ for uninspected |
| Bearing life (L10) | By life requirement | Usually specify L10 = 10× required life |
| Bolt preload (joint separation) | 1.2-1.5 | Friction-critical joints: 1.5 |
Output Format (Always Use This)
═══════════════════════════════════════════════════════
SAFETY FACTOR REPORT — [Component Name]
Date: [date], Loading: [description]
═══════════════════════════════════════════════════════
MODE │ n_actual │ n_required │ STATUS │ MARGIN
───────────────────┼──────────┼────────────┼──────────┼──────────
Tensile yielding │ 3.41 │ 2.0 │ ✅ PASS │ +71%
Bending yielding │ 2.87 │ 2.0 │ ✅ PASS │ +44%
Shear yielding │ 1.73 │ 1.5 │ ✅ PASS │ +15%
Fatigue (Goodman) │ 1.38 │ 1.5 │ ❌ FAIL │ -8%
Column buckling │ 4.22 │ 2.5 │ ✅ PASS │ +69%
Lateral-torsional │ 2.15 │ 2.0 │ ✅ PASS │ +8%
Bearing stress │ 2.89 │ 2.0 │ ✅ PASS │ +45%
Block shear │ 3.12 │ 2.0 │ ✅ PASS │ +56%
───────────────────┴──────────┴────────────┴──────────┴──────────
GOVERNING: FATIGUE (GOODMAN) — FAILS by 8%
═══════════════════════════════════════════════════════
RECOMMENDED FIXES (priority order):
1. CRITICAL: Increase fillet radius at notch (r: 2→4mm) → Kf: 2.1→1.7 → n_fatigue: 1.38→1.74 ✅
2. Alternative: Shot peen critical section → raises Se by ~20% → n_fatigue: 1.38→1.66 ✅
3. Alternative: Reduce load 8% → n_fatigue = 1.50 exactly ✅
4. Alternative: Change material 4140→4340 → Sut: 940→1080MPa → Se: 290→340MPa → n: 1.38→1.62 ✅
═══════════════════════════════════════════════════════
Calculation Protocol
For EACH mode, show:
- The formula: n = capacity/demand
- Substituted values with units
- Result and pass/fail vs. required n
Never round up a borderline failure. If n = 1.47 vs. required 1.5 → FAIL (marginal).
Status Color System
✅ PASS: n ≥ 1.2 × n_required (good margin)
⚠️ MARGINAL: n_required ≤ n < 1.2 × n_required (technically passes, watch closely)
❌ FAIL: n < n_required (must fix before deployment)
🔴 CRITICAL: n < 1.0 (failure expected under design load)
Interaction Checks (Combined)
After individual mode checks, verify combined criteria:
AISC beam-column (P+M): P_u/φP_n + 8/9 × M_u/φM_n ≤ 1.0
Fatigue + mean stress (Goodman): σ_a/Se + σ_m/Sut ≤ 1/n
Biaxial fatigue: use von Mises equivalent stress amplitude
Sensitivity: "What If" Analysis
After full check, answer:
- Which mode is closest to failing? (governing)
- What 10% increase in load does to each mode
- What single change gives maximum safety improvement per unit cost
Modes to Always Check (Never Omit Without Reason)
Static: tensile yield, compressive yield, shear yield, bearing, block shear
Fatigue: if any cyclic loading exists — always check
Buckling: if any compression exists — always check
Fracture: if material Kic is low or known cracks/defects
Wear: if sliding contact
Corrosion: if corrosive environment (note, don't calculate numerically — flag risk)
Creep: if T > 0.4 × T_melt