Atomic Multipoles
All models in this repo use atom-centred multipole moments to represent a coarse-grained charge density. They appear in datasets, model inputs, model outputs, losses, calculators, and evaluation scripts.
Density Coefficients
MACE_SCF often refers to predicted multipoles as density_coefficients. These
coefficients describe smeared atom-centred multipoles, not point charges. The
electrostatics backend uses them to compute Coulomb energies, field features,
dipoles, and potentials.
The backend for these operations is graph_longrange. MACE_SCF models predict
the atom-centred coefficients; graph_longrange evaluates the electrostatic
quantities associated with the resulting smooth density.
Gaussian Multipole Density
The coarse-grained charge density is represented as a sum of Gaussian type orbital multipoles:
Here \(i\) indexes atoms and \((l,m)\) indexes spherical multipole components. \(l=0\) is charge, \(l=1\) is dipole, and higher \(l\) values correspond to higher multipoles. The basis functions are normalized so that each \(\phi_{lm}\) carries one unit of the corresponding multipole moment:
The electrostatic energy is the Coulomb energy of this smooth density:
Parameters
There are two important parameters which are passed to run_train.py.
--atomic_multipoles_max_l=1selects the highest multipole order represented in the density coefficients. \(l=0\) means charges only, \(l=1\) means charges and dipoles, and so on. In practice \(l=1\) is usually the best choice, and some features are not implemented for \(l\geq2\).--atomic_multipoles_smearing_width=1.5sets the Gaussian width of the multipoles in Angstrom, denoted \(\sigma\) in the equations above.
Coefficient Ordering
For charge-plus-dipole atomic multipoles, the coefficient order follows the Condon-Shortley phase convention:
[Q, d_y, d_z, d_x]
Here Q is the atomic charge, and d_x, d_y, and d_z are the Cartesian
components of the atomic dipole. Note that the stored coefficient order is not
Cartesian order for the dipole.
On the other hand, outputs from models which are explicitly named dipole or partial_dipoles (as opposed to density_coefficients) are Cartesian:
[d_x, d_y, d_z]
This is also important when reading atomic multipoles from an xyz file. The coede expects density coefficients in the xyz file to be Condon Shortly phase convention.