Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument / verified-clean

Simple Pendulum Period Calculator

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

Status: VERIFIED_CLEANLifecycle: verified-clean

Inspectable records

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