Source: https://guthlabs.ai/docs/instruments/fan-pump-affinity-laws-calculator/implementation/

instrument implementation / implementation-contract

# Fan/Pump Affinity Laws Calculator implementation

A source-bound implementation contract for Fan/Pump Affinity Laws Calculator; deployment and executable qualification remain separate.

Status: **VERIFIED_CLEAN**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-clean

**Evidence ID**: t5-167

**Effect**: Computation or source lookup only

## Input and validation requirements

A zero baseline speed produces undefined ratios and outputs, so the input must be rejected. Signed reverse speed also produces negative flow and power under literal arithmetic, exposing an unresolved directional convention and a physically invalid result.

## Required corrections

No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.

## Inspectable interface fixture

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

````
{
  "inputs": {
    "Q1_m3_per_s": 0.5,
    "H1_m": 40,
    "P1_kW": 8,
    "N1_rpm": 1200,
    "N2_rpm": 1500
  },
  "expected_outputs": {
    "Q2_m3_per_s": 0.625,
    "H2_m": 62.5,
    "P2_kW": 15.625
  },
  "working": "Speed ratio r=N2/N1=1500/1200=1.25. Q2=0.5*1.25=0.625 m^3/s. H2=40*(1.25)^2=40*1.5625=62.5 m. P2=8*(1.25)^3=8*1.953125=15.625 kW."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/fan-pump-affinity-laws-calculator/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/fan-pump-affinity-laws-calculator/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/fan-pump-affinity-laws-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-tranche5/tranche5-results.json`
