Skip to main content
Glama

fatigue_check

Calculate fatigue life and safety factor from stress range using S-N Basquin and Goodman mean-stress correction to check if a part survives required cycles.

Instructions

Rate fatigue life (S-N Basquin + Goodman mean-stress correction). σ_a = stress_range/2; infinite-life SF = 1/(σ_a/σ_e + σ_m/σ_uts); finite life from an equivalent fully-reversed amplitude on a log-log S-N line. σ_e/σ_uts come from the material (or overrides). pass = survives cycles (σ_ar ≤ σ_e ⇒ infinite life); a tensile mean ≥ σ_uts fails outright. Returns {stress_amplitude_mpa, mean_stress_mpa, endurance_mpa, uts_mpa, equiv_reversed_mpa, safety_factor, life_cycles, required_cycles, pass, governing_mode, endurance_basis}.

The S-N line runs from (1e3, s1000_fraction·UTS) to (endurance_cycles, σ_e). Both default to the steel convention (0.9 and 1e6); aluminium and other non-ferrous alloys have no true endurance knee, so set endurance_cycles to the life the quoted σ_e was measured at (commonly 5e8).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cyclesNo
uts_mpaNo
materialNoSteel-1045
endurance_mpaNo
s1000_fractionNo
mean_stress_mpaNo
endurance_cyclesNo
stress_range_mpaYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden and does so thoroughly: it defines the calculation method, the pass/fail criterion, the tensile-mean failure condition, defaults for steel and aluminium, and the output fields returned. It discloses important edge cases like the absence of a true endurance knee for non-ferrous alloys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and technical, but for an 8-parameter engineering calculation with no schema descriptions it is appropriately sized and front-loaded with the purpose and method. The equations earn their place, though the inline formula formatting slightly reduces readability compared with a more structured layout.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 0% parameter schema coverage, the description provides the full context needed to invoke the tool correctly: required inputs, calculation basis, defaults, failure modes, and the complete output field list. Nothing essential for a correct call appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain all eight parameters, and it does: stress_range_mpa via σ_a = stress_range/2, cycles via the pass condition, mean_stress_mpa via Goodman correction, uts_mpa/endurance_mpa/material via material-or-override sourcing, s1000_fraction via the S-N line start, and endurance_cycles via default and aluminium guidance. This fully compensates for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Rate fatigue life (S-N Basquin + Goodman mean-stress correction).' This clearly distinguishes the tool from generic analysis tools like fracture_check or creep_flag. However, it does not explicitly name or contrast itself with any sibling tool, leaving the agent to infer differentiation from the method alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains how the calculation works and when a result passes or fails, but it gives no guidance on when to select this tool instead of alternatives such as fracture_check, creep_flag, or other structural checks. No explicit exclusions or prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools