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

instrument mechanism / verified-clean

# Simple Pendulum Period Calculator mechanism

The inspectable method record for Simple Pendulum Period Calculator, kept separate from implementation and qualification.

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

## Model scope

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.

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

## Units and conventions

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

## Inspectable vector

One of 4 source-bound review vectors:

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

## Failure boundary

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

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/simple-pendulum-period-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/simple-pendulum-period-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/simple-pendulum-period-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-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
