PANNA-Charges module demonstrates how to train a neural network to predict local atomic charges. This network can later be used to calculate the electrostatic energy density of a crystal. See Reference  for the theoretical model behind this approach.
PANNA-Charges, following other modules within the PANNA project , uses TensorFlow framework.
PANNA-Charge supports periodic and aperiodic structures, multiple species, and a different all-to-all connected network architecture for each species. It further supports controlling the training dynamics: eg. freeze/unfreeze layers, weight transfer, decaying learning rates etc.
A stable version of the module can will be released in the near future, and will be available for download using the download button on this page
As a python module PANNA-Charges does not require installation but it relies on numpy library version >= 1.15.0, tensorflow version >= 1.13.0, and tensorboard version >= 1.13.0. Note that with version 2.0.0, tensorflow libraries went under substantial changes in structure, the 1.1X.X family supports the equally valid previous structure and is still being maintained. PANNA-TRAIN requires tensorflow 1.1X.X family of versions.
In order to set up and test the module, run the following:
$ tar -zxvf panna-master.tar.gz $ cd panna-master $ python3 ./panna/test-charges-train.py
PANNA-Charges main script, charges_train.py, requires a configuration file that specifies the parameter of the calculation such as number of layers and nodes of each neural network layer, learning parameter etc. A typical command for using this module is as follows:
$ export PYTHONPATH=/path/to/panna/directory/panna $ python3 charges_train.py --config charges_train_config.ini
A detailed tutorial about the contents of the configuration file will be released here.
In this comprehensive tutorial, a neural network training scenario for systems with long range interactions will be demonstrated.
PANNA-Charges source is not currently public, when it is released it will be hosted on GitLab.
The PANNA-Charges module is developed with the contributions of Y. Shaidu, R. Lot, F. Pellegrini, E. Kucukbenli.
|||R. Lot, Y. Shaidu, F. Pellegrini, E. Kucukbenli. arxiv:1907.03055. Submitted (2019).|
|||N. Artrith, T. Morawietz, J. Behler. PRB 83, 153101 (2011). High-dimensional neural-network potentials for multicomponent systems: Applications to zinc oxide. Erratum: PRB 86, 079914 (2012).|