Examples

acoustotreams is a program that covers various aspects of T-matrix computations and associated topics in acoustic scattering scenarios. acoustotreams adopts the functionality introduced, for the first time, in treams in the electromagnetic domain. The functionality involves three levels: low-level functions, intermediate-level functions, and high-level functions and classes.

The low-level functions implement the underlying mathematical functions that build the foundation of T-matrix computations. They are mainly imported from acoustotreams.special and treams.lattice. The first one contains the mathematical functions related to the scalar waves, while the second subpackage contains functions that are associated with computations in lattices. All functions necessary in acoustic computations, e.g., the various solutions to the Helmholtz equation and their translation coefficients, implemented within the subpackage acoustotreams.special.

On the intermediate-level those underlying functions are combined to provide functions that are often needed for T-matrix computations, e.g., the acoustic Mie coefficients, or the expansion coefficients of scalar plane waves in spherical waves.

The high-level functionality is more focused on the usability. We attempt to create an useful interface to the underlying functions that mitigates redundancy and that is less error prone than using the pure functions, while still integrating nicely with numpy functions. It consists of a combination of different classes and functions. At first, there are three basis sets for acoustic waves, which can be used together with other important parameters for the computations, for example, the background material or the lattice definitions. Furthermore, there are the “acoustics-aware arrays”, which keep track of these parameters during the computation, and operators that can be applied to these arrays. Finally, we will introduce, how these previous concepts can be applied to acoustic T-Matrices for scalar spherical and cylindrical solutions and to acoustic S-Matrices for scalar plane wave solutions.