Page actions
instrument mechanism / verified-with-binding-errata
Driven Oscillator / Resonance Curve Calculator mechanism
The inspectable method record for Driven Oscillator / Resonance Curve Calculator, kept separate from implementation and qualification.
Model scope
The amplitude expression itself is standard under the stated linear viscous-damping assumptions, but the instrument claims phase, resonance frequency, and Q outputs without defining their formulas or conventions. Because those omissions affect correctness and the existing honest_label is n/a while already_built is false, this specification requires correction before release.
- The amplitude formula is standard for a linear single-degree-of-freedom oscillator with viscous damping, provided ω0=√(k/m) and ζ=c/(2√(km)); these definitions are not supplied.
- The specification claims phase output but provides no phase formula. For displacement response convention x(t)=A cos(ωt−φ), the standard phase is φ=atan2(2ζω0ω,ω0²−ω²).
- The resonance-frequency formula is missing. For displacement amplitude and 0≤ζ<1/√2, ω_res=ω0√(1−2ζ²); for ζ≥1/√2, the amplitude maximum is at zero frequency rather than a positive-frequency resonance peak.
- The Q-factor formula is missing. For viscous damping, Q=1/(2ζ)=mω0/c, subject to positive k, m, and c.
- The formula assumes a linear oscillator, positive mass and stiffness, nonnegative viscous damping, and steady-state sinusoidal forcing. These constraints are not stated.
Units and conventions
- k is in N/m, m in kg, c in N·s/m, and F0 in N.
- ω and ω0 are angular frequencies in rad/s; if the sweep input is in Hz, convert using ω=2πf before evaluating the formula.
- Amplitude is displacement amplitude in meters.
- ζ is dimensionless, with ζ=c/(2√(km)).
- Phase is interpreted as the positive displacement lag φ in radians, using x(t)=A cos(ωt−φ).
- Q is dimensionless.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"k_N_per_m": 100,
"m_kg": 1,
"c_Ns_per_m": 2,
"F0_N": 1,
"sampled_frequency": {
"omega_rad_per_s": 0
},
"sweep": {
"omega_min_rad_per_s": 0,
"omega_max_rad_per_s": 20
}
},
"expected_outputs": {
"sampled_points": [
{
"omega_rad_per_s": 0,
"amplitude_m": 0.01,
"phase_rad": 0
}
],
"resonance_frequency_rad_per_s": 9.89949493661,
"resonance_frequency_hz": 1.5755535327,
"peak_amplitude_m": 0.05025189076296,
"Q": 5
},
"working": "ω0=√(k/m)=√(100/1)=10 rad/s. ζ=c/(2√(km))=2/(2√(100·1))=2/20=0.1. At ω=0: denominator=√((10²−0²)²+(2·0.1·10·0)²)=√(10000)=100. A=(F0/m)/denominator=(1/1)/100=0.01 m. φ=atan2(0,100)=0 rad. ωres=10√(1−2·0.1²)=10√(0.98)=9.89949493661 rad/s. At the peak, denominator=2ζω0²√(1−ζ²)=2·0.1·10²·√(0.99)=19.8997487421, so Apeak=1/19.8997487421=0.050251890763 m. Q=1/(2ζ)=1/0.2=5."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
The instrument specification permits m=0 as an input unless validation prevents it, but m=0 makes both F0/m and omega0=sqrt(k/m) undefined. The resonance branch also requires explicit handling at zeta=1/sqrt(2) and above, where the nonzero resonance-frequency formula otherwise produces an imaginary result.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche6/tranche6-results.jsonBOUNDARY_HAZARD_CATALOG.json