Analytic fields¶
Closed-form solutions are the first check for any numerical field code.
sonosk.analytic has the on-axis pressure of two circular sources in a
lossless fluid. Results are amplitudes normalised by \(p_0 = \rho c u_0\),
where \(u_0\) is the normal velocity of the source surface.
Flat piston¶
For a baffled piston of radius \(a\), at distance \(z\) on its axis (Kinsler et al. 2000):
with \(k = 2\pi f / c\). The amplitude reaches 2 at each maximum. The last maximum, which marks the end of the near field, lies at \(z = a^2/\lambda - \lambda/4\).
import numpy as np
from sonosk import analytic
z = np.linspace(1e-4, 0.1, 5000)
p = analytic.piston_axial(z, a=5e-3, f=2e6)
analytic.piston_last_maximum(5e-3, 2e6) # [m]
Focused bowl¶
For a spherical bowl with aperture radius \(a\) and radius of curvature \(R\), O’Neil (1949) gives
where \(z\) is measured from the apex of the bowl and \(h\) is the depth of
the bowl. At the geometric focus, \(z = R\), the expression tends to the
focal gain \(kh\), and bowl_axial returns that value there.
p = analytic.bowl_axial(z, a=15e-3, roc=40e-3, f=3e6)
analytic.focal_gain(15e-3, 40e-3, 3e6) # k h
The peak of the on-axis pressure lies a little closer to the bowl than the geometric focus. The shift grows as \(kh\) gets smaller.
References¶
Kinsler L.E., Frey A.R., Coppens A.B., Sanders J.V. Fundamentals of Acoustics, 4th ed. Wiley, 2000.
O’Neil H.T. Theory of focusing radiators. J. Acoust. Soc. Am. 21(5):516-526, 1949.