diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 5ef29fbca1..8b11ede347 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -37,6 +37,7 @@ This is the list of packages that may require additional steps. * :ref:`KOKKOS ` * :ref:`LATTE ` * :ref:`MESSAGE ` + * :ref:`MLIAP ` * :ref:`MSCG ` * :ref:`OPT ` * :ref:`POEMS ` @@ -732,6 +733,40 @@ be installed on your system. ---------- +.. _mliap: + +MLIAP package +--------------------------- + +Building the MLIAP package requires also enabling the SNAP package. +There will be an error message if this requirement is not satisfied. +Using the *mliappy* model also requires enabling the PYTHON package +**and** requires you have the `cython `_ software +installed and a working ``cythonize`` command. This requires Python +version 3.6 or later. + +.. tabs:: + + .. tab:: CMake build + + .. code-block:: bash + + -D MLIAP_ENABLE_PYTHON=value # enable mliappy model (default is autodetect) + + Without this setting, CMake will check whether it can find a + suitable Python version and the ``cythonize`` command and choose + the default accordingly. + + .. tab:: Traditional make + + The build uses the ``lib/python/Makefile.mliap_python`` file in the + compile/link process to add a rule to update the files generated by + the ``cythonize`` command in case the corresponding .pyx file was + modified. You may need to need to modify ``lib/python/Makefile.lammps`` + if the LAMMPS build fails. + +---------- + .. _mscg: MSCG package diff --git a/doc/src/compute_mliap.rst b/doc/src/compute_mliap.rst index 66bf868e0d..579086ad4a 100644 --- a/doc/src/compute_mliap.rst +++ b/doc/src/compute_mliap.rst @@ -56,14 +56,14 @@ and it is also straightforward to add new descriptor styles. The compute *mliap* command must be followed by two keywords *model* and *descriptor* in either order. -The *model* keyword is followed by the model style (*linear*, *quadratic* or *mliappy*). +The *model* keyword is followed by the model style (*linear*, *quadratic* or *mliappy*). The *mliappy* model is only available if lammps is built with MLIAPPY package. The *descriptor* keyword is followed by a descriptor style, and additional arguments. -The compute currently supports just one descriptor style, but it is +The compute currently supports just one descriptor style, but it is is straightforward to add new descriptor styles. -The SNAP descriptor style *sna* is the same as that used by :doc:`pair_style snap `, +The SNAP descriptor style *sna* is the same as that used by :doc:`pair_style snap `, including the linear, quadratic, and chem variants. A single additional argument specifies the descriptor filename containing the parameters and setting used by the SNAP descriptor. diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 4c1845d514..9dd8c5c6b1 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -41,9 +41,9 @@ 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. The -pair style currently supports just one descriptor style, but it is +pair style currently supports just one descriptor style, but it is is straightforward to add new descriptor styles. -The SNAP descriptor style *sna* is the same as that used by :doc:`pair_style snap `, +The SNAP descriptor style *sna* is the same as that used by :doc:`pair_style snap `, including the linear, quadratic, and chem variants. The available models are *linear*, *quadratic*, and *mliappy*. The *mliappy* style can be used to couple python models, @@ -62,7 +62,7 @@ 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 the model style. This is followed +The *model* keyword is followed by the model style. This is followed by a single argument specifying the model filename containing the parameters for a set of elements. The model filename usually ends in the *.mliap.model* extension.