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 (
Latticeor 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 (
ScalarBasisSetor 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 (
AcousticMaterialor 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.