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, given by functions acoustotreams.speical.spw_Psi(). The primary direction of propagation is parallel or anti-parallel to the z-axis. The scattering structure itself is infinitely elongated in the x- and y-directions. The S-matrix contains four blocks \(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 these four matrices also maps different diffraction orders to one another.

The wavenumber k0 and, if not the air, the material material are required.

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

  • k0 (float) – Angular wavenumber in the air (rad/m).

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

  • material (tuple or AcousticMaterial, optional) – Material definition. If a tuple of length two is specified, it 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 an 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 an 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.

__lt__(value, /)

Return self<value.

__str__()

Return str(self).

__le__(value, /)

Return self<=value.

__gt__(value, /)

Return self>value.

__ne__(value, /)

Return self!=value.

__ge__(value, /)

Return self>=value.