n2p2 - Polynomial Symmetry Functions¶
This module introduces a new set of atomic environment descriptors for high-dimensional neural network potentials (HDNNPs) in n2p2. Polynomial symmetry functions  are designed to mimic closely the behavior of traditional Behler-Parrinello symmetry functions  but with a significantly reduced computational cost.
The symmetry functions proposed in the original work of Behler and Parrinello  contain expressions of the form in the innermost loop over all neighbors of atoms. Often the cutoff function is chosen to be a cosine or hyperbolic tangent. Considering the computational cost of these transcendental functions an alternative formulation of symmetry functions based on polynomials like
has been published recently . Here, cheap polynomials are combined to form compact functions in the radial and angular domain which mimic the behavior of Behler-Parrinello type symmetry functions at a significantly reduced execution time. The benefits, benchmarks and many example applications are presented in great detail in .
This module’s changes to the n2p2 code comprise of new classes for different types of polynomial symmetry functions (PSFs), some helper classes and a redesign of the symmetry function caching mechanism:
CompactFunctionallow unified access to the compact function building blocks of PSFs.
Six different types of PSFs were implemented in these classes:
Angwindicate radial and angular symmetry functions variants, respectively. The suffix
Weightedrefers to an element weighting proposed in . For each new class in this list also a symmetry function group  version was implemented, following the same naming scheme prefixed with
SymGrp. See also this section of the n2p2 documentation for a more detailed description of the PSFs and their parameters.
The computation of a set of descriptors allows the reuse of intermediate results across multiple symmetry functions with varying parameters. The previously existing cutoff function caching  of n2p2 was significantly improved. By overriding the
getCacheIdentifiers()member function each
SymFnc..class can provide identifier strings for required cache fields. The
Mode::setupSymmetryFunctionCache()function collects the requirements of all symmetry functions and assigns cache positions in the
This module is based on n2p2, a C++ code for generation and application of neural network potentials used in molecular dynamics simulations. The source code and documentation are located here:
The code changes from this module are already merged with the main repository of n2p2 (see pull request).
Because the introduction of a new set of symmetry function enhances the core
library of n2p2 several applications shipped with n2p2 will be affected by
the changes. The easiest way to test the new functionality is to run the examples
provided in these
examples/nnp-predict/ folders which make use of PSFs:
First, since the changes from this module are already merged with the main
repository of n2p2 (see pull request) it is sufficient to
download the latest version. Then,
nnp-predict tool by running
make nnp-predict -j
src directory. Next, switch to one of the above example directories
and run the prediction tool:
SETUP: SYMMETRY FUNCTIONS section of the output there should be
symmetry functions with type (column
tp) between 20 and 25 which identifies
of PSFs. In addition, the section
SETUP: SYMMETRY FUNCTION CACHE contains an
overview of the cache usage.
Regression testing is implemented in n2p2 and automatically performed upon submission of a pull request via Travis CI. The log file showing the successful pass of all tests for the specific pull request can be found here. The tests include the above prediction examples and also perform a comparison of analytic and numeric derivatives of symmetry functions.
|||(1, 2, 3) Bircher, M. P.; Singraber, A.; Dellago, C. Improved Description of Atomic Environments Using Low-Cost Polynomial Functions with Compact Support. arXiv:2010.14414 [cond-mat, physics:physics] 2020.|
|||(1, 2) Behler, J. Atom-Centered Symmetry Functions for Constructing High-Dimensional Neural Network Potentials. J. Chem. Phys. 2011, 134 (7), 074106.|
|||Gastegger, M.; Schwiedrzik, L.; Bittermann, M.; Berzsenyi, F.; Marquetand, P. WACSF—Weighted Atom-Centered Symmetry Functions as Descriptors in Machine Learning Potentials. J. Chem. Phys. 2018, 148 (24), 241709.|
|||(1, 2) Singraber, A.; Behler, J.; Dellago, C. Library-Based LAMMPS Implementation of High-Dimensional Neural Network Potentials. J. Chem. Theory Comput. 2019, 15 (3), 1827–1840.|