Calculates the far-field scattering amplitude and related quantities elastic shelled sphere using the modal series solution, as described by Goodman and Stern (1962).
Usage
This model is accessed via:
target_strength(
...,
model="essms",
sound_speed_sw,
density_sw,
m_limit
)Arguments
sound_speed_swSeawater sound speed (\(m~s^{-1}\)).
density_swSeawater density (\(kg~m^{-3}\)).
m_limitOptional model truncation limit used to cap the number of modes in the numerical calculation. By default, this is set to the maximum value of \(ka + 10\).
Theory
The elastic-shelled sphere model solves the acoustic scattering problem by expanding the incident and scattered fields in terms of spherical Bessel and Hankel functions and Legendre polynomials. The displacement field in the shell is represented as the sum of a scalar potential and a vector potential:
$$ \mathbf{u} = \nabla \phi + \nabla \times \mathbf{\Psi} $$
where \(\phi\) and \(\mathbf{\Psi}\) satisfy the Helmholtz equations with velocities determined by the elastic properties of the shell:
$$ (1/c_L^2) \frac{\partial^2 \phi}{\partial t^2} = \nabla^2 \phi, \qquad (1/c_T^2) \frac{\partial^2 \mathbf{\Psi}}{\partial t^2} = \nabla^2 \mathbf{\Psi} $$
with \(c_L = \sqrt{(\lambda + 2\mu)/\rho}\) (longitudinal) and \(c_T = \sqrt{\mu/\rho}\) (transverse) wave speeds, where \(\lambda\) and \(\mu\) are the Lamé parameters and \(\rho\) is the shell density.
The scattered field is expanded as:
$$ f_{bs} = -\frac{i}{k} \sum_{m=0}^{\infty} (2m+1) b_m P_m(\cos\theta) $$
where \(k\) is the wavenumber in the surrounding fluid, \(P_m\) is the Legendre polynomial of order \(m\), and \(b_m\) are the modal coefficients determined by the shell and fluid properties.
The modal coefficients \(b_m\) are determined by enforcing boundary conditions at the shell-fluid interfaces, resulting in a system of six equations for each mode. These are solved using Cramer's rule as the ratio of two 6 \(\times\) 6 determinants.
At mode 0:
$$ b_m(0) = \frac{ \left| \begin{array}{ccccc} a_1 & \alpha_{12} & \alpha_{14} & 0 & 0 \\ a_2 & \alpha_{22} & \alpha_{24} & 0 & 0 \\ 0 & \alpha_{42} & \alpha_{44} & \alpha_{46} & 0 \\ 0 & \alpha_{52} & \alpha_{54} & \alpha_{56} & 0 \\ 0 & \alpha_{62} & \alpha_{64} & \alpha_{66} & 0 \end{array} \right| }{ \left| \begin{array}{ccccc} \alpha_{11} & \alpha_{12} & \alpha_{14} & 0 & 0 \\ \alpha_{21} & \alpha_{22} & \alpha_{24} & 0 & 0 \\ 0 & \alpha_{42} & \alpha_{44} & \alpha_{46} & 0 \\ 0 & \alpha_{52} & \alpha_{54} & \alpha_{56} & 0 \\ 0 & \alpha_{62} & \alpha_{64} & \alpha_{66} & 0 \end{array} \right| } $$
At modes greater than 0:
$$ b_m(m) = -i^m (2m+1) \frac{ \left| \begin{array}{cccccc} a_1 & \alpha_{12} & \alpha_{13} & \alpha_{14} & \alpha_{15} & 0 \\ a_2 & \alpha_{22} & \alpha_{23} & \alpha_{24} & \alpha_{25} & 0 \\ 0 & \alpha_{32} & \alpha_{33} & \alpha_{34} & \alpha_{35} & 0 \\ 0 & \alpha_{42} & \alpha_{43} & \alpha_{44} & \alpha_{45} & \alpha_{46} \\ 0 & \alpha_{52} & \alpha_{53} & \alpha_{54} & \alpha_{55} & \alpha_{56} \\ 0 & \alpha_{62} & \alpha_{63} & \alpha_{64} & \alpha_{65} & \alpha_{66} \end{array} \right| }{ \left| \begin{array}{cccccc} \alpha_{11} & \alpha_{12} & \alpha_{13} & \alpha_{14} & \alpha_{15} & 0 \\ \alpha_{21} & \alpha_{22} & \alpha_{23} & \alpha_{24} & \alpha_{25} & 0 \\ 0 & \alpha_{32} & \alpha_{33} & \alpha_{34} & \alpha_{35} & 0 \\ 0 & \alpha_{42} & \alpha_{43} & \alpha_{44} & \alpha_{45} & \alpha_{46} \\ 0 & \alpha_{52} & \alpha_{53} & \alpha_{54} & \alpha_{55} & \alpha_{56} \\ 0 & \alpha_{62} & \alpha_{63} & \alpha_{64} & \alpha_{65} & \alpha_{66} \end{array} \right| } $$
The elements of these matrices depend on the shell's elastic moduli, thickness, densities, and the acoustic properties of the interior and exterior fluids. The exact values for each element can be calcaulted using equations provided by Goodman and Stern (1962) and Stanton (1990). Since \(\theta = \pi\) in the backscattering case, the equation for \(f_{bs}\) becomes:
$$ f_{bs} = -\frac{i}{k} \sum_{m=0}^{\infty} (2m+1) b_m P_m(\cos\theta) \\ \phantom{f_{bs}} = -\frac{i}{k} \sum_{m=0}^{\infty} (2m+1) b_m P_m(-1) \\ \phantom{f_{bs}} = -\frac{i}{k} \sum_{m=0}^{\infty} (2m+1) b_m (-1)^m $$
Implementation
C++
The computation for \(b_m\) was done in C++ due to relatively large
computational costs with increasing \(ka\) (and subsequently larger limits
for \(m\)) and the efficiency in solving the systems of linear equations
containing complex values. Since each matrix is a square, this
implementation specifically utilizes lower-upper (LU) decomposition to break
down the matrices into the products of the resulting lower and upper
triangular matrices. However, this means that the determinant computations
are sensitive to ill-conditioned matrices that can amplify numerical errors.
There are guards in-place that partially address singularity issues when the denominator is 0. The algorithm does not handle near-singular matrices directly, but it will raise a warning when a matrix is ill-conditioned. This is determined based on the pivot ratio from the calculated condition number. Partial pivoting and row-scaling are also incorporated to improve numerical stability and reduce the effect of high-leverage values in a matrix.
Modal Truncation
The maximum number of terms for \(n\) is chosen as \(k_w a_{shell} + 10\) (rounded to the nearest integer), which is sufficient for convergence in most practical cases.
References
Anderson, V.C. (1950). Sound scattering from a fluid sphere. The Journal of The Acoustical Society of America, 22: 426–431.
Gaunaurd, G.C., and Wertman, W. (1991). Transient acoustic scattering by fluid-loaded elastic shells. International Journal of Solids and Structures, 27: 699-811.
Stanton, T.K. (1990). Sound scattering by spherical and elongated shelled bodies. The Journal of the Acoustical Society of America, 88: 1619-1633.
See also
See the boundary conditions documentation for
more details on how elastic-shelled scattering relates to other boundary
conditions,
target_strength, ESS, Sphere,
sphere
