treams.lattice.lsumsw2d

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

Fast summation of spherical functions on a 2d lattice

Computes

\[D_{lm}(k, \boldsymbol k_\parallel, \Lambda_2, \boldsymbol r) = \sum_{\boldsymbol R \in \Lambda_2} 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 in the x-y-plane.

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

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

  • k (float or complex) – Wave number

  • kpar (float, (2,)-array) – Tangential wave vector

  • a (float, (2,2)-array) – Lattice vectors

  • r (float, (2,)-array) – In-plane shift vector

  • eta (float or complex) – Separation value

Returns:

complex