xnn.dnn.models.hdnnp.HDNNP#

class xnn.dnn.models.hdnnp.HDNNP(species, cutoff=6.0, etas=(0.05, 0.5, 2.0, 8.0), rs=(0.0,), hidden=(64, 64))[source]#

Bases: DescriptorPotential

High-Dimensional Neural Network Potential (Behler-Parrinello, 2007).

A thin DescriptorPotential whose featurizer is RadialSymmetryFunctions: per-element atomic networks on radial symmetry-function descriptors. Swapping the featurizer for an AEV yields ANI (see ani.py).

Parameters:
  • species (sequence of int) – Atomic numbers to build per-element networks for and to resolve the radial symmetry functions into.

  • cutoff (float, optional) – Cutoff radius for the radial symmetry functions, by default 6.0.

  • etas (sequence of float, optional) – Radial Gaussian width parameters, by default (0.05, 0.5, 2.0, 8.0).

  • rs (sequence of float, optional) – Radial shifts Rs, by default (0.0,).

  • hidden (sequence of int, optional) – Hidden-layer widths of each per-element MLP, by default (64, 64).

classmethod from_config(cfg)[source]#

Build an HDNNP from a configuration object.

Parameters:

cfg (object) – Configuration exposing cutoff and an optional extra mapping (with keys species, etas, rs and hidden); defaults are used for any missing entries.

Returns:

Instantiated model.

Return type:

HDNNP