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

instrument / verified-with-binding-errata

# Hohmann Transfer Orbit Calculator

The current ledger marks this instrument verified with errata that must be applied at binding time.

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

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/hohmann-transfer-orbit-calculator/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/hohmann-transfer-orbit-calculator/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/hohmann-transfer-orbit-calculator/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/hohmann-transfer-orbit-calculator/qualification/>)

## Ledger state

The current ledger marks this instrument verified with errata that must be applied at binding time.

**Area**: Physics — Kinematics/Projectiles/Orbits, Forces/Energy/Momentum, Rotational Dynamics, Gravitation, Oscillations/Waves, Optics, E&M Fields, Relativity, Quantum, Statistical Thermo

**Tranche**: tranche-4

**Evidence ID**: t4-059

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The honest label is substantially correct for an idealized coplanar circular-to-circular Hohmann transfer, but the product needs an explicit Δv2 formula, an inward/outward sign or magnitude convention, a total-Δv definition, and positive-input/unit validation before it can be labeled PASS.

### Formula and scope findings

- The transfer semi-major axis formula a_t=(r1+r2)/2 and transfer time formula T_transfer=π√(a_t^3/GM) are correct for the ideal two-body, coplanar Hohmann half-ellipse, with T_transfer measured from the first impulse to the second.

- Δv2 is stated only as 'analogous', which is ambiguous. For an outward transfer (r2>r1), the standard positive burn magnitude is Δv2=√(GM/r2)·(1−√(2r1/(r1+r2))).

- The stated Δv1 formula produces a signed negative value for an inward transfer (r2<r1), whereas a delta-v budget normally reports the positive magnitude. The implementation must explicitly choose signed burns or magnitudes and handle inward and outward transfers consistently.

- Total Δv is not explicitly defined; for a budget it should be |Δv1|+|Δv2|, not an unqualified algebraic sum.

### Unit assumptions

- GM must use units consistent with radii: if GM is in km^3/s^2 and radii are in km, delta-v is in km/s and transfer time is in seconds.

- All radii are positive distances from the central body's center, not altitudes above its surface.

- GM is the gravitational parameter μ=G·M and must be positive.

- The standard formulas assume two-body Keplerian motion, circular initial and final orbits, coplanar orbits, and instantaneous tangential impulses.

## Boundary hardening

### Recorded hazards

- 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.

## Errata and corrections

### Tranche errata

**delta_v1/total** · vector 2

0.976598 / 1.795813

0.976698 / 1.795913

6.313478×0.154701 digit slip

**delta_v2/total** · vector 3

0.976598 / 1.795813

0.976698 / 1.795913

same slip, symmetric vector

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "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."
}
````

## Related workflows

[Orbital Mission Plannerr1,r2 → Δv1,Δv2,transfer time](<https://guthlabs.ai/docs/instrument-workflows/orbital-mission/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json · VERIFIED_WITH_ERRATA`

- `evidence-tranche4/tranche4-results.json`
