SPRDSenior Physics Research DatabaseDickinson College

All projectsDirectional speaker

Theory

The KZK equation, term by term

The model equation for a directional, nonlinear, lossy sound beam, and the three length scales that tell you which effect wins.

Week 2 of 4; the paper is due at the end of week 4

Goals

  • Explain the retarded time and the paraxial approximation that turn the Westervelt equation into the KZK equation.
  • Identify the diffraction, absorption and nonlinearity terms and the length scale each one sets.
  • Compute the Rayleigh length, shock formation distance and absorption length for the department speaker in air.

Why this matters

Berktay’s formula only holds far from the source. Your listener stands one to three metres away, which is close to the Rayleigh distance, so the full picture needs a beam equation. The KZK equation is the standard one, and your simulation in the next step solves it.

The physics

Write the equation in the retarded time τ=t−z/c0\tau = t - z/c_0, which moves with the wave, and assume the beam is directional (ka≫1ka \gg 1, small angles from the axis). Keeping diffraction, thermoviscous absorption and quadratic nonlinearity to leading order gives

∂2p∂z ∂τ=c02∇⊥2p⏟diffraction+δ2c03∂3p∂τ3⏟absorption+β2ρ0c03∂2p2∂τ2⏟nonlinearity.\frac{\partial^2 p}{\partial z\,\partial \tau} = \underbrace{\frac{c_0}{2}\nabla_\perp^2 p}_{\text{diffraction}} + \underbrace{\frac{\delta}{2c_0^3}\frac{\partial^3 p}{\partial \tau^3}}_{\text{absorption}} + \underbrace{\frac{\beta}{2\rho_0 c_0^3}\frac{\partial^2 p^2}{\partial \tau^2}}_{\text{nonlinearity}} .

Each term has a length scale. For a source of half-width aa, frequency ω0\omega_0 and peak pressure p0p_0:

zR=ka22,xˉ=ρ0c03β ω0 p0,α0−1=2c03δ ω02.z_R = \frac{k a^2}{2}, \qquad \bar{x} = \frac{\rho_0 c_0^3}{\beta\,\omega_0\, p_0}, \qquad \alpha_0^{-1} = \frac{2 c_0^3}{\delta\,\omega_0^2} .

These are the Rayleigh length, the plane-wave shock formation distance and the absorption length. The Gol’dberg number Γ=1/(α0xˉ)\Gamma = 1/(\alpha_0 \bar{x}) says whether nonlinearity (Γ≫1\Gamma \gg 1) or absorption (Γ≪1\Gamma \ll 1) wins.

KZK simulation in water: at 0.05 m the on-axis waveform is only slightly steepened

Hints

Hint 1Derive the retarded-time step yourself

Substitute τ=t−z/c0\tau = t - z/c_0 into the Westervelt equation and keep only the largest terms. Which second derivative cancels? That cancellation is where the beam becomes “parabolic” and why you can march in zz.

Hint 2Put air numbers in

Use c0=343c_0 = 343 m/s, ρ0=1.21\rho_0 = 1.21 kg/m³, β=1.2\beta = 1.2 and a carrier amplitude around 100 Pa at 60 kHz (the defaults of kzk_sim.py --am). What is xˉ\bar{x}? Compare it with zRz_R for the speaker and with the ISO 9613-1 absorption length from the first step. Which effect dominates where your listener stands?

Hint 3Know where the model breaks

The paraxial approximation fails close to the source and at wide angles. Look up the usual rule of thumb for how far off axis KZK stays accurate, and mark that on your beam plots.

What past teams did

2026–27 team

The scales above are exactly what derived_scales() in kzk_sim.py computes. Print them for every run, because they tell you whether a strange-looking result is physics or a bad parameter.