Source: https://guthlabs.ai/docs/instruments/damped-vibration-response-calculator/

instrument / verified-with-binding-errata

# Damped Vibration Response Calculator

The current ledger marks this instrument verified with errata that must be applied at binding time.

Status: **VERIFIED_WITH_ERRATA**Lifecycle: **verified-with-binding-errata**

## Inspectable records

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

## Ledger state

The current ledger marks this instrument verified with errata that must be applied at binding time.

**Area**: Mechanical, Civil & Structural Engineering — Statics/Dynamics, Strength of Materials, Machine Design, Civil, HVAC, Vibration

**Tranche**: tranche-6

**Evidence ID**: t6-105

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The honest label correctly identifies a linear single-DOF viscous damping model, but it should additionally state that the cosine response and logarithmic decrement apply only to underdamped free vibration. The instrument needs explicit ωn, logarithmic-decrement, domain, and initial-condition definitions before it can be considered correct.

### Formula and scope findings

- The damped-frequency formula ωd=ωn√(1−ζ²) is valid only for the underdamped domain 0≤ζ<1; ζ=1 is critical damping and ζ>1 produces no real oscillation frequency.

- The response formula x(t)=Xe^(−ζωnt)cos(ωdt−φ) is valid only for underdamped free vibration and requires X and φ, or equivalent initial conditions x(0) and v(0), which are not listed as inputs.

- The logarithmic decrement output is listed but its formula is missing. For an underdamped system it should be δ=ln(x_n/x_(n+1))=2πζ/√(1−ζ²), using successive same-sign peak amplitudes.

- The formula does not specify the undamped natural frequency ωn=√(k/m), which is required to evaluate both ωd and the decay exponent.

- The specification does not define behavior for critically damped or overdamped systems, although the stated inputs permit those cases.

### Unit assumptions

- k is positive stiffness in N/m.

- m is positive mass in kg.

- c is viscous damping coefficient in N·s/m.

- ωn and ωd are angular frequencies in rad/s; radians are dimensionless in arithmetic.

- ζ is dimensionless and, for passive viscous damping, must satisfy ζ≥0.

- When c is supplied, ζ=c/(2√(km)); when ζ is supplied instead, c is implied by c=2ζ√(km).

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The instrument breaks at zero mass through division by zero, reaches a validity failure at critical damping, produces a non-real damped frequency when the damping-ratio branch switches to overdamping, and has an unresolved signed-damping convention that can reverse decay into growth.

## Errata and corrections

### Tranche errata

**logarithmic_decrement / x(π/8)** · vector 2

3.0 / -0.1

4.712389 (=1.5π, in her own working) / -0.009478 (working has the decay factor, field drops it)

fields contradict own correct working

**x(0)** · vector 3

0

0.1

critically damped x(0)=X=0.1; working even notes the model caveat then ships 0

**omega_d / log_decrement / x(0) / x(π/(12√3))** · vector 4

2.0 / 2.0 / 0.2 / 0.2

3.464102 / 3.627599 / 0.173205 / 0.147823

ENTIRE vector: working computes every value correctly (2√3, 2π/√3, 0.1√3, 0.2e^(-π/6√3)) and every field ships a wrong number

## Inspectable example

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

````
{
  "inputs": {
    "k": 100,
    "m": 1,
    "c": 0,
    "X": 0.05,
    "phi": "0 rad",
    "sample_times": [
      "0 s",
      "π/20 s",
      "π/10 s"
    ]
  },
  "expected_outputs": {
    "omega_n": "10 rad/s",
    "zeta": 0,
    "omega_d": "10 rad/s",
    "logarithmic_decrement": 0,
    "sampled_points": {
      "t=0 s": "x=0.05 m",
      "t=π/20 s": "x=0 m",
      "t=π/10 s": "x=-0.05 m"
    },
    "curve_features": {
      "decay_envelope": "x=±0.05 m",
      "roots": "t=(π/2+nπ)/10 s, n integer",
      "successive_extrema": "t=nπ/10 s, x=0.05(-1)^n m"
    }
  },
  "working": "ωn=√(k/m)=√(100/1)=10 rad/s. ζ=c/(2√(km))=0/(2√(100·1))=0. ωd=10√(1−0²)=10 rad/s. δ=2π·0/√(1−0²)=0. Response: x(t)=0.05e^(−0·10t)cos(10t)=0.05cos(10t). At t=0: x=0.05cos(0)=0.05 m. At t=π/20: 10t=π/2, so x=0.05cos(π/2)=0 m. At t=π/10: 10t=π, so x=0.05cos(π)=−0.05 m."
}
````

## 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_WITH_ERRATA`

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

- `BOUNDARY_HAZARD_CATALOG.json`
