treams.lattice.lsumsw3d

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

Fast summation of spherical functions on a 3d lattice

Computes

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

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

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

  • k (float or complex) – Wave number

  • kpar (float, (3,)-array) – Wave vector

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

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

  • eta (float or complex) – Separation value

Returns:

complex