xnn.dnn.models.hdnnp#
High-dimensional neural network potentials of the first to the fourth generation.
The four generations of Behler’s classification (Chem. Rev. 121, 10037, 2021):
1G (
NNP1G): one feed-forward network maps a fixed set of coordinates of a fixed system to its energy (Blank et al. 1995, Lorenz et al. 2004; Fig. 1 and eq. 1 of Behler and Parrinello 2007).2G (
HDNNP,generation=2): the energy is a sum of atomic energies, each the output of the network of the atom’s element on the atom-centered symmetry functions of its environment (Behler and Parrinello, Phys. Rev. Lett. 98, 146401, 2007; eq. 2).3G (
generation=3): a second set of element networks gives environment-dependent atomic charges, whose electrostatic energy is added to the short-range one (Artrith, Morawietz and Behler, Phys. Rev. B 83, 153101, 2011).4G (
generation=4): the networks give atomic electronegativities; the charges follow from a charge equilibration over the whole system with Gaussian charges and element hardnesses, so they respond to distant changes and to the total charge, and they enter the short-range networks as an extra input (Ko, Finkler, Goedecker and Behler, Nat. Commun. 12, 398, 2021; eqs. 1-9).
The descriptor is AtomCenteredSymmetryFunctions.
The conventions follow the RuNNer code, so that a RuNNer model (input.nn,
the weights and scaling files) loads into this class unchanged
(xnn.dnn.common.runner.load_runner_model()):
Charges are Gaussians of width
sigmaper element (zero: point charges), by default0.45times the covalent radius clamped to[0.25, 0.6]Angstrom (default_gaussian_widths()). The electrostatic energy is that of the Gaussian charges,sum_{i<j} q_i q_j erf(r_ij / (sqrt(2) gamma_ij)) / r_ij + sum_i q_i^2 / (2 sigma_i sqrt(pi)), Ewald-summed in a periodic cell.An optional screening cutoff
f_sremoves the electrostatics inside the short-range sphere: the pair terms within its radius are multiplied by1 - f_s(r)and the Gaussian self energies are dropped.3G charges are shifted uniformly to the total charge,
q_i - (sum_j q_j - Q) / N; the outputchargesare the shifted ones,charges_rawthe network outputs.4G hardnesses are element constants (the paper;
hardness="element",J = activation(p_Z)) or the outputs of element networks (hardness="network"). The electrostatic energy reported and added to the total is that of the Gaussian charges alone (the electronegativity and hardness terms only select the charges). The charge enters the short-range networks last, as(q - c_Z) s_Z.
Units are those of the data (xnn: Angstrom, eV, e). energy_scale,
chi_scale and hardness_scale multiply the raw network outputs (one for
models trained in xnn; the hartree for models read from RuNNer files), and
coulomb_constant is e^2 / (4 pi epsilon_0) in the energy and length
units.
Module Attributes
covalent radii in Angstrom (WebElements), indexed by atomic number; |
Functions
|
Gaussian charge widths in Angstrom: |
|
A generic symmetry-function set: radial and angular functions for every element. |
Classes