treams.lattice.lsumcw1d_shift

treams.lattice.lsumcw1d_shift(l, k, kpar, a, r, eta) = <ufunc 'lsumcw1d_shift'>

Fast summation of cylindrical functions on a 1d lattice with out of lattice shifts

Computes

\[D_{l}(k, \boldsymbol k_\parallel, \boldsymbol r, \Lambda_1) = \sum_{\boldsymbol R \in \Lambda_1} H_l^{(1)}(k |\boldsymbol r + \boldsymbol R|) \mathrm e^{\mathrm i l \varphi_{-\boldsymbol r - \boldsymbol R}} \mathrm e^{\mathrm i \boldsymbol k_\parallel \boldsymbol R}\]

using the Ewald summation.

The cut between the real and reciprocal space summation is defined by eta. Larger values increase the weight of the real sum. In a the lattice vectors are given as rows. The lattice is along the x axis.

Parameters:
  • l (integer) – Order

  • k (float or complex) – Wave number

  • kpar (float) – Tangential wave vector component

  • a (float) – Lattice pitch

  • r (float, (2,)-array) – Shift vector

  • eta (float or complex) – Separation value

Returns:

complex