treams.sw.translate_periodic

treams.sw.translate_periodic(ks, kpar, a, rs, out, in_=None, rsin=None, helicity=True, eta=0)

Translation coefficients in a lattice.

Returns the translation coefficents for the given modes in a lattice. The calculation uses the fast converging sums of treams.lattice.

The polarization values 0 and 1 refer to negative and positive helicity waves or, if helicity == False, to TE and TM parity.

Parameters:
  • ks (float or complex, scalar or (2,)-array) – Wave number(s) in the medium, use two values in chiral media, indexed analogous to the polarization values

  • kpar (float, (D,)-array) – Parallel component of the wave, defines the dimension with 1 <= D <= 3

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

  • rs (float, (M, 3)-array) – Shift vectors with respect to one lattice point

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

  • in (3- or 4-tuple of integer arrays) – Input modes, if none are given equal to the output modes

  • rsin (float) – Shift vectors to use with the input modes, if non are given equal to rs

  • helicity (bool, optional) – If true, helicity basis is assumed, else parity basis. Defaults to True.

  • eta (float or complex, optional) – Cut between real and reciprocal space summation, if equal to zero, an estimation for the optimal value is done.

Returns:

complex array