collapse multiple empty lines into a single empty line
This commit is contained in:
@ -8,7 +8,6 @@ for use with GNU make or gmake, or a build environment generated by CMake
|
||||
alternative you can download a package with pre-built executables
|
||||
as described on the :doc:`Install <Install>` doc page.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
@ -10,10 +10,8 @@ CMake and make:
|
||||
* :ref:`Build the LAMMPS documentation <doc>`
|
||||
* :ref:`Install LAMMPS after a build <install>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _serial:
|
||||
|
||||
Serial vs parallel build
|
||||
@ -57,7 +55,6 @@ The build with traditional makefiles has to be done inside the source folder `sr
|
||||
make serial # serial build, produces lmp_serial using Makefile/serial
|
||||
make mybox # uses Makefile.mybox to produce lmp_mybox
|
||||
|
||||
|
||||
Any "make machine" command will look up the make settings from a file
|
||||
Makefile.machine, create a folder Obj\_machine with all objects and
|
||||
generated files and an executable called *lmp\_machine*\ . The standard
|
||||
@ -154,10 +151,8 @@ while dropping all 'shared()' directives. The script
|
||||
'src/USER-OMP/hack\_openmp\_for\_pgi\_gcc9.sh' can be used to automate
|
||||
this conversion.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _compile:
|
||||
|
||||
Choice of compiler and compile/link options
|
||||
@ -204,7 +199,6 @@ for all the C++ files:
|
||||
-D CMAKE_C_FLAGS=string # flags to use with C compiler
|
||||
-D CMAKE_Fortran_FLAGS=string # flags to use with Fortran compiler
|
||||
|
||||
|
||||
A few example command lines are:
|
||||
|
||||
.. code-block:: bash
|
||||
@ -347,7 +341,6 @@ build may generate an error. This means you will need to install a
|
||||
shared library version of the auxiliary library. The build instructions
|
||||
for the library should tell you how to do this.
|
||||
|
||||
|
||||
As an example, here is how to build and install the `MPICH library
|
||||
<mpich_>`_, a popular open-source version of MPI, as a shared library
|
||||
in the default /usr/local/lib location:
|
||||
@ -377,7 +370,6 @@ recommended to ensure the integrity of the system software installation.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _doc:
|
||||
|
||||
Build the LAMMPS documentation
|
||||
@ -412,7 +404,6 @@ LAMMPS source distribution.
|
||||
make package_check # check for complete and consistent package lists
|
||||
make spelling # spell-check the manual
|
||||
|
||||
|
||||
Thus "make html" will create a "doc/html" directory with the HTML format
|
||||
manual pages so that you can browse them with a web browser locally on
|
||||
your system.
|
||||
@ -423,7 +414,6 @@ your system.
|
||||
current LAMMPS version (HTML and PDF files), from the website
|
||||
`download page <http://lammps.sandia.gov/download.html>`_.
|
||||
|
||||
|
||||
**CMake build option**\ :
|
||||
|
||||
It is also possible to create the HTML version of the manual within
|
||||
@ -436,10 +426,8 @@ the "install" step when installing LAMMPS after the CMake build via
|
||||
|
||||
-D BUILD_DOC=value # yes or no (default)
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _tools:
|
||||
|
||||
Build LAMMPS tools
|
||||
@ -450,7 +438,6 @@ using CMake or Make.
|
||||
|
||||
**CMake build3**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D BUILD_TOOLS=value # yes or no (default)
|
||||
@ -460,7 +447,6 @@ The generated binaries will also become part of the LAMMPS installation
|
||||
|
||||
**Traditional make**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd lammps/tools
|
||||
@ -470,10 +456,8 @@ The generated binaries will also become part of the LAMMPS installation
|
||||
make micelle2d # build only micelle2d tool
|
||||
make thermo_extract # build only thermo_extract tool
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _install:
|
||||
|
||||
Install LAMMPS after a build
|
||||
@ -487,7 +471,6 @@ you want to copy files to is protected.
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cmake -D CMAKE_INSTALL_PREFIX=path [options ...] ../cmake
|
||||
|
||||
@ -9,17 +9,14 @@ Richard Berger (Temple U) has also written a `more comprehensive guide <https://
|
||||
for how to use CMake to build LAMMPS. If you are new to CMake it is a
|
||||
good place to start.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Building LAMMPS with CMake is a two-step process. First you use CMake
|
||||
to create a build environment in a new directory. On Linux systems,
|
||||
this will be based on makefiles for use with make. Then you use the
|
||||
make command to build LAMMPS, which uses the created
|
||||
Makefile(s). Example:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd lammps # change to the LAMMPS distribution directory
|
||||
@ -51,7 +48,6 @@ even more.
|
||||
After compilation, you may optionally install the LAMMPS executable into
|
||||
your system with:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make install # optional, copy LAMMPS executable & library elsewhere
|
||||
@ -62,10 +58,8 @@ manpages, potential and force field files. The location of the installation
|
||||
tree is set by the CMake variable "CMAKE\_INSTALL\_PREFIX" which defaults
|
||||
to ${HOME}/.local
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
There are 3 variants of CMake: a command-line version (cmake), a text mode
|
||||
UI version (ccmake), and a graphical GUI version (cmake-GUI). You can use
|
||||
any of them interchangeably to configure and create the LAMMPS build
|
||||
@ -106,13 +100,10 @@ ccmake or cmake-gui) again from the same build directory and alter
|
||||
various options; see details below. Or you can remove the entire build
|
||||
folder, recreate the directory and start over.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Command-line version of CMake**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cmake [options ...] /path/to/lammps/cmake # build from any dir
|
||||
@ -124,7 +115,6 @@ cmake directory which contains the CMakeLists.txt file.
|
||||
The argument can be preceeded or followed by various CMake
|
||||
command-line options. Several useful ones are:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D CMAKE_INSTALL_PREFIX=path # where to install LAMMPS executable/lib if desired
|
||||
@ -168,13 +158,10 @@ In these cases it is usually better to first remove all the
|
||||
files/directories in the build directory, or start with a fresh build
|
||||
directory.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Curses version (terminal-style menu) of CMake**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
ccmake ../cmake
|
||||
@ -186,13 +173,10 @@ required to edit some of the entries of CMake configuration variables
|
||||
in between. Please see the `ccmake manual <https://cmake.org/cmake/help/latest/manual/ccmake.1.html>`_ for
|
||||
more information.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**GUI version of CMake**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cmake-gui ../cmake
|
||||
@ -205,15 +189,12 @@ edit some of the entries of CMake configuration variables in between.
|
||||
Please see the `cmake-gui manual <https://cmake.org/cmake/help/latest/manual/cmake-gui.1.html>`_
|
||||
for more information.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Installing CMake**
|
||||
|
||||
Check if your machine already has CMake installed:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
which cmake # do you have it?
|
||||
@ -223,7 +204,6 @@ Check if your machine already has CMake installed:
|
||||
On clusters or supercomputers which use environment modules to manage
|
||||
software packages, do this:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
module list # is a module for cmake already loaded?
|
||||
|
||||
@ -4,10 +4,8 @@ Development build options (CMake only)
|
||||
The CMake build of LAMMPS has a few extra options which are useful during
|
||||
development, testing or debugging.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _compilation:
|
||||
|
||||
Verify compilation flags
|
||||
@ -17,22 +15,18 @@ Sometimes it is necessary to verify the complete sequence of compilation flags
|
||||
generated by the CMake build. To enable a more verbose output during
|
||||
compilation you can use the following option.
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D CMAKE_VERBOSE_MAKEFILE=value # value = no (default) or yes
|
||||
|
||||
Another way of doing this without reconfiguration is calling make with variable VERBOSE set to 1:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make VERBOSE=1
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _sanitizer:
|
||||
|
||||
Address, Undefined Behavior, and Thread Sanitizer Support
|
||||
@ -47,17 +41,14 @@ The following settings allow you enable these features if your compiler supports
|
||||
it. Please note that they come with a performance hit. However, they are
|
||||
usually faster than using tools like Valgrind.
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D ENABLE_SANITIZE_ADDRESS=value # enable Address Sanitizer, value = no (default) or yes
|
||||
-D ENABLE_SANITIZE_UNDEFINED=value # enable Undefined Behaviour Sanitizer, value = no (default) or yes
|
||||
-D ENABLE_SANITIZE_THREAD=value # enable Thread Sanitizer, value = no (default) or yes
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _testing:
|
||||
|
||||
Code Coverage and Testing
|
||||
@ -71,7 +62,6 @@ developers can run the tests directly on their workstation.
|
||||
|
||||
this is incomplete and only represents a small subset of tests that we run
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D ENABLE_TESTING=value # enable simple run tests of LAMMPS, value = no (default) or yes
|
||||
@ -80,7 +70,6 @@ developers can run the tests directly on their workstation.
|
||||
|
||||
If you enable testing in the CMake build it will create an additional target called "test". You can run them with:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make test
|
||||
@ -92,14 +81,12 @@ faster.
|
||||
You can also collect code coverage metrics while running the tests by enabling
|
||||
coverage support during building.
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D ENABLE_COVERAGE=value # enable coverage measurements, value = no (default) or yes
|
||||
|
||||
This will also add the following targets to generate coverage reports after running the LAMMPS executable:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make test # run tests first!
|
||||
@ -108,7 +95,6 @@ This will also add the following targets to generate coverage reports after runn
|
||||
|
||||
These reports require GCOVR to be installed. The easiest way to do this to install it via pip:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install git+https://github.com/gcovr/gcovr.git
|
||||
|
||||
@ -4,7 +4,6 @@ Packages with extra build options
|
||||
When building with some packages, additional steps may be required,
|
||||
in addition to:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ cmake -D PKG_NAME=yes
|
||||
@ -57,7 +56,6 @@ This is the list of packages that may require additional steps.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _compress:
|
||||
|
||||
COMPRESS package
|
||||
@ -70,7 +68,6 @@ available on your system.
|
||||
|
||||
If CMake cannot find the library, you can set these variables:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D ZLIB_INCLUDE_DIR=path # path to zlib.h header file
|
||||
@ -82,10 +79,8 @@ If make cannot find the library, you can edit the file
|
||||
lib/compress/Makefile.lammps to specify the paths and library
|
||||
name.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _gpu:
|
||||
|
||||
GPU package
|
||||
@ -96,7 +91,6 @@ which GPU hardware to build for.
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D GPU_API=value # value = opencl (default) or cuda
|
||||
@ -146,7 +140,6 @@ You can also build the library in one step from the lammps/src dir,
|
||||
using a command like these, which simply invoke the lib/gpu/Install.py
|
||||
script with the specified args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-gpu # print help message
|
||||
@ -188,10 +181,8 @@ lib/gpu/Makefile.lammps may need to be edited.
|
||||
package uses the library settings from the lib/gpu/Makefile.machine
|
||||
used to build the GPU library.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _kim:
|
||||
|
||||
KIM package
|
||||
@ -214,7 +205,6 @@ minutes to hours) to build. Of course you only need to do that once.)
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D DOWNLOAD_KIM=value # download OpenKIM API v2 for build, value = no (default) or yes
|
||||
@ -251,7 +241,6 @@ follow the instructions in lib/kim/README. You can also do it in one
|
||||
step from the lammps/src dir, using a command like these, which simply
|
||||
invoke the lib/kim/Install.py script with the specified args.
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-kim # print help message
|
||||
@ -272,7 +261,6 @@ using. For example:
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _kokkos:
|
||||
|
||||
KOKKOS package
|
||||
@ -323,7 +311,6 @@ case-sensitive values, e.g. BDW, not bdw.
|
||||
|
||||
For multicore CPUs using OpenMP, set these 2 variables.
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D KOKKOS_ARCH=archCPU # archCPU = CPU from list above
|
||||
@ -331,7 +318,6 @@ For multicore CPUs using OpenMP, set these 2 variables.
|
||||
|
||||
For Intel KNLs using OpenMP, set these 2 variables:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D KOKKOS_ARCH=KNL
|
||||
@ -339,7 +325,6 @@ For Intel KNLs using OpenMP, set these 2 variables:
|
||||
|
||||
For NVIDIA GPUs using CUDA, set these 4 variables:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D KOKKOS_ARCH="archCPU;archGPU" # archCPU = CPU from list above that is hosting the GPU
|
||||
@ -352,7 +337,6 @@ The wrapper value is the Cuda nvcc compiler wrapper provided in the
|
||||
Kokkos library: lib/kokkos/bin/nvcc\_wrapper. The setting should
|
||||
include the full path name to the wrapper, e.g.
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D CMAKE_CXX_COMPILER=/home/username/lammps/lib/kokkos/bin/nvcc_wrapper
|
||||
@ -365,7 +349,6 @@ src/MAKE/OPTIONS/Makefile.kokkos\* files for examples.
|
||||
|
||||
For multicore CPUs using OpenMP:
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
KOKKOS_DEVICES = OpenMP
|
||||
@ -373,7 +356,6 @@ For multicore CPUs using OpenMP:
|
||||
|
||||
For Intel KNLs using OpenMP:
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
KOKKOS_DEVICES = OpenMP
|
||||
@ -381,7 +363,6 @@ For Intel KNLs using OpenMP:
|
||||
|
||||
For NVIDIA GPUs using CUDA:
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
KOKKOS_DEVICES = Cuda
|
||||
@ -396,17 +377,14 @@ The 2 lines define a nvcc wrapper compiler, which will use nvcc for
|
||||
compiling CUDA files and use a C++ compiler for non-Kokkos, non-CUDA
|
||||
files.
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd)
|
||||
export OMPI_CXX = $(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper
|
||||
CC = mpicxx
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _latte:
|
||||
|
||||
LATTE package
|
||||
@ -417,7 +395,6 @@ library.
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D DOWNLOAD_LATTE=value # download LATTE for build, value = no (default) or yes
|
||||
@ -437,7 +414,6 @@ one step from the lammps/src dir, using a command like these, which
|
||||
simply invokes the lib/latte/Install.py script with the specified
|
||||
args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-latte # print help message
|
||||
@ -452,10 +428,8 @@ dir. When LAMMPS itself is built it will use these links. You should
|
||||
also check that the Makefile.lammps file you create is appropriate for
|
||||
the compiler you use on your system to build LATTE.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _message:
|
||||
|
||||
MESSAGE package
|
||||
@ -467,7 +441,6 @@ be installed on your system.
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
|
||||
@ -482,7 +455,6 @@ follow the instructions in lib/message/README. You can also do it in
|
||||
one step from the lammps/src dir, using a command like these, which
|
||||
simply invoke the lib/message/Install.py script with the specified args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-message # print help message
|
||||
@ -494,10 +466,8 @@ and lib/message/Makefile.lammps. The latter is copied from an
|
||||
existing Makefile.lammps.\* and has settings to link with the ZeroMQ
|
||||
library if requested in the build.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _mscg:
|
||||
|
||||
MSCG package
|
||||
@ -511,7 +481,6 @@ lib/mscg/README and MSCG/Install files for more details.
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D DOWNLOAD_MSCG=value # download MSCG for build, value = no (default) or yes
|
||||
@ -532,7 +501,6 @@ follow the instructions in lib/mscg/README. You can also do it in one
|
||||
step from the lammps/src dir, using a command like these, which simply
|
||||
invoke the lib/mscg/Install.py script with the specified args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-mscg # print help message
|
||||
@ -547,10 +515,8 @@ be created in lib/mscg to point to the MS-CG src/installation dir.
|
||||
When LAMMPS is built in src it will use these links. You should not
|
||||
need to edit the lib/mscg/Makefile.lammps file.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _opt:
|
||||
|
||||
OPT package
|
||||
@ -567,10 +533,8 @@ package when using Intel compilers. It should be added to the CCFLAGS
|
||||
line of your Makefile.machine. See src/MAKE/OPTIONS/Makefile.opt for
|
||||
an example.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _poems:
|
||||
|
||||
POEMS package
|
||||
@ -588,7 +552,6 @@ lib/poems/README. You can also do it in one step from the lammps/src
|
||||
dir, using a command like these, which simply invoke the
|
||||
lib/poems/Install.py script with the specified args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-poems # print help message
|
||||
@ -604,10 +567,8 @@ necessary, you can edit/create a new lib/poems/Makefile.machine file
|
||||
for your system, which should define an EXTRAMAKE variable to specify
|
||||
a corresponding Makefile.lammps.machine file.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _python:
|
||||
|
||||
PYTHON package
|
||||
@ -620,7 +581,6 @@ lib/python/README for more details.
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D PYTHON_EXECUTABLE=path # path to Python executable to use
|
||||
@ -639,10 +599,8 @@ process to find Python. You should only need to create a new
|
||||
Makefile.lammps.\* file (and copy it to Makefile.lammps) if the LAMMPS
|
||||
build fails.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _voronoi:
|
||||
|
||||
VORONOI package
|
||||
@ -652,11 +610,8 @@ To build with this package, you must download and build the `Voro++ library <vor
|
||||
|
||||
.. _voro-home: http://math.lbl.gov/voro++
|
||||
|
||||
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D DOWNLOAD_VORO=value # download Voro++ for build, value = no (default) or yes
|
||||
@ -678,7 +633,6 @@ one step from the lammps/src dir, using a command like these, which
|
||||
simply invoke the lib/voronoi/Install.py script with the specified
|
||||
args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-voronoi # print help message
|
||||
@ -691,10 +645,8 @@ created in lib/voronoi to point to the Voro++ src dir. When LAMMPS
|
||||
builds in src it will use these links. You should not need to edit
|
||||
the lib/voronoi/Makefile.lammps file.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-adios:
|
||||
|
||||
USER-ADIOS package
|
||||
@ -709,7 +661,6 @@ installation and the instructions below are followed for the respective build sy
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D ADIOS2_DIR=path # path is where ADIOS 2.x is installed
|
||||
@ -719,22 +670,18 @@ installation and the instructions below are followed for the respective build sy
|
||||
|
||||
Turn on the USER-ADIOS package before building LAMMPS. If the ADIOS 2.x software is installed in PATH, there is nothing else to do:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make yes-user-adios
|
||||
|
||||
otherwise, set ADIOS2\_DIR environment variable when turning on the package:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ADIOS2_DIR=path make yes-user-adios # path is where ADIOS 2.x is installed
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-atc:
|
||||
|
||||
USER-ATC package
|
||||
@ -755,7 +702,6 @@ lib/atc/README. You can also do it in one step from the lammps/src
|
||||
dir, using a command like these, which simply invoke the
|
||||
lib/atc/Install.py script with the specified args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-atc # print help message
|
||||
@ -777,7 +723,6 @@ can either exist on your system, or you can use the files provided in
|
||||
lib/linalg. In the latter case you also need to build the library in
|
||||
lib/linalg with a command like these:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-linalg # print help message
|
||||
@ -785,10 +730,8 @@ lib/linalg with a command like these:
|
||||
$ make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
|
||||
$ make lib-linalg args="-m gfortran" # build with GNU Fortran compiler
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-awpmd:
|
||||
|
||||
USER-AWPMD package
|
||||
@ -806,7 +749,6 @@ lib/awpmd/README. You can also do it in one step from the lammps/src
|
||||
dir, using a command like these, which simply invoke the
|
||||
lib/awpmd/Install.py script with the specified args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-awpmd # print help message
|
||||
@ -828,7 +770,6 @@ these can either exist on your system, or you can use the files
|
||||
provided in lib/linalg. In the latter case you also need to build the
|
||||
library in lib/linalg with a command like these:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-linalg # print help message
|
||||
@ -836,10 +777,8 @@ library in lib/linalg with a command like these:
|
||||
$ make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
|
||||
$ make lib-linalg args="-m gfortran" # build with GNU Fortran compiler
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-colvars:
|
||||
|
||||
USER-COLVARS package
|
||||
@ -880,7 +819,6 @@ LAMMPS. This is best carried out from the LAMMPS src directory using a
|
||||
command like these, which simply invoke the lib/colvars/Install.py script with
|
||||
the specified args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-colvars # print help message
|
||||
@ -905,10 +843,8 @@ The build should produce two files: the library lib/colvars/libcolvars.a
|
||||
lib/colvars/Makefile.lammps. The latter is auto-generated, and normally does
|
||||
not need to be edited.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-plumed:
|
||||
|
||||
USER-PLUMED package
|
||||
@ -923,7 +859,6 @@ The USER-PLUMED package has been tested to work with Plumed versions
|
||||
2.4.x, 2.5.x, and 2.6.x and will error out, when trying to run calculations
|
||||
with a different version of the Plumed kernel.
|
||||
|
||||
|
||||
PLUMED can be linked into MD codes in three different modes: static,
|
||||
shared, and runtime. With the "static" mode, all the code that PLUMED
|
||||
requires is linked statically into LAMMPS. LAMMPS is then fully
|
||||
@ -959,7 +894,6 @@ must ensure that GSL is installed in locations that are specified in
|
||||
your environment. There are then two additional commands that control
|
||||
the manner in which PLUMED is obtained and linked into LAMMPS.
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D DOWNLOAD_PLUMED=value # download PLUMED for build, value = no (default) or yes
|
||||
@ -995,7 +929,6 @@ discussion of PLUMED linkage modes, please see above.
|
||||
Download/compilation/configuration of the plumed library can be done
|
||||
from the src folder through the following make args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-plumed # print help message
|
||||
@ -1011,7 +944,6 @@ suitable for LAMMPS to compile and link PLUMED using the desired linkage
|
||||
mode. After this step is completed, you can install the USER-PLUMED
|
||||
package and compile LAMMPS in the usual manner:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make yes-user-plumed
|
||||
@ -1031,10 +963,8 @@ lib-plumed" with the desired settings **and** do a re-install if the
|
||||
USER-PLUMED package with "make yes-user-plumed" to update the required
|
||||
makefile settings with the changes in the lib/plumed folder.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-h5md:
|
||||
|
||||
USER-H5MD package
|
||||
@ -1062,7 +992,6 @@ lib/h5md/README. You can also do it in one step from the lammps/src
|
||||
dir, using a command like these, which simply invoke the
|
||||
lib/h5md/Install.py script with the specified args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-h5md # print help message
|
||||
@ -1076,10 +1005,8 @@ lib/h5md/Makefile.machine file for your system, which should define an
|
||||
EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine
|
||||
file.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-intel:
|
||||
|
||||
USER-INTEL package
|
||||
@ -1093,7 +1020,6 @@ on the :doc:`Speed intel <Speed_intel>` doc page.
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D INTEL_ARCH=value # value = cpu (default) or knl
|
||||
@ -1120,7 +1046,6 @@ additional information.
|
||||
|
||||
For CPUs:
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high
|
||||
@ -1130,7 +1055,6 @@ For CPUs:
|
||||
|
||||
For KNLs:
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits
|
||||
@ -1138,10 +1062,8 @@ For KNLs:
|
||||
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
|
||||
LIB = -ltbbmalloc
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-molfile:
|
||||
|
||||
USER-MOLFILE package
|
||||
@ -1149,7 +1071,6 @@ USER-MOLFILE package
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D MOLFILE_INCLUDE_DIRS=path # (optional) path where VMD molfile plugin headers are installed
|
||||
@ -1176,10 +1097,8 @@ default headers, but these are not compatible with all VMD versions,
|
||||
so it is often best to change this setting to the location of the
|
||||
same include files of the local VMD installation in use.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-netcdf:
|
||||
|
||||
USER-NETCDF package
|
||||
@ -1205,10 +1124,8 @@ and library files which LAMMPS needs to build with this package. If
|
||||
the settings are not valid for your system, you will need to edit the
|
||||
Makefile.lammps file. See lib/netcdf/README for details.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-omp:
|
||||
|
||||
USER-OMP package
|
||||
@ -1227,7 +1144,6 @@ styles supporting OpenMP) the following compile and link flags must
|
||||
be added to your Makefile.machine file.
|
||||
See src/MAKE/OPTIONS/Makefile.omp for an example.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
CCFLAGS: -fopenmp # for GNU and Clang Compilers
|
||||
@ -1239,10 +1155,8 @@ For other platforms and compilers, please consult the documentation
|
||||
about OpenMP support for your compiler. Please see the note about
|
||||
how to address compatibility :ref:`issues with the 'default(none)' directive <default-none-issues>` of some compilers.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-qmmm:
|
||||
|
||||
USER-QMMM package
|
||||
@ -1282,7 +1196,6 @@ go back to the lib/qmmm folder and follow the instructions on the
|
||||
README file to build the combined LAMMPS/QE QM/MM executable
|
||||
(pwqmmm.x) in the lib/qmmm folder. You need to make certain, that
|
||||
|
||||
|
||||
**Traditional make**\ :
|
||||
|
||||
Before building LAMMPS, you must build the QMMM library in lib/qmmm.
|
||||
@ -1291,7 +1204,6 @@ explained in lib/qmmm/README. You can also do it in one step from the
|
||||
lammps/src dir, using a command like these, which simply invoke the
|
||||
lib/qmmm/Install.py script with the specified args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-qmmm # print help message
|
||||
@ -1316,7 +1228,6 @@ lib/qmmm folder.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-quip:
|
||||
|
||||
USER-QUIP package
|
||||
@ -1330,7 +1241,6 @@ lib/quip/README file for details on how to do this.
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location)
|
||||
@ -1349,10 +1259,8 @@ LAMMPS with this package. You should only need to edit
|
||||
Makefile.lammps if the LAMMPS build can not use its settings to
|
||||
successfully build on your system.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-scafacos:
|
||||
|
||||
USER-SCAFACOS package
|
||||
@ -1362,11 +1270,8 @@ To build with this package, you must download and build the `ScaFaCoS Coulomb so
|
||||
|
||||
.. _scafacos-home: http://www.scafacos.de
|
||||
|
||||
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D DOWNLOAD_SCAFACOS=value # download ScaFaCoS for build, value = no (default) or yes
|
||||
@ -1397,10 +1302,8 @@ created in lib/scafacos to point to the ScaFaCoS src dir. When LAMMPS
|
||||
builds in src it will use these links. You should not need to edit
|
||||
the lib/scafacos/Makefile.lammps file.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-smd:
|
||||
|
||||
USER-SMD package
|
||||
@ -1411,7 +1314,6 @@ Eigen3 is a template library, so you do not need to build it.
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D DOWNLOAD_EIGEN3 # download Eigen3, value = no (default) or yes
|
||||
@ -1429,7 +1331,6 @@ instructions in lib/smd/README. You can also do it in one step from
|
||||
the lammps/src dir, using a command like these, which simply invoke
|
||||
the lib/smd/Install.py script with the specified args:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-smd # print help message
|
||||
@ -1441,10 +1342,8 @@ lib/smd to point to the Eigen dir. When LAMMPS builds it will use
|
||||
this link. You should not need to edit the lib/smd/Makefile.lammps
|
||||
file.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _user-vtk:
|
||||
|
||||
USER-VTK package
|
||||
|
||||
@ -31,7 +31,6 @@ these 2 files:
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Link with LAMMPS as a static library**\ :
|
||||
|
||||
The calling application can link to LAMMPS as a static library with
|
||||
@ -54,7 +53,6 @@ link the coupled executable are then:
|
||||
mpicc -c -O $(pkgconf liblammps --cflags) caller.c
|
||||
mpicxx -o caller caller.o -$(pkgconf liblammps --libs)
|
||||
|
||||
|
||||
*Traditional make*\ :
|
||||
|
||||
This assumes that LAMMPS has been compiled in the folder
|
||||
@ -193,7 +191,6 @@ would add something like this to your ~/.profile file:
|
||||
For the csh or tcsh shells, you would equivalently add something like this
|
||||
to your ~/.cshrc file:
|
||||
|
||||
|
||||
.. code-block:: csh
|
||||
|
||||
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${HOME}/lammps/src
|
||||
@ -212,7 +209,6 @@ You can verify whether all required shared libraries are found with the
|
||||
libc.so.6 => /lib64/libc.so.6 (0x00007fc91b65b000)
|
||||
/lib64/ld-linux-x86-64.so.2 (0x00007fc91c094000)
|
||||
|
||||
|
||||
If a required library is missing, you would get a 'not found' entry:
|
||||
|
||||
.. code-block:: bash
|
||||
@ -226,10 +222,8 @@ If a required library is missing, you would get a 'not found' entry:
|
||||
libc.so.6 => /usr/lib64/libc.so.6 (0x00007fb7c7b5d000)
|
||||
/lib64/ld-linux-x86-64.so.2 (0x00007fb7c80a2000)
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Calling the LAMMPS library**\ :
|
||||
|
||||
Either flavor of library (static or shared) allows one or more LAMMPS
|
||||
|
||||
@ -73,7 +73,6 @@ in the LAMMPS distribution. Typing "make machine" uses
|
||||
use Makefile.serial and Makefile.mpi, respectively. Other makefiles
|
||||
are in these directories:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
OPTIONS # Makefiles which enable specific options
|
||||
@ -93,7 +92,6 @@ customized machine Makefile are contributed by users. Since both
|
||||
compilers, OS configurations, and LAMMPS itself keep changing, their
|
||||
settings may become outdated:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make mac # build serial LAMMPS on a Mac
|
||||
|
||||
@ -47,14 +47,12 @@ versus make.
|
||||
|
||||
**CMake build**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D PKG_NAME=value # yes or no (default)
|
||||
|
||||
Examples:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D PKG_MANYBODY=yes
|
||||
@ -76,7 +74,6 @@ once with CMake.
|
||||
|
||||
**Traditional make**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd lammps/src
|
||||
@ -87,7 +84,6 @@ once with CMake.
|
||||
|
||||
Examples:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make no-rigid
|
||||
@ -132,10 +128,8 @@ src directory.
|
||||
That is no longer the case, so that CMake will build as-is without the
|
||||
need to un-install those packages.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**CMake shortcuts for installing many packages**\ :
|
||||
|
||||
Instead of specifying all the CMake options via the command-line,
|
||||
@ -169,7 +163,6 @@ one of them as a starting point and customize it to your needs.
|
||||
|
||||
**Example:**
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# build LAMMPS with most commonly used packages, but then remove
|
||||
@ -186,10 +179,8 @@ one of them as a starting point and customize it to your needs.
|
||||
# but leaving all other settings untouched. You can run:
|
||||
cmake -C ../cmake/presets/no_all.cmake .
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Make shortcuts for installing many packages**\ :
|
||||
|
||||
The following commands are useful for managing package source files
|
||||
|
||||
@ -14,10 +14,8 @@ explain how to do this for building both with CMake and make.
|
||||
* :ref:`Workaround for long long integers <longlong>`
|
||||
* :ref:`Error handling exceptions <exceptions>` when using LAMMPS as a library
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _cxx11:
|
||||
|
||||
C++11 standard compliance
|
||||
@ -35,7 +33,6 @@ flags to enable C++11 compliance. Example for GNU c++ 4.8.x:
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _fft:
|
||||
|
||||
FFT library
|
||||
@ -49,7 +46,6 @@ LAMMPS can use them if they are available on your system.
|
||||
|
||||
**CMake variables**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D FFT=value # FFTW3 or MKL or KISS, default is FFTW3 if found, else KISS
|
||||
@ -69,7 +65,6 @@ OpenMP threads are enabled and a packages like KOKKOS or USER-OMP is
|
||||
used. If CMake cannot detect the FFT library, you can set these variables
|
||||
to assist:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D FFTW3_INCLUDE_DIRS=path # path to FFTW3 include files
|
||||
@ -81,7 +76,6 @@ to assist:
|
||||
|
||||
**Makefile.machine settings**\ :
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
FFT_INC = -DFFT_FFTW3 # -DFFT_FFTW3, -DFFT_FFTW (same as -DFFT_FFTW3), -DFFT_MKL, or -DFFT_KISS
|
||||
@ -93,7 +87,6 @@ to assist:
|
||||
|
||||
# default is FFT\_PACK\_ARRAY if not specified
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
FFT_INC = -I/usr/local/include
|
||||
@ -159,7 +152,6 @@ library a second time with support for single-precision.
|
||||
For FFTW3, do the following, which should produce the additional
|
||||
library libfftw3f.a or libfftw3f.so.
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make clean
|
||||
@ -172,10 +164,8 @@ Depending on the machine, the size of the FFT grid, the number of
|
||||
processors used, one option may be slightly faster. The default is
|
||||
ARRAY mode.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _size:
|
||||
|
||||
Size of LAMMPS data types
|
||||
@ -187,14 +177,12 @@ adequate.
|
||||
|
||||
**CMake variable**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D LAMMPS_SIZES=value # smallbig (default) or bigbig or smallsmall
|
||||
|
||||
**Makefile.machine setting**\ :
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_SMALLBIG # or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL
|
||||
@ -249,10 +237,8 @@ compiled with the same size setting, or the link will fail. A CMake
|
||||
build does this automatically. When building with make, the setting
|
||||
in whichever lib/gpu/Makefile is used must be the same as above.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _graphics:
|
||||
|
||||
Output of JPG, PNG, and movie files
|
||||
@ -265,7 +251,6 @@ following settings:
|
||||
|
||||
**CMake variables**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D WITH_JPEG=value # yes or no
|
||||
@ -279,7 +264,6 @@ Usually these settings are all that is needed. If CMake cannot find
|
||||
the graphics header, library, executable files, you can set these
|
||||
variables:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D JPEG_INCLUDE_DIR=path # path to jpeglib.h header file
|
||||
@ -292,7 +276,6 @@ variables:
|
||||
|
||||
**Makefile.machine settings**\ :
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_JPEG
|
||||
@ -321,10 +304,8 @@ supports the "popen" function in the standard runtime library.
|
||||
communication library and lead to simulations using ffmpeg to hang or
|
||||
crash.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _gzip:
|
||||
|
||||
Read or write compressed files
|
||||
@ -336,7 +317,6 @@ gzip compression by several LAMMPS commands, including
|
||||
|
||||
**CMake variables**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D WITH_GZIP=value # yes or no
|
||||
@ -345,7 +325,6 @@ gzip compression by several LAMMPS commands, including
|
||||
|
||||
**Makefile.machine setting**\ :
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_GZIP
|
||||
@ -365,10 +344,8 @@ found by LAMMPS during a run.
|
||||
I/O is also available using a compression library instead, which is
|
||||
what the :ref:`COMPRESS package <PKG-COMPRESS>` enables.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _align:
|
||||
|
||||
Memory allocation alignment
|
||||
@ -385,7 +362,6 @@ aligned on 64-byte boundaries.
|
||||
|
||||
**CMake variable**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D LAMMPS_MEMALIGN=value # 0, 8, 16, 32, 64 (default)
|
||||
@ -397,7 +373,6 @@ and this setting ignored.
|
||||
|
||||
**Makefile.machine setting**\ :
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_MEMALIGN=value # 8, 16, 32, 64
|
||||
@ -408,10 +383,8 @@ be used on Windows, as it does use different function calls for
|
||||
allocating aligned memory, that are not compatible with how LAMMPS
|
||||
manages its dynamical memory.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _longlong:
|
||||
|
||||
Workaround for long long integers
|
||||
@ -424,22 +397,18 @@ those systems:
|
||||
|
||||
**CMake variable**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D LAMMPS_LONGLONG_TO_LONG=value # yes or no (default)
|
||||
|
||||
**Makefile.machine setting**\ :
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_LONGLONG_TO_LONG
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _exceptions:
|
||||
|
||||
Exception handling when using LAMMPS as a library
|
||||
@ -453,14 +422,12 @@ e.g. to Python. Of course the calling code has to be set up to
|
||||
|
||||
**CMake variable**\ :
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D LAMMPS_EXCEPTIONS=value # yes or no (default)
|
||||
|
||||
**Makefile.machine setting**\ :
|
||||
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_EXCEPTIONS
|
||||
|
||||
@ -6,10 +6,8 @@ Notes for building LAMMPS on Windows
|
||||
* :ref:`Using GNU GCC ported to Windows <gnu>`
|
||||
* :ref:`Using a cross-compiler <cross>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _generic:
|
||||
|
||||
General remarks
|
||||
|
||||
@ -4,7 +4,6 @@ Commands
|
||||
These pages describe how a LAMMPS input script is formatted and the
|
||||
commands in it are used to define a LAMMPS simulation.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
@ -99,7 +99,6 @@ have accelerated versions. This is indicated by additional letters in
|
||||
parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t =
|
||||
OPT.
|
||||
|
||||
|
||||
.. table_from_list::
|
||||
:columns: 4
|
||||
|
||||
|
||||
@ -16,7 +16,6 @@ simulation with all the settings. Rather, the input script is read
|
||||
one line at a time and each command takes effect when it is read.
|
||||
Thus this sequence of commands:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
timestep 0.5
|
||||
@ -25,7 +24,6 @@ Thus this sequence of commands:
|
||||
|
||||
does something different than this sequence:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
run 100
|
||||
|
||||
@ -86,7 +86,6 @@ LAMMPS:
|
||||
|
||||
This can be useful for formatting print output to a desired precision:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom"
|
||||
|
||||
@ -7,7 +7,6 @@ and warnings doc pages give complete lists of all the messages the
|
||||
code may generate (except those generated by USER packages), with
|
||||
additional details for many of them.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
@ -63,7 +63,6 @@ is an integer or floating-point number, respectively, and reject the
|
||||
input with an error message (for instance, when an integer is required,
|
||||
but a floating-point number 1.0 is provided):
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
ERROR: Expected integer parameter instead of '1.0' in input script or data file
|
||||
@ -81,7 +80,6 @@ reading the input and before parsing commands,
|
||||
the documentation of the corresponding command explicitly says it is.
|
||||
Otherwise, you will receive an error message of this kind:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
ERROR: Expected floating point parameter instead of 'v_name' in input script or data file
|
||||
|
||||
@ -7,7 +7,6 @@ documentation for the offending command may help. Error messages also
|
||||
list the source file and line number where the error was generated.
|
||||
For example, a message like this:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
ERROR: Illegal velocity command (velocity.cpp:78)
|
||||
@ -21,12 +20,8 @@ code or contact the author of the package.
|
||||
|
||||
Doc page with :doc:`WARNING messages <Errors_warnings>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
|
||||
|
||||
*1-3 bond count is inconsistent*
|
||||
An inconsistency was detected when computing the number of 1-3
|
||||
neighbors for each atom. This likely means something is wrong with
|
||||
|
||||
@ -7,7 +7,6 @@ documentation for the offending command may help. Warning messages
|
||||
also list the source file and line number where the warning was
|
||||
generated. For example, a message like this:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
WARNING: Bond atom missing in box size check (domain.cpp:187)
|
||||
@ -21,12 +20,8 @@ code or contact the author of the package.
|
||||
|
||||
Doc page with :doc:`ERROR messages <Errors_messages>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
|
||||
|
||||
*Adjusting Coulombic cutoff for MSM, new cutoff = %g*
|
||||
The adjust/cutoff command is turned on and the Coulombic cutoff has been
|
||||
adjusted to match the user-specified accuracy.
|
||||
|
||||
@ -38,10 +38,8 @@ particular quantity.
|
||||
|
||||
Lists of both kinds of directories are given below.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Lowercase directories
|
||||
---------------------
|
||||
|
||||
@ -157,7 +155,6 @@ Lowercase directories
|
||||
|
||||
Here is how you can run and visualize one of the sample problems:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
cd indent
|
||||
@ -180,15 +177,12 @@ like ImageMagick or QuickTime or various Windows-based tools. See the
|
||||
Imagemagick command would create a GIF file suitable for viewing in a
|
||||
browser.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
% convert -loop 1 \*.jpg foo.gif
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Uppercase directories
|
||||
---------------------
|
||||
|
||||
|
||||
@ -12,7 +12,6 @@ also show how to setup and run various kinds of simulations.
|
||||
Tutorials howto
|
||||
===============
|
||||
|
||||
|
||||
.. toctree::
|
||||
:name: tutorials
|
||||
:maxdepth: 1
|
||||
@ -24,7 +23,6 @@ Tutorials howto
|
||||
General howto
|
||||
=============
|
||||
|
||||
|
||||
.. toctree::
|
||||
:name: general_howto
|
||||
:maxdepth: 1
|
||||
@ -40,7 +38,6 @@ General howto
|
||||
Settings howto
|
||||
==============
|
||||
|
||||
|
||||
.. toctree::
|
||||
:name: settings_howto
|
||||
:maxdepth: 1
|
||||
@ -56,7 +53,6 @@ Settings howto
|
||||
Analysis howto
|
||||
==============
|
||||
|
||||
|
||||
.. toctree::
|
||||
:name: analysis_howto
|
||||
:maxdepth: 1
|
||||
@ -72,7 +68,6 @@ Analysis howto
|
||||
Force fields howto
|
||||
==================
|
||||
|
||||
|
||||
.. toctree::
|
||||
:name: force_howto
|
||||
:maxdepth: 1
|
||||
@ -85,7 +80,6 @@ Force fields howto
|
||||
Packages howto
|
||||
==============
|
||||
|
||||
|
||||
.. toctree::
|
||||
:name: packages_howto
|
||||
:maxdepth: 1
|
||||
|
||||
@ -11,7 +11,6 @@ simulation box, set the z dimensions narrow, but finite, so that the
|
||||
create\_atoms command will tile the 3d simulation box with a single z
|
||||
plane of atoms - e.g.
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
:doc:`create box <create_box>` 1 -10 10 -10 10 -0.25 0.25
|
||||
|
||||
@ -3,10 +3,8 @@ Using LAMMPS with Bash on Windows
|
||||
|
||||
**written by Richard Berger**
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Starting with Windows 10 you can install Linux tools directly in Windows. This
|
||||
allows you to compile LAMMPS following the same procedure as on a real Ubuntu
|
||||
Linux installation. Software can be easily installed using the package manager
|
||||
@ -82,10 +80,8 @@ Congratulations, you have installed **Bash on Ubuntu on Windows**\ .
|
||||
|
||||
.. image:: JPG/bow_tutorial_10.png
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Compiling LAMMPS in Bash on Windows
|
||||
-----------------------------------
|
||||
|
||||
@ -97,7 +93,6 @@ Installing prerequisite packages
|
||||
|
||||
First upgrade all existing packages using
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt update
|
||||
@ -106,7 +101,6 @@ First upgrade all existing packages using
|
||||
Next install the following packages, which include compilers and libraries
|
||||
needed for various LAMMPS features:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt install -y build-essential ccache gfortran openmpi-bin libopenmpi-dev libfftw3-dev libjpeg-dev libpng12-dev python-dev python-virtualenv libblas-dev liblapack-dev libhdf5-serial-dev hdf5-tools
|
||||
@ -126,7 +120,6 @@ Obtain a copy of the LAMMPS code and go into it using "cd"
|
||||
Option 1: Downloading LAMMPS tarball using wget
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
wget http://lammps.sandia.gov/tars/lammps-stable.tar.gz
|
||||
@ -136,7 +129,6 @@ Option 1: Downloading LAMMPS tarball using wget
|
||||
Option 2: Obtaining LAMMPS code from GitHub
|
||||
"""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git clone https://github.com/lammps/lammps.git
|
||||
@ -150,7 +142,6 @@ At this point you can compile LAMMPS like on Ubuntu Linux.
|
||||
Compiling serial version
|
||||
""""""""""""""""""""""""
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd src/
|
||||
@ -161,7 +152,6 @@ This will create an executable called lmp\_serial in the src/ directory
|
||||
Compiling MPI version
|
||||
"""""""""""""""""""""
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd src/
|
||||
@ -169,20 +159,16 @@ Compiling MPI version
|
||||
|
||||
This will create an executable called lmp\_mpi in the src/ directory
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Finally, please note the absolute path of your src folder. You can get this using
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pwd
|
||||
|
||||
or
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
echo $PWD
|
||||
@ -190,22 +176,18 @@ or
|
||||
To run any examples you need the location of the executable. For now, let us
|
||||
save this location in a temporary variable
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
LAMMPS_DIR=$PWD
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Running an example script
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Once compiled you can execute some of the LAMMPS examples. Switch into the
|
||||
examples/melt folder
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd ../examples/melt
|
||||
@ -214,14 +196,12 @@ The full path of the serial executable is $LAMMPS\_DIR/lmp\_serial, while the mp
|
||||
version is $LAMMPS\_DIR/lmp\_mpi. You can run the melt example with either
|
||||
version as follows:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$LAMMPS_DIR/lmp_serial -in in.melt
|
||||
|
||||
or
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mpirun -np 4 $LAMMPS_DIR/lmp_mpi -in in.melt
|
||||
@ -235,21 +215,18 @@ Adding your executable directory to your PATH
|
||||
You can avoid having to type the full path of your LAMMPS binary by adding its
|
||||
parent folder to the PATH environment variable as follows:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
export PATH=$LAMMPS_DIR:$PATH
|
||||
|
||||
Input scripts can then be run like this:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
lmp_serial -in in.melt
|
||||
|
||||
or
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mpirun -np 4 lmp_mpi -in in.melt
|
||||
@ -258,7 +235,6 @@ However, this PATH variable will not persist if you close your bash window.
|
||||
To persist this setting edit the $HOME/.bashrc file using your favorite editor
|
||||
and add this line
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
export PATH=/full/path/to/your/lammps/src:$PATH
|
||||
@ -267,14 +243,12 @@ and add this line
|
||||
|
||||
For an executable lmp\_serial with a full path
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
/home/richard/lammps/src/lmp_serial
|
||||
|
||||
the PATH variable should be
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
export PATH=/home/richard/lammps/src:$PATH
|
||||
|
||||
@ -20,12 +20,8 @@ force field.
|
||||
|
||||
.. _charmm: http://www.scripps.edu/brooks
|
||||
|
||||
|
||||
|
||||
.. _amber: http://amber.scripps.edu
|
||||
|
||||
|
||||
|
||||
The interaction styles listed below compute force field formulas that
|
||||
are consistent with common options in CHARMM or AMBER. See each
|
||||
command's documentation for the formula it computes.
|
||||
@ -114,33 +110,23 @@ documentation for the formula it computes.
|
||||
|
||||
* :doc:`special_bonds <special_bonds>` dreiding
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _howto-MacKerell:
|
||||
|
||||
|
||||
|
||||
**(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
|
||||
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
|
||||
|
||||
.. _howto-Cornell:
|
||||
|
||||
|
||||
|
||||
**(Cornell)** Cornell, Cieplak, Bayly, Gould, Merz, Ferguson,
|
||||
Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
|
||||
|
||||
.. _howto-Sun:
|
||||
|
||||
|
||||
|
||||
**(Sun)** Sun, J. Phys. Chem. B, 102, 7338-7364 (1998).
|
||||
|
||||
.. _howto-Mayo:
|
||||
|
||||
|
||||
|
||||
**(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
|
||||
(1990).
|
||||
|
||||
@ -33,10 +33,8 @@ style are described below.
|
||||
More styles may be added in the future. See the :doc:`Modify body <Modify_body>` doc page for details on how to add a new body
|
||||
style to the code.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**When to use body particles:**
|
||||
|
||||
You should not use body particles to model a rigid body made of
|
||||
@ -104,10 +102,8 @@ particles of different styles
|
||||
The pair styles defined for use with specific body styles are listed
|
||||
in the sections below.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Specifics of body style nparticle:**
|
||||
|
||||
The *nparticle* body style represents body particles as a rigid body
|
||||
@ -119,7 +115,6 @@ duplicates its functionality.
|
||||
The atom\_style body command for this body style takes two additional
|
||||
arguments:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
atom_style body nparticle Nmin Nmax
|
||||
@ -133,7 +128,6 @@ When the :doc:`read_data <read_data>` command reads a data file for this
|
||||
body style, the following information must be provided for each entry
|
||||
in the *Bodies* section of the data file:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
atom-ID 1 M
|
||||
@ -170,7 +164,6 @@ For output purposes via the :doc:`compute body/local <compute_body_local>` and :
|
||||
commands, this body style produces one datum for each of the N
|
||||
sub-particles in a body particle. The datum has 3 values:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 = x position of sub-particle
|
||||
@ -188,10 +181,8 @@ collection of spheres, one for each sub-particle. The size of each
|
||||
sphere is determined by the *bflag1* parameter for the *body* keyword.
|
||||
The *bflag2* argument is ignored.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Specifics of body style rounded/polygon:**
|
||||
|
||||
The *rounded/polygon* body style represents body particles as a 2d
|
||||
@ -207,7 +198,6 @@ described in :ref:`Fraige <body-Fraige>`.
|
||||
Similar to body style *nparticle*\ , the atom\_style body command for
|
||||
this body style takes two additional arguments:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
atom_style body rounded/polygon Nmin Nmax
|
||||
@ -221,7 +211,6 @@ When the :doc:`read_data <read_data>` command reads a data file for this
|
||||
body style, the following information must be provided for each entry
|
||||
in the *Bodies* section of the data file:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
atom-ID 1 M
|
||||
@ -262,7 +251,6 @@ orientation of the square is aligned with the xy coordinate axes which
|
||||
is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz =
|
||||
1 1 4 0 0 0. Note that only Izz matters in 2D simulations.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
3 1 27
|
||||
@ -281,7 +269,6 @@ is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz =
|
||||
A rod in 2D, whose length is 4.0, mass 1.0, rounded at two ends
|
||||
by circles of diameter 0.5, is specified as follows:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 1 13
|
||||
@ -293,7 +280,6 @@ by circles of diameter 0.5, is specified as follows:
|
||||
|
||||
A disk, whose diameter is 3.0, mass 1.0, is specified as follows:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 1 10
|
||||
@ -308,10 +294,8 @@ interactions. The :doc:`fix wall/body/polygon <fix_wall_body_polygon>`
|
||||
command can be used with this body style to compute the interaction of
|
||||
body particles with a wall.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Specifics of body style rounded/polyhedron:**
|
||||
|
||||
The *rounded/polyhedron* body style represents body particles as a 3d
|
||||
@ -330,7 +314,6 @@ This body style is for 3d discrete element models, as described in
|
||||
Similar to body style *rounded/polygon*\ , the atom\_style body command
|
||||
for this body style takes two additional arguments:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
atom_style body rounded/polyhedron Nmin Nmax
|
||||
@ -344,7 +327,6 @@ When the :doc:`read_data <read_data>` command reads a data file for this
|
||||
body style, the following information must be provided for each entry
|
||||
in the *Bodies* section of the data file:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
atom-ID 3 M
|
||||
@ -401,7 +383,6 @@ The orientation of the cube is aligned with the xyz coordinate axes
|
||||
which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz
|
||||
iyz = 0.667 0.667 0.667 0 0 0.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 3 79
|
||||
@ -438,7 +419,6 @@ iyz = 0.667 0.667 0.667 0 0 0.
|
||||
A rod in 3D, whose length is 4.0, mass 1.0 and rounded at two ends
|
||||
by circles of diameter 0.5, is specified as follows:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 1 13
|
||||
@ -450,7 +430,6 @@ by circles of diameter 0.5, is specified as follows:
|
||||
|
||||
A sphere whose diameter is 3.0 and mass 1.0, is specified as follows:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 1 10
|
||||
@ -465,15 +444,12 @@ be used with this body style to compute body/body interactions. The
|
||||
used with this body style to compute the interaction of body particles
|
||||
with a wall.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
For output purposes via the :doc:`compute body/local <compute_body_local>` and :doc:`dump local <dump>`
|
||||
commands, this body style produces one datum for each of the N
|
||||
sub-particles in a body particle. The datum has 3 values:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 = x position of vertex
|
||||
@ -495,20 +471,14 @@ tangent to the spheres). The drawn diameter of each line segment is
|
||||
determined by the *bflag1* parameter for the *body* keyword. The
|
||||
*bflag2* argument is ignored.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _body-Fraige:
|
||||
|
||||
|
||||
|
||||
**(Fraige)** F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds,
|
||||
Particuology, 6, 455 (2008).
|
||||
|
||||
.. _body-Wang:
|
||||
|
||||
|
||||
|
||||
**(Wang)** J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular
|
||||
Matter, 13, 1 (2011).
|
||||
|
||||
@ -150,7 +150,6 @@ properties:
|
||||
|
||||
(1) Average velocity in each of 1000 2d spatial bins:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced
|
||||
@ -159,7 +158,6 @@ properties:
|
||||
(2) Temperature in each spatial bin, after subtracting a flow
|
||||
velocity:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced
|
||||
@ -168,7 +166,6 @@ velocity:
|
||||
|
||||
(3) Center of mass of each molecule:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute cc1 all chunk/atom molecule
|
||||
@ -177,7 +174,6 @@ velocity:
|
||||
|
||||
(4) Total force on each molecule and ave/max across all molecules:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute cc1 all chunk/atom molecule
|
||||
@ -189,7 +185,6 @@ velocity:
|
||||
|
||||
(5) Histogram of cluster sizes:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute cluster all cluster/atom 1.0
|
||||
|
||||
@ -134,7 +134,6 @@ together to exchange MPI messages between them.
|
||||
|
||||
For message exchange in *file*\ , *zmq*\ , or *mpi/two* modes:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
% mpirun -np 1 lmp_mpi -log log.client < in.client &
|
||||
@ -150,7 +149,6 @@ For message exchange in *mpi/one* mode:
|
||||
|
||||
Launch both codes in a single mpirun command:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -log log.server
|
||||
|
||||
@ -24,7 +24,6 @@ shell of a core/shell pair should be bonded to each other with a
|
||||
harmonic bond that provides the spring force. For example, a data file
|
||||
for NaCl, as found in examples/coreshell, has this format:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
432 atoms # core and shell atoms
|
||||
@ -87,7 +86,6 @@ Ewald solvers can be used.
|
||||
For the NaCL example problem, these pair style and bond style settings
|
||||
are used:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style born/coul/long/cs 20.0 20.0
|
||||
@ -131,7 +129,6 @@ this temperature be output for the overall system.
|
||||
|
||||
For the NaCl example, this can be done as follows:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
group cores type 1 2
|
||||
@ -150,7 +147,6 @@ the default :doc:`temperature <compute_temp>` and specifying it as a
|
||||
second argument in :doc:`fix modify <fix_modify>` and
|
||||
:doc:`thermo_modify <thermo_modify>` resulting in:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
(...)
|
||||
@ -174,7 +170,6 @@ the pairs. This can be done by using the *bias* keyword of the
|
||||
:doc:`velocity create <velocity>` command and assigning the :doc:`compute temp/cs <compute_temp_cs>` command to the *temp* keyword of the
|
||||
:doc:`velocity <velocity>` command, e.g.
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
velocity all create 1427 134 bias yes temp CSequ
|
||||
@ -211,7 +206,6 @@ pairs as chunks.
|
||||
|
||||
For example if core/shell pairs are the only molecules:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
read_data NaCl_CS_x0.1_prop.data
|
||||
@ -222,7 +216,6 @@ For example if core/shell pairs are the only molecules:
|
||||
|
||||
For example if core/shell pairs and other molecules are present:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix csinfo all property/atom i_CSID # property/atom command
|
||||
@ -232,7 +225,6 @@ For example if core/shell pairs and other molecules are present:
|
||||
|
||||
The additional section in the date file would be formatted like this:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
CS-Info # header of additional section
|
||||
@ -247,20 +239,14 @@ The additional section in the date file would be formatted like this:
|
||||
8 4
|
||||
(...)
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _MitchellFincham:
|
||||
|
||||
|
||||
|
||||
**(Mitchell and Fincham)** Mitchell, Fincham, J Phys Condensed Matter,
|
||||
5, 1031-1038 (1993).
|
||||
|
||||
.. _MitchellFincham2:
|
||||
|
||||
|
||||
|
||||
**(Fincham)** Fincham, Mackrodt and Mitchell, J Phys Condensed Matter,
|
||||
6, 393-404 (1994).
|
||||
|
||||
@ -12,10 +12,8 @@ LAMMPS can be coupled to other codes in at least 4 ways. Each has
|
||||
advantages and disadvantages, which you will have to think about in the
|
||||
context of your application.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
(1) Define a new :doc:`fix <fix>` command that calls the other code. In
|
||||
this scenario, LAMMPS is the driver code. During its timestepping,
|
||||
the fix is invoked, and can make library calls to the other code,
|
||||
@ -27,12 +25,8 @@ LAMMPS.
|
||||
|
||||
.. _poems: http://www.rpi.edu/~anderk5/lab
|
||||
|
||||
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
(2) Define a new LAMMPS command that calls the other code. This is
|
||||
conceptually similar to method (1), but in this case LAMMPS and the
|
||||
other code are on a more equal footing. Note that now the other code
|
||||
@ -53,10 +47,8 @@ command writes and reads.
|
||||
See the :doc:`Modify command <Modify_command>` doc page for info on how
|
||||
to add a new command to LAMMPS.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
(3) Use LAMMPS as a library called by another code. In this case the
|
||||
other code is the driver and calls LAMMPS as needed. Or a wrapper
|
||||
code could link and call both LAMMPS and another code as libraries.
|
||||
@ -78,15 +70,10 @@ examples/COUPLE/README for more details:
|
||||
a kinetic Monte Carlo model for grain growth using MD to calculate
|
||||
strain induced across grain boundaries
|
||||
|
||||
|
||||
.. _quest: http://dft.sandia.gov/Quest
|
||||
|
||||
|
||||
|
||||
.. _spparks: http://www.sandia.gov/~sjplimp/spparks.html
|
||||
|
||||
|
||||
|
||||
The :doc:`Build basics <Build_basics>` doc page describes how to build
|
||||
LAMMPS as a library. Once this is done, you can interface with LAMMPS
|
||||
either via C++, C, Fortran, or Python (or any other language that
|
||||
@ -113,10 +100,8 @@ LAMMPS and half to the other code and run both codes simultaneously
|
||||
before syncing them up periodically. Or it might instantiate multiple
|
||||
instances of LAMMPS to perform different calculations.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
(4) Couple LAMMPS with another code in a client/server mode. This is
|
||||
described on the :doc:`Howto client/server <Howto_client_server>` doc
|
||||
page.
|
||||
|
||||
@ -56,12 +56,8 @@ with a Coulomb pair style. It may be useful to use *coul/long/cs* or
|
||||
similar from the CORESHELL package if the core and Drude particle come
|
||||
too close, which can cause numerical issues.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _howto-Lamoureux:
|
||||
|
||||
|
||||
|
||||
**(Lamoureux and Roux)** G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003)
|
||||
|
||||
@ -30,7 +30,6 @@ zero. The (half-)stiffness of the :doc:`harmonic bond <bond_harmonic>`
|
||||
:math:`K_D = k_D/2` and the Drude charge :math:`q_D` are related to the atom
|
||||
polarizability :math:`\alpha` by
|
||||
|
||||
|
||||
.. math::
|
||||
|
||||
K_D = \frac 1 2\, \frac {q_D^2} \alpha
|
||||
@ -46,7 +45,6 @@ fields:
|
||||
* Alternately :ref:`Schroeder and Steinhauser <Schroeder>` suggest adopting a global charge :math:`q_D` = -1.0e and a global mass :math:`m_D` = 0.1 g/mol (or u) for all Drude particles, and to calculate the force constant for each type of core-Drude bond from equation (1). The timesteps used by these authors are between 0.5 and 2 fs, with the degrees of freedom of the Drude oscillators kept cold at 1 K.
|
||||
* In both these force fields hydrogen atoms are treated as non-polarizable.
|
||||
|
||||
|
||||
The motion of of the Drude particles can be calculated by minimizing
|
||||
the energy of the induced dipoles at each timestep, by an iterative,
|
||||
self-consistent procedure. The Drude particles can be massless and
|
||||
@ -85,7 +83,6 @@ You can use the *polarizer* tool (Python script distributed with the
|
||||
USER-DRUDE package) to convert a non-polarizable data file (here
|
||||
*data.102494.lmp*\ ) to a polarizable data file (\ *data-p.lmp*\ )
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
polarizer -q -f phenol.dff data.102494.lmp data-p.lmp
|
||||
@ -96,7 +93,6 @@ from *phenol.dff*\ , as well as the DC-DP bond constants. The file
|
||||
*phenol.dff* contains the polarizabilities of the atom types
|
||||
and the mass of the Drude particles, for instance:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
# units: kJ/mol, A, deg
|
||||
@ -113,7 +109,6 @@ have to be specified as comments at the end of lines of the *Masses*
|
||||
section. You probably need to edit it to add these names. It should
|
||||
look like
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
Masses
|
||||
@ -124,10 +119,8 @@ look like
|
||||
4 1.008 # HA
|
||||
5 1.008 # HO
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Basic input file**
|
||||
|
||||
The atom style should be set to (or derive from) *full*\ , so that you
|
||||
@ -138,7 +131,6 @@ script (the use of these lines will be explained below). In order for
|
||||
LAMMPS to recognize that you are using Drude oscillators, you should
|
||||
use the fix *drude*\ . The command is
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix DRUDE all drude C C C N N D D D
|
||||
@ -159,7 +151,6 @@ command. With our phenol, there is 1 more special neighbor for which
|
||||
space is required. Otherwise LAMMPS crashes and gives the required
|
||||
value.
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
read_data data-p.lmp extra/special/per/atom 1
|
||||
@ -173,7 +164,6 @@ include Coulomb interactions, for instance *lj/cut/coul/long* with
|
||||
*kspace\_style pppm*. For example, with a cutoff of 10. and a precision
|
||||
1.e-4:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style lj/cut/coul/long 10.0
|
||||
@ -184,14 +174,12 @@ to be added for the DPs. Since the DPs have no Lennard-Jones
|
||||
interactions, their :math:`\epsilon` is 0. so the only *pair\_coeff* line
|
||||
that needs to be added is
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_coeff * 6* 0.0 0.0 # All-DPs
|
||||
|
||||
Now for the thermalization, the simplest choice is to use the :doc:`fix langevin/drude <fix_langevin_drude>`.
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix LANG all langevin/drude 300. 100 12435 1. 20 13977
|
||||
@ -205,7 +193,6 @@ atoms need to be in this fix's group. LAMMPS will thermostat the DPs
|
||||
together with their DC. For this, ghost atoms need to know their
|
||||
velocities. Thus you need to add the following command:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
comm_modify vel yes
|
||||
@ -217,7 +204,6 @@ can add the *zero yes* option at the end of the fix line.
|
||||
If the fix *shake* is used to constrain the C-H bonds, it should be
|
||||
invoked after the fix *langevin/drude* for more accuracy.
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix SHAKE ATOMS shake 0.0001 20 0 t 4 5
|
||||
@ -231,7 +217,6 @@ Since the fix *langevin/drude* does not perform time integration (just
|
||||
modification of forces but no position/velocity updates), the fix
|
||||
*nve* should be used in conjunction.
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix NVE all nve
|
||||
@ -240,7 +225,6 @@ Finally, do not forget to update the atom type elements if you use
|
||||
them in a *dump\_modify ... element ...* command, by adding the element
|
||||
type of the DPs. Here for instance
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
dump DUMP all custom 10 dump.lammpstrj id mol type element x y z ix iy iz
|
||||
@ -254,7 +238,6 @@ standard atoms in his default compute. If you want to output the
|
||||
temperatures of the DC-DP pair centers of mass and of the DPs relative
|
||||
to their DCs, you should use the :doc:`compute temp\_drude <compute_temp_drude>`
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute TDRUDE all temp/drude
|
||||
@ -263,15 +246,12 @@ And then output the correct temperatures of the Drude oscillators
|
||||
using *thermo\_style custom* with respectively *c\_TDRUDE[1]* and
|
||||
*c\_TDRUDE[2]*. These should be close to 300.0 and 1.0 on average.
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
thermo_style custom step temp c_TDRUDE[1] c_TDRUDE[2]
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Thole screening**
|
||||
|
||||
Dipolar interactions represented by point charges on springs may not
|
||||
@ -289,7 +269,6 @@ the interactions between the charges representing the induced dipoles.
|
||||
It is to be used as *hybrid/overlay* with any standard *coul* pair
|
||||
style. In our example, we would use
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style hybrid/overlay lj/cut/coul/long 10.0 thole 2.6 10.0
|
||||
@ -305,7 +284,6 @@ explicitly defined. The output of the *polarizer* script can be used
|
||||
to complete the *pair\_coeff* section of the input file. In our
|
||||
example, this will look like:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_coeff 1 1 lj/cut/coul/long 0.0700 3.550
|
||||
@ -349,7 +327,6 @@ For the *thole* pair style the coefficients are
|
||||
specified by the pair\_style command)
|
||||
#. the cutoff (optional, default value defined by the pair\_style command)
|
||||
|
||||
|
||||
The special neighbors have charge-charge and charge-dipole
|
||||
interactions screened by the *coul* factors of the *special\_bonds*
|
||||
command (0.0, 0.0, and 0.5 in the example above). Without using the
|
||||
@ -361,16 +338,13 @@ example 1-2 neighbors: using the pair\_style *thole*\ , their dipoles
|
||||
will see each other (despite the *coul* factor being 0.) and the
|
||||
interactions between these dipoles will be damped by Thole's function.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Thermostats and barostats**
|
||||
|
||||
Using a Nose-Hoover barostat with the *langevin/drude* thermostat is
|
||||
straightforward using fix *nph* instead of *nve*\ . For example:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix NPH all nph iso 1. 1. 500
|
||||
@ -385,7 +359,6 @@ with respect to their DC. The *fix drude/transform/inverse* performs
|
||||
the reverse transformation. For a NVT simulation, with the DCs and
|
||||
atoms at 300 K and the DPs at 1 K relative to their DC one would use
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix DIRECT all drude/transform/direct
|
||||
@ -395,7 +368,6 @@ atoms at 300 K and the DPs at 1 K relative to their DC one would use
|
||||
|
||||
For our phenol example, the groups would be defined as
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
group ATOMS type 1 2 3 4 5 # DCs and non-polarizable atoms
|
||||
@ -409,7 +381,6 @@ times and for the forces also). To avoid the flying ice cube artifact
|
||||
center of mass of the whole system drifts faster and faster, the *fix
|
||||
momentum* can be used. For instance:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix MOMENTUM all momentum 100 linear 1 1 1
|
||||
@ -424,7 +395,6 @@ the temperature to correspond to the fix group only. We must then use
|
||||
the *fix\_modify* command for this. In the end, the block of
|
||||
instructions for thermostatting and barostatting will look like
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute TATOMS ATOMS temp
|
||||
@ -434,10 +404,8 @@ instructions for thermostatting and barostatting will look like
|
||||
fix NVT DRUDES nvt temp 1. 1. 20
|
||||
fix INVERSE all drude/transform/inverse
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Rigid bodies**
|
||||
|
||||
You may want to simulate molecules as rigid bodies (but polarizable).
|
||||
@ -448,7 +416,6 @@ review the different thermostats and ensemble combinations.
|
||||
|
||||
NVT ensemble using Langevin thermostat:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
comm_modify vel yes
|
||||
@ -458,7 +425,6 @@ NVT ensemble using Langevin thermostat:
|
||||
|
||||
NVT ensemble using Nose-Hoover thermostat:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix DIRECT all drude/transform/direct
|
||||
@ -468,7 +434,6 @@ NVT ensemble using Nose-Hoover thermostat:
|
||||
|
||||
NPT ensemble with Langevin thermostat:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
comm_modify vel yes
|
||||
@ -478,7 +443,6 @@ NPT ensemble with Langevin thermostat:
|
||||
|
||||
NPT ensemble using Nose-Hoover thermostat:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute TATOM ATOMS temp
|
||||
@ -488,45 +452,31 @@ NPT ensemble using Nose-Hoover thermostat:
|
||||
fix NVT DRUDES nvt temp 1. 1. 20
|
||||
fix INVERSE all drude/transform/inverse
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _Lamoureux2:
|
||||
|
||||
|
||||
|
||||
**(Lamoureux)** Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003)
|
||||
|
||||
.. _Schroeder:
|
||||
|
||||
|
||||
|
||||
**(Schroeder)** Schroeder and Steinhauser, J Chem Phys, 133,
|
||||
154511 (2010).
|
||||
|
||||
.. _Jiang2:
|
||||
|
||||
|
||||
|
||||
**(Jiang)** Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux,
|
||||
J Phys Chem Lett, 2, 87-92 (2011).
|
||||
|
||||
.. _Thole2:
|
||||
|
||||
|
||||
|
||||
**(Thole)** Chem Phys, 59, 341 (1981).
|
||||
|
||||
.. _Noskov2:
|
||||
|
||||
|
||||
|
||||
**(Noskov)** Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005).
|
||||
|
||||
.. _SWM4-NDP:
|
||||
|
||||
|
||||
|
||||
**(SWM4-NDP)** Lamoureux, Harder, Vorobyov, Roux, MacKerell, Chem Phys
|
||||
Let, 418, 245-249 (2006)
|
||||
|
||||
@ -33,12 +33,8 @@ tensor. Another approach is to sample the triclinic cell fluctuations
|
||||
that occur in an NPT simulation. This method can also be slow to
|
||||
converge and requires careful post-processing :ref:`(Shinoda) <Shinoda1>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _Shinoda1:
|
||||
|
||||
|
||||
|
||||
**(Shinoda)** Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004).
|
||||
|
||||
@ -22,10 +22,8 @@ and will reduce the time until the integration is complete. For more
|
||||
information on the requirements to have your code included into LAMMPS
|
||||
please see the :doc:`Modify contribute <Modify_contribute>` doc page.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Making an account**
|
||||
|
||||
First of all, you need a GitHub account. This is fairly simple, just
|
||||
@ -34,10 +32,8 @@ the "Sign up for GitHub" button. Once your account is created, you
|
||||
can sign in by clicking the button in the top left and filling in your
|
||||
username or e-mail address and password.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Forking the repository**
|
||||
|
||||
To get changes into LAMMPS, you need to first fork the `lammps/lammps`
|
||||
@ -63,10 +59,8 @@ At the same time, you can set things up, so you can include changes from
|
||||
upstream into your repository and thus keep it in sync with the ongoing
|
||||
LAMMPS development.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Adding changes to your own fork**
|
||||
|
||||
Additions to the upstream version of LAMMPS are handled using *feature
|
||||
@ -81,14 +75,12 @@ explained in more detail here: `feature branch workflow <https://www.atlassian.c
|
||||
First of all, create a clone of your version on github on your local
|
||||
machine via HTTPS:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git clone https://github.com/<your user name>/lammps.git <some name>
|
||||
|
||||
or, if you have set up your GitHub account for using SSH keys, via SSH:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git clone git@github.com:<your user name>/lammps.git
|
||||
@ -108,7 +100,6 @@ test them without interfering with the repository on GitHub.
|
||||
To pull changes from upstream into this copy, you can go to the directory
|
||||
and use git pull:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ cd mylammps
|
||||
@ -117,7 +108,6 @@ and use git pull:
|
||||
|
||||
You can also add this URL as a remote:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git remote add lammps_upstream https://www.github.com/lammps/lammps
|
||||
@ -127,7 +117,6 @@ branch for the feature you want to work on. This tutorial contains the
|
||||
workflow that updated this tutorial, and hence we will call the branch
|
||||
"github-tutorial-update":
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git checkout -b github-tutorial-update master
|
||||
@ -140,7 +129,6 @@ unrelated feature, you should switch branches!
|
||||
|
||||
After everything is done, add the files to the branch and commit them:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git add doc/src/Howto_github.txt
|
||||
@ -165,14 +153,12 @@ After everything is done, add the files to the branch and commit them:
|
||||
After adding all files, the change set can be committed with some
|
||||
useful message that explains the change.
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git commit -m 'Finally updated the github tutorial'
|
||||
|
||||
After the commit, the changes can be pushed to the same branch on GitHub:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git push
|
||||
@ -181,7 +167,6 @@ Git will ask you for your user name and password on GitHub if you have
|
||||
not configured anything. If your local branch is not present on GitHub yet,
|
||||
it will ask you to add it by running
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git push --set-upstream origin github-tutorial-update
|
||||
@ -192,22 +177,18 @@ password, the feature branch should be added to your fork on GitHub.
|
||||
If you want to make really sure you push to the right repository
|
||||
(which is good practice), you can provide it explicitly:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git push origin
|
||||
|
||||
or using an explicit URL:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git push git@github.com:Pakketeretet2/lammps.git
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Filing a pull request**
|
||||
|
||||
Up to this point in the tutorial, all changes were to *your* clones of
|
||||
@ -255,10 +236,8 @@ Now just write some nice comments and click on "Create pull request".
|
||||
.. image:: JPG/tutorial_create_new_pull_request2.png
|
||||
:align: center
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**After filing a pull request**
|
||||
|
||||
.. note::
|
||||
@ -408,7 +387,6 @@ Because the changes are OK with us, we are going to merge by clicking on
|
||||
Now, since in the meantime our local text for the tutorial also changed,
|
||||
we need to pull Axel's change back into our branch, and merge them:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git add Howto_github.txt
|
||||
@ -425,7 +403,6 @@ With Axel's changes merged in and some final text updates, our feature
|
||||
branch is now perfect as far as we are concerned, so we are going to
|
||||
commit and push again:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git add Howto_github.txt
|
||||
@ -438,10 +415,8 @@ This merge also shows up on the lammps GitHub page:
|
||||
.. image:: JPG/tutorial_reverse_pull_request7.png
|
||||
:align: center
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**After a merge**
|
||||
|
||||
When everything is fine, the feature branch is merged into the master branch:
|
||||
@ -456,7 +431,6 @@ It is in principle safe to delete them from your own fork. This helps
|
||||
keep it a bit more tidy. Note that you first have to switch to another
|
||||
branch!
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git checkout master
|
||||
@ -472,7 +446,6 @@ first delete and then pull, everything should still be fine.
|
||||
Finally, if you delete the branch locally, you might want to push this
|
||||
to your remote(s) as well:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git push origin :github-tutorial-update
|
||||
|
||||
@ -62,20 +62,14 @@ auto-correlation. See the doc page for the :doc:`compute heat/flux <compute_hea
|
||||
that calculates the thermal conductivity of solid Ar via the GK
|
||||
formalism.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _howto-Ikeshoji:
|
||||
|
||||
|
||||
|
||||
**(Ikeshoji)** Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261
|
||||
(1994).
|
||||
|
||||
.. _howto-Wirnsberger:
|
||||
|
||||
|
||||
|
||||
**(Wirnsberger)** Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104
|
||||
(2015).
|
||||
|
||||
@ -58,7 +58,6 @@ details.
|
||||
The added functions can access or change any internal LAMMPS data you
|
||||
wish.
|
||||
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
void lammps_open(int, char **, MPI_Comm, void **)
|
||||
@ -136,7 +135,6 @@ information from LAMMPS and setting value within LAMMPS. Again, see
|
||||
the documentation in the src/library.cpp file for details, including
|
||||
which quantities can be queried by name:
|
||||
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
int lammps_extract_setting(void *, char *)
|
||||
@ -163,7 +161,6 @@ is not listed. For the other extract functions, the underlying
|
||||
storage may be reallocated as LAMMPS runs, so you need to re-call the
|
||||
function to assure a current pointer or returned value(s).
|
||||
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
double lammps_get_thermo(void *, char *)
|
||||
@ -187,7 +184,6 @@ The lammps\_reset\_box() function resets the size and shape of the
|
||||
simulation box, e.g. as part of restoring a previously extracted and
|
||||
saved state of a simulation.
|
||||
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
void lammps_gather_atoms(void *, char *, int, int, void *)
|
||||
@ -230,7 +226,6 @@ those values to each atom in the system. The
|
||||
lammps\_scatter\_atoms\_subset() function takes a subset of IDs as an
|
||||
argument and only scatters those values to the owning atoms.
|
||||
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
|
||||
|
||||
@ -46,7 +46,5 @@ to the relevant fixes.
|
||||
|
||||
.. _Paquay1:
|
||||
|
||||
|
||||
|
||||
**(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016).
|
||||
preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
|
||||
|
||||
@ -8,7 +8,6 @@ If "multiple simulations" means continue a previous simulation for
|
||||
more timesteps, then you simply use the :doc:`run <run>` command
|
||||
multiple times. For example, this script
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
units lj
|
||||
@ -27,7 +26,6 @@ If you wish to run totally different simulations, one after the other,
|
||||
the :doc:`clear <clear>` command can be used in between them to
|
||||
re-initialize LAMMPS. For example, this script
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
units lj
|
||||
@ -48,7 +46,6 @@ For large numbers of independent simulations, you can use
|
||||
multiple times with different settings. For example, this
|
||||
script, named in.polymer
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
variable d index run1 run2 run3 run4 run5 run6 run7 run8
|
||||
@ -65,7 +62,6 @@ file in each directory. The same concept could be used to run the
|
||||
same system at 8 different temperatures, using a temperature variable
|
||||
and storing the output in different log and dump files, for example
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
variable a loop 8
|
||||
|
||||
@ -43,13 +43,9 @@ NEMD simulations can also be used to measure transport properties of a fluid
|
||||
through a pore or channel. Simulations of steady-state flow can be performed
|
||||
using the :doc:`fix flow/gauss <fix_flow_gauss>` command.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _Daivis-nemd:
|
||||
|
||||
|
||||
|
||||
**(Daivis and Todd)** Daivis and Todd, Nonequilibrium Molecular Dynamics (book),
|
||||
Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017).
|
||||
|
||||
@ -12,7 +12,6 @@ There are four basic kinds of LAMMPS output:
|
||||
screen.
|
||||
* :doc:`Restart files <restart>`.
|
||||
|
||||
|
||||
A simulation prints one set of thermodynamic output and (optionally)
|
||||
restart files. It can generate any number of dump files and fix
|
||||
output files, depending on what :doc:`dump <dump>` and :doc:`fix <fix>`
|
||||
|
||||
@ -56,7 +56,6 @@ output support enabled.
|
||||
|
||||
Step 1a: For the CMake based build system, the steps are:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir $LAMMPS_DIR/build-shared
|
||||
@ -68,7 +67,6 @@ Step 1a: For the CMake based build system, the steps are:
|
||||
|
||||
Step 1b: For the legacy, make based build system, the steps are:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd $LAMMPS_DIR/src
|
||||
@ -85,7 +83,6 @@ Step 2: Installing the LAMMPS Python package
|
||||
PyLammps is part of the lammps Python package. To install it simply install
|
||||
that package into your current Python installation with:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make install-python
|
||||
@ -110,7 +107,6 @@ Benefits of using a virtualenv
|
||||
|
||||
**Prerequisite (e.g. on Ubuntu)**
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
apt-get install python-virtualenv
|
||||
@ -118,7 +114,6 @@ Benefits of using a virtualenv
|
||||
Creating a virtualenv with lammps installed
|
||||
"""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# create virtualenv named 'testing'
|
||||
@ -132,7 +127,6 @@ When using CMake and the shared library has already been build, you
|
||||
need to re-run CMake to update the location of the python executable
|
||||
to the location in the virtual environment with:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cmake . -DPYTHON_EXECUTABLE=$(which python)
|
||||
@ -154,7 +148,6 @@ Creating a new instance of PyLammps
|
||||
To create a PyLammps object you need to first import the class from the lammps
|
||||
module. By using the default constructor, a new *lammps* instance is created.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
from lammps import PyLammps
|
||||
@ -162,7 +155,6 @@ module. By using the default constructor, a new *lammps* instance is created.
|
||||
|
||||
You can also initialize PyLammps on top of this existing *lammps* object:
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
from lammps import lammps, PyLammps
|
||||
@ -177,7 +169,6 @@ the command method of the lammps object instance.
|
||||
|
||||
For instance, let's take the following LAMMPS command:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
region box block 0 10 0 5 -0.5 0.5
|
||||
@ -185,7 +176,6 @@ For instance, let's take the following LAMMPS command:
|
||||
In the original interface this command can be executed with the following
|
||||
Python code if *L* was a lammps instance:
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
L.command("region box block 0 10 0 5 -0.5 0.5")
|
||||
@ -193,7 +183,6 @@ Python code if *L* was a lammps instance:
|
||||
With the PyLammps interface, any command can be split up into arbitrary parts
|
||||
separated by white-space, passed as individual arguments to a region method.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
L.region("box block", 0, 10, 0, 5, -0.5, 0.5)
|
||||
@ -206,7 +195,6 @@ The benefit of this approach is avoiding redundant command calls and easier
|
||||
parameterization. In the original interface parameterization needed to be done
|
||||
manually by creating formatted strings.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
L.command("region box block %f %f %f %f %f %f" % (xlo, xhi, ylo, yhi, zlo, zhi))
|
||||
@ -214,7 +202,6 @@ manually by creating formatted strings.
|
||||
In contrast, methods of PyLammps accept parameters directly and will convert
|
||||
them automatically to a final command string.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
L.region("box block", xlo, xhi, ylo, yhi, zlo, zhi)
|
||||
@ -225,8 +212,6 @@ System state
|
||||
In addition to dispatching commands directly through the PyLammps object, it
|
||||
also provides several properties which allow you to query the system state.
|
||||
|
||||
|
||||
|
||||
L.system
|
||||
Is a dictionary describing the system such as the bounding box or number of atoms
|
||||
|
||||
@ -260,8 +245,6 @@ L.dump
|
||||
L.groups
|
||||
List of groups present in the current system
|
||||
|
||||
|
||||
|
||||
Working with LAMMPS variables
|
||||
-----------------------------
|
||||
|
||||
@ -269,7 +252,6 @@ LAMMPS variables can be both defined and accessed via the PyLammps interface.
|
||||
|
||||
To define a variable you can use the :doc:`variable <variable>` command:
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
L.variable("a index 2")
|
||||
@ -279,7 +261,6 @@ A dictionary of all variables is returned by L.variables
|
||||
you can access an individual variable by retrieving a variable object from the
|
||||
L.variables dictionary by name
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
a = L.variables['a']
|
||||
@ -287,7 +268,6 @@ L.variables dictionary by name
|
||||
The variable value can then be easily read and written by accessing the value
|
||||
property of this object.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
print(a.value)
|
||||
@ -300,7 +280,6 @@ LAMMPS expressions can be immediately evaluated by using the eval method. The
|
||||
passed string parameter can be any expression containing global thermo values,
|
||||
variables, compute or fix data.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
result = L.eval("ke") # kinetic energy
|
||||
@ -315,7 +294,6 @@ All atoms in the current simulation can be accessed by using the L.atoms list.
|
||||
Each element of this list is an object which exposes its properties (id, type,
|
||||
position, velocity, force, etc.).
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
# access first atom
|
||||
@ -329,7 +307,6 @@ position, velocity, force, etc.).
|
||||
|
||||
Some properties can also be used to set:
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
# set position in 2D simulation
|
||||
@ -347,7 +324,6 @@ after a run via the L.runs list. This list contains a growing list of run data.
|
||||
The first element is the output of the first run, the second element that of
|
||||
the second run.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
L.run(1000)
|
||||
@ -359,7 +335,6 @@ the second run.
|
||||
Each run contains a dictionary of all trajectories. Each trajectory is
|
||||
accessible through its thermo name:
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
L.runs[0].thermo.Step # list of time steps in first run
|
||||
@ -367,7 +342,6 @@ accessible through its thermo name:
|
||||
|
||||
Together with matplotlib plotting data out of LAMMPS becomes simple:
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
import matplotlib.plot as plt
|
||||
@ -406,7 +380,6 @@ tutorials and showcasing your latest research.
|
||||
To launch an instance of Jupyter simply run the following command inside your
|
||||
Python environment (this assumes you followed the Quick Start instructions):
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
jupyter notebook
|
||||
@ -429,7 +402,6 @@ Four atoms are placed in the simulation and the dihedral potential is applied on
|
||||
them using a datafile. Then one of the atoms is rotated along the central axis by
|
||||
setting its position from Python, which changes the dihedral angle.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
phi = [d \* math.pi / 180 for d in range(360)]
|
||||
@ -463,7 +435,6 @@ Initially, a 2D system is created in a state with minimal energy.
|
||||
|
||||
It is then disordered by moving each atom by a random delta.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
random.seed(27848)
|
||||
@ -483,7 +454,6 @@ It is then disordered by moving each atom by a random delta.
|
||||
Finally, the Monte Carlo algorithm is implemented in Python. It continuously
|
||||
moves random atoms by a random delta and only accepts certain moves.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
estart = L.eval("pe")
|
||||
@ -536,7 +506,6 @@ Using PyLammps and mpi4py (Experimental)
|
||||
|
||||
PyLammps can be run in parallel using mpi4py. This python package can be installed using
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip install mpi4py
|
||||
@ -544,7 +513,6 @@ PyLammps can be run in parallel using mpi4py. This python package can be install
|
||||
The following is a short example which reads in an existing LAMMPS input file and
|
||||
executes it in parallel. You can find in.melt in the examples/melt folder.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
from mpi4py import MPI
|
||||
@ -561,7 +529,6 @@ executes it in parallel. You can find in.melt in the examples/melt folder.
|
||||
To run this script (melt.py) in parallel using 4 MPI processes we invoke the
|
||||
following mpirun command:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mpirun -np 4 python melt.py
|
||||
|
||||
@ -37,7 +37,6 @@ replica. The processors assigned to each replica are determined at
|
||||
run-time by using the :doc:`-partition command-line switch <Run_options>` to launch LAMMPS on multiple partitions,
|
||||
which in this context are the same as replicas. E.g. these commands:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mpirun -np 16 lmp_linux -partition 8x2 -in in.temper
|
||||
|
||||
@ -21,7 +21,6 @@ Look at the *in.chain* input script provided in the *bench* directory
|
||||
of the LAMMPS distribution to see the original script that these 2
|
||||
scripts are based on. If that script had the line
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
restart 50 tmp.restart
|
||||
@ -32,7 +31,6 @@ and tmp.restart.100) as it ran.
|
||||
This script could be used to read the 1st restart file and re-run the
|
||||
last 50 timesteps:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
read_restart tmp.restart.50
|
||||
@ -62,14 +60,12 @@ uses random numbers in a way that does not allow for perfect restarts.
|
||||
As an alternate approach, the restart file could be converted to a data
|
||||
file as follows:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
lmp_g++ -r tmp.restart.50 tmp.restart.data
|
||||
|
||||
Then, this script could be used to re-run the last 50 steps:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
units lj
|
||||
|
||||
@ -40,13 +40,9 @@ the SPC and SPC/E models.
|
||||
|
||||
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _howto-Berendsen:
|
||||
|
||||
|
||||
|
||||
**(Berendsen)** Berendsen, Grigera, Straatsma, J Phys Chem, 91,
|
||||
6269-6271 (1987).
|
||||
|
||||
@ -38,7 +38,6 @@ The dipole style does not actually define finite-size particles, but
|
||||
is often used in conjunction with spherical particles, via a command
|
||||
like
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
atom_style hybrid sphere dipole
|
||||
|
||||
@ -56,13 +56,9 @@ the magnetic energy. The second command is :doc:`compute property/atom <compute_
|
||||
per atom magnetic quantities. Typically, the orientation of a given
|
||||
magnetic spin, or the magnetic force acting on this spin.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _Tranchida:
|
||||
|
||||
|
||||
|
||||
**(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson,
|
||||
Journal of Computational Physics, 372, 406-425, (2018).
|
||||
|
||||
@ -82,13 +82,9 @@ specify them explicitly via the :doc:`thermo_style custom <thermo_style>` comman
|
||||
:doc:`thermo_modify <thermo_modify>` command to re-define what
|
||||
temperature compute is used for default thermodynamic output.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _Daivis-thermostat:
|
||||
|
||||
|
||||
|
||||
**(Daivis and Todd)** Daivis and Todd, Nonequilibrium Molecular Dynamics (book),
|
||||
Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017).
|
||||
|
||||
@ -51,26 +51,18 @@ details:
|
||||
|
||||
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _howto-tip3p:
|
||||
|
||||
|
||||
|
||||
**(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
|
||||
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
|
||||
|
||||
.. _Jorgensen1:
|
||||
|
||||
|
||||
|
||||
**(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
|
||||
Phys, 79, 926 (1983).
|
||||
|
||||
.. _Price1:
|
||||
|
||||
|
||||
|
||||
**(Price)** Price and Brooks, J Chem Phys, 121, 10096 (2004).
|
||||
|
||||
@ -99,13 +99,9 @@ and Coulombic cutoffs are set in the :doc:`pair_style lj/cut/tip4p/long <pair_lj
|
||||
|
||||
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _Jorgensen5:
|
||||
|
||||
|
||||
|
||||
**(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
|
||||
Phys, 79, 926 (1983).
|
||||
|
||||
@ -200,7 +200,6 @@ an orthogonal bounding box which encloses the triclinic simulation box
|
||||
is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic
|
||||
box, formatted as follows:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
ITEM: BOX BOUNDS xy xz yz
|
||||
@ -212,7 +211,6 @@ This bounding box is convenient for many visualization programs and is
|
||||
calculated from the 9 triclinic box parameters
|
||||
(xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz)
|
||||
|
||||
@ -62,7 +62,6 @@ simulation box.
|
||||
Here is an example input script that calculates the viscosity of
|
||||
liquid Ar via the GK formalism:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
# Sample LAMMPS input script for viscosity of liquid Ar
|
||||
@ -131,13 +130,9 @@ time-integrated momentum fluxes play the role of Cartesian
|
||||
coordinates, whose mean-square displacement increases linearly
|
||||
with time at sufficiently long times.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _Daivis-viscosity:
|
||||
|
||||
|
||||
|
||||
**(Daivis and Todd)** Daivis and Todd, Nonequilibrium Molecular Dynamics (book),
|
||||
Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017).
|
||||
|
||||
@ -27,10 +27,6 @@ snapshots.
|
||||
|
||||
.. _pizza: http://www.sandia.gov/~sjplimp/pizza.html
|
||||
|
||||
|
||||
|
||||
.. _ensight: http://www.ensight.com
|
||||
|
||||
|
||||
|
||||
.. _atomeye: http://mt.seas.upenn.edu/Archive/Graphics/A
|
||||
|
||||
@ -8,7 +8,6 @@ have more flexibility as to what features to include or exclude in the
|
||||
build. If you plan to :doc:`modify or extend LAMMPS <Modify>`, then you
|
||||
need the source code.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
@ -16,7 +16,6 @@ commands explained below to communicate with the git servers on
|
||||
GitHub. For people still using subversion (svn), GitHub also
|
||||
provides `limited support for subversion clients <svn_>`_.
|
||||
|
||||
|
||||
.. warning::
|
||||
|
||||
As of October 2016, the official home of public LAMMPS development is
|
||||
@ -35,7 +34,6 @@ You can follow LAMMPS development on 3 different git branches:
|
||||
To access the git repositories on your box, use the clone command to
|
||||
create a local copy of the LAMMPS repository with a command like:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git clone -b unstable https://github.com/lammps/lammps.git mylammps
|
||||
@ -57,7 +55,6 @@ LAMMPS, as listed on :doc:`this page <Errors_bugs>`, you can stay
|
||||
up-to-date by typing the following git commands from within the
|
||||
"mylammps" directory:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ git checkout unstable # not needed if you always stay in this branch
|
||||
@ -92,7 +89,6 @@ Once you have updated your local files with a "git pull" (or "git
|
||||
checkout"), you still need to re-build LAMMPS if any source files have
|
||||
changed. To do this, you should cd to the src directory and type:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make purge # remove any deprecated src files
|
||||
|
||||
@ -206,7 +206,6 @@ Gentoo Linux executable
|
||||
LAMMPS is part of Gentoo's main package tree and can be installed by
|
||||
typing:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
% emerge --ask lammps
|
||||
@ -216,7 +215,6 @@ built on the your machine.
|
||||
|
||||
Certain LAMMPS packages can be enable via USE flags, type
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
% equery uses lammps
|
||||
|
||||
@ -10,7 +10,6 @@ GPU, KOKKOS, LATTE, MSCG, MESSAGE, MPIIO POEMS VORONOI.
|
||||
After installing Homebrew, you can install LAMMPS on your system with
|
||||
the following commands:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
% brew install lammps
|
||||
@ -21,7 +20,6 @@ the LAMMPS "doc", "potentials", "tools", "bench", and "examples" directories.
|
||||
Once LAMMPS is installed, you can test the installation with the
|
||||
Lennard-Jones benchmark file:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
% brew test lammps -v
|
||||
@ -31,7 +29,6 @@ results in Homebrew also installing the `kim-api` binaries when LAMMPS is
|
||||
installed. In order to use potentials from `openkim.org <openkim_>`_, you can
|
||||
install the `openkim-models` package
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
% brew install openkim-models
|
||||
@ -44,5 +41,4 @@ If you have problems with the installation you can post issues to
|
||||
Thanks to Derek Thomas (derekt at cello.t.u-tokyo.ac.jp) for setting
|
||||
up the Homebrew capability.
|
||||
|
||||
|
||||
.. _openkim: https://openkim.org
|
||||
|
||||
@ -52,7 +52,6 @@ the next patch release tarball.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
If you download a current LAMMPS tarball, one way to stay current as
|
||||
new patch tarballs are released, is to download a patch file which you
|
||||
can apply to your local directory to update it for each new patch
|
||||
|
||||
@ -3,7 +3,6 @@ Introduction
|
||||
|
||||
These pages provide a brief introduction to LAMMPS.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
@ -13,23 +13,18 @@ University:
|
||||
.. _sjp: http://www.cs.sandia.gov/~sjplimp
|
||||
.. _lws: http://lammps.sandia.gov
|
||||
|
||||
|
||||
Past developers include Paul Crozier and Mark Stevens, both at Sandia,
|
||||
and Ray Shan, now at Materials Design.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The `Authors page <http://lammps.sandia.gov/authors.html>`_ of the
|
||||
`LAMMPS website <lws_>`_ has a comprehensive list of all the individuals
|
||||
who have contributed code for a new feature or command or tool to
|
||||
LAMMPS.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The following folks deserve special recognition. Many of the packages
|
||||
they have written are unique for an MD code and LAMMPS would not be as
|
||||
general-purpose as it is without their expertise and efforts.
|
||||
@ -49,10 +44,8 @@ general-purpose as it is without their expertise and efforts.
|
||||
* Ilya Valuev (JIHT), USER-AWPMD package for wave packet MD
|
||||
* Greg Wagner (Northwestern U), MEAM package for MEAM potential
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
As discussed on the `History page <http://lammps.sandia.gov/history.html>`_ of the website, LAMMPS
|
||||
originated as a cooperative project between DOE labs and industrial
|
||||
partners. Folks involved in the design and testing of the original
|
||||
|
||||
@ -16,10 +16,8 @@ classes of functionality:
|
||||
10. :ref:`Pre- and post-processing <prepost>`
|
||||
11. :ref:`Specialized features (beyond MD itself) <special>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _general:
|
||||
|
||||
General features
|
||||
@ -191,12 +189,8 @@ Pre- and post-processing
|
||||
|
||||
.. _pizza: http://www.sandia.gov/~sjplimp/pizza.html
|
||||
|
||||
|
||||
|
||||
.. _python: http://www.python.org
|
||||
|
||||
|
||||
|
||||
.. _special:
|
||||
|
||||
Specialized features
|
||||
|
||||
@ -15,16 +15,10 @@ distribution.
|
||||
|
||||
.. _gnu: http://www.gnu.org/copyleft/gpl.html
|
||||
|
||||
|
||||
|
||||
.. _gnuorg: http://www.gnu.org
|
||||
|
||||
|
||||
|
||||
.. _opensource: http://www.opensource.org
|
||||
|
||||
|
||||
|
||||
Here is a summary of what the GPL means for LAMMPS users:
|
||||
|
||||
(1) Anyone is free to use, modify, or extend LAMMPS in any way they
|
||||
|
||||
@ -5,7 +5,6 @@ Depending on how you obtained LAMMPS, the doc directory has up
|
||||
to 6 sub-directories, 2 Nroff files, and optionally 2 PDF files
|
||||
plus 2 e-book format files:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
src # content files for LAMMPS documentation
|
||||
@ -49,11 +48,9 @@ b. You can build the HTML or PDF files yourself, by typing "make html"
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The generation of all documentation is managed by the Makefile in
|
||||
the doc directory.
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
Documentation Build Options:
|
||||
@ -74,7 +71,6 @@ the doc directory.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Installing prerequisites for HTML build
|
||||
=======================================
|
||||
|
||||
@ -84,7 +80,6 @@ have to be installed. Here are instructions for common setups:
|
||||
Ubuntu
|
||||
------
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt-get install python-virtualenv
|
||||
@ -92,7 +87,6 @@ Ubuntu
|
||||
Fedora (up to version 21) and Red Hat Enterprise Linux or CentOS (up to version 7.x)
|
||||
------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo yum install python3-virtualenv
|
||||
@ -100,7 +94,6 @@ Fedora (up to version 21) and Red Hat Enterprise Linux or CentOS (up to version
|
||||
Fedora (since version 22)
|
||||
-------------------------
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo dnf install python3-virtualenv
|
||||
@ -121,17 +114,14 @@ virtualenv
|
||||
|
||||
Once Python 3 is installed, open a Terminal and type
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
pip3 install virtualenv
|
||||
|
||||
This will install virtualenv from the Python Package Index.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Installing prerequisites for epub build
|
||||
=======================================
|
||||
|
||||
|
||||
@ -10,7 +10,6 @@ If you add a new feature to LAMMPS and think it will be of interest to
|
||||
general users, we encourage you to submit it for inclusion in LAMMPS
|
||||
as a pull request on our `GitHub site <https://github.com/lammps/lammps>`_, after reading the :doc:`Modify contribute <Modify_contribute>` doc page.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
@ -98,7 +98,6 @@ The code for these classes can use the per-atom properties defined by
|
||||
fix property/atom. The Atom class has a find\_custom() method that is
|
||||
useful in this context:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
int index = atom->find_custom(char \*name, int &flag);
|
||||
@ -109,7 +108,6 @@ that it exists and its index is returned. The method also sets flag =
|
||||
The vector of values associated with the attribute can then be
|
||||
accessed using the returned index as
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
int \*ivector = atom->ivector[index];
|
||||
|
||||
@ -203,7 +203,6 @@ packages in the src directory for examples. If you are uncertain, please ask.
|
||||
usage. That kind of citation should just be in the doc page you
|
||||
provide.
|
||||
|
||||
|
||||
Finally, as a general rule-of-thumb, the more clear and
|
||||
self-explanatory you make your documentation and README files, and the
|
||||
easier you make it for people to get started, e.g. by providing example
|
||||
|
||||
@ -31,14 +31,12 @@ potentials described in the classic 1997 :ref:`paper <Foo>` by Foo, et al.
|
||||
If you wish to invoke those potentials in a LAMMPS input script with a
|
||||
command like
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style foo 0.1 3.5
|
||||
|
||||
then your pair\_foo.h file should be structured as follows:
|
||||
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
#ifdef PAIR_CLASS
|
||||
@ -103,5 +101,4 @@ functionality:
|
||||
|
||||
.. _Foo:
|
||||
|
||||
|
||||
**(Foo)** Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997).
|
||||
|
||||
@ -9,7 +9,6 @@ via the :doc:`print <print>`, :doc:`fix print <fix_print>`, or
|
||||
"equal" can compute complex equations that involve the following types
|
||||
of arguments:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
thermo keywords = ke, vol, atoms, ...
|
||||
|
||||
@ -11,7 +11,6 @@ distribution. The :doc:`Build package <Build_package>` doc page gives
|
||||
general info on how to install and un-install packages as part of the
|
||||
LAMMPS build process.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
@ -60,7 +60,6 @@ page gives those details.
|
||||
* :ref:`SRD <PKG-SRD>`
|
||||
* :ref:`VORONOI <PKG-VORONOI>`
|
||||
|
||||
|
||||
.. table_from_list::
|
||||
:columns: 6
|
||||
|
||||
@ -106,10 +105,8 @@ page gives those details.
|
||||
* :ref:`USER-VTK <PKG-USER-VTK>`
|
||||
* :ref:`USER-YAFF <PKG-USER-YAFF>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-ASPHERE:
|
||||
|
||||
ASPHERE package
|
||||
@ -133,10 +130,8 @@ particle models including ellipsoids, 2d lines, and 3d triangles.
|
||||
* http://lammps.sandia.gov/movies.html#line
|
||||
* http://lammps.sandia.gov/movies.html#tri
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-BODY:
|
||||
|
||||
BODY package
|
||||
@ -158,10 +153,8 @@ overview.
|
||||
* :doc:`pair_style body/nparticle <pair_body_nparticle>`
|
||||
* examples/body
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-CLASS2:
|
||||
|
||||
CLASS2 package
|
||||
@ -181,10 +174,8 @@ CLASS2 molecular force field.
|
||||
* :doc:`improper_style class2 <improper_class2>`
|
||||
* :doc:`pair_style lj/class2 <pair_class2>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-COLLOID:
|
||||
|
||||
COLLOID package
|
||||
@ -213,10 +204,8 @@ Higdon's group at UIUC.
|
||||
* examples/colloid
|
||||
* examples/srd
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-COMPRESS:
|
||||
|
||||
COMPRESS package
|
||||
@ -246,10 +235,8 @@ This package has :ref:`specific installation instructions <compress>` on the :do
|
||||
* :doc:`dump custom/gz <dump>`
|
||||
* :doc:`dump xyz/gz <dump>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-CORESHELL:
|
||||
|
||||
CORESHELL package
|
||||
@ -276,10 +263,8 @@ this package.
|
||||
* :doc:`pair_style lj/cut/coul/long/cs <pair_lj>`
|
||||
* examples/coreshell
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-DIPOLE:
|
||||
|
||||
DIPOLE package
|
||||
@ -299,10 +284,8 @@ short-range or long-range interactions.
|
||||
* :doc:`pair_style lj/long/dipole/long <pair_dipole>`
|
||||
* examples/dipole
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-GPU:
|
||||
|
||||
GPU package
|
||||
@ -341,10 +324,8 @@ This package has :ref:`specific installation instructions <gpu>` on the :doc:`Bu
|
||||
for styles followed by (g)
|
||||
* `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of web site
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-GRANULAR:
|
||||
|
||||
GRANULAR package
|
||||
@ -373,10 +354,8 @@ potentials.
|
||||
* http://lammps.sandia.gov/movies.html#brazil
|
||||
* http://lammps.sandia.gov/movies.html#granregion
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-KIM:
|
||||
|
||||
KIM package
|
||||
@ -430,10 +409,8 @@ This package has :ref:`specific installation instructions <kim>` on the :doc:`Bu
|
||||
* lib/kim/README
|
||||
* examples/kim
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-KOKKOS:
|
||||
|
||||
KOKKOS package
|
||||
@ -486,10 +463,8 @@ This package has :ref:`specific installation instructions <kokkos>` on the :doc:
|
||||
:doc:`kspace <Commands_kspace>`) for styles followed by (k)
|
||||
* `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of web site
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-KSPACE:
|
||||
|
||||
KSPACE package
|
||||
@ -523,10 +498,8 @@ different FFT options for your LAMPMS build.
|
||||
* examples/peptide
|
||||
* bench/in.rhodo
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-LATTE:
|
||||
|
||||
LATTE package
|
||||
@ -544,8 +517,6 @@ description is given with the :doc:`fix latte <fix_latte>` command.
|
||||
|
||||
.. _latte-home: https://github.com/lanl/LATTE
|
||||
|
||||
|
||||
|
||||
**Authors:** Christian Negre (LANL) and Steve Plimpton (Sandia). LATTE
|
||||
itself is developed at Los Alamos National Laboratory by Marc
|
||||
Cawkwell, Anders Niklasson, and Christian Negre.
|
||||
@ -563,10 +534,8 @@ This package has :ref:`specific installation instructions <latte>` on the :doc:`
|
||||
* examples/latte
|
||||
* `LAMMPS-LATTE tutorial <https://github.com/lanl/LATTE/wiki/Using-LATTE-through-LAMMPS>`_
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-MANYBODY:
|
||||
|
||||
MANYBODY package
|
||||
@ -589,10 +558,8 @@ A variety of many-body and bond-order potentials. These include
|
||||
* examples/vashishta
|
||||
* bench/in.eam
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-MC:
|
||||
|
||||
MC package
|
||||
@ -616,10 +583,8 @@ bonds, for performing atomic swaps, and performing grand-canonical MC
|
||||
* :doc:`pair_style dsmc <pair_dsmc>`
|
||||
* http://lammps.sandia.gov/movies.html#gcmc
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-MESSAGE:
|
||||
|
||||
MESSAGE package
|
||||
@ -644,10 +609,8 @@ This package has :ref:`specific installation instructions <message>` on the :doc
|
||||
* :doc:`server mc <server_mc>`
|
||||
* examples/message
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-MISC:
|
||||
|
||||
MISC package
|
||||
@ -678,10 +641,8 @@ listing, "ls src/MISC", to see the list of commands.
|
||||
* http://lammps.sandia.gov/pictures.html#ttm
|
||||
* http://lammps.sandia.gov/movies.html#evaporation
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-MOLECULE:
|
||||
|
||||
MOLECULE package
|
||||
@ -712,10 +673,8 @@ force fields, and a TIP4P water model.
|
||||
* bench/in.chain
|
||||
* bench/in.rhodo
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-MPIIO:
|
||||
|
||||
MPIIO package
|
||||
@ -736,10 +695,8 @@ written and read in parallel.
|
||||
* :doc:`write_restart <write_restart>`
|
||||
* :doc:`read_restart <read_restart>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-mscg:
|
||||
|
||||
MSCG package
|
||||
@ -752,8 +709,6 @@ Multi-Scale Coarse-Graining (MSCG) model using the open-source `MS-CG library <m
|
||||
|
||||
.. _mscg-home: https://github.com/uchicago-voth/MSCG-release
|
||||
|
||||
|
||||
|
||||
To use this package you must have the MS-CG library available on your
|
||||
system.
|
||||
|
||||
@ -772,10 +727,8 @@ This package has :ref:`specific installation instructions <mscg>` on the :doc:`B
|
||||
* lib/mscg/README
|
||||
* examples/mscg
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-OPT:
|
||||
|
||||
OPT package
|
||||
@ -808,10 +761,8 @@ This package has :ref:`specific installation instructions <opt>` on the :doc:`Bu
|
||||
* Search the :doc:`pair style <Commands_pair>` page for styles followed by (t)
|
||||
* `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of web site
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-PERI:
|
||||
|
||||
PERI package
|
||||
@ -841,10 +792,8 @@ Foster (UTSA).
|
||||
* examples/peri
|
||||
* http://lammps.sandia.gov/movies.html#peri
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-POEMS:
|
||||
|
||||
POEMS package
|
||||
@ -872,10 +821,8 @@ This package has :ref:`specific installation instructions <poems>` on the :doc:`
|
||||
* :doc:`fix poems <fix_poems>`
|
||||
* examples/rigid
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-PYTHON:
|
||||
|
||||
PYTHON package
|
||||
@ -907,10 +854,8 @@ This package has :ref:`specific installation instructions <python>` on the :doc:
|
||||
* lib/python/README
|
||||
* examples/python
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-QEQ:
|
||||
|
||||
QEQ package
|
||||
@ -929,10 +874,8 @@ part of their formulation.
|
||||
* examples/qeq
|
||||
* examples/streitz
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-REPLICA:
|
||||
|
||||
REPLICA package
|
||||
@ -962,10 +905,8 @@ another set.
|
||||
* examples/prd
|
||||
* examples/tad
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-RIGID:
|
||||
|
||||
RIGID package
|
||||
@ -991,10 +932,8 @@ Also several computes which calculate properties of rigid bodies.
|
||||
* http://lammps.sandia.gov/movies.html#box
|
||||
* http://lammps.sandia.gov/movies.html#star
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-SHOCK:
|
||||
|
||||
SHOCK package
|
||||
@ -1015,10 +954,8 @@ a material.
|
||||
* examples/hugoniostat
|
||||
* examples/msst
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-SNAP:
|
||||
|
||||
SNAP package
|
||||
@ -1042,10 +979,8 @@ computes which analyze attributes of the potential.
|
||||
* :doc:`compute snav/atom <compute_sna_atom>`
|
||||
* examples/snap
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-SPIN:
|
||||
|
||||
SPIN package
|
||||
@ -1074,10 +1009,8 @@ the usual manner via MD. Various pair, fix, and compute styles.
|
||||
* :doc:`neb/spin <neb_spin>`
|
||||
* examples/SPIN
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-SRD:
|
||||
|
||||
SRD package
|
||||
@ -1100,10 +1033,8 @@ colloidal particles.
|
||||
* http://lammps.sandia.gov/movies.html#line
|
||||
* http://lammps.sandia.gov/movies.html#poly
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-VORONOI:
|
||||
|
||||
VORONOI package
|
||||
@ -1118,8 +1049,6 @@ neighbors.
|
||||
|
||||
.. _voro-home: http://math.lbl.gov/voro++
|
||||
|
||||
|
||||
|
||||
To use this package you must have the Voro++ library available on your
|
||||
system.
|
||||
|
||||
@ -1139,10 +1068,8 @@ This package has :ref:`specific installation instructions <voronoi>` on the :doc
|
||||
* :doc:`compute voronoi/atom <compute_voronoi_atom>`
|
||||
* examples/voronoi
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-ADIOS:
|
||||
|
||||
USER-ADIOS package
|
||||
@ -1171,11 +1098,8 @@ This package has :ref:`specific installation instructions <user-adios>` on the :
|
||||
* :doc:`dump custom/adios <dump_adios>`
|
||||
* :doc:`read_dump <read_dump>`
|
||||
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-ATC:
|
||||
|
||||
USER-ATC package
|
||||
@ -1201,10 +1125,8 @@ This package has :ref:`specific installation instructions <user-atc>` on the :do
|
||||
* examples/USER/atc
|
||||
* http://lammps.sandia.gov/pictures.html#atc
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-AWPMD:
|
||||
|
||||
USER-AWPMD package
|
||||
@ -1230,10 +1152,8 @@ This package has :ref:`specific installation instructions <user-awpmd>` on the :
|
||||
* :doc:`pair_style awpmd/cut <pair_awpmd>`
|
||||
* examples/USER/awpmd
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-BOCS:
|
||||
|
||||
USER-BOCS package
|
||||
@ -1265,10 +1185,8 @@ J. Phys. Chem. B. 122, 13, 3363-3377 (2018).
|
||||
|
||||
Example inputs are in the examples/USER/bocs folder.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-CGDNA:
|
||||
|
||||
USER-CGDNA package
|
||||
@ -1295,10 +1213,8 @@ rigid-body integrators with improved stability.
|
||||
* :doc:`bond_style oxrna2/\* <bond_oxdna>`
|
||||
* :doc:`fix nve/dotc/langevin <fix_nve_dotc_langevin>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-CGSDK:
|
||||
|
||||
USER-CGSDK package
|
||||
@ -1322,10 +1238,8 @@ acids.
|
||||
* examples/USER/cgsdk
|
||||
* http://lammps.sandia.gov/pictures.html#cg
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-COLVARS:
|
||||
|
||||
USER-COLVARS package
|
||||
@ -1359,10 +1273,8 @@ This package has :ref:`specific installation instructions <user-colvars>` on the
|
||||
* :doc:`fix colvars <fix_colvars>`
|
||||
* examples/USER/colvars
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-PLUMED:
|
||||
|
||||
USER-PLUMED package
|
||||
@ -1381,8 +1293,6 @@ Tribello.
|
||||
|
||||
.. _PLUMED: http://www.plumed.org
|
||||
|
||||
|
||||
|
||||
**Install:**
|
||||
|
||||
This package has :ref:`specific installation instructions <user-plumed>` on the :doc:`Build extras <Build_extras>` doc page.
|
||||
@ -1394,10 +1304,8 @@ This package has :ref:`specific installation instructions <user-plumed>` on the
|
||||
* :doc:`fix plumed <fix_plumed>`
|
||||
* examples/USER/plumed
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-DIFFRACTION:
|
||||
|
||||
USER-DIFFRACTION package
|
||||
@ -1418,10 +1326,8 @@ intensities based on kinematic diffraction theory.
|
||||
* :doc:`fix saed/vtk <fix_saed_vtk>`
|
||||
* examples/USER/diffraction
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-DPD:
|
||||
|
||||
USER-DPD package
|
||||
@ -1461,10 +1367,8 @@ Brennan (ARL).
|
||||
* :doc:`pair_style multi/lucy/rx <pair_multi_lucy_rx>`
|
||||
* examples/USER/dpd
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-DRUDE:
|
||||
|
||||
USER-DRUDE package
|
||||
@ -1495,10 +1399,8 @@ Devemy (CNRS), and Agilio Padua (U Blaise Pascal).
|
||||
* examples/USER/drude
|
||||
* tools/drude
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-EFF:
|
||||
|
||||
USER-EFF package
|
||||
@ -1533,10 +1435,8 @@ tools/eff; see its README file.
|
||||
* tools/eff
|
||||
* http://lammps.sandia.gov/movies.html#eff
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-FEP:
|
||||
|
||||
USER-FEP package
|
||||
@ -1562,10 +1462,8 @@ for using this package in tools/fep; see its README file.
|
||||
* tools/fep/README
|
||||
* tools/fep
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-H5MD:
|
||||
|
||||
USER-H5MD package
|
||||
@ -1581,8 +1479,6 @@ LAMMPS snapshots in this format.
|
||||
|
||||
.. _HDF5: http://www.hdfgroup.org/HDF5
|
||||
|
||||
|
||||
|
||||
To use this package you must have the HDF5 library available on your
|
||||
system.
|
||||
|
||||
@ -1600,10 +1496,8 @@ This package has :ref:`specific installation instructions <user-h5md>` on the :d
|
||||
* lib/h5md/README
|
||||
* :doc:`dump h5md <dump_h5md>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-INTEL:
|
||||
|
||||
USER-INTEL package
|
||||
@ -1649,10 +1543,8 @@ This package has :ref:`specific installation instructions <user-intel>` on the :
|
||||
* src/USER-INTEL/TEST
|
||||
* `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of web site
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-LB:
|
||||
|
||||
USER-LB package
|
||||
@ -1675,10 +1567,8 @@ Ontario).
|
||||
* :doc:`fix lb/viscous <fix_lb_viscous>`
|
||||
* examples/USER/lb
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-MGPT:
|
||||
|
||||
USER-MGPT package
|
||||
@ -1704,10 +1594,8 @@ matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL.
|
||||
* :doc:`pair_style mgpt <pair_mgpt>`
|
||||
* examples/USER/mgpt
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-MISC:
|
||||
|
||||
USER-MISC package
|
||||
@ -1729,10 +1617,8 @@ src/USER-MISC/README file.
|
||||
* one doc page per individual command listed in src/USER-MISC/README
|
||||
* examples/USER/misc
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-MANIFOLD:
|
||||
|
||||
USER-MANIFOLD package
|
||||
@ -1762,10 +1648,8 @@ Waltham, MA, USA)
|
||||
* examples/USER/manifold
|
||||
* http://lammps.sandia.gov/movies.html#manifold
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-MEAMC:
|
||||
|
||||
USER-MEAMC package
|
||||
@ -1789,10 +1673,8 @@ Sandia.
|
||||
* :doc:`pair_style meam/c <pair_meamc>`
|
||||
* examples/meamc
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-MESODPD:
|
||||
|
||||
USER-MESODPD package
|
||||
@ -1822,10 +1704,8 @@ algorithm.
|
||||
* examples/USER/mesodpd
|
||||
* http://lammps.sandia.gov/movies.html#mesodpd
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-MOFFF:
|
||||
|
||||
USER-MOFFF package
|
||||
@ -1844,8 +1724,6 @@ well as the `MOF+ <MOFplus_>`_ website.
|
||||
|
||||
.. _MOFplus: https://www.mofplus.org/content/show/MOF-FF
|
||||
|
||||
|
||||
|
||||
**Author:** Hendrik Heenen (Technical U of Munich),
|
||||
Rochus Schmid (Ruhr-University Bochum).
|
||||
|
||||
@ -1859,10 +1737,8 @@ Rochus Schmid (Ruhr-University Bochum).
|
||||
* :doc:`improper_style inversion/harmonic <improper_inversion_harmonic>`
|
||||
* examples/USER/mofff
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-MOLFILE:
|
||||
|
||||
USER-MOLFILE package
|
||||
@ -1903,10 +1779,8 @@ This package has :ref:`specific installation instructions <user-molfile>` on the
|
||||
* lib/molfile/README
|
||||
* :doc:`dump molfile <dump_molfile>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-NETCDF:
|
||||
|
||||
USER-NETCDF package
|
||||
@ -1931,16 +1805,10 @@ tools:
|
||||
|
||||
.. _ovito: http://www.ovito.org
|
||||
|
||||
|
||||
|
||||
.. _vmd-home: https://www.ks.uiuc.edu/Research/vmd/
|
||||
|
||||
|
||||
|
||||
.. _atomeye: http://www.libatoms.org
|
||||
|
||||
|
||||
|
||||
**Author:** Lars Pastewka (Karlsruhe Institute of Technology).
|
||||
|
||||
**Install:**
|
||||
@ -1954,10 +1822,8 @@ This package has :ref:`specific installation instructions <user-netcdf>` on the
|
||||
* lib/netcdf/README
|
||||
* :doc:`dump netcdf <dump_netcdf>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-OMP:
|
||||
|
||||
USER-OMP package
|
||||
@ -2010,10 +1876,8 @@ This package has :ref:`specific installation instructions <user-omp>` on the :do
|
||||
:doc:`kspace <Commands_kspace>`) for styles followed by (o)
|
||||
* `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of web site
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-PHONON:
|
||||
|
||||
USER-PHONON package
|
||||
@ -2040,10 +1904,8 @@ and Charlie Sievers (UC Davis) for "dynamical\_matrix" and "third\_order"
|
||||
* :doc:`third_order <third_order>`
|
||||
* examples/USER/phonon
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-PTM:
|
||||
|
||||
USER-PTM package
|
||||
@ -2064,10 +1926,8 @@ Matching methodology.
|
||||
* src/USER-PTM/LICENSE
|
||||
* :doc:`compute ptm/atom <compute_ptm_atom>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-QMMM:
|
||||
|
||||
USER-QMMM package
|
||||
@ -2097,7 +1957,6 @@ changes to LAMMPS itself.
|
||||
|
||||
**Authors:** Axel Kohlmeyer (Temple U). Mariella Ippolito and Carlo Cavazzoni (CINECA, Italy)
|
||||
|
||||
|
||||
**Install:**
|
||||
|
||||
This package has :ref:`specific installation instructions <user-qmmm>`
|
||||
@ -2112,10 +1971,8 @@ on the :doc:`Build extras <Build_extras>` doc page.
|
||||
* lib/qmmm/example-ec/README
|
||||
* lib/qmmm/example-mc/README
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-QTB:
|
||||
|
||||
USER-QTB package
|
||||
@ -2142,10 +1999,8 @@ simulation.
|
||||
* :doc:`fix qbmsst <fix_qbmsst>`
|
||||
* examples/USER/qtb
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-QUIP:
|
||||
|
||||
USER-QUIP package
|
||||
@ -2159,8 +2014,6 @@ developed by the Cambridge University group.
|
||||
|
||||
.. _quip: https://github.com/libAtoms/QUIP
|
||||
|
||||
|
||||
|
||||
To use this package you must have the QUIP libAtoms library available
|
||||
on your system.
|
||||
|
||||
@ -2177,10 +2030,8 @@ This package has :ref:`specific installation instructions <user-quip>` on the :d
|
||||
* :doc:`pair_style quip <pair_quip>`
|
||||
* examples/USER/quip
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-REACTION:
|
||||
|
||||
USER-REACTION package
|
||||
@ -2210,10 +2061,8 @@ molecules, and chiral-sensitive reactions.
|
||||
* `2019 LAMMPS Workshop <https://lammps.sandia.gov/workshops/Aug19/talk_gissinger.pdf>`_
|
||||
* disarmmd.org
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-REAXC:
|
||||
|
||||
USER-REAXC package
|
||||
@ -2237,10 +2086,8 @@ for monitoring molecules as bonds are created and destroyed.
|
||||
* :doc:`fix reax/c/species <fix_reaxc_species>`
|
||||
* examples/reax
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-SCAFACOS:
|
||||
|
||||
USER-SCAFACOS package
|
||||
@ -2274,10 +2121,8 @@ This package has :ref:`specific installation instructions <user-scafacos>` on th
|
||||
* :doc:`kspace_modify <kspace_modify>`
|
||||
* examples/USER/scafacos
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-SDPD:
|
||||
|
||||
USER-SDPD package
|
||||
@ -2304,10 +2149,8 @@ Sciences, Iran).
|
||||
* :doc:`fix rigid/meso <fix_rigid_meso>`
|
||||
* examples/USER/sdpd
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-SMD:
|
||||
|
||||
USER-SMD package
|
||||
@ -2344,10 +2187,8 @@ This package has :ref:`specific installation instructions <user-smd>` on the :do
|
||||
* examples/USER/smd
|
||||
* http://lammps.sandia.gov/movies.html#smd
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-SMTBQ:
|
||||
|
||||
USER-SMTBQ package
|
||||
@ -2369,10 +2210,8 @@ Tetot (LAAS-CNRS, France).
|
||||
* :doc:`pair_style smtbq <pair_smtbq>`
|
||||
* examples/USER/smtbq
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-SPH:
|
||||
|
||||
USER-SPH package
|
||||
@ -2405,10 +2244,8 @@ Dynamics, Ernst Mach Institute, Germany).
|
||||
* examples/USER/sph
|
||||
* http://lammps.sandia.gov/movies.html#sph
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-TALLY:
|
||||
|
||||
USER-TALLY package
|
||||
@ -2429,10 +2266,8 @@ stress, etc) about individual interactions.
|
||||
* :doc:`compute \*/tally <compute_tally>`
|
||||
* examples/USER/tally
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-UEF:
|
||||
|
||||
USER-UEF package
|
||||
@ -2457,10 +2292,8 @@ supporting compute styles and an output option.
|
||||
* :doc:`dump cfg/uef <dump_cfg_uef>`
|
||||
* examples/uef
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-VTK:
|
||||
|
||||
USER-VTK package
|
||||
@ -2474,12 +2307,8 @@ other visualization packages.
|
||||
|
||||
.. _vtk: http://www.vtk.org
|
||||
|
||||
|
||||
|
||||
.. _paraview: http://www.paraview.org
|
||||
|
||||
|
||||
|
||||
To use this package you must have VTK library available on your
|
||||
system.
|
||||
|
||||
@ -2496,10 +2325,8 @@ This package has :ref:`specific installation instructions <user-vtk>` on the :do
|
||||
* lib/vtk/README
|
||||
* :doc:`dump vtk <dump_vtk>`
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _PKG-USER-YAFF:
|
||||
|
||||
USER-YAFF package
|
||||
|
||||
@ -59,7 +59,6 @@ new potential.
|
||||
To use any of these commands, you only need to build LAMMPS with the
|
||||
PYTHON package installed:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
make yes-python
|
||||
|
||||
@ -27,10 +27,8 @@ distribution.
|
||||
| combination of viz\_tool.py and plot.py and gui.py | |
|
||||
+----------------------------------------------------------------+--------------------------------------------------+
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
For the viz\_tool.py and vizplotgui\_tool.py commands, replace "tool"
|
||||
with "gl" or "atomeye" or "pymol" or "vmd", depending on what
|
||||
visualization package you have installed.
|
||||
@ -40,13 +38,10 @@ which is included in the pizza sub-directory. See the `Pizza.py doc pages <pizz
|
||||
|
||||
.. _pizza: http://www.sandia.gov/~sjplimp/pizza.html
|
||||
|
||||
|
||||
|
||||
Note that for AtomEye, you need version 3, and there is a line in the
|
||||
scripts that specifies the path and name of the executable. See the
|
||||
AtomEye WWW pages `here <atomeye_>`_ or `here <atomeye3_>`_ for more details:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
http://mt.seas.upenn.edu/Archive/Graphics/A
|
||||
@ -54,12 +49,8 @@ AtomEye WWW pages `here <atomeye_>`_ or `here <atomeye3_>`_ for more details:
|
||||
|
||||
.. _atomeye: http://mt.seas.upenn.edu/Archive/Graphics/A
|
||||
|
||||
|
||||
|
||||
.. _atomeye3: http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html
|
||||
|
||||
|
||||
|
||||
The latter link is to AtomEye 3 which has the scripting
|
||||
capability needed by these Python scripts.
|
||||
|
||||
@ -68,7 +59,6 @@ open-source version of PyMol in your Python, so that you can import it
|
||||
from a Python script. See the PyMol WWW pages `here <pymolhome_>`_ or
|
||||
`here <pymolopen_>`_ for more details:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
http://www.pymol.org
|
||||
@ -76,22 +66,16 @@ from a Python script. See the PyMol WWW pages `here <pymolhome_>`_ or
|
||||
|
||||
.. _pymolhome: http://www.pymol.org
|
||||
|
||||
|
||||
|
||||
.. _pymolopen: http://sourceforge.net/scm/?type=svn&group\_id=4546
|
||||
|
||||
|
||||
|
||||
The latter link is to the open-source version.
|
||||
|
||||
Note that for VMD, you need a fairly current version (1.8.7 works for
|
||||
me) and there are some lines in the pizza/vmd.py script for 4 PIZZA
|
||||
variables that have to match the VMD installation on your system.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
See the python/README file for instructions on how to run them and the
|
||||
source code for individual scripts for comments about what they do.
|
||||
|
||||
|
||||
@ -4,7 +4,6 @@ Use Python with LAMMPS
|
||||
These doc pages describe various ways that LAMMPS and Python can be
|
||||
used together.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
@ -31,7 +31,6 @@ If you set the paths to these files as environment variables, you only
|
||||
have to do it once. For the csh or tcsh shells, add something like
|
||||
this to your ~/.cshrc file, one line for each of the two files:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/python
|
||||
@ -49,7 +48,6 @@ files are updated with the new version.
|
||||
If the default settings of "make install-python" are not what you want,
|
||||
you can invoke install.py from the python directory manually as
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
% python install.py -m \<python module\> -l <shared library> -v <version.h file> [-d \<pydir\>]
|
||||
|
||||
@ -8,7 +8,6 @@ methods that can be invoked on that object. The sample Python code
|
||||
below assumes you have first imported the "lammps" module in your
|
||||
Python script, as follows:
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
from lammps import lammps
|
||||
@ -22,7 +21,6 @@ from a C++ or C or Fortran program, and which are described on the
|
||||
The python/examples directory has Python scripts which show how Python
|
||||
can run LAMMPS, grab data, change it, and put it back into LAMMPS.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
lmp = lammps() # create a LAMMPS object using the default liblammps.so library
|
||||
@ -93,13 +91,10 @@ can run LAMMPS, grab data, change it, and put it back into LAMMPS.
|
||||
|
||||
lmp.create_atoms(n,ids,types,x,v,image,shrinkexceed) # create N atoms with IDs, types, x, v, and image flags
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The lines
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
from lammps import lammps
|
||||
@ -116,7 +111,6 @@ prompt.
|
||||
|
||||
If the ptr argument is set like this:
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
lmp = lammps(ptr=lmpptr)
|
||||
@ -133,7 +127,6 @@ instance "lmp" to make calls to that instance of LAMMPS. See the
|
||||
Note that you can create multiple LAMMPS objects in your Python
|
||||
script, and coordinate and run multiple simulations, e.g.
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
from lammps import lammps
|
||||
@ -229,7 +222,6 @@ For the scatter methods, the array of coordinates passed to must be a
|
||||
ctypes vector of ints or doubles, allocated and initialized something
|
||||
like this:
|
||||
|
||||
|
||||
.. code-block:: Python
|
||||
|
||||
from ctypes import \*
|
||||
@ -247,10 +239,8 @@ like this:
|
||||
Alternatively, you can just change values in the vector returned by
|
||||
the gather methods, since they are also ctypes vectors.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
As noted above, these Python class methods correspond one-to-one with
|
||||
the functions in the LAMMPS library interface in src/library.cpp and
|
||||
library.h. This means you can extend the Python wrapper via the
|
||||
@ -264,7 +254,6 @@ following steps:
|
||||
* You should now be able to invoke the new interface function from a
|
||||
Python script.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
.. autoclass:: lammps.lammps
|
||||
|
||||
@ -18,7 +18,6 @@ LAMMPS instances on subsets of the total MPI ranks.
|
||||
To install mpi4py (version mpi4py-3.0.3 as of Nov 2019), unpack it
|
||||
and from its main directory, type
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
python setup.py build
|
||||
@ -28,7 +27,6 @@ Again, the "sudo" is only needed if required to copy mpi4py files into
|
||||
your Python distribution's site-packages directory. To install with
|
||||
user privilege into the user local directory type
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
python setup.py install --user
|
||||
@ -36,7 +34,6 @@ user privilege into the user local directory type
|
||||
If you have successfully installed mpi4py, you should be able to run
|
||||
Python and type
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
from mpi4py import MPI
|
||||
@ -44,14 +41,12 @@ Python and type
|
||||
without error. You should also be able to run python in parallel
|
||||
on a simple test script
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
% mpirun -np 4 python test.py
|
||||
|
||||
where test.py contains the lines
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
from mpi4py import MPI
|
||||
|
||||
@ -12,7 +12,6 @@ wrap LAMMPS. On Linux this is a library file that ends in ".so", not
|
||||
|
||||
From the src directory, type
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
make foo mode=shlib
|
||||
@ -38,7 +37,6 @@ Build LAMMPS as a shared library using CMake
|
||||
When using CMake the following two options are necessary to generate the LAMMPS
|
||||
shared library:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
-D BUILD_LIB=on # enable building LAMMPS as a library
|
||||
@ -52,7 +50,6 @@ library path (e.g. /usr/lib64/) or in the LD\_LIBRARY\_PATH.
|
||||
If you want to use the shared library with Python the recommended way is to create a virtualenv and use it as
|
||||
CMAKE\_INSTALL\_PREFIX.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
# create virtualenv
|
||||
@ -72,7 +69,6 @@ This will also install the Python module into your virtualenv. Since virtualenv
|
||||
doesn't change your LD\_LIBRARY\_PATH, you still need to add its lib64 folder to
|
||||
it, which contains the installed liblammps.so.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
export LD_LIBRARY_PATH=$VIRTUAL_ENV/lib64:$LD_LIBRARY_PATH
|
||||
|
||||
@ -4,7 +4,6 @@ Test the Python/LAMMPS interface
|
||||
To test if LAMMPS is callable from Python, launch Python interactively
|
||||
and type:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
>>> from lammps import lammps
|
||||
@ -13,7 +12,6 @@ and type:
|
||||
If you get no errors, you're ready to use LAMMPS from Python. If the
|
||||
2nd command fails, the most common error to see is
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
OSError: Could not load LAMMPS dynamic library
|
||||
@ -27,7 +25,6 @@ should give you an indication of what went wrong.
|
||||
You can also test the load directly in Python as follows, without
|
||||
first importing from the lammps.py file:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
>>> from ctypes import CDLL
|
||||
@ -44,7 +41,6 @@ Test LAMMPS and Python in serial:
|
||||
To run a LAMMPS test in serial, type these lines into Python
|
||||
interactively from the bench directory:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
>>> from lammps import lammps
|
||||
@ -53,7 +49,6 @@ interactively from the bench directory:
|
||||
|
||||
Or put the same lines in the file test.py and run it as
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
% python test.py
|
||||
@ -62,7 +57,6 @@ Either way, you should see the results of running the in.lj benchmark
|
||||
on a single processor appear on the screen, the same as if you had
|
||||
typed something like:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
lmp_g++ -in in.lj
|
||||
@ -74,7 +68,6 @@ To run LAMMPS in parallel, assuming you have installed the
|
||||
`PyPar <https://github.com/daleroberts/pypar>`_ package as discussed
|
||||
above, create a test.py file containing these lines:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
import pypar
|
||||
@ -88,7 +81,6 @@ To run LAMMPS in parallel, assuming you have installed the
|
||||
`mpi4py <https://bitbucket.org/mpi4py/mpi4py>`_ package as discussed
|
||||
above, create a test.py file containing these lines:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
from mpi4py import MPI
|
||||
@ -102,14 +94,12 @@ above, create a test.py file containing these lines:
|
||||
|
||||
You can either script in parallel as:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
% mpirun -np 4 python test.py
|
||||
|
||||
and you should see the same output as if you had typed
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
% mpirun -np 4 lmp_g++ -in in.lj
|
||||
@ -134,7 +124,6 @@ Running Python scripts:
|
||||
Note that any Python script (not just for LAMMPS) can be invoked in
|
||||
one of several ways:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
% python foo.script
|
||||
@ -144,7 +133,6 @@ one of several ways:
|
||||
The last command requires that the first line of the script be
|
||||
something like this:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
#!/usr/local/bin/python
|
||||
@ -153,7 +141,6 @@ something like this:
|
||||
where the path points to where you have Python installed, and that you
|
||||
have made the script file executable:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
% chmod +x foo.script
|
||||
|
||||
@ -5,7 +5,6 @@ LAMMPS is run from the command line, reading commands from a file via
|
||||
the -in command line flag, or from standard input.
|
||||
Using the "-in in.file" variant is recommended:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ lmp_serial -in in.file
|
||||
@ -68,7 +67,6 @@ If the LAMMPS command(s) you are using support multi-threading, you
|
||||
can set the number of threads per MPI task via the environment
|
||||
variable OMP\_NUM\_THREADS, before you launch LAMMPS:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ export OMP_NUM_THREADS=2 # bash
|
||||
@ -80,10 +78,8 @@ package command. See the :doc:`package <package>` command or
|
||||
:doc:`Speed <Speed>` doc pages for more details about which accelerator
|
||||
packages and which commands support multi-threading.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
You can experiment with running LAMMPS using any of the input scripts
|
||||
provided in the examples or bench directory. Input scripts are named
|
||||
in.\* and sample outputs are named log.\*.P where P is the number of
|
||||
|
||||
@ -6,7 +6,6 @@ and :doc:`built an executable <Build>`. The :doc:`Commands <Commands>`
|
||||
doc page describes how input scripts are structured and the commands
|
||||
they can contain.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
@ -25,16 +25,13 @@ letter abbreviation can be used:
|
||||
|
||||
For example, the lmp\_mpi executable might be launched as follows:
|
||||
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ mpirun -np 16 lmp_mpi -v f tmp.out -l my.log -sc none -i in.alloy
|
||||
$ mpirun -np 16 lmp_mpi -var f tmp.out -log my.log -screen none -in in.alloy
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _echo:
|
||||
|
||||
**-echo style**
|
||||
@ -46,10 +43,8 @@ can be useful to figure out which line of your script is causing an
|
||||
input error. The default value is *log*\ . The echo style can also be
|
||||
set by using the :doc:`echo <echo>` command in the input script itself.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _help:
|
||||
|
||||
**-help**
|
||||
@ -61,10 +56,8 @@ want to use was included via the appropriate package at compile time.
|
||||
LAMMPS will print the info and immediately exit if this switch is
|
||||
used.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _file:
|
||||
|
||||
**-in file**
|
||||
@ -79,10 +72,8 @@ Note that this is a required switch when running LAMMPS in
|
||||
multi-partition mode, since multiple processors cannot all read from
|
||||
stdin.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _run-kokkos:
|
||||
|
||||
**-kokkos on/off keyword/value ...**
|
||||
@ -114,7 +105,6 @@ settings to use on different platforms is given on the :doc:`Speed kokkos <Speed
|
||||
* t or threads
|
||||
* n or numa
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
device Nd
|
||||
@ -127,7 +117,6 @@ have consecutive IDs numbered as 0,1,2,etc. This setting allows you
|
||||
to launch multiple independent jobs on the node, each with a single
|
||||
MPI task per node, and assign each job to run on a different GPU.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
gpus Ng Ns
|
||||
@ -144,7 +133,6 @@ Ng = 1 and Ns is not set.
|
||||
Depending on which flavor of MPI you are running, LAMMPS will look for
|
||||
one of these 4 environment variables
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
SLURM_LOCALID (various MPI variants compiled with SLURM support)
|
||||
@ -156,7 +144,6 @@ which are initialized by the "srun", "mpirun" or "mpiexec" commands.
|
||||
The environment variable setting for each MPI rank is used to assign a
|
||||
unique GPU ID to the MPI task.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
threads Nt
|
||||
@ -169,7 +156,6 @@ the number of physical cores per node, to use your available hardware
|
||||
optimally. This also sets the number of threads used by the host when
|
||||
LAMMPS is compiled with CUDA=yes.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
numa Nm
|
||||
@ -184,10 +170,8 @@ its default value of 1. This is because letting a single process span
|
||||
multiple NUMA regions induces a significant amount of cross NUMA data
|
||||
traffic which is slow.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _log:
|
||||
|
||||
**-log file**
|
||||
@ -205,10 +189,8 @@ specified file is "none", then no log files are created. Using a
|
||||
:doc:`log <log>` command in the input script will override this setting.
|
||||
Option -plog will override the name of the partition log files file.N.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _mpicolor:
|
||||
|
||||
**-mpicolor** color
|
||||
@ -232,10 +214,8 @@ by the :doc:`message <message>` command and the CSlib library LAMMPS
|
||||
links with from the lib/message directory. See the
|
||||
:doc:`message <message>` command for more details.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _nocite:
|
||||
|
||||
**-nocite**
|
||||
@ -245,10 +225,8 @@ references for specific cite-able features used during a LAMMPS run.
|
||||
See the `citation page <http://lammps.sandia.gov/cite.html>`_ for more
|
||||
details.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _package:
|
||||
|
||||
**-package style args ....**
|
||||
@ -265,10 +243,8 @@ Along with the "-suffix" command-line switch, this is a convenient
|
||||
mechanism for invoking accelerator packages and their options without
|
||||
having to edit an input script.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _partition:
|
||||
|
||||
**-partition 8x2 4 5 ...**
|
||||
@ -296,10 +272,8 @@ multiple partitions, see the :doc:`Howto multiple <Howto_multiple>` doc
|
||||
page. World- and universe-style :doc:`variables <variable>` are useful
|
||||
in this context.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _plog:
|
||||
|
||||
**-plog file**
|
||||
@ -314,10 +288,8 @@ replica\_files/log.lammps) If this option is not used the log file for
|
||||
partition N is log.lammps.N or whatever is specified by the -log
|
||||
command-line option.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _pscreen:
|
||||
|
||||
**-pscreen file**
|
||||
@ -332,17 +304,14 @@ sub-directory (-pscreen replica\_files/screen). If this option is not
|
||||
used the screen file for partition N is screen.N or whatever is
|
||||
specified by the -screen command-line option.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _reorder:
|
||||
|
||||
**-reorder**
|
||||
|
||||
This option has 2 forms:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
-reorder nth N
|
||||
@ -371,21 +340,18 @@ This can boost performance. For example, if you use "-reorder nth 4"
|
||||
and "-partition 9 3" and you are running on 12 processors, the
|
||||
processors will be reordered from
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
0 1 2 3 4 5 6 7 8 9 10 11
|
||||
|
||||
to
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
0 1 2 4 5 6 8 9 10 3 7 11
|
||||
|
||||
so that the processors in each partition will be
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
0 1 2 4 5 6 8 9 10
|
||||
@ -400,7 +366,6 @@ file is as follows. Any number of initial blank or comment lines
|
||||
(starting with a "#" character) can be present. These should be
|
||||
followed by P lines of the form:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
I J
|
||||
@ -424,20 +389,16 @@ itself. See the :doc:`processors out <processors>` command for how
|
||||
to output info on the final assignment of physical processors to
|
||||
the LAMMPS simulation domain.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _restart2data:
|
||||
|
||||
**-restart2data restartfile [remap] datafile keyword value ...**
|
||||
|
||||
|
||||
Convert the restart file into a data file and immediately exit. This
|
||||
is the same operation as if the following 2-line input script were
|
||||
run:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
read_restart restartfile [remap]
|
||||
@ -461,7 +422,6 @@ should allow the data file to still be produced.
|
||||
|
||||
The syntax following restartfile (or remap), namely
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
datafile keyword value ...
|
||||
@ -470,10 +430,8 @@ is identical to the arguments of the :doc:`write_data <write_data>`
|
||||
command. See its doc page for details. This includes its
|
||||
optional keyword/value settings.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _restart2dump:
|
||||
|
||||
**-restart2dump restartfile [remap] group-ID dumpstyle dumpfile arg1 arg2 ...**
|
||||
@ -482,7 +440,6 @@ Convert the restart file into a dump file and immediately exit. This
|
||||
is the same operation as if the following 2-line input script were
|
||||
run:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
read_restart restartfile [remap]
|
||||
@ -517,10 +474,8 @@ including ones that affect how parallel dump files are written, e.g.
|
||||
the *nfile* and *fileper* keywords. See the
|
||||
:doc:`dump_modify <dump_modify>` doc page for details.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _screen:
|
||||
|
||||
**-screen file**
|
||||
@ -538,10 +493,8 @@ multi-partition mode, if the specified file is "none", then no screen
|
||||
output is performed. Option -pscreen will override the name of the
|
||||
partition screen files file.N.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _suffix:
|
||||
|
||||
**-suffix style args**
|
||||
@ -607,10 +560,8 @@ The :doc:`suffix <suffix>` command can also be used within an input
|
||||
script to set a suffix, or to turn off or back on any suffix setting
|
||||
made via the command line.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _var:
|
||||
|
||||
**-var name value1 value2 ...**
|
||||
|
||||
@ -14,7 +14,6 @@ thermodynamic state and a total run time for the simulation. It also
|
||||
appends statistics about the CPU time and storage requirements for the
|
||||
simulation. An example set of statistics is shown here:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms
|
||||
@ -47,10 +46,8 @@ simulation. An example set of statistics is shown here:
|
||||
Neighbor list builds = 26
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The first section provides a global loop timing summary. The *loop
|
||||
time* is the total wall-clock time for the simulation to run. The
|
||||
*Performance* line is provided for convenience to help predict how
|
||||
@ -60,10 +57,8 @@ line provides the CPU utilization per MPI task; it should be close to
|
||||
Lower numbers correspond to delays due to file I/O or insufficient
|
||||
thread utilization.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The *MPI task* section gives the breakdown of the CPU run time (in
|
||||
seconds) into major categories:
|
||||
|
||||
@ -96,7 +91,6 @@ only and thus, because the breakdown for MPI tasks can change from
|
||||
MPI rank to MPI rank, this breakdown can be very different for
|
||||
individual ranks. Here is an example output for this section:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
Thread timings breakdown (MPI rank 0):
|
||||
@ -109,20 +103,16 @@ individual ranks. Here is an example output for this section:
|
||||
Neigh \| 0.084778 \| 0.086969 \| 0.089161 \| 0.7 \| 12.70
|
||||
Reduce \| 0.0036485 \| 0.003737 \| 0.0038254 \| 0.1 \| 0.55
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The third section above lists the number of owned atoms (Nlocal),
|
||||
ghost atoms (Nghost), and pair-wise neighbors stored per processor.
|
||||
The max and min values give the spread of these values across
|
||||
processors with a 10-bin histogram showing the distribution. The total
|
||||
number of histogram counts is equal to the number of processors.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The last section gives aggregate statistics (across all processors)
|
||||
for pair-wise neighbors and special neighbors that LAMMPS keeps track
|
||||
of (see the :doc:`special_bonds <special_bonds>` command). The number
|
||||
@ -135,15 +125,12 @@ non-zero you may wish to reduce the delay factor to insure no force
|
||||
interactions are missed by atoms moving beyond the neighbor skin
|
||||
distance before a rebuild takes place.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
If an energy minimization was performed via the
|
||||
:doc:`minimize <minimize>` command, additional information is printed,
|
||||
e.g.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
Minimization stats:
|
||||
@ -167,15 +154,12 @@ Multiple force evaluations are typically done at each iteration to
|
||||
perform a 1d line minimization in the search direction. See the
|
||||
:doc:`minimize <minimize>` doc page for more details.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
If a :doc:`kspace_style <kspace_style>` long-range Coulombics solver
|
||||
that performs FFTs was used during the run (PPPM, Ewald), then
|
||||
additional information is printed, e.g.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
FFT time (% of Kspce) = 0.200313 (8.34477)
|
||||
|
||||
@ -14,15 +14,12 @@ Note that the serial executable includes support for multi-threading
|
||||
parallelization from the styles in the USER-OMP packages. To run with
|
||||
4 threads, you can type this:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
lmp_serial -in in.lj -pk omp 4 -sf omp
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
For the MPI executable, which allows you to run LAMMPS under Windows
|
||||
in parallel, follow these steps.
|
||||
|
||||
@ -46,7 +43,6 @@ into the MPICH2 installation directory, then into the sub-directory
|
||||
|
||||
Then type something like this:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
mpiexec -localonly 4 lmp_mpi -in in.file
|
||||
@ -62,7 +58,6 @@ patient before the output shows up.
|
||||
The parallel executable can also run on a single processor by typing
|
||||
something like this:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
lmp_mpi -in in.lj
|
||||
@ -70,7 +65,6 @@ something like this:
|
||||
Note that the parallel executable also includes OpenMP
|
||||
multi-threading, which can be combined with MPI using something like:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
mpiexec -localonly 2 lmp_mpi -in in.lj -pk omp 2 -sf omp
|
||||
|
||||
@ -19,7 +19,6 @@ page, for several of the standard LAMMPS benchmark problems, as a
|
||||
function of problem size and number of compute nodes, on different
|
||||
hardware platforms.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
|
||||
@ -26,7 +26,6 @@ The 5 standard problems are as follow:
|
||||
particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT
|
||||
integration
|
||||
|
||||
|
||||
Input files for these 5 problems are provided in the bench directory
|
||||
of the LAMMPS distribution. Each has 32,000 atoms and runs for 100
|
||||
timesteps. The size of the problem (number of atoms) can be varied
|
||||
@ -53,10 +52,8 @@ of the Benchmarks web page has performance data for very large
|
||||
benchmark runs of simple Lennard-Jones (LJ) models, which use the
|
||||
bench/in.lj input script.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
For all the benchmarks, a useful metric is the CPU cost per atom per
|
||||
timestep. Since performance scales roughly linearly with problem size
|
||||
and timesteps for all LAMMPS models (i.e. interatomic or coarse-grained
|
||||
|
||||
@ -77,7 +77,6 @@ section below for examples where this has been done.
|
||||
to unlock this potential, an Intel compiler is required. The package code
|
||||
will compile with GNU gcc, but it will not be as efficient.
|
||||
|
||||
|
||||
**Differences between the GPU and KOKKOS packages:**
|
||||
|
||||
* The GPU package accelerates only pair force, neighbor list, and (parts
|
||||
|
||||
@ -27,7 +27,6 @@ It has the following general features:
|
||||
NVIDIA support as well as more general OpenCL support, so that the
|
||||
same functionality is supported on a variety of hardware.
|
||||
|
||||
|
||||
**Required hardware/software:**
|
||||
|
||||
To compile and use this package in CUDA mode, you currently need
|
||||
@ -77,7 +76,6 @@ automatically append "gpu" to styles that support it. Use the "-pk
|
||||
gpu Ng" :doc:`command-line switch <Run_options>` to set Ng = # of
|
||||
GPUs/node to use.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
lmp_machine -sf gpu -pk gpu 1 -in in.script # 1 MPI task uses 1 GPU
|
||||
@ -108,7 +106,6 @@ and use of multiple MPI tasks/GPU is the same.
|
||||
Use the :doc:`suffix gpu <suffix>` command, or you can explicitly add an
|
||||
"gpu" suffix to individual styles in your input script, e.g.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
pair_style lj/cut/gpu 2.5
|
||||
@ -172,9 +169,7 @@ results, since they will typically be faster.
|
||||
This is the maximum memory used at one time on the GPU for data
|
||||
storage by a single MPI process.
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
None.
|
||||
|
||||
@ -25,7 +25,6 @@ LAMMPS to run on the CPU cores and co-processor cores simultaneously.
|
||||
rebo, sw, tersoff
|
||||
* K-Space Styles: pppm, pppm/disp
|
||||
|
||||
|
||||
.. warning::
|
||||
|
||||
None of the styles in the USER-INTEL package currently
|
||||
@ -58,10 +57,8 @@ Skylake) with "June 2017" LAMMPS built with Intel Parallel Studio
|
||||
*src/USER-INTEL/TEST/README* for the raw simulation rates and
|
||||
instructions to reproduce.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Accuracy and order of operations:**
|
||||
|
||||
In most molecular dynamics software, parallelization parameters
|
||||
@ -88,7 +85,6 @@ order of operations compared to LAMMPS without acceleration:
|
||||
Twister generator included in the Intel MKL library (that should be
|
||||
more robust than the default Masaglia random number generator)
|
||||
|
||||
|
||||
The precision mode (described below) used with the USER-INTEL
|
||||
package can change the *accuracy* of the calculations. For the
|
||||
default *mixed* precision option, calculations between pairs or
|
||||
@ -98,10 +94,8 @@ is performed in double precision to prevent the error from growing
|
||||
with the number of atoms in the simulation. *Single* precision
|
||||
mode should not be used without appropriate validation.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Quick Start for Experienced Users:**
|
||||
|
||||
LAMMPS should be built with the USER-INTEL package installed.
|
||||
@ -120,12 +114,10 @@ not *hardware thread*\ .
|
||||
* If using *kspace\_style pppm* in the input script, add
|
||||
"kspace\_modify diff ad" for better performance
|
||||
|
||||
|
||||
For Intel Xeon Phi CPUs:
|
||||
|
||||
* Runs should be performed using MCDRAM.
|
||||
|
||||
|
||||
For simulations using *kspace\_style pppm* on Intel CPUs supporting
|
||||
AVX-512:
|
||||
|
||||
@ -136,18 +128,14 @@ AVX-512:
|
||||
* Do not use thread affinity (set KMP\_AFFINITY=none)
|
||||
* The "newton off" setting may provide better scalability
|
||||
|
||||
|
||||
For Intel Xeon Phi co-processors (Offload):
|
||||
|
||||
* Edit src/MAKE/OPTIONS/Makefile.intel\_co-processor as necessary
|
||||
* "-pk intel N omp 1" added to command-line where N is the number of
|
||||
co-processors per node.
|
||||
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
**Required hardware/software:**
|
||||
|
||||
In order to use offload to co-processors, an Intel Xeon Phi
|
||||
@ -204,7 +192,6 @@ will report every hardware thread as a separate core allowing one to
|
||||
determine the number of hardware threads available. On Linux systems,
|
||||
this information can normally be obtained with:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
cat /proc/cpuinfo
|
||||
@ -218,7 +205,6 @@ For building with make, several example Makefiles for building with
|
||||
the Intel compiler are included with LAMMPS in the src/MAKE/OPTIONS/
|
||||
directory:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
Makefile.intel_cpu_intelmpi # Intel Compiler, Intel MPI, No Offload
|
||||
@ -233,7 +219,6 @@ Phi x200 processors making it easier to cross-compile. For users with
|
||||
recent installations of Intel Parallel Studio, the process can be as
|
||||
simple as:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
make yes-user-intel
|
||||
@ -349,7 +334,6 @@ desired.
|
||||
Examples (see documentation for your MPI/Machine for differences in
|
||||
launching MPI applications):
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script # 2 nodes, 36 MPI tasks/node, $OMP_NUM_THREADS OpenMP Threads
|
||||
@ -362,7 +346,6 @@ can be edited to enable the USER-INTEL package. This requires adding
|
||||
the :doc:`package intel <package>` command to the top of the input
|
||||
script. For the second example above, this would be:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
package intel 0 omp 2 mode double
|
||||
@ -370,7 +353,6 @@ script. For the second example above, this would be:
|
||||
To enable the USER-INTEL package only for individual styles, you can
|
||||
add an "intel" suffix to the individual style, e.g.:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
pair_style lj/cut/intel 2.5
|
||||
@ -527,7 +509,6 @@ MPI task.
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
When offloading to a co-processor, :doc:`hybrid <pair_hybrid>` styles
|
||||
that require skip lists for neighbor builds cannot be offloaded.
|
||||
Using :doc:`hybrid/overlay <pair_hybrid>` is allowed. Only one intel
|
||||
|
||||
@ -71,7 +71,6 @@ Kokkos. E.g. the mpirun command in OpenMPI does this via its -np and
|
||||
Here is a quick overview of how to use the KOKKOS package
|
||||
for CPU acceleration, assuming one or more 16-core nodes.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no multi-threading
|
||||
@ -85,7 +84,6 @@ command. You must use the "-k on" :doc:`command-line switch <Run_options>` to e
|
||||
additional arguments for hardware settings appropriate to your system.
|
||||
For OpenMP use:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
-k on t Nt
|
||||
@ -121,7 +119,6 @@ below.
|
||||
page for details and default settings. Experimenting with its options
|
||||
can provide a speed-up for specific calculations. For example:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm
|
||||
@ -154,7 +151,6 @@ they do not migrate during a simulation.
|
||||
If you are not certain MPI tasks are being bound (check the defaults
|
||||
for your MPI installation), binding can be forced with these flags:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
OpenMPI 1.8: mpirun -np 2 --bind-to socket --map-by socket ./lmp_openmpi ...
|
||||
@ -184,7 +180,6 @@ tasks.
|
||||
|
||||
Examples of mpirun commands that follow these rules are shown below.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
Intel KNL node with 68 cores (272 threads/node via 4x hardware threading):
|
||||
@ -210,7 +205,6 @@ threads/task as Nt. The product of these two values should be N, i.e.
|
||||
details and default settings. Experimenting with its options can provide
|
||||
a speed-up for specific calculations. For example:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm host -in in.reax # Newton on, half neighbor list, threaded comm
|
||||
@ -245,7 +239,6 @@ avoided by using :doc:`-pk kokkos cuda/aware no <package>`. As above for
|
||||
multi-core CPUs (and no GPU), if N is the number of physical cores/node,
|
||||
then the number of MPI tasks/node should not exceed N.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
-k on g Ng
|
||||
@ -253,7 +246,6 @@ then the number of MPI tasks/node should not exceed N.
|
||||
Here are examples of how to use the KOKKOS package for GPUs, assuming
|
||||
one or more nodes, each with two GPUs:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node
|
||||
@ -274,7 +266,6 @@ one or more nodes, each with two GPUs:
|
||||
default settings. Experimenting with its options can provide a speed-up
|
||||
for specific calculations. For example:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff
|
||||
@ -317,7 +308,6 @@ hardware options appropriate to your system, as documented above.
|
||||
You can use the :doc:`suffix kk <suffix>` command, or you can explicitly add a
|
||||
"kk" suffix to individual styles in your input script, e.g.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
pair_style lj/cut/kk 2.5
|
||||
@ -333,7 +323,6 @@ used together in a few special cases. In the Makefile, the
|
||||
KOKKOS\_DEVICES variable must include both "Cuda" and "OpenMP", as is
|
||||
the case for /src/MAKE/OPTIONS/Makefile.kokkos\_cuda\_mpi
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
KOKKOS_DEVICES=Cuda,OpenMP
|
||||
@ -345,14 +334,12 @@ style in the input script, the Kokkos OpenMP (CPU) version of that
|
||||
specific style will be used instead. Set the number of OpenMP threads
|
||||
as "t Nt" and the number of GPUs as "g Ng"
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
-k on t Nt g Ng
|
||||
|
||||
For example, the command to run with 1 GPU and 8 OpenMP threads is then:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
mpiexec -np 1 lmp_kokkos_cuda_openmpi -in in.lj -k on g 1 t 8 -sf kk
|
||||
@ -394,7 +381,6 @@ Generally speaking, the following rules of thumb apply:
|
||||
* When running on Intel hardware, KOKKOS is not as fast as
|
||||
the USER-INTEL package, which is optimized for that hardware.
|
||||
|
||||
|
||||
See the `Benchmark page <http://lammps.sandia.gov/bench.html>`_ of the
|
||||
LAMMPS web site for performance of the KOKKOS package on different
|
||||
hardware.
|
||||
@ -441,6 +427,5 @@ GPUs.
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
Currently, there are no precision options with the KOKKOS package. All
|
||||
compilation and computation is performed in double precision.
|
||||
|
||||
@ -23,7 +23,6 @@ instructions.
|
||||
|
||||
These examples assume one or more 16-core nodes.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
env OMP_NUM_THREADS=16 lmp_omp -sf omp -in in.script # 1 MPI task, 16 threads according to OMP_NUM_THREADS
|
||||
@ -61,7 +60,6 @@ and threads/MPI task is the same.
|
||||
Use the :doc:`suffix omp <suffix>` command, or you can explicitly add an
|
||||
"omp" suffix to individual styles in your input script, e.g.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
pair_style lj/cut/omp 2.5
|
||||
@ -140,7 +138,6 @@ circumstances:
|
||||
with the USER-OMP package, is an alternative way to reduce the number
|
||||
of MPI tasks assigned to the KSpace calculation.
|
||||
|
||||
|
||||
Additional performance tips are as follows:
|
||||
|
||||
* The best parallel efficiency from *omp* styles is typically achieved
|
||||
@ -154,9 +151,7 @@ Additional performance tips are as follows:
|
||||
one core and thus is likely to be counterproductive. Instead, binding
|
||||
MPI tasks to a (multi-core) socket, should solve this issue.
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
None.
|
||||
|
||||
@ -17,7 +17,6 @@ See the :ref:`Build extras <opt>` doc page for instructions.
|
||||
|
||||
**Run with the OPT package from the command line:**
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
lmp_mpi -sf opt -in in.script # run in serial
|
||||
@ -31,7 +30,6 @@ automatically append "opt" to styles that support it.
|
||||
Use the :doc:`suffix opt <suffix>` command, or you can explicitly add an
|
||||
"opt" suffix to individual styles in your input script, e.g.
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
pair_style lj/cut/opt 2.5
|
||||
@ -49,5 +47,4 @@ Just try out an OPT pair style to see how it performs.
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
None.
|
||||
|
||||
@ -132,7 +132,6 @@ packages. As an example, here is a command that builds with all the
|
||||
GPU related packages installed (GPU, KOKKOS with Cuda), including
|
||||
settings to build the needed auxiliary GPU libraries for Kepler GPUs:
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
Make.py -j 16 -p omp gpu kokkos -cc nvcc wrap=mpi -gpu mode=double arch=35 -kokkos cuda arch=35 lib-all file mpi
|
||||
@ -178,7 +177,6 @@ are in the individual accelerator sections.
|
||||
speed-up the pairwise calculations of your simulation by 5-25% on a
|
||||
CPU.
|
||||
|
||||
|
||||
The individual accelerator package doc pages explain:
|
||||
|
||||
* what hardware and software the accelerated package requires
|
||||
|
||||
@ -18,8 +18,6 @@ visualization for LAMMPS simulations.
|
||||
.. _pizza: http://pizza.sandia.gov
|
||||
.. _python: http://www.python.org
|
||||
|
||||
|
||||
|
||||
Additional tools included in the LAMMPS distribution are described on
|
||||
this page.
|
||||
|
||||
@ -37,10 +35,8 @@ to edit for your platform) which will build several of the tools which
|
||||
reside in that directory. Most of them are larger packages in their
|
||||
own sub-directories with their own Makefiles and/or README files.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Pre-processing tools
|
||||
====================
|
||||
|
||||
@ -72,10 +68,8 @@ Miscellaneous tools
|
||||
| :ref:`vim <vim>` | | | | |
|
||||
+--------------------------+----------------------+-------------------+--------------------+---------------------------------------+
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Tool descriptions
|
||||
=================
|
||||
|
||||
@ -95,10 +89,8 @@ version (and maybe with respect to AMBER as well). Since we don't use
|
||||
these tools at Sandia, you will need to experiment with them and make
|
||||
necessary modifications yourself.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _binary:
|
||||
|
||||
binary2txt tool
|
||||
@ -107,7 +99,6 @@ binary2txt tool
|
||||
The file binary2txt.cpp converts one or more binary LAMMPS dump file
|
||||
into ASCII text files. The syntax for running the tool is
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
binary2txt file1 file2 ...
|
||||
@ -116,10 +107,8 @@ which creates file1.txt, file2.txt, etc. This tool must be compiled
|
||||
on a platform that can read the binary file created by a LAMMPS run,
|
||||
since binary files are not compatible across all platforms.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _charmm:
|
||||
|
||||
ch2lmp tool
|
||||
@ -146,10 +135,8 @@ Robert A. Latour (latourr at clemson.edu), David Hyde-Volpe, and
|
||||
Tigran Abramyan, (Clemson University) and
|
||||
Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _chain:
|
||||
|
||||
chain tool
|
||||
@ -162,7 +149,6 @@ chains and solvent atoms can strongly overlap, so LAMMPS needs to run
|
||||
the system initially with a "soft" pair potential to un-overlap it.
|
||||
The syntax for running the tool is
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
chain < def.chain > data.file
|
||||
@ -171,10 +157,8 @@ See the def.chain or def.chain.ab files in the tools directory for
|
||||
examples of definition files. This tool was used to create the system
|
||||
for the :doc:`chain benchmark <Speed_bench>`.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _colvars:
|
||||
|
||||
colvars tools
|
||||
@ -192,7 +176,6 @@ abf\_integrate:
|
||||
MC-based integration of multidimensional free energy gradient
|
||||
Version 20110511
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
Syntax: ./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0\|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >]
|
||||
@ -201,10 +184,8 @@ The LAMMPS interface to the colvars collective variable library, as
|
||||
well as these tools, were created by Axel Kohlmeyer (akohlmey at
|
||||
gmail.com) at ICTP, Italy.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _createatoms:
|
||||
|
||||
createatoms tool
|
||||
@ -219,10 +200,8 @@ See the included Manual.pdf for details.
|
||||
|
||||
The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _doxygen:
|
||||
|
||||
doxygen tool
|
||||
@ -236,10 +215,8 @@ See the included README file for details.
|
||||
|
||||
The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _drude:
|
||||
|
||||
drude tool
|
||||
@ -254,10 +231,8 @@ See the header of the polarizer.py file for details.
|
||||
The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua
|
||||
at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _eamdb:
|
||||
|
||||
eam database tool
|
||||
@ -274,10 +249,8 @@ and is based on his paper:
|
||||
X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69,
|
||||
144113 (2004).
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _eamgn:
|
||||
|
||||
eam generate tool
|
||||
@ -291,10 +264,8 @@ produce are in the potentials directory, and can be used with the
|
||||
The source files and potentials were provided by Gerolf Ziegenhain
|
||||
(gerolf at ziegenhain.com).
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _eff:
|
||||
|
||||
eff tool
|
||||
@ -307,10 +278,8 @@ electron force field (eFF).
|
||||
These tools were provided by Andres Jaramillo-Botero at CalTech
|
||||
(ajaramil at wag.caltech.edu).
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _emacs:
|
||||
|
||||
emacs tool
|
||||
@ -323,10 +292,8 @@ with various highlighting options set up.
|
||||
These tools were provided by Aidan Thompson at Sandia
|
||||
(athomps at sandia.gov).
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _fep:
|
||||
|
||||
fep tool
|
||||
@ -341,10 +308,8 @@ Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr.
|
||||
|
||||
See README file in the tools/fep directory.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _ipi:
|
||||
|
||||
i-pi tool
|
||||
@ -363,10 +328,8 @@ See the tools/i-pi/manual.pdf file for an overview of i-PI, and the
|
||||
:doc:`fix ipi <fix_ipi>` doc page for further details on running PIMD
|
||||
calculations with LAMMPS.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _ipp:
|
||||
|
||||
ipp tool
|
||||
@ -382,10 +345,8 @@ sandia.gov.
|
||||
See two examples in the tools/ipp directory. One of them is for the
|
||||
tools/createatoms tool's input file.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _kate:
|
||||
|
||||
kate tool
|
||||
@ -398,10 +359,8 @@ scripts. See the README.txt file for details.
|
||||
The file was provided by Alessandro Luigi Sellerio
|
||||
(alessandro.sellerio at ieni.cnr.it).
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _arc:
|
||||
|
||||
lmp2arc tool
|
||||
@ -419,10 +378,8 @@ This tool was written by John Carpenter (Cray), Michael Peachey
|
||||
This tool was updated for the current LAMMPS C++ version by Jeff
|
||||
Greathouse at Sandia (jagreat at sandia.gov).
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _cfg:
|
||||
|
||||
lmp2cfg tool
|
||||
@ -435,10 +392,8 @@ the README file for more information.
|
||||
|
||||
This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _matlab:
|
||||
|
||||
matlab tool
|
||||
@ -458,12 +413,8 @@ These scripts were written by Arun Subramaniyan at Purdue Univ
|
||||
|
||||
.. _matlabhome: http://www.mathworks.com
|
||||
|
||||
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _micelle:
|
||||
|
||||
micelle2d tool
|
||||
@ -476,7 +427,6 @@ atoms can strongly overlap, so LAMMPS needs to run the system
|
||||
initially with a "soft" pair potential to un-overlap it. The syntax
|
||||
for running the tool is
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
micelle2d < def.micelle2d > data.file
|
||||
@ -485,10 +435,8 @@ See the def.micelle2d file in the tools directory for an example of a
|
||||
definition file. This tool was used to create the system for the
|
||||
:doc:`micelle example <Examples>`.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _moltemplate:
|
||||
|
||||
moltemplate tool
|
||||
@ -505,10 +453,8 @@ supports it. It has its own WWW page at
|
||||
`http://moltemplate.org <http://moltemplate.org>`_.
|
||||
The latest sources can be found `on its GitHub page <https://github.com/jewettaij/moltemplate/releases>`_
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _msi:
|
||||
|
||||
msi2lmp tool
|
||||
@ -527,10 +473,8 @@ development, so there are no changes except for the occasional bug fix.
|
||||
|
||||
See the README file in the tools/msi2lmp folder for more information.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _phonon:
|
||||
|
||||
phonon tool
|
||||
@ -547,10 +491,8 @@ for example problems that can be post-processed with this tool.
|
||||
This tool was written by Ling-Ti Kong at Shanghai Jiao Tong
|
||||
University.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _polybond:
|
||||
|
||||
polybond tool
|
||||
@ -566,10 +508,8 @@ See the Manual.pdf for details and example scripts.
|
||||
|
||||
This tool was written by Zachary Kraus at Georgia Tech.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _pymol:
|
||||
|
||||
pymol\_asphere tool
|
||||
@ -581,22 +521,16 @@ particles into an input file for the `PyMol visualization package <pymolhome_>`_
|
||||
|
||||
.. _pymolhome: http://www.pymol.org
|
||||
|
||||
|
||||
|
||||
.. _pymolopen: http://sourceforge.net/scm/?type=svn&group\_id=4546
|
||||
|
||||
|
||||
|
||||
Specifically, the tool triangulates the ellipsoids so they can be
|
||||
viewed as true ellipsoidal particles within PyMol. See the README and
|
||||
examples directory within pymol\_asphere for more information.
|
||||
|
||||
This tool was written by Mike Brown at Sandia.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _pythontools:
|
||||
|
||||
python tool
|
||||
@ -614,10 +548,8 @@ that perform common LAMMPS post-processing tasks, such as:
|
||||
These are simple scripts built on `Pizza.py <pizza_>`_ modules. See the
|
||||
README for more info on Pizza.py and how to use these scripts.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _replica:
|
||||
|
||||
replica tool
|
||||
@ -634,10 +566,8 @@ the README.md file for further details. Try out the peptide example provided.
|
||||
This tool was written by (and is maintained by) Tanmoy Sanyal,
|
||||
while at the Shell lab at UC Santa Barbara. (tanmoy dot 7989 at gmail.com)
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _reax\_tool:
|
||||
|
||||
reax tool
|
||||
@ -650,10 +580,8 @@ the README.txt file for more info.
|
||||
|
||||
These tools were written by Aidan Thompson at Sandia.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _smd:
|
||||
|
||||
smd tool
|
||||
@ -671,10 +599,8 @@ This tool was written by the USER-SMD package author, Georg
|
||||
Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics,
|
||||
Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _spin:
|
||||
|
||||
spin tool
|
||||
@ -690,10 +616,8 @@ This tool was written by the SPIN package author, Julien
|
||||
Tranchida at Sandia National Labs (jtranch at sandia.gov, and by Aleksei
|
||||
Ivanov, at University of Iceland (ali5 at hi.is).
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _singularity\_tool:
|
||||
|
||||
singularity tool
|
||||
@ -704,10 +628,8 @@ that can be used to build container images for building and testing
|
||||
LAMMPS on specific OS variants using the `Singularity <https://sylabs.io>`_
|
||||
container software. Contributions for additional variants are welcome.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _vim:
|
||||
|
||||
vim tool
|
||||
@ -720,10 +642,8 @@ file for details.
|
||||
These files were provided by Gerolf Ziegenhain (gerolf at
|
||||
ziegenhain.com)
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _xmgrace:
|
||||
|
||||
xmgrace tool
|
||||
|
||||
@ -15,7 +15,6 @@ angle_style charmm/omp command
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style charmm
|
||||
@ -23,7 +22,6 @@ Syntax
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style charmm
|
||||
@ -38,7 +36,6 @@ The *charmm* angle style uses the potential
|
||||
|
||||
E = K (\theta - \theta_0)^2 + K_{ub} (r - r_{ub})^2
|
||||
|
||||
|
||||
with an additional Urey\_Bradley term based on the distance :math:`r` between
|
||||
the 1st and 3rd atoms in the angle. :math:`K`, :math:`\theta_0`,
|
||||
:math:`K_{ub}`, and :math:`R_{ub}` are coefficients defined for each angle
|
||||
@ -60,10 +57,8 @@ or :doc:`read_restart <read_restart>` commands:
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of :math:`K` are in energy/radian\^2.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
@ -82,14 +77,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch
|
||||
See :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
MOLECULE package. See the :doc:`Build package <Build_package>` doc page
|
||||
for more info.
|
||||
@ -101,13 +93,9 @@ Related commands
|
||||
|
||||
**Default:** none
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _angle-MacKerell:
|
||||
|
||||
|
||||
|
||||
**(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field,
|
||||
Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
|
||||
|
||||
@ -15,7 +15,6 @@ angle_style class2/p6 command
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style class2
|
||||
@ -23,7 +22,6 @@ Syntax
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style class2
|
||||
@ -43,7 +41,6 @@ The *class2* angle style uses the potential
|
||||
E_{bb} & = M (r_{ij} - r_1) (r_{jk} - r_2) \\
|
||||
E_{ba} & = N_1 (r_{ij} - r_1) (\theta - \theta_0) + N_2(r_{jk} - r_2)(\theta - \theta_0)
|
||||
|
||||
|
||||
where :math:`E_a` is the angle term, :math:`E_{bb}` is a bond-bond term, and :math:`E_{ba}` is a
|
||||
bond-angle term. :math:`\theta_0` is the equilibrium angle and :math:`r_1` and :math:`r_2` are
|
||||
the equilibrium bond lengths.
|
||||
@ -94,10 +91,8 @@ the angle type.
|
||||
The :math:`\theta_0` value in the :math:`E_{ba}` formula is not specified,
|
||||
since it is the same value from the :math:`E_a` formula.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
@ -116,17 +111,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The *class2/p6* angle style uses the *class2* potential expanded to sixth order:
|
||||
|
||||
.. math::
|
||||
|
||||
E_{a} = K_2\left(\theta - \theta_0\right)^2 + K_3\left(\theta - \theta_0\right)^3 + K_4\left(\theta - \theta_0\right)^4 + K_5\left(\theta - \theta_0\right)^5 + K_6\left(\theta - \theta_0\right)^6
|
||||
|
||||
|
||||
In this expanded term 6 coefficients for the :math:`E_a` formula need to be set:
|
||||
|
||||
* :math:`\theta_0` (degrees)
|
||||
@ -138,14 +130,11 @@ In this expanded term 6 coefficients for the :math:`E_a` formula need to be set:
|
||||
|
||||
The bond-bond and bond-angle terms remain unchanged.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the CLASS2
|
||||
package. For the *class2/p6* style LAMMPS needs to be built with the
|
||||
USER-MOFFF package. See the :doc:`Build package <Build_package>` doc
|
||||
@ -158,12 +147,8 @@ Related commands
|
||||
|
||||
**Default:** none
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _angle-Sun:
|
||||
|
||||
|
||||
|
||||
**(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998).
|
||||
|
||||
@ -6,7 +6,6 @@ angle_coeff command
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_coeff N args
|
||||
@ -17,7 +16,6 @@ Syntax
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_coeff 1 300.0 107.0
|
||||
@ -45,7 +43,6 @@ Note that using an :doc:`angle_coeff <angle_coeff>` command can override a previ
|
||||
for the same angle type. For example, these commands set the coeffs
|
||||
for all angle types, then overwrite the coeffs for just angle type 2:
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_coeff * 200.0 107.0 1.2
|
||||
@ -58,7 +55,6 @@ coefficients for all N types must be listed in the file. For example,
|
||||
under the "Angle Coeffs" section of a data file, the line that
|
||||
corresponds to the 1st example above would be listed as
|
||||
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 300.0 107.0
|
||||
@ -68,10 +64,8 @@ rule, in that an additional argument is used in the input script to
|
||||
allow specification of the cross-term coefficients. See its
|
||||
doc page for details.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
The list of all angle styles defined in LAMMPS is given on the
|
||||
:doc:`angle_style <angle_style>` doc page. They are also listed in more
|
||||
compact form on the :ref:`Commands angle <angle>` doc
|
||||
@ -81,14 +75,11 @@ On either of those pages, click on the style to display the formula it
|
||||
computes and its coefficients as specified by the associated
|
||||
:doc:`angle_coeff <angle_coeff>` command.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
This command must come after the simulation box is defined by a
|
||||
:doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`, or
|
||||
:doc:`create_box <create_box>` command.
|
||||
|
||||
@ -12,7 +12,6 @@ angle_style cosine/kk command
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine
|
||||
@ -20,7 +19,6 @@ Syntax
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine
|
||||
@ -35,7 +33,6 @@ The *cosine* angle style uses the potential
|
||||
|
||||
E = K [1 + \cos(\theta)]
|
||||
|
||||
|
||||
where :math:`K` is defined for each angle type.
|
||||
|
||||
The following coefficients must be defined for each angle type via the
|
||||
@ -45,10 +42,8 @@ or :doc:`read_restart <read_restart>` commands:
|
||||
|
||||
* :math:`K` (energy)
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
@ -67,14 +62,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
MOLECULE package. See the :doc:`Build package <Build_package>` doc page
|
||||
for more info.
|
||||
|
||||
@ -6,7 +6,6 @@ angle_style cosine/buck6d command
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/buck6d
|
||||
@ -14,7 +13,6 @@ Syntax
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/buck6d
|
||||
@ -52,14 +50,11 @@ with the :doc:`pair_style buck6d <pair_buck6d_coul_gauss>` styles and needs
|
||||
the :doc:`special_bonds <special_bonds>` 1-3 interactions to be weighted
|
||||
0.0 to prevent double counting.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
*cosine/buck6d* can only be used in combination with the
|
||||
:doc:`pair_style buck6d <pair_buck6d_coul_gauss>` style and with a
|
||||
:doc:`special_bonds <special_bonds>` 0.0 weighting of 1-3 interactions.
|
||||
|
||||
@ -9,7 +9,6 @@ angle_style cosine/delta/omp command
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/delta
|
||||
@ -17,7 +16,6 @@ Syntax
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/delta
|
||||
@ -32,7 +30,6 @@ The *cosine/delta* angle style uses the potential
|
||||
|
||||
E = K [1 - \cos(\theta - \theta_0)]
|
||||
|
||||
|
||||
where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a
|
||||
prefactor. Note that the usual 1/2 factor is included in :math:`K`.
|
||||
|
||||
@ -47,10 +44,8 @@ or :doc:`read_restart <read_restart>` commands:
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
@ -69,14 +64,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
MOLECULE package. See the :doc:`Build package <Build_package>` doc page
|
||||
for more info.
|
||||
|
||||
@ -9,7 +9,6 @@ angle_style cosine/periodic/omp command
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/periodic
|
||||
@ -17,7 +16,6 @@ Syntax
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/periodic
|
||||
@ -36,7 +34,6 @@ center:
|
||||
|
||||
E = C \left[ 1 - B(-1)^n\cos\left( n\theta\right) \right]
|
||||
|
||||
|
||||
where :math:`C`, :math:`B` and :math:`n` are coefficients defined for each angle type.
|
||||
|
||||
See :ref:`(Mayo) <cosine-Mayo>` for a description of the DREIDING force field
|
||||
@ -55,10 +52,8 @@ constant :math:`K = \frac{C}{n^2}`. When :math:`B = 1`, it leads to a minimum f
|
||||
linear geometry. When :math:`B = -1`, it leads to a maximum for the linear
|
||||
geometry.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
@ -77,14 +72,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
MOLECULE package. See the :doc:`Build package <Build_package>` doc page
|
||||
for more info.
|
||||
@ -96,13 +88,9 @@ Related commands
|
||||
|
||||
**Default:** none
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _cosine-Mayo:
|
||||
|
||||
|
||||
|
||||
**(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
|
||||
(1990).
|
||||
|
||||
@ -9,7 +9,6 @@ angle_style cosine/shift/omp command
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/shift
|
||||
@ -17,7 +16,6 @@ Syntax
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/shift
|
||||
@ -32,7 +30,6 @@ The *cosine/shift* angle style uses the potential
|
||||
|
||||
E = -\frac{U_{\text{min}}}{2} \left[ 1 + \cos(\theta-\theta_0) \right]
|
||||
|
||||
|
||||
where :math:`\theta_0` is the equilibrium angle. The potential is bounded
|
||||
between :math:`-U_{\text{min}}` and zero. In the neighborhood of the minimum
|
||||
:math:`E = - U_{\text{min}} + U_{\text{min}}/4(\theta - \theta_0)^2` hence
|
||||
@ -46,10 +43,8 @@ or :doc:`read_restart <read_restart>` commands:
|
||||
* :math:`U_{\text{min}}` (energy)
|
||||
* :math:`\theta` (angle)
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
@ -68,14 +63,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
USER-MISC package.
|
||||
|
||||
|
||||
@ -9,7 +9,6 @@ angle_style cosine/shift/exp/omp command
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/shift/exp
|
||||
@ -17,7 +16,6 @@ Syntax
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/shift/exp
|
||||
@ -56,10 +54,8 @@ or :doc:`read_restart <read_restart>` commands:
|
||||
* :math:`\theta` (angle)
|
||||
* :math:`A` (real number)
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
@ -78,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
USER-MISC package. See the :doc:`Build package <Build_package>` doc
|
||||
page for more info.
|
||||
|
||||
@ -9,7 +9,6 @@ angle_style cosine/squared/omp command
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/squared
|
||||
@ -17,7 +16,6 @@ Syntax
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
angle_style cosine/squared
|
||||
@ -32,7 +30,6 @@ The *cosine/squared* angle style uses the potential
|
||||
|
||||
E = K [\cos(\theta) - \cos(\theta_0)]^2
|
||||
|
||||
|
||||
where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a
|
||||
prefactor. Note that the usual 1/2 factor is included in :math:`K`.
|
||||
|
||||
@ -47,10 +44,8 @@ or :doc:`read_restart <read_restart>` commands:
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
@ -69,14 +64,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
MOLECULE package. See the :doc:`Build package <Build_package>` doc page
|
||||
for more info.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user