Compare commits
365 Commits
patch_27No
...
patch_1Feb
| Author | SHA1 | Date | |
|---|---|---|---|
| d6eaf73db1 | |||
| 2b5073fb90 | |||
| f2a977884c | |||
| bc2eeaf22a | |||
| 5c927d484e | |||
| 8ee1fefe19 | |||
| 763dda64af | |||
| a9f8b17cbd | |||
| f28ab59695 | |||
| 2e60e461a0 | |||
| d6a918f4fd | |||
| 7606529f03 | |||
| cdb07f9f06 | |||
| 0cce3387bb | |||
| a93d8dda3c | |||
| 327ca344ff | |||
| c5256624e8 | |||
| ae6fb92478 | |||
| 14ab0ec459 | |||
| 8338969af5 | |||
| ef5c327f74 | |||
| 06d5c1d62f | |||
| 0e1c6082b0 | |||
| a59a385d6e | |||
| d2846404bd | |||
| ee5f39d895 | |||
| 1d6bf1ea7d | |||
| ccdfde4978 | |||
| 136e247cd8 | |||
| 8cc593fe6b | |||
| f7bb48102f | |||
| bad6c8aa35 | |||
| 1465352454 | |||
| 0cae619320 | |||
| b7ab017a76 | |||
| 4fcfa4987a | |||
| 53f600ea35 | |||
| 8c323a7056 | |||
| 21dac57c7c | |||
| 6c72d15c31 | |||
| f2aab01e96 | |||
| fb30d2d078 | |||
| 1927659fb1 | |||
| 272ff1dbdf | |||
| 06c8a67247 | |||
| 1e3cc7784b | |||
| e83600eee3 | |||
| 5c09732dc3 | |||
| 82905dc62d | |||
| 89a3f60289 | |||
| a6ecd3d08c | |||
| 1be589fb33 | |||
| 536e34974a | |||
| 4464f62c8f | |||
| 57b804eecf | |||
| a432b668f6 | |||
| 985913bce2 | |||
| f88c5e147a | |||
| 48542f1832 | |||
| 098f2906e0 | |||
| f2544fa738 | |||
| 0bfb34389b | |||
| bdbb36e570 | |||
| 012d5a55bf | |||
| 5f3a7cbc33 | |||
| fbee21f495 | |||
| 7a10ac2019 | |||
| a5248090fa | |||
| ade023861d | |||
| 24bede9fff | |||
| 54a481ef1f | |||
| dd3dbfaee2 | |||
| 9caf0ce3e1 | |||
| ca31147d00 | |||
| 7ec6e4b262 | |||
| 874e4fdafc | |||
| 60b137f241 | |||
| 794bf5084c | |||
| fb6942a325 | |||
| e789715d92 | |||
| 0fde0f99bc | |||
| 49da946398 | |||
| 53673cd99c | |||
| cab3380b55 | |||
| bd3b712902 | |||
| e5b86910e9 | |||
| b3747ce99b | |||
| 037cdfe046 | |||
| 3609a33eb8 | |||
| 94dc5e1133 | |||
| 683f8854c2 | |||
| f8a8704ef4 | |||
| 6702f65fbb | |||
| 1ae112e563 | |||
| cea0855fe4 | |||
| d01c28002f | |||
| 54679b69f4 | |||
| dc5385b290 | |||
| 659bec582e | |||
| 2604b60eb8 | |||
| 718428df68 | |||
| 4eb141391b | |||
| 23ad82a074 | |||
| b20be581c1 | |||
| ef25afcedb | |||
| e4cf409d69 | |||
| c3a15e221d | |||
| 59559f74e6 | |||
| 1e1f754d0c | |||
| 8d4bfa1aa7 | |||
| 3aacea671e | |||
| 4e7329151d | |||
| aad8dd1462 | |||
| 1dbdadcf89 | |||
| 7a4b6526de | |||
| 16b8c94aae | |||
| 62b4c69360 | |||
| 261122d59c | |||
| a5ce656c32 | |||
| b0af54ac37 | |||
| 4ec21e1b31 | |||
| a3b45d789a | |||
| 15b475690c | |||
| cf00346db4 | |||
| 4155b88468 | |||
| bedbf408f7 | |||
| 6f8c544a7d | |||
| 6fbd0c08cc | |||
| 3cbf009ce6 | |||
| 48cbfc2b1b | |||
| 8387b2953b | |||
| e82999ecb4 | |||
| 4377662a1e | |||
| 31a712b510 | |||
| 57df2d81e4 | |||
| e572235ecf | |||
| 60693a5f8a | |||
| 61c36dd768 | |||
| 7fe7dd95d0 | |||
| 06f9933c55 | |||
| 3d374aa8b3 | |||
| 98e0d6eab2 | |||
| 5ec9623294 | |||
| 43edcf4c02 | |||
| 9ae84bc367 | |||
| ca6c1c4b41 | |||
| 0cc9a445e8 | |||
| c26b2078ee | |||
| 856c325ac4 | |||
| 7323179de3 | |||
| 19e12aada5 | |||
| abcba913ab | |||
| f96f98241c | |||
| fd18660463 | |||
| 1991ff6c48 | |||
| f25bfd5931 | |||
| 6e866f82a7 | |||
| 01163c9ae8 | |||
| e7361728a1 | |||
| 37a597cc0f | |||
| 2e70541134 | |||
| 991ca25dd7 | |||
| 444dcca433 | |||
| 25a4fd4793 | |||
| dd6688609d | |||
| 4725d4be20 | |||
| 9355e7e5cc | |||
| cf3aee06f3 | |||
| bad7be4126 | |||
| 08455b9cc3 | |||
| c588b44cf1 | |||
| 31427a2380 | |||
| 7177c541d4 | |||
| dd028e9071 | |||
| 484b4f2f0e | |||
| 89ca07c76e | |||
| 92e1cbe788 | |||
| 3a7350575c | |||
| 99ace5b435 | |||
| b19ee27f86 | |||
| 2d4411130f | |||
| cc1c93a3d9 | |||
| f8a5a78c2c | |||
| e2d871ac23 | |||
| 6ebef96c23 | |||
| 8cc4354894 | |||
| 685ed827d7 | |||
| 5fb8f23cb4 | |||
| ba3ee71edf | |||
| caba050f29 | |||
| 6c839eb667 | |||
| 6dcd0ccfc3 | |||
| 68b62bec29 | |||
| 90e125a73a | |||
| 96eb0ad527 | |||
| d91c7f38f6 | |||
| 968e56694f | |||
| 0ad44efe24 | |||
| 6625a066b6 | |||
| 980f7e3b36 | |||
| 34e0c05b09 | |||
| 5508438ba1 | |||
| f7a2cd689b | |||
| 24e2d4bb49 | |||
| 875f7776c6 | |||
| 94a4b59961 | |||
| ea8376b3fa | |||
| deb21ad4e2 | |||
| 4f38878cf4 | |||
| 6f33ce9dba | |||
| e39ba20e42 | |||
| 5b0c43108d | |||
| 0ed4da0bf9 | |||
| 96c7f256f9 | |||
| 02bdda0d05 | |||
| be3c80829a | |||
| 0a610cb482 | |||
| 5362b1cfde | |||
| f2f7bcfa5a | |||
| d15e4b1546 | |||
| c4f7b36dc5 | |||
| ba98cff5a8 | |||
| 04b365818e | |||
| 35cfedab39 | |||
| 3ad4c0db35 | |||
| 113a2e328e | |||
| ad1b1897d8 | |||
| bbe863f1ac | |||
| eeaeab0832 | |||
| 264dd59c75 | |||
| 8422bf64fa | |||
| 70868ca070 | |||
| 30017697e3 | |||
| 0b5c273e2d | |||
| 052828284d | |||
| 1933c2eb5f | |||
| e2c39a1acd | |||
| e86b933862 | |||
| 52a1f257c5 | |||
| dedc6cf20c | |||
| 93efe3e40e | |||
| 3f49eb8515 | |||
| 1de2f5fc01 | |||
| a9c3b8aca0 | |||
| 054c525842 | |||
| 8b5887bfb1 | |||
| fb08d3ea46 | |||
| 7d3caaa1a4 | |||
| b6b813459b | |||
| 8f95cdcb27 | |||
| 802bf4bc1f | |||
| 4078c7897e | |||
| e6321e1020 | |||
| 0165f18d59 | |||
| c36f8390d2 | |||
| 57204a0f66 | |||
| 4f00984bbc | |||
| f02eab3990 | |||
| 4792ff1dc2 | |||
| 998a512143 | |||
| 29dcf8348b | |||
| 1bd81db9b3 | |||
| a30e1b2670 | |||
| 4a4dbc7da5 | |||
| 0244841b27 | |||
| ee98dc0b96 | |||
| e61b553bb3 | |||
| f8da830c07 | |||
| 20eca799b1 | |||
| d802817cca | |||
| 8ce60d8761 | |||
| c44620f00e | |||
| a5f75bbabd | |||
| 685a8bfc62 | |||
| cd0924ca4c | |||
| afaaf442d3 | |||
| 18f7e96e8a | |||
| 984f415196 | |||
| e01ba84fd2 | |||
| e37436d646 | |||
| 00d719459f | |||
| 9ee076e4c7 | |||
| fa7e02ea71 | |||
| cf3aee9083 | |||
| 45b6b4bf52 | |||
| be721fe75a | |||
| 4168855ba3 | |||
| 4adbacf8e5 | |||
| d603d084c4 | |||
| 46c0be57de | |||
| db2c8887cf | |||
| e5c555fa7d | |||
| ee82143a29 | |||
| a0bd1bd755 | |||
| aeb7854aca | |||
| ac51d0fb89 | |||
| 22f99be57e | |||
| 55077cea4d | |||
| 98728cddbe | |||
| e1aff27cd4 | |||
| 4af7e706d7 | |||
| 1c795a6be3 | |||
| d14404254e | |||
| 4ec05a3389 | |||
| c69fc90588 | |||
| 53e66dcd15 | |||
| 482e120af4 | |||
| 67041a5446 | |||
| f380a03a07 | |||
| 7b68655c4d | |||
| dd84b5c975 | |||
| 1f210a246e | |||
| 5d2730f055 | |||
| e4ca5b1889 | |||
| 4e9b987fec | |||
| f92e61c58d | |||
| cda3227b05 | |||
| 6705777f7b | |||
| 4b8c6d40e2 | |||
| 46bf4b7efb | |||
| cef4164460 | |||
| 074a9663cb | |||
| d67dad9d67 | |||
| 41e24f6e8b | |||
| e3ddefb38b | |||
| ea6d8a5dca | |||
| 09abc0c75a | |||
| 6be4ce7137 | |||
| 78f86d5f16 | |||
| cb2964af4c | |||
| c42776e4e1 | |||
| c763916f9e | |||
| eda79bd1c2 | |||
| 798f098e4a | |||
| 3508eca337 | |||
| 9646d4614f | |||
| 48a408bb19 | |||
| a4d21370bf | |||
| 9702899d1c | |||
| 8e07aaf005 | |||
| 4a8f1a7a08 | |||
| 37289f7476 | |||
| 3ce61c42d6 | |||
| 98c8f22046 | |||
| 296cab0b09 | |||
| ab924e4f1d | |||
| 852916983a | |||
| d0a83e9e12 | |||
| 2ed90c1669 | |||
| c428088554 | |||
| 77e7362168 | |||
| 22e774adef | |||
| 8213287966 | |||
| a4684e2629 | |||
| 0d9e3779b8 | |||
| 1616886c97 | |||
| 2d0d08093b | |||
| 3d5423f5da | |||
| 55654ca68e | |||
| 32abe35201 | |||
| c87bdda9a8 | |||
| 1b50ad02fb | |||
| a2671f8943 | |||
| 0a4007c55b | |||
| 85c8877aeb |
3
.github/CODEOWNERS
vendored
@ -126,3 +126,6 @@ python/* @rbberger
|
||||
doc/utils/*/* @rbberger
|
||||
doc/Makefile @rbberger
|
||||
doc/README @rbberger
|
||||
|
||||
# for releases
|
||||
src/version.h @sjplimp
|
||||
|
||||
1
.gitignore
vendored
@ -22,6 +22,7 @@ log.cite
|
||||
.*.swp
|
||||
*.orig
|
||||
*.rej
|
||||
vgcore.*
|
||||
.vagrant
|
||||
\#*#
|
||||
.#*
|
||||
|
||||
@ -171,14 +171,14 @@ set(LAMMPS_DEPS)
|
||||
set(LAMMPS_API_DEFINES)
|
||||
|
||||
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
|
||||
KSPACE MANYBODY MC MEAM MESSAGE MISC MOLECULE PERI REAX REPLICA RIGID SHOCK
|
||||
KSPACE MANYBODY MC MESSAGE MISC MOLECULE PERI REPLICA RIGID SHOCK
|
||||
SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD
|
||||
USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION
|
||||
USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD
|
||||
USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF
|
||||
USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC USER-SCAFACOS
|
||||
USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK
|
||||
USER-QUIP USER-QMMM)
|
||||
USER-QUIP USER-QMMM USER-YAFF)
|
||||
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
|
||||
set(OTHER_PACKAGES CORESHELL QEQ)
|
||||
foreach(PKG ${DEFAULT_PACKAGES})
|
||||
@ -191,11 +191,11 @@ endforeach()
|
||||
######################################################
|
||||
# packages with special compiler needs or external libs
|
||||
######################################################
|
||||
if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE OR PKG_USER-SCAFACOS)
|
||||
if(PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE OR PKG_USER-SCAFACOS)
|
||||
enable_language(Fortran)
|
||||
endif()
|
||||
|
||||
if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_USER-SCAFACOS)
|
||||
if(PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_USER-SCAFACOS)
|
||||
enable_language(C)
|
||||
endif()
|
||||
|
||||
@ -221,7 +221,7 @@ else()
|
||||
endif()
|
||||
|
||||
|
||||
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS size limit")
|
||||
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
|
||||
set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall)
|
||||
set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES})
|
||||
validate_option(LAMMPS_SIZES LAMMPS_SIZES_VALUES)
|
||||
@ -354,7 +354,7 @@ if(PKG_KSPACE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE OR PKG_USER-PLUMED)
|
||||
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
|
||||
find_package(LAPACK)
|
||||
find_package(BLAS)
|
||||
if(NOT LAPACK_FOUND OR NOT BLAS_FOUND)
|
||||
@ -559,17 +559,22 @@ if(PKG_USER-PLUMED)
|
||||
message(STATUS "PLUMED download requested - we will build our own")
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(plumed_build
|
||||
URL https://github.com/plumed/plumed2/releases/download/v2.4.3/plumed-src-2.4.3.tgz
|
||||
URL_MD5 b1be7c48971627febc11c61b70767fc5
|
||||
URL https://github.com/plumed/plumed2/releases/download/v2.4.4/plumed-src-2.4.4.tgz
|
||||
URL_MD5 71ed465bdc7c2059e282dbda8d564e71
|
||||
BUILD_IN_SOURCE 1
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR> ${CONFIGURE_REQUEST_PIC})
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
||||
${CONFIGURE_REQUEST_PIC}
|
||||
--enable-modules=all
|
||||
CXX=${CMAKE_MPI_CXX_COMPILER}
|
||||
CC=${CMAKE_MPI_C_COMPILER}
|
||||
)
|
||||
ExternalProject_get_property(plumed_build INSTALL_DIR)
|
||||
set(PLUMED_INSTALL_DIR ${INSTALL_DIR})
|
||||
list(APPEND LAMMPS_DEPS plumed_build)
|
||||
if(PLUMED_MODE STREQUAL "STATIC")
|
||||
add_definitions(-D__PLUMED_WRAPPER_CXX=1)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/plumed/obj/kernel.o
|
||||
"${PLUMED_INSTALL_DIR}/lib/plumed/obj/PlumedStatic.o" ${GSL_LIBRARIES} ${CMAKE_DL_LIBS} ${LAPACK_LIBRARIES})
|
||||
"${PLUMED_INSTALL_DIR}/lib/plumed/obj/PlumedStatic.o" ${GSL_LIBRARIES} ${CMAKE_DL_LIBS})
|
||||
elseif(PLUMED_MODE STREQUAL "SHARED")
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.so ${CMAKE_DL_LIBS})
|
||||
elseif(PLUMED_MODE STREQUAL "RUNTIME")
|
||||
@ -614,8 +619,8 @@ if(PKG_USER-SMD)
|
||||
message(STATUS "Eigen3 download requested - we will build our own")
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(Eigen3_build
|
||||
URL http://bitbucket.org/eigen/eigen/get/3.3.4.tar.gz
|
||||
URL_MD5 1a47e78efe365a97de0c022d127607c3
|
||||
URL http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz
|
||||
URL_MD5 f2a417d083fe8ca4b8ed2bc613d20f07
|
||||
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND ""
|
||||
)
|
||||
ExternalProject_get_property(Eigen3_build SOURCE_DIR)
|
||||
@ -756,7 +761,7 @@ endif()
|
||||
# Basic system tests (standard libraries, headers, functions, types) #
|
||||
########################################################################
|
||||
include(CheckIncludeFileCXX)
|
||||
foreach(HEADER math.h)
|
||||
foreach(HEADER cmath)
|
||||
check_include_file_cxx(${HEADER} FOUND_${HEADER})
|
||||
if(NOT FOUND_${HEADER})
|
||||
message(FATAL_ERROR "Could not find needed header - ${HEADER}")
|
||||
@ -826,7 +831,7 @@ endforeach()
|
||||
##############################################
|
||||
# add lib sources of (simple) enabled packages
|
||||
############################################
|
||||
foreach(SIMPLE_LIB REAX MEAM POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD
|
||||
foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD
|
||||
USER-QMMM)
|
||||
if(PKG_${SIMPLE_LIB})
|
||||
string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}")
|
||||
@ -856,6 +861,9 @@ if(PKG_USER-AWPMD)
|
||||
endif()
|
||||
|
||||
if(PKG_USER-ATC)
|
||||
if(LAMMPS_SIZES STREQUAL BIGBIG)
|
||||
message(FATAL_ERROR "The USER-ATC Package is not compatible with -DLAMMPS_BIGBIG")
|
||||
endif()
|
||||
target_link_libraries(atc ${LAPACK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
@ -1322,7 +1330,7 @@ if(BUILD_LIB)
|
||||
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||
configure_file(FindLAMMPS.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Module)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Modules)
|
||||
else()
|
||||
list(APPEND LMP_SOURCES ${LIB_SOURCES})
|
||||
endif()
|
||||
|
||||
@ -24,7 +24,7 @@ tasks, act as a reference and provide examples of typical use cases.
|
||||
* [Build directory vs. Source Directory](#build-directory-vs-source-directory)
|
||||
* [Defining and using presets](#defining-and-using-presets)
|
||||
* [Reference](#reference)
|
||||
* [Common CMAKE Configuration Options](#common-cmake-configuration-options)
|
||||
* [Common CMake Configuration Options](#common-cmake-configuration-options)
|
||||
* [LAMMPS Configuration Options](#lammps-configuration-options)
|
||||
* [Parallelization and Accelerator Packages](#parallelization-and-accelerator-packages)
|
||||
* [Default Packages](#default-packages)
|
||||
@ -179,7 +179,7 @@ cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake
|
||||
|
||||
# Reference
|
||||
|
||||
## Common CMAKE Configuration Options
|
||||
## Common CMake Configuration Options
|
||||
|
||||
|
||||
<table>
|
||||
@ -208,6 +208,16 @@ cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code><CMAKE_VERBOSE_MAKEFILE/code></td>
|
||||
<td>Enable verbose output from Makefile builds (useful for debugging), the same can be achived by adding `VERBOSE=1` to the `make` call.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -1729,6 +1739,13 @@ cache by setting the `CMAKE_C_COMPILER`, `CMAKE_CXX_COMPILER`,
|
||||
value of `FC` environment variable at first `cmake` run
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>CXX_COMPILER_LAUNCHER</code></td>
|
||||
<td>CMake will run this tool and pass the compiler and its arguments to the tool. Some example tools are distcc and ccache.</td>
|
||||
<td>
|
||||
(empty)
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# Makefile for LAMMPS documentation
|
||||
|
||||
SHELL = /bin/bash
|
||||
SHA1 = $(shell echo $USER-$PWD | python utils/sha1sum.py)
|
||||
SHELL = /bin/bash
|
||||
SHA1 = $(shell echo ${USER}-${PWD} | python utils/sha1sum.py)
|
||||
BUILDDIR = /tmp/lammps-docs-$(SHA1)
|
||||
RSTDIR = $(BUILDDIR)/rst
|
||||
VENV = $(BUILDDIR)/docenv
|
||||
@ -48,6 +48,7 @@ help:
|
||||
@echo " clean-all reset the entire build environment"
|
||||
@echo " txt2html build txt2html tool"
|
||||
@echo " anchor_check scan for duplicate anchor labels"
|
||||
@echo " spelling spell-check the manual"
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@ choices the LAMMPS developers have agreed on. Git and GitHub provide the
|
||||
tools, but do not set policies, so it is up to the developers to come to
|
||||
an agreement as to how to define and interpret policies. This document
|
||||
is likely to change as our experiences and needs change and we try to
|
||||
adapt accordingly. Last change 2018-11-15.
|
||||
adapt accordingly. Last change 2018-12-19.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
@ -50,8 +50,8 @@ This is indicated by who the pull request is assigned to. LAMMPS core
|
||||
developers can self-assign or they can decide to assign a pull request
|
||||
to a different LAMMPS developer. Being assigned to a pull request means,
|
||||
that this pull request may need some work and the assignee is tasked to
|
||||
determine what this might be needed or not, and may either implement the
|
||||
required changes or ask the submitter of the pull request to implement
|
||||
determine whether this might be needed or not, and may either implement
|
||||
the required changes or ask the submitter of the pull request to implement
|
||||
them. Even though, all LAMMPS developers may have write access to pull
|
||||
requests (if enabled by the submitter, which is the default), only the
|
||||
submitter or the assignee of a pull request may do so. During this
|
||||
@ -76,12 +76,15 @@ People can be assigned to review a pull request in two ways:
|
||||
Reviewers are requested to state their appraisal of the proposed changes
|
||||
and either approve or request changes. People may unassign themselves
|
||||
from review, if they feel not competent about the changes proposed. At
|
||||
least one review from a LAMMPS developer with write access is required
|
||||
before merging in addition to the automated compilation tests. The
|
||||
feature, that reviews from code owners are "hard" reviews (i.e. they
|
||||
must all be approved before merging is allowed), is currently disabled
|
||||
and it is in the discretion of the merge maintainer to assess when
|
||||
a sufficient degree of approval has been reached. Reviews may be
|
||||
least two approvals from LAMMPS developers with write access are required
|
||||
before merging in addition to the automated compilation tests.
|
||||
Merging counts as implicit approval, so does submission of a pull request
|
||||
(by a LAMMPS developer). So the person doing the merge may not also submit
|
||||
an approving review. The feature, that reviews from code owners are "hard"
|
||||
reviews (i.e. they must all be approved before merging is allowed), is
|
||||
currently disabled and it is in the discretion of the merge maintainer to
|
||||
assess when a sufficient degree of approval, especially from external
|
||||
contributors, has been reached in these cases. Reviews may be
|
||||
(automatically) dismissed, when the reviewed code has been changed,
|
||||
and then approval is required a second time.
|
||||
|
||||
@ -129,16 +132,17 @@ Here are some items to check:
|
||||
* stdlib.h -> cstdlib
|
||||
* string.h -> cstring
|
||||
* time.h -> ctime
|
||||
Do not replace (as they are C++-11): `inttypes.h` and `stdint.h`.
|
||||
* Do NOT replace (as they are C++-11): `inttypes.h` and `stdint.h`.
|
||||
* Code should follow the C++-98 standard. C++-11 is only accepted
|
||||
in individual special purpose packages
|
||||
* indentation is two spaces per level
|
||||
* there should be no tabs and no trailing whitespace
|
||||
* indentation is 2 spaces per level
|
||||
* there should be NO tabs and no trailing whitespace
|
||||
* header files, especially of new styles, should not include any
|
||||
other headers, except the header with the base class or cstdio.
|
||||
Forward declarations should be used instead when possible.
|
||||
* iostreams should be avoided. LAMMPS uses stdio from the C-library.
|
||||
* use of STL in headers and class definitions should be avoided.
|
||||
* there MUST NOT be any "using namespace XXX;" statements in headers.
|
||||
* static class members should be avoided at all cost.
|
||||
* anything storing atom IDs should be using `tagint` and not `int`.
|
||||
This can be flagged by the compiler only for pointers and only when
|
||||
|
||||
@ -36,7 +36,6 @@ This is the list of packages that may require additional steps.
|
||||
"OPT"_#opt,
|
||||
"POEMS"_#poems,
|
||||
"PYTHON"_#python,
|
||||
"REAX"_#reax,
|
||||
"VORONOI"_#voronoi,
|
||||
"USER-ATC"_#user-atc,
|
||||
"USER-AWPMD"_#user-awpmd,
|
||||
@ -96,6 +95,7 @@ which GPU hardware to build for.
|
||||
|
||||
GPU_ARCH settings for different GPU hardware is as follows:
|
||||
|
||||
sm_12 or sm_13 for GT200 (supported by CUDA 3.2 until CUDA 6.5)
|
||||
sm_20 or sm_21 for Fermi (supported by CUDA 3.2 until CUDA 7.5)
|
||||
sm_30 or sm_35 or sm_37 for Kepler (supported since CUDA 5)
|
||||
sm_50 or sm_52 for Maxwell (supported since CUDA 6)
|
||||
@ -136,7 +136,7 @@ specified by the "-m" switch. For your convenience, machine makefiles
|
||||
for "mpi" and "serial" are provided, which have the same settings as
|
||||
the corresponding machine makefiles in the main LAMMPS source
|
||||
folder. In addition you can alter 4 important settings in the
|
||||
Makefile.machine you start from via the corresponding -h, -a, -p, -e
|
||||
Makefile.machine you start from via the corresponding -c, -a, -p, -e
|
||||
switches (as in the examples above), and also save a copy of the new
|
||||
Makefile if desired:
|
||||
|
||||
@ -536,45 +536,6 @@ build fails.
|
||||
|
||||
:line
|
||||
|
||||
REAX package :h4,link(reax)
|
||||
|
||||
NOTE: the use of the REAX package and its "pair_style
|
||||
reax"_pair_reax.html command is discouraged, as it is no longer
|
||||
maintained. Please use the USER-REAXC package and its "pair_style
|
||||
reax/c"_pair_reaxc.html command instead, and possibly its KOKKOS
|
||||
enabled variant (pair_style reax/c/kk), which has a more robust memory
|
||||
management. See the "pair_style reax/c"_pair_reaxc.html doc page for
|
||||
details.
|
||||
|
||||
[CMake build]:
|
||||
|
||||
No additional settings are needed besides "-D PKG_REAX=yes".
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
Before building LAMMPS, you must build the REAX library in lib/reax.
|
||||
You can do this manually if you prefer; follow the instructions in
|
||||
lib/reax/README. You can also do it in one step from the lammps/src
|
||||
dir, using a command like these, which simply invoke the
|
||||
lib/reax/Install.py script with the specified args:
|
||||
|
||||
make lib-reax # print help message
|
||||
make lib-reax args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
|
||||
make lib-reax args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
|
||||
make lib-reax args="-m ifort" # build with Intel ifort compiler :pre
|
||||
|
||||
The build should produce two files: lib/reax/libreax.a and
|
||||
lib/reax/Makefile.lammps. The latter is copied from an existing
|
||||
Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with
|
||||
Fortran (REAX library). Typically the two compilers used for LAMMPS
|
||||
and the REAX library need to be consistent (e.g. both Intel or both
|
||||
GNU compilers). If necessary, you can edit/create a new
|
||||
lib/reax/Makefile.machine file for your system, which should define an
|
||||
EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine
|
||||
file.
|
||||
|
||||
:line
|
||||
|
||||
VORONOI package :h4,link(voronoi)
|
||||
|
||||
To build with this package, you must download and build the "Voro++
|
||||
@ -621,8 +582,8 @@ The USER-ATC package requires the MANYBODY package also be installed.
|
||||
|
||||
[CMake build]:
|
||||
|
||||
No additional settings are needed besides "-D PKG_REAX=yes" and "-D
|
||||
PKG_MANYBODY=yes".
|
||||
No additional settings are needed besides "-D PKG_USER-ATC=yes"
|
||||
and "-D PKG_MANYBODY=yes".
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
@ -735,58 +696,69 @@ from LAMMPS using the generic "plumed installation instructions"_plumedinstall.
|
||||
:link(plumedinstall,http://plumed.github.io/doc-master/user-doc/html/_installation.html)
|
||||
|
||||
PLUMED can be linked into MD codes in three different modes: static,
|
||||
shared, and runtime. With the "static" mode, all required PLUMED code
|
||||
is linked statically into the MD code. The MD code is then fully
|
||||
independent from the PLUMED installation, but also you have to
|
||||
rebuild/relink the MD code to update the PLUMED code inside it. With
|
||||
"shared" linkage mode, the MD code is linked to a shared library
|
||||
containing the PLUMED code, preferably after it was installed in a
|
||||
globally accessible location. This way the same installed PLUMED code
|
||||
can be shared across multiple MD packages and can be updated, for as
|
||||
long as the shared PLUMED library is ABI-compatible. The third linkage
|
||||
mode is "runtime" which allows to switch the PLUMED kernel at runtime
|
||||
between different variants through setting the PLUMED_KERNEL environment
|
||||
variable, which has to point to the location of the libplumedKernel.so
|
||||
dynamical shared object, which is then loaded at runtime. This is
|
||||
particularly convenient for doing PLUMED development and comparing
|
||||
multiple PLUMED versions without having to recompile the hosting MD
|
||||
code. All three linkage modes are supported by LAMMPS on selected
|
||||
operating systems (e.g. Linux) and using either CMake or traditional
|
||||
make build. The "static" mode should be most portable, the "runtime"
|
||||
mode support in LAMMPS makes the most assumptions about operating
|
||||
system and compiler environment. If one mode does not work, try a
|
||||
different one, or switch to a different build system, or consider
|
||||
a global PLUMED installation or downloading it during building LAMMPS.
|
||||
shared, and runtime. With the "static" mode, all the code that PLUMED
|
||||
requires is linked statically into LAMMPS. LAMMPS is then fully
|
||||
independent from the PLUMED installation, but you have to rebuild/relink
|
||||
it in order to update the PLUMED code inside it. With the "shared"
|
||||
linkage mode, LAMMPS is linked to a shared library that contains the
|
||||
PLUMED code. This library should preferably be installed in a globally
|
||||
accessible location. When PLUMED is linked in this way the same library
|
||||
can be used by multiple MD packages. Furthermore, the PLUMED library
|
||||
LAMMPS uses can be updated without the need for a recompile of LAMMPS
|
||||
for as long as the shared PLUMED library is ABI-compatible.
|
||||
|
||||
The third linkage mode is "runtime" which allows the user to specify
|
||||
which PLUMED kernel should be used at runtime by using the PLUMED_KERNEL
|
||||
environment variable. This variable should point to the location of the
|
||||
libplumedKernel.so dynamical shared object, which is then loaded at
|
||||
runtime. This mode of linking is particularly convenient for doing
|
||||
PLUMED development and comparing multiple PLUMED versions as these sorts
|
||||
of comparisons can be done without recompiling the hosting MD code. All
|
||||
three linkage modes are supported by LAMMPS on selected operating
|
||||
systems (e.g. Linux) and using either CMake or traditional make
|
||||
build. The "static" mode should be the most portable, while the
|
||||
"runtime" mode support in LAMMPS makes the most assumptions about
|
||||
operating system and compiler environment. If one mode does not work,
|
||||
try a different one, switch to a different build system, consider a
|
||||
global PLUMED installation or consider downloading PLUMED during the
|
||||
LAMMPS build.
|
||||
|
||||
[CMake build]:
|
||||
|
||||
When the "-D PKG_USER-PLUMED" flag is included in the cmake command you
|
||||
must ensure that GSL is installed in locations that are specified in
|
||||
your environment. There are then two additional commands that control
|
||||
the manner in which PLUMED is obtained and linked into LAMMPS.
|
||||
|
||||
-D DOWNLOAD_PLUMED=value # download PLUMED for build, value = no (default) or yes
|
||||
-D PLUMED_MODE=value # Linkage mode for PLUMED, value = static (default), shared, or runtime :pre
|
||||
|
||||
If DOWNLOAD_PLUMED is set to "yes", the PLUMED library will be
|
||||
downloaded (the version of that is hard-coded to a vetted version of
|
||||
PLUMED, usually a recent stable release version) and built inside the
|
||||
CMake build directory. If DOWNLOAD_PLUMED is set to "no" (the default),
|
||||
CMake will try to detect an installed version of PLUMED and link to
|
||||
that. For this to work, the PLUMED library has to be installed into a
|
||||
location where the pkg-config tool can find it or the PKG_CONFIG_PATH
|
||||
environment variable has to be set up accordingly.
|
||||
downloaded (the version of PLUMED that will be downloaded is hard-coded
|
||||
to a vetted version of PLUMED, usually a recent stable release version)
|
||||
and built inside the CMake build directory. If DOWNLOAD_PLUMED is set
|
||||
to "no" (the default), CMake will try to detect and link to an installed
|
||||
version of PLUMED. For this to work, the PLUMED library has to be
|
||||
installed into a location where the pkg-config tool can find it or the
|
||||
PKG_CONFIG_PATH environment variable has to be set up accordingly.
|
||||
PLUMED should be installed in such a location if you compile it using
|
||||
the default make; make install commands.
|
||||
|
||||
The PLUMED_MODE setting determines the linkage mode of the PLUMED
|
||||
library. Allowed values are "static" (default), "shared", or "runtime".
|
||||
For a discussion of PLUMED linkage modes, please see above. When
|
||||
enabling DOWNLOAD_PLUMED, the static linkage mode is recommended.
|
||||
The PLUMED_MODE setting determines the linkage mode for the PLUMED
|
||||
library. The allowed values for this flag are "static" (default),
|
||||
"shared", or "runtime". For a discussion of PLUMED linkage modes,
|
||||
please see above. When DOWNLOAD_PLUMED is enabled the static linkage
|
||||
mode is recommended.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
Before installing the USER-PLUMED package, first the PLUMED library
|
||||
needs to be configured so that LAMMPS can find the right settings when
|
||||
compiling and linking the LAMMPS executable itself. You can either
|
||||
download and build PLUMED inside the LAMMPS plumed library folder or use
|
||||
a previously installed PLUMED library and point LAMMPS to its
|
||||
location. You also have to choose the linkage mode: "static" (default),
|
||||
"shared" or "runtime". For a discussion of PLUMED linkage modes, please
|
||||
see above.
|
||||
PLUMED needs to be installed before the USER-PLUMED package is installed
|
||||
so that LAMMPS can find the right settings when compiling and linking
|
||||
the LAMMPS executable. You can either download and build PLUMED inside
|
||||
the LAMMPS plumed library folder or use a previously installed PLUMED
|
||||
library and point LAMMPS to its location. You also have to choose the
|
||||
linkage mode: "static" (default), "shared" or "runtime". For a
|
||||
discussion of PLUMED linkage modes, please see above.
|
||||
|
||||
Download/compilation/configuration of the plumed library can be done
|
||||
from the src folder through the following make args:
|
||||
@ -799,11 +771,11 @@ make lib-plumed args="-p /usr/local -m shared" # use existing PLUMED installati
|
||||
:pre
|
||||
|
||||
Note that 2 symbolic (soft) links, "includelink" and "liblink" are
|
||||
created in lib/plumed to point into the location of the PLUMED build to
|
||||
use and also a new file lib/plumed/Makefile.lammps is created with
|
||||
settings suitable for LAMMPS to compile and link PLUMED in the desired
|
||||
linkage mode. After this step is completed, you can install the
|
||||
USER-PLUMED package and compile LAMMPS in the usual manner:
|
||||
created in lib/plumed that point to the location of the PLUMED build to
|
||||
use. A new file lib/plumed/Makefile.lammps is also created with settings
|
||||
suitable for LAMMPS to compile and link PLUMED using the desired linkage
|
||||
mode. After this step is completed, you can install the USER-PLUMED
|
||||
package and compile LAMMPS in the usual manner:
|
||||
|
||||
make yes-user-plumed
|
||||
make machine :pre
|
||||
|
||||
@ -78,7 +78,7 @@ description of the Python interface to LAMMPS, which wraps the C-style
|
||||
interface.
|
||||
|
||||
See the sample codes in examples/COUPLE/simple for examples of C++ and
|
||||
C and Fortran codes that invoke LAMMPS thru its library interface.
|
||||
C and Fortran codes that invoke LAMMPS through its library interface.
|
||||
Other examples in the COUPLE directory use coupling ideas discussed on
|
||||
the "Howto couple"_Howto_couple.html doc page.
|
||||
|
||||
|
||||
@ -47,7 +47,6 @@ packages:
|
||||
"OPT"_Build_extras.html#opt,
|
||||
"POEMS"_Build_extras.html#poems,
|
||||
"PYTHON"_Build_extras.html#python,
|
||||
"REAX"_Build_extras.html#reax,
|
||||
"VORONOI"_Build_extras.html#voronoi,
|
||||
"USER-ATC"_Build_extras.html#user-atc,
|
||||
"USER-AWPMD"_Build_extras.html#user-awpmd,
|
||||
|
||||
@ -37,6 +37,7 @@ OPT.
|
||||
"harmonic (iko)"_bond_harmonic.html,
|
||||
"harmonic/shift (o)"_bond_harmonic_shift.html,
|
||||
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
|
||||
"mm3"_bond_mm3.html,
|
||||
"morse (o)"_bond_morse.html,
|
||||
"nonlinear (o)"_bond_nonlinear.html,
|
||||
"oxdna/fene"_bond_oxdna.html,
|
||||
@ -67,10 +68,12 @@ OPT.
|
||||
"cosine/shift (o)"_angle_cosine_shift.html,
|
||||
"cosine/shift/exp (o)"_angle_cosine_shift_exp.html,
|
||||
"cosine/squared (o)"_angle_cosine_squared.html,
|
||||
"cross"_angle_cross.html,
|
||||
"dipole (o)"_angle_dipole.html,
|
||||
"fourier (o)"_angle_fourier.html,
|
||||
"fourier/simple (o)"_angle_fourier_simple.html,
|
||||
"harmonic (iko)"_angle_harmonic.html,
|
||||
"mm3"_angle_mm3.html,
|
||||
"quartic (o)"_angle_quartic.html,
|
||||
"sdk (o)"_angle_sdk.html,
|
||||
"table (o)"_angle_table.html :tb(c=4,ea=c)
|
||||
@ -120,8 +123,10 @@ OPT.
|
||||
"cossq (o)"_improper_cossq.html,
|
||||
"cvff (io)"_improper_cvff.html,
|
||||
"distance"_improper_distance.html,
|
||||
"distharm"_improper_distharm.html,
|
||||
"fourier (o)"_improper_fourier.html,
|
||||
"harmonic (iko)"_improper_harmonic.html,
|
||||
"inversion/harmonic"_improper_inversion_harmonic.html,
|
||||
"ring (o)"_improper_ring.html,
|
||||
"sqdistharm"_improper_sqdistharm.html,
|
||||
"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c)
|
||||
|
||||
@ -169,8 +169,7 @@ OPT.
|
||||
"qmmm"_fix_qmmm.html,
|
||||
"qtb"_fix_qtb.html,
|
||||
"rattle"_fix_shake.html,
|
||||
"reax/bonds"_fix_reax_bonds.html,
|
||||
"reax/c/bonds (k)"_fix_reax_bonds.html,
|
||||
"reax/c/bonds (k)"_fix_reaxc_bonds.html,
|
||||
"reax/c/species (k)"_fix_reaxc_species.html,
|
||||
"recenter"_fix_recenter.html,
|
||||
"restrain"_fix_restrain.html,
|
||||
|
||||
@ -63,13 +63,13 @@ OPT.
|
||||
"comb (o)"_pair_comb.html,
|
||||
"comb3"_pair_comb.html,
|
||||
"coul/cut (gko)"_pair_coul.html,
|
||||
"coul/cut/soft (o)"_pair_lj_soft.html,
|
||||
"coul/cut/soft (o)"_pair_fep_soft.html,
|
||||
"coul/debye (gko)"_pair_coul.html,
|
||||
"coul/diel (o)"_pair_coul_diel.html,
|
||||
"coul/dsf (gko)"_pair_coul.html,
|
||||
"coul/long (gko)"_pair_coul.html,
|
||||
"coul/long/cs (g)"_pair_cs.html,
|
||||
"coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"coul/long/soft (o)"_pair_fep_soft.html,
|
||||
"coul/msm (o)"_pair_coul.html,
|
||||
"coul/shield"_pair_coul_shield.html,
|
||||
"coul/streitz"_pair_coul.html,
|
||||
@ -107,38 +107,42 @@ OPT.
|
||||
"kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html,
|
||||
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
|
||||
"lcbop"_pair_lcbop.html,
|
||||
"lebedeva/z"_pair_lebedeva_z.html,
|
||||
"lennard/mdf"_pair_mdf.html,
|
||||
"line/lj"_pair_line_lj.html,
|
||||
"list"_pair_list.html,
|
||||
"lj/charmm/coul/charmm (iko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long (gikot)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"lj/charmm/coul/long/soft (o)"_pair_fep_soft.html,
|
||||
"lj/charmm/coul/msm (o)"_pair_charmm.html,
|
||||
"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html,
|
||||
"lj/charmmfsw/coul/long"_pair_charmm.html,
|
||||
"lj/class2 (gko)"_pair_class2.html,
|
||||
"lj/class2/coul/cut (ko)"_pair_class2.html,
|
||||
"lj/class2/coul/cut/soft"_pair_fep_soft.html,
|
||||
"lj/class2/coul/long (gko)"_pair_class2.html,
|
||||
"lj/class2/coul/long/soft"_pair_fep_soft.html,
|
||||
"lj/class2/soft"_pair_fep_soft.html,
|
||||
"lj/cubic (go)"_pair_lj_cubic.html,
|
||||
"lj/cut (gikot)"_pair_lj.html,
|
||||
"lj/cut/coul/cut (gko)"_pair_lj.html,
|
||||
"lj/cut/coul/cut/soft (o)"_pair_lj_soft.html,
|
||||
"lj/cut/coul/cut/soft (o)"_pair_fep_soft.html,
|
||||
"lj/cut/coul/debye (gko)"_pair_lj.html,
|
||||
"lj/cut/coul/dsf (gko)"_pair_lj.html,
|
||||
"lj/cut/coul/long (gikot)"_pair_lj.html,
|
||||
"lj/cut/coul/long/cs"_pair_cs.html,
|
||||
"lj/cut/coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"lj/cut/coul/long/soft (o)"_pair_fep_soft.html,
|
||||
"lj/cut/coul/msm (go)"_pair_lj.html,
|
||||
"lj/cut/coul/wolf (o)"_pair_lj.html,
|
||||
"lj/cut/dipole/cut (go)"_pair_dipole.html,
|
||||
"lj/cut/dipole/long (g)"_pair_dipole.html,
|
||||
"lj/cut/dipole/sf (go)"_pair_dipole.html,
|
||||
"lj/cut/soft (o)"_pair_lj_soft.html,
|
||||
"lj/cut/soft (o)"_pair_fep_soft.html,
|
||||
"lj/cut/thole/long (o)"_pair_thole.html,
|
||||
"lj/cut/tip4p/cut (o)"_pair_lj.html,
|
||||
"lj/cut/tip4p/long (ot)"_pair_lj.html,
|
||||
"lj/cut/tip4p/long/soft (o)"_pair_lj_soft.html,
|
||||
"lj/cut/tip4p/long/soft (o)"_pair_fep_soft.html,
|
||||
"lj/expand (gko)"_pair_lj_expand.html,
|
||||
"lj/expand/coul/long (g)"_pair_lj_expand.html,
|
||||
"lj/gromacs (gko)"_pair_gromacs.html,
|
||||
@ -153,6 +157,7 @@ OPT.
|
||||
"lj/sf/dipole/sf (go)"_pair_dipole.html,
|
||||
"lj/smooth (o)"_pair_lj_smooth.html,
|
||||
"lj/smooth/linear (o)"_pair_lj_smooth_linear.html,
|
||||
"lj/switch3/coulgauss/long"_pair_lj_switch3_coulgauss.html,
|
||||
"lj96/cut (go)"_pair_lj96.html,
|
||||
"lubricate (o)"_pair_lubricate.html,
|
||||
"lubricate/poly (o)"_pair_lubricate.html,
|
||||
@ -160,8 +165,7 @@ OPT.
|
||||
"lubricateU/poly"_pair_lubricateU.html,
|
||||
"mdpd"_pair_meso.html,
|
||||
"mdpd/rhosum"_pair_meso.html,
|
||||
"meam"_pair_meam.html,
|
||||
"meam/c"_pair_meam.html,
|
||||
"meam/c"_pair_meamc.html,
|
||||
"meam/spline (o)"_pair_meam_spline.html,
|
||||
"meam/sw/spline"_pair_meam_sw_spline.html,
|
||||
"mgpt"_pair_mgpt.html,
|
||||
@ -169,7 +173,7 @@ OPT.
|
||||
"momb"_pair_momb.html,
|
||||
"morse (gkot)"_pair_morse.html,
|
||||
"morse/smooth/linear (o)"_pair_morse.html,
|
||||
"morse/soft"_pair_morse.html,
|
||||
"morse/soft"_pair_fep_soft.html,
|
||||
"multi/lucy"_pair_multi_lucy.html,
|
||||
"multi/lucy/rx (k)"_pair_multi_lucy_rx.html,
|
||||
"nb3b/harmonic"_pair_nb3b_harmonic.html,
|
||||
@ -194,7 +198,6 @@ OPT.
|
||||
"polymorphic"_pair_polymorphic.html,
|
||||
"python"_pair_python.html,
|
||||
"quip"_pair_quip.html,
|
||||
"reax"_pair_reax.html,
|
||||
"reax/c (ko)"_pair_reaxc.html,
|
||||
"rebo (io)"_pair_airebo.html,
|
||||
"resquared (go)"_pair_resquared.html,
|
||||
@ -230,7 +233,7 @@ OPT.
|
||||
"thole"_pair_thole.html,
|
||||
"tip4p/cut (o)"_pair_coul.html,
|
||||
"tip4p/long (o)"_pair_coul.html,
|
||||
"tip4p/long/soft (o)"_pair_lj_soft.html,
|
||||
"tip4p/long/soft (o)"_pair_fep_soft.html,
|
||||
"tri/lj"_pair_tri_lj.html,
|
||||
"ufm (got)"_pair_ufm.html,
|
||||
"vashishta (gko)"_pair_vashishta.html,
|
||||
|
||||
BIN
doc/src/Eqs/angle_cross.jpg
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
9
doc/src/Eqs/angle_cross.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
\thispagestyle{empty}
|
||||
$$
|
||||
E = K_{SS} \left(r_{12}-r_{12,0}\right)\left(r_{32}-r_{32,0}\right) + K_{BS0}\left(r_{12}-r_{12,0}\right)\left(\theta-\theta_0\right) + K_{BS1}\left(r_{32}-r_{32,0}\right)\left(\theta-\theta_0\right)
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/angle_mm3.jpg
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
9
doc/src/Eqs/angle_mm3.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
\thispagestyle{empty}
|
||||
$$
|
||||
E = K (\theta - \theta_0)^2 \left[ 1 - 0.014(\theta - \theta_0) + 5.6(10)^{-5} (\theta - \theta_0)^2 - 7.0(10)^{-7} (\theta - \theta_0)^3 + 9(10)^{-10} (\theta - \theta_0)^4 \right]
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/bond_mm3.jpg
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
9
doc/src/Eqs/bond_mm3.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
\thispagestyle{empty}
|
||||
$$
|
||||
E = K (r - r_0)^2 \left[ 1 - 2.55(r-r_0) + (7/12) 2.55^2(r-r_0)^2 \right]
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/improper_distharm.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
9
doc/src/Eqs/improper_distharm.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
\thispagestyle{empty}
|
||||
$$
|
||||
E = K (d - d_0)^2
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/improper_sqdistharm.jpg
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
9
doc/src/Eqs/improper_sqdistharm.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
\thispagestyle{empty}
|
||||
$$
|
||||
E = K (d^2 - d_0^2)^2
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_coulgauss.jpg
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
9
doc/src/Eqs/pair_coulgauss.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
\thispagestyle{empty}
|
||||
\begin{eqnarray*}
|
||||
E &=& \frac{q_i q_j \mathrm{erf}\left( r/\sqrt{\gamma_1^2+\gamma_2^2} \right) }{\epsilon r_{ij}}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_lebedeva.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
doc/src/Eqs/pair_lj_switch3.jpg
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
11
doc/src/Eqs/pair_lj_switch3.tex
Normal file
@ -0,0 +1,11 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
\thispagestyle{empty}
|
||||
|
||||
\begin{eqnarray*}
|
||||
E = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12}-\left(\frac{\sigma}{r}\right)^{6} \right]
|
||||
% \qquad r < r_c \\
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_mm3_switch3.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
11
doc/src/Eqs/pair_mm3_switch3.tex
Normal file
@ -0,0 +1,11 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
\thispagestyle{empty}
|
||||
\begin{eqnarray*}
|
||||
E &=& \epsilon_{ij} \left[ -2.25 \left(\frac{r_{v,ij}}{r_{ij}}\right)^6 + 1.84(10)^5 \exp\left[-12.0 r_{ij}/r_{v,ij}\right] \right] S_3(r_{ij}) \\
|
||||
r_{v,ij} &=& r_{v,i} + r_{v,j} \\
|
||||
\epsilon_{ij} &=& \sqrt{\epsilon_i \epsilon_j}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_switch3.jpg
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
14
doc/src/Eqs/pair_switch3.tex
Normal file
@ -0,0 +1,14 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
\thispagestyle{empty}
|
||||
|
||||
\begin{eqnarray*}
|
||||
S_3(r) = \left\lbrace \begin{array}{ll}
|
||||
1 & \quad\mathrm{if}\quad r < r_\mathrm{c} - w \\
|
||||
3x^2 - 2x^3 & \quad\mathrm{if}\quad r < r_\mathrm{c} \quad\mathrm{with\quad} x=\frac{r_\mathrm{c} - r}{w} \\
|
||||
0 & \quad\mathrm{if}\quad r >= r_\mathrm{c}
|
||||
\end{array} \right.
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
@ -74,7 +74,7 @@ is an integer or floating-point number, respectively, and reject the
|
||||
input with an error message (for instance, when an integer is required,
|
||||
but a floating-point number 1.0 is provided):
|
||||
|
||||
ERROR: Expected integer parameter in input script or data file :pre
|
||||
ERROR: Expected integer parameter instead of '1.0' in input script or data file :pre
|
||||
|
||||
Some commands allow for using variable references in place of numeric
|
||||
constants so that the value can be evaluated and may change over the
|
||||
@ -85,6 +85,9 @@ reading the input and before parsing commands,
|
||||
|
||||
NOTE: Using a variable reference (i.e. {v_name}) is only allowed if
|
||||
the documentation of the corresponding command explicitly says it is.
|
||||
Otherwise, you will receive an error message of this kind:
|
||||
|
||||
ERROR: Expected floating point parameter instead of 'v_name' in input script or data file :pre
|
||||
|
||||
Generally, LAMMPS will print a message to the screen and logfile and
|
||||
exit gracefully when it encounters a fatal error. Sometimes it will
|
||||
|
||||
@ -279,12 +279,6 @@ multibody joint). The bodies you have defined exceed this limit. :dd
|
||||
This is an internal LAMMPS error. Please report it to the
|
||||
developers. :dd
|
||||
|
||||
{Atom sorting has bin size = 0.0} :dt
|
||||
|
||||
The neighbor cutoff is being used as the bin size, but it is zero.
|
||||
Thus you must explicitly list a bin size in the atom_modify sort
|
||||
command or turn off sorting. :dd
|
||||
|
||||
{Atom style hybrid cannot have hybrid as an argument} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
@ -6923,7 +6917,7 @@ types. :dd
|
||||
|
||||
{Invalid use of library file() function} :dt
|
||||
|
||||
This function is called thru the library interface. This
|
||||
This function is called through the library interface. This
|
||||
error should not occur. Contact the developers if it does. :dd
|
||||
|
||||
{Invalid value in set command} :dt
|
||||
|
||||
0
doc/src/Howto_bash.txt
Executable file → Normal file
@ -82,7 +82,7 @@ Monte Carlo client code as the driver.
|
||||
|
||||
The lammps_vasp dir shows how to couple LAMMPS as a client code
|
||||
running MD timestepping to VASP acting as a server providing quantum
|
||||
DFT forces, thru a Python wrapper script on VASP.
|
||||
DFT forces, through a Python wrapper script on VASP.
|
||||
|
||||
Here is how to launch a client and server code together for any of the
|
||||
4 modes of message exchange that the "message"_message.html command
|
||||
|
||||
@ -50,7 +50,7 @@ In this scenario, the other code can be called as a library, as in
|
||||
(1), or it could be a stand-alone code, invoked by a system() call
|
||||
made by the command (assuming your parallel machine allows one or more
|
||||
processors to start up another program). In the latter case the
|
||||
stand-alone code could communicate with LAMMPS thru files that the
|
||||
stand-alone code could communicate with LAMMPS through files that the
|
||||
command writes and reads.
|
||||
|
||||
See the "Modify command"_Modify_command.html doc page for info on how
|
||||
|
||||
@ -87,7 +87,7 @@ commands to LAMMPS to execute, the same as if they were coming from an
|
||||
input script.
|
||||
|
||||
Via these functions, the calling code can read or generate a series of
|
||||
LAMMPS commands one or multiple at a time and pass it thru the library
|
||||
LAMMPS commands one or multiple at a time and pass it through the library
|
||||
interface to setup a problem and then run it in stages. The caller
|
||||
can interleave the command function calls with operations it performs,
|
||||
calls to extract information from or set information within LAMMPS, or
|
||||
|
||||
@ -48,15 +48,8 @@ your machine and "unstable" is one of the 3 branches listed above.
|
||||
between them at any time using "git checkout <branch name>".)
|
||||
|
||||
Once the command completes, your directory will contain the same files
|
||||
as if you unpacked a current LAMMPS tarball, with two exceptions:
|
||||
|
||||
1) No LAMMPS packages are initially installed in the src dir (a few
|
||||
packages are installed by default in the tarball src dir). You can
|
||||
install whichever packages you wish before building LAMMPS; type "make
|
||||
package" from the src dir to see the options, and the
|
||||
"Packages"_Packages.html doc page for a discussion of packages.
|
||||
|
||||
2) The HTML documentation files are not included. They can be fetched
|
||||
as if you unpacked a current LAMMPS tarball, with the exception, that
|
||||
the HTML documentation files are not included. They can be fetched
|
||||
from the LAMMPS website by typing "make fetch" in the doc directory.
|
||||
Or they can be generated from the content provided in doc/src by
|
||||
typing "make html" from the the doc directory.
|
||||
|
||||
@ -15,7 +15,7 @@ Binaries are available for different versions of Linux:
|
||||
"Pre-built Fedora Linux executables"_#fedora
|
||||
"Pre-built EPEL Linux executables (RHEL, CentOS)"_#epel
|
||||
"Pre-built OpenSuse Linux executables"_#opensuse
|
||||
"Pre-built Gentoo Linux executable"_#gentoo :all(b)
|
||||
"Gentoo Linux executable"_#gentoo :all(b)
|
||||
|
||||
:line
|
||||
|
||||
@ -87,11 +87,11 @@ linking to the C library interface (lammps-devel, lammps-mpich-devel,
|
||||
lammps-openmpi-devel), the header for compiling programs using
|
||||
the C library interface (lammps-headers), and the LAMMPS python
|
||||
module for Python 3. All packages can be installed at the same
|
||||
time and the name of the LAMMPS executable is {lmp} in all 3 cases.
|
||||
By default, {lmp} will refer to the serial executable, unless
|
||||
one of the MPI environment modules is loaded
|
||||
time and the name of the LAMMPS executable is {lmp} and {lmp_openmpi}
|
||||
or {lmp_mpich} respectively. By default, {lmp} will refer to the
|
||||
serial executable, unless one of the MPI environment modules is loaded
|
||||
("module load mpi/mpich-x86_64" or "module load mpi/openmpi-x86_64").
|
||||
Then the corresponding parallel LAMMPS executable is used.
|
||||
Then the corresponding parallel LAMMPS executable can be used.
|
||||
The same mechanism applies when loading the LAMMPS python module.
|
||||
|
||||
To install LAMMPS with OpenMPI and run an input in.lj with 2 CPUs do:
|
||||
@ -150,7 +150,7 @@ Thanks to Christoph Junghans (LANL) for making LAMMPS available in OpenSuse.
|
||||
|
||||
:line
|
||||
|
||||
Pre-built Gentoo Linux executable :h4,link(gentoo)
|
||||
Gentoo Linux executable :h4,link(gentoo)
|
||||
|
||||
LAMMPS is part of Gentoo's main package tree and can be installed by
|
||||
typing:
|
||||
|
||||
@ -36,15 +36,8 @@ where "mylammps" is the name of the directory you wish to create on
|
||||
your machine.
|
||||
|
||||
Once the command completes, your directory will contain the same files
|
||||
as if you unpacked a current LAMMPS tarball, with two exceptions:
|
||||
|
||||
1) No LAMMPS packages are initially installed in the src dir (a few
|
||||
packages are installed by default in the tarball src dir). You can
|
||||
install whichever packages you wish before building LAMMPS; type "make
|
||||
package" from the src dir to see the options, and the
|
||||
"Packages"_Packages.html doc page for a discussion of packages.
|
||||
|
||||
2) The HTML documentation files are not included. They can be fetched
|
||||
as if you unpacked a current LAMMPS tarball, with the exception, that
|
||||
the HTML documentation files are not included. They can be fetched
|
||||
from the LAMMPS website by typing "make fetch" in the doc directory.
|
||||
Or they can be generated from the content provided in doc/src by
|
||||
typing "make html" from the the doc directory.
|
||||
|
||||
@ -23,8 +23,8 @@ install the Windows MPI package (MPICH2 from Argonne National Labs),
|
||||
needed to run in parallel.
|
||||
|
||||
The LAMMPS binaries contain all optional packages included in the
|
||||
source distribution except: KIM, REAX, KOKKOS, USER-INTEL,
|
||||
and USER-QMMM. The serial version also does not include the MPIIO and
|
||||
source distribution except: KIM, KOKKOS, USER-INTEL, and USER-QMMM.
|
||||
The serial version also does not include the MPIIO and
|
||||
USER-LB packages. GPU support is provided for OpenCL.
|
||||
|
||||
The installer site also has instructions on how to run LAMMPS under
|
||||
@ -42,7 +42,7 @@ environment manipulations.
|
||||
|
||||
Note that to update to a newer version of LAMMPS, you should typically
|
||||
uninstall the version you currently have, download a new installer,
|
||||
and go thru the install procedure described above. I.e. the same
|
||||
and go through the install procedure described above. I.e. the same
|
||||
procedure for installing/updating most Windows programs. You can
|
||||
install multiple versions of LAMMPS (in different directories), but
|
||||
only the executable for the last-installed package will be found
|
||||
|
||||
@ -40,7 +40,7 @@ General features :h4,link(general)
|
||||
syntax for defining and using variables and formulas
|
||||
syntax for looping over runs and breaking out of loops
|
||||
run one or multiple simulations simultaneously (in parallel) from one script
|
||||
build as library, invoke LAMMPS thru library interface or provided Python wrapper
|
||||
build as library, invoke LAMMPS through library interface or provided Python wrapper
|
||||
couple with other codes: LAMMPS calls other code, other code calls LAMMPS, umbrella code calls both :ul
|
||||
|
||||
Particle and model types :h4,link(particle)
|
||||
|
||||
@ -15,8 +15,8 @@ functionality for setting up simulations and analyzing their output.
|
||||
|
||||
Specifically, LAMMPS was not conceived and designed for:
|
||||
|
||||
being run thru a GUI
|
||||
build molecular systems, or building molecular topologies
|
||||
being run through a GUI
|
||||
building molecular systems, or building molecular topologies
|
||||
assign force-field coefficients automagically
|
||||
perform sophisticated analysis of your MD simulation
|
||||
visualize your MD simulation interactively
|
||||
@ -24,18 +24,18 @@ plot your output data :ul
|
||||
|
||||
Although over the years these limitations have been somewhat
|
||||
reduced through features added to LAMMPS or external tools
|
||||
that either interface with LAMMPS or extend LAMMPS.
|
||||
that either closely interface with LAMMPS or extend LAMMPS.
|
||||
|
||||
Here are suggestions on how to perform these tasks:
|
||||
|
||||
GUI: LAMMPS can be built as a library and a Python wrapper that wraps
|
||||
[GUI:] LAMMPS can be built as a library and a Python wrapper that wraps
|
||||
the library interface is provided. Thus, GUI interfaces can be
|
||||
written in Python (or C or C++ if desired) that run LAMMPS and
|
||||
visualize or plot its output. Examples of this are provided in the
|
||||
python directory and described on the "Python"_Python_head.html doc
|
||||
page. Also, there are several external wrappers or GUI front ends.:ulb,l
|
||||
page. Also, there are several external wrappers or GUI front ends. :ulb,l
|
||||
|
||||
Builder: Several pre-processing tools are packaged with LAMMPS. Some
|
||||
[Builder:] Several pre-processing tools are packaged with LAMMPS. Some
|
||||
of them convert input files in formats produced by other MD codes such
|
||||
as CHARMM, AMBER, or Insight into LAMMPS input formats. Some of them
|
||||
are simple programs that will build simple molecular systems, such as
|
||||
@ -45,15 +45,20 @@ the "Tools"_Tools.html doc page for details on tools packaged with
|
||||
LAMMPS. The "Pre/post processing
|
||||
page"_http:/lammps.sandia.gov/prepost.html of the LAMMPS website
|
||||
describes a variety of 3rd party tools for this task. Furthermore,
|
||||
some LAMMPS internal commands to reconstruct topology, as well as
|
||||
the option to insert molecule templates instead of atoms.:l
|
||||
some LAMMPS internal commands allow to reconstruct, or selectively add
|
||||
topology information, as well as provide the option to insert molecule
|
||||
templates instead of atoms for building bulk molecular systems. :l
|
||||
|
||||
Force-field assignment: The conversion tools described in the previous
|
||||
[Force-field assignment:] The conversion tools described in the previous
|
||||
bullet for CHARMM, AMBER, and Insight will also assign force field
|
||||
coefficients in the LAMMPS format, assuming you provide CHARMM, AMBER,
|
||||
or BIOVIA (formerly Accelrys) force field files. :l
|
||||
or BIOVIA (formerly Accelrys) force field files. The tools
|
||||
"ParmEd"_https://parmed.github.io/ParmEd/html/index.html and
|
||||
"InterMol"_https://github.com/shirtsgroup/InterMol are particularly
|
||||
powerful and flexible in converting force field and topology data
|
||||
between various MD simulation programs. :l
|
||||
|
||||
Simulation analysis: If you want to perform analysis on-the-fly as
|
||||
[Simulation analysis:] If you want to perform analysis on-the-fly as
|
||||
your simulation runs, see the "compute"_compute.html and
|
||||
"fix"_fix.html doc pages, which list commands that can be used in a
|
||||
LAMMPS input script. Also see the "Modify"_Modify.html doc page for
|
||||
@ -71,22 +76,22 @@ tools/python directory can extract and massage data in dump files to
|
||||
make it easier to import into other programs. See the
|
||||
"Tools"_Tools.html doc page for details on these various options. :l
|
||||
|
||||
Visualization: LAMMPS can produce JPG or PNG snapshot images
|
||||
[Visualization:] LAMMPS can produce NETPBM, JPG or PNG snapshot images
|
||||
on-the-fly via its "dump image"_dump_image.html command and pass
|
||||
them to an external program FFmpeg to generate movies from them. For
|
||||
high-quality, interactive visualization there are many excellent and
|
||||
free tools available. See the "Other Codes
|
||||
them to an external program, "FFmpeg"_https://www.ffmpeg.org to generate
|
||||
movies from them. For high-quality, interactive visualization there are
|
||||
many excellent and free tools available. See the "Other Codes
|
||||
page"_http://lammps.sandia.gov/viz.html page of the LAMMPS website for
|
||||
visualization packages that can use LAMMPS output data. :l
|
||||
|
||||
Plotting: See the next bullet about Pizza.py as well as the
|
||||
[Plotting:] See the next bullet about Pizza.py as well as the
|
||||
"Python"_Python_head.html doc page for examples of plotting LAMMPS
|
||||
output. Scripts provided with the {python} tool in the tools
|
||||
directory will extract and massage data in log and dump files to make
|
||||
it easier to analyze and plot. See the "Tools"_Tools.html doc page
|
||||
for more discussion of the various tools. :l
|
||||
|
||||
Pizza.py: Our group has also written a separate toolkit called
|
||||
[Pizza.py:] Our group has also written a separate toolkit called
|
||||
"Pizza.py"_http://pizza.sandia.gov which can do certain kinds of
|
||||
setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS
|
||||
simulations. It thus provides some functionality for several of the
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="27 Nov 2018 version">
|
||||
<META NAME="docnumber" CONTENT="1 Feb 2019 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
|
||||
27 Nov 2018 version :c,h2
|
||||
1 Feb 2019 version :c,h2
|
||||
|
||||
"What is a LAMMPS version?"_Manual_version.html
|
||||
|
||||
|
||||
@ -65,6 +65,8 @@ make epub # generate LAMMPS.epub in ePUB format using Sphinx
|
||||
make mobi # generate LAMMPS.mobi in MOBI format using ebook-convert
|
||||
make clean # remove intermediate RST files created by HTML build
|
||||
make clean-all # remove entire build folder and any cached data :pre
|
||||
make anchor_check # check for duplicate anchor labels
|
||||
make spelling # spell-check the manual
|
||||
|
||||
:line
|
||||
|
||||
@ -106,7 +108,14 @@ This will install virtualenv from the Python Package Index.
|
||||
|
||||
Installing prerequisites for PDF build
|
||||
|
||||
[TBA]
|
||||
Building the PDF manual requires a working C++ compiler (to
|
||||
compile the txt2html tool and a working installation of
|
||||
"HTMLDOC"_https://www.msweet.org/htmldoc/
|
||||
HTMLDOC has its own list of prerequisites, but in most cases
|
||||
you can install a binary package of it either through your
|
||||
Linux package manager or MacOS (dmg) and Windows installer
|
||||
(msi) packages from its
|
||||
"GitHub releases page at"_https://github.com/michaelrsweet/htmldoc/releases
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -108,9 +108,13 @@ your contribution(s) to be added to main LAMMPS code or one of its
|
||||
standard packages, it needs to be written in a style compatible with
|
||||
other LAMMPS source files. This means: 2-character indentation per
|
||||
level, [no tabs], no lines over 80 characters. I/O is done via
|
||||
the C-style stdio library, class header files should not import any
|
||||
system headers outside <stdio.h>, STL containers should be avoided
|
||||
in headers, and forward declarations used where possible or needed.
|
||||
the C-style stdio library (mixing of stdio and iostreams is generally
|
||||
discouraged), class header files should not import any system headers
|
||||
outside of <cstdio>, STL containers should be avoided in headers,
|
||||
system header from the C library should use the C++-style names
|
||||
(<cstdlib>, <cstdio>, or <cstring>) instead of the C-style names
|
||||
<stdlib.h>, <stdio.h>, or <string.h>), and forward declarations
|
||||
used where possible or needed to avoid including headers.
|
||||
All added code should be placed into the LAMMPS_NS namespace or a
|
||||
sub-namespace; global or static variables should be avoided, as they
|
||||
conflict with the modular nature of LAMMPS and the C++ class structure.
|
||||
|
||||
0
doc/src/PDF/SPH_LAMMPS_userguide.pdf
Executable file → Normal file
0
doc/src/PDF/kspace.pdf
Executable file → Normal file
@ -45,7 +45,6 @@ as contained in the file name.
|
||||
"LATTE"_#PKG-LATTE,
|
||||
"MANYBODY"_#PKG-MANYBODY,
|
||||
"MC"_#PKG-MC,
|
||||
"MEAM"_#PKG-MEAM,
|
||||
"MESSAGE"_#PKG-MESSAGE,
|
||||
"MISC"_#PKG-MISC,
|
||||
"MOLECULE"_#PKG-MOLECULE,
|
||||
@ -56,7 +55,6 @@ as contained in the file name.
|
||||
"POEMS"_#PKG-POEMS,
|
||||
"PYTHON"_#PKG-PYTHON,
|
||||
"QEQ"_#PKG-QEQ,
|
||||
"REAX"_#PKG-REAX,
|
||||
"REPLICA"_#PKG-REPLICA2,
|
||||
"RIGID"_#PKG-RIGID,
|
||||
"SHOCK"_#PKG-SHOCK,
|
||||
@ -102,7 +100,8 @@ as contained in the file name.
|
||||
"USER-SPH"_#PKG-USER-SPH,
|
||||
"USER-TALLY"_#PKG-USER-TALLY,
|
||||
"USER-UEF"_#PKG-USER-UEF,
|
||||
"USER-VTK"_#PKG-USER-VTK :tb(c=6,ea=c)
|
||||
"USER-VTK"_#PKG-USER-VTK,
|
||||
"USER-YAFF"_#PKG-USER-YAFF, :tb(c=6,ea=c)
|
||||
|
||||
:line
|
||||
|
||||
@ -533,37 +532,6 @@ http://lammps.sandia.gov/movies.html#gcmc :ul
|
||||
|
||||
:line
|
||||
|
||||
MEAM package :link(PKG-MEAM),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A pair style for the modified embedded atom (MEAM) potential.
|
||||
|
||||
Please note that the use of the MEAM package is discouraged as
|
||||
it has been superseded by the "USER-MEAMC"_#PKG-USER-MEAMC package,
|
||||
which is a direct translation of the MEAM package to C++.
|
||||
USER-MEAMC contains additional optimizations making it run faster
|
||||
than MEAM on most machines, while providing the identical features
|
||||
and user interface.
|
||||
|
||||
[Author:] Greg Wagner (Northwestern U) while at Sandia.
|
||||
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/MEAM: filenames -> commands
|
||||
src/meam/README
|
||||
lib/meam/README
|
||||
"pair_style meam"_pair_meam.html
|
||||
examples/meam :ul
|
||||
|
||||
:line
|
||||
|
||||
MESSAGE package :link(PKG-MESSAGE),h4
|
||||
|
||||
[Contents:]
|
||||
@ -834,38 +802,6 @@ examples/streitz :ul
|
||||
|
||||
:line
|
||||
|
||||
REAX package :link(PKG-REAX),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
NOTE: the use of the REAX package is discouraged, as it is no longer
|
||||
maintained. Please use the "USER-REAXC"_#PKG-USER-REAXC package instead,
|
||||
and possibly the KOKKOS enabled variant of that, which has a more robust
|
||||
memory management.
|
||||
|
||||
A pair style which wraps a Fortran library which implements the ReaxFF
|
||||
potential, which is a universal reactive force field. Also included is
|
||||
a "fix reax/bonds"_fix_reax_bonds.html command for monitoring molecules
|
||||
as bonds are created and destroyed.
|
||||
|
||||
[Author:] Aidan Thompson (Sandia).
|
||||
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/REAX: filenames -> commands
|
||||
lib/reax/README
|
||||
"pair_style reax"_pair_reax.html
|
||||
"fix reax/bonds"_fix_reax_bonds.html
|
||||
examples/reax :ul
|
||||
|
||||
:line
|
||||
|
||||
REPLICA package :link(PKG-REPLICA2),h4
|
||||
|
||||
[Contents:]
|
||||
@ -1370,7 +1306,7 @@ src/USER-FEP: filenames -> commands
|
||||
src/USER-FEP/README
|
||||
"fix adapt/fep"_fix_adapt_fep.html
|
||||
"compute fep"_compute_fep.html
|
||||
"pair_style */soft"_pair_lj_soft.html
|
||||
"pair_style */soft"_pair_fep_soft.html
|
||||
examples/USER/fep
|
||||
tools/fep/README
|
||||
tools/fep :ul
|
||||
@ -1552,10 +1488,9 @@ USER-MEAMC package :link(PKG-USER-MEAMC),h4
|
||||
[Contents:]
|
||||
|
||||
A pair style for the modified embedded atom (MEAM) potential
|
||||
translated from the Fortran version in the "MEAM"_#PKG-MEAM package
|
||||
to plain C++. In contrast to the MEAM package, no library
|
||||
needs to be compiled and the pair style can be instantiated
|
||||
multiple times.
|
||||
translated from the Fortran version in the (obsolete) "MEAM" package
|
||||
to plain C++. The USER-MEAMC fully replaces the MEAM package, which
|
||||
has been removed from LAMMPS after the 12 December 2018 version.
|
||||
|
||||
[Author:] Sebastian Huetter, (Otto-von-Guericke University Magdeburg)
|
||||
based on the Fortran version of Greg Wagner (Northwestern U) while at
|
||||
@ -1565,8 +1500,8 @@ Sandia.
|
||||
|
||||
src/USER-MEAMC: filenames -> commands
|
||||
src/USER-MEAMC/README
|
||||
"pair_style meam/c"_pair_meam.html
|
||||
examples/meam :ul
|
||||
"pair_style meam/c"_pair_meamc.html
|
||||
examples/meamc :ul
|
||||
|
||||
:line
|
||||
|
||||
@ -1894,9 +1829,8 @@ USER-REAXC package :link(PKG-USER-REAXC),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A pair style which implements the ReaxFF potential in C/C++ (in
|
||||
contrast to the "REAX package"_#PKG-REAX and its Fortran library). ReaxFF
|
||||
is universal reactive force field. See the src/USER-REAXC/README file
|
||||
A pair style which implements the ReaxFF potential in C/C++. ReaxFF
|
||||
is a universal reactive force field. See the src/USER-REAXC/README file
|
||||
for more info on differences between the two packages. Also two fixes
|
||||
for monitoring molecules as bonds are created and destroyed.
|
||||
|
||||
@ -1907,7 +1841,7 @@ for monitoring molecules as bonds are created and destroyed.
|
||||
src/USER-REAXC: filenames -> commands
|
||||
src/USER-REAXC/README
|
||||
"pair_style reax/c"_pair_reaxc.html
|
||||
"fix reax/c/bonds"_fix_reax_bonds.html
|
||||
"fix reax/c/bonds"_fix_reaxc_bonds.html
|
||||
"fix reax/c/species"_fix_reaxc_species.html
|
||||
examples/reax :ul
|
||||
|
||||
@ -2134,3 +2068,39 @@ lib/vtk/README
|
||||
"dump vtk"_dump_vtk.html :ul
|
||||
|
||||
|
||||
:line
|
||||
|
||||
USER-YAFF package :link(PKG-USER-YAFF),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
Some potentials that are also implemented in the Yet Another Force Field ("YAFF"_yaff) code.
|
||||
The expressions and their use are discussed in the following papers
|
||||
|
||||
Vanduyfhuys et al., J. Comput. Chem., 36 (13), 1015-1027 (2015) "link"_vanduyfhuys2015
|
||||
Vanduyfhuys et al., J. Comput. Chem., 39 (16), 999-1011 (2018) "link"_vanduyfhuys2018 :ul
|
||||
|
||||
which discuss the "QuickFF"_quickff methodology.
|
||||
|
||||
|
||||
:link(vanduyfhuys2015,http://dx.doi.org/10.1002/jcc.23877)
|
||||
:link(vanduyfhuys2018,http://dx.doi.org/10.1002/jcc.25173)
|
||||
:link(quickff,http://molmod.github.io/QuickFF)
|
||||
:link(yaff,https://github.com/molmod/yaff)
|
||||
|
||||
|
||||
[Author:] Steven Vandenbrande.
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-YAFF/README
|
||||
"angle_style cross"_angle_cross.html
|
||||
"angle_style mm3"_angle_mm3.html
|
||||
"bond_style mm3"_bond_mm3.html
|
||||
"improper_style distharm"_improper_distharm.html
|
||||
"improper_style sqdistharm"_improper_sqdistharm.html
|
||||
"pair_style mm3/switch3/coulgauss/long"_pair_mm3_switch3_coulgauss.html
|
||||
"pair_style lj/switch3/coulgauss/long"_pair_lj_switch3_coulgauss.html
|
||||
examples/USER/yaff :ul
|
||||
|
||||
|
||||
|
||||
@ -46,7 +46,6 @@ Package, Description, Doc page, Example, Library
|
||||
"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, 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
|
||||
"MESSAGE"_Packages_details.html#PKG-MESSAGE, client/server messaging, "message"_message.html, message, int
|
||||
"MISC"_Packages_details.html#PKG-MISC, miscellaneous single-file commands, n/a, no, no
|
||||
"MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, no
|
||||
@ -57,7 +56,6 @@ Package, Description, Doc page, Example, Library
|
||||
"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, 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, 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
|
||||
|
||||
@ -53,7 +53,7 @@ Package, Description, Doc page, Example, Library
|
||||
"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-MEAMC"_Packages_details.html#PKG-USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meamc.html, meamc, 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
|
||||
@ -75,7 +75,8 @@ Package, Description, Doc page, Example, Library
|
||||
"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)
|
||||
"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, n/a, ext
|
||||
"USER-YAFF"_Packages_details.html#PKG-USER-YAFF, additional styles implemented in YAFF, "angle_style cross"_angle_cross.html, USER/yaff, no :tb(ea=c,ca1=l)
|
||||
|
||||
:link(MOFplus,https://www.mofplus.org/content/show/MOF-FF)
|
||||
:link(PLUMED,http://www.plumed.org)
|
||||
|
||||
@ -15,7 +15,7 @@ things that are possible when Python wraps LAMMPS. If you create your
|
||||
own scripts, send them to us and we can include them in the LAMMPS
|
||||
distribution.
|
||||
|
||||
trivial.py, read/run a LAMMPS input script thru Python,
|
||||
trivial.py, read/run a LAMMPS input script through Python,
|
||||
demo.py, invoke various LAMMPS library interface routines,
|
||||
simple.py, run in parallel, similar to examples/COUPLE/simple/simple.cpp,
|
||||
split.py, same as simple.py but running in parallel on a subset of procs,
|
||||
|
||||
@ -31,7 +31,7 @@ language is, and that it can be run interactively, enabling rapid
|
||||
development and debugging. If you use it to mostly invoke costly
|
||||
operations within LAMMPS, such as running a simulation for a
|
||||
reasonable number of timesteps, then the overhead cost of invoking
|
||||
LAMMPS thru Python will be negligible.
|
||||
LAMMPS through Python will be negligible.
|
||||
|
||||
The Python wrapper for LAMMPS uses the "ctypes" package in Python,
|
||||
which auto-generates the interface code needed between Python and a
|
||||
|
||||
@ -32,7 +32,7 @@ first importing from the lammps.py file:
|
||||
>>> from ctypes import CDLL
|
||||
>>> CDLL("liblammps.so") :pre
|
||||
|
||||
If an error occurs, carefully go thru the steps on the
|
||||
If an error occurs, carefully go through the steps on the
|
||||
"Build_basics"_Build_basics.html doc page about building a shared
|
||||
library and the "Python_install"_Python_install.html doc page about
|
||||
insuring Python can find the necessary two files it needs.
|
||||
|
||||
@ -391,15 +391,16 @@ definition file. This tool was used to create the system for the
|
||||
|
||||
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
|
||||
creating LAMMPS data files that encode their molecular topology as
|
||||
lists of bonds, angles, dihedrals, etc. See the README.TXT file for
|
||||
more information.
|
||||
The moltemplate sub-directory contains instructions for installing
|
||||
moltemplate, a Python-based tool for building molecular systems based
|
||||
on a text-file description, and creating LAMMPS data files that encode
|
||||
their molecular topology as lists of bonds, angles, dihedrals, etc.
|
||||
See the README.txt file for more information.
|
||||
|
||||
This tool was written by Andrew Jewett (jewett.aij at gmail.com), who
|
||||
supports it. It has its own WWW page at
|
||||
"http://moltemplate.org"_http://moltemplate.org.
|
||||
The latest sources can be found "on its GitHub page"_https://github.com/jewettaij/moltemplate/releases
|
||||
|
||||
:line
|
||||
|
||||
@ -485,9 +486,9 @@ README for more info on Pizza.py and how to use these scripts.
|
||||
|
||||
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
|
||||
command from a LAMMPS simulation using "ReaxFF"_pair_reax.html. See
|
||||
The reax sub-directory contains stand-alone codes that can
|
||||
post-process the output of the "fix reax/c/bonds"_fix_reaxc_bonds.html
|
||||
command from a LAMMPS simulation using "ReaxFF"_pair_reaxc.html. See
|
||||
the README.txt file for more info.
|
||||
|
||||
These tools were written by Aidan Thompson at Sandia.
|
||||
|
||||
62
doc/src/angle_cross.txt
Normal file
@ -0,0 +1,62 @@
|
||||
"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
|
||||
|
||||
angle_style cross command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
angle_style cross :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
angle_style cross
|
||||
angle_coeff 1 200.0 100.0 100.0 1.25 1.25 107.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {cross} angle style uses a potential that couples the bond stretches of
|
||||
a bend with the angle stretch of that bend:
|
||||
|
||||
:c,image(Eqs/angle_cross.jpg)
|
||||
|
||||
where r12,0 is the rest value of the bond length between atom 1 and 2,
|
||||
r32,0 is the rest value of the bond length between atom 2 and 2,
|
||||
and theta0 is the rest value of the angle. KSS is the force constant of
|
||||
the bond stretch-bond stretch term and KBS0 and KBS1 are the force constants
|
||||
of the bond stretch-angle stretch terms.
|
||||
|
||||
The following coefficients must be defined for each angle type via the
|
||||
"angle_coeff"_angle_coeff.html command as in the example above, or in
|
||||
the data file or restart files read by the "read_data"_read_data.html
|
||||
or "read_restart"_read_restart.html commands:
|
||||
|
||||
KSS (energy/distance^2)
|
||||
KBS0 (energy/distance/rad)
|
||||
KBS1 (energy/distance/rad)
|
||||
r12,0 (distance)
|
||||
r32,0 (distance)
|
||||
theta0 (degrees) :ul
|
||||
|
||||
Theta0 is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of KBS0 and KBS1 are in energy/distance/radian.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
USER_YAFF package. See the "Build package"_Build_package.html doc
|
||||
page for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"angle_coeff"_angle_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
|
||||
55
doc/src/angle_mm3.txt
Normal file
@ -0,0 +1,55 @@
|
||||
"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
|
||||
|
||||
angle_style mm3 command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
angle_style mm3 :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
angle_style mm3
|
||||
angle_coeff 1 100.0 107.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {mm3} angle style uses the potential that is anharmonic in the angle
|
||||
as defined in "(Allinger)"_#mm3-allinger1989
|
||||
|
||||
:c,image(Eqs/angle_mm3.jpg)
|
||||
|
||||
where theta0 is the equilibrium value of the angle, and K is a
|
||||
prefactor. The anharmonic prefactors have units deg^(-n), for example
|
||||
-0.014 deg^(-1), 5.6(10)^(-5) deg^(-2), ...
|
||||
|
||||
The following coefficients must be defined for each angle type via the
|
||||
"angle_coeff"_angle_coeff.html command as in the example above, or in
|
||||
the data file or restart files read by the "read_data"_read_data.html
|
||||
or "read_restart"_read_restart.html commands:
|
||||
|
||||
K (energy/radian^2)
|
||||
theta0 (degrees) :ul
|
||||
|
||||
Theta0 is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of K are in energy/radian^2.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This angle style can only be used if LAMMPS was built with the
|
||||
USER_YAFF package. See the "Build package"_Build_package.html doc
|
||||
page for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"angle_coeff"_angle_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
@ -81,10 +81,12 @@ of (g,i,k,o,t) to indicate which accelerated styles exist.
|
||||
"cosine/shift"_angle_cosine_shift.html - angle cosine with a shift
|
||||
"cosine/shift/exp"_angle_cosine_shift_exp.html - cosine with shift and exponential term in spring constant
|
||||
"cosine/squared"_angle_cosine_squared.html - angle with cosine squared term
|
||||
"cross"_angle_cross.html - cross term coupling angle and bond lengths
|
||||
"dipole"_angle_dipole.html - angle that controls orientation of a point dipole
|
||||
"fourier"_angle_fourier.html - angle with multiple cosine terms
|
||||
"fourier/simple"_angle_fourier_simple.html - angle with a single cosine term
|
||||
"harmonic"_angle_harmonic.html - harmonic angle
|
||||
"mm3"_angle_mm3.html - anharmonic angle
|
||||
"quartic"_angle_quartic.html - angle with cubic and quartic terms
|
||||
"sdk"_angle_sdk.html - harmonic angle with repulsive SDK pair style between 1-3 atoms
|
||||
"table"_angle_table.html - tabulated by angle :ul
|
||||
|
||||
@ -14,11 +14,13 @@ Angle Styles :h1
|
||||
angle_cosine_shift
|
||||
angle_cosine_shift_exp
|
||||
angle_cosine_squared
|
||||
angle_cross
|
||||
angle_dipole
|
||||
angle_fourier
|
||||
angle_fourier_simple
|
||||
angle_harmonic
|
||||
angle_hybrid
|
||||
angle_mm3
|
||||
angle_none
|
||||
angle_quartic
|
||||
angle_sdk
|
||||
|
||||
@ -166,7 +166,8 @@ info), a map is used. The default map style is array if no atom ID is
|
||||
larger than 1 million, otherwise the default is hash. By default, a
|
||||
"first" group is not defined. By default, sorting is enabled with a
|
||||
frequency of 1000 and a binsize of 0.0, which means the neighbor
|
||||
cutoff will be used to set the bin size.
|
||||
cutoff will be used to set the bin size. If no neighbor cutoff is
|
||||
defined, sorting will be turned off.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
58
doc/src/bond_mm3.txt
Normal file
@ -0,0 +1,58 @@
|
||||
"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
|
||||
|
||||
bond_style mm3 command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
bond_style mm3 :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
bond_style mm3
|
||||
bond_coeff 1 100.0 107.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {mm3} bond style uses the potential that is anharmonic in the bond
|
||||
as defined in "(Allinger)"_#mm3-allinger1989
|
||||
|
||||
:c,image(Eqs/bond_mm3.jpg)
|
||||
|
||||
where r0 is the equilibrium value of the bond, and K is a
|
||||
prefactor. The anharmonic prefactors have units angstrom^(-n):
|
||||
-2.55 angstrom^(-1) and (7/12)2.55^2 angstrom^(-2). The code takes
|
||||
care of the necessary unit conversion for these factors internally.
|
||||
Note that the MM3 papers contains an error in Eq (1):
|
||||
(7/12)2.55 should be replaced with (7/12)2.55^2
|
||||
|
||||
The following coefficients must be defined for each bond type via the
|
||||
"bond_coeff"_bond_coeff.html command as in the example above, or in
|
||||
the data file or restart files read by the "read_data"_read_data.html
|
||||
or "read_restart"_read_restart.html commands:
|
||||
|
||||
K (energy/distance^2)
|
||||
r0 (distance) :ul
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This bond style can only be used if LAMMPS was built with the
|
||||
USER_YAFF package. See the "Build package"_Build_package.html doc
|
||||
page for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"bond_coeff"_bond_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(mm3-allinger1989)
|
||||
[(Allinger)] Allinger, Yuh, Lii, JACS, 111(23), 8551-8566
|
||||
(1989),
|
||||
@ -86,6 +86,7 @@ accelerated styles exist.
|
||||
"harmonic"_bond_harmonic.html - harmonic bond
|
||||
"harmonic/shift"_bond_harmonic_shift.html - shifted harmonic bond
|
||||
"harmonic/shift/cut"_bond_harmonic_shift_cut.html - shifted harmonic bond with a cutoff
|
||||
"mm3"_bond_mm3.html - MM3 anharmonic bond
|
||||
"morse"_bond_morse.html - Morse bond
|
||||
"nonlinear"_bond_nonlinear.html - nonlinear bond
|
||||
"oxdna/fene"_bond_oxdna.html - modified FENE bond suitable for DNA modeling
|
||||
|
||||
@ -13,6 +13,7 @@ Bond Styles :h1
|
||||
bond_harmonic_shift
|
||||
bond_harmonic_shift_cut
|
||||
bond_hybrid
|
||||
bond_mm3
|
||||
bond_morse
|
||||
bond_none
|
||||
bond_nonlinear
|
||||
|
||||
@ -37,7 +37,7 @@ they can be used to measure properties of a system.
|
||||
This compute calculates the 3 components of the angular momentum
|
||||
vector for each chunk, due to the velocity/momentum of the individual
|
||||
atoms in the chunk around the center-of-mass of the chunk. The
|
||||
calculation includes all effects due to atoms passing thru periodic
|
||||
calculation includes all effects due to atoms passing through periodic
|
||||
boundaries.
|
||||
|
||||
Note that only atoms in the specified group contribute to the
|
||||
|
||||
@ -22,7 +22,7 @@ compute 1 all com :pre
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates the center-of-mass of the group
|
||||
of atoms, including all effects due to atoms passing thru periodic
|
||||
of atoms, including all effects due to atoms passing through periodic
|
||||
boundaries.
|
||||
|
||||
A vector of three quantities is calculated by this compute, which
|
||||
|
||||
@ -35,7 +35,7 @@ doc pages for details of how chunks can be defined and examples of how
|
||||
they can be used to measure properties of a system.
|
||||
|
||||
This compute calculates the x,y,z coordinates of the center-of-mass
|
||||
for each chunk, which includes all effects due to atoms passing thru
|
||||
for each chunk, which includes all effects due to atoms passing through
|
||||
periodic boundaries.
|
||||
|
||||
Note that only atoms in the specified group contribute to the
|
||||
|
||||
@ -38,7 +38,7 @@ they can be used to measure properties of a system.
|
||||
|
||||
This compute calculates the x,y,z coordinates of the dipole vector
|
||||
and the total dipole moment for each chunk, which includes all effects
|
||||
due to atoms passing thru periodic boundaries. For chunks with a net
|
||||
due to atoms passing through periodic boundaries. For chunks with a net
|
||||
charge the resulting dipole is made position independent by subtracting
|
||||
the position vector of the center of mass or geometric center times the
|
||||
net charge from the computed dipole vector.
|
||||
|
||||
@ -29,7 +29,7 @@ compute 1 all displace/atom refresh myVar :pre
|
||||
|
||||
Define a computation that calculates the current displacement of each
|
||||
atom in the group from its original (reference) coordinates, including
|
||||
all effects due to atoms passing thru periodic boundaries.
|
||||
all effects due to atoms passing through periodic boundaries.
|
||||
|
||||
A vector of four quantities per atom is calculated by this compute.
|
||||
The first 3 elements of the vector are the dx,dy,dz displacements.
|
||||
|
||||
@ -128,24 +128,39 @@ commands to be changed, if the pair style supports it.
|
||||
|
||||
The {pstyle} argument is the name of the pair style. For example,
|
||||
{pstyle} could be specified as "lj/cut". The {pparam} argument is the
|
||||
name of the parameter to change. This is a (non-exclusive) list of
|
||||
name of the parameter to change. This is a list of
|
||||
pair styles and parameters that can be used with this compute. See
|
||||
the doc pages for individual pair styles and their energy formulas for
|
||||
the meaning of these parameters:
|
||||
|
||||
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/cut/coul/cut"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/cut/coul/long"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/cut/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"coul/cut/soft"_pair_lj_soft.html: lambda: type pairs:
|
||||
"coul/long/soft"_pair_lj_soft.html: lambda: type pairs:
|
||||
"lj/cut/coul/cut/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"lj/cut/coul/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"lj/cut/tip4p/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"tip4p/long/soft"_pair_lj_soft.html: lambda: type pairs:
|
||||
"lj/charmm/coul/long/soft"_pair_lj_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"born"_pair_born.html: a,b,c: type pairs:
|
||||
"buck"_pair_buck.html: a,c : type pairs :tb(c=3,s=:)
|
||||
"buck"_pair_buck.html: a,c: type pairs:
|
||||
"buck/mdf"_pair_mdf.html: a,c: type pairs:
|
||||
"coul/cut"_pair_coul.html: scale: type pairs:
|
||||
"coul/cut/soft"_pair_fep_soft.html: lambda: type pairs:
|
||||
"coul/long, coul/msm"_pair_coul.html: scale: type pairs:
|
||||
"coul/long/soft"_pair_fep_soft.html: scale, lambda: type pairs:
|
||||
"eam"_pair_eam.html: scale: type pairs:
|
||||
"gauss"_pair_gauss.html: a: type pairs:
|
||||
"lennard/mdf"_pair_mdf.html: a,b: type pairs:
|
||||
"lj/class2"_pair_class2.html: epsilon,sigma: type pairs:
|
||||
"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma: type pairs:
|
||||
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/cut/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"lj/cut/tip4p/cut, lj/cut/tip4p/long"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/cut/tip4p/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
|
||||
"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs:
|
||||
"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs:
|
||||
"mie/cut"_pair_mie.html: epsilon,sigma,gamR,gamA: type pairs:
|
||||
"morse, morse/smooth/linear"_pair_morse.html: d0,r0,alpha: type pairs:
|
||||
"morse/soft"_pair_morse.html: d0,r0,alpha,lambda: type pairs:
|
||||
"nm/cut"_pair_nm.html: e0,r0,nn,mm: type pairs:
|
||||
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: e0,r0,nn,mm: type pairs:
|
||||
"ufm"_pair_ufm.html: epsilon,sigma,scale: type pairs:
|
||||
"soft"_pair_soft.html: a: type pairs :tb(c=3,s=:)
|
||||
|
||||
Note that it is easy to add new potentials and their parameters to
|
||||
this list. All it typically takes is adding an extract() method to
|
||||
@ -236,7 +251,7 @@ package"_Build_package.html doc page for more info.
|
||||
[Related commands:]
|
||||
|
||||
"fix adapt/fep"_fix_adapt_fep.html, "fix ave/time"_fix_ave_time.html,
|
||||
"pair_style lj/soft/coul/soft"_pair_lj_soft.html
|
||||
"pair_fep_soft"_pair_fep_soft.html
|
||||
|
||||
[Default:]
|
||||
|
||||
|
||||
@ -22,7 +22,7 @@ compute 1 molecule gyration :pre
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates the radius of gyration Rg of the
|
||||
group of atoms, including all effects due to atoms passing thru
|
||||
group of atoms, including all effects due to atoms passing through
|
||||
periodic boundaries.
|
||||
|
||||
Rg is a measure of the size of the group of atoms, and is computed as
|
||||
|
||||
@ -40,7 +40,7 @@ doc pages for details of how chunks can be defined and examples of how
|
||||
they can be used to measure properties of a system.
|
||||
|
||||
This compute calculates the radius of gyration Rg for each chunk,
|
||||
which includes all effects due to atoms passing thru periodic
|
||||
which includes all effects due to atoms passing through periodic
|
||||
boundaries.
|
||||
|
||||
Rg is a measure of the size of a chunk, and is computed by this
|
||||
|
||||
@ -36,7 +36,7 @@ they can be used to measure properties of a system.
|
||||
|
||||
This compute calculates the 6 components of the symmetric inertia
|
||||
tensor for each chunk, ordered Ixx,Iyy,Izz,Ixy,Iyz,Ixz. The
|
||||
calculation includes all effects due to atoms passing thru periodic
|
||||
calculation includes all effects due to atoms passing through periodic
|
||||
boundaries.
|
||||
|
||||
Note that only atoms in the specified group contribute to the
|
||||
|
||||
@ -29,7 +29,7 @@ compute 1 upper msd com yes average yes :pre
|
||||
|
||||
Define a computation that calculates the mean-squared displacement
|
||||
(MSD) of the group of atoms, including all effects due to atoms
|
||||
passing thru periodic boundaries. For computation of the non-Gaussian
|
||||
passing through periodic boundaries. For computation of the non-Gaussian
|
||||
parameter of mean-squared displacement, see the "compute
|
||||
msd/nongauss"_compute_msd_nongauss.html command.
|
||||
|
||||
|
||||
@ -38,7 +38,7 @@ Four quantities are calculated by this compute for each chunk. The
|
||||
first 3 quantities are the squared dx,dy,dz displacements of the
|
||||
center-of-mass. The 4th component is the total squared displacement,
|
||||
i.e. (dx*dx + dy*dy + dz*dz) of the center-of-mass. These
|
||||
calculations include all effects due to atoms passing thru periodic
|
||||
calculations include all effects due to atoms passing through periodic
|
||||
boundaries.
|
||||
|
||||
Note that only atoms in the specified group contribute to the
|
||||
|
||||
@ -28,7 +28,7 @@ compute 1 upper msd/nongauss com yes :pre
|
||||
|
||||
Define a computation that calculates the mean-squared displacement
|
||||
(MSD) and non-Gaussian parameter (NGP) of the group of atoms,
|
||||
including all effects due to atoms passing thru periodic boundaries.
|
||||
including all effects due to atoms passing through periodic boundaries.
|
||||
|
||||
A vector of three quantities is calculated by this compute. The first
|
||||
element of the vector is the total squared dx,dy,dz displacements
|
||||
|
||||
@ -38,7 +38,7 @@ This compute calculates the 3 components of the angular velocity
|
||||
vector for each chunk, via the formula L = Iw where L is the angular
|
||||
momentum vector of the chunk, I is its moment of inertia tensor, and w
|
||||
is omega = angular velocity of the chunk. The calculation includes
|
||||
all effects due to atoms passing thru periodic boundaries.
|
||||
all effects due to atoms passing through periodic boundaries.
|
||||
|
||||
Note that only atoms in the specified group contribute to the
|
||||
calculation. The "compute chunk/atom"_compute_chunk_atom.html command
|
||||
|
||||
@ -24,7 +24,7 @@ nsub = {n}-instance of a sub-style, if a pair style is used multiple times in a
|
||||
compute 1 all pair gauss
|
||||
compute 1 all pair lj/cut/coul/cut ecoul
|
||||
compute 1 all pair tersoff 2 epair
|
||||
compute 1 all pair reax :pre
|
||||
compute 1 all pair reax/c :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -60,8 +60,8 @@ corrections, even if they are enabled via the
|
||||
"pair_modify"_pair_modify.html command.
|
||||
|
||||
Some pair styles tally additional quantities, e.g. a breakdown of
|
||||
potential energy into a dozen or so components is tallied by the
|
||||
"pair_style reax"_pair_reax.html command. These values (1 or more)
|
||||
potential energy into 14 components is tallied by the "pair_style
|
||||
reax/c"_pair_reaxc.html command. These values (1 or more)
|
||||
are stored as a global vector by this compute. See the doc page for
|
||||
"individual pair styles"_pair_style.html for info on these values.
|
||||
|
||||
|
||||
@ -107,7 +107,7 @@ mass (COM) of the body. The {x}, {y}, {z} attributes write the COM
|
||||
"unscaled", in the appropriate distance "units"_units.html (Angstroms,
|
||||
sigma, etc). Use {xu}, {yu}, {zu} if you want the COM "unwrapped" by
|
||||
the image flags for each body. Unwrapped means that if the body
|
||||
COM has passed thru a periodic boundary one or more times, the value
|
||||
COM has passed through a periodic boundary one or more times, the value
|
||||
is generated what the COM coordinate would be if it had not been
|
||||
wrapped back into the periodic box.
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ twojmax = band limit for bispectrum components (non-negative integer) :l
|
||||
R_1, R_2,... = list of cutoff radii, one for each type (distance units) :l
|
||||
w_1, w_2,... = list of neighbor weights, one for each type :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {diagonal} or {rmin0} or {switchflag} or {bzeroflag} or {quadraticflag}:l
|
||||
keyword = {diagonal} or {rmin0} or {switchflag} or {bzeroflag} or {quadraticflag} :l
|
||||
{diagonal} value = {0} or {1} or {2} or {3}
|
||||
{0} = all j1, j2, j <= twojmax, j2 <= j1
|
||||
{1} = subset satisfying j1 == j2
|
||||
|
||||
@ -37,7 +37,7 @@ they can be used to measure properties of a system.
|
||||
This compute calculates the 3 components of the torque vector for eqch
|
||||
chunk, due to the forces on the individual atoms in the chunk around
|
||||
the center-of-mass of the chunk. The calculation includes all effects
|
||||
due to atoms passing thru periodic boundaries.
|
||||
due to atoms passing through periodic boundaries.
|
||||
|
||||
Note that only atoms in the specified group contribute to the
|
||||
calculation. The "compute chunk/atom"_compute_chunk_atom.html command
|
||||
|
||||
@ -83,7 +83,7 @@ used in such a way that the displacement of a particular atom is the
|
||||
same, regardless of how many processors are being used.
|
||||
|
||||
The {rotate} style rotates each atom in the group by the angle {theta}
|
||||
around a rotation axis {R} = (Rx,Ry,Rz) that goes thru a point {P} =
|
||||
around a rotation axis {R} = (Rx,Ry,Rz) that goes through a point {P} =
|
||||
(Px,Py,Pz). The direction of rotation for the atoms around the
|
||||
rotation axis is consistent with the right-hand rule: if your
|
||||
right-hand thumb points along {R}, then your fingers wrap around the
|
||||
|
||||
@ -312,7 +312,7 @@ so that any machine which supports XDR should be able to read them.
|
||||
The number of atoms per snapshot cannot change with the {xtc} style.
|
||||
The {unwrap} option of the "dump_modify"_dump_modify.html command allows
|
||||
XTC coordinates to be written "unwrapped" by the image flags for each
|
||||
atom. Unwrapped means that if the atom has passed thru a periodic
|
||||
atom. Unwrapped means that if the atom has passed through a periodic
|
||||
boundary one or more times, the value is printed for what the
|
||||
coordinate would be if it had not been wrapped back into the periodic
|
||||
box. Note that these coordinates may thus be far outside the box size
|
||||
@ -534,7 +534,7 @@ on the "Howto triclinic"_Howto_triclinic.html doc page.
|
||||
|
||||
Use {xu}, {yu}, {zu} if you want the coordinates "unwrapped" by the
|
||||
image flags for each atom. Unwrapped means that if the atom has
|
||||
passed thru a periodic boundary one or more times, the value is
|
||||
passed through a periodic boundary one or more times, the value is
|
||||
printed for what the coordinate would be if it had not been wrapped
|
||||
back into the periodic box. Note that using {xu}, {yu}, {zu} means
|
||||
that the coordinate values may be far outside the box bounds printed
|
||||
|
||||
@ -344,7 +344,7 @@ The {image} keyword applies only to the dump {atom} style. If the
|
||||
image value is {yes}, 3 flags are appended to each atom's coords which
|
||||
are the absolute box image of the atom in each dimension. For
|
||||
example, an x image flag of -2 with a normalized coord of 0.5 means
|
||||
the atom is in the center of the box, but has passed thru the box
|
||||
the atom is in the center of the box, but has passed through the box
|
||||
boundary 2 times and is really 2 box lengths to the left of its
|
||||
current coordinate. Note that for dump style {custom} these various
|
||||
values can be printed in the dump file by using the appropriate atom
|
||||
@ -461,10 +461,10 @@ last snapshot. This can be accomplished with something the following
|
||||
commands:
|
||||
|
||||
variable Dhop equal 0.6
|
||||
variable check atom "c_dsp[4] > v_Dhop"
|
||||
variable check atom "c_dsp\[4\] > v_Dhop"
|
||||
compute dsp all displace/atom refresh check
|
||||
dump 1 all custom 20 tmp.dump id type x y z
|
||||
dump_modify 1 append yes thresh c_dsp[4] > ${Dhop} refresh c_dsp :pre
|
||||
dump_modify 1 append yes thresh c_dsp\[4\] > $\{Dhop\} refresh c_dsp :pre
|
||||
|
||||
The "compute displace/atom"_compute_displace_atom.html command
|
||||
calculates the displacement of each atom from its reference position.
|
||||
@ -622,7 +622,7 @@ threshold criterion is met. Otherwise it is not met.
|
||||
|
||||
The {unwrap} keyword only applies to the dump {dcd} and {xtc} styles.
|
||||
If set to {yes}, coordinates will be written "unwrapped" by the image
|
||||
flags for each atom. Unwrapped means that if the atom has passed thru
|
||||
flags for each atom. Unwrapped means that if the atom has passed through
|
||||
a periodic boundary one or more times, the value is printed for what
|
||||
the coordinate would be if it had not been wrapped back into the
|
||||
periodic box. Note that these coordinates may thus be far outside the
|
||||
|
||||
@ -312,9 +312,8 @@ accelerated styles exist.
|
||||
"qmmm"_fix_qmmm.html -
|
||||
"qtb"_fix_qtb.html -
|
||||
"rattle"_fix_shake.html - RATTLE constraints on bonds and/or angles
|
||||
"reax/bonds"_fix_reax_bonds.html - write out ReaxFF bond information
|
||||
"reax/c/bonds"_fix_reax_bonds.html -
|
||||
"reax/c/species"_fix_reaxc_species.html -
|
||||
"reax/c/bonds"_fix_reaxc_bonds.html - write out ReaxFF bond information
|
||||
"reax/c/species"_fix_reaxc_species.html - write out ReaxFF molecule information
|
||||
"recenter"_fix_recenter.html - constrain the center-of-mass position of a group of atoms
|
||||
"restrain"_fix_restrain.html - constrain a bond, angle, dihedral
|
||||
"rhok"_fix_rhok.html -
|
||||
|
||||
@ -112,17 +112,43 @@ pages for individual pair styles and their energy formulas for the
|
||||
meaning of these parameters:
|
||||
|
||||
"born"_pair_born.html: a,b,c: type pairs:
|
||||
"born/coul/long, born/coul/msm"_pair_born.html: coulombic_cutoff: type global:
|
||||
"buck"_pair_buck.html: a,c: type pairs:
|
||||
"buck/coul/long, buck/coul/msm"_pair_buck.html: coulombic_cutoff: type global:
|
||||
"buck/mdf"_pair_mdf.html: a,c: type pairs:
|
||||
"coul/cut"_pair_coul.html: scale: type pairs:
|
||||
"coul/cut/soft"_pair_fep_soft.html: lambda: type pairs:
|
||||
"coul/debye"_pair_coul.html: scale: type pairs:
|
||||
"coul/long"_pair_coul.html: scale: type pairs:
|
||||
"coul/dsf"_pair_coul.html: coulombic_cutoff: type global:
|
||||
"coul/long, coul/msm"_pair_coul.html: coulombic_cutoff, scale: type pairs:
|
||||
"coul/long/soft"_pair_fep_soft.html: scale, lambda, coulombic_cutoff: type pairs:
|
||||
"eam, eam/alloy, eam/fs"_pair_eam.html: scale: type pairs:
|
||||
"gauss"_pair_gauss.html: a: type pairs:
|
||||
"lennard/mdf"_pair_mdf.html: A,B: type pairs:
|
||||
"lj/class2"_pair_class2.html: epsilon,sigma: type pairs:
|
||||
"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma,coulombic_cutoff: type pairs:
|
||||
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma,coulombic_cutoff: type pairs:
|
||||
"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda,coulombic_cutoff: type pairs:
|
||||
"lj/cut/coul/dsf"_pair_lj.html: cutoff: type global:
|
||||
"lj/cut/tip4p/cut"_pair_lj.html: epsilon,sigma,coulombic_cutoff: type pairs:
|
||||
"lj/cut/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
|
||||
"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs:
|
||||
"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs:
|
||||
"lubricate"_pair_lubricate.html: mu: global:
|
||||
"gauss"_pair_gauss.html: a: type pairs:
|
||||
"morse"_pair_morse.html: d0,r0,alpha: type pairs:
|
||||
"mie/cut"_pair_mie.html: epsilon,sigma,gamma_repulsive,gamma_attractive: type pairs:
|
||||
"morse, morse/smooth/linear"_pair_morse.html: D0,R0,alpha: type pairs:
|
||||
"morse/soft"_pair_morse.html: D0,R0,alpha,lambda: type pairs:
|
||||
"nm/cut"_pair_nm.html: E0,R0,m,n: type pairs:
|
||||
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: E0,R0,m,n,coulombic_cutoff: type pairs:
|
||||
"reax/c"_pair_reaxc.html: chi, eta, gamma: type global:
|
||||
"spin/dmi"_pair_spin_dmi.html: coulombic_cutoff: type global:
|
||||
"spin/exchange"_pair_spin_exchange.html: coulombic_cutoff: type global:
|
||||
"spin/magelec"_pair_spin_magelec.html: coulombic_cutoff: type global:
|
||||
"spin/neel"_pair_spin_neel.html: coulombic_cutoff: type global:
|
||||
"table"_pair_table.html: table_cutoff: type pairs:
|
||||
"ufm"_pair_ufm.html: epsilon,sigma: type pairs:
|
||||
"soft"_pair_soft.html: a: type pairs:
|
||||
"kim"_pair_kim.html: PARAM_FREE_*:i,j,...: global :tb(c=3,s=:)
|
||||
|
||||
@ -217,6 +243,7 @@ Currently {bond} does not support bond_style hybrid nor bond_style
|
||||
hybrid/overlay as bond styles. The only bonds that currently are
|
||||
working with fix_adapt are
|
||||
|
||||
"gromos"_bond_gromos.html: k, r0: type bonds:
|
||||
"harmonic"_bond_harmonic.html: k,r0: type bonds :tb(c=3,s=:)
|
||||
|
||||
:line
|
||||
|
||||
@ -114,24 +114,37 @@ styles and their energy formulas for the meaning of these parameters:
|
||||
|
||||
"born"_pair_born.html: a,b,c: type pairs:
|
||||
"buck"_pair_buck.html: a,c: type pairs:
|
||||
"buck/mdf"_pair_mdf.html: a,c: type pairs:
|
||||
"coul/cut"_pair_coul.html: scale: type pairs:
|
||||
"coul/debye"_pair_coul.html: scale: type pairs:
|
||||
"coul/long"_pair_coul.html: scale: type pairs:
|
||||
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
|
||||
"lubricate"_pair_lubricate.html: mu: global:
|
||||
"coul/cut/soft"_pair_fep_soft.html: lambda: type pairs:
|
||||
"coul/long, coul/msm"_pair_coul.html: scale: type pairs:
|
||||
"coul/long/soft"_pair_fep_soft.html: scale, lambda: type pairs:
|
||||
"eam"_pair_eam.html: scale: type pairs:
|
||||
"gauss"_pair_gauss.html: a: type pairs:
|
||||
"lennard/mdf"_pair_mdf.html: a,b: type pairs:
|
||||
"lj/class2"_pair_class2.html: epsilon,sigma: type pairs:
|
||||
"lj/class2/coul/cut, lj/class2/coul/long"_pair_class2.html: epsilon,sigma: type pairs:
|
||||
"lj/cut"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/cut/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/cut/coul/cut/soft, lj/cut/coul/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"lj/cut/tip4p/cut, lj/cut/tip4p/long"_pair_lj.html: epsilon,sigma: type pairs:
|
||||
"lj/cut/tip4p/long/soft"_pair_fep_soft.html: epsilon,sigma,lambda: type pairs:
|
||||
"lj/expand"_pair_lj_expand.html: epsilon,sigma,delta: type pairs:
|
||||
"lj/mdf"_pair_mdf.html: epsilon,sigma: type pairs:
|
||||
"lj/sf/dipole/sf"_pair_dipole.html: epsilon,sigma,scale: type pairs:
|
||||
"mie/cut"_pair_mie.html: epsilon,sigma,gamR,gamA: type pairs:
|
||||
"morse, morse/smooth/linear"_pair_morse.html: d0,r0,alpha: type pairs:
|
||||
"morse/soft"_pair_morse.html: d0,r0,alpha,lambda: type pairs:
|
||||
"nm/cut"_pair_nm.html: e0,r0,nn,mm: type pairs:
|
||||
"nm/cut/coul/cut, nm/cut/coul/long"_pair_nm.html: e0,r0,nn,mm: type pairs:
|
||||
"ufm"_pair_ufm.html: epsilon,sigma,scale: type pairs:
|
||||
"soft"_pair_soft.html: a: type pairs :tb(c=3,s=:)
|
||||
|
||||
NOTE: It is easy to add new potentials and their parameters to this
|
||||
list. All it typically takes is adding an extract() method to the
|
||||
pair_*.cpp file associated with the potential.
|
||||
|
||||
Some parameters are global settings for the pair style, e.g. the
|
||||
viscosity setting "mu" for "pair_style lubricate"_pair_lubricate.html.
|
||||
Other parameters apply to atom type pairs within the pair style,
|
||||
e.g. the prefactor "a" for "pair_style soft"_pair_soft.html.
|
||||
|
||||
Note that for many of the potentials, the parameter that can be varied
|
||||
is effectively a prefactor on the entire energy expression for the
|
||||
potential, e.g. the lj/cut epsilon. The parameters listed as "scale"
|
||||
@ -253,7 +266,7 @@ minimization"_minimize.html.
|
||||
[Related commands:]
|
||||
|
||||
"compute fep"_compute_fep.html, "fix adapt"_fix_adapt.html, "compute
|
||||
ti"_compute_ti.html
|
||||
ti"_compute_ti.html, "pair_fep_soft"_pair_fep_soft.html
|
||||
|
||||
[Default:]
|
||||
|
||||
|
||||
@ -241,7 +241,7 @@ first bin and values > {hi} are counted in the last bin. If {beyond}
|
||||
is set to {extend} then two extra bins are created, so that there are
|
||||
Nbins+2 total bins. Values < {lo} are counted in the first bin and
|
||||
values > {hi} are counted in the last bin (Nbins+1). Values between
|
||||
{lo} and {hi} (inclusive) are counted in bins 2 thru Nbins+1. The
|
||||
{lo} and {hi} (inclusive) are counted in bins 2 through Nbins+1. The
|
||||
"coordinate" stored and printed for these two extra bins is {lo} and
|
||||
{hi}.
|
||||
|
||||
|
||||
@ -36,10 +36,12 @@ react = mandatory argument indicating new reaction specification :l
|
||||
template-ID(post-reacted) = ID of a molecule template containing post-reaction topology :l
|
||||
map_file = name of file specifying corresponding atom-IDs in the pre- and post-reacted templates :l
|
||||
zero or more individual keyword/value pairs may be appended to each react argument :l
|
||||
individual_keyword = {prob} or {stabilize_steps} or {update_edges} :l
|
||||
individual_keyword = {prob} or {max_rxn} or {stabilize_steps} or {update_edges} :l
|
||||
{prob} values = fraction seed
|
||||
fraction = initiate reaction with this probability if otherwise eligible
|
||||
seed = random number seed (positive integer)
|
||||
{max_rxn} value = N
|
||||
N = maximum number of reactions allowed to occur
|
||||
{stabilize_steps} value = timesteps
|
||||
timesteps = number of timesteps to apply the internally-created "nve/limit"_fix_nve_limit.html fix to reacting atoms
|
||||
{update_edges} value = {none} or {charges} or {custom}
|
||||
@ -69,8 +71,9 @@ Initiate complex covalent bonding (topology) changes. These topology
|
||||
changes will be referred to as 'reactions' throughout this
|
||||
documentation. Topology changes are defined in pre- and post-reaction
|
||||
molecule templates and can include creation and deletion of bonds,
|
||||
angles, dihedrals, impropers, bond-types, angle-types, dihedral-types,
|
||||
atom-types, or atomic charges.
|
||||
angles, dihedrals, impropers, bond types, angle types, dihedral types,
|
||||
atom types, or atomic charges. In addition, reaction by-products or
|
||||
other molecules can be identified and deleted.
|
||||
|
||||
Fix bond/react does not use quantum mechanical (eg. fix qmmm) or
|
||||
pairwise bond-order potential (eg. Tersoff or AIREBO) methods to
|
||||
@ -141,7 +144,7 @@ modified to match the post-reaction template.
|
||||
|
||||
A bonding atom pair will be identified if several conditions are met.
|
||||
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
|
||||
itype and jtype must be 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
|
||||
@ -203,15 +206,17 @@ A discussion of correctly handling this is also provided on the
|
||||
The map file is a text document with the following format:
|
||||
|
||||
A map file has a header and a body. The header of map file the
|
||||
contains one mandatory keyword and two optional keywords. The
|
||||
contains one mandatory keyword and three optional keywords. The
|
||||
mandatory keyword is 'equivalences' and the optional keywords are
|
||||
'edgeIDs' and 'customIDs':
|
||||
'edgeIDs' and 'deleteIDs' and 'customIDs':
|
||||
|
||||
N {equivalences} = # of atoms N in the reaction molecule templates
|
||||
N {edgeIDs} = # of edge atoms N in the pre-reacted molecule template
|
||||
N {customIDs} = # of atoms N that are specified for a custom update :pre
|
||||
N {deleteIDs} = # of atoms N that are specified for deletion
|
||||
N {customIDs} = # of atoms N that are specified for a custom update
|
||||
N {constraints} = # of specified reaction constraints N :pre
|
||||
|
||||
The body of the map file contains two mandatory sections and two
|
||||
The body of the map file contains two mandatory sections and four
|
||||
optional sections. The first mandatory section begins with the keyword
|
||||
'BondingIDs' and lists the atom IDs of the bonding atom pair in the
|
||||
pre-reacted molecule template. The second mandatory section begins
|
||||
@ -222,11 +227,16 @@ second column is the corresponding atom ID of the post-reacted
|
||||
molecule template. The first optional section begins with the keyword
|
||||
'EdgeIDs' and lists the atom IDs of edge atoms in the pre-reacted
|
||||
molecule template. The second optional section begins with the keyword
|
||||
'Custom Edges' and allows for forcing the update of a specific atom's
|
||||
atomic charge. The first column is the ID of an atom near the edge of
|
||||
the pre-reacted molecule template, and the value of the second column
|
||||
is either 'none' or 'charges.' Further details are provided in the
|
||||
discussion of the 'update_edges' keyword.
|
||||
'DeleteIDs' and lists the atom IDs of pre-reaction template atoms to
|
||||
delete. The third optional section begins with the keyword 'Custom
|
||||
Edges' and allows for forcing the update of a specific atom's atomic
|
||||
charge. The first column is the ID of an atom near the edge of the
|
||||
pre-reacted molecule template, and the value of the second column is
|
||||
either 'none' or 'charges.' Further details are provided in the
|
||||
discussion of the 'update_edges' keyword. The fourth optional section
|
||||
begins with the keyword 'Constraints' and lists additional criteria
|
||||
that must be satisfied in order for the reaction to occur. Currently,
|
||||
there is one type of constraint available, as discussed below.
|
||||
|
||||
A sample map file is given below:
|
||||
|
||||
@ -259,6 +269,18 @@ Equivalences :pre
|
||||
|
||||
:line
|
||||
|
||||
Any number of additional constraints may be specified in the
|
||||
Constraints section of the map file. Currently there is one type of
|
||||
additional constraint, of type 'distance', whose syntax is as follows:
|
||||
|
||||
distance {ID1} {ID2} {rmin} {rmax} :pre
|
||||
|
||||
where 'distance' is the required keyword, {ID1} and {ID2} are
|
||||
pre-reaction atom IDs, and these two atoms must be separated by a
|
||||
distance between {rmin} and {rmax} for the reaction to occur. This
|
||||
constraint can be used to enforce a certain orientation between
|
||||
reacting molecules.
|
||||
|
||||
Once a reaction site has been successfully identified, data structures
|
||||
within LAMMPS that store bond topology are updated to reflect the
|
||||
post-reacted molecule template. All force fields with fixed bonds,
|
||||
@ -281,7 +303,8 @@ The {prob} keyword can affect whether an eligible reaction actually
|
||||
occurs. The fraction setting must be a value between 0.0 and 1.0. A
|
||||
uniform random number between 0.0 and 1.0 is generated and the
|
||||
eligible reaction only occurs if the random number is less than the
|
||||
fraction.
|
||||
fraction. Up to N reactions are permitted to occur, as optionally
|
||||
specified by the {max_rxn} keyword.
|
||||
|
||||
The {stabilize_steps} keyword allows for the specification of how many
|
||||
timesteps a reaction site is stabilized before being returned to the
|
||||
@ -309,7 +332,16 @@ edge are unaffected by this setting.
|
||||
|
||||
A few other considerations:
|
||||
|
||||
It may be beneficial to ensure reacting atoms are at a certain
|
||||
Many reactions result in one or more atoms that are considered
|
||||
unwanted by-products. Therefore, bond/react provides the option to
|
||||
delete a user-specified set of atoms. These pre-reaction atoms are
|
||||
identified in the map file. A deleted atom must still be included in
|
||||
the post-reaction molecule template, in which it cannot be bonded to
|
||||
an atom that is not deleted. In addition to deleting unwanted reaction
|
||||
by-products, this feature can be used to remove specific topologies,
|
||||
such as small rings, that may be otherwise indistinguishable.
|
||||
|
||||
Also, it may be beneficial to ensure reacting atoms are at a certain
|
||||
temperature before being released to the overall thermostat. For this,
|
||||
you can use the internally-created dynamic group named
|
||||
"bond_react_MASTER_group." For example, adding the following command
|
||||
|
||||
@ -56,7 +56,7 @@ by other fixes (e.g. "fix meso"_fix_meso.html, "fix
|
||||
meso/stationary"_fix_meso_stationary.html), since that will change their
|
||||
positions and velocities twice.
|
||||
|
||||
NOTE: As particles move due to this fix, they will pass thru periodic
|
||||
NOTE: As particles move due to this fix, they will pass through periodic
|
||||
boundaries and be remapped to the other side of the simulation box,
|
||||
just as they would during normal time integration (e.g. via the "fix
|
||||
meso"_fix_meso.html command). It is up to you to decide whether periodic
|
||||
@ -126,7 +126,7 @@ variable v equal v_omega*($A-cwiggle(0.0,$A,$T))
|
||||
fix 1 boundary move variable v_x NULL NULL v_v NULL NULL :pre
|
||||
|
||||
The {rotate} style rotates particles around a rotation axis {R} =
|
||||
(Rx,Ry,Rz) that goes thru a point {P} = (Px,Py,Pz). The {period} of
|
||||
(Rx,Ry,Rz) that goes through a point {P} = (Px,Py,Pz). The {period} of
|
||||
the rotation is also specified. The direction of rotation for the
|
||||
particles around the rotation axis is consistent with the right-hand
|
||||
rule: if your right-hand thumb points along {R}, then your fingers wrap
|
||||
|
||||
@ -51,7 +51,7 @@ integrated by other fixes (e.g. "fix nve"_fix_nve.html, "fix
|
||||
nvt"_fix_nh.html), since that will change their positions and
|
||||
velocities twice.
|
||||
|
||||
NOTE: As atoms move due to this fix, they will pass thru periodic
|
||||
NOTE: As atoms move due to this fix, they will pass through periodic
|
||||
boundaries and be remapped to the other side of the simulation box,
|
||||
just as they would during normal time integration (e.g. via the "fix
|
||||
nve"_fix_nve.html command). It is up to you to decide whether
|
||||
@ -121,7 +121,7 @@ variable v equal v_omega*($A-cwiggle(0.0,$A,$T))
|
||||
fix 1 boundary move variable v_x NULL NULL v_v NULL NULL :pre
|
||||
|
||||
The {rotate} style rotates atoms around a rotation axis {R} =
|
||||
(Rx,Ry,Rz) that goes thru a point {P} = (Px,Py,Pz). The {period} of
|
||||
(Rx,Ry,Rz) that goes through a point {P} = (Px,Py,Pz). The {period} of
|
||||
the rotation is also specified. The direction of rotation for the
|
||||
atoms around the rotation axis is consistent with the right-hand rule:
|
||||
if your right-hand thumb points along {R}, then your fingers wrap
|
||||
|
||||
@ -626,10 +626,10 @@ over time or the atom count becomes very small.
|
||||
|
||||
[Default:]
|
||||
|
||||
The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop =
|
||||
The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = 1,
|
||||
ploop = 1, nreset = 0, drag = 0.0, dilate = all, couple = none,
|
||||
scaleyz = scalexz = scalexy = yes if periodic in 2nd dimension and
|
||||
not coupled to barostat, otherwise no.
|
||||
flip = yes, scaleyz = scalexz = scalexy = yes if periodic in 2nd
|
||||
dimension and not coupled to barostat, otherwise no.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -32,11 +32,10 @@ enhance the sampling of phase space.
|
||||
|
||||
The documentation included here only describes the fix plumed command
|
||||
itself. This command is LAMMPS specific, whereas most of the
|
||||
functionality implemented in PLUMED, however, will work with a range of
|
||||
MD codes, and when PLUMED is used as a stand alone code for analysis.
|
||||
The full "documentation for PLUMED"_plumeddocs is available online and
|
||||
included in the PLUMED source code. The PLUMED library development is
|
||||
hosted at
|
||||
functionality implemented in PLUMED will work with a range of MD codes,
|
||||
and when PLUMED is used as a stand alone code for analysis. The full
|
||||
"documentation for PLUMED"_plumeddocs is available online and included
|
||||
in the PLUMED source code. The PLUMED library development is hosted at
|
||||
"https://github.com/plumed/plumed2"_https://github.com/plumed/plumed2
|
||||
A detailed discussion of the code can be found in "(PLUMED)"_#PLUMED.
|
||||
|
||||
@ -54,11 +53,12 @@ have been set.
|
||||
|
||||
The {group-ID} entry is ignored. LAMMPS will always pass all the atoms
|
||||
to PLUMED and there can only be one instance of the plumed fix at a
|
||||
time. The plumed fix communicates the minimum amount of information
|
||||
required and the PLUMED supports multiple, completely independent
|
||||
collective variables, multiple independent biases and multiple
|
||||
independent forms of analysis. There is thus really no restriction in
|
||||
functionality by only allowing only one plumed fix in the LAMMPS input.
|
||||
time. The way the plumed fix is implemented ensures that the minimum
|
||||
amount of information required is communicated. Furthermore, PLUMED
|
||||
supports multiple, completely independent collective variables, multiple
|
||||
independent biases and multiple independent forms of analysis. There is
|
||||
thus really no restriction in functionality by only allowing only one
|
||||
plumed fix in the LAMMPS input.
|
||||
|
||||
The {plumedfile} keyword allows the user to specify the name of the
|
||||
PLUMED input file. Instructions as to what should be included in a
|
||||
|
||||
@ -22,7 +22,7 @@ Nevery = perform charge equilibration every this many steps :l
|
||||
cutoff = global cutoff for charge-charge interactions (distance unit) :l
|
||||
tolerance = precision to which charges will be equilibrated :l
|
||||
maxiter = maximum iterations to perform charge equilibration :l
|
||||
qfile = a filename with QEq parameters :l
|
||||
qfile = a filename with QEq parameters or {coul/streitz} or {reax/c} :l
|
||||
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {alpha} or {qdamp} or {qstep} :l
|
||||
@ -122,7 +122,9 @@ field"_#vanDuin paper. The shielding accounts for charge overlap
|
||||
between charged particles at small separation. This style is the same
|
||||
as "fix qeq/reax"_fix_qeq_reax.html, and can be used with "pair_style
|
||||
reax/c"_pair_reaxc.html. Only the {chi}, {eta}, and {gamma}
|
||||
parameters from the {qfile} file are used. This style solves partial
|
||||
parameters from the {qfile} file are used. When using the string
|
||||
{reax/c} as filename, these parameters are extracted directly from
|
||||
an active {reax/c} pair style. This style solves partial
|
||||
charges on atoms via the matrix inversion method. A tolerance of
|
||||
1.0e-6 is usually a good number.
|
||||
|
||||
@ -132,7 +134,9 @@ that the interaction between a pair of charged particles is the
|
||||
product of two Slater 1{s} orbitals. The expression for the Slater
|
||||
1{s} orbital is given under equation (6) of the
|
||||
"Streitz-Mintmire"_#Streitz1 paper. Only the {chi}, {eta}, {zeta}, and
|
||||
{qcore} parameters from the {qfile} file are used. This style solves
|
||||
{qcore} parameters from the {qfile} file are used. When using the string
|
||||
{coul/streitz} as filename, these parameters are extracted directly from
|
||||
an active {coul/streitz} pair style. This style solves
|
||||
partial charges on atoms via the matrix inversion method. A tolerance
|
||||
of 1.0e-6 is usually a good number. Keyword {alpha} can be used to
|
||||
change the Slater type orbital exponent.
|
||||
|
||||
@ -6,13 +6,12 @@
|
||||
|
||||
:line
|
||||
|
||||
fix reax/bonds command :h3
|
||||
fix reax/c/bonds command :h3
|
||||
fix reax/c/bonds/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID reax/bonds Nevery filename :pre
|
||||
fix ID group-ID reaxc/bonds Nevery filename :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command
|
||||
reax/bonds = style name of this fix command
|
||||
@ -21,16 +20,14 @@ filename = name of output file :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all reax/bonds 100 bonds.tatb
|
||||
fix 1 all reax/c/bonds 100 bonds.reaxc :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Write out the bond information computed by the ReaxFF potential
|
||||
specified by "pair_style reax"_pair_reax.html or "pair_style
|
||||
reax/c"_pair_reaxc.html in the exact same format as the original
|
||||
stand-alone ReaxFF code of Adri van Duin. The bond information is
|
||||
written to {filename} on timesteps that are multiples of {Nevery},
|
||||
Write out the bond information computed by the ReaxFF potential specified
|
||||
by "pair_style reax/c"_pair_reaxc.html in the exact same format as the
|
||||
original stand-alone ReaxFF code of Adri van Duin. The bond information
|
||||
is written to {filename} on timesteps that are multiples of {Nevery},
|
||||
including timestep 0. For time-averaged chemical species analysis,
|
||||
please see the "fix reaxc/c/species"_fix_reaxc_species.html command.
|
||||
|
||||
@ -94,12 +91,8 @@ more instructions on how to use the accelerated styles effectively.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The fix reax/bonds command requires that the "pair_style
|
||||
reax"_pair_reax.html be invoked. This fix is part of the REAX
|
||||
package. It is only enabled if LAMMPS was built with that package,
|
||||
which also requires the REAX library be built and linked with LAMMPS.
|
||||
The fix reax/c/bonds command requires that the "pair_style
|
||||
reax/c"_pair_reaxc.html be invoked. This fix is part of the
|
||||
reax/c"_pair_reaxc.html is invoked. This fix is part of the
|
||||
USER-REAXC package. It is only enabled if LAMMPS was built with that
|
||||
package. See the "Build package"_Build_package.html doc page for more
|
||||
info.
|
||||
@ -109,7 +102,6 @@ To write gzipped bond files, you must compile LAMMPS with the
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_style reax"_pair_reax.html, "pair_style
|
||||
reax/c"_pair_reaxc.html, "fix reax/c/species"_fix_reaxc_species.html
|
||||
"pair_style reax/c"_pair_reaxc.html, "fix reax/c/species"_fix_reaxc_species.html
|
||||
|
||||
[Default:] none
|
||||
@ -161,7 +161,7 @@ more instructions on how to use the accelerated styles effectively.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The fix species currently only works with "pair_style
|
||||
The "fix reax/c/species" currently only works with "pair_style
|
||||
reax/c"_pair_reaxc.html and it requires that the "pair_style
|
||||
reax/c"_pair_reaxc.html be invoked. This fix is part of the
|
||||
USER-REAXC package. It is only enabled if LAMMPS was built with that
|
||||
@ -177,8 +177,7 @@ It should be possible to extend it to other reactive pair_styles (such as
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_style reax/c"_pair_reaxc.html, "fix
|
||||
reax/bonds"_fix_reax_bonds.html
|
||||
"pair_style reax/c"_pair_reaxc.html, "fix reax/c/bonds"_fix_reaxc_bonds.html
|
||||
|
||||
[Default:]
|
||||
|
||||
|
||||
@ -160,7 +160,7 @@ unaffected by interactions with other particles. Note that if you
|
||||
expect a rigid body not to move or rotate by using these keywords, you
|
||||
must insure its initial center-of-mass translational or angular
|
||||
velocity is 0.0. Otherwise the initial translational or angular
|
||||
momentum the body has will persist.
|
||||
momentum, the body has, will persist.
|
||||
|
||||
An xflag, yflag, or zflag set to {off} means turn off the component of
|
||||
force or torque in that dimension. A setting of {on} means turn on
|
||||
@ -287,9 +287,10 @@ bodies. The number of columns is 28. Thus for each rigid body, 28
|
||||
values are stored: the xyz coords of the center of mass (COM), the xyz
|
||||
components of the COM velocity, the xyz components of the force acting
|
||||
on the COM, the components of the 4-vector quaternion representing the
|
||||
orientation of the rigid body, the xyz components of the angular momentum
|
||||
orientation of the rigid body, the xyz components of the angular velocity
|
||||
of the body around its COM, the xyz components of the torque acting on the
|
||||
COM, the 3 principal components of the moment of inertia and the xyz image
|
||||
COM, the 3 principal components of the moment of inertia, the xyz components
|
||||
of the angular momentum of the body around its COM, and the xyz image
|
||||
flags of the COM.
|
||||
|
||||
The center of mass (COM) for each body is similar to unwrapped
|
||||
|
||||
@ -117,7 +117,7 @@ Lamda cannot be smaller than 0.6 * hgrid, else an error is generated
|
||||
SRD particles are bounded by Vmax, which is set so that an SRD
|
||||
particle will not advect further than Dmax = 4*lamda in dt_SRD. This
|
||||
means that roughly speaking, Dmax should not be larger than a big
|
||||
particle diameter, else SRDs may pass thru big particles without
|
||||
particle diameter, else SRDs may pass through big particles without
|
||||
colliding. A warning is generated if this is the case.
|
||||
|
||||
Collisions between SRD particles and big particles or walls are
|
||||
|
||||
@ -86,6 +86,9 @@ package"_Build_package.html doc page for more info.
|
||||
Do not set "neigh_modify once yes" or else this fix will never be
|
||||
called. Reneighboring is required.
|
||||
|
||||
This fix is not compatible with a hybrid pair style, long-range dispersion,
|
||||
TIP4P water support, or long-range point dipole support.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"kspace_style"_kspace_style.html, "boundary"_boundary.html
|
||||
|
||||
@ -41,7 +41,7 @@ fix top all wall/reflect zhi v_pressdown :pre
|
||||
[Description:]
|
||||
|
||||
Bound the simulation with one or more walls which reflect particles
|
||||
in the specified group when they attempt to move thru them.
|
||||
in the specified group when they attempt to move through them.
|
||||
|
||||
Reflection means that if an atom moves outside the wall on a timestep
|
||||
by a distance delta (e.g. due to "fix nve"_fix_nve.html), then it is
|
||||
|
||||