acoustotreams.ScalarCylindricalWaveBasis.default

classmethod ScalarCylindricalWaveBasis.default(kzs, mmax, nmax=1, positions=None)[source]

Default basis for given Z-components of the wave vector and a given maximum order.

By default, modes are grouped into separate blocks for each position index in ascending order. Within each block, modes are sorted by the Z-component of the wave vector \(k_z\) and then by order :math:m in asceding order.

Example

>>> acoustotreams.ScalarCylindricalWaveBasis.default([-0.5, 0.5], 1)
ScalarCylindricalWaveBasis(
    pidx=[0 0 0 0 0 0],
    kz=[-0.5 -0.5 -0.5 0.5  0.5  0.5],
    m=[-1  0  1 -1  0  1],
    positions=[[0. 0. 0.]],
)
>>> acoustotreams.ScalarCylindricalWaveBasis.default([0], 1, 2, [[1., 0, 0], [-1., 0, 0]])
ScalarCylindricalWaveBasis(
    pidx=[0 0 0 1 1 1],
    kz=[0. 0. 0. 0. 0. 0.],
    m=[-1  0  1 -1  0  1],
    positions=[[ 1.  0.  0.], [-1.  0.  0.]],
)
Parameters:
  • kzs (array_like of float) – Z-components of the wave vector (rad/m).

  • mmax (int) – Maximum value of order.

  • nmax (int, optional) – Number of positions. Defaults to 1.

  • positions (array_like of float, optional) – Positions of the expansion centers (m). Defaults to [[0, 0, 0]].