acoustotreams.ssw.translate_periodic

acoustotreams.ssw.translate_periodic(ks, kpar, a, rs, out, in_=None, rsin=None, eta=0, func=<function lsumsw>)[source]

Translation coefficients for scalar spherical waves on a lattice.

Return the translation coefficents for the given modes on a lattice. The computations employ the fast converging Ewald summation from treams.lattice.

Parameters:
  • ks (float or complex) – Wavenumber of longitudinal waves in the medium.

  • kpar ((D,)-array of float) – Parallel component of the wave vector. Defines the dimension with 1 <= D <= 3. Has units of ks.

  • a ((D,D)-array of float) – Lattice vectors in each row of the array.

  • rs ((M, 3)-array of float) – Shift vectors with respect to one lattice point. Have units of 1/ks.

  • out (2- or 3-tuple of integer arrays) – Output modes.

  • in (2- or 3-tuple of integer arrays) – Input modes. If None is given, they are equal to the output modes.

  • rsin (float) – Shift vectors of the input modes. If None is given, they are equal to rs. Have units of 1/ks.

  • eta (float or complex, optional) – Splitting parameter for the Ewald summation of lattice sums. If zero, an estimation for the optimal value is done. Defaults to zero.

Returns:

array_like of complex