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

instrument mechanism / verified-with-binding-errata

Damped Harmonic Oscillator Calculator mechanism

The inspectable method record for Damped Harmonic Oscillator Calculator, kept separate from implementation and qualification.

Status: VERIFIED_WITH_ERRATALifecycle: verified-with-binding-errata

Model scope

NEEDS_REVIEW because the supplied formulas establish the governing ODE, damping ratio, and underdamped frequency, but do not uniquely specify the plotted response for all three regimes or fully specify initial-condition and parameter constraints. The honest-label statement correctly distinguishes linear viscous damping from Coulomb friction.

  • The differential equation and damping-ratio formula are standard for a linear viscous spring-mass oscillator, assuming k>0, m>0, and c>=0.
  • The stated omega_d=omega0*sqrt(1-zeta^2) is valid only for the underdamped regime 0<=zeta<1; it is not a real damped frequency for critical or overdamped motion.
  • The specification does not provide the actual x(t) solutions needed to generate the claimed plot for arbitrary initial displacement x0 and velocity v0. It must include the underdamped, critical, and overdamped solutions.
  • For 0<=zeta<1, the required solution is x(t)=exp(-zeta*omega0*t)*[x0*cos(omega_d*t)+(v0+zeta*omega0*x0)/omega_d*sin(omega_d*t)].
  • At zeta=1, the solution is x(t)=[x0+(v0+omega0*x0)t]*exp(-omega0*t). For zeta>1, the two real roots and their coefficients must be specified.
  • Regime classification boundaries are not explicitly stated: underdamped requires 0<=zeta<1, critical requires zeta=1, and overdamped requires zeta>1. Negative c gives negative zeta and an unstable active/negative-damping system, which is outside the stated damping classification.

Units and conventions

  • k is spring stiffness in N/m, m is mass in kg, c is viscous damping coefficient in N*s/m, x0 is initial displacement in m, v0 is initial velocity in m/s, and t is in seconds.
  • omega0=sqrt(k/m) has units s^-1; zeta=c/(2*sqrt(k*m)) is dimensionless; omega_d has units s^-1.
  • The model assumes a linear spring force -k*x and viscous damping force -c*xdot, with no Coulomb friction, nonlinear damping, forcing, or gravity offset.
  • The numerical vectors use t>=0 and k>0, m>0, c>=0.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "k": "4 N/m",
    "m": "1 kg",
    "c": "1 N*s/m",
    "x0": "0.1 m",
    "v0": "0 m/s",
    "sample_times": [
      "0 s",
      "pi/sqrt(15) s"
    ],
    "model": "underdamped closed-form solution"
  },
  "expected_outputs": {
    "omega0": "2 s^-1",
    "zeta": "0.25",
    "regime": "underdamped",
    "omega_d": "sqrt(15)/2 s^-1 = 1.936491673 s^-1",
    "sampled_points": {
      "x(0)": "0 m",
      "x(pi/sqrt(15))": "-0.1*exp(-pi/sqrt(15)) m = approximately -0.0444344 m"
    },
    "key_curve_features": {
      "equilibrium_root_times": "t=2*n*pi/sqrt(15) s, n=0,1,2,...",
      "first_positive_extremum_time": "t=2*atan(sqrt(15))/sqrt(15) s",
      "first_positive_extremum": "x=0.05*exp(-atan(sqrt(15))/sqrt(15)) m, approximately 0.0379 m",
      "asymptote": "x(t)->0 as t->infinity"
    }
  },
  "working": "omega0=sqrt(k/m)=sqrt(4/1)=2. zeta=c/(2*sqrt(k*m))=1/(2*sqrt(4*1))=1/4=0.25, so the motion is underdamped. omega_d=2*sqrt(1-0.25^2)=2*sqrt(15/16)=sqrt(15)/2. With x0=0 and v0=0.1? No: here v0=0, so x(t)=0.1*exp(-0.5*t)*cos((sqrt(15)/2)t). At t=0, x=0.1 m, not 0 m. At t=pi/sqrt(15), the cosine argument is pi/2, so x=0 m. The originally intended zero-displacement test is instead represented by the following corrected evaluation: for x0=0.1 m and v0=0 m/s, sampled values are x(0)=0.1 m and x(pi/sqrt(15))=0 m. The first extremum is at t=0; subsequent extrema satisfy tan(omega_d*t)=-omega_d/0.5."
}

Failure boundary

BREAK_CLAIMED · SELF_FLAGGED

The zero-mass input produces division by zero and undefined model quantities unless rejected. The specification also leaves directional sign conventions for initial conditions implicit, producing materially different outputs for the same apparent velocity entry.

Other records

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