treams.lattice.lsumsw1d_shift

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

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

Computes

\[D_{lm}(k, \boldsymbol k_\parallel, \Lambda_1, \boldsymbol r) = \sum_{\boldsymbol R \in \Lambda_1} h_l^{(1)}(k |\boldsymbol r + \boldsymbol R|) Y_{lm}(-\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 z axis.

Parameters:
  • l (integer) – Degree \(l \geq 0\)

  • m (integer) – Order \(|m| \leq l\)

  • k (float or complex) – Wave number

  • kpar (float) – Tangential wave vector component

  • a (float) – Lattice pitch

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

  • eta (float or complex) – Separation value

Returns:

complex