ArXiv · 2026
Charge equilibration assigns atomic charges by equalizing an atomic chemical potential built from electronegativity, hardness and the Coulomb interaction. Under one global constraint it lets charge flow without limit between molecules, which fluctuating-charge models prevent with one neutrality constraint per molecule. A metal needs the opposite: a global constraint and a hardness near zero, and there the charge operator becomes indefinite unless it includes each charge's own self-energy. Here, we present samQEq (solids-and-molecules QEq), a unified charge-equilibration package for LAMMPS that combines the two constructions in one energy functional and one matrix-free solve. An orthogonal projector imposes one neutrality constraint per molecule, and the finite-width self-energy of a Gaussian charge on designated conductor types, narrower than the conductor's own Gaussian, keeps the conductor's part of the operator positive definite at any hardness. On a gold slab carrying a water film, the operator stays definite down to the conductor limit of the model, the metal screens a point charge by a constant amount at every height beyond 4 Å, and the film's charges stay bounded under dynamics. Reciprocal-space electrostatics is evaluated inside the matrix-vector product, and three distinct shielding kernels are run-time settings. We verify the implementation by reproducing a published fluctuating-charge water model without refitting, and the native ReaxFF charge-equilibration step to approximately 10⁻⁹ e. On a single four-V100 node the largest tested systems run at approximately twice the throughput of a 128-core CPU node. samQEq thus provides one charge-equilibration layer for molecules, conductors and the interfaces between them.
Try inveni