Module cell

Module cell 

Source
Expand description

The lattice and Bloch vector of a sum, and the automatic Ewald split.

Upstream: _check_eta of lattice/_esum.pyx for the automatic split. The reduced bases are a treams-rs extension.

Structsยง

BlochLattice
Row lattice vectors, a real Bloch vector kpar and their reduced bases in one, two or three dimensions.
Reduction ๐Ÿ”’
A reduced basis U rows of lattice rows from geometry::reduce_basis: the integer rows of U and of its inverse transpose W, stored exactly as f64. Ewald shells of a skewed basis are far from Euclidean shells and can stop before short vectors with large indices; shells of the reduced basis cannot.

Functionsยง

resolve_split ๐Ÿ”’
The Ewald split: eta, or for zero an automatic choice from kL with the cell length L = measure^(1/dim). The exact sum is independent of the split, so it is held fixed during differentiation instead of differentiating the heuristic.