diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 910dccbb8a..976e6e723d 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -43,6 +43,7 @@ This is the list of packages that may require additional steps. * :ref:`KIM ` * :ref:`KOKKOS ` * :ref:`LATTE ` + * :ref:`LEPTON ` * :ref:`MACHDYN ` * :ref:`MDI ` * :ref:`MESONT ` @@ -873,6 +874,50 @@ library. ---------- +.. _lepton: + +LEPTON package +-------------- + +To build with this package, you must build the Lepton library which is +included in the LAMMPS source distribution in the ``lib/lepton`` folder. + +.. tabs:: + + .. tab:: CMake build + + This is the recommended build procedure for using Lepton in + LAMMPS. No additional settings are normally needed besides + ``-D PKG_LEPTON=yes``. + + .. tab:: Traditional make + + Before building LAMMPS, one must build the Lepton library in lib/lepton. + + This can be done manually in the same folder by using or adapting + one of the provided Makefiles: for example, ``Makefile.serial`` for + the GNU C++ compiler, or ``Makefile.mpi`` for the MPI compiler wrapper. + The Lepton library is written in C++-11 and thus the C++ compiler + may need to be instructed to enable support for that. + + In general, it is safer to use build setting consistent with the + rest of LAMMPS. This is best carried out from the LAMMPS src + directory using a command like these, which simply invokes the + ``lib/lepton/Install.py`` script with the specified args: + + .. code-block:: bash + + $ make lib-lepton # print help message + $ make lib-lepton args="-m serial" # build with GNU g++ compiler (settings as with "make serial") + $ make lib-lepton args="-m mpi" # build with default MPI compiler (settings as with "make mpi") + + The "machine" argument of the "-m" flag is used to find a + Makefile.machine to use as build recipe. + + The build should produce a ``build`` folder and the library ``lib/lepton/liblmplepton.a`` + +---------- + .. _mliap: ML-IAP package diff --git a/doc/src/Commands_bond.rst b/doc/src/Commands_bond.rst index ac2d5882fb..f5e5edcc5a 100644 --- a/doc/src/Commands_bond.rst +++ b/doc/src/Commands_bond.rst @@ -44,6 +44,7 @@ OPT. * :doc:`harmonic (iko) ` * :doc:`harmonic/shift (o) ` * :doc:`harmonic/shift/cut (o) ` + * :doc:`lepton (o) ` * :doc:`mesocnt ` * :doc:`mm3 ` * :doc:`morse (o) ` diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index c6d54f0683..8a5f05d095 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -134,6 +134,7 @@ OPT. * :doc:`lcbop ` * :doc:`lebedeva/z ` * :doc:`lennard/mdf ` + * :doc:`lepton (o) ` * :doc:`line/lj ` * :doc:`lj/charmm/coul/charmm (giko) ` * :doc:`lj/charmm/coul/charmm/implicit (ko) ` diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 74ddb066c6..96ab174a10 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -68,6 +68,7 @@ page gives those details. * :ref:`KSPACE ` * :ref:`LATBOLTZ ` * :ref:`LATTE ` + * :ref:`LEPTON ` * :ref:`MACHDYN ` * :ref:`MANIFOLD ` * :ref:`MANYBODY ` @@ -1384,6 +1385,43 @@ This package has :ref:`specific installation instructions ` on the :doc:` ---------- +.. _PKG-LEPTON: + +LEPTON package +-------------- + +**Contents:** + +Styles for pair, bond forces that evaluate the potential function from a +string using the `Lepton mathematical expression parser +`_. Lepton is a C++ library that is +bundled with `OpenMM `_ and can be used for +parsing, evaluating, differentiating, and analyzing mathematical +expressions. This is a more lightweight and efficient alternative +for evaluating custom potential function to an embedded Python +interpreter as used in the :ref:`PYTHON package `. +On the other hand, since the potentials are evaluated form analytical +expressions, they are more accurate than what can be done with +:ref:`tabulated potentials `. Using the runtime evaluation +comes with a significant increase in runtime. + +**Authors:** Axel Kohlmeyer (Temple U). Lepton itself is developed +by Peter Eastman at Stanford University. + +**Install:** + +This package has :ref:`specific installation instructions ` on +the :doc:`Build extras ` page. + +**Supporting info:** + +* src/LEPTON: filenames -> commands +* lib/lepton/README.md +* :doc:`pair_style lepton ` +* :doc:`bond_style lepton ` + +---------- + .. _PKG-MACHDYN: MACHDYN package diff --git a/doc/src/Packages_list.rst b/doc/src/Packages_list.rst index ac0ba7728e..b1483bd954 100644 --- a/doc/src/Packages_list.rst +++ b/doc/src/Packages_list.rst @@ -238,6 +238,11 @@ whether an extra library is needed to build and use the package: - :doc:`fix latte ` - latte - ext + * - :ref:`LEPTON ` + - evaluate strings as potential function + - :doc:`pair_style lepton ` + - PACKAGES/lepton + - int * - :ref:`MACHDYN ` - smoothed Mach dynamics - `SMD User Guide `_ diff --git a/doc/src/bond_style.rst b/doc/src/bond_style.rst index 9197e6c4eb..23b89d00a2 100644 --- a/doc/src/bond_style.rst +++ b/doc/src/bond_style.rst @@ -10,7 +10,7 @@ Syntax bond_style style args -* style = *none* or *zero* or *hybrid* or *bpm/rotational* or *bpm/spring* or *class2* or *fene* or *fene/expand* or *fene/nm* or *gaussian* or *gromos* or *harmonic* or *harmonic/shift* or *harmonic/shift/cut* or *morse* or *nonlinear* or *oxdna/fene* or *oxdena2/fene* or *oxrna2/fene* or *quartic* or *special* or *table* +* style = *none* or *zero* or *hybrid* or *bpm/rotational* or *bpm/spring* or *class2* or *fene* or *fene/expand* or *fene/nm* or *gaussian* or *gromos* or *harmonic* or *harmonic/shift* or *harmonic/shift/cut* or *lepton* or *morse* or *nonlinear* or *oxdna/fene* or *oxdena2/fene* or *oxrna2/fene* or *quartic* or *special* or *table* * args = none for any style except *hybrid* @@ -95,6 +95,7 @@ accelerated styles exist. * :doc:`harmonic ` - harmonic bond * :doc:`harmonic/shift ` - shifted harmonic bond * :doc:`harmonic/shift/cut ` - shifted harmonic bond with a cutoff +* :doc:`lepton ` - bond potential from evaluating a string * :doc:`mesocnt ` - Harmonic bond wrapper with parameterization presets for nanotubes * :doc:`mm3 ` - MM3 anharmonic bond * :doc:`morse ` - Morse bond diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 48daf34f17..ac8888f8ad 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -212,6 +212,7 @@ accelerated styles exist. * :doc:`lcbop ` - long-range bond-order potential (LCBOP) * :doc:`lebedeva/z ` - Lebedeva interlayer potential for graphene with normals along z-axis * :doc:`lennard/mdf ` - LJ potential in A/B form with a taper function +* :doc:`lepton ` - pair potential from evaluating a string * :doc:`line/lj ` - LJ potential between line segments * :doc:`list ` - potential between pairs of atoms explicitly listed in an input file * :doc:`lj/charmm/coul/charmm ` - CHARMM potential with cutoff Coulomb diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 7cb409d040..c879bdb244 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -553,6 +553,7 @@ corotate corotation corotational correlator +Cosecant cosineshifted cossq costheta @@ -585,6 +586,7 @@ Crozier Cryst Crystallogr Csanyi +csc csg csh cshrc @@ -3274,6 +3276,7 @@ Simul simulations Sinkovits Sinnott +sinh sinusoid sinusoidally SiO