acoustotreams.AcousticSMatrices

class acoustotreams.AcousticSMatrices(smats, **kwargs)[source]

Collection of four acoustic S-matrices with a scalar plane wave basis.

The S-matrix describes the scattering of incoming into outgoing modes using a plane wave basis, with functions acoustotreams.speical.spw_Psi(). The primary direction of propagation is parallel or anti-parallel to the z-axis. The scattering object itself is infinitely extended in the x- and y-directions. The S-matrix is divided into four submatrices \(S_{\uparrow \uparrow}\), \(S_{\uparrow \downarrow}\), \(S_{\downarrow \uparrow}\), and \(S_{\downarrow \downarrow}\):

\[\begin{split}S = \begin{pmatrix} S_{\uparrow \uparrow} & S_{\uparrow \downarrow} \\ S_{\downarrow \uparrow} & S_{\downarrow \downarrow} \end{pmatrix}\,.\end{split}\]

These matrices describe the transmission of plane waves propagating into positive z-direction, reflection of plane waves into the positive z-direction, reflection of plane waves into negative z-direction, and the transmission of plane waves propagating in negative z-direction, respectively. Each of those for matrices contain different diffraction orders.

The wave number k0 and, if not air, the material material are also required.

Parameters:
  • smats (AcousticSMatrix) – Acoustic S-matrices.

  • k0 (float) – Wave number in air.

  • basis (ScalarPlaneWaveBasisByComp) – The basis for the S-matrices.

  • material (tuple, AcousticMaterial, optional) – Material definition, if a tuple of length two is specified, this refers to the materials above and below the S-matrix.

Attributes

permute

rotate

translate

Methods

__eq__(other)

Return self==value.

__ge__(value, /)

Return self>=value.

__getitem__(key)

__gt__(value, /)

Return self>value.

__le__(value, /)

Return self<=value.

__len__()

__lt__(value, /)

Return self<value.

__ne__(value, /)

Return self!=value.

__repr__()

Return repr(self).

__str__()

Return str(self).

add(sm)

Couple another S-matrix on top of the current one.

bands_kz(az)

Band structure calculation.

double([n])

Double the acoustic S-matrix.

from_array(tm, basis)

S-matrix from an array of (cylindrical) T-matrices.

illuminate(illu[, illu2, smat])

Field coefficients above and below the S-matrix.

interface(basis, k0, materials)

Planar interface between two media.

periodic()

Periodic repetition of the S-matrix.

propagation(r, basis, k0[, material])

S-matrix for the propagation along a distance.

slab(thickness, basis, k0, materials)

Slab of material.

stack(items)

Stack of S-matrices.

tr(illu)

Transmittance and reflectance.

__le__(value, /)

Return self<=value.

__ge__(value, /)

Return self>=value.

__ne__(value, /)

Return self!=value.

__str__()

Return str(self).

__gt__(value, /)

Return self>value.

__lt__(value, /)

Return self<value.