# Ultrasonic Inspection

> Use when you must perform ultrasonic inspection (UT) on an aerospace part and turn measured echo data into defect findings: determine discontinuity depth from time of flight, compute wavelength and near-field length for transducer and frequency selection, convert decibel amplitude drops to echo ratios, and apply Snell's law and beam-spread angles for angle-beam shear-wave setups, then size discontinuities against acceptance criteria using reference reflectors such as flat-bottom and side-drilled holes. Produces the inspection math, the scan-planning parameters, and the depth and amplitude results that gate acceptance dispositions. Trigger: ultrasonic, pulse-echo, time of flight, shear wave, transducer, near-field, flat-bottom hole, calibration block.

- Skill: `ashfordeou/ultrasonic-inspection` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add ashfordeou/ultrasonic-inspection`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ashfordeou/ultrasonic-inspection/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: ashfordeOU (https://skillmd.com/u/ashfordeou)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ashfordeou/ultrasonic-inspection

---


# Ultrasonic Inspection (manufacturing-quality/ndt/ultrasonic-inspection)

Use when the task is executing ultrasonic inspection (UT) on a part:
turning pulse-echo time-of-flight and echo amplitude measurements into
discontinuity depth and size, and planning the transducer, frequency,
and calibration that make those measurements valid.

## Domain quick reference

- Pulse-echo principle: one transducer emits a burst and receives the
  echo; the sound travels to the reflector and back, so depth is half
  the product of time of flight and velocity: depth = tof * v / 2.
- Wave modes: longitudinal (compressional) waves are fastest and are
  used by normal probes; shear waves are slower and are generated by
  angle-beam probes through refraction. Typical velocities: steel
  longitudinal ~5920 m/s, steel shear ~3230 m/s, water ~1480 m/s.
- Wavelength: lambda = v / f. Higher frequency gives shorter
  wavelength, better resolution of small reflectors, and stronger
  attenuation, which shortens useful range. Aerospace inspection
  commonly uses 2.25 to 10 MHz.
- Near field: for a circular piston transducer the near-field length
  is N = D^2 / (4 * lambda). Inside the near field the beam has
  amplitude maxima and minima and has not yet diverged, so
  amplitude-based sizing there is unreliable. Beyond N the beam
  spreads with half-angle gamma where sin(gamma) = 1.22 * lambda / D.
- Calibration blocks: the IIW block carries reference reflectors
  (side-drilled holes) and radius surfaces for velocity, zero-point,
  and sensitivity calibration; the step wedge has thickness steps for
  depth and sweep-linearity checks. Calibrate velocity, zero point,
  and sensitivity before scanning.
- Reference reflectors: flat-bottom holes (FBH) give area-like echoes
  and are used with distance-amplitude correction (DAC) curves;
  side-drilled holes (SDH) give cylinder-like echoes. Echo amplitude
  is compared to the reference reflector level in decibels.
- Scanning patterns: raster or serpentine scans with index increments
  no larger than half the element width, with overlap so no volume is
  skipped; normal (longitudinal) and angle (shear) scans cover
  different defect orientations.
- Discontinuity depth and size: depth from time of flight; size from
  amplitude compared with the reference reflector, using the 6 dB
  (half amplitude) drop method to locate reflector edges.
- Dead zone: a near-surface region where the front-surface echo and
  the initial pulse mask small indications; its length is set by the
  pulse length and the transducer ringing.
- Acceptance criteria: defined by the engineering specification and
  the approved NDT procedure, usually as echo amplitude relative to a
  reference reflector at the same depth; results are recorded and
  dispositioned under special-process control.
- Decibels: dB = 20 * log10(A / A_ref), so 6 dB is a 2x amplitude
  ratio and 20 dB is a 10x amplitude ratio.
- Snell's law for angle probes: sin(theta2) / sin(theta1) = v2 / v1.
  When v2 * sin(theta1) / v1 exceeds 1 no refracted wave exists (total
  internal reflection).

## Workflow

1. Establish the material and the wave mode (longitudinal for normal
   probes, shear for angle probes) and the corresponding velocity.
2. Select frequency and transducer: compute wavelength and near-field
   length with wavelength() and near_field_length(), and confirm the
   region of interest sits past the near field or plan for its
   amplitude effects.
3. Compute beam-spread half-angle with beam_spread_half_angle() for
   coverage planning, and the refracted shear angle with
   snell_refraction_angle() for angle-beam setups.
4. Calibrate on the calibration block (IIW or step wedge): zero point,
   velocity, and sensitivity against reference reflectors (FBH or
   SDH), building the distance-amplitude correction baseline.
5. Convert each measured time of flight to depth with
   time_of_flight_to_depth(), and each echo amplitude difference in
   decibels to an amplitude ratio with db_to_amplitude_ratio().
6. Size indications with the 6 dB drop method or by comparing the
   echo with the reference reflector at the same depth, then compare
   with the acceptance criteria and disposition the part.

## Pitfalls

- Forgetting the round trip: depth is tof * v / 2, never tof * v.
- Sizing inside the near field: amplitude maxima and minima inside N
  corrupt echo comparison; prefer depth-position sizing or a higher
  frequency transducer that moves the reflector into the far field.
- Dead-zone indications: small near-surface flaws hide behind the
  front-surface echo; use a delay-line or immersion setup when the
  near-surface zone is critical.
- Mixing wave modes: using the shear velocity where a longitudinal
  wave is expected (or the reverse) misplaces depth by up to 45%.
- Decibel confusion: 6 dB is half amplitude (voltage), 20 dB is 10x
  amplitude; applying 6 dB as an energy halving corrupts sizing.
- Ignoring total internal reflection: a refracted angle computed by
  Snell's law beyond 90 degrees means no shear wave enters the part;
  the probe angle must be reduced.
- Comparing echoes at different depths without the DAC curve: the same
  reflector size at two depths gives different amplitudes; always
  compare at equal depth or apply the distance-amplitude correction.
- Skipping calibration: velocity, zero point, and sensitivity drift
  between setups; every scan session recalibrates on the block.

## Behavior contract (gate 3)

The inspection math is exercised by the gate 3 contract test:
scripts/test_ultrasonic_inspection.py against
scripts/ultrasonic_inspection_logic.py (stdlib unittest, offline).
Run:
python3 scripts/test_ultrasonic_inspection.py

## Compliance

- Standards referenced, not reproduced: AS9100 clause 8.5.1.3 frames
  NDT as a special process requiring controlled procedures, qualified
  personnel, and records; the formulas and calibration practice above
  are common UT methodology, summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.

