Source: https://guthlabs.ai/docs/instruments/spring-fatigue-life-estimator-wahl-goodman/mechanism/

instrument mechanism / verified-clean

# Spring Fatigue Life Estimator (Wahl + Goodman) mechanism

The inspectable method record for Spring Fatigue Life Estimator (Wahl + Goodman), kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The arithmetic and Wahl/Goodman structure are conditionally correct. Verdict is NEEDS_REVIEW because the specification names Se/Sut without stating whether they are shear properties, and spring-wire data tables commonly list tensile rather than torsional strengths. The instrument should explicitly require torsional Se and torsional Ssu (or document a material-specific conversion), define the applicable wire/material table and design-life convention, and retain the stated honest label that this is an estimate requiring physical verification for critical applications.

- The Wahl factor Kw=(4C-1)/(4C-4)+0.615/C with C=D/d is the standard curvature correction for a round-wire helical spring in torsion, and tau=Kw*8FD/(pi*d^3) is correct for load-induced shear stress.

- The alternating and mean stresses must be tau_a=(tau_max-tau_min)/2 and tau_m=(tau_max+tau_min)/2; this is correct for a constant spring geometry under force cycling.

- The Goodman equation SF=1/(tau_a/Se+tau_m/Sut) is valid only when Se is a torsional shear endurance strength and Sut is a torsional shear ultimate strength. Spring-wire tables commonly provide tensile Sut, not torsional Sut; using tensile Sut directly in this shear Goodman equation is incorrect unless a documented conversion is supplied.

- The specification does not identify the fatigue-life target, stress ratio, reliability, surface condition, shot peening, residual stress, or whether Se is a corrected endurance strength. Therefore the reported value cannot be treated as a generally valid fatigue safety factor.

- The calculation omits possible effects of coil clash, inactive coils, spring index limits, buckling, surge, stress concentration at hooks or ends, and finite-life S-N behavior.

## Units and conventions

- For the test vectors, force is in N, wire diameter and mean coil diameter are in mm, and calculated shear stress is in N/mm^2=MPa.

- The diameter ratio is C=D/d, with D as mean coil diameter rather than outside or inside diameter.

- Se=550 MPa and Sut=2300 MPa are treated here as torsional shear endurance and torsional shear ultimate strengths, respectively, solely for formula verification; this interpretation must be confirmed before implementation.

- The table fragment uses music-wire values represented as widely tabulated standard design values for ASTM A228 music wire; actual allowable values depend on wire diameter, surface condition, reliability, and loading history.

- pi is taken as 3.141592653589793.

- The third vector explicitly converts kN to N before stress calculation.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "material": "music wire ASTM A228",
    "F_min_N": 100,
    "F_max_N": 200,
    "wire_diameter_mm": 2,
    "mean_coil_diameter_mm": 16,
    "Se_MPa": 550,
    "Sut_MPa": 2300
  },
  "expected_outputs": {
    "spring_index_C": 8,
    "Wahl_factor_Kw": 1.1840178571,
    "tau_min_MPa": 603.015343,
    "tau_max_MPa": 1206.030686,
    "tau_a_MPa": 301.507671,
    "tau_m_MPa": 904.523014,
    "fatigue_safety_factor": 1.062172
  },
  "reference_data": {
    "music_wire_Se_MPa": 550,
    "music_wire_Sut_MPa": 2300,
    "source_convention": "widely tabulated standard spring-wire design values for ASTM A228 music wire; interpreted as torsional shear strengths for this vector"
  },
  "working": "C=D/d=16/2=8. Kw=(4C-1)/(4C-4)+0.615/C=(32-1)/(32-4)+0.615/8=31/28+0.076875=1.1840178571. Base stress at F=1 N is 8D/(pi*d^3)=8(16)/(pi*2^3)=128/(8pi)=16/pi=5.092958179 MPa/N. Stress coefficient=Kw*5.092958179=1.1840178571*5.092958179=6.030153430 MPa/N. tau_min=6.030153430*100=603.015343 MPa. tau_max=6.030153430*200=1206.030686 MPa. tau_a=(1206.030686-603.015343)/2=301.507671 MPa. tau_m=(1206.030686+603.015343)/2=904.523014 MPa. Goodman denominator=301.507671/550+904.523014/2300=0.548195766+0.393270876=0.941466642. SF=1/0.941466642=1.062172."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The estimator breaks or must reject inputs at the Wahl singularity C=1 and when the Goodman denominator is zero. Its result also changes materially under plausible signed-force versus load-magnitude conventions, and the specification does not define how negative mean stress is branched or handled.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/spring-fatigue-life-estimator-wahl-goodman/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/spring-fatigue-life-estimator-wahl-goodman/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/spring-fatigue-life-estimator-wahl-goodman/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche7/tranche7-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
