A Julia implementation of the Multilevel Summation Method (MSM) of
Hardy et al. (J. Chem. Theory Comput. 11, 766–779, 2015) for fast
evaluation of long-range pair interactions, with support for any
dimension d ∈ {1, 2, 3}, per-axis :open / :periodic boundary
conditions, pluggable kernel splittings and interpolation bases, and an
AtomsBase +
AtomsCalculators
interface. Ships with a naive 3D Ewald reference
(MultilevelSummation.Reference) and a programmatic hyperparameter
sweep API (MultilevelSummation.Tune) for accuracy-vs-cost analysis.
Highly experimental — the API is not stable
- only the Coulomb (
1/r) splitting is currently implemented - missing GPU port via
KernelAbstractions.jl - provides forces, but no ChainRules integration yet
The hot operators are multi-threaded via
OhMyThreads.jl. For
best performance launch Julia with julia -t auto (or set
JULIA_NUM_THREADS).
See the documentation for details, examples, and the implementation plan.