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