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

instrument / verified-clean

Diffraction Grating 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-5
Evidence ID
t5-148
Ledger rows
1

No ledger note is attached.

Review findings

NEEDS_REVIEW because the incidence geometry is unspecified: the supplied equation assumes normal incidence, while oblique incidence requires the incident-angle term. The angle unit and signed-versus-magnitude output convention are also unspecified. The honest_label field is n/a; the interface should honestly state the normal-incidence assumption, unit requirements, integer-order restriction, and non-propagating-order behavior.

Formula and scope findings

  • The stated equation d sin(theta) = m lambda is correct only for normal incidence and a transmission/reflection geometry with the appropriate sign convention; the general grating equation is d(sin(theta_m) - sin(theta_i)) = m lambda.
  • To compute an angle, the implementation must explicitly use theta_m = arcsin(m lambda / d).
  • The maximum observable integer order is |m|max = floor(d/lambda) for positive d and lambda, subject to the diffraction condition |m lambda/d| <= 1.
  • The specification does not define whether reported angles are signed angles, positive magnitudes, or both symmetric angles ±theta for a nonzero order.
  • The specification does not state the angle output unit; the test vectors below assume degrees.

Unit assumptions

  • d and lambda must use identical length units before evaluating m lambda/d.
  • When d is supplied in lines/mm, the spacing is d = 1/(lines per mm) mm; for example, 800 lines/mm = 0.00125 mm = 1250 nm.
  • m is a dimensionless integer diffraction order, including m = 0.
  • The test-vector angles are reported in degrees, with arcsin values rounded to 4 decimal places where necessary.
  • The calculations assume normal incidence, so theta_i = 0.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

A zero grating spacing produces division by zero and must be rejected. The specification also requires an explicit branch for orders with |mλ/d|>1, which have no real diffraction angle, and an explicit sign convention for negative orders.

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": {
    "grating_spacing": {
      "value": 1,
      "unit": "micrometres"
    },
    "wavelength": {
      "value": 500,
      "unit": "nanometres"
    },
    "order": 1
  },
  "expected_outputs": {
    "diffraction_angles_degrees": [
      -30,
      30
    ],
    "maximum_visible_order": 2
  },
  "working": "Convert d: 1.0 micrometre = 1000 nm. Compute sin(theta) = m lambda/d = (1 x 500 nm)/1000 nm = 0.5. Therefore theta = arcsin(0.5) = 30 degrees, giving symmetric angles -30 degrees and +30 degrees. Maximum order = floor(d/lambda) = floor(1000/500) = floor(2) = 2."
}

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-tranche5/tranche5-results.json
  • BOUNDARY_HAZARD_CATALOG.json