Theory

These sections give an overview over theory that underlies the different aspects of acoustotreams. For more in-depth information, there is also a list of associated Publications.

Master equations of linear monochromatic acoustics

The master equations that describe propagation of pressure waves in nonelastic media can be written in frequency domain in the absence of external sources and shear (transverse) waves as [1]

\[\begin{split}\begin{pmatrix} \boldsymbol{\nabla}& 0 \\ 0& \boldsymbol{\nabla} \cdot \end{pmatrix} \begin{pmatrix} p\\ \mathbf{v} \end{pmatrix} = \mathrm i \omega \begin{pmatrix} 0& \rho\\ \frac{1}{\rho c^2}& 0 \end{pmatrix} \begin{pmatrix} p\\ \mathbf{v} \end{pmatrix}\end{split}\]

where \(p = p(\mathbf{r}, \omega)\) and \(\mathbf v = \mathbf v(\mathbf r, \omega)\) are the pressure and velocity fields (acoustotreams.pfield(), acoustotreams.vfield()). All these quantities are complex valued fields, that depend on the angular frequency \(\omega\) and the position \(\mathbf r\). The material parameters are the speed of sound \(c\), and the mass density \(\rho\). Conventionally, within acoustotreams the (air) wave number \(k_0 = \frac{\omega}{c_0}\) is generally used to express the frequency. Here \(c_0\) is the speed of sound in air being 343 m/s.

For the transformation to the time domain we use for a general function \(f(\omega)\)

\[f(t) = \int_{-\infty}^\infty \mathrm d t f(\omega) \mathrm e^{-\mathrm i \omega t}\]

as Fourier transformation convention, and thus the inverse transformation is

\[f(\omega) = \int_{-\infty}^\infty \frac{\mathrm d \omega}{2 \pi} f(t) \mathrm e^{\mathrm i \omega t}\]

Solutions to the scalar Helmholtz equation

Instead of immediatly solving equations from above, we will study the Helmholtz equation which is commonly encountered when studying wave phenomena first. This section mainly relies on [2].

The scalar Helmholtz equation is

\[\left(\Delta + k^2 \right) p = \boldsymbol{\nabla} \cdot (\boldsymbol{\nabla} p) - k^2 p = 0\]

where \(\Delta\) is the Laplace operator. Note, that by applying the divergence operator on equation \(\boldsymbol{\nabla}p=\mathrm i \omega \mathbf{v}\) and using the equation \(\boldsymbol{\nabla} \cdot \mathbf{v} = \frac{\mathrm i \omega}{\rho c^2}p\), the scalar Helmholtz equation can be obtained. Alternatively, we can apply the gradient to the second equation and get the vector Helmholtz equation

\[\left(\boldsymbol \Delta + k^2 \right) \mathbf{v} = \boldsymbol{\nabla} (\boldsymbol{\nabla} \cdot \mathbf v) - \boldsymbol{\nabla} \times \boldsymbol{\nabla} \times \mathbf{v} + k^2 \mathbf v = 0\]

If we denote \(\psi\) as a solution to the scalar Helmholtz equation, solutions to the vector Helmholtz equation can be constructed as follows

\[\begin{split}\mathbf L = k^{-1} \boldsymbol{\nabla} \psi \\ \mathbf M = \boldsymbol{\nabla} \times (\mathbf c \psi) \\ \mathbf N = \boldsymbol{\nabla} \times k^{-1} \boldsymbol{\nabla} \times (\mathbf c \psi)\end{split}\]

where \(\mathbf c\) is a steering vector that depends on the coordinate system used for the solution \(\psi\). We will focus the following discussion on the three cases of planar, cylindrical, and spherical solutions, where the coordinate systems are chosen to be Cartesian, cylindrical, and spherical.

The first type of solution is longitudinal waves that obey constraint \(\boldsymbol{\nabla} \times \mathbf L = 0\), while the second and third ones are transverse waves with the constraint \(\boldsymbol{\nabla} \cdot \{\mathbf M,\mathbf N\} = 0\). In the following, we will limit the discussion of the transverse waves, because acoustic waves in a medium with \(c^{t} \equiv 0\) can be described by scalar pressure fields and corresponding longitudinal fields.

Plane waves

In Cartesian coordinates the solution to the scalar Helmholtz equation are simple plane waves

\[\psi_{\mathbf k}(k, \mathbf r) = \mathrm e^{\mathrm i \mathbf k \mathbf r}\]

given by acoustotreams.special.spw_Psi() where the wave vector fulfils \(|\mathbf k|^2 = k_x^2 + k_y^2 + k_z^2 = k^2\). The corresponding longitudinal vector plane wave is

\[\mathbf L_{\mathbf k}(k, \mathbf r) = \frac{k_x \mathbf{\hat x} + k_y \mathbf{\hat y} + k_z \mathbf{\hat z}}{k} \mathrm e^{\mathrm i \mathbf k \mathbf r} \equiv \mathbf{\hat r}_{\mathbf k} \mathrm e^{\mathrm i \mathbf k \mathbf r}\]

given by acoustotreams.special.vpw_L(). We normalized this wave by \(k\) in the medium such that it has unit strength for real-valued wave vectors.

Cylindrical waves

The cylindrical solutions can be constructed mostly analogously to the plane waves. The solutions in cylindrical coordinates are

\[\psi^{(n)}_{k_z, m}(k, \mathbf r) = Z_m^{(n)}(k_\rho \rho) \mathrm e^{\mathrm i (m \varphi + k_z z)}\]

