Updated documentation, cleaned source
This commit is contained in:
@ -110,7 +110,7 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
||||
USER-LB USER-MANIFOLD USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF
|
||||
USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB
|
||||
USER-MOLFILE USER-NETCDF USER-NNP USER-PHONON USER-PLUMED USER-PTM USER-QTB
|
||||
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
||||
USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF)
|
||||
|
||||
|
||||
@ -8,8 +8,8 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
|
||||
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD
|
||||
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
|
||||
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
|
||||
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-NNP
|
||||
USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
|
||||
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ
|
||||
USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF)
|
||||
|
||||
|
||||
@ -10,8 +10,8 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
|
||||
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD
|
||||
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
|
||||
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
|
||||
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-NNP
|
||||
USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
|
||||
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ
|
||||
USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF)
|
||||
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MPIIO MSCG PYTHON
|
||||
VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-LB
|
||||
USER-MOLFILE USER-MESONT USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP
|
||||
USER-SCAFACOS USER-SMD USER-VTK)
|
||||
USER-MOLFILE USER-MESONT USER-NETCDF USER-NNP USER-PLUMED USER-QMMM
|
||||
USER-QUIP USER-SCAFACOS USER-SMD USER-VTK)
|
||||
|
||||
foreach(PKG ${PACKAGES_WITH_LIB})
|
||||
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
||||
|
||||
@ -30,17 +30,17 @@ steps, as explained on the :doc:`Build extras <Build_extras>` page.
|
||||
These links take you to the extra instructions for those select
|
||||
packages:
|
||||
|
||||
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`COMPRESS <compress>` | :ref:`GPU <gpu>` | :ref:`KIM <kim>` | :ref:`KOKKOS <kokkos>` | :ref:`LATTE <latte>` | :ref:`MESSAGE <message>` |
|
||||
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`MSCG <mscg>` | :ref:`OPT <opt>` | :ref:`POEMS <poems>` | :ref:`PYTHON <python>` | :ref:`VORONOI <voronoi>` | :ref:`USER-ADIOS <user-adios>` |
|
||||
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`USER-ATC <user-atc>` | :ref:`USER-AWPMD <user-awpmd>` | :ref:`USER-COLVARS <user-colvars>` | :ref:`USER-H5MD <user-h5md>` | :ref:`USER-INTEL <user-intel>` | :ref:`USER-MOLFILE <user-molfile>` |
|
||||
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`USER-NETCDF <user-netcdf>` | :ref:`USER-PLUMED <user-plumed>` | :ref:`USER-OMP <user-omp>` | :ref:`USER-QMMM <user-qmmm>` | :ref:`USER-QUIP <user-quip>` | :ref:`USER-SCAFACOS <user-scafacos>` |
|
||||
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`USER-SMD <user-smd>` | :ref:`USER-VTK <user-vtk>` | | | | |
|
||||
+----------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
+--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`COMPRESS <compress>` | :ref:`GPU <gpu>` | :ref:`KIM <kim>` | :ref:`KOKKOS <kokkos>` | :ref:`LATTE <latte>` | :ref:`MESSAGE <message>` |
|
||||
+--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`MSCG <mscg>` | :ref:`OPT <opt>` | :ref:`POEMS <poems>` | :ref:`PYTHON <python>` | :ref:`VORONOI <voronoi>` | :ref:`USER-ADIOS <user-adios>` |
|
||||
+--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`USER-ATC <user-atc>` | :ref:`USER-AWPMD <user-awpmd>` | :ref:`USER-COLVARS <user-colvars>` | :ref:`USER-H5MD <user-h5md>` | :ref:`USER-INTEL <user-intel>` | :ref:`USER-MOLFILE <user-molfile>` |
|
||||
+--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`USER-NETCDF <user-netcdf>` | :ref:`USER-NNP <user-nnp>` | :ref:`USER-PLUMED <user-plumed>` | :ref:`USER-OMP <user-omp>` | :ref:`USER-QMMM <user-qmmm>` | :ref:`USER-QUIP <user-quip>` |
|
||||
+--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`USER-SCAFACOS <user-scafacos>` | :ref:`USER-SMD <user-smd>` | :ref:`USER-VTK <user-vtk>` | | | |
|
||||
+--------------------------------------+----------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
|
||||
The mechanism for including packages is simple but different for CMake
|
||||
versus make.
|
||||
|
||||
@ -46,13 +46,21 @@ Description
|
||||
"""""""""""
|
||||
|
||||
This pair style adds an interaction based on the high-dimensional neural network
|
||||
potential method [1]_. These potentials must be carefully trained to reproduce
|
||||
the potential energy surface in the desired phase-space region prior to their
|
||||
usage in an MD simulation. This pair style uses an interface to the NNP library
|
||||
[2]_ [3]_, see the documentation there for more information.
|
||||
potential (HDNNP) method as presented in :ref:`(Behler and Parrinello 2007)
|
||||
<Behler_Parrinello_2007>`. HDNNPs are machine learning potentials which require
|
||||
careful training of neural networks prior to application in MD simulations. The
|
||||
pair style uses an interface to the *n2p2* library :ref:`(Singraber et al 2019)
|
||||
<Singraber_et_al_2019>` which is available on Github `here
|
||||
<https://github.com/CompPhysVienna/n2p2>`__. Please see the *n2p2*
|
||||
`documentation <https://compphysvienna.github.io/n2p2/>`__ for further details.
|
||||
*n2p2* (and hence this pair style) is compatible with neural network potentials
|
||||
trained with its own tools and with `RuNNer
|
||||
<https://www.uni-goettingen.de/de/560580.html>`__. However, at this point only
|
||||
short-range HDNNPs are supported.
|
||||
|
||||
The maximum cutoff radius of all symmetry functions is the only argument of the
|
||||
*pair_coeff* command which should be invoked with asterisk wild-cards only:
|
||||
The maximum cutoff radius of all symmetry functions (the atomic environment
|
||||
descriptors of HDNNPs) is the only argument of the *pair_coeff* command which
|
||||
should be invoked with asterisk wild-cards only:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
@ -211,12 +219,16 @@ present elements (see above).
|
||||
|
||||
----
|
||||
|
||||
.. [1] Behler, J.; Parrinello, M. Generalized Neural-Network Representation of
|
||||
High-Dimensional Potential-Energy Surfaces. Phys. Rev. Lett. 2007, 98 (14),
|
||||
146401. https://doi.org/10.1103/PhysRevLett.98.146401
|
||||
.. _Behler_Parrinello_2007:
|
||||
|
||||
.. [2] https://github.com/CompPhysVienna/n2p2
|
||||
**(Behler and Parrinello 2007)** Behler, J.; Parrinello, M. Generalized
|
||||
Neural-Network Representation of High-Dimensional Potential-Energy Surfaces.
|
||||
Phys. Rev. Lett. 2007, 98 (14), 146401.
|
||||
https://doi.org/10.1103/PhysRevLett.98.146401
|
||||
|
||||
.. [3] Singraber, A.; Morawietz, T.; Behler, J.; Dellago, C. Parallel
|
||||
Multistream Training of High-Dimensional Neural Network Potentials. J. Chem.
|
||||
Theory Comput. 2019, 15 (5), 3075–3092. https://doi.org/10.1021/acs.jctc.8b01092
|
||||
.. _Singraber_et_al_2019:
|
||||
|
||||
**(Singraber et al 2019)** 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.
|
||||
https://doi.org/10.1021/acs.jctc.8b00770.
|
||||
|
||||
@ -253,46 +253,9 @@ void PairNNP::init_style()
|
||||
|
||||
double PairNNP::init_one(int i, int j)
|
||||
{
|
||||
// TODO: Check how this actually works for different cutoffs.
|
||||
return maxCutoffRadius;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairNNP::write_restart(FILE *fp)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairNNP::read_restart(FILE *fp)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 writes to restart file
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairNNP::write_restart_settings(FILE *fp)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
proc 0 reads from restart file, bcasts
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void PairNNP::read_restart_settings(FILE *fp)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
allocate all arrays
|
||||
------------------------------------------------------------------------- */
|
||||
@ -333,7 +296,6 @@ void PairNNP::transferNeighborList()
|
||||
void PairNNP::handleExtrapolationWarnings()
|
||||
{
|
||||
// Get number of extrapolation warnings for local atoms.
|
||||
// TODO: Is the conversion from std::size_t to long ok?
|
||||
long numCurrentEW = (long)interface->getNumExtrapolationWarnings();
|
||||
|
||||
// Update (or set, resetew == true) total warnings counter.
|
||||
|
||||
@ -42,10 +42,6 @@ class PairNNP : public Pair {
|
||||
virtual void coeff(int, char **);
|
||||
virtual void init_style();
|
||||
virtual double init_one(int, int);
|
||||
virtual void write_restart(FILE *);
|
||||
virtual void read_restart(FILE *);
|
||||
virtual void write_restart_settings(FILE *);
|
||||
virtual void read_restart_settings(FILE *);
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user