Source: https://guthlabs.ai/docs/instruments/gear-ratio-train-calculator/implementation/

instrument implementation / implementation-contract

# Gear Ratio & Train Calculator implementation

A source-bound implementation contract for Gear Ratio & Train Calculator; deployment and executable qualification remain separate.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **implementation-contract**

## Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

**Record owner**: Guth Instruments

**Lifecycle**: verified-with-binding-errata

**Evidence ID**: t4-260

**Effect**: Computation or source lookup only

## Input and validation requirements

- Division by zero occurs if input speed is used as the denominator while calculating a ratio and input speed is zero.

- Division by zero occurs if output tooth count, output pitch diameter, overall ratio, or efficiency-adjusted denominator is zero.

- Zero or negative tooth counts, diameters, ratios, and efficiencies outside 0 < efficiency <= 1 must be rejected.

- A gear mesh requires compatible module or diametral pitch; arbitrary tooth counts or diameters do not guarantee physically meshing gears.

- Compound gears must be constrained so the paired gears on each intermediate shaft share the same angular speed.

- Pitch-diameter units must be normalized before division; mixing inches and millimetres without conversion produces an incorrect ratio.

- Ideal torque conservation is not physically honest for real gears with friction, windage, bearing losses, and mesh losses.

- External gear direction reverses at every mesh; reporting only a positive speed omits output rotation direction.

## Required corrections

````
[
  {
    "stress_correction": {
      "vector_inputs": {
        "input_pitch_diameter": "2 in",
        "output_pitch_diameter": "5 in",
        "input_speed": "1800 rpm",
        "input_torque": "18.439 lbf·ft"
      },
      "wrong_outputs": {
        "overall_speed_ratio": 0.4,
        "output_speed": "720 rpm",
        "output_speed_SI": "75.3982 rad/s",
        "output_torque": "7.3756 lbf·ft",
        "output_torque_SI": "10.0000 N·m"
      },
      "corrected_outputs": {
        "overall_speed_ratio": 0.4,
        "output_speed": "720 rpm",
        "output_speed_SI": "75.3982 rad/s",
        "output_torque": 46.0975,
        "output_torque_SI": 62.4998
      },
      "method": "power conservation: P_in=P_out => T_out = T_in / speed_ratio = 18.439/0.4 = 46.0975 lbf·ft = 62.4998 N·m"
    }
  }
]
````

## Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

````
{
  "inputs": {
    "train_type": "simple",
    "input_gear_teeth": 20,
    "output_gear_teeth": 40,
    "input_speed_rpm": 1800,
    "input_torque_Nm": 10,
    "efficiency": 1
  },
  "expected_outputs": {
    "overall_ratio": 0.5,
    "output_speed_rpm": 900,
    "output_torque_Nm": 20
  },
  "working": "GR = Z_in/Z_out = 20/40 = 0.5. Output speed = GR × input speed = 0.5 × 1800 = 900 rpm. Ideal output torque = input torque/GR = 10/0.5 = 20 N·m."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/gear-ratio-train-calculator/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/gear-ratio-train-calculator/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/gear-ratio-train-calculator/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-tranche4/tranche4-results.json`

- `STRESS_TEST_CORRECTIONS_APPLIED.json`
