Compare commits
45 Commits
patch_16Au
...
patch_22Au
| Author | SHA1 | Date | |
|---|---|---|---|
| b47e492233 | |||
| bb72604eec | |||
| 316f265e3d | |||
| 25bc74eb21 | |||
| 9d4994b383 | |||
| fc47b8c6dd | |||
| c4bda59f9a | |||
| 87afaa44fd | |||
| 2baa0b3452 | |||
| fd0b041e0e | |||
| c0150e80e9 | |||
| 4b0382cadd | |||
| fd788e5bbd | |||
| ee3b7a67a0 | |||
| 2b5618dc40 | |||
| 95d462e5d3 | |||
| 3aedfbf9d5 | |||
| d66d696dff | |||
| 2c19079707 | |||
| 21c332353a | |||
| f8faf4dfe2 | |||
| c719af8bcd | |||
| f402d2f520 | |||
| 044141eb8f | |||
| 2248bf12d5 | |||
| 0ca0e0a93c | |||
| 639573ff87 | |||
| f73ffb829b | |||
| 353c004d6c | |||
| 703a795af8 | |||
| 4f37b46b10 | |||
| 5436169c20 | |||
| 7dac513235 | |||
| 6c5d339a94 | |||
| c0544ba346 | |||
| eb7568a4fb | |||
| 2a547ede68 | |||
| bfaa345536 | |||
| f8c9ab4a3e | |||
| a8c687aee8 | |||
| 73540e6b44 | |||
| e05d471869 | |||
| 4c3bd3909e | |||
| 528fc8f6a1 | |||
| 203f82ed47 |
15
README
15
README
@ -36,7 +36,14 @@ tools pre- and post-processing tools
|
||||
|
||||
Point your browser at any of these files to get started:
|
||||
|
||||
doc/Manual.html the LAMMPS manual
|
||||
doc/Section_intro.html hi-level introduction to LAMMPS
|
||||
doc/Section_start.html how to build and use LAMMPS
|
||||
doc/Developer.pdf LAMMPS developer guide
|
||||
http://lammps.sandia.gov/doc/Manual.html the LAMMPS manual
|
||||
http://lammps.sandia.gov/doc/Intro.html hi-level introduction
|
||||
http://lammps.sandia.gov/doc/Build.html how to build LAMMPS
|
||||
http://lammps.sandia.gov/doc/Run_head.html how to run LAMMPS
|
||||
http://lammps.sandia.gov/doc/Developer.pdf LAMMPS developer guide
|
||||
|
||||
You can also create these doc pages locally:
|
||||
|
||||
% cd doc
|
||||
% make html # creates HTML pages in doc/html
|
||||
% make pdf # creates Manual.pdf and Developer.pdf
|
||||
|
||||
@ -377,6 +377,9 @@ endif()
|
||||
if(PKG_LATTE)
|
||||
option(DOWNLOAD_LATTE "Download latte (instead of using the system's one)" OFF)
|
||||
if(DOWNLOAD_LATTE)
|
||||
if (CMAKE_VERSION VERSION_LESS "3.7") # due to SOURCE_SUBDIR
|
||||
message(FATAL_ERROR "For downlading LATTE you need at least cmake-3.7")
|
||||
endif()
|
||||
message(STATUS "LATTE not found - we will build our own")
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(latte_build
|
||||
@ -479,6 +482,9 @@ if(PKG_MSCG)
|
||||
find_package(GSL REQUIRED)
|
||||
option(DOWNLOAD_MSCG "Download latte (instead of using the system's one)" OFF)
|
||||
if(DOWNLOAD_MSCG)
|
||||
if (CMAKE_VERSION VERSION_LESS "3.7") # due to SOURCE_SUBDIR
|
||||
message(FATAL_ERROR "For downlading LATTE you need at least cmake-3.7")
|
||||
endif()
|
||||
include(ExternalProject)
|
||||
if(NOT LAPACK_FOUND)
|
||||
set(EXTRA_MSCG_OPTS "-DLAPACK_LIBRARIES=${CMAKE_CURRENT_BINARY_DIR}/liblinalg.a")
|
||||
@ -731,6 +737,11 @@ if(PKG_KOKKOS)
|
||||
${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/domain_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/modify_kokkos.cpp)
|
||||
|
||||
if(PKG_KSPACE)
|
||||
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp)
|
||||
endif()
|
||||
|
||||
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")
|
||||
|
||||
# detects styles which have KOKKOS version
|
||||
|
||||
@ -275,6 +275,16 @@ cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>BUILD_EXE</code></td>
|
||||
<td>control whether to build LAMMPS executable</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>on</code> (default)</dt>
|
||||
<dt><code>off</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>BUILD_SHARED_LIBS</code></td>
|
||||
<td>control whether to build LAMMPS as a shared-library</td>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
"Previous Section"_Install.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Run.html :c
|
||||
Documentation"_ld - "LAMMPS Commands"_lc - "Next Section"_Run_head.html :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
@ -28,6 +28,7 @@ as described on the "Install"_Install.html doc page.
|
||||
Build_settings
|
||||
Build_package
|
||||
Build_extras
|
||||
Build_windows
|
||||
|
||||
END_RST -->
|
||||
|
||||
@ -39,7 +40,8 @@ END_RST -->
|
||||
"Basic build options"_Build_basics.html
|
||||
"Optional build settings"_Build_settings.html
|
||||
"Include packages in build"_Build_package.html
|
||||
"Packages with extra build options"_Build_extras.html :all(b)
|
||||
"Packages with extra build options"_Build_extras.html
|
||||
"Notes for building LAMMPS on Windows"_Build_windows.html :all(b)
|
||||
|
||||
If you have problems building LAMMPS, it is often due to software
|
||||
issues on your local machine. If you can, find a local expert to
|
||||
|
||||
@ -13,12 +13,10 @@ This page is a short summary of how to use CMake to build LAMMPS.
|
||||
Details on CMake variables that enable specific LAMMPS build options
|
||||
are given on the pages linked to from the "Build"_Build.html doc page.
|
||||
|
||||
Richard Berger (Temple U) has also written a more comprehensive guide
|
||||
Richard Berger (Temple U) has also written a "more comprehensive
|
||||
guide"_https://github.com/lammps/lammps/blob/master/cmake/README.md
|
||||
for how to use CMake to build LAMMPS. If you are new to CMake it is a
|
||||
good place to start:
|
||||
|
||||
"Bulding LAMMPS using
|
||||
CMake"_https://github.com/lammps/lammps/blob/master/cmake/README.md
|
||||
good place to start.
|
||||
|
||||
:line
|
||||
|
||||
@ -81,8 +79,9 @@ directory to un-install all packages. The purge removes all the *.h
|
||||
files auto-generated by make.
|
||||
|
||||
You must have CMake version 2.8 or later on your system to build
|
||||
LAMMPS. If you include the GPU or KOKKOS packages, CMake version 3.2
|
||||
or later is required. Installation instructions for CMake are below.
|
||||
LAMMPS. A handful of LAMMPS packages (KOKKOS, LATTE, MSCG) require a
|
||||
later version. CMake will print a message telling you if a later
|
||||
version is required. Installation instructions for CMake are below.
|
||||
|
||||
After the initial build, if you edit LAMMPS source files, or add your
|
||||
own new files to the source directory, you can just re-type make from
|
||||
|
||||
@ -48,7 +48,7 @@ This is the list of packages that may require additional steps.
|
||||
"USER-QMMM"_#user-qmmm,
|
||||
"USER-QUIP"_#user-quip,
|
||||
"USER-SMD"_#user-smd,
|
||||
"USER-VTK"_#user-vtk :tb(c=6,ea=c)
|
||||
"USER-VTK"_#user-vtk :tb(c=6,ea=c,a=l)
|
||||
|
||||
:line
|
||||
|
||||
@ -175,8 +175,15 @@ package?" page.
|
||||
[CMake build]:
|
||||
|
||||
-D DOWNLOAD_KIM=value # download OpenKIM API v1 for build, value = no (default) or yes
|
||||
-D KIM_LIBRARY=path # path to KIM shared library (only needed if a custom location)
|
||||
-D KIM_INCLUDE_DIR=path # path to KIM include directory (only needed if a custom location) :pre
|
||||
-D KIM_LIBRARY=path # KIM library file (only needed if a custom location)
|
||||
-D KIM_INCLUDE_DIR=path # KIM include directory (only needed if a custom location) :pre
|
||||
|
||||
If DOWNLOAD_KIM is set, the KIM library will be downloaded and built
|
||||
inside the CMake build directory. If the KIM library is already on
|
||||
your system (in a location CMake cannot find it), KIM_LIBRARY is the
|
||||
filename (plus path) of the KIM library file, not the directory the
|
||||
library file is in. KIM_INCLUDE_DIR is the directory the KIM include
|
||||
file is in.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
@ -296,7 +303,13 @@ library.
|
||||
[CMake build]:
|
||||
|
||||
-D DOWNLOAD_LATTE=value # download LATTE for build, value = no (default) or yes
|
||||
-D LATTE_LIBRARY=path # path to LATTE shared library (only needed if a custom location) :pre
|
||||
-D LATTE_LIBRARY=path # LATTE library file (only needed if a custom location) :pre
|
||||
|
||||
If DOWNLOAD_LATTE is set, the LATTE library will be downloaded and
|
||||
built inside the CMake build directory. If the LATTE library is
|
||||
already on your system (in a location CMake cannot find it),
|
||||
LATTE_LIBRARY is the filename (plus path) of the LATTE library file,
|
||||
not the directory the library file is in.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
@ -371,8 +384,15 @@ lib/mscg/README and MSCG/Install files for more details.
|
||||
[CMake build]:
|
||||
|
||||
-D DOWNLOAD_MSCG=value # download MSCG for build, value = no (default) or yes
|
||||
-D MSCG_LIBRARY=path # path to MSCG shared library (only needed if a custom location)
|
||||
-D MSCG_INCLUDE_DIR=path # path to MSCG include directory (only needed if a custom location) :pre
|
||||
-D MSCG_LIBRARY=path # MSCG library file (only needed if a custom location)
|
||||
-D MSCG_INCLUDE_DIR=path # MSCG include directory (only needed if a custom location) :pre
|
||||
|
||||
If DOWNLOAD_MSCG is set, the MSCG library will be downloaded and built
|
||||
inside the CMake build directory. If the MSCG library is already on
|
||||
your system (in a location CMake cannot find it), MSCG_LIBRARY is the
|
||||
filename (plus path) of the MSCG library file, not the directory the
|
||||
library file is in. MSCG_INCLUDE_DIR is the directory the MSCG
|
||||
include file is in.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
@ -515,8 +535,15 @@ library"_voro_home.
|
||||
[CMake build]:
|
||||
|
||||
-D DOWNLOAD_VORO=value # download Voro++ for build, value = no (default) or yes
|
||||
-D VORO_LIBRARY=path # (only needed if at custom location) path to VORO shared library
|
||||
-D VORO_INCLUDE_DIR=path # (only needed if at custom location) path to VORO include directory :pre
|
||||
-D VORO_LIBRARY=path # Voro++ library file (only needed if at custom location)
|
||||
-D VORO_INCLUDE_DIR=path # Voro++ include directory (only needed if at custom location) :pre
|
||||
|
||||
If DOWNLOAD_VORO is set, the Voro++ library will be downloaded and
|
||||
built inside the CMake build directory. If the Voro++ library is
|
||||
already on your system (in a location CMake cannot find it),
|
||||
VORO_LIBRARY is the filename (plus path) of the Voro++ library file,
|
||||
not the directory the library file is in. VORO_INCLUDE_DIR is the
|
||||
directory the Voro++ include file is in.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
@ -877,7 +904,10 @@ Eigen3 is a template library, so you do not need to build it.
|
||||
-D DOWNLOAD_EIGEN3 # download Eigen3, value = no (default) or yes
|
||||
-D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location) :pre
|
||||
|
||||
Set EIGEN3_INCLUDE_DIR if CMake cannot find the Eigen3 library.
|
||||
If DOWNLOAD_EIGEN3 is set, the Eigen3 library will be downloaded and
|
||||
inside the CMake build directory. If the Eig3n3 library is already on
|
||||
your system (in a location CMake cannot find it), EIGEN3_INCLUDE_DIR
|
||||
is the directory the Eigen3++ include file is in.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
|
||||
@ -59,7 +59,7 @@ packages:
|
||||
"USER-QMMM"_Build_extras.html#user-qmmm,
|
||||
"USER-QUIP"_Build_extras.html#user-quip,
|
||||
"USER-SMD"_Build_extras.html#user-smd,
|
||||
"USER-VTK"_Build_extras.html#user-vtk :tb(c=6,ea=c)
|
||||
"USER-VTK"_Build_extras.html#user-vtk :tb(c=6,ea=c,a=l)
|
||||
|
||||
The mechanism for including packages is simple but different for CMake
|
||||
versus make.
|
||||
|
||||
97
doc/src/Build_windows.txt
Normal file
97
doc/src/Build_windows.txt
Normal file
@ -0,0 +1,97 @@
|
||||
"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Commands_all.html)
|
||||
|
||||
:line
|
||||
|
||||
Notes for building LAMMPS on Windows :h3
|
||||
|
||||
"General remarks"_#generic
|
||||
"Running Linux on Windows"_#linux
|
||||
"Using GNU GCC ported to Windows"_#gnu
|
||||
"Using a cross-compiler"_#cross :ul
|
||||
|
||||
:line
|
||||
|
||||
General remarks :h4,link(generic)
|
||||
|
||||
LAMMPS is developed and tested primarily on Linux machines. The vast
|
||||
majority of HPC clusters and supercomputers today runs on Linux as well.
|
||||
Thus portability to other platforms is desired, but not always achieved.
|
||||
The LAMMPS developers strongly rely on LAMMPS users giving feedback and
|
||||
providing assistance in resolving portability issues. This particularly
|
||||
true for compiling LAMMPS on Windows, since this platform has significant
|
||||
differences with some low-level functionality.
|
||||
|
||||
|
||||
Running Linux on Windows :h4,link(linux)
|
||||
|
||||
So before trying to build LAMMPS on Windows, please consider if using
|
||||
the pre-compiled Windows binary packages are sufficient for your needs
|
||||
(as an aside, those packages themselves are build on a Linux machine
|
||||
using cross-compilers). If it is necessary for your to compile LAMMPS
|
||||
on a Windows machine (e.g. because it is your main desktop), please also
|
||||
consider using a virtual machine software and run a Linux virtual machine,
|
||||
or - if have a recently updated Windows 10 installation - consider using
|
||||
the Windows subsystem for Linux, which allows to run a bash shell from
|
||||
Ubuntu and from there on, you can pretty much use that shell like you
|
||||
are running on an Ubuntu Linux machine (e.g. installing software via
|
||||
apt-get). For more details on that, please see "this tutorial"_Howto_bash.html
|
||||
|
||||
|
||||
Using GNU GCC ported to Windows :h4,link(gnu)
|
||||
|
||||
One option for compiling LAMMPS on Windows natively, that has been known
|
||||
to work in the past is to install a bash shell, unix shell utilities,
|
||||
perl, GNU make, and a GNU compiler ported to Windows. The Cygwin package
|
||||
provides a unix/linux interface to low-level Windows functions, so LAMMPS
|
||||
can be compiled on Windows. The necessary (minor) modifications to LAMMPS
|
||||
are included, but may not always up-to-date for recently added functionality
|
||||
and the corresponding new code. A machine makefile for using cygwin for
|
||||
the old build system is provided. The CMake build system is untested
|
||||
for this; you will have to request that makefiles are generated and
|
||||
manually set the compiler.
|
||||
|
||||
When compiling for Windows [not] set the -DLAMMPS_MEMALIGN define
|
||||
in the LMP_INC makefile variable and add -lwsock32 -lpsapi to the linker
|
||||
flags in LIB makefile variable. Try adding -static-libgcc or -static or
|
||||
both to the linker flags when your resulting LAMMPS Windows executable
|
||||
complains about missing .dll files. The CMake configuration should set
|
||||
this up automatically, but is untested.
|
||||
|
||||
In case of problems, you are recommended to contact somebody with
|
||||
experience in using cygwin. If you do come across portability problems
|
||||
requiring changes to the LAMMPS source code, or figure out corrections
|
||||
yourself, please report them on the lammps-users mailing list, or file
|
||||
them as an issue or pull request on the LAMMPS github project.
|
||||
|
||||
|
||||
Using a cross-compiler :h4,link(cross)
|
||||
|
||||
If you need to provide custom LAMMPS binaries for Windows, but do not
|
||||
need to do the compilation on Windows, please consider using a Linux
|
||||
to Windows cross-compiler. This is how currently the Windows binary
|
||||
packages are created by the LAMMPS developers. Because of that, this is
|
||||
probably the currently best tested and supported way to build LAMMPS
|
||||
executables for Windows. There are makefiles provided for the
|
||||
traditional build system, but CMake has also been successfully tested
|
||||
using the mingw32-cmake and mingw64-cmake wrappers that are bundled
|
||||
with the cross-compiler environment on Fedora machines.
|
||||
|
||||
Please keep in mind, though, that this only applies to compiling LAMMPS.
|
||||
Whether the resulting binaries do work correctly is no tested by the
|
||||
LAMMPS developers. We instead rely on the feedback of the users
|
||||
of these precompiled LAMMPS packages for Windows. We will try to resolve
|
||||
issues to the best of our abilities if we become aware of them. However
|
||||
this is subject to time constraints and focus on HPC platforms.
|
||||
|
||||
|
||||
Native Visual C++ support :h4,link(native)
|
||||
|
||||
Support for the Visual C++ compilers is currently not available. The
|
||||
CMake build system is capable of creating suitable a Visual Studio
|
||||
style build environment, but the LAMMPS code itself is not fully ported
|
||||
to support Visual C++. Volunteers to take on this task are welcome.
|
||||
@ -1,4 +1,4 @@
|
||||
"Previous Section"_Run.html - "LAMMPS WWW Site"_lws -
|
||||
"Previous Section"_Run_head.html - "LAMMPS WWW Site"_lws -
|
||||
"LAMMPS Documentation"_ld - "LAMMPS Commands"_lc - "Next
|
||||
Section"_Packages.html :c
|
||||
|
||||
|
||||
@ -8,27 +8,44 @@ Section"_Examples.html :c
|
||||
|
||||
:line
|
||||
|
||||
How to discussions :h2
|
||||
Howto discussions :h2
|
||||
|
||||
These doc pages describe how to perform various tasks with LAMMPS,
|
||||
both for users and developers. The
|
||||
"glossary"_http://lammps.sandia.gov website page also lists MD
|
||||
terminology with links to corresponding LAMMPS manual pages.
|
||||
|
||||
The example input scripts included in the examples dir of the LAMMPS
|
||||
terminology with links to corresponding LAMMPS manual pages. The
|
||||
example input scripts included in the examples dir of the LAMMPS
|
||||
distribution and highlighted on the "Examples"_Examples.html doc page
|
||||
also show how to setup and run various kinds of simulations.
|
||||
|
||||
Tutorials howto :h3
|
||||
|
||||
<!-- RST
|
||||
|
||||
.. toctree::
|
||||
:name: tutorials
|
||||
:maxdepth: 1
|
||||
|
||||
Howto_github
|
||||
Howto_pylammps
|
||||
Howto_bash
|
||||
|
||||
END_RST -->
|
||||
|
||||
<!-- HTML_ONLY -->
|
||||
|
||||
"Using GitHub with LAMMPS"_Howto_github.html
|
||||
"PyLAMMPS interface to LAMMPS"_Howto_pylammps.html
|
||||
"Using LAMMPS with bash on Windows"_Howto_bash.html :all(b)
|
||||
|
||||
<!-- END_HTML_ONLY -->
|
||||
|
||||
General howto :h3
|
||||
|
||||
<!-- RST
|
||||
|
||||
.. toctree::
|
||||
:name: general
|
||||
:maxdepth: 1
|
||||
|
||||
Howto_restart
|
||||
@ -38,35 +55,86 @@ also show how to setup and run various kinds of simulations.
|
||||
Howto_library
|
||||
Howto_couple
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
END_RST -->
|
||||
|
||||
Howto_output
|
||||
Howto_chunk
|
||||
<!-- HTML_ONLY -->
|
||||
|
||||
"Restart a simulation"_Howto_restart.html
|
||||
"Visualize LAMMPS snapshots"_Howto_viz.html
|
||||
"Run multiple simulations from one input script"_Howto_multiple.html
|
||||
"Multi-replica simulations"_Howto_replica.html
|
||||
"Library interface to LAMMPS"_Howto_library.html
|
||||
"Couple LAMMPS to other codes"_Howto_couple.html :all(b)
|
||||
|
||||
<!-- END_HTML_ONLY -->
|
||||
|
||||
Settings howto :h3
|
||||
|
||||
<!-- RST
|
||||
|
||||
.. toctree::
|
||||
:name: settings
|
||||
:maxdepth: 1
|
||||
|
||||
Howto_2d
|
||||
Howto_triclinic
|
||||
Howto_walls
|
||||
Howto_nemd
|
||||
Howto_granular
|
||||
Howto_spherical
|
||||
Howto_dispersion
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
Howto_temperature
|
||||
Howto_thermostat
|
||||
Howto_barostat
|
||||
Howto_walls
|
||||
Howto_nemd
|
||||
Howto_dispersion
|
||||
|
||||
END_RST -->
|
||||
|
||||
<!-- HTML_ONLY -->
|
||||
|
||||
"2d simulations"_Howto_2d.html
|
||||
"Triclinic (non-orthogonal) simulation boxes"_Howto_triclinic.html
|
||||
"Thermostats"_Howto_thermostat.html
|
||||
"Barostats"_Howto_barostat.html
|
||||
"Walls"_Howto_walls.html
|
||||
"NEMD simulations"_Howto_nemd.html
|
||||
"Long-range dispersion settings"_Howto_dispersion.html :all(b)
|
||||
|
||||
<!-- END_HTML_ONLY -->
|
||||
|
||||
|
||||
Analysis howto :h3
|
||||
|
||||
<!-- RST
|
||||
|
||||
.. toctree::
|
||||
:name: analysis
|
||||
:maxdepth: 1
|
||||
|
||||
Howto_output
|
||||
Howto_chunk
|
||||
Howto_temperature
|
||||
Howto_elastic
|
||||
Howto_kappa
|
||||
Howto_viscosity
|
||||
Howto_diffusion
|
||||
|
||||
END_RST -->
|
||||
|
||||
<!-- HTML_ONLY -->
|
||||
|
||||
"Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html
|
||||
"Use chunks to calculate system properties"_Howto_chunk.html :all(b)
|
||||
"Calculate temperature"_Howto_temperature.html
|
||||
"Calculate elastic constants"_Howto_elastic.html
|
||||
"Calculate thermal conductivity"_Howto_kappa.html
|
||||
"Calculate viscosity"_Howto_viscosity.html
|
||||
"Calculate a diffusion coefficient"_Howto_diffusion.html :all(b)
|
||||
|
||||
<!-- END_HTML_ONLY -->
|
||||
|
||||
Force fields howto :h3
|
||||
|
||||
<!-- RST
|
||||
|
||||
.. toctree::
|
||||
:name: force
|
||||
:maxdepth: 1
|
||||
|
||||
Howto_bioFF
|
||||
@ -74,9 +142,27 @@ also show how to setup and run various kinds of simulations.
|
||||
Howto_tip4p
|
||||
Howto_spc
|
||||
|
||||
END_RST -->
|
||||
|
||||
<!-- HTML_ONLY -->
|
||||
|
||||
"CHARMM, AMBER, and DREIDING force fields"_Howto_bioFF.html
|
||||
"TIP3P water model"_Howto_tip3p.html
|
||||
"TIP4P water model"_Howto_tip4p.html
|
||||
"SPC water model"_Howto_spc.html :all(b)
|
||||
|
||||
<!-- END_HTML_ONLY -->
|
||||
|
||||
Packages howto :h3
|
||||
|
||||
<!-- RST
|
||||
|
||||
.. toctree::
|
||||
:name: packages
|
||||
:maxdepth: 1
|
||||
|
||||
Howto_spherical
|
||||
Howto_granular
|
||||
Howto_body
|
||||
Howto_polarizable
|
||||
Howto_coreshell
|
||||
@ -87,43 +173,11 @@ also show how to setup and run various kinds of simulations.
|
||||
|
||||
END_RST -->
|
||||
|
||||
|
||||
<!-- HTML_ONLY -->
|
||||
|
||||
"Using GitHub with LAMMPS"_Howto_github.html
|
||||
"PyLAMMPS interface to LAMMPS"_Howto_pylammps.html
|
||||
"Using LAMMPS with bash on Windows"_Howto_bash.html :all(b)
|
||||
|
||||
"Restart a simulation"_Howto_restart.html
|
||||
"Visualize LAMMPS snapshots"_Howto_viz.html
|
||||
"Run multiple simulations from one input script"_Howto_multiple.html
|
||||
"Multi-replica simulations"_Howto_replica.html
|
||||
"Library interface to LAMMPS"_Howto_library.html
|
||||
"Couple LAMMPS to other codes"_Howto_couple.html :all(b)
|
||||
|
||||
"Output from LAMMPS (thermo, dumps, computes, fixes, variables)"_Howto_output.html
|
||||
"Use chunks to calculate system properties"_Howto_chunk.html :all(b)
|
||||
|
||||
"2d simulations"_Howto_2d.html
|
||||
"Triclinic (non-orthogonal) simulation boxes"_Howto_triclinic.html
|
||||
"Walls"_Howto_walls.html
|
||||
"NEMD simulations"_Howto_nemd.html
|
||||
"Granular models"_Howto_granular.html
|
||||
"Finite-size spherical and aspherical particles"_Howto_spherical.html
|
||||
"Long-range dispersion settings"_Howto_dispersion.html :all(b)
|
||||
|
||||
"Calculate temperature"_Howto_temperature.html
|
||||
"Thermostats"_Howto_thermostat.html
|
||||
"Barostats"_Howto_barostat.html
|
||||
"Calculate elastic constants"_Howto_elastic.html
|
||||
"Calculate thermal conductivity"_Howto_kappa.html
|
||||
"Calculate viscosity"_Howto_viscosity.html
|
||||
"Calculate a diffusion coefficient"_Howto_diffusion.html :all(b)
|
||||
|
||||
"CHARMM, AMBER, and DREIDING force fields"_Howto_bioFF.html
|
||||
"TIP3P water model"_Howto_tip3p.html
|
||||
"TIP4P water model"_Howto_tip4p.html
|
||||
"SPC water model"_Howto_spc.html :all(b)
|
||||
|
||||
"Granular models"_Howto_granular.html
|
||||
"Body style particles"_Howto_body.html
|
||||
"Polarizable models"_Howto_polarizable.html
|
||||
"Adiabatic core/shell model"_Howto_coreshell.html
|
||||
|
||||
@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:line
|
||||
|
||||
Calculate a diffusion coefficient :h3
|
||||
Calculate diffusion coefficients :h3
|
||||
|
||||
The diffusion coefficient D of a material can be measured in at least
|
||||
2 ways using various options in LAMMPS. See the examples/DIFFUSE
|
||||
|
||||
@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:line
|
||||
|
||||
Long-raage dispersion settings :h3
|
||||
Long-range dispersion settings :h3
|
||||
|
||||
The PPPM method computes interactions by splitting the pair potential
|
||||
into two parts, one of which is computed in a normal pairwise fashion,
|
||||
|
||||
@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:line
|
||||
|
||||
Calcalate temperature :h3
|
||||
Calculate temperature :h3
|
||||
|
||||
Temperature is computed as kinetic energy divided by some number of
|
||||
degrees of freedom (and the Boltzmann constant). Since kinetic energy
|
||||
|
||||
@ -7,7 +7,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:line
|
||||
|
||||
LAMMPS authors :h3
|
||||
Authors of LAMMPS :h3
|
||||
|
||||
The primary LAMMPS developers are at Sandia National Labs and Temple
|
||||
University:
|
||||
@ -15,7 +15,8 @@ University:
|
||||
"Steve Plimpton"_sjp, sjplimp at sandia.gov
|
||||
Aidan Thompson, athomps at sandia.gov
|
||||
Stan Moore, stamoor at sandia.gov
|
||||
Axel Kohlmeyer, akohlmey at gmail.com :ul
|
||||
Axel Kohlmeyer, akohlmey at gmail.com
|
||||
Richard Berger, richard.berger at temple.edu :ul
|
||||
|
||||
:link(sjp,http://www.cs.sandia.gov/~sjplimp)
|
||||
|
||||
@ -24,26 +25,31 @@ and Ray Shan, now at Materials Design.
|
||||
|
||||
:line
|
||||
|
||||
The following folks are responsible for significant contributions to
|
||||
the code, or other aspects of the LAMMPS development effort. Many of
|
||||
the packages they have written are somewhat unique to LAMMPS and the
|
||||
code would not be as general-purpose as it is without their expertise
|
||||
and efforts.
|
||||
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.
|
||||
|
||||
Richard Berger (Temple U), Python interface, GitHub site, Sphinx doc pages
|
||||
:line
|
||||
|
||||
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.
|
||||
|
||||
Metin Aktulga (MSU), USER-REAXC package for C version of ReaxFF
|
||||
Mike Brown (Intel), GPU and USER-INTEL packages
|
||||
Colin Denniston (U Western Ontario), USER-LB package
|
||||
Georg Ganzenmuller (EMI), USER-SMD and USER-SPH packages
|
||||
Andres Jaramillo-Botero (Caltech), USER-EFF package for electron force field
|
||||
Reese Jones (Sandia) and colleagues, USER-ATC package for atom/continuum coupling
|
||||
Christoph Kloss (DCS Computing), LIGGGHTS code for granular materials, built on top of LAMMPS
|
||||
Rudra Mukherjee (JPL), POEMS package for articulated rigid body motion
|
||||
Trung Ngyuen (Northwestern U), GPU and RIGID and BODY packages
|
||||
Mike Parks (Sandia), PERI package for Peridynamics
|
||||
Roy Pollock (LLNL), Ewald and PPPM solvers
|
||||
Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL packages
|
||||
Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential
|
||||
Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics
|
||||
Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion
|
||||
Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling
|
||||
Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD
|
||||
Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA and KOKKOS packages
|
||||
Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field
|
||||
Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling
|
||||
Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF
|
||||
Georg Gunzenmueller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages
|
||||
Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul
|
||||
Christian Trott (Sandia), USER-CUDA and KOKKOS packages
|
||||
Ilya Valuev (JIHT), USER-AWPMD package for wave-packet MD
|
||||
Greg Wagner (Northwestern U), MEAM package for MEAM potential :ul
|
||||
|
||||
:line
|
||||
|
||||
@ -58,322 +64,3 @@ Terry Stouch (Lexicon Pharmaceuticals, formerly at Bristol Myers Squibb)
|
||||
Steve Lustig (Dupont)
|
||||
Jim Belak and Roy Pollock (LLNL) :ul
|
||||
|
||||
:line
|
||||
|
||||
Here is a timeline for when various individuals contributed to a new
|
||||
feature or command or tool added to LAMMPS:
|
||||
|
||||
Aug18 : CMake build option for LAMMPS : Christoph Junghans (LANL), Richard Berger, and Axel Kohlmeyer (Temple U)
|
||||
Jul18 : DEM polygonal and polyhedron particles : Trung Nguyen (Northwestern U)
|
||||
Jun18 : SPIN package : Julien Tranchida (Sandia and CEA)
|
||||
Jun18 : compute entropy/atom : Pablo Piaggi (EPLF, Switzerland)
|
||||
May18 : fix bond/react : Jake Gissinger (CU Boulder)
|
||||
Apr18 : USER-BOCS package : Nicholas Dunn and Michael DeLyser (Penn State U)
|
||||
Mar18: pair coul/shield, kolmogorov/crespi/full, ilp/graphene/hbn : Wengen Ouyang (Tel Aviv U)
|
||||
Feb18 : pair lj/cut/coul/wolf : Vishal Boddu (U of Erlangen-Nuremberg)
|
||||
Feb18 : USER-MOFFF package : Hendrik Heenen (Technical U of Munich) and Rochus Schmid (Ruhr-University Bochum)
|
||||
Feb18 : pair ufm : Rodolfo Paula Leite and Maurice de Koning (Unicamp/Brazil)
|
||||
Dec17 : fix python/move : Richard Berger (Temple U)
|
||||
Nov17 : pair extep : Jaap Kroes (Radboud U)
|
||||
Oct17 : USER-UEF package : David Nicholson (MIT)
|
||||
Oct17 : fix rhok : Ulf Pederson (Roskilde U)
|
||||
Oct17 : bond gromos : Axel Kohlmeyer (Temple U)
|
||||
Oct17 : pair born/coul/wolf/cs and coul/wolf/cs : Vishal Boddu
|
||||
Sep17 : fix latte : Christian Negre (LANL)
|
||||
Sep17 : temper_npt : Amulya Pervaje and Cody Addington (NCSU)
|
||||
Aug17 : USER-MESO package : Zhen Li (Brown University)
|
||||
Aug17 : compute aggregate/atom & fragment/atom : Axel Kohlmeyer (Temple U)
|
||||
Jul17 : pair meam/c : Sebastian Hutter (Otto-von-Guericke University)
|
||||
Jun17 : pair reaxc/omp : Metin Aktulga (MSU) and Axel Kohlmeyer (Temple U)
|
||||
Jun17 : pair vashishita/gpu : Anders Hafreager (UiO)
|
||||
Jun17 : kspace pppm/disp/intel and pair lj/long/coul/long/intel : Mike Brown (Intel) and William McDoniel (RWTH Aachen U)
|
||||
Jun17 : compute cnp/atom : Paulo Branicio (USC)
|
||||
May17 : fix python and pair python : Richard Berger (Temple U)
|
||||
May17 : pair edip/multi : Chao Jiang (U Wisconsin)
|
||||
May17 : pair gw and gw/zbl : German Samolyuk (ORNL)
|
||||
Mar17 : pair charmm fsw and fsh : Robert Meissner & Lucio Colombi Ciacchi (Bremen U), Robert Latour (Clemson U)
|
||||
Mar17 : pair momb : Ya Zhou, Kristen Fichthorn, and Tonnam Balankura (PSU)
|
||||
Mar17 : fix filter/corotate : Lukas Fath (KIT)
|
||||
Mar17 : pair kolmogorov/crespi/z : Jaap Kroes (Radboud Universiteit)
|
||||
Feb17 : Kokkos versions of the class2 bond/angle/dihedral/improper : Ray Shan (Materials Design)
|
||||
Jan17 : USER-CGDNA package : Oliver Henrich (U Edinburgh)
|
||||
Jan17 : fix mscg : Lauren Abbott (Sandia)
|
||||
Nov16 : temper/grem and fix grem : David Stelter (BU), Edyta Malolepsza (Broad Institute), Tom Keyes (BU)
|
||||
Nov16 : pair agni : Axel Kohlmeyer (Temple U) and Venkatesh Botu
|
||||
Nov16 : pair tersoff/mod.c : Ganga P Purja Pun (George Mason University)
|
||||
Nov16 : pair born/coul/dsf and pair born/coul/dsf/cs : Ariel Lozano
|
||||
Nov16 : fix reaxc/species/kk & fix reaxc/bonds/kk : Stan Moore (Sandia)
|
||||
Oct16 : fix wall/gran/region : Dan Bolintineanu (Sandia)
|
||||
Sep16 : weight options for balance & fix balance : Axel Kohlmeyer (Temple U) & Iain Bethune (EPCC)
|
||||
Sep16 : fix cmap : Xiaohu Hu (ORNL), David Hyde-Volpe & Tigran Abramyan & Robert Latour (Clemson U), Chris Lorenz (Kings College, London)
|
||||
Sep16 : pair vashishta/table : Anders Hafreager (U Oslo)
|
||||
Sep16 : kspace pppm/kk : Stan Moore (Sandia)
|
||||
Aug16 : fix flow/gauss : Steve Strong and Joel Eaves (U Colorado)
|
||||
Aug16 : fix controller : Aidan Thompson (Sandia)
|
||||
Jul16 : dipole integration by DLM method : Iain Bethune (EPCC)
|
||||
Jul16 : dihedral spherical : Andrew Jewett
|
||||
Jun16 : pair reax/c/kk : Ray Shan (Materials Design), Stan Moore (Sandia)
|
||||
Jun16 : fix orient/bcc : Tegar Wicaksono (UBC)
|
||||
Jun16 : fix ehex : Peter Wirnsberger (University of Cambridge)
|
||||
Jun16 : reactive DPD extensions to USER-DPD : James Larentzos (ARL), Timothy Mattox (Engility Corp), John Brennan (ARL), Christopher Stone (Computational Science & Engineering, LLC)
|
||||
May16 : USER-MANIFOLD package : Stefan Paquay (Eindhoven U of Tech, The Netherlands)
|
||||
Apr16 : write_coeff : Axel Kohlmeyer (Temple U)
|
||||
Apr16 : pair morse/soft : Stefan Paquay (Eindhoven U of Tech, The Netherlands)
|
||||
Apr16 : compute dipole/chunk : Axel Kohlmeyer (Temple U)
|
||||
Apr16 : bond write : Axel Kohlmeyer (Temple U)
|
||||
Mar16 : pair morse/smooth/linear : Stefan Paquay (Eindhoven U of Tech, The Netherlands)
|
||||
Feb16 : pair/bond/angle/dihedral/improper zero : Carsten Svaneborg (SDU)
|
||||
Feb16 : dump custom/vtk : Richard Berger (JKU) and Daniel Queteschiner (DCS Computing)
|
||||
Feb16 : fix (nvt/npt/nph)/body and compute temp/body : Trung Nguyen
|
||||
Feb16 : USER-DPD package : James Larentzos (ARL), Timothy Mattox (Engility Corp), John Brennan (ARL)
|
||||
Dec15 : fix qeq/fire : Ray Shan (Sandia)
|
||||
Dec15 : pair lj/mdf, pair lennard/mdf, pair buck/mdf, improper distance : Paolo Raiteri (Curtin University)
|
||||
Nov15 : compute orientorder/atom : Aidan Thompson (Sandia) and Axel Kohlmeyer (U Temple)
|
||||
Nov15 : compute hexorder/atom : Aidan Thompson (Sandia)
|
||||
Oct15 : displace_atoms variable option : Reese Jones (Sandia)
|
||||
Oct15 : pair mgpt & USER-MGPT package : Tomas Oppelstrup and John Moriarty (LLNL)
|
||||
Oct15 : pair smtbq & USER-SMTBQ package : Nicolas Salles, Emile Maras, Olivier Politano, and Robert Tetot (LAAS-CNRS)
|
||||
Oct15 : fix ave/correlate/long command : Jorge Ramirez (UPM) and Alexei Likhtman (U Reading)
|
||||
Oct15 : pair vashishta command : Aidan Thompson (Sandia) and Yongnan Xiong (HNU)
|
||||
Aug15 : USER-TALLY package : Axel Kohlmeyer (Temple U)
|
||||
Aug15 : timer command : Axel Kohlmeyer (Temple U)
|
||||
Aug15 : USER-H5MD package : Pierre de Buyl (KU Leuven)
|
||||
Aug15 : COMPRESS package : Axel Kohlmeyer (Temple U)
|
||||
Aug15 : USER-SMD package : Georg Gunzenmueller (EMI)
|
||||
Jul15 : new HTML format for "doc pages"_Manual.html with search option : Richard Berger (JKU)
|
||||
Jul15 : rRESPA with pair hybrid : Sam Genheden (U of Southampton)
|
||||
Jul15 : pair_modify special : Axel Kohlmeyer (Temple U)
|
||||
Jul15 : pair polymorphic : Xiaowang Zhou and Reese Jones (Sandia)
|
||||
Jul15 : USER-DRUDE package : Alain Dequidt and Agilio Padua (U Blaise Pascal Clermont-Ferrand) and Julien Devemy (CNRS)
|
||||
Jul15 : USER-QTB package : Yuan Shen, Tingting Qi, and Evan Reed (Stanford U)
|
||||
Jul15 : USER-DIFFRACTION package : Shawn Coleman (ARL)
|
||||
Mar15 : fix temp/csld : Axel Kohlmeyer (Temple U)
|
||||
Mar15 : CORESHELL package : Hendrik Heenen (Technical University of Munich)
|
||||
Feb15 : pair quip for GAP and other potentials : Albert Bartok-Partay (U Cambridge)
|
||||
Feb15 : pair coul/streitz for Streitz-Mintmire potential : Ray Shan (Sandia)
|
||||
Feb15 : fix tfmc : Kristof Bal (U of Antwerp)
|
||||
Feb15 : fix ttm/mod : Sergey Starikov and Vasily Pisarev (JIHT of RAS)
|
||||
Jan15 : fix atom/swap for MC swaps of atom types/charge : Paul Crozier (Sandia)
|
||||
Nov14 : fix pimd for path-integral MD : Chris Knight and Yuxing Peng (U Chicago)
|
||||
Nov14 : fix gle and fix ipi for path-integral MD : Michele Ceriotti (EPFL)
|
||||
Nov14 : pair style srp : Tim Sirk (ARL) and Pieter in 't Veld (BASF)
|
||||
Nov14 : fix ave/spatial/sphere : Niall Jackson (Imperial College)
|
||||
Sep14 : QEQ package and several fix qeq/variant styles : Ray Shan (Sandia)
|
||||
Sep14 : SNAP package and pair style : Aidan Thompson (Sandia) and collaborators
|
||||
Aug14 : USER-INTEL package : Mike Brown (Intel)
|
||||
May14 : KOKKOS pacakge : Christian Trott and Carter Edwards (Sandia)
|
||||
May14 : USER-FEP pacakge : Agilio Padua (U Blaise Pascal Clermont-Ferrand)
|
||||
Apr14 : fix rigid/small NVE/NVT/NPH/NPT : Trung Nguyen (ORNL)
|
||||
Apr14 : fix qmmm for QM/MM coupling : Axel Kohlmeyer (Temple U)
|
||||
Mar14 : kspace_modify collective for faster FFTs on BG/Q : Paul Coffman (IBM)
|
||||
Mar14 : fix temp/csvr and fix oneway : Axel Kohlmeyer (Temple U)
|
||||
Feb14 : pair peri/eps, compute dilatation/atom, compute plasticity/atom : Rezwanur Rahman and John Foster (UTSA)
|
||||
Jan14 : MPI-IO options for dump and restart files : Paul Coffman (IBM)
|
||||
Nov13 : USER-LB package for Lattice Boltzmann : Francis Mackay and Colin Denniston (U Western Ontario)
|
||||
Nov13 : fix ti/rs and ti/spring : Rodrigo Freitas (UC Berkeley)
|
||||
Nov13 : pair comb3 : Ray Shan (Sandia), Tao Liang and Dundar Yilmaz (U Florida)
|
||||
Nov13 : write_dump and dump movie : Axel Kohlmeyer (Temple U)
|
||||
Sep13 : xmgrace tool : Vikas Varshney
|
||||
Sep13 : pair zbl : Aidan Thompson and Stephen Foiles (Sandia)
|
||||
Aug13 : pair nm and variants : Julien Devemy (ICCF)
|
||||
Aug13 : fix wall/lj1043 : Jonathan Lee (Sandia)
|
||||
Jul13 : pair peri/ves : Rezwan Rahman, JT Foster (U Texas San Antonio)
|
||||
Jul13 : pair tersoff/mod : Vitaly Dozhdikov (JIHT of RAS)
|
||||
Jul13 : compute basal/atom : Christopher Barrett,(Mississippi State)
|
||||
Jul13 : polybond tool : Zachary Kraus (Georgia Tech)
|
||||
Jul13 : fix gld : Stephen Bond and Andrew Baczewski (Sandia)
|
||||
Jun13 : pair nb3b/harmonic : Todd Zeitler (Sandia)
|
||||
Jun13 : kspace_style pppm/stagger : Stan Moore (Sandia)
|
||||
Jun13 : fix tune/kspace : Paul Crozier (Sandia)
|
||||
Jun13 : long-range point dipoles : Stan Moore (Sandia) and Pieter in 't Veld (BASF)
|
||||
May13 : compute msd/nongauss : Rob Hoy
|
||||
May13 : pair list : Axel Kohlmeyer (Temple U)
|
||||
May13 : triclinic support for long-range solvers : Stan Moore (Sandia)
|
||||
Apr13 : dump_modify nfile and fileper : Christopher Knight
|
||||
Mar13 : fix phonon : Ling-Ti Kong (Shanghai Jiao Tong University)
|
||||
Mar13 : pair_style lj/cut/tip4p/cut : Pavel Elkind (Gothenburg University)
|
||||
Feb13 : immediate variables in input script : Daniel Moller (Autonomous University of Barcelona)
|
||||
Feb13 : fix species : Ray Shan (Sandia)
|
||||
Jan13 : compute voronoi/atom : Daniel Schwen
|
||||
Nov12 : pair_style mie/cut : Cassiano Aimoli Petrobras (U Notre Dame)
|
||||
Oct12 : pair_style meam/sw/spline : Robert Rudd (LLNL)
|
||||
Oct12 : angle_style fourier and fourier/simple and quartic : Loukas Peristeras (Scienomics)
|
||||
Oct12 : dihedral_style fourier and nharmonic and quadratic : Loukas Peristeras (Scienomics)
|
||||
Oct12 : improper_style fourier : Loukas Peristeras (Scienomics)
|
||||
Oct12 : kspace_style pppm/disp for 1/r^6 : Rolf Isele-Holder (Aachen University)
|
||||
Oct12 : moltemplate molecular builder tool : Andrew Jewett (UCSB)
|
||||
Sep12 : pair_style lj/cut/coul/dsf and coul/dsf : Trung Nguyen (ORNL)
|
||||
Sep12 : multi-level summation long-range solver : Stan Moore, Stephen Bond, and Paul Crozier (Sandia)
|
||||
Aug12 : fix rigid/npt and fix rigid/nph : Trung Nguyen (ORNL)
|
||||
Aug12 : Fortran wrapper on lib interface : Karl Hammond (UT, Knoxville)
|
||||
Aug12 : kspace_modify diff for 2-FFT PPPM : Rolf Isele-Holder (Aachen University), Stan Moore (BYU), Paul Crozier (Sandia)
|
||||
Jun12 : pair_style bop : Don Ward and Xiaowang Zhou (Sandia)
|
||||
Jun12 : USER-MOLFILE package : Axel Kohlmeyer (U Temple)
|
||||
Jun12 : USER-COLVARS package : Axel Kohlmeyer (U Temple)
|
||||
May12 : read_dump : Tim Sirk (ARL)
|
||||
May12 : improper_style cossq and ring : Georgios Vogiatzis (CoMSE, NTU Athens)
|
||||
May12 : pair_style lcbop : Dominik Wojt (Wroclaw University of Technology)
|
||||
Feb12 : PPPM per-atom energy/virial : Stan Moore (BYU)
|
||||
Feb12 : Ewald per-atom energy/virial : German Samolyuk (ORNL), Stan Moore (BYU)
|
||||
Feb12 : minimize forcezero linesearch : Asad Hasan (CMU)
|
||||
Feb12 : pair_style beck : Jon Zimmerman (Sandia)
|
||||
Feb12 : pair_style meam/spline : Alex Stukowski (LLNL)
|
||||
Jan12 : pair_style kim : Valeriu Smirichinski, Ryan Elliott, Ellad Tadmor (U Minn)
|
||||
Jan12 : dihedral_style table : Andrew Jewett (UCSB)
|
||||
Jan12 : angle_style dipole : Mario Orsi
|
||||
Jan12 : pair_style lj/smooth/linear : Jon Zimmerman (Sandia)
|
||||
Jan12 : fix reax/c/bond : Tzu-Ray Shan (Sandia)
|
||||
Dec11 : pair_style coul/wolf : Yongfeng Zhang (INL)
|
||||
Dec11 : run_style verlet/split : Yuxing Peng and Chris Knight (U Chicago)
|
||||
Dec11 : pair_style tersoff/table : Luca Ferraro (CASPUR)
|
||||
Nov11 : per-atom energy/stress for reax/c : Tzu-Ray Shan (Sandia)
|
||||
Oct11 : Fast Lubrication Dynamics (FLD) package: Amit Kumar, Michael Bybee, Jonathan Higdon (UIUC)
|
||||
Oct11 : USER-OMP package : Axel Kohlmeyer (Temple U)
|
||||
Sep11 : pair_style edip : Luca Ferraro (CASPUR)
|
||||
Aug11 : USER-SPH package : Georg Ganzenmuller (FIHSD, EMI, Germany)
|
||||
Aug11 : fix restrain : Craig Tenney (Sandia)
|
||||
Aug11 : USER-CUDA package : Christian Trott (U Tech Ilmenau)
|
||||
Aug11 : pair_style lj/sf : Laurent Joly (U Lyon)
|
||||
Aug11 : bond_style harmonic/shift and harmonic/shift/cut : Carsten Svaneborg
|
||||
Aug11 : angle_style cosine/shift and cosine/shift/exp : Carsten Svaneborg
|
||||
Aug11 : dihedral_style cosine/shift/exp : Carsten Svaneborg
|
||||
Aug11 : pair_style dipole/sf : Mario Orsi
|
||||
Aug11 : fix addtorque and compute temp/rotate : Laurent Joly (U Lyon)
|
||||
Aug11 : FFT support via FFTW3, MKL, ACML, KISS FFT libraries : \
|
||||
Axel Kohlmeyer (Temple U)
|
||||
Jun11 : pair_style adp : Chris Weinberger (Sandia), Stephen Foiles (Sandia), \
|
||||
Chandra Veer Singh (Cornell)
|
||||
Jun11 : Windows build option via Microsoft Visual Studio : \
|
||||
Ilya Valuev (JIHT, Moscow, Russia)
|
||||
Jun11 : antisymmetrized wave packet MD : Ilya Valuev (JIHT, Moscow, Russia)
|
||||
Jun11 : dump image : Nathan Fabian (Sandia)
|
||||
May11 : pppm GPU single and double : Mike Brown (ORNL)
|
||||
May11 : pair_style lj/expand/gpu : Inderaj Bains (NVIDIA)
|
||||
2010 : pair_style reax/c and fix qeq/reax : Metin Aktulga (Purdue, now LBNL)
|
||||
- : DREIDING force field, pair_style hbond/dreiding, etc : Tod Pascal (Caltech)
|
||||
- : fix adapt and compute ti for thermodynamic integration for \
|
||||
free energies : Sai Jayaraman (Sandia)
|
||||
- : pair_style born and gauss : Sai Jayaraman (Sandia)
|
||||
- : stochastic rotation dynamics (SRD) via fix srd : \
|
||||
Jeremy Lechman (Sandia) and Pieter in 't Veld (BASF)
|
||||
- : ipp Perl script tool : Reese Jones (Sandia)
|
||||
- : eam_database and createatoms tools : Xiaowang Zhou (Sandia)
|
||||
- : electron force field (eFF) : Andres Jaramillo-Botero and Julius Su (Caltech)
|
||||
- : embedded ion method (EIM) potential : Xiaowang Zhou (Sandia)
|
||||
- : COMB potential with charge equilibration : Tzu-Ray Shan (U Florida)
|
||||
- : fix ave/correlate : Benoit Leblanc, Dave Rigby, \
|
||||
Paul Saxe (Materials Design) and Reese Jones (Sandia)
|
||||
- : pair_style peri/lps : Mike Parks (Sandia)
|
||||
- : fix msst : Lawrence Fried (LLNL), Evan Reed (LLNL, Stanford)
|
||||
- : thermo_style custom tpcpu & spcpu keywords : Axel Kohlmeyer (Temple U)
|
||||
- : fix rigid/nve, fix rigid/nvt : Tony Sheh and Trung Dac Nguyen (U Michigan)
|
||||
- : public SVN & Git repositories for LAMMPS : \
|
||||
Axel Kohlmeyer (Temple U) and Bill Goldman (Sandia)
|
||||
- : compute heat/flux : German Samolyuk (ORNL) and \
|
||||
Mario Pinto (Computational Research Lab, Pune, India)
|
||||
- : pair_style yukawa/colloid : Randy Schunk (Sandia)
|
||||
- : fix wall/colloid : Jeremy Lechman (Sandia)
|
||||
2009 : fix imd for real-time viz and interactive MD : Axel Kohlmeyer (Temple Univ)
|
||||
- : concentration-dependent EAM potential : \
|
||||
Alexander Stukowski (Technical University of Darmstadt)
|
||||
- : parallel replica dymamics (PRD) : Mike Brown (Sandia)
|
||||
- : min_style hftn : Todd Plantenga (Sandia)
|
||||
- : fix atc : Reese Jones, Jon Zimmerman, Jeremy Templeton (Sandia)
|
||||
- : dump cfg : Liang Wan (Chinese Academy of Sciences)
|
||||
- : fix nvt with Nose/Hoover chains : Andy Ballard (U Maryland)
|
||||
- : pair_style lj/cut/gpu, pair_style gayberne/gpu : Mike Brown (Sandia)
|
||||
- : pair_style lj96/cut, bond_style table, angle_style table : Chuanfu Luo
|
||||
- : fix langevin tally : Carolyn Phillips (U Michigan)
|
||||
- : compute heat/flux for Green-Kubo : Reese Jones (Sandia), \
|
||||
Philip Howell (Siemens), Vikas Varsney (AFRL)
|
||||
- : region cone : Pim Schravendijk
|
||||
- : pair_style born/coul/long : Ahmed Ismail (Sandia)
|
||||
- : fix ttm : Paul Crozier (Sandia) and Carolyn Phillips (U Michigan)
|
||||
- : fix box/relax : Aidan Thompson and David Olmsted (Sandia)
|
||||
- : ReaxFF potential : Aidan Thompson (Sandia) and Hansohl Cho (MIT)
|
||||
- : compute cna/atom : Liang Wan (Chinese Academy of Sciences)
|
||||
2008 : Tersoff/ZBL potential : Dave Farrell (Northwestern U)
|
||||
- : peridynamics : Mike Parks (Sandia)
|
||||
- : fix smd for steered MD : Axel Kohlmeyer (U Penn)
|
||||
- : GROMACS pair potentials : Mark Stevens (Sandia)
|
||||
- : lmp2vmd tool : Axel Kohlmeyer (U Penn)
|
||||
- : compute group/group : Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
- : USER-CG-CMM package for coarse-graining : Axel Kohlmeyer (U Penn)
|
||||
- : cosine/delta angle potential : Axel Kohlmeyer (U Penn)
|
||||
- : VIM editor add-ons for LAMMPS input scripts : Gerolf Ziegenhain
|
||||
- : pair_style lubricate : Randy Schunk (Sandia)
|
||||
- : compute ackland/atom : Gerolf Ziegenhain
|
||||
- : kspace_style ewald/n, pair_style lj/coul, pair_style buck/coul : \
|
||||
Pieter in 't Veld (Sandia)
|
||||
- : AI-REBO bond-order potential : Ase Henry (MIT)
|
||||
- : making LAMMPS a true "object" that can be instantiated \
|
||||
multiple times, e.g. as a library : Ben FrantzDale (RPI)
|
||||
- : pymol_asphere viz tool : Mike Brown (Sandia)
|
||||
2007 : NEMD SLLOD integration : Pieter in 't Veld (Sandia)
|
||||
- : tensile and shear deformations : Pieter in 't Veld (Sandia)
|
||||
- : GayBerne potential : Mike Brown (Sandia)
|
||||
- : ellipsoidal particles : Mike Brown (Sandia)
|
||||
- : colloid potentials : Pieter in 't Veld (Sandia)
|
||||
- : fix heat : Paul Crozier and Ed Webb (Sandia)
|
||||
- : neighbor multi and communicate multi : Pieter in 't Veld (Sandia)
|
||||
- : MATLAB post-processing scripts : Arun Subramaniyan (Purdue)
|
||||
- : triclinic (non-orthogonal) simulation domains : Pieter in 't Veld (Sandia)
|
||||
- : thermo_extract tool: Vikas Varshney (Wright Patterson AFB)
|
||||
- : fix ave/time and fix ave/spatial : Pieter in 't Veld (Sandia)
|
||||
- : MEAM potential : Greg Wagner (Sandia)
|
||||
- : optimized pair potentials for lj/cut, charmm/long, eam, morse : \
|
||||
James Fischer (High Performance Technologies), \
|
||||
David Richie and Vincent Natoli (Stone Ridge Technologies)
|
||||
2006 : fix wall/lj126 : Mark Stevens (Sandia)
|
||||
- : Stillinger-Weber and Tersoff potentials : \
|
||||
Aidan Thompson and Xiaowang Zhou (Sandia)
|
||||
- : region prism : Pieter in 't Veld (Sandia)
|
||||
- : fix momentum and recenter : Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
- : multi-letter variable names : Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
- : OPLS dihedral potential: Mark Stevens (Sandia)
|
||||
- : POEMS coupled rigid body integrator: Rudranarayan Mukherjee (RPI)
|
||||
- : faster pair hybrid potential: James Fischer \
|
||||
(High Performance Technologies, Inc), Vincent Natoli and \
|
||||
David Richie (Stone Ridge Technology)
|
||||
- : breakable bond quartic potential: Chris Lorenz and Mark Stevens (Sandia)
|
||||
- : DCD and XTC dump styles: Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
- : grain boundary orientation fix : Koenraad Janssens and \
|
||||
David Olmsted (Sandia)
|
||||
- : pair_style lj/smooth potential : Craig Maloney (UCSB)
|
||||
- : radius-of-gyration spring fix : Naveen Michaud-Agrawal \
|
||||
(Johns Hopkins U) and Paul Crozier (Sandia)
|
||||
- : self spring fix : Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
- : EAM CoAl and AlCu potentials : Kwang-Reoul Lee (KIST, Korea)
|
||||
- : cosine/squared angle potential : Naveen Michaud-Agrawal (Johns Hopkins U)
|
||||
- : helix dihedral potential : Naveen Michaud-Agrawal (Johns Hopkins U) and \
|
||||
Mark Stevens (Sandia)
|
||||
- : Finnis/Sinclair EAM: Tim Lau (MIT)
|
||||
- : dissipative particle dynamics (DPD) potentials: Kurt Smith (U Pitt) and \
|
||||
Frank van Swol (Sandia)
|
||||
- : TIP4P potential (4-site water): Ahmed Ismail and \
|
||||
Amalie Frischknecht (Sandia)
|
||||
2005 : uniaxial strain fix: Carsten Svaneborg (Max Planck Institute)
|
||||
- : compressed dump files: Erik Luijten (U Illinois)
|
||||
- : cylindrical indenter fix: Ravi Agrawal (Northwestern U)
|
||||
- : electric field fix: Christina Payne (Vanderbilt U)
|
||||
- : AMBER <-> LAMMPS tool: Keir Novik (Univ College London) and \
|
||||
Vikas Varshney (U Akron)
|
||||
- : CHARMM <-> LAMMPS tool: Pieter in 't Veld and Paul Crozier (Sandia)
|
||||
- : Morse bond potential: Jeff Greathouse (Sandia)
|
||||
- : radial distribution functions: Paul Crozier & Jeff Greathouse (Sandia)
|
||||
- : force tables for long-range Coulombics: Paul Crozier (Sandia)
|
||||
2004 : targeted molecular dynamics (TMD): Paul Crozier (Sandia) and \
|
||||
Christian Burisch (Bochum University, Germany)
|
||||
- : FFT support for SGI SCLS (Altix): Jim Shepherd (Ga Tech)
|
||||
- : lmp2cfg and lmp2traj tools: Ara Kooser, Jeff Greathouse, \
|
||||
Andrey Kalinichev (Sandia)
|
||||
- : parallel tempering: Mark Sears (Sandia)
|
||||
earlier : granular force fields and BC: Leo Silbert & Gary Grest (Sandia)
|
||||
- : multi-harmonic dihedral potential: Mathias Putz (Sandia)
|
||||
- : embedded atom method (EAM) potential: Stephen Foiles (Sandia)
|
||||
- : msi2lmp tool: Steve Lustig (Dupont), Mike Peachey & John Carpenter (Cray)
|
||||
- : HTFN energy minimizer: Todd Plantenga (Sandia)
|
||||
- : class 2 force fields: Eric Simon (Cray)
|
||||
- : NVT/NPT integrators: Mark Stevens (Sandia)
|
||||
- : rRESPA: Mark Stevens & Paul Crozier (Sandia)
|
||||
- : Ewald and PPPM solvers: Roy Pollock (LLNL) : :tb(s=:,ca1=c)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="16 Aug 2018 version">
|
||||
<META NAME="docnumber" CONTENT="22 Aug 2018 version">
|
||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
@ -21,7 +21,7 @@
|
||||
:line
|
||||
|
||||
LAMMPS Documentation :c,h1
|
||||
16 Aug 2018 version :c,h2
|
||||
22 Aug 2018 version :c,h2
|
||||
|
||||
"What is a LAMMPS version?"_Manual_version.html
|
||||
|
||||
@ -66,7 +66,7 @@ every LAMMPS command.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:numbered:
|
||||
:numbered: 3
|
||||
:caption: User Documentation
|
||||
:name: userdoc
|
||||
:includehidden:
|
||||
@ -74,7 +74,7 @@ every LAMMPS command.
|
||||
Intro
|
||||
Install
|
||||
Build
|
||||
Run
|
||||
Run_head
|
||||
Commands
|
||||
Packages
|
||||
Speed
|
||||
@ -112,7 +112,7 @@ END_RST -->
|
||||
"Introduction"_Intro.html :olb,l
|
||||
"Install LAMMPS"_Install.html :l
|
||||
"Build LAMMPS"_Build.html :l
|
||||
"Run LAMMPS"_Run.html :l
|
||||
"Run LAMMPS"_Run_head.html :l
|
||||
"Commands"_Commands.html :l
|
||||
"Optional packages"_Packages.html :l
|
||||
"Accelerate performance"_Speed.html :l
|
||||
|
||||
@ -81,7 +81,7 @@ sudo yum install python3-virtualenv :pre
|
||||
|
||||
Fedora (since version 22) :h4
|
||||
|
||||
sudo dnf install python3-virtualenv pre
|
||||
sudo dnf install python3-virtualenv :pre
|
||||
|
||||
MacOS X :h4
|
||||
|
||||
|
||||
@ -382,6 +382,11 @@ switches"_Run_options.html. Also see the "GPU"_#PKG-GPU, "OPT"_#PKG-OPT,
|
||||
have styles optimized for CPUs, KNLs, and GPUs.
|
||||
|
||||
You must have a C++11 compatible compiler to use this package.
|
||||
KOKKOS makes extensive use of advanced C++ features, which can
|
||||
expose compiler bugs, especially when compiling for maximum
|
||||
performance at high optimization levels. Please see the file
|
||||
lib/kokkos/README for a list of compilers and their respective
|
||||
platforms, that are known to work.
|
||||
|
||||
[Authors:] The KOKKOS package was created primarily by Christian Trott
|
||||
and Stan Moore (Sandia), with contributions from other folks as well.
|
||||
|
||||
@ -25,42 +25,42 @@ refers to the examples/USER/atc directory. The "Library" column
|
||||
indicates whether an extra library is needed to build and use the
|
||||
package:
|
||||
|
||||
dash = no library
|
||||
no = no library
|
||||
sys = system library: you likely have it on your machine
|
||||
int = internal library: provided with LAMMPS, but you may need to build it
|
||||
ext = external library: you will need to download and install it on your machine :ul
|
||||
|
||||
Package, Description, Doc page, Example, Library
|
||||
"ASPHERE"_Packages_details.html#PKG-ASPHERE, aspherical particle models, "Howto spherical"_Howto_spherical.html, ellipse, -
|
||||
"BODY"_Packages_details.html#PKG-BODY, body-style particles, "Howto body"_Howto_body.html, body, -
|
||||
"CLASS2"_Packages_details.html#PKG-CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, -, -
|
||||
"COLLOID"_Packages_details.html#PKG-COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, -
|
||||
"COMPRESS"_Packages_details.html#PKG-COMPRESS, I/O compression, "dump */gz"_dump.html, -, sys
|
||||
"CORESHELL"_Packages_details.html#PKG-CORESHELL, adiabatic core/shell model, "Howto coreshell"_Howto_coreshell.html, coreshell, -
|
||||
"DIPOLE"_Packages_details.html#PKG-DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, -
|
||||
"ASPHERE"_Packages_details.html#PKG-ASPHERE, aspherical particle models, "Howto spherical"_Howto_spherical.html, ellipse, no
|
||||
"BODY"_Packages_details.html#PKG-BODY, body-style particles, "Howto body"_Howto_body.html, body, no
|
||||
"CLASS2"_Packages_details.html#PKG-CLASS2, class 2 force fields, "pair_style lj/class2"_pair_class2.html, n/a, no
|
||||
"COLLOID"_Packages_details.html#PKG-COLLOID, colloidal particles, "atom_style colloid"_atom_style.html, colloid, no
|
||||
"COMPRESS"_Packages_details.html#PKG-COMPRESS, I/O compression, "dump */gz"_dump.html, n/a, sys
|
||||
"CORESHELL"_Packages_details.html#PKG-CORESHELL, adiabatic core/shell model, "Howto coreshell"_Howto_coreshell.html, coreshell, no
|
||||
"DIPOLE"_Packages_details.html#PKG-DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, no
|
||||
"GPU"_Packages_details.html#PKG-GPU, GPU-enabled styles, "Section gpu"_Speed_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int
|
||||
"GRANULAR"_Packages_details.html#PKG-GRANULAR, granular systems, "Howto granular"_Howto_granular.html, pour, -
|
||||
"GRANULAR"_Packages_details.html#PKG-GRANULAR, granular systems, "Howto granular"_Howto_granular.html, pour, no
|
||||
"KIM"_Packages_details.html#PKG-KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext
|
||||
"KOKKOS"_Packages_details.html#PKG-KOKKOS, Kokkos-enabled styles, "Speed kokkos"_Speed_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
||||
"KSPACE"_Packages_details.html#PKG-KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, -
|
||||
"KOKKOS"_Packages_details.html#PKG-KOKKOS, Kokkos-enabled styles, "Speed kokkos"_Speed_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no
|
||||
"KSPACE"_Packages_details.html#PKG-KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, no
|
||||
"LATTE"_Packages_details.html#PKG-LATTE, quantum DFTB forces via LATTE, "fix latte"_fix_latte.html, latte, ext
|
||||
"MANYBODY"_Packages_details.html#PKG-MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, -
|
||||
"MC"_Packages_details.html#PKG-MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, -
|
||||
"MANYBODY"_Packages_details.html#PKG-MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, no
|
||||
"MC"_Packages_details.html#PKG-MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, n/a, no
|
||||
"MEAM"_Packages_details.html#PKG-MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int
|
||||
"MISC"_Packages_details.html#PKG-MISC, miscellanous single-file commands, -, -, -
|
||||
"MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, -
|
||||
"MPIIO"_Packages_details.html#PKG-MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, -
|
||||
"MISC"_Packages_details.html#PKG-MISC, miscellanous single-file commands, n/a, no, no
|
||||
"MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, no
|
||||
"MPIIO"_Packages_details.html#PKG-MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, n/a, no
|
||||
"MSCG"_Packages_details.html#PKG-MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext
|
||||
"OPT"_Packages_details.html#PKG-OPT, optimized pair styles, "Speed opt"_Speed_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
||||
"PERI"_Packages_details.html#PKG-PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, -
|
||||
"OPT"_Packages_details.html#PKG-OPT, optimized pair styles, "Speed opt"_Speed_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no
|
||||
"PERI"_Packages_details.html#PKG-PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, no
|
||||
"POEMS"_Packages_details.html#PKG-POEMS, coupled rigid body motion, "fix poems"_fix_poems.html, rigid, int
|
||||
"PYTHON"_Packages_details.html#PKG-PYTHON, embed Python code in an input script, "python"_python.html, python, sys
|
||||
"QEQ"_Packages_details.html#PKG-QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, -
|
||||
"QEQ"_Packages_details.html#PKG-QEQ, QEq charge equilibration, "fix qeq"_fix_qeq.html, qeq, no
|
||||
"REAX"_Packages_details.html#PKG-REAX, ReaxFF potential (Fortran), "pair_style reax"_pair_reax.html, reax, int
|
||||
"REPLICA"_Packages_details.html#PKG-REPLICA2, multi-replica methods, "Howto replica"_Howto_replica.html, tad, -
|
||||
"RIGID"_Packages_details.html#PKG-RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, -
|
||||
"SHOCK"_Packages_details.html#PKG-SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, -
|
||||
"SNAP"_Packages_details.html#PKG-SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, -
|
||||
"SPIN"_Packages_details.html#PKG-SPIN, magnetic atomic spin dynamics, "Howto spins"_Howto_spins.html, SPIN, -
|
||||
"SRD"_Packages_details.html#PKG-SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, -
|
||||
"VORONOI"_Packages_details.html#PKG-VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l)
|
||||
"REPLICA"_Packages_details.html#PKG-REPLICA2, multi-replica methods, "Howto replica"_Howto_replica.html, tad, no
|
||||
"RIGID"_Packages_details.html#PKG-RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, no
|
||||
"SHOCK"_Packages_details.html#PKG-SHOCK, shock loading methods, "fix msst"_fix_msst.html, n/a, no
|
||||
"SNAP"_Packages_details.html#PKG-SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, no
|
||||
"SPIN"_Packages_details.html#PKG-SPIN, magnetic atomic spin dynamics, "Howto spins"_Howto_spins.html, SPIN, no
|
||||
"SRD"_Packages_details.html#PKG-SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, no
|
||||
"VORONOI"_Packages_details.html#PKG-VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, n/a, ext :tb(ea=c,ca1=l)
|
||||
|
||||
@ -32,7 +32,7 @@ refers to the examples/USER/atc directory. The "Library" column
|
||||
indicates whether an extra library is needed to build and use the
|
||||
package:
|
||||
|
||||
dash = no library
|
||||
no = no library
|
||||
sys = system library: you likely have it on your machine
|
||||
int = internal library: provided with LAMMPS, but you may need to build it
|
||||
ext = external library: you will need to download and install it on your machine :ul
|
||||
@ -40,35 +40,35 @@ ext = external library: you will need to download and install it on your machine
|
||||
Package, Description, Doc page, Example, Library
|
||||
"USER-ATC"_Packages_details.html#PKG-USER-ATC, atom-to-continuum coupling, "fix atc"_fix_atc.html, USER/atc, int
|
||||
"USER-AWPMD"_Packages_details.html#PKG-USER-AWPMD, wave-packet MD, "pair_style awpmd/cut"_pair_awpmd.html, USER/awpmd, int
|
||||
"USER-BOCS"_Packages_details.html#PKG-USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, -
|
||||
"USER-CGDNA"_Packages_details.html#PKG-USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, -
|
||||
"USER-CGSDK"_Packages_details.html#PKG-USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, -
|
||||
"USER-BOCS"_Packages_details.html#PKG-USER-BOCS, BOCS bottom up coarse graining, "fix bocs"_fix_bocs.html, USER/bocs, no
|
||||
"USER-CGDNA"_Packages_details.html#PKG-USER-CGDNA, coarse-grained DNA force fields, src/USER-CGDNA/README, USER/cgdna, no
|
||||
"USER-CGSDK"_Packages_details.html#PKG-USER-CGSDK, SDK coarse-graining model, "pair_style lj/sdk"_pair_sdk.html, USER/cgsdk, no
|
||||
"USER-COLVARS"_Packages_details.html#PKG-USER-COLVARS, collective variables library, "fix colvars"_fix_colvars.html, USER/colvars, int
|
||||
"USER-DIFFRACTION"_Packages_details.html#PKG-USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, -
|
||||
"USER-DPD"_Packages_details.html#PKG-USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, -
|
||||
"USER-DRUDE"_Packages_details.html#PKG-USER-DRUDE, Drude oscillators, "Howto drude"_Howto_drude.html, USER/drude, -
|
||||
"USER-EFF"_Packages_details.html#PKG-USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, -
|
||||
"USER-FEP"_Packages_details.html#PKG-USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, -
|
||||
"USER-H5MD"_Packages_details.html#PKG-USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, -, ext
|
||||
"USER-INTEL"_Packages_details.html#PKG-USER-INTEL, optimized Intel CPU and KNL styles,"Speed intel"_Speed_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
||||
"USER-LB"_Packages_details.html#PKG-USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, -
|
||||
"USER-MANIFOLD"_Packages_details.html#PKG-USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, -
|
||||
"USER-MEAMC"_Packages_details.html#PKG-USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, -
|
||||
"USER-MESO"_Packages_details.html#PKG-USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, -
|
||||
"USER-MGPT"_Packages_details.html#PKG-USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, -
|
||||
"USER-MISC"_Packages_details.html#PKG-USER-MISC, single-file contributions, USER-MISC/README, USER/misc, -
|
||||
"USER-MOFFF"_Packages_details.html#PKG-USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, -
|
||||
"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext
|
||||
"USER-NETCDF"_Packages_details.html#PKG-USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, -, ext
|
||||
"USER-OMP"_Packages_details.html#PKG-USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
||||
"USER-PHONON"_Packages_details.html#PKG-USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, -
|
||||
"USER-DIFFRACTION"_Packages_details.html#PKG-USER-DIFFRACTION, virtual x-ray and electron diffraction,"compute xrd"_compute_xrd.html, USER/diffraction, no
|
||||
"USER-DPD"_Packages_details.html#PKG-USER-DPD, reactive dissipative particle dynamics, src/USER-DPD/README, USER/dpd, no
|
||||
"USER-DRUDE"_Packages_details.html#PKG-USER-DRUDE, Drude oscillators, "Howto drude"_Howto_drude.html, USER/drude, no
|
||||
"USER-EFF"_Packages_details.html#PKG-USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, no
|
||||
"USER-FEP"_Packages_details.html#PKG-USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, no
|
||||
"USER-H5MD"_Packages_details.html#PKG-USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, n/a, ext
|
||||
"USER-INTEL"_Packages_details.html#PKG-USER-INTEL, optimized Intel CPU and KNL styles,"Speed intel"_Speed_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no
|
||||
"USER-LB"_Packages_details.html#PKG-USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, no
|
||||
"USER-MANIFOLD"_Packages_details.html#PKG-USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, no
|
||||
"USER-MEAMC"_Packages_details.html#PKG-USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, no
|
||||
"USER-MESO"_Packages_details.html#PKG-USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, no
|
||||
"USER-MGPT"_Packages_details.html#PKG-USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, no
|
||||
"USER-MISC"_Packages_details.html#PKG-USER-MISC, single-file contributions, USER-MISC/README, USER/misc, no
|
||||
"USER-MOFFF"_Packages_details.html#PKG-USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, no
|
||||
"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext
|
||||
"USER-NETCDF"_Packages_details.html#PKG-USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, n/a, ext
|
||||
"USER-OMP"_Packages_details.html#PKG-USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no
|
||||
"USER-PHONON"_Packages_details.html#PKG-USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, no
|
||||
"USER-QMMM"_Packages_details.html#PKG-USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext
|
||||
"USER-QTB"_Packages_details.html#PKG-USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, -
|
||||
"USER-QTB"_Packages_details.html#PKG-USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, no
|
||||
"USER-QUIP"_Packages_details.html#PKG-USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext
|
||||
"USER-REAXC"_Packages_details.html#PKG-USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, -
|
||||
"USER-REAXC"_Packages_details.html#PKG-USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, no
|
||||
"USER-SMD"_Packages_details.html#PKG-USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext
|
||||
"USER-SMTBQ"_Packages_details.html#PKG-USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, -
|
||||
"USER-SPH"_Packages_details.html#PKG-USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, -
|
||||
"USER-TALLY"_Packages_details.html#PKG-USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, -
|
||||
"USER-UEF"_Packages_details.html#PKG-USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, -
|
||||
"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, -, ext :tb(ea=c,ca1=l)
|
||||
"USER-SMTBQ"_Packages_details.html#PKG-USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, no
|
||||
"USER-SPH"_Packages_details.html#PKG-USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, no
|
||||
"USER-TALLY"_Packages_details.html#PKG-USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, no
|
||||
"USER-UEF"_Packages_details.html#PKG-USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, no
|
||||
"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, n/a, ext :tb(ea=c,ca1=l)
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
"Higher level section"_Run.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
"Higher level section"_Run_head.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
|
||||
@ -9,65 +9,108 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
Comparison of various accelerator packages :h3
|
||||
|
||||
NOTE: this section still needs to be re-worked with additional KOKKOS
|
||||
and USER-INTEL information.
|
||||
|
||||
The next section compares and contrasts the various accelerator
|
||||
options, since there are multiple ways to perform OpenMP threading,
|
||||
run on GPUs, and run on Intel Xeon Phi coprocessors.
|
||||
run on GPUs, optimize for vector units on CPUs and run on Intel
|
||||
Xeon Phi (co-)processors.
|
||||
|
||||
All 3 of these packages accelerate a LAMMPS calculation using NVIDIA
|
||||
hardware, but they do it in different ways.
|
||||
All of these packages can accelerate a LAMMPS calculation taking
|
||||
advantage of hardware features, but they do it in different ways
|
||||
and acceleration is not always guaranteed.
|
||||
|
||||
As a consequence, for a particular simulation on specific hardware,
|
||||
one package may be faster than the other. We give guidelines below,
|
||||
but the best way to determine which package is faster for your input
|
||||
script is to try both of them on your machine. See the benchmarking
|
||||
one package may be faster than the other. We give some guidelines
|
||||
below, but the best way to determine which package is faster for your
|
||||
input script is to try multiple of them on your machine and experiment
|
||||
with available performance tuning settings. See the benchmarking
|
||||
section below for examples where this has been done.
|
||||
|
||||
[Guidelines for using each package optimally:]
|
||||
|
||||
The GPU package allows you to assign multiple CPUs (cores) to a single
|
||||
GPU (a common configuration for "hybrid" nodes that contain multicore
|
||||
CPU(s) and GPU(s)) and works effectively in this mode. :ulb,l
|
||||
Both, the GPU and the KOKKOS package allows you to assign multiple
|
||||
MPI ranks (= CPU cores) to the same GPU. For the GPU package, this
|
||||
can lead to a speedup through better utilization of the GPU (by
|
||||
overlapping computation and data transfer) and more efficient
|
||||
computation of the non-GPU accelerated parts of LAMMPS through MPI
|
||||
parallelization, as all system data is maintained and updated on
|
||||
the host. For KOKKOS, there is less to no benefit from this, due
|
||||
to its different memory management model, which tries to retain
|
||||
data on the GPU.
|
||||
:ulb,l
|
||||
|
||||
The GPU package moves per-atom data (coordinates, forces)
|
||||
back-and-forth between the CPU and GPU every timestep. The
|
||||
KOKKOS/CUDA package only does this on timesteps when a CPU calculation
|
||||
is required (e.g. to invoke a fix or compute that is non-GPU-ized).
|
||||
Hence, if you can formulate your input script to only use GPU-ized
|
||||
fixes and computes, and avoid doing I/O too often (thermo output, dump
|
||||
file snapshots, restart files), then the data transfer cost of the
|
||||
KOKKOS/CUDA package can be very low, causing it to run faster than the
|
||||
GPU package. :l
|
||||
The GPU package moves per-atom data (coordinates, forces, and
|
||||
(optionally) neighbor list data, if not computed on the GPU) between
|
||||
the CPU and GPU at every timestep. The KOKKOS/CUDA package only does
|
||||
this on timesteps when a CPU calculation is required (e.g. to invoke
|
||||
a fix or compute that is non-GPU-ized). Hence, if you can formulate
|
||||
your input script to only use GPU-ized fixes and computes, and avoid
|
||||
doing I/O too often (thermo output, dump file snapshots, restart files),
|
||||
then the data transfer cost of the KOKKOS/CUDA package can be very low,
|
||||
causing it to run faster than the GPU package. :l
|
||||
|
||||
The GPU package is often faster than the KOKKOS/CUDA package, if the
|
||||
number of atoms per GPU is smaller. The crossover point, in terms of
|
||||
atoms/GPU at which the KOKKOS/CUDA package becomes faster depends
|
||||
strongly on the pair style. For example, for a simple Lennard Jones
|
||||
The GPU package is often faster than the KOKKOS/CUDA package, when the
|
||||
number of atoms per GPU is on the smaller side. The crossover point,
|
||||
in terms of atoms/GPU at which the KOKKOS/CUDA package becomes faster
|
||||
depends strongly on the pair style. For example, for a simple Lennard Jones
|
||||
system the crossover (in single precision) is often about 50K-100K
|
||||
atoms per GPU. When performing double precision calculations the
|
||||
crossover point can be significantly smaller. :l
|
||||
|
||||
Both packages compute bonded interactions (bonds, angles, etc) on the
|
||||
CPU. If the GPU package is running with several MPI processes
|
||||
Both KOKKOS and GPU package compute bonded interactions (bonds, angles,
|
||||
etc) on the CPU. If the GPU package is running with several MPI processes
|
||||
assigned to one GPU, the cost of computing the bonded interactions is
|
||||
spread across more CPUs and hence the GPU package can run faster. :l
|
||||
spread across more CPUs and hence the GPU package can run faster in these
|
||||
cases. :l
|
||||
|
||||
When using the GPU package with multiple CPUs assigned to one GPU, its
|
||||
performance depends to some extent on high bandwidth between the CPUs
|
||||
and the GPU. Hence its performance is affected if full 16 PCIe lanes
|
||||
are not available for each GPU. In HPC environments this can be the
|
||||
case if S2050/70 servers are used, where two devices generally share
|
||||
one PCIe 2.0 16x slot. Also many multi-GPU mainboards do not provide
|
||||
full 16 lanes to each of the PCIe 2.0 16x slots. :l
|
||||
When using LAMMPS with multiple MPI ranks assigned to the same GPU, its
|
||||
performance depends to some extent on the available bandwidth between
|
||||
the CPUs and the GPU. This can differ significantly based on the
|
||||
available bus technology, capability of the host CPU and mainboard,
|
||||
the wiring of the buses and whether switches are used to increase the
|
||||
number of available bus slots, or if GPUs are housed in an external
|
||||
enclosure. This can become quite complex. :l
|
||||
|
||||
To achieve significant acceleration through GPUs, both KOKKOS and GPU
|
||||
package require capable GPUs with fast on-device memory and efficient
|
||||
data transfer rates. This requests capable upper mid-level to high-end
|
||||
(desktop) GPUs. Using lower performance GPUs (e.g. on laptops) may
|
||||
result in a slowdown instead. :l
|
||||
|
||||
For the GPU package, specifically when running in parallel with MPI,
|
||||
if it often more efficient to exclude the PPPM kspace style from GPU
|
||||
acceleration and instead run it - concurrently with a GPU accelerated
|
||||
pair style - on the CPU. This can often be easily achieved with placing
|
||||
a {suffix off} command before and a {suffix on} command after the
|
||||
{kspace_style pppm} command. :l
|
||||
|
||||
The KOKKOS/OpenMP and USER-OMP package have different thread management
|
||||
strategies, which should result in USER-OMP being more efficient for a
|
||||
small number of threads with increasing overhead as the number of threads
|
||||
per MPI rank grows. The KOKKOS/OpenMP kernels have less overhead in that
|
||||
case, but have lower performance with few threads. :l
|
||||
|
||||
The USER-INTEL package contains many options and settings for achieving
|
||||
additional performance on Intel hardware (CPU and accelerator cards), but
|
||||
to unlock this potential, an Intel compiler is required. The package code
|
||||
will compile with GNU gcc, but it will not be as efficient. :l
|
||||
:ule
|
||||
|
||||
[Differences between the two packages:]
|
||||
[Differences between the GPU and KOKKOS packages:]
|
||||
|
||||
The GPU package accelerates only pair force, neighbor list, and PPPM
|
||||
calculations. :ulb,l
|
||||
The GPU package accelerates only pair force, neighbor list, and (parts
|
||||
of) PPPM calculations. The KOKKOS package attempts to run most of the
|
||||
calculation on the GPU, but can transparently support non-accelerated
|
||||
code (with a performance penalty due to having data transfers between
|
||||
host and GPU). :ulb,l
|
||||
|
||||
The GPU package requires neighbor lists to be built on the CPU when using
|
||||
exclusion lists, hybrid pair styles, or a triclinic simulation box. :l
|
||||
|
||||
The GPU package can be compiled for CUDA or OpenCL and thus supports
|
||||
both, Nvidia and AMD GPUs well. On Nvidia hardware, using CUDA is typically
|
||||
resulting in equal or better performance over OpenCL. :l
|
||||
|
||||
OpenCL in the GPU package does theoretically also support Intel CPUs or
|
||||
Intel Xeon Phi, but the native support for those in KOKKOS (or USER-INTEL)
|
||||
is superior. :l
|
||||
:ule
|
||||
|
||||
@ -9,17 +9,17 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
GPU package :h3
|
||||
|
||||
The GPU package was developed by Mike Brown at ORNL and his
|
||||
collaborators, particularly Trung Nguyen (ORNL). It provides GPU
|
||||
versions of many pair styles, including the 3-body Stillinger-Weber
|
||||
pair style, and for "kspace_style pppm"_kspace_style.html for
|
||||
long-range Coulombics. It has the following general features:
|
||||
The GPU package was developed by Mike Brown while at SNL and ORNL
|
||||
and his collaborators, particularly Trung Nguyen (now at Northwestern).
|
||||
It provides GPU versions of many pair styles and for parts of the
|
||||
"kspace_style pppm"_kspace_style.html for long-range Coulombics.
|
||||
It has the following general features:
|
||||
|
||||
It is designed to exploit common GPU hardware configurations where one
|
||||
or more GPUs are coupled to many cores of one or more multi-core CPUs,
|
||||
e.g. within a node of a parallel machine. :ulb,l
|
||||
|
||||
Atom-based data (e.g. coordinates, forces) moves back-and-forth
|
||||
Atom-based data (e.g. coordinates, forces) are moved back-and-forth
|
||||
between the CPU(s) and GPU every timestep. :l
|
||||
|
||||
Neighbor lists can be built on the CPU or on the GPU :l
|
||||
@ -28,8 +28,8 @@ The charge assignment and force interpolation portions of PPPM can be
|
||||
run on the GPU. The FFT portion, which requires MPI communication
|
||||
between processors, runs on the CPU. :l
|
||||
|
||||
Asynchronous force computations can be performed simultaneously on the
|
||||
CPU(s) and GPU. :l
|
||||
Force computations of different style (pair vs. bond/angle/dihedral/improper)
|
||||
can be performed concurrently on the GPU and CPU(s), respectively. :l
|
||||
|
||||
It allows for GPU computations to be performed in single or double
|
||||
precision, or in mixed-mode precision, where pairwise forces are
|
||||
@ -39,21 +39,32 @@ force vectors. :l
|
||||
LAMMPS-specific code is in the GPU package. It makes calls to a
|
||||
generic GPU library in the lib/gpu directory. This library provides
|
||||
NVIDIA support as well as more general OpenCL support, so that the
|
||||
same functionality can eventually be supported on a variety of GPU
|
||||
hardware. :l
|
||||
same functionality is supported on a variety of hardware. :l
|
||||
:ule
|
||||
|
||||
[Required hardware/software:]
|
||||
|
||||
To use this package, you currently need to have an NVIDIA GPU and
|
||||
install the NVIDIA CUDA software on your system:
|
||||
To compile and use this package in CUDA mode, you currently need
|
||||
to have an NVIDIA GPU and install the corresponding NVIDIA CUDA
|
||||
toolkit software on your system (this is primarily tested on Linux
|
||||
and completely unsupported on Windows):
|
||||
|
||||
Check if you have an NVIDIA GPU: cat
|
||||
/proc/driver/nvidia/gpus/0/information Go to
|
||||
http://www.nvidia.com/object/cuda_get.html Install a driver and
|
||||
toolkit appropriate for your system (SDK is not necessary) Run
|
||||
lammps/lib/gpu/nvc_get_devices (after building the GPU library, see
|
||||
below) to list supported devices and properties :ul
|
||||
Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/*/information :ulb,l
|
||||
Go to http://www.nvidia.com/object/cuda_get.html :l
|
||||
Install a driver and toolkit appropriate for your system (SDK is not necessary) :l
|
||||
Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to
|
||||
list supported devices and properties :ule,l
|
||||
|
||||
To compile and use this package in OpenCL mode, you currently need
|
||||
to have the OpenCL headers and the (vendor neutral) OpenCL library installed.
|
||||
In OpenCL mode, the acceleration depends on having an "OpenCL Installable Client
|
||||
Driver (ICD)"_https://www.khronos.org/news/permalink/opencl-installable-client-driver-icd-loader
|
||||
installed. There can be multiple of them for the same or different hardware
|
||||
(GPUs, CPUs, Accelerators) installed at the same time. OpenCL refers to those
|
||||
as 'platforms'. The GPU library will select the [first] suitable platform,
|
||||
but this can be overridded using the device option of the "package"_package.html
|
||||
command. run lammps/lib/gpu/ocl_get_devices to get a list of available
|
||||
platforms and devices with a suitable ICD available.
|
||||
|
||||
[Building LAMMPS with the GPU package:]
|
||||
|
||||
@ -120,7 +131,10 @@ GPUs/node to use, as well as other options.
|
||||
|
||||
The performance of a GPU versus a multi-core CPU is a function of your
|
||||
hardware, which pair style is used, the number of atoms/GPU, and the
|
||||
precision used on the GPU (double, single, mixed).
|
||||
precision used on the GPU (double, single, mixed). Using the GPU package
|
||||
in OpenCL mode on CPUs (which uses vectorization and multithreading) is
|
||||
usually resulting in inferior performance compared to using LAMMPS' native
|
||||
threading and vectorization support in the USER-OMP and USER-INTEL packages.
|
||||
|
||||
See the "Benchmark page"_http://lammps.sandia.gov/bench.html of the
|
||||
LAMMPS web site for performance of the GPU package on various
|
||||
@ -146,7 +160,7 @@ The "package gpu"_package.html command has several options for tuning
|
||||
performance. Neighbor lists can be built on the GPU or CPU. Force
|
||||
calculations can be dynamically balanced across the CPU cores and
|
||||
GPUs. GPU-specific settings can be made which can be optimized
|
||||
for different hardware. See the "packakge"_package.html command
|
||||
for different hardware. See the "package"_package.html command
|
||||
doc page for details. :l
|
||||
|
||||
As described by the "package gpu"_package.html command, GPU
|
||||
|
||||
@ -43,40 +43,55 @@ 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.
|
||||
|
||||
"amber2lmp"_#amber
|
||||
"binary2txt"_#binary
|
||||
"ch2lmp"_#charmm
|
||||
"chain"_#chain
|
||||
"colvars"_#colvars
|
||||
"createatoms"_#createatoms
|
||||
"doxygen"_#doxygen
|
||||
"drude"_#drude
|
||||
"eam database"_#eamdb
|
||||
"eam generate"_#eamgn
|
||||
"eff"_#eff
|
||||
"emacs"_#emacs
|
||||
"fep"_#fep
|
||||
"i-pi"_#ipi
|
||||
"ipp"_#ipp
|
||||
"kate"_#kate
|
||||
"lmp2arc"_#arc
|
||||
"lmp2cfg"_#cfg
|
||||
"matlab"_#matlab
|
||||
"micelle2d"_#micelle
|
||||
"moltemplate"_#moltemplate
|
||||
"msi2lmp"_#msi
|
||||
"phonon"_#phonon
|
||||
"polybond"_#polybond
|
||||
"pymol_asphere"_#pymol
|
||||
"python"_#pythontools
|
||||
"reax"_#reax_tool
|
||||
"smd"_#smd
|
||||
"vim"_#vim
|
||||
"xmgrace"_#xmgrace :ul
|
||||
:line
|
||||
|
||||
Pre-processing tools :h3
|
||||
|
||||
"amber2lmp"_#amber,
|
||||
"ch2lmp"_#charmm,
|
||||
"chain"_#chain,
|
||||
"createatoms"_#createatoms,
|
||||
"drude"_#drude,
|
||||
"eam database"_#eamdb,
|
||||
"eam generate"_#eamgn,
|
||||
"eff"_#eff,
|
||||
"ipp"_#ipp,
|
||||
"micelle2d"_#micelle,
|
||||
"moltemplate"_#moltemplate,
|
||||
"msi2lmp"_#msi,
|
||||
"polybond"_#polybond :tb(c=6,ea=c,a=l)
|
||||
|
||||
Post-processing tools :h3
|
||||
|
||||
"amber2lmp"_#amber,
|
||||
"binary2txt"_#binary,
|
||||
"ch2lmp"_#charmm,
|
||||
"colvars"_#colvars,
|
||||
"eff"_#eff,
|
||||
"fep"_#fep,
|
||||
"lmp2arc"_#arc,
|
||||
"lmp2cfg"_#cfg,
|
||||
"matlab"_#matlab,
|
||||
"phonon"_#phonon,
|
||||
"pymol_asphere"_#pymol,
|
||||
"python"_#pythontools,
|
||||
"reax"_#reax_tool,
|
||||
"smd"_#smd,
|
||||
"xmgrace"_#xmgrace :tb(c=6,ea=c,a=l)
|
||||
|
||||
Miscellaneous tools :h3
|
||||
|
||||
"doxygen"_#doxygen,
|
||||
"emacs"_#emacs,
|
||||
"i-pi"_#ipi,
|
||||
"kate"_#kate,
|
||||
"vim"_#vim :tb(c=5,ea=c,a=l)
|
||||
|
||||
:line
|
||||
|
||||
amber2lmp tool :h3,link(amber)
|
||||
Tool descriptions :h3
|
||||
|
||||
amber2lmp tool :h4,link(amber)
|
||||
|
||||
The amber2lmp sub-directory contains two Python scripts for converting
|
||||
files back-and-forth between the AMBER MD code and LAMMPS. See the
|
||||
@ -91,7 +106,7 @@ necessary modifications yourself.
|
||||
|
||||
:line
|
||||
|
||||
binary2txt tool :h3,link(binary)
|
||||
binary2txt tool :h4,link(binary)
|
||||
|
||||
The file binary2txt.cpp converts one or more binary LAMMPS dump file
|
||||
into ASCII text files. The syntax for running the tool is
|
||||
@ -104,7 +119,7 @@ since binary files are not compatible across all platforms.
|
||||
|
||||
:line
|
||||
|
||||
ch2lmp tool :h3,link(charmm)
|
||||
ch2lmp tool :h4,link(charmm)
|
||||
|
||||
The ch2lmp sub-directory contains tools for converting files
|
||||
back-and-forth between the CHARMM MD code and LAMMPS.
|
||||
@ -129,7 +144,7 @@ Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London.
|
||||
|
||||
:line
|
||||
|
||||
chain tool :h3,link(chain)
|
||||
chain tool :h4,link(chain)
|
||||
|
||||
The file chain.f creates a LAMMPS data file containing bead-spring
|
||||
polymer chains and/or monomer solvent atoms. It uses a text file
|
||||
@ -146,7 +161,7 @@ for the "chain benchmark"_Speed_bench.html.
|
||||
|
||||
:line
|
||||
|
||||
colvars tools :h3,link(colvars)
|
||||
colvars tools :h4,link(colvars)
|
||||
|
||||
The colvars directory contains a collection of tools for postprocessing
|
||||
data produced by the colvars collective variable library.
|
||||
@ -168,7 +183,7 @@ gmail.com) at ICTP, Italy.
|
||||
|
||||
:line
|
||||
|
||||
createatoms tool :h3,link(createatoms)
|
||||
createatoms tool :h4,link(createatoms)
|
||||
|
||||
The tools/createatoms directory contains a Fortran program called
|
||||
createAtoms.f which can generate a variety of interesting crystal
|
||||
@ -181,7 +196,7 @@ The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.
|
||||
|
||||
:line
|
||||
|
||||
doxygen tool :h3,link(doxygen)
|
||||
doxygen tool :h4,link(doxygen)
|
||||
|
||||
The tools/doxygen directory contains a shell script called
|
||||
doxygen.sh which can generate a call graph and API lists using
|
||||
@ -193,7 +208,7 @@ The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com.
|
||||
|
||||
:line
|
||||
|
||||
drude tool :h3,link(drude)
|
||||
drude tool :h4,link(drude)
|
||||
|
||||
The tools/drude directory contains a Python script called
|
||||
polarizer.py which can add Drude oscillators to a LAMMPS
|
||||
@ -206,7 +221,7 @@ at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr
|
||||
|
||||
:line
|
||||
|
||||
eam database tool :h3,link(eamdb)
|
||||
eam database tool :h4,link(eamdb)
|
||||
|
||||
The tools/eam_database directory contains a Fortran program that will
|
||||
generate EAM alloy setfl potential files for any combination of 16
|
||||
@ -222,7 +237,7 @@ X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69,
|
||||
|
||||
:line
|
||||
|
||||
eam generate tool :h3,link(eamgn)
|
||||
eam generate tool :h4,link(eamgn)
|
||||
|
||||
The tools/eam_generate directory contains several one-file C programs
|
||||
that convert an analytic formula into a tabulated "embedded atom
|
||||
@ -235,7 +250,7 @@ The source files and potentials were provided by Gerolf Ziegenhain
|
||||
|
||||
:line
|
||||
|
||||
eff tool :h3,link(eff)
|
||||
eff tool :h4,link(eff)
|
||||
|
||||
The tools/eff directory contains various scripts for generating
|
||||
structures and post-processing output for simulations using the
|
||||
@ -246,7 +261,7 @@ These tools were provided by Andres Jaramillo-Botero at CalTech
|
||||
|
||||
:line
|
||||
|
||||
emacs tool :h3,link(emacs)
|
||||
emacs tool :h4,link(emacs)
|
||||
|
||||
The tools/emacs directory contains an Emacs Lisp add-on file for GNU Emacs
|
||||
that enables a lammps-mode for editing input scripts when using GNU Emacs,
|
||||
@ -257,7 +272,7 @@ These tools were provided by Aidan Thompson at Sandia
|
||||
|
||||
:line
|
||||
|
||||
fep tool :h3,link(fep)
|
||||
fep tool :h4,link(fep)
|
||||
|
||||
The tools/fep directory contains Python scripts useful for
|
||||
post-processing results from performing free-energy perturbation
|
||||
@ -270,7 +285,7 @@ See README file in the tools/fep directory.
|
||||
|
||||
:line
|
||||
|
||||
i-pi tool :h3,link(ipi)
|
||||
i-pi tool :h4,link(ipi)
|
||||
|
||||
The tools/i-pi directory contains a version of the i-PI package, with
|
||||
all the LAMMPS-unrelated files removed. It is provided so that it can
|
||||
@ -287,7 +302,7 @@ calculations with LAMMPS.
|
||||
|
||||
:line
|
||||
|
||||
ipp tool :h3,link(ipp)
|
||||
ipp tool :h4,link(ipp)
|
||||
|
||||
The tools/ipp directory contains a Perl script ipp which can be used
|
||||
to facilitate the creation of a complicated file (say, a lammps input
|
||||
@ -301,7 +316,7 @@ tools/createatoms tool's input file.
|
||||
|
||||
:line
|
||||
|
||||
kate tool :h3,link(kate)
|
||||
kate tool :h4,link(kate)
|
||||
|
||||
The file in the tools/kate directory is an add-on to the Kate editor
|
||||
in the KDE suite that allow syntax highlighting of LAMMPS input
|
||||
@ -312,7 +327,7 @@ The file was provided by Alessandro Luigi Sellerio
|
||||
|
||||
:line
|
||||
|
||||
lmp2arc tool :h3,link(arc)
|
||||
lmp2arc tool :h4,link(arc)
|
||||
|
||||
The lmp2arc sub-directory contains a tool for converting LAMMPS output
|
||||
files to the format for Accelrys' Insight MD code (formerly
|
||||
@ -328,7 +343,7 @@ Greathouse at Sandia (jagreat at sandia.gov).
|
||||
|
||||
:line
|
||||
|
||||
lmp2cfg tool :h3,link(cfg)
|
||||
lmp2cfg tool :h4,link(cfg)
|
||||
|
||||
The lmp2cfg sub-directory contains a tool for converting LAMMPS output
|
||||
files into a series of *.cfg files which can be read into the
|
||||
@ -339,7 +354,7 @@ This tool was written by Ara Kooser at Sandia (askoose at sandia.gov).
|
||||
|
||||
:line
|
||||
|
||||
matlab tool :h3,link(matlab)
|
||||
matlab tool :h4,link(matlab)
|
||||
|
||||
The matlab sub-directory contains several "MATLAB"_matlabhome scripts for
|
||||
post-processing LAMMPS output. The scripts include readers for log
|
||||
@ -357,7 +372,7 @@ These scripts were written by Arun Subramaniyan at Purdue Univ
|
||||
|
||||
:line
|
||||
|
||||
micelle2d tool :h3,link(micelle)
|
||||
micelle2d tool :h4,link(micelle)
|
||||
|
||||
The file micelle2d.f creates a LAMMPS data file containing short lipid
|
||||
chains in a monomer solution. It uses a text file containing lipid
|
||||
@ -374,7 +389,7 @@ definition file. This tool was used to create the system for the
|
||||
|
||||
:line
|
||||
|
||||
moltemplate tool :h3,link(moltemplate)
|
||||
moltemplate tool :h4,link(moltemplate)
|
||||
|
||||
The moltemplate sub-directory contains a Python-based tool for
|
||||
building molecular systems based on a text-file description, and
|
||||
@ -388,7 +403,7 @@ supports it. It has its own WWW page at
|
||||
|
||||
:line
|
||||
|
||||
msi2lmp tool :h3,link(msi)
|
||||
msi2lmp tool :h4,link(msi)
|
||||
|
||||
The msi2lmp sub-directory contains a tool for creating LAMMPS template
|
||||
input and data files from BIOVIA's Materias Studio files (formerly Accelrys'
|
||||
@ -405,7 +420,7 @@ See the README file in the tools/msi2lmp folder for more information.
|
||||
|
||||
:line
|
||||
|
||||
phonon tool :h3,link(phonon)
|
||||
phonon tool :h4,link(phonon)
|
||||
|
||||
The phonon sub-directory contains a post-processing tool useful for
|
||||
analyzing the output of the "fix phonon"_fix_phonon.html command in
|
||||
@ -420,7 +435,7 @@ University.
|
||||
|
||||
:line
|
||||
|
||||
polybond tool :h3,link(polybond)
|
||||
polybond tool :h4,link(polybond)
|
||||
|
||||
The polybond sub-directory contains a Python-based tool useful for
|
||||
performing "programmable polymer bonding". The Python file
|
||||
@ -434,7 +449,7 @@ This tool was written by Zachary Kraus at Georgia Tech.
|
||||
|
||||
:line
|
||||
|
||||
pymol_asphere tool :h3,link(pymol)
|
||||
pymol_asphere tool :h4,link(pymol)
|
||||
|
||||
The pymol_asphere sub-directory contains a tool for converting a
|
||||
LAMMPS dump file that contains orientation info for ellipsoidal
|
||||
@ -452,7 +467,7 @@ This tool was written by Mike Brown at Sandia.
|
||||
|
||||
:line
|
||||
|
||||
python tool :h3,link(pythontools)
|
||||
python tool :h4,link(pythontools)
|
||||
|
||||
The python sub-directory contains several Python scripts
|
||||
that perform common LAMMPS post-processing tasks, such as:
|
||||
@ -468,7 +483,7 @@ README for more info on Pizza.py and how to use these scripts.
|
||||
|
||||
:line
|
||||
|
||||
reax tool :h3,link(reax_tool)
|
||||
reax tool :h4,link(reax_tool)
|
||||
|
||||
The reax sub-directory contains stand-alond codes that can
|
||||
post-process the output of the "fix reax/bonds"_fix_reax_bonds.html
|
||||
@ -479,7 +494,7 @@ These tools were written by Aidan Thompson at Sandia.
|
||||
|
||||
:line
|
||||
|
||||
smd tool :h3,link(smd)
|
||||
smd tool :h4,link(smd)
|
||||
|
||||
The smd sub-directory contains a C++ file dump2vtk_tris.cpp and
|
||||
Makefile which can be compiled and used to convert triangle output
|
||||
@ -495,7 +510,7 @@ Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
|
||||
|
||||
:line
|
||||
|
||||
vim tool :h3,link(vim)
|
||||
vim tool :h4,link(vim)
|
||||
|
||||
The files in the tools/vim directory are add-ons to the VIM editor
|
||||
that allow easier editing of LAMMPS input scripts. See the README.txt
|
||||
@ -506,7 +521,7 @@ ziegenhain.com)
|
||||
|
||||
:line
|
||||
|
||||
xmgrace tool :h3,link(xmgrace)
|
||||
xmgrace tool :h4,link(xmgrace)
|
||||
|
||||
The files in the tools/xmgrace directory can be used to plot the
|
||||
thermodynamic data in LAMMPS log files via the xmgrace plotting
|
||||
|
||||
@ -27,7 +27,9 @@ compute 1 all pair reax :pre
|
||||
|
||||
Define a computation that extracts additional values calculated by a
|
||||
pair style, and makes them accessible for output or further processing
|
||||
by other commands. The group specified for this command is ignored.
|
||||
by other commands.
|
||||
|
||||
NOTE: The group specified for this command is [ignored].
|
||||
|
||||
The specified {pstyle} must be a pair style used in your simulation
|
||||
either by itself or as a sub-style in a "pair_style hybrid or
|
||||
|
||||
@ -125,13 +125,13 @@ template. If both these conditions are met, the reaction site is
|
||||
modified to match the post-reaction template.
|
||||
|
||||
A bonding atom pair will be identified if several conditions are met.
|
||||
First, a pair of atoms within the specified react-group-ID of type
|
||||
typei and typej must separated by a distance between {Rmin} and
|
||||
First, a pair of atoms I,J within the specified react-group-ID of type
|
||||
itype and jtype must separated by a distance between {Rmin} and
|
||||
{Rmax}. It is possible that multiple bonding atom pairs are
|
||||
identified: if the bonding atoms in the pre-reacted template are not
|
||||
1-2, 1-3, or 1-4 neighbors, the closest bonding atom partner is set as
|
||||
its bonding partner; otherwise, the farthest potential partner is
|
||||
chosen. Then, if both an atomi and atomj have each other as their
|
||||
chosen. Then, if both an atom I and atom J have each other as their
|
||||
nearest bonding partners, these two atoms are identified as the
|
||||
bonding atom pair of the reaction site. Once this unique bonding atom
|
||||
pair is identified for each reaction, there could two or more
|
||||
@ -323,7 +323,7 @@ bond/break"_fix_bond_break.html, "fix bond/swap"_fix_bond_swap.html,
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are stabilization = no, stabilize_steps = 60
|
||||
The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -25,7 +25,8 @@ Build_basics.html
|
||||
Build_settings.html
|
||||
Build_package.html
|
||||
Build_extras.html
|
||||
Run.html
|
||||
Build_windows.html
|
||||
Run_head.html
|
||||
Run_basics.html
|
||||
Run_options.html
|
||||
Run_output.html
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
|
||||
latte_SYSINC =
|
||||
latte_SYSLIB = ../../lib/latte/filelink.o \
|
||||
-llatte -lifcore -lsvml -lompstub -limf -lmkl_intel_lp64 \
|
||||
-lmkl_intel_thread -lmkl_core -lmkl_intel_thread -lpthread \
|
||||
-openmp -O0
|
||||
-llatte -lifport -lifcore -lsvml -lompstub -limf \
|
||||
-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core \
|
||||
-lmkl_intel_thread -lpthread -openmp
|
||||
latte_SYSPATH = -openmp -L${MKLROOT}/lib/intel64 -lmkl_lapack95_lp64 \
|
||||
-L/opt/intel/composer_xe_2013_sp1.2.144/compiler/lib/intel64
|
||||
|
||||
|
||||
@ -173,6 +173,9 @@ class lammps(object):
|
||||
self.lib.lammps_open(narg,cargs,comm_val,byref(self.lmp))
|
||||
|
||||
else:
|
||||
if lammps.has_mpi4py:
|
||||
from mpi4py import MPI
|
||||
self.comm = MPI.COMM_WORLD
|
||||
self.opened = 1
|
||||
if cmdargs:
|
||||
cmdargs.insert(0,"lammps.py")
|
||||
@ -862,6 +865,10 @@ class PyLammps(object):
|
||||
|
||||
def run(self, *args, **kwargs):
|
||||
output = self.__getattr__('run')(*args, **kwargs)
|
||||
|
||||
if(lammps.has_mpi4py):
|
||||
output = self.lmp.comm.bcast(output, root=0)
|
||||
|
||||
self.runs += get_thermo_data(output)
|
||||
return output
|
||||
|
||||
|
||||
@ -34,7 +34,6 @@ FixStyle(colvars,FixColvars)
|
||||
#define LMP_FIX_COLVARS_H
|
||||
|
||||
#include "fix.h"
|
||||
#include <vector>
|
||||
|
||||
// forward declaration
|
||||
class colvarproxy_lammps;
|
||||
@ -77,13 +76,6 @@ class FixColvars : public Fix {
|
||||
int num_coords; // total number of atoms controlled by this fix
|
||||
tagint *taglist; // list of all atom IDs referenced by colvars.
|
||||
|
||||
// TODO get rid of these
|
||||
// std::vector<cvm::atom_pos> *coords; // coordinates of colvar atoms
|
||||
// std::vector<cvm::rvector> *forces; // received forces of colvar atoms
|
||||
// std::vector<cvm::rvector> *oforce; // old total forces of colvar atoms
|
||||
// std::vector<cvm::real> *masses;
|
||||
// std::vector<cvm::real> *charges;
|
||||
|
||||
int nmax; // size of atom communication buffer.
|
||||
int size_one; // bytes per atom in communication buffer.
|
||||
struct commdata *comm_buf; // communication buffer
|
||||
|
||||
@ -1063,8 +1063,8 @@ void FixBondReact::superimpose_algorithm()
|
||||
hang_catch++;
|
||||
// let's go ahead and catch the simplest of hangs
|
||||
//if (hang_catch > onemol->natoms*4)
|
||||
if (hang_catch > atom->nlocal*3) {
|
||||
error->all(FLERR,"Excessive iteration of superimpose algorithm");
|
||||
if (hang_catch > atom->nlocal*30) {
|
||||
error->one(FLERR,"Excessive iteration of superimpose algorithm");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1554,6 +1554,40 @@ void FixBondReact::find_landlocked_atoms(int myrxn)
|
||||
error->one(FLERR,"Atom affected by reaction too close to template edge");
|
||||
}
|
||||
|
||||
// additionally, if a bond changes type, but neither involved atom is landlocked, bad
|
||||
// would someone want to change an angle type but not bond or atom types? (etc.) ...hopefully not yet
|
||||
for (int i = 0; i < twomol->natoms; i++) {
|
||||
if (landlocked_atoms[i][myrxn] == 0) {
|
||||
int twomol_atomi = i+1;
|
||||
for (int j = 0; j < twomol->num_bond[i]; j++) {
|
||||
int twomol_atomj = twomol->bond_atom[i][j];
|
||||
if (landlocked_atoms[twomol_atomj-1][myrxn] == 0) {
|
||||
int onemol_atomi = equivalences[i][1][myrxn];
|
||||
int onemol_batom;
|
||||
for (int m = 0; m < onemol->num_bond[onemol_atomi-1]; m++) {
|
||||
onemol_batom = onemol->bond_atom[onemol_atomi-1][m];
|
||||
if (onemol_batom == equivalences[twomol_atomj-1][1][myrxn]) {
|
||||
if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomi-1][m]) {
|
||||
error->one(FLERR,"Bond type affected by reaction too close to template edge");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (newton_bond) {
|
||||
int onemol_atomj = equivalences[twomol_atomj-1][1][myrxn];
|
||||
for (int m = 0; m < onemol->num_bond[onemol_atomj-1]; m++) {
|
||||
onemol_batom = onemol->bond_atom[onemol_atomj-1][m];
|
||||
if (onemol_batom == equivalences[i][1][myrxn]) {
|
||||
if (twomol->bond_type[i][j] != onemol->bond_type[onemol_atomj-1][m]) {
|
||||
error->one(FLERR,"Bond type affected by reaction too close to template edge");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// also, if atoms change number of bonds, but aren't landlocked, that could be bad
|
||||
if (me == 0)
|
||||
for (int i = 0; i < twomol->natoms; i++) {
|
||||
@ -2067,7 +2101,7 @@ void FixBondReact::update_everything()
|
||||
nspecial[atom->map(update_mega_glove[jj+1][i])][1]++;
|
||||
nspecial[atom->map(update_mega_glove[jj+1][i])][2]++;
|
||||
}
|
||||
for (int n = nspecial[atom->map(update_mega_glove[jj+1][i])][2]; n > insert_num; n--) {
|
||||
for (int n = nspecial[atom->map(update_mega_glove[jj+1][i])][2]-1; n > insert_num; n--) {
|
||||
special[atom->map(update_mega_glove[jj+1][i])][n] = special[atom->map(update_mega_glove[jj+1][i])][n-1];
|
||||
}
|
||||
special[atom->map(update_mega_glove[jj+1][i])][insert_num] = update_mega_glove[equivalences[twomol->special[j][k]-1][1][rxnID]][i];
|
||||
|
||||
@ -1 +1 @@
|
||||
#define LAMMPS_VERSION "16 Aug 2018"
|
||||
#define LAMMPS_VERSION "22 Aug 2018"
|
||||
|
||||
Reference in New Issue
Block a user