pub struct ShellPairData { /* private fields */ }Expand description
Precomputed, screened [PrimPair] list of one ordered shell pair —
libcint’s pair-data (“optimizer”) precompute. A dense driver builds one per
canonical shell pair once per build (O(n_shells²), trivial memory) and
passes borrowed lists to coulomb_shell_pairs_into_scratch /
coulomb_shell_batch4_pairs_into_scratch, instead of the engine rebuilding
the same pairs on every quartet that shares the pair.
The contents and order are exactly what the self-building entries compute
internally ([build_pairs]), so routing through borrowed lists is
bit-identical. Orientation matters: build_pairs(s1, s2) is
order-sensitive (r1 = P − A uses s1’s centre; c1/c2 keep the
s1-outer/s2-inner coefficient association), so a list built for (i, j)
must only be used where the engine would have built (i, j) — the canonical
drivers use the i ≥ j orientation for both bra and ket throughout.
Implementations§
Source§impl ShellPairData
impl ShellPairData
Trait Implementations§
Source§impl Clone for ShellPairData
impl Clone for ShellPairData
Source§fn clone(&self) -> ShellPairData
fn clone(&self) -> ShellPairData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more