Source: https://guthlabs.ai/docs/instruments/hohmann-transfer-orbit-calculator/implementation/

instrument implementation / implementation-contract

# Hohmann Transfer Orbit Calculator implementation

A source-bound implementation contract for Hohmann Transfer Orbit 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-059

**Effect**: Computation or source lookup only

## Input and validation requirements

- Division-by-zero or invalid square roots occur if GM≤0 or either radius≤0; these inputs require validation.

- The calculator should reject or explicitly define the r1=r2 case. It is mathematically valid with zero delta-v and a half-period equal to half the circular orbital period, but it is not a transfer requiring two impulses.

- Without a stated sign convention, inward-transfer delta-v values can be negative even though a delta-v budget is conventionally nonnegative.

- A km^3/s^2 GM combined with radii in meters, or an m^3/s^2 GM combined with radii in kilometers, gives numerically wrong outputs by large scale factors.

- The formulas omit plane changes, finite-burn effects, atmospheric drag, third-body perturbations, eccentricity, and non-circular initial or final orbits.

## Required corrections

````
[
  {
    "vector": 2,
    "field": "delta_v1/total",
    "wrong": "0.976598 / 1.795813",
    "correct": "0.976698 / 1.795913",
    "cause": "6.313478×0.154701 digit slip"
  },
  {
    "vector": 3,
    "field": "delta_v2/total",
    "wrong": "0.976598 / 1.795813",
    "correct": "0.976698 / 1.795913",
    "cause": "same slip, symmetric vector"
  }
]
````

## Inspectable interface fixture

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

````
{
  "inputs": {
    "GM_km3_s2": 398600,
    "r1_km": 7000,
    "r2_km": 10500
  },
  "expected_outputs": {
    "a_t_km": 8750,
    "delta_v1_km_s": 0.720234,
    "delta_v2_km_s": 0.650468,
    "total_delta_v_km_s": 1.370702,
    "transfer_time_s": 4072.802
  },
  "working": "a_t=(7000+10500)/2=8750 km. v_c1=√(398600/7000)=√56.942857=7.546049 km/s. Δv1=7.546049·(√(21000/17500)−1)=7.546049·(√1.2−1)=7.546049·(1.095445−1)=0.720234 km/s. v_c2=√(398600/10500)=√37.961905=6.161323 km/s. Δv2=6.161323·(1−√(14000/17500))=6.161323·(1−√0.8)=6.161323·(1−0.894427)=0.650468 km/s. Total Δv=0.720234+0.650468=1.370702 km/s. T=π√(8750^3/398600)=π√1680687.4=π·1296.413=4072.802 s."
}
````

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/hohmann-transfer-orbit-calculator/>)[02**Mechanism**](<https://guthlabs.ai/docs/instruments/hohmann-transfer-orbit-calculator/mechanism/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/hohmann-transfer-orbit-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`

- `tranche errata record`
