reciprocal_shells

Function reciprocal_shells 

Source
pub(super) fn reciprocal_shells(
    lattice: &BlochLattice,
    k: Complex,
    eta: Complex,
    kpar: [f64; 3],
) -> [i32; 2]
Expand description

Cube shells the reciprocal sum may visit, as [fail, extend].

§Formula

The terms fall like exp(-Re(1 / (k eta)^2) |q + G|^2 / 2), below exp(-50) beyond |q + G| = sqrt(100 / Re(1 / (k eta)^2)). That is 10 |k eta| for real k eta, within |k| sqrt(1 + 100 |eta|^2), and grows as k eta turns off the real axis.

§Limits

  • A sum fails once it passes fail shells, which reach the larger of the two radii plus |q|.
  • At small splits a converged sum continues toward the tolerance of the complete sum and keeps what it leaves out as its tail. It stops at extend shells, which reach |k| sqrt(1 + 100 |eta|^2) + |q| alone, so the larger radius changes no sum that converges within the smaller one.
  • A 1D spherical sum fails at extend shells and takes its spectral series instead.

At large |k| L either radius needs more than the fixed limit.