Iso-velocity, range-independent, pressure-release surface, fluid half-space seabed, no seabed absorption (no leaky modes)
Differentiability
ForwardDiff
PekerisModeSolver(env; ngrid=0)
A fast differentiable mode propagation model that only supports iso-velocity constant depth environments.
ngrid is the number of grid points to use for modal root finding for fluid bottom environments. If ngrid is too small, the mode solver may miss some modes. If ngrid is too large, the mode solver may take a long time to converge. The default value of ngrid of 0 will use a heuristic to automatically determine the number of grid points to use.
Experimental
Work in progress. Not benchmarked. Use at your own risk!
Notes:
Differentiability currently works only with ForwardDiff, and excludes impulse_response().
Implementation based on mathematical description in Theory below.
The mathematical derivation of modal propagation in this section is based on:
M. B. Porter, “The KRAKEN normal mode program”, Technical report NRL/MR/5120-92-6920, Naval Research Laboratory, 1992 (pdf).
Modal propagation
The acoustic wave equation is: \[
\nabla^2p = \frac{1}{c^2}\frac{\partial^2p}{\partial t^2}.
\] In a Pekeris waveguide with a pressure-release surface and a pressure-release bottom (good approximation for a long range propagation problem, as it turns out), the boundary conditions in cylindrical coordinates are: \[
\begin{align*}
p(r,0) &= 0 \quad \forall \; r, \\
p(r,-D) &= 0.
\end{align*}
\] For a monochromatic source of frequency \(f\) Hz located at \((0,-z_s)\) boundary condition is: \[
p(0,-z_s) = -A\exp(-i\omega t),
\] where \(A\) is the source amplitude, and \(\omega = 2\pi f\). Due to symmetry of the Pekeris waveguide, we have dropped the azimuthal coordinate.
The wave equation with these boundary conditions admits an approximate modal solution of the form: \[
p(r,z,t) = \frac{i}{4}\sum_m\psi_m(z_s)\psi_m(z)H_0^{(1)}(k_mr)\exp(-i\omega t),
\] where \(\psi_m(z)\) is the mode of order \(m\) and \(H_0^{(1)}\) is the Hankel function of the first kind and order 0, \(k_m\) is the horizontal wavenumber associated with mode. The mode \(\psi_m\) is given by: \[
\psi_m(z) = \sqrt{\frac{2}{D}}\sin(\gamma_m z),
\] where \(\gamma_m\) is the vertical wavenumber associated with mode \(m\): \[
\gamma_m = \sqrt{k_0^2 - k_m^2},
\] for wavenumber \(k_0 = \omega/c\).
\(\gamma_m\) is chosen to ensure boundary conditions are satisfied: \[
\psi_m(0) = \psi_m(D) = 0,
\] i.e., \[
\gamma_m = m\frac{\pi}{D}.
\] If the bottom boundary condition is chosen for a rigid bottom: \[
\begin{align*}
& \left.\frac{d}{dz}\psi_m(z)\right|_{z=D} = 0, \\
& \therefore \; \gamma_m = \left(m-\frac{1}{2}\right)\frac{\pi}{D}.
\end{align*}
\]
Substituting \(\psi_m\) back, we have: \[
p(r,z,t) = \frac{i}{2D}\sum_m\sin(\gamma_m z_s)\sin(\gamma_m z)H_0^{(1)}(k_mr)\exp(-i\omega t),
\] The transmission loss is then given by: \[
\text{TL}(r,z) = -20\log\left| \frac{p(r,z)}{p^0_{r=1}} \right|,
\] where \(p^0_{r=1}\) is the pressure due to the source at 1 m from the acoustic center of the source: \[
p^0_{r=1} = \frac{\exp(ik_0r)}{4\pi r} = \frac{\exp(ik_0)}{4\pi}.
\]
Acousto-elastic boundary condition
If we use an acousto-elastic boundary condition for the seabed with sound speed \(c_b\) and density \(\rho_b\), we have a boundary condition: \[
\left.\rho_b\frac{d\psi_m}{dz}\right|_{z=D} = -\rho\sqrt{k_m^2 - k_b^2} \; \psi_m(r,D).
\] for \(k_b = \omega/c_b\). Substituting \(\psi_m(r,z)\): \[
\rho_b\gamma_m\cos(\gamma_m D) + \rho\sqrt{k_m^2 - k_b^2} \; \sin(\gamma_m D) = 0.
\]