where \(k_z \in \mathbb R\) and \(m \in \mathbb Z\) are the parameters of the solution (acoustotreams.special.scw_rPsi(), and acoustotreams.special.scw_Psi()). The radial part of the wave vector is defined as \(k_\rho = \sqrt{k^2 - k_z^2}\) with the imaginary part of the square root to be taken non-negative. Note that here \(\rho\) is a radial distance of cylindrical coordinates. The functions \(Z_m^{(n)}\) are the Bessel and Hankel functions. For a complete set of solutions, it is necessary to select two of them. We generally use the (regular) Bessel functions \(J_m = Z_m^{(1)}\) and the Hankel functions of the first kind \(H_m^{(1)} = Z_m^{(3)}\), which are singular at \(\rho \to 0\) and correspond to radiating waves, (acoustotreams.special.jv(), acoustotreams.special.hankel1()). The vector cylindrical waves are then

\[\mathbf{L}_{k_z, m}^{(n)}(k, \mathbf{r}) = \left[\frac{k_{\rho}}{k} {Z_{m}^{(n)}}'(k_{\rho}\rho) \hat{\boldsymbol{\rho}} + \mathrm{i}\frac{m k_{\rho}}{k}\frac{Z_{m}^{(n)}(k_{\rho}\rho)}{k_{\rho}\rho} \hat{\boldsymbol{\varphi}} + \frac{\mathrm{i} k_z}{k}Z_{m}^{(n)}(k_{\rho}\rho) \hat{\mathbf{z}} \right] \mathrm{e}^{\mathrm{i} m \varphi + \mathrm{i} k_z z}\]

where we, again, normalized the functions by by \(k\) in the medium (acoustotreams.special.vcw_rL(), and acoustotreams.special.vcw_L()).

Spherical waves

Finally, we define the spherical wave solutions

\[\psi_{lm}^{(n)}(k, \mathbf{r}) = z_l^{(n)}(kr) Y_{lm}(\theta, \phi)\]

given by (acoustotreams.special.ssw_rPsi(), and acoustotreams.special.ssw_Psi()) where \(z_l^{(n)}\) are the spherical Bessel and Hankel functions. We choose \(j_l = z_l^{(1)}\) and \(h_l^{(1)} = z_l^{(3)}\) in complete analogy to the cylindrical waves case (acoustotreams.special.spherical_jn(), acoustotreams.special.spherical_hankel1()). \(Y_{lm}\) are the spherical harmonics (acoustotreams.special.sph_harm()). The value \(l \in \mathbb N \cup \{0\}\) refers to the angular momentum or degree. The projection of the angular momentum onto the z axis or order is \(m \in \mathbb Z\) with \(|m| \leq l\). Hence, the vector spherical waves are defined as

\[\mathbf{L}_{lm}^{(n)} (k, \mathbf{r}) = -\mathrm{i} \left[{z_l^{(n)}}' (kr) \mathbf{Z}_{lm}(\theta, \varphi) + \frac{z_l^{(n)}(kr)}{kr} \mathbf{Y}_{lm}(\theta, \varphi) \right]\]

(acoustotreams.special.vsw_rL(), and acoustotreams.special.vsw_L()) where

\[\begin{split}\mathbf X_{lm} (\theta, \varphi) = \mathrm i \sqrt{\frac{2 l + 1}{4 \pi l (l + 1)} \frac{(l - m)!}{(l + m)!}} \left(\mathrm i \pi_l^m(\cos\theta) \boldsymbol{\hat\theta} - \tau_l^m (\cos\theta) \boldsymbol{\hat\varphi}\right) \mathrm e^{\mathrm i m \varphi} \\ \mathbf Y_{lm} (\theta, \varphi) = \mathrm i \sqrt{\frac{2 l + 1}{4 \pi l (l + 1)} \frac{(l - m)!}{(l + m)!}} \left(\tau_l^m (\cos\theta) \boldsymbol{\hat\theta} + \mathrm i \pi_l^m (\cos\theta) \boldsymbol{\hat\varphi}\right) \mathrm e^{\mathrm i m \varphi} \\ \mathbf Z_{lm} (\theta, \varphi) = \mathrm i Y_{lm}(\theta, \varphi) \mathbf{\hat r}\end{split}\]

are the vector spherical harmonics (acoustotreams.special.vsh_X(), acoustotreams.special.vsh_Y(), and acoustotreams.special.vsh_Z()). These are themselves defined by the functions \(\pi_l^m(x) = \frac{m P_l^m(x)}{\sqrt{1 - x^2}}\), \(\tau_l^m(x) = \frac{\mathrm d}{\mathrm d \theta}P_l^m(x = \cos\theta)\), and the associated Legendre polynomials \(P_l^m\) (acoustotreams.special.pi_fun(), acoustotreams.special.tau_fun(), and acoustotreams.special.lpmv()). The vector spherical harmonics are orthogonal to each other and normalized to 1 upon integration over the solid angle.

Solutions to the acoustic master equations

Up to now, we set up the acoustic master equations and found solutions to the scalar Helmholtz equation. The solutions to the acoustic master equations are then

\[\begin{split}p(k, \mathbf{r}) = \sum_\nu p_{\nu} \psi_\nu(k, \mathbf{r}) \\ \mathbf{v}(k, \mathbf{r}) = \frac{-\mathrm{i}}{\rho c} \sum_\nu p_{\nu} \mathbf{L}_\nu(k, \mathbf{r})\end{split}\]

where \(\nu\) is just a placeholder for the actual parameters that index a concrete set of solutions. The inverse prefactor \(Z = \rho c\) is called acoustic impedance.

References