LocalCharges
LocalCharges is the direct local-charge architecture. In the paper
description it corresponds to MACE-LocalCharges.
Despite the class name, the model can predict monopoles and higher multipoles. The name means that the model does not perform a self-consistent polarization or field-response solve. It predicts the density coefficients once from local geometric features.
Architecture
The model first runs the usual MACE local message-passing stack. Let
h_i^{(s)} denote the equivariant node features on atom i after interaction
layer s.
For each layer, an equivariant linear map reads local multipoles from the node features. In the notation used in the paper, for layer 1 and layer 2:
The implementation generalizes this pattern over the configured number of
interaction layers. Each layer has an EnvironmentDependentSourceBlock, and
the predicted source contributions are summed:
The same message-passing features also feed ordinary MACE energy readouts. The final energy is the sum of the short-range MACE energy, the Coulomb energy of the predicted smooth multipole density, and the external-field coupling.
Physical Properties
LocalCharges is local in its density prediction. The density coefficients
on an atom are functions of the local environment inside the MACE cutoff; after
they are predicted, long-range electrostatics is evaluated explicitly.
The architecture is equivariant because the multipole readout maps equivariant node features to spherical multipole coefficients. It can therefore predict charges, dipoles, and higher multipoles in a rotation-compatible way.
The main limitation is that total charge is not conserved by construction. If
the model predicts monopoles, the sum of those monopoles is whatever the local
readouts produce. Charge conservation can be encouraged by training on
total_charge or atomic multipoles, but it is not a hard architectural
constraint.
Use Cases
Use LocalCharges when:
a direct local density prediction is sufficient;
the dataset includes reliable atomic multipole targets;
exact charge conservation is not essential, or can be handled through loss terms;
a simple one-shot electrostatic baseline is desired before using a more constrained charge-transfer architecture.
Avoid it when exact total charge conservation is a requirement of the
simulation. In that case, LocalSplitCharges is usually the better
local-source architecture.