Source: https://guthlabs.ai/docs/instruments/simple-pendulum-period-calculator/

instrument / verified-clean

# Simple Pendulum Period Calculator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Inspectable records

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

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

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

**Tranche**: tranche-6

**Evidence ID**: t6-047

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The formulas pass the physical-method check under the ideal-pendulum assumptions. Resolve the angle-unit contract and the math.js ellipticK argument convention before implementation. The exact mode should explicitly document whether K receives modulus k or parameter m=k² and should report or enforce a numerical error tolerance.

### Formula and scope findings

- The physical formulas are standard for an ideal simple pendulum: T_small=2π√(L/g) and T_exact=4√(L/g)K(k), with k=sin(θ0/2).

- The elliptic-integral convention is ambiguous: some libraries define K(k) using modulus k, while math.js commonly defines ellipticK(m) using parameter m in ∫0^(π/2)(1−m sin²φ)^−1/2 dφ. If math.js expects m, the implementation must pass m=sin²(θ0/2), not sin(θ0/2).

- The specification does not state that θ0 is the maximum angular displacement from vertical, nor whether input angles are radians or degrees.

- The phrase exact mode uses elliptic integral approx is ambiguous: the mathematical formula is exact for the ideal undamped pendulum, but a numerical approximation to K has a finite tolerance that is not specified.

### Unit assumptions

- L and g must use consistent length and time units; for L in metres, g must be in m/s² and T is in seconds.

- θ0 must be converted to radians before evaluating sin unless the interface explicitly accepts radians only.

- θ0 is assumed to be the maximum displacement angle measured from the downward vertical.

- The model assumes a point mass, massless rigid rod, no damping, no air resistance, and a fixed pivot.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The specification exposes unsafe edge behavior unless the instrument rejects g=0 and nonphysical g values, and it has a significant angle-unit convention hazard. The small-angle branch also becomes inaccurate beyond approximately 15 degrees.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

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

````
{
  "inputs": {
    "L": 1,
    "L_unit": "m",
    "g": 9.81,
    "g_unit": "m/s^2",
    "theta0": 0,
    "angle_unit": "rad"
  },
  "expected_outputs": {
    "T_small_s": 2.00606668,
    "T_exact_s": 2.00606668,
    "exact_minus_small_s": 0,
    "K_modulus": 1.57079633,
    "small_to_exact_ratio": 1
  },
  "working": "sqrt(L/g)=sqrt(1/9.81)=0.3194382825. T_small=2π(0.3194382825)=6.283185307×0.3194382825=2.00606668 s. θ0=0, so k=sin(0/2)=0 and K(0)=π/2=1.570796327. T_exact=4(0.3194382825)(π/2)=2π(0.3194382825)=2.00606668 s. Difference=2.00606668−2.00606668=0."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

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

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
