Source: https://guthlabs.ai/docs/instruments/goodman-soderberg-fatigue-diagram/mechanism/

instrument mechanism / verified-clean

# Goodman / Soderberg Fatigue Diagram mechanism

The inspectable method record for Goodman / Soderberg Fatigue Diagram, kept separate from implementation and qualification.

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

## Model scope

The Goodman and Soderberg core formulas are correct under the stated assumptions. The instrument should remain labeled as an educational fatigue estimate, not a certified design tool, as already specified. Verdict is NEEDS_REVIEW because the Gerber safety-factor definition, compressive-mean-stress policy, and plotting conventions are not fully specified.

- The Goodman and Soderberg relations are standard failure-line equations when sigma_a is alternating-stress amplitude, sigma_m is tensile mean stress, and all stresses use consistent units. The safety factor is correctly obtained as SF = 1/(sigma_a/Se + sigma_m/Su) for Goodman or SF = 1/(sigma_a/Se + sigma_m/Sy) for Soderberg under proportional loading.

- The Gerber alternative is underspecified. A common failure locus is sigma_a/Se + (sigma_m/Su)^2 = 1, but the corresponding proportional-loading safety factor requires solving sigma_a/(SF*Se) + (sigma_m/(SF*Su))^2 = 1; this should be stated explicitly.

- The implementation must define treatment of compressive mean stress. Simply substituting a negative sigma_m into the linear Goodman or Soderberg equation can predict an unrealistically unlimited or overly favorable benefit; a mean-stress correction policy is required.

- The plot specification does not define axis conventions, allowable domain, or whether the displayed line is the failure locus at SF = 1 or a design line at a selected safety factor.

## Units and conventions

- sigma_a, sigma_m, Se, Su, and Sy must all be stresses in the same units before calculating ratios; MPa and ksi must not be mixed without conversion.

- sigma_a is assumed to be a nonnegative stress amplitude and sigma_m is assumed to be the signed mean normal stress, normally tensile for these diagrams.

- Se is assumed to be the corrected endurance limit for the specified material, surface, size, reliability, loading mode, and environment; it is not automatically the uncorrected laboratory endurance limit.

- For these vectors, 1 ksi = 6.895 MPa is used where conversion is shown.

- The plotted Goodman failure line is sigma_a = Se*(1 - sigma_m/Su), the Soderberg line is sigma_a = Se*(1 - sigma_m/Sy), and the Gerber curve is sigma_a = Se*(1 - (sigma_m/Su)^2), each over the tensile domain 0 <= sigma_m <= the applicable intercept.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "method": "Goodman",
    "sigma_a": 120,
    "sigma_m": 80,
    "Se": 240,
    "Su": 600,
    "units": "MPa"
  },
  "expected_outputs": {
    "safety_factor": 1.578947368,
    "operating_point": {
      "sigma_m": 80,
      "sigma_a": 120,
      "units": "MPa"
    },
    "sampled_failure_line_points": [
      {
        "sigma_m": 0,
        "sigma_a": 240
      },
      {
        "sigma_m": 80,
        "sigma_a": 208
      },
      {
        "sigma_m": 600,
        "sigma_a": 0
      }
    ],
    "key_curve_features": {
      "sigma_a_intercept": 240,
      "sigma_m_intercept": 600,
      "roots": [
        {
          "sigma_m": 600,
          "sigma_a": 0
        }
      ],
      "extrema": [],
      "asymptotes": []
    }
  },
  "working": "Goodman denominator = sigma_a/Se + sigma_m/Su = 120/240 + 80/600 = 0.5 + 0.133333333333 = 0.633333333333. Therefore SF = 1/0.633333333333 = 1.578947368. Failure-line samples: at sigma_m = 0, sigma_a = 240*(1 - 0/600) = 240 MPa; at sigma_m = 80, sigma_a = 240*(1 - 80/600) = 240*(0.866666666667) = 208 MPa; at sigma_m = 600, sigma_a = 240*(1 - 1) = 0 MPa."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The zero-stress input makes the direct safety-factor calculation divide by zero, and the convention probe shows that interpreting compressive mean stress as signed versus as a magnitude changes the result from 4 to 4/3.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/goodman-soderberg-fatigue-diagram/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/goodman-soderberg-fatigue-diagram/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/goodman-soderberg-fatigue-diagram/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-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
