Merge branch 'master' into test-updates
This commit is contained in:
@ -219,7 +219,7 @@ The force style test programs have a common set of options:
|
||||
- verbose output: also print the executed LAMMPS commands
|
||||
|
||||
The ``ctest`` tool has no mechanism to directly pass flags to the individual
|
||||
test programs, but a workaround has been implmented where these flags can be
|
||||
test programs, but a workaround has been implemented where these flags can be
|
||||
set in an environment variable ``TEST_ARGS``. Example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@ -183,6 +183,7 @@ OPT.
|
||||
* :doc:`mesont/tpm <pair_mesont_tpm>`
|
||||
* :doc:`mgpt <pair_mgpt>`
|
||||
* :doc:`mie/cut (g) <pair_mie>`
|
||||
* :doc:`mliap <pair_mliap>`
|
||||
* :doc:`mm3/switch3/coulgauss/long <pair_mm3_switch3_coulgauss_long>`
|
||||
* :doc:`momb <pair_momb>`
|
||||
* :doc:`morse (gkot) <pair_morse>`
|
||||
@ -228,7 +229,6 @@ OPT.
|
||||
* :doc:`smd/ulsph <pair_smd_ulsph>`
|
||||
* :doc:`smtbq <pair_smtbq>`
|
||||
* :doc:`snap (k) <pair_snap>`
|
||||
* :doc:`snap (k) <pair_snap>`
|
||||
* :doc:`soft (go) <pair_soft>`
|
||||
* :doc:`sph/heatconduction <pair_sph_heatconduction>`
|
||||
* :doc:`sph/idealgas <pair_sph_idealgas>`
|
||||
|
||||
@ -44,6 +44,7 @@ page gives those details.
|
||||
* :ref:`MC <PKG-MC>`
|
||||
* :ref:`MESSAGE <PKG-MESSAGE>`
|
||||
* :ref:`MISC <PKG-MISC>`
|
||||
* :ref:`MLIAP <PKG-MLIAP>`
|
||||
* :ref:`MOLECULE <PKG-MOLECULE>`
|
||||
* :ref:`MPIIO <PKG-MPIIO>`
|
||||
* :ref:`MSCG <PKG-MSCG>`
|
||||
@ -652,6 +653,29 @@ listing, "ls src/MISC", to see the list of commands.
|
||||
|
||||
----------
|
||||
|
||||
.. _PKG-MLIAP:
|
||||
|
||||
MLIAP package
|
||||
-------------
|
||||
|
||||
**Contents:**
|
||||
|
||||
A general interface for machine-learning interatomic potentials.
|
||||
|
||||
**Install:**
|
||||
|
||||
To use this package, also the :ref:`SNAP package<PKG-SNAP>` needs to be installed.
|
||||
|
||||
**Author:** Aidan Thompson (Sandia).
|
||||
|
||||
**Supporting info:**
|
||||
|
||||
* src/MLIAP: filenames -> commands
|
||||
* :doc:`pair_style mliap <pair_mliap>`
|
||||
* examples/mliap
|
||||
|
||||
----------
|
||||
|
||||
.. _PKG-MOLECULE:
|
||||
|
||||
MOLECULE package
|
||||
|
||||
@ -59,6 +59,8 @@ package:
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`MISC <PKG-MISC>` | miscellaneous single-file commands | n/a | no | no |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`MLIAP <PKG-MLIAP>` | multiple machine learning potentials | :doc:`pair_style mliap <pair_mliap>` | mliap | no |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`MOLECULE <PKG-MOLECULE>` | molecular system force fields | :doc:`Howto bioFF <Howto_bioFF>` | peptide | no |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`MPIIO <PKG-MPIIO>` | MPI parallel I/O dump and restart | :doc:`dump <dump>` | n/a | no |
|
||||
|
||||
@ -431,7 +431,6 @@ available at `arXiv:1409.3880 <http://arxiv.org/abs/1409.3880>`_
|
||||
|
||||
**(Varshalovich)** Varshalovich, Moskalev, Khersonskii, Quantum Theory
|
||||
of Angular Momentum, World Scientific, Singapore (1987).
|
||||
.. _Varshalovich1987:
|
||||
|
||||
.. _Mason2009:
|
||||
|
||||
|
||||
136
doc/src/pair_mliap.rst
Normal file
136
doc/src/pair_mliap.rst
Normal file
@ -0,0 +1,136 @@
|
||||
.. index:: pair_style mliap
|
||||
|
||||
pair_style mliap command
|
||||
========================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style mliap
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style mliap model linear InP.mliap.model descriptor sna InP.mliap.descriptor
|
||||
pair_style mliap model quadratic W.mliap.model descriptor sna W.mliap.descriptor
|
||||
pair_coeff * * In P
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Pair style *mliap* provides a general interface to families of
|
||||
machine-learning interatomic potentials. It provides separate
|
||||
definitions of the interatomic potential functional form (*model*)
|
||||
and the geometric quantities that characterize the atomic positions
|
||||
(*descriptor*). By defining *model* and *descriptor* separately,
|
||||
it is possible to use many different models with a given descriptor,
|
||||
or many different descriptors with a given model. Currently, the pair_style
|
||||
supports just two models, *linear* and *quadratic*,
|
||||
and one descriptor, *sna*, the SNAP descriptor used by :doc:`pair_style snap <pair_snap>`, including the linear, quadratic,
|
||||
and chem variants. Work is currently underway to extend
|
||||
the interface to handle neural network energy models,
|
||||
and it is also straightforward to add new descriptor styles.
|
||||
|
||||
The pair_style *mliap* command must be followed by two keywords
|
||||
*model* and *descriptor* in either order. A single
|
||||
*pair_coeff* command is also required. The first 2 arguments
|
||||
must be \* \* so as to span all LAMMPS atom types.
|
||||
This is followed by a list of N arguments
|
||||
that specify the mapping of MLIAP
|
||||
element names to LAMMPS atom types,
|
||||
where N is the number of LAMMPS atom types.
|
||||
|
||||
The *model* keyword is followed by a model style, currently limited to
|
||||
either *linear* or *quadratic*. In both cases,
|
||||
this is followed by a single argument specifying the model filename containing the
|
||||
linear or quadratic coefficients for a set of elements.
|
||||
The model filename usually ends in the *.mliap.model* extension.
|
||||
It may contain coefficients for many elements. The only requirement is that it
|
||||
contain at least those element names appearing in the
|
||||
*pair_coeff* command.
|
||||
|
||||
The top of the model file can contain any number of blank and comment lines (start with #),
|
||||
but follows a strict format after that. The first non-blank non-comment
|
||||
line must contain two integers:
|
||||
|
||||
* nelems = Number of elements
|
||||
* ncoeff = Number of coefficients
|
||||
|
||||
This is followed by one block for each of the *nelem* elements.
|
||||
Each block consists of *ncoeff* coefficients, one per line.
|
||||
Note that this format is similar, but not identical to that used
|
||||
for the :doc:`pair_style snap <pair_snap>` coefficient file.
|
||||
Specifically, the line containing the element weight and radius is omitted,
|
||||
since these are handled by the *descriptor*.
|
||||
|
||||
The *descriptor* keyword is followed by a descriptor style, and additional arguments.
|
||||
Currently the only descriptor style is *sna*, indicating the bispectrum component
|
||||
descriptors used by the Spectral Neighbor Analysis Potential (SNAP) potentials of
|
||||
:doc:`pair_style snap <pair_snap>`.
|
||||
The \'p\' in SNAP is dropped, because keywords that match pair_styles are silently stripped
|
||||
out by the LAMMPS command parser. A single additional argument specifies the descriptor filename
|
||||
containing the parameters and setting used by the SNAP descriptor.
|
||||
The descriptor filename usually ends in the *.mliap.descriptor* extension.
|
||||
|
||||
The SNAP descriptor file closely follows the format of the
|
||||
:doc:`pair_style snap <pair_snap>` parameter file.
|
||||
The file can contain blank and comment lines (start
|
||||
with #) anywhere. Each non-blank non-comment line must contain one
|
||||
keyword/value pair. The required keywords are *rcutfac* and
|
||||
*twojmax*\ . There are many optional keywords that are described
|
||||
on the :doc:`pair_style snap <pair_snap>` doc page.
|
||||
In addition, the SNAP descriptor file must contain
|
||||
the *nelems*, *elems*, *radelems*, and *welems* keywords.
|
||||
The *nelems* keyword specifies the number of elements
|
||||
provided in the other three keywords.
|
||||
The *elems* keyword is followed by a list of *nelems*
|
||||
element names that must include the element
|
||||
names appearing in the *pair_coeff* command,
|
||||
but can contain other names too.
|
||||
Similarly, the *radelems* and *welems* keywords are
|
||||
followed by lists of *nelems* numbers giving the element radius
|
||||
and element weight of each element. Obviously, the order
|
||||
in which the elements are listed must be consistent for all
|
||||
three keywords.
|
||||
|
||||
See the :doc:`pair_coeff <pair_coeff>` doc page for alternate ways
|
||||
to specify the path for these *model* and *descriptor* files.
|
||||
|
||||
**Mixing, shift, table, tail correction, restart, rRESPA info**\ :
|
||||
|
||||
For atom type pairs I,J and I != J, where types I and J correspond to
|
||||
two different element types, mixing is performed by LAMMPS with
|
||||
user-specifiable parameters as described above. You never need to
|
||||
specify a pair_coeff command with I != J arguments for this style.
|
||||
|
||||
This pair style does not support the :doc:`pair_modify <pair_modify>`
|
||||
shift, table, and tail options.
|
||||
|
||||
This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you
|
||||
need to re-specify the pair_style and pair_coeff commands in an input
|
||||
script that reads a restart file.
|
||||
|
||||
This pair style can only be used via the *pair* keyword of the
|
||||
:doc:`run_style respa <run_style>` command. It does not support the
|
||||
*inner*\ , *middle*\ , *outer* keywords.
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This style is part of the MLIAP package. It is only enabled if LAMMPS
|
||||
was built with that package. In addition, building LAMMPS with the MLIAP package
|
||||
requires building LAMMPS with the SNAP package.
|
||||
See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_style snap <pair_snap>`,
|
||||
|
||||
**Default:** none
|
||||
@ -291,6 +291,7 @@ accelerated styles exist.
|
||||
* :doc:`smd/tri_surface <pair_smd_triangulated_surface>` -
|
||||
* :doc:`smd/ulsph <pair_smd_ulsph>` -
|
||||
* :doc:`smtbq <pair_smtbq>` -
|
||||
* :doc:`mliap <pair_mliap>` - Multiple styles of machine-learning potential
|
||||
* :doc:`snap <pair_snap>` - SNAP quantum-accurate potential
|
||||
* :doc:`soft <pair_soft>` - Soft (cosine) potential
|
||||
* :doc:`sph/heatconduction <pair_sph_heatconduction>` -
|
||||
|
||||
Reference in New Issue
Block a user