acoustotreams.expandlattice

acoustotreams.expandlattice(lattice=None, kpar=None, basis=None, modetype=None, *, eta=0, k0=None, material=AcousticMaterial(1.3, 343.0, 0.0), where=True)[source]

Expansion matrix for waves on lattices.

Expand the modes from one basis set, which are assumed to be periodically repeated on a lattice, into another basis set.

Parameters:
  • lattice (Lattice or array_like, optional) – Lattice definition (m). In some cases, this argument can be omitted when the lattice can be inferred from the basis.

  • kpar (sequence, optional) – The components of the wave vector tangential to the lattice. In some cases, this argument can be omitted when kpar can be inferred from the basis.

  • basis (ScalarBasisSet or tuple) – Basis set. If it is a tuple of two basis sets, the output and input modes are taken accordingly; otherwise, both sets of modes are the same.

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

  • eta (float or complex, optional) – Splitting parameter for the Ewald summation of lattice sums. Defaults to 0, corresponding to the automatic split.

  • material (AcousticMaterial or tuple, optional) – Material definition. Defaults to the air.

  • modetype (str, optional) – Mode type, used for ScalarPlaneWaveBasisByComp.

  • where (array_like of bool, optional) – Only evaluate specified parts of the expansion matrix. The given array must have a shape that matches the output shape.