Merge branch 'develop' into fix-cmake-python-install
This commit is contained in:
30
SECURITY.md
30
SECURITY.md
@ -14,14 +14,14 @@ and tested by the LAMMPS developers, so it is easy to import bad
|
|||||||
behavior from calling functions in one of those libraries.
|
behavior from calling functions in one of those libraries.
|
||||||
|
|
||||||
Thus is is quite easy to crash LAMMPS through malicious input and do all
|
Thus is is quite easy to crash LAMMPS through malicious input and do all
|
||||||
kinds of filesystem manipulations. And because of that LAMMPS should
|
kinds of file system manipulations. And because of that LAMMPS should
|
||||||
**NEVER** be compiled or **run** as superuser, either from a "root" or
|
**NEVER** be compiled or **run** as superuser, either from a "root" or
|
||||||
"administrator" account directly or indirectly via "sudo" or "su".
|
"administrator" account directly or indirectly via "sudo" or "su".
|
||||||
|
|
||||||
Therefore what could be seen as a security vulnerability is usually
|
Therefore what could be seen as a security vulnerability is usually
|
||||||
either a user mistake or a bug in the code. Bugs can be reported in
|
either a user mistake or a bug in the code. Bugs can be reported in the
|
||||||
the LAMMPS project
|
LAMMPS project [issue tracker on
|
||||||
[issue tracker on GitHub](https://github.com/lammps/lammps/issues).
|
GitHub](https://github.com/lammps/lammps/issues).
|
||||||
|
|
||||||
To mitigate issues with using homoglyphs or bidirectional reordering in
|
To mitigate issues with using homoglyphs or bidirectional reordering in
|
||||||
unicode, which have been demonstrated as a vector to obfuscate and hide
|
unicode, which have been demonstrated as a vector to obfuscate and hide
|
||||||
@ -30,10 +30,18 @@ for unicode characters and only all-ASCII source code is accepted.
|
|||||||
|
|
||||||
# Version Updates
|
# Version Updates
|
||||||
|
|
||||||
LAMMPS follows continuous release development model. We aim to keep all
|
LAMMPS follows continuous release development model. We aim to keep to
|
||||||
release versions (stable or patch) fully functional and employ a variety
|
keep the development version (develop branch) always fully functional
|
||||||
of automatic testing procedures to detect failures of existing
|
and employ a variety of automatic testing procedures to detect failures
|
||||||
functionality from adding new features before releases are made. Thus
|
of existing functionality from adding or modifying features. Most of
|
||||||
bugfixes and updates are only integrated into the current development
|
those tests are run on pull requests *before* merging to the development
|
||||||
branch and thus the next (patch) release and users are recommended to
|
branch. The develop branch is protected, so all changes *must* be
|
||||||
update regularly.
|
submitted as a pull request and thus cannot avoid the automated tests.
|
||||||
|
|
||||||
|
Additional tests are run *after* merging. Before releases are made
|
||||||
|
*all* tests must have cleared. Then a release tag is applied and the
|
||||||
|
release branch fast-forwarded to that tag. Bug fixes and updates are
|
||||||
|
applied to the current development branch and thus will be available in
|
||||||
|
the next (patch) release. For stable releases, selected bug fixes are
|
||||||
|
back-ported and occasionally published as update releases. There are
|
||||||
|
only updates to the latest stable release.
|
||||||
|
|||||||
@ -12,6 +12,11 @@ endif()
|
|||||||
if(POLICY CMP0109)
|
if(POLICY CMP0109)
|
||||||
cmake_policy(SET CMP0109 OLD)
|
cmake_policy(SET CMP0109 OLD)
|
||||||
endif()
|
endif()
|
||||||
|
# set policy to silence warnings about timestamps of downloaded files. review occasionally if it may be set to NEW
|
||||||
|
if(POLICY CMP0135)
|
||||||
|
cmake_policy(SET CMP0135 OLD)
|
||||||
|
endif()
|
||||||
|
|
||||||
########################################
|
########################################
|
||||||
|
|
||||||
project(lammps CXX)
|
project(lammps CXX)
|
||||||
|
|||||||
@ -49,6 +49,14 @@ if(DOWNLOAD_MDI)
|
|||||||
set(MDI_USE_PYTHON_PLUGINS ON)
|
set(MDI_USE_PYTHON_PLUGINS ON)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
# python plugins are not supported and thus must be always off on Windows
|
||||||
|
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||||
|
unset(Python_Development_FOUND)
|
||||||
|
set(MDI_USE_PYTHON_PLUGINS OFF)
|
||||||
|
if(CMAKE_CROSSCOMPILING)
|
||||||
|
set(CMAKE_INSTALL_LIBDIR lib)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
# download/ build MDI library
|
# download/ build MDI library
|
||||||
# always build static library with -fpic
|
# always build static library with -fpic
|
||||||
@ -57,8 +65,9 @@ if(DOWNLOAD_MDI)
|
|||||||
ExternalProject_Add(mdi_build
|
ExternalProject_Add(mdi_build
|
||||||
URL ${MDI_URL}
|
URL ${MDI_URL}
|
||||||
URL_MD5 ${MDI_MD5}
|
URL_MD5 ${MDI_MD5}
|
||||||
|
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/mdi_build_ext
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
|
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/mdi_build_ext
|
||||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||||
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
|
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
|
||||||
@ -70,23 +79,23 @@ if(DOWNLOAD_MDI)
|
|||||||
-Dplugins=ON
|
-Dplugins=ON
|
||||||
-Dpython_plugins=${MDI_USE_PYTHON_PLUGINS}
|
-Dpython_plugins=${MDI_USE_PYTHON_PLUGINS}
|
||||||
UPDATE_COMMAND ""
|
UPDATE_COMMAND ""
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/mdi_build_ext/src/mdi_build-build --target install
|
||||||
BUILD_BYPRODUCTS "<BINARY_DIR>/MDI_Library/libmdi.a"
|
BUILD_BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/mdi_build_ext/${CMAKE_INSTALL_LIBDIR}/mdi/${CMAKE_STATIC_LIBRARY_PREFIX}mdi${CMAKE_STATIC_LIBRARY_SUFFIX}"
|
||||||
)
|
)
|
||||||
|
|
||||||
# where is the compiled library?
|
# where is the compiled library?
|
||||||
ExternalProject_get_property(mdi_build BINARY_DIR)
|
ExternalProject_get_property(mdi_build PREFIX)
|
||||||
set(MDI_BINARY_DIR "${BINARY_DIR}/MDI_Library")
|
|
||||||
# workaround for older CMake versions
|
# workaround for older CMake versions
|
||||||
file(MAKE_DIRECTORY ${MDI_BINARY_DIR})
|
file(MAKE_DIRECTORY ${PREFIX}/${CMAKE_INSTALL_LIBDIR}/mdi)
|
||||||
|
file(MAKE_DIRECTORY ${PREFIX}/include/mdi)
|
||||||
|
|
||||||
# create imported target for the MDI library
|
# create imported target for the MDI library
|
||||||
add_library(LAMMPS::MDI UNKNOWN IMPORTED)
|
add_library(LAMMPS::MDI UNKNOWN IMPORTED)
|
||||||
add_dependencies(LAMMPS::MDI mdi_build)
|
add_dependencies(LAMMPS::MDI mdi_build)
|
||||||
set_target_properties(LAMMPS::MDI PROPERTIES
|
set_target_properties(LAMMPS::MDI PROPERTIES
|
||||||
IMPORTED_LOCATION "${MDI_BINARY_DIR}/libmdi.a"
|
IMPORTED_LOCATION "${PREFIX}/${CMAKE_INSTALL_LIBDIR}/mdi/${CMAKE_STATIC_LIBRARY_PREFIX}mdi${CMAKE_STATIC_LIBRARY_SUFFIX}"
|
||||||
INTERFACE_INCLUDE_DIRECTORIES ${MDI_BINARY_DIR}
|
INTERFACE_INCLUDE_DIRECTORIES ${PREFIX}/include/mdi
|
||||||
)
|
)
|
||||||
|
|
||||||
set(MDI_DEP_LIBS "")
|
set(MDI_DEP_LIBS "")
|
||||||
# if compiling with python plugins we need
|
# if compiling with python plugins we need
|
||||||
|
|||||||
@ -25,16 +25,18 @@ if(MLIAP_ENABLE_PYTHON)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython)
|
set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython)
|
||||||
set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/ML-IAP/mliap_model_python_couple.pyx)
|
file(GLOB MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/ML-IAP/*.pyx)
|
||||||
get_filename_component(MLIAP_CYTHON_BASE ${MLIAP_CYTHON_SRC} NAME_WE)
|
|
||||||
file(MAKE_DIRECTORY ${MLIAP_BINARY_DIR})
|
file(MAKE_DIRECTORY ${MLIAP_BINARY_DIR})
|
||||||
add_custom_command(OUTPUT ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.h
|
foreach(MLIAP_CYTHON_FILE ${MLIAP_CYTHON_SRC})
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${MLIAP_CYTHON_SRC} ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.pyx
|
get_filename_component(MLIAP_CYTHON_BASE ${MLIAP_CYTHON_FILE} NAME_WE)
|
||||||
COMMAND ${Cythonize_EXECUTABLE} -3 ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.pyx
|
add_custom_command(OUTPUT ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.h
|
||||||
WORKING_DIRECTORY ${MLIAP_BINARY_DIR}
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${MLIAP_CYTHON_FILE} ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.pyx
|
||||||
MAIN_DEPENDENCY ${MLIAP_CYTHON_SRC}
|
COMMAND ${Cythonize_EXECUTABLE} -3 ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.pyx
|
||||||
COMMENT "Generating C++ sources with cythonize...")
|
WORKING_DIRECTORY ${MLIAP_BINARY_DIR}
|
||||||
|
MAIN_DEPENDENCY ${MLIAP_CYTHON_FILE}
|
||||||
|
COMMENT "Generating C++ sources with cythonize...")
|
||||||
|
target_sources(lammps PRIVATE ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp)
|
||||||
|
endforeach()
|
||||||
target_compile_definitions(lammps PRIVATE -DMLIAP_PYTHON)
|
target_compile_definitions(lammps PRIVATE -DMLIAP_PYTHON)
|
||||||
target_sources(lammps PRIVATE ${MLIAP_BINARY_DIR}/${MLIAP_CYTHON_BASE}.cpp)
|
|
||||||
target_include_directories(lammps PRIVATE ${MLIAP_BINARY_DIR})
|
target_include_directories(lammps PRIVATE ${MLIAP_BINARY_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.10.25.fix2.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
|
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2022.09.27.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
|
||||||
|
|
||||||
set(PACELIB_MD5 "32394d799bc282bb57696c78c456e64f" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
|
set(PACELIB_MD5 "ad6c8597076479bd55059f5947d51acc" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
|
||||||
mark_as_advanced(PACELIB_URL)
|
mark_as_advanced(PACELIB_URL)
|
||||||
mark_as_advanced(PACELIB_MD5)
|
mark_as_advanced(PACELIB_MD5)
|
||||||
|
|
||||||
@ -15,23 +15,9 @@ execute_process(
|
|||||||
)
|
)
|
||||||
get_newest_file(${CMAKE_BINARY_DIR}/lammps-user-pace-* lib-pace)
|
get_newest_file(${CMAKE_BINARY_DIR}/lammps-user-pace-* lib-pace)
|
||||||
|
|
||||||
# enforce building libyaml-cpp as static library and turn off optional features
|
add_subdirectory(${lib-pace} build-pace)
|
||||||
set(YAML_BUILD_SHARED_LIBS OFF)
|
|
||||||
set(YAML_CPP_BUILD_CONTRIB OFF)
|
|
||||||
set(YAML_CPP_BUILD_TOOLS OFF)
|
|
||||||
add_subdirectory(${lib-pace}/yaml-cpp build-yaml-cpp)
|
|
||||||
set(YAML_CPP_INCLUDE_DIR ${lib-pace}/yaml-cpp/include)
|
|
||||||
|
|
||||||
file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${lib-pace}/ML-PACE)
|
|
||||||
file(GLOB PACE_EVALUATOR_SOURCES ${lib-pace}/ML-PACE/*.cpp)
|
|
||||||
list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp)
|
|
||||||
|
|
||||||
add_library(pace STATIC ${PACE_EVALUATOR_SOURCES})
|
|
||||||
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
|
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
|
||||||
target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR} ${YAML_CPP_INCLUDE_DIR})
|
|
||||||
|
|
||||||
|
|
||||||
target_link_libraries(pace PRIVATE yaml-cpp-pace)
|
|
||||||
if(CMAKE_PROJECT_NAME STREQUAL "lammps")
|
if(CMAKE_PROJECT_NAME STREQUAL "lammps")
|
||||||
target_link_libraries(lammps PRIVATE pace)
|
target_link_libraries(lammps PRIVATE pace)
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@ -314,7 +314,7 @@ Bibliography
|
|||||||
Espanol, Revenga, Physical Review E, 67, 026705 (2003).
|
Espanol, Revenga, Physical Review E, 67, 026705 (2003).
|
||||||
|
|
||||||
**(Espanol1997)**
|
**(Espanol1997)**
|
||||||
Espanol, Europhys Lett, 40(6): 631-636 (1997). DOI: 10.1209/epl/i1997-00515-8
|
Espanol, Europhys Lett, 40(6): 631-636 (1997). DOI:10.1209/epl/i1997-00515-8
|
||||||
|
|
||||||
**(Evans and Morriss)**
|
**(Evans and Morriss)**
|
||||||
Evans and Morriss, Phys Rev A, 30, 1528 (1984).
|
Evans and Morriss, Phys Rev A, 30, 1528 (1984).
|
||||||
@ -368,7 +368,7 @@ Bibliography
|
|||||||
Frenkel and Smit, Understanding Molecular Simulation, Academic Press, London, 2002.
|
Frenkel and Smit, Understanding Molecular Simulation, Academic Press, London, 2002.
|
||||||
|
|
||||||
**(GLE4MD)**
|
**(GLE4MD)**
|
||||||
`http://gle4md.org/ <http://gle4md.org/>`_
|
`https://gle4md.org/ <https://gle4md.org/>`_
|
||||||
|
|
||||||
**(Gao)**
|
**(Gao)**
|
||||||
Gao and Weber, Nuclear Instruments and Methods in Physics Research B 191 (2012) 504.
|
Gao and Weber, Nuclear Instruments and Methods in Physics Research B 191 (2012) 504.
|
||||||
@ -401,13 +401,13 @@ Bibliography
|
|||||||
Hayre, and Farago, Comp Phys Comm, 185, 524 (2014)
|
Hayre, and Farago, Comp Phys Comm, 185, 524 (2014)
|
||||||
|
|
||||||
**(Groot)**
|
**(Groot)**
|
||||||
Groot and Warren, J Chem Phys, 107: 4423-4435 (1997). DOI: 10.1063/1.474784
|
Groot and Warren, J Chem Phys, 107: 4423-4435 (1997). DOI:10.1063/1.474784
|
||||||
|
|
||||||
**(Guenole)**
|
**(Guenole)**
|
||||||
Guenole, Noehring, Vaid, Houlle, Xie, Prakash, Bitzek, Comput Mater Sci, 175, 109584 (2020).
|
Guenole, Noehring, Vaid, Houlle, Xie, Prakash, Bitzek, Comput Mater Sci, 175, 109584 (2020).
|
||||||
|
|
||||||
**(Gullet)**
|
**(Gullet)**
|
||||||
Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003).
|
Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003). DOI:10.2172/918395
|
||||||
|
|
||||||
**(Guo)**
|
**(Guo)**
|
||||||
Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996).
|
Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996).
|
||||||
@ -461,7 +461,7 @@ Bibliography
|
|||||||
Hunt, Mol Simul, 42, 347 (2016).
|
Hunt, Mol Simul, 42, 347 (2016).
|
||||||
|
|
||||||
**(IPI)**
|
**(IPI)**
|
||||||
`http://epfl-cosmo.github.io/gle4md/index.html?page=ipi <http://epfl-cosmo.github.io/gle4md/index.html?page=ipi>`_
|
`https://ipi-code.org/ <https://ipi-code.org/>`
|
||||||
|
|
||||||
**(IPI-CPC)**
|
**(IPI-CPC)**
|
||||||
Ceriotti, More and Manolopoulos, Comp Phys Comm, 185, 1019-1026 (2014).
|
Ceriotti, More and Manolopoulos, Comp Phys Comm, 185, 1019-1026 (2014).
|
||||||
@ -605,16 +605,16 @@ Bibliography
|
|||||||
I.\ Leven et al, J. Chem.Theory Comput. 12, 2896-905 (2016).
|
I.\ Leven et al, J. Chem.Theory Comput. 12, 2896-905 (2016).
|
||||||
|
|
||||||
**(Li2013_POF)**
|
**(Li2013_POF)**
|
||||||
Li, Hu, Wang, Ma, Zhou, Phys Fluids, 25: 072103 (2013). DOI: 10.1063/1.4812366.
|
Li, Hu, Wang, Ma, Zhou, Phys Fluids, 25: 072103 (2013). DOI:10.1063/1.4812366.
|
||||||
|
|
||||||
**(Li2014_JCP)**
|
**(Li2014_JCP)**
|
||||||
Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, 265: 113-127 (2014). DOI: 10.1016/j.jcp.2014.02.003.
|
Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, 265: 113-127 (2014). DOI:10.1016/j.jcp.2014.02.003.
|
||||||
|
|
||||||
**(Li2015_CC)**
|
**(Li2015_CC)**
|
||||||
Li, Tang, Li, Karniadakis, Chem Commun, 51: 11038-11040 (2015). DOI: 10.1039/C5CC01684C.
|
Li, Tang, Li, Karniadakis, Chem Commun, 51: 11038-11040 (2015). DOI:10.1039/C5CC01684C.
|
||||||
|
|
||||||
**(Li2015_JCP)**
|
**(Li2015_JCP)**
|
||||||
Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, 143: 014101 (2015). DOI: 10.1063/1.4923254.
|
Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, 143: 014101 (2015). DOI:10.1063/1.4923254.
|
||||||
|
|
||||||
**(Lisal)**
|
**(Lisal)**
|
||||||
M.\ Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative particle dynamics at isothermal, isobaric, isoenergetic, and isoenthalpic conditions using Shardlow-like splitting algorithms.",
|
M.\ Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative particle dynamics at isothermal, isobaric, isoenergetic, and isoenthalpic conditions using Shardlow-like splitting algorithms.",
|
||||||
@ -733,8 +733,8 @@ Bibliography
|
|||||||
**(Mishin)**
|
**(Mishin)**
|
||||||
Mishin, Mehl, and Papaconstantopoulos, Acta Mater, 53, 4029 (2005).
|
Mishin, Mehl, and Papaconstantopoulos, Acta Mater, 53, 4029 (2005).
|
||||||
|
|
||||||
**(Mitchell and Finchham)**
|
**(Mitchell and Fincham)**
|
||||||
Mitchell, Finchham, J Phys Condensed Matter, 5, 1031-1038 (1993).
|
Mitchell, Fincham, J Phys Condensed Matter, 5, 1031-1038 (1993).
|
||||||
|
|
||||||
**(Mitchell2011)**
|
**(Mitchell2011)**
|
||||||
Mitchell. A non-local, ordinary-state-based viscoelasticity model for peridynamics. Sandia National Lab Report, 8064:1-28 (2011).
|
Mitchell. A non-local, ordinary-state-based viscoelasticity model for peridynamics. Sandia National Lab Report, 8064:1-28 (2011).
|
||||||
@ -875,7 +875,7 @@ Bibliography
|
|||||||
G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014)
|
G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014)
|
||||||
|
|
||||||
**(Paquay)**
|
**(Paquay)**
|
||||||
Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
|
Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 <https://arxiv.org/abs/1411.3019/>`_.
|
||||||
|
|
||||||
**(Park)**
|
**(Park)**
|
||||||
Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004)
|
Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004)
|
||||||
|
|||||||
@ -140,7 +140,7 @@ of the LAMMPS project on GitHub.
|
|||||||
The unit testing facility is integrated into the CMake build process
|
The unit testing facility is integrated into the CMake build process
|
||||||
of the LAMMPS source code distribution itself. It can be enabled by
|
of the LAMMPS source code distribution itself. It can be enabled by
|
||||||
setting ``-D ENABLE_TESTING=on`` during the CMake configuration step.
|
setting ``-D ENABLE_TESTING=on`` during the CMake configuration step.
|
||||||
It requires the `YAML <http://pyyaml.org/>`_ library and development
|
It requires the `YAML <https://pyyaml.org/>`_ library and development
|
||||||
headers (if those are not found locally a recent version will be
|
headers (if those are not found locally a recent version will be
|
||||||
downloaded and compiled along with LAMMPS and the test program) to
|
downloaded and compiled along with LAMMPS and the test program) to
|
||||||
compile and will download and compile a specific recent version of the
|
compile and will download and compile a specific recent version of the
|
||||||
|
|||||||
@ -314,7 +314,7 @@ detailed information is available at:
|
|||||||
|
|
||||||
In addition to installing the KIM API, it is also necessary to install the
|
In addition to installing the KIM API, it is also necessary to install the
|
||||||
library of KIM models (interatomic potentials).
|
library of KIM models (interatomic potentials).
|
||||||
See `Obtaining KIM Models <http://openkim.org/doc/usage/obtaining-models>`_ to
|
See `Obtaining KIM Models <https://openkim.org/doc/usage/obtaining-models>`_ to
|
||||||
learn how to install a pre-build binary of the OpenKIM Repository of Models.
|
learn how to install a pre-build binary of the OpenKIM Repository of Models.
|
||||||
See the list of all KIM models here: https://openkim.org/browse/models
|
See the list of all KIM models here: https://openkim.org/browse/models
|
||||||
|
|
||||||
@ -432,7 +432,7 @@ Enabling the extra unit tests have some requirements,
|
|||||||
``EAM_Dynamo_MendelevAckland_2007v3_Zr__MO_004835508849_000``,
|
``EAM_Dynamo_MendelevAckland_2007v3_Zr__MO_004835508849_000``,
|
||||||
``EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005``, and
|
``EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005``, and
|
||||||
``LennardJones612_UniversalShifted__MO_959249795837_003`` KIM models.
|
``LennardJones612_UniversalShifted__MO_959249795837_003`` KIM models.
|
||||||
See `Obtaining KIM Models <http://openkim.org/doc/usage/obtaining-models>`_
|
See `Obtaining KIM Models <https://openkim.org/doc/usage/obtaining-models>`_
|
||||||
to learn how to install a pre-built binary of the OpenKIM Repository of
|
to learn how to install a pre-built binary of the OpenKIM Repository of
|
||||||
Models or see
|
Models or see
|
||||||
`Installing KIM Models <https://openkim.org/doc/usage/obtaining-models/#installing_models>`_
|
`Installing KIM Models <https://openkim.org/doc/usage/obtaining-models/#installing_models>`_
|
||||||
@ -1053,7 +1053,7 @@ VORONOI package
|
|||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
To build with this package, you must download and build the
|
To build with this package, you must download and build the
|
||||||
`Voro++ library <http://math.lbl.gov/voro++>`_ or install a
|
`Voro++ library <https://math.lbl.gov/voro++>`_ or install a
|
||||||
binary package provided by your operating system.
|
binary package provided by your operating system.
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|||||||
@ -176,7 +176,7 @@ math expressions transparently into embedded images.
|
|||||||
For converting the generated ePUB file to a MOBI format file (for e-book
|
For converting the generated ePUB file to a MOBI format file (for e-book
|
||||||
readers, like Kindle, that cannot read ePUB), you also need to have the
|
readers, like Kindle, that cannot read ePUB), you also need to have the
|
||||||
``ebook-convert`` tool from the "calibre" software
|
``ebook-convert`` tool from the "calibre" software
|
||||||
installed. `http://calibre-ebook.com/ <http://calibre-ebook.com/>`_
|
installed. `https://calibre-ebook.com/ <https://calibre-ebook.com/>`_
|
||||||
Typing ``make mobi`` will first create the ePUB file and then convert
|
Typing ``make mobi`` will first create the ePUB file and then convert
|
||||||
it. On the Kindle readers in particular, you also have support for PDF
|
it. On the Kindle readers in particular, you also have support for PDF
|
||||||
files, so you could download and view the PDF version as an alternative.
|
files, so you could download and view the PDF version as an alternative.
|
||||||
@ -216,9 +216,20 @@ be multiple tests run automatically:
|
|||||||
- A test that only standard, printable ASCII text characters are used.
|
- A test that only standard, printable ASCII text characters are used.
|
||||||
This runs the command ``env LC_ALL=C grep -n '[^ -~]' src/*.rst`` and
|
This runs the command ``env LC_ALL=C grep -n '[^ -~]' src/*.rst`` and
|
||||||
thus prints all offending lines with filename and line number
|
thus prints all offending lines with filename and line number
|
||||||
prepended to the screen. Special characters like the Angstrom
|
prepended to the screen. Special characters like Greek letters
|
||||||
:math:`\mathrm{\mathring{A}}` should be typeset with embedded math
|
(:math:`\alpha~~\sigma~~\epsilon`), super- or subscripts
|
||||||
(like this ``:math:`\mathrm{\mathring{A}}```\ ).
|
(:math:`x^2~~\mathrm{U}_{LJ}`), mathematical expressions
|
||||||
|
(:math:`\frac{1}{2}\mathrm{N}~~x\to\infty`), or the Angstrom symbol
|
||||||
|
(:math:`\AA`) should be typeset with embedded LaTeX (like this
|
||||||
|
``:math:`\alpha \sigma \epsilon```, ``:math:`x^2 \mathrm{E}_{LJ}```,
|
||||||
|
``:math:`\frac{1}{2}\mathrm{N} x\to\infty```, or ``:math:`\AA```\ ).
|
||||||
|
|
||||||
|
- Embedded LaTeX is rendered in HTML output with `MathJax
|
||||||
|
<https://www.mathjax.org/>`_ and in PDF output by passing the embedded
|
||||||
|
text to LaTeX. Some care has to be taken, though, since there are
|
||||||
|
limitations which macros and features can be used in either mode, so
|
||||||
|
it is recommended to always check whether any new or changed
|
||||||
|
documentation does translate and render correctly with either output.
|
||||||
|
|
||||||
- A test whether all styles are documented and listed in their
|
- A test whether all styles are documented and listed in their
|
||||||
respective overview pages. A typical output with warnings looks like this:
|
respective overview pages. A typical output with warnings looks like this:
|
||||||
|
|||||||
@ -111,26 +111,25 @@ LAMMPS can use them if they are available on your system.
|
|||||||
files in its default search path. You must specify ``FFT_LIB``
|
files in its default search path. You must specify ``FFT_LIB``
|
||||||
with the appropriate FFT libraries to include in the link.
|
with the appropriate FFT libraries to include in the link.
|
||||||
|
|
||||||
The `KISS FFT library <http://kissfft.sf.net>`_ is included in the LAMMPS
|
The `KISS FFT library <https://github.com/mborgerding/kissfft>`_ is
|
||||||
distribution. It is portable across all platforms. Depending on the size
|
included in the LAMMPS distribution. It is portable across all
|
||||||
of the FFTs and the number of processors used, the other libraries listed
|
platforms. Depending on the size of the FFTs and the number of
|
||||||
here can be faster.
|
processors used, the other libraries listed here can be faster.
|
||||||
|
|
||||||
However, note that long-range Coulombics are only a portion of the
|
However, note that long-range Coulombics are only a portion of the
|
||||||
per-timestep CPU cost, FFTs are only a portion of long-range
|
per-timestep CPU cost, FFTs are only a portion of long-range Coulombics,
|
||||||
Coulombics, and 1d FFTs are only a portion of the FFT cost (parallel
|
and 1d FFTs are only a portion of the FFT cost (parallel communication
|
||||||
communication can be costly). A breakdown of these timings is printed
|
can be costly). A breakdown of these timings is printed to the screen
|
||||||
to the screen at the end of a run when using the
|
at the end of a run when using the :doc:`kspace_style pppm
|
||||||
:doc:`kspace_style pppm <kspace_style>` command. The
|
<kspace_style>` command. The :doc:`Screen and logfile output
|
||||||
:doc:`Screen and logfile output <Run_output>`
|
<Run_output>` page gives more details. A more detailed (and time
|
||||||
page gives more details. A more detailed (and time consuming)
|
consuming) report of the FFT performance is generated with the
|
||||||
report of the FFT performance is generated with the
|
|
||||||
:doc:`kspace_modify fftbench yes <kspace_modify>` command.
|
:doc:`kspace_modify fftbench yes <kspace_modify>` command.
|
||||||
|
|
||||||
FFTW is a fast, portable FFT library that should also work on any
|
FFTW is a fast, portable FFT library that should also work on any
|
||||||
platform and can be faster than the KISS FFT library. You can
|
platform and can be faster than the KISS FFT library. You can download
|
||||||
download it from `www.fftw.org <http://www.fftw.org>`_. LAMMPS requires
|
it from `www.fftw.org <https://www.fftw.org>`_. LAMMPS requires version
|
||||||
version 3.X; the legacy version 2.1.X is no longer supported.
|
3.X; the legacy version 2.1.X is no longer supported.
|
||||||
|
|
||||||
Building FFTW for your box should be as simple as ``./configure; make;
|
Building FFTW for your box should be as simple as ``./configure; make;
|
||||||
make install``. The install command typically requires root privileges
|
make install``. The install command typically requires root privileges
|
||||||
|
|||||||
@ -236,6 +236,7 @@ OPT.
|
|||||||
* :doc:`oxrna2/xstk <pair_oxrna2>`
|
* :doc:`oxrna2/xstk <pair_oxrna2>`
|
||||||
* :doc:`oxrna2/coaxstk <pair_oxrna2>`
|
* :doc:`oxrna2/coaxstk <pair_oxrna2>`
|
||||||
* :doc:`pace (k) <pair_pace>`
|
* :doc:`pace (k) <pair_pace>`
|
||||||
|
* :doc:`pace/extrapolation <pair_pace>`
|
||||||
* :doc:`peri/eps <pair_peri>`
|
* :doc:`peri/eps <pair_peri>`
|
||||||
* :doc:`peri/lps (o) <pair_peri>`
|
* :doc:`peri/lps (o) <pair_peri>`
|
||||||
* :doc:`peri/pmb (o) <pair_peri>`
|
* :doc:`peri/pmb (o) <pair_peri>`
|
||||||
|
|||||||
@ -75,7 +75,7 @@ Using the GDB debugger to get a stack trace
|
|||||||
There are two options to use the GDB debugger for identifying the origin
|
There are two options to use the GDB debugger for identifying the origin
|
||||||
of the segmentation fault or similar crash. The GDB debugger has many
|
of the segmentation fault or similar crash. The GDB debugger has many
|
||||||
more features and options, as can be seen for example its `online
|
more features and options, as can be seen for example its `online
|
||||||
documentation <http://sourceware.org/gdb/current/onlinedocs/gdb/>`_.
|
documentation <https://sourceware.org/gdb/current/onlinedocs/gdb/>`_.
|
||||||
|
|
||||||
Run LAMMPS from within the debugger
|
Run LAMMPS from within the debugger
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|||||||
1410
doc/src/Fortran.rst
1410
doc/src/Fortran.rst
File diff suppressed because it is too large
Load Diff
@ -85,6 +85,7 @@ Packages howto
|
|||||||
Howto_coreshell
|
Howto_coreshell
|
||||||
Howto_drude
|
Howto_drude
|
||||||
Howto_drude2
|
Howto_drude2
|
||||||
|
Howto_peri
|
||||||
Howto_manifold
|
Howto_manifold
|
||||||
Howto_spins
|
Howto_spins
|
||||||
|
|
||||||
|
|||||||
@ -281,7 +281,7 @@ Here is more information about the extended XYZ format defined and
|
|||||||
used by Tinker, and links to programs that convert standard PDB files
|
used by Tinker, and links to programs that convert standard PDB files
|
||||||
to the extended XYZ format:
|
to the extended XYZ format:
|
||||||
|
|
||||||
* `http://openbabel.org/docs/current/FileFormats/Tinker_XYZ_format.html <http://openbabel.org/docs/current/FileFormats/Tinker_XYZ_format.html>`_
|
* `https://openbabel.org/docs/current/FileFormats/Tinker_XYZ_format.html <https://openbabel.org/docs/current/FileFormats/Tinker_XYZ_format.html>`_
|
||||||
* `https://github.com/emleddin/pdbxyz-xyzpdb <https://github.com/emleddin/pdbxyz-xyzpdb>`_
|
* `https://github.com/emleddin/pdbxyz-xyzpdb <https://github.com/emleddin/pdbxyz-xyzpdb>`_
|
||||||
* `https://github.com/TinkerTools/tinker/blob/release/source/pdbxyz.f <https://github.com/TinkerTools/tinker/blob/release/source/pdbxyz.f>`_
|
* `https://github.com/TinkerTools/tinker/blob/release/source/pdbxyz.f <https://github.com/TinkerTools/tinker/blob/release/source/pdbxyz.f>`_
|
||||||
|
|
||||||
|
|||||||
@ -3,24 +3,20 @@ CHARMM, AMBER, COMPASS, and DREIDING force fields
|
|||||||
|
|
||||||
A force field has 2 parts: the formulas that define it and the
|
A force field has 2 parts: the formulas that define it and the
|
||||||
coefficients used for a particular system. Here we only discuss
|
coefficients used for a particular system. Here we only discuss
|
||||||
formulas implemented in LAMMPS that correspond to formulas commonly
|
formulas implemented in LAMMPS that correspond to formulas commonly used
|
||||||
used in the CHARMM, AMBER, COMPASS, and DREIDING force fields. Setting
|
in the CHARMM, AMBER, COMPASS, and DREIDING force fields. Setting
|
||||||
coefficients is done either from special sections in an input data file
|
coefficients is done either from special sections in an input data file
|
||||||
via the :doc:`read_data <read_data>` command or in the input script with
|
via the :doc:`read_data <read_data>` command or in the input script with
|
||||||
commands like :doc:`pair_coeff <pair_coeff>` or
|
commands like :doc:`pair_coeff <pair_coeff>` or :doc:`bond_coeff
|
||||||
:doc:`bond_coeff <bond_coeff>` and so on. See the :doc:`Tools <Tools>` doc
|
<bond_coeff>` and so on. See the :doc:`Tools <Tools>` doc page for
|
||||||
page for additional tools that can use CHARMM, AMBER, or Materials
|
additional tools that can use CHARMM, AMBER, or Materials Studio
|
||||||
Studio generated files to assign force field coefficients and convert
|
generated files to assign force field coefficients and convert their
|
||||||
their output into LAMMPS input.
|
output into LAMMPS input.
|
||||||
|
|
||||||
See :ref:`(MacKerell) <howto-MacKerell>` for a description of the CHARMM force
|
See :ref:`(MacKerell) <howto-MacKerell>` for a description of the CHARMM
|
||||||
field. See :ref:`(Cornell) <howto-Cornell>` for a description of the AMBER
|
force field. See :ref:`(Cornell) <howto-Cornell>` for a description of
|
||||||
force field. See :ref:`(Sun) <howto-Sun>` for a description of the COMPASS
|
the AMBER force field. See :ref:`(Sun) <howto-Sun>` for a description
|
||||||
force field.
|
of the COMPASS force field.
|
||||||
|
|
||||||
.. _charmm: http://www.scripps.edu/brooks
|
|
||||||
|
|
||||||
.. _amber: http://amber.scripps.edu
|
|
||||||
|
|
||||||
The interaction styles listed below compute force field formulas that
|
The interaction styles listed below compute force field formulas that
|
||||||
are consistent with common options in CHARMM or AMBER. See each
|
are consistent with common options in CHARMM or AMBER. See each
|
||||||
@ -41,9 +37,10 @@ command's documentation for the formula it computes.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
For CHARMM, newer *charmmfsw* or *charmmfsh* styles were released
|
For CHARMM, newer *charmmfsw* or *charmmfsh* styles were released in
|
||||||
in March 2017. We recommend they be used instead of the older *charmm*
|
March 2017. We recommend they be used instead of the older *charmm*
|
||||||
styles. See discussion of the differences on the :doc:`pair charmm <pair_charmm>` and :doc:`dihedral charmm <dihedral_charmm>` doc
|
styles. See discussion of the differences on the :doc:`pair charmm
|
||||||
|
<pair_charmm>` and :doc:`dihedral charmm <dihedral_charmm>` doc
|
||||||
pages.
|
pages.
|
||||||
|
|
||||||
COMPASS is a general force field for atomistic simulation of common
|
COMPASS is a general force field for atomistic simulation of common
|
||||||
|
|||||||
@ -10,7 +10,7 @@ changes or additions you have made to LAMMPS into the official LAMMPS
|
|||||||
distribution. It uses the process of updating this very tutorial as an
|
distribution. It uses the process of updating this very tutorial as an
|
||||||
example to describe the individual steps and options. You need to be
|
example to describe the individual steps and options. You need to be
|
||||||
familiar with git and you may want to have a look at the `git book
|
familiar with git and you may want to have a look at the `git book
|
||||||
<http://git-scm.com/book/>`_ to familiarize yourself with some of the
|
<https://git-scm.com/book/>`_ to familiarize yourself with some of the
|
||||||
more advanced git features used below.
|
more advanced git features used below.
|
||||||
|
|
||||||
As of fall 2016, submitting contributions to LAMMPS via pull requests
|
As of fall 2016, submitting contributions to LAMMPS via pull requests
|
||||||
|
|||||||
@ -47,4 +47,4 @@ to the relevant fixes.
|
|||||||
.. _Paquay1:
|
.. _Paquay1:
|
||||||
|
|
||||||
**(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016).
|
**(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016).
|
||||||
preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
|
preprint available at `arXiv:1411.3019 <https://arxiv.org/abs/1411.3019/>`_.
|
||||||
|
|||||||
1078
doc/src/Howto_peri.rst
Normal file
1078
doc/src/Howto_peri.rst
Normal file
File diff suppressed because it is too large
Load Diff
@ -38,7 +38,7 @@ the partial charge assignments change:
|
|||||||
See the :ref:`(Berendsen) <howto-Berendsen>` reference for more details on both
|
See the :ref:`(Berendsen) <howto-Berendsen>` reference for more details on both
|
||||||
the SPC and SPC/E models.
|
the SPC and SPC/E models.
|
||||||
|
|
||||||
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.
|
Wikipedia also has a nice article on `water models <https://en.wikipedia.org/wiki/Water_model>`_.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|||||||
@ -30,9 +30,11 @@ can be coupled to another Langevin thermostat applied to the atoms
|
|||||||
using :doc:`fix langevin <fix_langevin>` in order to simulate
|
using :doc:`fix langevin <fix_langevin>` in order to simulate
|
||||||
thermostatted spin-lattice systems.
|
thermostatted spin-lattice systems.
|
||||||
|
|
||||||
The magnetic Gilbert damping can also be applied using :doc:`fix langevin/spin <fix_langevin_spin>`. It allows to either dissipate
|
The magnetic damping can also be applied
|
||||||
the thermal energy of the Langevin thermostat, or to perform a
|
using :doc:`fix langevin/spin <fix_langevin_spin>`.
|
||||||
relaxation of the magnetic configuration toward an equilibrium state.
|
It allows to either dissipate the thermal energy of the Langevin
|
||||||
|
thermostat, or to perform a relaxation of the magnetic configuration
|
||||||
|
toward an equilibrium state.
|
||||||
|
|
||||||
The command :doc:`fix setforce/spin <fix_setforce>` allows to set the
|
The command :doc:`fix setforce/spin <fix_setforce>` allows to set the
|
||||||
components of the magnetic precession vectors (while erasing and
|
components of the magnetic precession vectors (while erasing and
|
||||||
@ -52,9 +54,11 @@ All the computed magnetic properties can be output by two main
|
|||||||
commands. The first one is :doc:`compute spin <compute_spin>`, that
|
commands. The first one is :doc:`compute spin <compute_spin>`, that
|
||||||
enables to evaluate magnetic averaged quantities, such as the total
|
enables to evaluate magnetic averaged quantities, such as the total
|
||||||
magnetization of the system along x, y, or z, the spin temperature, or
|
magnetization of the system along x, y, or z, the spin temperature, or
|
||||||
the magnetic energy. The second command is :doc:`compute property/atom <compute_property_atom>`. It enables to output all the
|
the magnetic energy. The second command
|
||||||
per atom magnetic quantities. Typically, the orientation of a given
|
is :doc:`compute property/atom <compute_property_atom>`.
|
||||||
magnetic spin, or the magnetic force acting on this spin.
|
It enables to output all the per atom magnetic quantities. Typically,
|
||||||
|
the orientation of a given magnetic spin, or the magnetic force
|
||||||
|
acting on this spin.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|||||||
@ -49,7 +49,7 @@ details:
|
|||||||
| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}`
|
| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}`
|
||||||
|
|
|
|
||||||
|
|
||||||
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.
|
Wikipedia also has a nice article on `water models <https://en.wikipedia.org/wiki/Water_model>`_.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|||||||
@ -97,7 +97,7 @@ This leads to slightly larger cost for the long-range calculation, so
|
|||||||
you can test the trade-off for your model. The OM distance and the LJ
|
you can test the trade-off for your model. The OM distance and the LJ
|
||||||
and Coulombic cutoffs are set in the :doc:`pair_style lj/cut/tip4p/long <pair_lj_cut_tip4p>` command.
|
and Coulombic cutoffs are set in the :doc:`pair_style lj/cut/tip4p/long <pair_lj_cut_tip4p>` command.
|
||||||
|
|
||||||
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.
|
Wikipedia also has a nice article on `water models <https://en.wikipedia.org/wiki/Water_model>`_.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|||||||
@ -17,9 +17,10 @@ formats. See the :doc:`Tools <Tools>` page for details.
|
|||||||
|
|
||||||
A Python-based toolkit distributed by our group can read native LAMMPS
|
A Python-based toolkit distributed by our group can read native LAMMPS
|
||||||
dump files, including custom dump files with additional columns of
|
dump files, including custom dump files with additional columns of
|
||||||
user-specified atom information, and convert them to various formats
|
user-specified atom information, and convert them to various formats or
|
||||||
or pipe them into visualization software directly. See the `Pizza.py WWW site <pizza_>`_ for details. Specifically, Pizza.py can convert
|
pipe them into visualization software directly. See the `Pizza.py WWW
|
||||||
LAMMPS dump files into PDB, XYZ, `EnSight <ensight_>`_, and VTK formats.
|
site <pizza_>`_ for details. Specifically, Pizza.py can convert LAMMPS
|
||||||
|
dump files into PDB, XYZ, `EnSight <ensight_>`_, and VTK formats.
|
||||||
Pizza.py can pipe LAMMPS dump files directly into the Raster3d and
|
Pizza.py can pipe LAMMPS dump files directly into the Raster3d and
|
||||||
RasMol visualization programs. Pizza.py has tools that do interactive
|
RasMol visualization programs. Pizza.py has tools that do interactive
|
||||||
3d OpenGL visualization and one that creates SVG images of dump file
|
3d OpenGL visualization and one that creates SVG images of dump file
|
||||||
|
|||||||
@ -5,7 +5,7 @@ Binaries are available for MacOS or Linux via `Conda <conda_>`_.
|
|||||||
|
|
||||||
First, one must setup the Conda package manager on your system. Follow the
|
First, one must setup the Conda package manager on your system. Follow the
|
||||||
instructions to install `Miniconda <mini_conda_install_>`_, then create a conda
|
instructions to install `Miniconda <mini_conda_install_>`_, then create a conda
|
||||||
environment (named `my-lammps-env` or whatever you prefer) for your lammps
|
environment (named `my-lammps-env` or whatever you prefer) for your LAMMPS
|
||||||
install:
|
install:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
@ -13,7 +13,7 @@ install:
|
|||||||
% conda config --add channels conda-forge
|
% conda config --add channels conda-forge
|
||||||
% conda create -n my-lammps-env
|
% conda create -n my-lammps-env
|
||||||
|
|
||||||
Then, you can install lammps on your system with the following command:
|
Then, you can install LAMMPS on your system with the following command:
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ Windows system can be downloaded from this site:
|
|||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
`http://packages.lammps.org/windows.html <http://packages.lammps.org/windows.html>`_
|
`https://packages.lammps.org/windows.html <https://packages.lammps.org/windows.html>`_
|
||||||
|
|
||||||
Note that each installer package has a date in its name, which
|
Note that each installer package has a date in its name, which
|
||||||
corresponds to the LAMMPS version of the same date. Installers for
|
corresponds to the LAMMPS version of the same date. Installers for
|
||||||
|
|||||||
@ -4,13 +4,13 @@ Authors of LAMMPS
|
|||||||
The primary LAMMPS developers are at Sandia National Labs and Temple
|
The primary LAMMPS developers are at Sandia National Labs and Temple
|
||||||
University:
|
University:
|
||||||
|
|
||||||
* `Steve Plimpton <sjp_>`_, sjplimp at sandia.gov
|
* `Steve Plimpton <sjp_>`_, sjplimp at gmail.com
|
||||||
* Aidan Thompson, athomps at sandia.gov
|
* Aidan Thompson, athomps at sandia.gov
|
||||||
* Stan Moore, stamoor at sandia.gov
|
* Stan Moore, stamoor at sandia.gov
|
||||||
* Axel Kohlmeyer, akohlmey at gmail.com
|
* Axel Kohlmeyer, akohlmey at gmail.com
|
||||||
* Richard Berger, richard.berger at outlook.com
|
* Richard Berger, richard.berger at outlook.com
|
||||||
|
|
||||||
.. _sjp: http://www.cs.sandia.gov/~sjplimp
|
.. _sjp: https://sjplimp.github.io
|
||||||
.. _lws: https://www.lammps.org
|
.. _lws: https://www.lammps.org
|
||||||
|
|
||||||
Past developers include Paul Crozier and Mark Stevens, both at Sandia,
|
Past developers include Paul Crozier and Mark Stevens, both at Sandia,
|
||||||
|
|||||||
@ -27,7 +27,7 @@ namely https://www.lammps.org.
|
|||||||
The original publication describing the parallel algorithms used in the
|
The original publication describing the parallel algorithms used in the
|
||||||
initial versions of LAMMPS is:
|
initial versions of LAMMPS is:
|
||||||
|
|
||||||
`S. Plimpton, Fast Parallel Algorithms for Short-Range Molecular Dynamics, J Comp Phys, 117, 1-19 (1995). <http://www.sandia.gov/~sjplimp/papers/jcompphys95.pdf>`_
|
`S. Plimpton, Fast Parallel Algorithms for Short-Range Molecular Dynamics, J Comp Phys, 117, 1-19 (1995). <https://doi.org/10.1006/jcph.1995.1039>`_
|
||||||
|
|
||||||
|
|
||||||
DOI for the LAMMPS source code
|
DOI for the LAMMPS source code
|
||||||
|
|||||||
@ -95,7 +95,7 @@ commands)
|
|||||||
* metal-organic framework potentials (QuickFF, MO-FF)
|
* metal-organic framework potentials (QuickFF, MO-FF)
|
||||||
* implicit solvent potentials: hydrodynamic lubrication, Debye
|
* implicit solvent potentials: hydrodynamic lubrication, Debye
|
||||||
* force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options
|
* force-field compatibility with common CHARMM, AMBER, DREIDING, OPLS, GROMACS, COMPASS options
|
||||||
* access to the `OpenKIM Repository <http://openkim.org>`_ of potentials via :doc:`kim command <kim_commands>`
|
* access to the `OpenKIM Repository <https://openkim.org>`_ of potentials via the :doc:`kim command <kim_commands>`
|
||||||
* hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
|
* hybrid potentials: multiple pair, bond, angle, dihedral, improper potentials can be used in one simulation
|
||||||
* overlaid potentials: superposition of multiple pair potentials (including many-body) with optional scale factor
|
* overlaid potentials: superposition of multiple pair potentials (including many-body) with optional scale factor
|
||||||
|
|
||||||
@ -205,7 +205,7 @@ Pre- and post-processing
|
|||||||
|
|
||||||
.. _pizza: https://lammps.github.io/pizza
|
.. _pizza: https://lammps.github.io/pizza
|
||||||
|
|
||||||
.. _python: http://www.python.org
|
.. _python: https://www.python.org
|
||||||
|
|
||||||
.. _special:
|
.. _special:
|
||||||
|
|
||||||
|
|||||||
@ -33,7 +33,7 @@ Here are suggestions on how to perform these tasks:
|
|||||||
linear bead-spring polymer chains. The moltemplate program is a true
|
linear bead-spring polymer chains. The moltemplate program is a true
|
||||||
molecular builder that will generate complex molecular models. See
|
molecular builder that will generate complex molecular models. See
|
||||||
the :doc:`Tools <Tools>` page for details on tools packaged with
|
the :doc:`Tools <Tools>` page for details on tools packaged with
|
||||||
LAMMPS. The `Pre/post processing page <http:/www.lammps.org/prepost.html>`_ of the LAMMPS website
|
LAMMPS. The `Pre/post processing page <https:/www.lammps.org/prepost.html>`_ of the LAMMPS website
|
||||||
describes a variety of third party tools for this task. Furthermore,
|
describes a variety of third party tools for this task. Furthermore,
|
||||||
some LAMMPS internal commands allow to reconstruct, or selectively add
|
some LAMMPS internal commands allow to reconstruct, or selectively add
|
||||||
topology information, as well as provide the option to insert molecule
|
topology information, as well as provide the option to insert molecule
|
||||||
@ -80,5 +80,5 @@ Here are suggestions on how to perform these tasks:
|
|||||||
`Pizza.py <https://lammps.github.io/pizza>`_ which can do certain kinds of
|
`Pizza.py <https://lammps.github.io/pizza>`_ which can do certain kinds of
|
||||||
setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS
|
setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS
|
||||||
simulations. It thus provides some functionality for several of the
|
simulations. It thus provides some functionality for several of the
|
||||||
above bullets. Pizza.py is written in `Python <http://www.python.org>`_
|
above bullets. Pizza.py is written in `Python <https://www.python.org>`_
|
||||||
and is available for download from `this page <http://www.cs.sandia.gov/~sjplimp/download.html>`_.
|
and is available for download from `this page <https://sjplimp.github.io/download.html>`_.
|
||||||
|
|||||||
@ -23,9 +23,9 @@ applies to LAMMPS is in the LICENSE file included in the LAMMPS distribution.
|
|||||||
|
|
||||||
.. _lgpl: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
|
.. _lgpl: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
|
||||||
|
|
||||||
.. _gnuorg: http://www.gnu.org
|
.. _gnuorg: https://www.gnu.org
|
||||||
|
|
||||||
.. _opensource: http://www.opensource.org
|
.. _opensource: https://www.opensource.org
|
||||||
|
|
||||||
Here is a more specific summary of what the GPL means for LAMMPS users:
|
Here is a more specific summary of what the GPL means for LAMMPS users:
|
||||||
|
|
||||||
|
|||||||
BIN
doc/src/JPG/dump.peri.2000.png
Normal file
BIN
doc/src/JPG/dump.peri.2000.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 200 KiB |
BIN
doc/src/JPG/dump.peri.300.png
Normal file
BIN
doc/src/JPG/dump.peri.300.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 144 KiB |
BIN
doc/src/JPG/dump.peri.600.png
Normal file
BIN
doc/src/JPG/dump.peri.600.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 157 KiB |
BIN
doc/src/JPG/ovito-peri-snap.png
Normal file
BIN
doc/src/JPG/ovito-peri-snap.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 494 KiB |
BIN
doc/src/JPG/pdlammps_fig1.png
Normal file
BIN
doc/src/JPG/pdlammps_fig1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 160 KiB |
BIN
doc/src/JPG/pdlammps_fig2.png
Normal file
BIN
doc/src/JPG/pdlammps_fig2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 MiB |
@ -11,6 +11,7 @@ This section documents the following functions:
|
|||||||
- :cpp:func:`lammps_mpi_finalize`
|
- :cpp:func:`lammps_mpi_finalize`
|
||||||
- :cpp:func:`lammps_kokkos_finalize`
|
- :cpp:func:`lammps_kokkos_finalize`
|
||||||
- :cpp:func:`lammps_python_finalize`
|
- :cpp:func:`lammps_python_finalize`
|
||||||
|
- :cpp:func:`lammps_error`
|
||||||
|
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
@ -115,3 +116,8 @@ calling program.
|
|||||||
|
|
||||||
.. doxygenfunction:: lammps_python_finalize
|
.. doxygenfunction:: lammps_python_finalize
|
||||||
:project: progguide
|
:project: progguide
|
||||||
|
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
.. doxygenfunction:: lammps_error
|
||||||
|
:project: progguide
|
||||||
|
|||||||
@ -6,6 +6,7 @@ fixes, or variables in LAMMPS using the following functions:
|
|||||||
|
|
||||||
- :cpp:func:`lammps_extract_compute`
|
- :cpp:func:`lammps_extract_compute`
|
||||||
- :cpp:func:`lammps_extract_fix`
|
- :cpp:func:`lammps_extract_fix`
|
||||||
|
- :cpp:func:`lammps_extract_variable_datatype`
|
||||||
- :cpp:func:`lammps_extract_variable`
|
- :cpp:func:`lammps_extract_variable`
|
||||||
- :cpp:func:`lammps_set_variable`
|
- :cpp:func:`lammps_set_variable`
|
||||||
|
|
||||||
@ -21,6 +22,11 @@ fixes, or variables in LAMMPS using the following functions:
|
|||||||
|
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
.. doxygenfunction:: lammps_extract_variable_datatype
|
||||||
|
:project: progguide
|
||||||
|
|
||||||
|
-----------------------
|
||||||
|
|
||||||
.. doxygenfunction:: lammps_extract_variable
|
.. doxygenfunction:: lammps_extract_variable
|
||||||
:project: progguide
|
:project: progguide
|
||||||
|
|
||||||
@ -36,3 +42,5 @@ fixes, or variables in LAMMPS using the following functions:
|
|||||||
.. doxygenenum:: _LMP_STYLE_CONST
|
.. doxygenenum:: _LMP_STYLE_CONST
|
||||||
|
|
||||||
.. doxygenenum:: _LMP_TYPE_CONST
|
.. doxygenenum:: _LMP_TYPE_CONST
|
||||||
|
|
||||||
|
.. doxygenenum:: _LMP_VAR_CONST
|
||||||
|
|||||||
@ -15,21 +15,21 @@ This section documents the following functions:
|
|||||||
|
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
The library interface allows extraction of different kinds of
|
The library interface allows the extraction of different kinds of
|
||||||
information about the active simulation instance and also
|
information about the active simulation instance and also---in some
|
||||||
modifications to it. This enables combining of a LAMMPS simulation
|
cases---to apply modifications to it. This enables combining of a
|
||||||
with other processing and simulation methods computed by the calling
|
LAMMPS simulation with other processing and simulation methods computed
|
||||||
code, or by another code that is coupled to LAMMPS via the library
|
by the calling code, or by another code that is coupled to LAMMPS via
|
||||||
interface. In some cases the data returned is direct reference to the
|
the library interface. In some cases the data returned is direct
|
||||||
original data inside LAMMPS, cast to a void pointer. In that case the
|
reference to the original data inside LAMMPS, cast to a void pointer.
|
||||||
data needs to be cast to a suitable pointer for the calling program to
|
In that case the data needs to be cast to a suitable pointer for the
|
||||||
access it, and you may need to know the correct dimensions and
|
calling program to access it, and you may need to know the correct
|
||||||
lengths. This also means you can directly change those value(s) from
|
dimensions and lengths. This also means you can directly change those
|
||||||
the calling program, e.g. to modify atom positions. Of course, this
|
value(s) from the calling program (e.g., to modify atom positions). Of
|
||||||
should be done with care. When accessing per-atom data, please note
|
course, changing values should be done with care. When accessing per-atom
|
||||||
that this data is the per-processor **local** data and is indexed
|
data, please note that these data are the per-processor **local** data and are
|
||||||
accordingly. Per-atom data can change sizes and ordering at every
|
indexed accordingly. Per-atom data can change sizes and ordering at
|
||||||
neighbor list rebuild or atom sort event as atoms migrate between
|
every neighbor list rebuild or atom sort event as atoms migrate between
|
||||||
sub-domains and processors.
|
sub-domains and processors.
|
||||||
|
|
||||||
.. code-block:: C
|
.. code-block:: C
|
||||||
|
|||||||
@ -19,6 +19,7 @@ functions. They do not directly call the LAMMPS library.
|
|||||||
- :cpp:func:`lammps_force_timeout`
|
- :cpp:func:`lammps_force_timeout`
|
||||||
- :cpp:func:`lammps_has_error`
|
- :cpp:func:`lammps_has_error`
|
||||||
- :cpp:func:`lammps_get_last_error_message`
|
- :cpp:func:`lammps_get_last_error_message`
|
||||||
|
- :cpp:func:`lammps_python_api_version`
|
||||||
|
|
||||||
The :cpp:func:`lammps_free` function is a clean-up function to free
|
The :cpp:func:`lammps_free` function is a clean-up function to free
|
||||||
memory that the library had allocated previously via other function
|
memory that the library had allocated previously via other function
|
||||||
@ -100,3 +101,9 @@ where such memory buffers were allocated that require the use of
|
|||||||
|
|
||||||
.. doxygenfunction:: lammps_get_last_error_message
|
.. doxygenfunction:: lammps_get_last_error_message
|
||||||
:project: progguide
|
:project: progguide
|
||||||
|
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
.. doxygenfunction:: lammps_python_api_version
|
||||||
|
:project: progguide
|
||||||
|
|
||||||
|
|||||||
@ -134,6 +134,8 @@ commands to write and read data using the ADIOS library.
|
|||||||
|
|
||||||
**Authors:** Norbert Podhorszki (ORNL) from the ADIOS developer team.
|
**Authors:** Norbert Podhorszki (ORNL) from the ADIOS developer team.
|
||||||
|
|
||||||
|
.. versionadded:: 28Feb2019
|
||||||
|
|
||||||
**Install:**
|
**Install:**
|
||||||
|
|
||||||
This package has :ref:`specific installation instructions <adios>` on the :doc:`Build extras <Build_extras>` page.
|
This package has :ref:`specific installation instructions <adios>` on the :doc:`Build extras <Build_extras>` page.
|
||||||
@ -364,6 +366,8 @@ and also support self-propelled particles.
|
|||||||
**Authors:** Sam Cameron (University of Bristol),
|
**Authors:** Sam Cameron (University of Bristol),
|
||||||
Stefan Paquay (while at Brandeis University) (initial version of fix propel/self)
|
Stefan Paquay (while at Brandeis University) (initial version of fix propel/self)
|
||||||
|
|
||||||
|
.. versionadded:: 14May2021
|
||||||
|
|
||||||
Example inputs are in the examples/PACKAGES/brownian folder.
|
Example inputs are in the examples/PACKAGES/brownian folder.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
@ -592,6 +596,8 @@ To use this package, also the :ref:`KSPACE <PKG-KSPACE>` and
|
|||||||
|
|
||||||
**Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U)
|
**Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U)
|
||||||
|
|
||||||
|
.. versionadded:: 2Jul2021
|
||||||
|
|
||||||
**Supporting info:**
|
**Supporting info:**
|
||||||
|
|
||||||
* src/DIELECTRIC: filenames -> commands
|
* src/DIELECTRIC: filenames -> commands
|
||||||
@ -1071,7 +1077,7 @@ H5MD is a format for molecular simulations, built on top of HDF5.
|
|||||||
This package implements a :doc:`dump h5md <dump_h5md>` command to output
|
This package implements a :doc:`dump h5md <dump_h5md>` command to output
|
||||||
LAMMPS snapshots in this format.
|
LAMMPS snapshots in this format.
|
||||||
|
|
||||||
.. _HDF5: http://www.hdfgroup.org/HDF5
|
.. _HDF5: https://www.hdfgroup.org/solutions/hdf5
|
||||||
|
|
||||||
To use this package you must have the HDF5 library available on your
|
To use this package you must have the HDF5 library available on your
|
||||||
system.
|
system.
|
||||||
@ -1512,6 +1518,8 @@ workflows via the `MolSSI Driver Interface
|
|||||||
|
|
||||||
**Author:** Taylor Barnes - MolSSI, taylor.a.barnes at gmail.com
|
**Author:** Taylor Barnes - MolSSI, taylor.a.barnes at gmail.com
|
||||||
|
|
||||||
|
.. versionadded:: 14May2021
|
||||||
|
|
||||||
**Install:**
|
**Install:**
|
||||||
|
|
||||||
This package has :ref:`specific installation instructions <mdi>` on
|
This package has :ref:`specific installation instructions <mdi>` on
|
||||||
@ -1596,6 +1604,8 @@ of Alabama), Leonid V. Zhigilei (University of Virginia)
|
|||||||
**Author of the *mesocnt* styles:**
|
**Author of the *mesocnt* styles:**
|
||||||
Philipp Kloza (U Cambridge)
|
Philipp Kloza (U Cambridge)
|
||||||
|
|
||||||
|
.. versionadded:: 15Jun2020
|
||||||
|
|
||||||
**Supporting info:**
|
**Supporting info:**
|
||||||
|
|
||||||
* src/MESONT: filenames -> commands
|
* src/MESONT: filenames -> commands
|
||||||
@ -1688,6 +1698,8 @@ compiled on your system.
|
|||||||
|
|
||||||
**Author:** Andreas Singraber
|
**Author:** Andreas Singraber
|
||||||
|
|
||||||
|
.. versionadded:: 27May2021
|
||||||
|
|
||||||
**Install:**
|
**Install:**
|
||||||
|
|
||||||
This package has :ref:`specific installation instructions <ml-hdnnp>` on the
|
This package has :ref:`specific installation instructions <ml-hdnnp>` on the
|
||||||
@ -1722,6 +1734,10 @@ must be installed.
|
|||||||
|
|
||||||
**Author:** Aidan Thompson (Sandia), Nicholas Lubbers (LANL).
|
**Author:** Aidan Thompson (Sandia), Nicholas Lubbers (LANL).
|
||||||
|
|
||||||
|
.. versionadded:: 30Jun2020
|
||||||
|
|
||||||
|
.. versionadded:: 30Jun2020
|
||||||
|
|
||||||
**Supporting info:**
|
**Supporting info:**
|
||||||
|
|
||||||
* src/ML-IAP: filenames -> commands
|
* src/ML-IAP: filenames -> commands
|
||||||
@ -1766,6 +1782,8 @@ Aidan Thompson^3, Gabor Csanyi^2, Christoph Ortner^4, Ralf Drautz^1.
|
|||||||
|
|
||||||
^4: University of British Columbia, Vancouver, BC, Canada
|
^4: University of British Columbia, Vancouver, BC, Canada
|
||||||
|
|
||||||
|
.. versionadded:: 14May2021
|
||||||
|
|
||||||
**Install:**
|
**Install:**
|
||||||
|
|
||||||
This package has :ref:`specific installation instructions <ml-pace>` on the
|
This package has :ref:`specific installation instructions <ml-pace>` on the
|
||||||
@ -1829,6 +1847,8 @@ of a neural network.
|
|||||||
This package was written by Christopher Barrett
|
This package was written by Christopher Barrett
|
||||||
with contributions by Doyl Dickel, Mississippi State University.
|
with contributions by Doyl Dickel, Mississippi State University.
|
||||||
|
|
||||||
|
.. versionadded:: 27May2021
|
||||||
|
|
||||||
**Supporting info:**
|
**Supporting info:**
|
||||||
|
|
||||||
* src/ML-RANN: filenames -> commands
|
* src/ML-RANN: filenames -> commands
|
||||||
@ -1954,7 +1974,7 @@ support for new file formats can be added to LAMMPS (or VMD or other
|
|||||||
programs that use them) without having to re-compile the application
|
programs that use them) without having to re-compile the application
|
||||||
itself. More information about the VMD molfile plugins can be found
|
itself. More information about the VMD molfile plugins can be found
|
||||||
at
|
at
|
||||||
`http://www.ks.uiuc.edu/Research/vmd/plugins/molfile <http://www.ks.uiuc.edu/Research/vmd/plugins/molfile>`_.
|
`https://www.ks.uiuc.edu/Research/vmd/plugins/molfile <https://www.ks.uiuc.edu/Research/vmd/plugins/molfile>`_.
|
||||||
|
|
||||||
**Author:** Axel Kohlmeyer (Temple U).
|
**Author:** Axel Kohlmeyer (Temple U).
|
||||||
|
|
||||||
@ -2045,7 +2065,7 @@ NETCDF package
|
|||||||
Dump styles for writing NetCDF formatted dump files. NetCDF is a
|
Dump styles for writing NetCDF formatted dump files. NetCDF is a
|
||||||
portable, binary, self-describing file format developed on top of
|
portable, binary, self-describing file format developed on top of
|
||||||
HDF5. The file contents follow the AMBER NetCDF trajectory conventions
|
HDF5. The file contents follow the AMBER NetCDF trajectory conventions
|
||||||
(http://ambermd.org/netcdf/nctraj.xhtml), but include extensions.
|
(https://ambermd.org/netcdf/nctraj.xhtml), but include extensions.
|
||||||
|
|
||||||
To use this package you must have the NetCDF library available on your
|
To use this package you must have the NetCDF library available on your
|
||||||
system.
|
system.
|
||||||
@ -2056,7 +2076,7 @@ tools:
|
|||||||
* `Ovito <ovito_>`_ (Ovito supports the AMBER convention and the extensions mentioned above)
|
* `Ovito <ovito_>`_ (Ovito supports the AMBER convention and the extensions mentioned above)
|
||||||
* `VMD <vmd-home_>`_
|
* `VMD <vmd-home_>`_
|
||||||
|
|
||||||
.. _ovito: http://www.ovito.org
|
.. _ovito: https://www.ovito.org
|
||||||
|
|
||||||
.. _vmd-home: https://www.ks.uiuc.edu/Research/vmd/
|
.. _vmd-home: https://www.ks.uiuc.edu/Research/vmd/
|
||||||
|
|
||||||
@ -2200,6 +2220,7 @@ Foster (UTSA).
|
|||||||
**Supporting info:**
|
**Supporting info:**
|
||||||
|
|
||||||
* src/PERI: filenames -> commands
|
* src/PERI: filenames -> commands
|
||||||
|
* :doc:`Peridynamics Howto <Howto_peri>`
|
||||||
* `doc/PDF/PDLammps_overview.pdf <PDF/PDLammps_overview.pdf>`_
|
* `doc/PDF/PDLammps_overview.pdf <PDF/PDLammps_overview.pdf>`_
|
||||||
* `doc/PDF/PDLammps_EPS.pdf <PDF/PDLammps_EPS.pdf>`_
|
* `doc/PDF/PDLammps_EPS.pdf <PDF/PDLammps_EPS.pdf>`_
|
||||||
* `doc/PDF/PDLammps_VES.pdf <PDF/PDLammps_VES.pdf>`_
|
* `doc/PDF/PDLammps_VES.pdf <PDF/PDLammps_VES.pdf>`_
|
||||||
@ -2264,6 +2285,8 @@ try to load the contained plugins automatically at start-up.
|
|||||||
|
|
||||||
**Authors:** Axel Kohlmeyer (Temple U)
|
**Authors:** Axel Kohlmeyer (Temple U)
|
||||||
|
|
||||||
|
.. versionadded:: 8Apr2021
|
||||||
|
|
||||||
**Supporting info:**
|
**Supporting info:**
|
||||||
|
|
||||||
* src/PLUGIN: filenames -> commands
|
* src/PLUGIN: filenames -> commands
|
||||||
@ -2417,7 +2440,7 @@ A :doc:`fix qmmm <fix_qmmm>` command which allows LAMMPS to be used as
|
|||||||
the MM code in a QM/MM simulation. This is currently only available
|
the MM code in a QM/MM simulation. This is currently only available
|
||||||
in combination with the `Quantum ESPRESSO <espresso_>`_ package.
|
in combination with the `Quantum ESPRESSO <espresso_>`_ package.
|
||||||
|
|
||||||
.. _espresso: http://www.quantum-espresso.org
|
.. _espresso: https://www.quantum-espresso.org
|
||||||
|
|
||||||
To use this package you must have Quantum ESPRESSO (QE) available on
|
To use this package you must have Quantum ESPRESSO (QE) available on
|
||||||
your system and include its coupling library in the compilation and
|
your system and include its coupling library in the compilation and
|
||||||
@ -2829,7 +2852,7 @@ collection of atoms by wrapping the `Voro++ library <voro-home_>`_. This
|
|||||||
can be used to calculate the local volume or each atoms or its near
|
can be used to calculate the local volume or each atoms or its near
|
||||||
neighbors.
|
neighbors.
|
||||||
|
|
||||||
.. _voro-home: http://math.lbl.gov/voro++
|
.. _voro-home: https://math.lbl.gov/voro++
|
||||||
|
|
||||||
To use this package you must have the Voro++ library available on your
|
To use this package you must have the Voro++ library available on your
|
||||||
system.
|
system.
|
||||||
@ -2863,9 +2886,9 @@ A :doc:`dump vtk <dump_vtk>` command which outputs snapshot info in the
|
|||||||
`VTK format <vtk_>`_, enabling visualization by `Paraview <paraview_>`_ or
|
`VTK format <vtk_>`_, enabling visualization by `Paraview <paraview_>`_ or
|
||||||
other visualization packages.
|
other visualization packages.
|
||||||
|
|
||||||
.. _vtk: http://www.vtk.org
|
.. _vtk: https://www.vtk.org
|
||||||
|
|
||||||
.. _paraview: http://www.paraview.org
|
.. _paraview: https://www.paraview.org
|
||||||
|
|
||||||
To use this package you must have VTK library available on your
|
To use this package you must have VTK library available on your
|
||||||
system.
|
system.
|
||||||
@ -2902,11 +2925,13 @@ which discuss the `QuickFF <quickff_>`_ methodology.
|
|||||||
|
|
||||||
.. _vanduyfhuys2015: https://doi.org/10.1002/jcc.23877
|
.. _vanduyfhuys2015: https://doi.org/10.1002/jcc.23877
|
||||||
.. _vanduyfhuys2018: https://doi.org/10.1002/jcc.25173
|
.. _vanduyfhuys2018: https://doi.org/10.1002/jcc.25173
|
||||||
.. _quickff: http://molmod.github.io/QuickFF
|
.. _quickff: https://molmod.github.io/QuickFF
|
||||||
.. _yaff: https://github.com/molmod/yaff
|
.. _yaff: https://github.com/molmod/yaff
|
||||||
|
|
||||||
**Author:** Steven Vandenbrande.
|
**Author:** Steven Vandenbrande.
|
||||||
|
|
||||||
|
.. versionadded:: 1Feb2019
|
||||||
|
|
||||||
**Supporting info:**
|
**Supporting info:**
|
||||||
|
|
||||||
* src/YAFF/README
|
* src/YAFF/README
|
||||||
|
|||||||
@ -43,26 +43,18 @@ Note that for AtomEye, you need version 3, and there is a line in the
|
|||||||
scripts that specifies the path and name of the executable. See the
|
scripts that specifies the path and name of the executable. See the
|
||||||
AtomEye web pages for more details:
|
AtomEye web pages for more details:
|
||||||
|
|
||||||
* `http://li.mit.edu/Archive/Graphics/A/ <atomeye_>`_
|
* `http://li.mit.edu/Archive/Graphics/A/ <http://li.mit.edu/Archive/Graphics/A/>`_
|
||||||
* `http://li.mit.edu/Archive/Graphics/A3/A3.html <atomeye3_>`_
|
* `http://li.mit.edu/Archive/Graphics/A3/A3.html <http://li.mit.edu/Archive/Graphics/A3/A3.html>`_
|
||||||
|
|
||||||
.. _atomeye: http://li.mit.edu/Archive/Graphics/A/
|
The latter link is to AtomEye 3 which has the scripting capability
|
||||||
|
needed by these Python scripts.
|
||||||
.. _atomeye3: http://li.mit.edu/Archive/Graphics/A3/A3.html
|
|
||||||
|
|
||||||
The latter link is to AtomEye 3 which has the scripting
|
|
||||||
capability needed by these Python scripts.
|
|
||||||
|
|
||||||
Note that for PyMol, you need to have built and installed the
|
Note that for PyMol, you need to have built and installed the
|
||||||
open-source version of PyMol in your Python, so that you can import it
|
open-source version of PyMol in your Python, so that you can import it
|
||||||
from a Python script. See the PyMol web pages for more details:
|
from a Python script. See the PyMol web pages for more details:
|
||||||
|
|
||||||
* `https://www.pymol.org <pymolhome_>`_
|
* `https://www.pymol.org <https://www.pymol.org>`_
|
||||||
* `https://github.com/schrodinger/pymol-open-source <pymolopen_>`_
|
* `https://github.com/schrodinger/pymol-open-source <https://github.com/schrodinger/pymol-open-source>`_
|
||||||
|
|
||||||
.. _pymolhome: https://www.pymol.org
|
|
||||||
|
|
||||||
.. _pymolopen: https://github.com/schrodinger/pymol-open-source
|
|
||||||
|
|
||||||
The latter link is to the open-source version.
|
The latter link is to the open-source version.
|
||||||
|
|
||||||
|
|||||||
@ -18,17 +18,17 @@ together.
|
|||||||
Python_error
|
Python_error
|
||||||
Python_trouble
|
Python_trouble
|
||||||
|
|
||||||
If you are not familiar with `Python <http://www.python.org>`_, it is a
|
If you are not familiar with `Python <https://www.python.org>`_, it is a
|
||||||
powerful scripting and programming language which can do almost
|
powerful scripting and programming language which can do almost
|
||||||
everything that compiled languages like C, C++, or Fortran can do in
|
everything that compiled languages like C, C++, or Fortran can do in
|
||||||
fewer lines of code. It also comes with a large collection of add-on
|
fewer lines of code. It also comes with a large collection of add-on
|
||||||
modules for many purposes (either bundled or easily installed from
|
modules for many purposes (either bundled or easily installed from
|
||||||
Python code repositories). The major drawback is slower execution speed
|
Python code repositories). The major drawback is slower execution speed
|
||||||
of the script code compared to compiled programming languages. But when
|
of the script code compared to compiled programming languages. But when
|
||||||
the script code is interfaced to optimized compiled code, performance can
|
the script code is interfaced to optimized compiled code, performance
|
||||||
be on par with a standalone executable, for as long as the scripting is
|
can be on par with a standalone executable, for as long as the scripting
|
||||||
restricted to high-level operations. Thus Python is also convenient to
|
is restricted to high-level operations. Thus Python is also convenient
|
||||||
use as a "glue" language to "drive" a program through its library
|
to use as a "glue" language to "drive" a program through its library
|
||||||
interface, or to hook multiple pieces of software together, such as a
|
interface, or to hook multiple pieces of software together, such as a
|
||||||
simulation code and a visualization tool, or to run a coupled
|
simulation code and a visualization tool, or to run a coupled
|
||||||
multi-scale or multi-physics model.
|
multi-scale or multi-physics model.
|
||||||
|
|||||||
@ -38,6 +38,40 @@ using the NumPy access method.
|
|||||||
for n in np.nditer(nlist):
|
for n in np.nditer(nlist):
|
||||||
print(" atom {} with ID {}".format(n,tags[n]))
|
print(" atom {} with ID {}".format(n,tags[n]))
|
||||||
|
|
||||||
|
Another example for extracting a full neighbor list without evaluating a
|
||||||
|
potential is shown below.
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
from lammps import lammps
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
lmp = lammps()
|
||||||
|
lmp.commands_string("""
|
||||||
|
newton off
|
||||||
|
region box block -2 2 -2 2 -2 2
|
||||||
|
lattice fcc 1.0
|
||||||
|
create_box 1 box
|
||||||
|
create_atoms 1 box
|
||||||
|
mass 1 1.0
|
||||||
|
pair_style zero 1.0 full
|
||||||
|
pair_coeff * *
|
||||||
|
run 0 post no""")
|
||||||
|
|
||||||
|
# look up the neighbor list
|
||||||
|
nlidx = lmp.find_pair_neighlist('zero')
|
||||||
|
nl = lmp.numpy.get_neighlist(nlidx)
|
||||||
|
tags = lmp.extract_atom('id')
|
||||||
|
print("full neighbor list with {} entries".format(nl.size))
|
||||||
|
# print neighbor list contents
|
||||||
|
for i in range(0,nl.size):
|
||||||
|
idx, nlist = nl.get(i)
|
||||||
|
print("\natom {} with ID {} has {} neighbors:".format(idx,tags[idx],nlist.size))
|
||||||
|
if nlist.size > 0:
|
||||||
|
for n in np.nditer(nlist):
|
||||||
|
pass
|
||||||
|
print(" atom {} with ID {}".format(n,tags[n]))
|
||||||
|
|
||||||
**Methods:**
|
**Methods:**
|
||||||
|
|
||||||
* :py:meth:`lammps.get_neighlist() <lammps.lammps.get_neighlist()>`: Get neighbor list for given index
|
* :py:meth:`lammps.get_neighlist() <lammps.lammps.get_neighlist()>`: Get neighbor list for given index
|
||||||
|
|||||||
@ -30,12 +30,13 @@ executable itself can be placed elsewhere.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
The redirection operator "<" will not always work when running
|
The redirection operator "<" will not always work when running in
|
||||||
in parallel with mpirun or mpiexec; for those systems the -in form is required.
|
parallel with ``mpirun`` or ``mpiexec``; for those systems the -in
|
||||||
|
form is required.
|
||||||
|
|
||||||
As LAMMPS runs it prints info to the screen and a logfile named
|
As LAMMPS runs it prints info to the screen and a logfile named
|
||||||
*log.lammps*\ . More info about output is given on the
|
*log.lammps*\ . More info about output is given on the :doc:`screen and
|
||||||
:doc:`screen and logfile output <Run_output>` page.
|
logfile output <Run_output>` page.
|
||||||
|
|
||||||
If LAMMPS encounters errors in the input script or while running a
|
If LAMMPS encounters errors in the input script or while running a
|
||||||
simulation it will print an ERROR message and stop or a WARNING
|
simulation it will print an ERROR message and stop or a WARNING
|
||||||
|
|||||||
@ -93,13 +93,13 @@ switch is not set (the default), LAMMPS will operate as if the KOKKOS
|
|||||||
package were not installed; i.e. you can run standard LAMMPS or with
|
package were not installed; i.e. you can run standard LAMMPS or with
|
||||||
the GPU or OPENMP packages, for testing or benchmarking purposes.
|
the GPU or OPENMP packages, for testing or benchmarking purposes.
|
||||||
|
|
||||||
Additional optional keyword/value pairs can be specified which
|
Additional optional keyword/value pairs can be specified which determine
|
||||||
determine how Kokkos will use the underlying hardware on your
|
how Kokkos will use the underlying hardware on your platform. These
|
||||||
platform. These settings apply to each MPI task you launch via the
|
settings apply to each MPI task you launch via the ``mpirun`` or
|
||||||
"mpirun" or "mpiexec" command. You may choose to run one or more MPI
|
``mpiexec`` command. You may choose to run one or more MPI tasks per
|
||||||
tasks per physical node. Note that if you are running on a desktop
|
physical node. Note that if you are running on a desktop machine, you
|
||||||
machine, you typically have one physical node. On a cluster or
|
typically have one physical node. On a cluster or supercomputer there
|
||||||
supercomputer there may be dozens or 1000s of physical nodes.
|
may be dozens or 1000s of physical nodes.
|
||||||
|
|
||||||
Either the full word or an abbreviation can be used for the keywords.
|
Either the full word or an abbreviation can be used for the keywords.
|
||||||
Note that the keywords do not use a leading minus sign. I.e. the
|
Note that the keywords do not use a leading minus sign. I.e. the
|
||||||
@ -148,9 +148,9 @@ one of these 4 environment variables
|
|||||||
MV2_COMM_WORLD_LOCAL_RANK (Mvapich)
|
MV2_COMM_WORLD_LOCAL_RANK (Mvapich)
|
||||||
OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI)
|
OMPI_COMM_WORLD_LOCAL_RANK (OpenMPI)
|
||||||
|
|
||||||
which are initialized by the "srun", "mpirun" or "mpiexec" commands.
|
which are initialized by the ``srun``, ``mpirun``, or ``mpiexec``
|
||||||
The environment variable setting for each MPI rank is used to assign a
|
commands. The environment variable setting for each MPI rank is used to
|
||||||
unique GPU ID to the MPI task.
|
assign a unique GPU ID to the MPI task.
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
|
|||||||
@ -25,8 +25,8 @@ in parallel, follow these steps.
|
|||||||
|
|
||||||
Download and install a compatible MPI library binary package:
|
Download and install a compatible MPI library binary package:
|
||||||
|
|
||||||
* for 32-bit Windows: `mpich2-1.4.1p1-win-ia32.msi <http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi>`_
|
* for 32-bit Windows: `mpich2-1.4.1p1-win-ia32.msi <https://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi>`_
|
||||||
* for 64-bit Windows: `mpich2-1.4.1p1-win-x86-64.msi <http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi>`_
|
* for 64-bit Windows: `mpich2-1.4.1p1-win-x86-64.msi <https://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi>`_
|
||||||
|
|
||||||
The LAMMPS Windows installer packages will automatically adjust your
|
The LAMMPS Windows installer packages will automatically adjust your
|
||||||
path for the default location of this MPI package. After the
|
path for the default location of this MPI package. After the
|
||||||
|
|||||||
@ -39,7 +39,7 @@ toolkit software on your system (this is only tested on Linux
|
|||||||
and unsupported on Windows):
|
and unsupported on Windows):
|
||||||
|
|
||||||
* Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/\*/information
|
* Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/\*/information
|
||||||
* Go to http://www.nvidia.com/object/cuda_get.html
|
* Go to https://developer.nvidia.com/cuda-downloads
|
||||||
* Install a driver and toolkit appropriate for your system (SDK is not necessary)
|
* Install a driver and toolkit appropriate for your system (SDK is not necessary)
|
||||||
* Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to
|
* Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to
|
||||||
list supported devices and properties
|
list supported devices and properties
|
||||||
@ -76,10 +76,11 @@ instructions.
|
|||||||
|
|
||||||
**Run with the GPU package from the command line:**
|
**Run with the GPU package from the command line:**
|
||||||
|
|
||||||
The mpirun or mpiexec command sets the total number of MPI tasks used
|
The ``mpirun`` or ``mpiexec`` command sets the total number of MPI tasks
|
||||||
by LAMMPS (one or multiple per compute node) and the number of MPI
|
used by LAMMPS (one or multiple per compute node) and the number of MPI
|
||||||
tasks used per node. E.g. the mpirun command in MPICH does this via
|
tasks used per node. E.g. the ``mpirun`` command in MPICH does this via
|
||||||
its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.
|
its ``-np`` and ``-ppn`` switches. Ditto for OpenMPI via ``-np`` and
|
||||||
|
``-npernode``.
|
||||||
|
|
||||||
When using the GPU package, you cannot assign more than one GPU to a
|
When using the GPU package, you cannot assign more than one GPU to a
|
||||||
single MPI task. However multiple MPI tasks can share the same GPU,
|
single MPI task. However multiple MPI tasks can share the same GPU,
|
||||||
@ -129,8 +130,8 @@ GPU package pair styles.
|
|||||||
|
|
||||||
**Or run with the GPU package by editing an input script:**
|
**Or run with the GPU package by editing an input script:**
|
||||||
|
|
||||||
The discussion above for the mpirun/mpiexec command, MPI tasks/node,
|
The discussion above for the ``mpirun`` or ``mpiexec`` command, MPI
|
||||||
and use of multiple MPI tasks/GPU is the same.
|
tasks/node, and use of multiple MPI tasks/GPU is the same.
|
||||||
|
|
||||||
Use the :doc:`suffix gpu <suffix>` command, or you can explicitly add an
|
Use the :doc:`suffix gpu <suffix>` command, or you can explicitly add an
|
||||||
"gpu" suffix to individual styles in your input script, e.g.
|
"gpu" suffix to individual styles in your input script, e.g.
|
||||||
|
|||||||
@ -537,5 +537,5 @@ References
|
|||||||
""""""""""
|
""""""""""
|
||||||
|
|
||||||
* Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakkar, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., "Optimizing Classical Molecular Dynamics in LAMMPS", in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann.
|
* Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakkar, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., "Optimizing Classical Molecular Dynamics in LAMMPS", in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann.
|
||||||
* Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. `Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency. <http://dl.acm.org/citation.cfm?id=3014915>`_ 2016 High Performance Computing, Networking, Storage and Analysis, SC16: International Conference (pp. 82-95).
|
* Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. `Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency. <https://dl.acm.org/citation.cfm?id=3014915>`_ 2016 High Performance Computing, Networking, Storage and Analysis, SC16: International Conference (pp. 82-95).
|
||||||
* Brown, W.M., Carrillo, J.-M.Y., Gavhane, N., Thakkar, F.M., Plimpton, S.J. Optimizing Legacy Molecular Dynamics Software with Directive-Based Offload. Computer Physics Communications. 2015. 195: p. 95-101.
|
* Brown, W.M., Carrillo, J.-M.Y., Gavhane, N., Thakkar, F.M., Plimpton, S.J. Optimizing Legacy Molecular Dynamics Software with Directive-Based Offload. Computer Physics Communications. 2015. 195: p. 95-101.
|
||||||
|
|||||||
@ -72,12 +72,12 @@ See the :ref:`Build extras <kokkos>` page for instructions.
|
|||||||
Running LAMMPS with the KOKKOS package
|
Running LAMMPS with the KOKKOS package
|
||||||
""""""""""""""""""""""""""""""""""""""
|
""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
All Kokkos operations occur within the context of an individual MPI
|
All Kokkos operations occur within the context of an individual MPI task
|
||||||
task running on a single node of the machine. The total number of MPI
|
running on a single node of the machine. The total number of MPI tasks
|
||||||
tasks used by LAMMPS (one or multiple per compute node) is set in the
|
used by LAMMPS (one or multiple per compute node) is set in the usual
|
||||||
usual manner via the mpirun or mpiexec commands, and is independent of
|
manner via the ``mpirun`` or ``mpiexec`` commands, and is independent of
|
||||||
Kokkos. E.g. the mpirun command in OpenMPI does this via its -np and
|
Kokkos. E.g. the mpirun command in OpenMPI does this via its ``-np`` and
|
||||||
-npernode switches. Ditto for MPICH via -np and -ppn.
|
``-npernode`` switches. Ditto for MPICH via ``-np`` and ``-ppn``.
|
||||||
|
|
||||||
Running on a multi-core CPU
|
Running on a multi-core CPU
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
@ -168,7 +168,7 @@ for your MPI installation), binding can be forced with these flags:
|
|||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
OpenMPI 1.8: mpirun -np 2 --bind-to socket --map-by socket ./lmp_openmpi ...
|
OpenMPI 1.8: mpirun -np 2 --bind-to socket --map-by socket ./lmp_openmpi ...
|
||||||
Mvapich2 2.0: mpiexec -np 2 --bind-to socket --map-by socket ./lmp_mvapich ...
|
Mvapich2 2.0: mpiexec -np 2 --bind-to socket --map-by socket ./lmp_mvapich ...
|
||||||
|
|
||||||
For binding threads with KOKKOS OpenMP, use thread affinity environment
|
For binding threads with KOKKOS OpenMP, use thread affinity environment
|
||||||
@ -310,7 +310,8 @@ Alternatively the effect of the "-sf" or "-pk" switches can be
|
|||||||
duplicated by adding the :doc:`package kokkos <package>` or :doc:`suffix kk <suffix>` commands to your input script.
|
duplicated by adding the :doc:`package kokkos <package>` or :doc:`suffix kk <suffix>` commands to your input script.
|
||||||
|
|
||||||
The discussion above for building LAMMPS with the KOKKOS package, the
|
The discussion above for building LAMMPS with the KOKKOS package, the
|
||||||
mpirun/mpiexec command, and setting appropriate thread are the same.
|
``mpirun`` or ``mpiexec`` command, and setting appropriate thread
|
||||||
|
properties are the same.
|
||||||
|
|
||||||
You must still use the "-k on" :doc:`command-line switch <Run_options>`
|
You must still use the "-k on" :doc:`command-line switch <Run_options>`
|
||||||
to enable the KOKKOS package, and specify its additional arguments for
|
to enable the KOKKOS package, and specify its additional arguments for
|
||||||
|
|||||||
@ -33,8 +33,8 @@ These examples assume one or more 16-core nodes.
|
|||||||
mpirun -np 4 lmp_omp -sf omp -pk omp 4 -in in.script # 4 MPI tasks, 4 threads/task
|
mpirun -np 4 lmp_omp -sf omp -pk omp 4 -in in.script # 4 MPI tasks, 4 threads/task
|
||||||
mpirun -np 32 -ppn 4 lmp_omp -sf omp -pk omp 4 -in in.script # 8 nodes, 4 MPI tasks/node, 4 threads/task
|
mpirun -np 32 -ppn 4 lmp_omp -sf omp -pk omp 4 -in in.script # 8 nodes, 4 MPI tasks/node, 4 threads/task
|
||||||
|
|
||||||
The mpirun or mpiexec command sets the total number of MPI tasks used
|
The ``mpirun`` or ``mpiexec`` command sets the total number of MPI tasks
|
||||||
by LAMMPS (one or multiple per compute node) and the number of MPI
|
used by LAMMPS (one or multiple per compute node) and the number of MPI
|
||||||
tasks used per node. E.g. the mpirun command in MPICH does this via
|
tasks used per node. E.g. the mpirun command in MPICH does this via
|
||||||
its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.
|
its -np and -ppn switches. Ditto for OpenMPI via -np and -npernode.
|
||||||
|
|
||||||
@ -58,8 +58,8 @@ OMP_NUM_THREADS environment variable.
|
|||||||
Or run with the OPENMP package by editing an input script
|
Or run with the OPENMP package by editing an input script
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
The discussion above for the mpirun/mpiexec command, MPI tasks/node,
|
The discussion above for the ``mpirun`` or ``mpiexec`` command, MPI
|
||||||
and threads/MPI task is the same.
|
tasks/node, and threads/MPI task is the same.
|
||||||
|
|
||||||
Use the :doc:`suffix omp <suffix>` command, or you can explicitly add an
|
Use the :doc:`suffix omp <suffix>` command, or you can explicitly add an
|
||||||
"omp" suffix to individual styles in your input script, e.g.
|
"omp" suffix to individual styles in your input script, e.g.
|
||||||
@ -97,7 +97,7 @@ sub-section.
|
|||||||
|
|
||||||
A description of the multi-threading strategy used in the OPENMP
|
A description of the multi-threading strategy used in the OPENMP
|
||||||
package and some performance examples are
|
package and some performance examples are
|
||||||
`presented here <http://sites.google.com/site/akohlmey/software/lammps-icms/lammps-icms-tms2011-talk.pdf?attredirects=0&d=1>`_.
|
`presented here <https://drive.google.com/file/d/1d1gLK6Ru6aPYB50Ld2tO10Li8zgPVNB8/view?usp=sharing>`_.
|
||||||
|
|
||||||
Guidelines for best performance
|
Guidelines for best performance
|
||||||
"""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""
|
||||||
|
|||||||
@ -117,33 +117,15 @@ script.
|
|||||||
with all its accelerator packages installed. Note however that the
|
with all its accelerator packages installed. Note however that the
|
||||||
INTEL and KOKKOS packages require you to choose one of their
|
INTEL and KOKKOS packages require you to choose one of their
|
||||||
hardware options when building for a specific platform. I.e. CPU or
|
hardware options when building for a specific platform. I.e. CPU or
|
||||||
Phi option for the INTEL package. Or the OpenMP, Cuda, or Phi
|
Phi option for the INTEL package. Or the OpenMP, CUDA, HIP, SYCL,
|
||||||
option for the KOKKOS package.
|
or Phi option for the KOKKOS package. Or the OpenCL, HIP, or CUDA
|
||||||
|
option for the GPU package.
|
||||||
|
|
||||||
These are the exceptions. You cannot build a single executable with:
|
These are the exceptions. You cannot build a single executable with:
|
||||||
|
|
||||||
* both the INTEL Phi and KOKKOS Phi options
|
* both the INTEL Phi and KOKKOS Phi options
|
||||||
* the INTEL Phi or Kokkos Phi option, and the GPU package
|
* the INTEL Phi or Kokkos Phi option, and the GPU package
|
||||||
|
|
||||||
See the examples/accelerate/README and make.list files for sample
|
|
||||||
Make.py commands that build LAMMPS with any or all of the accelerator
|
|
||||||
packages. As an example, here is a command that builds with all the
|
|
||||||
GPU related packages installed (GPU, KOKKOS with Cuda), including
|
|
||||||
settings to build the needed auxiliary GPU libraries for Kepler GPUs:
|
|
||||||
|
|
||||||
.. code-block:: bash
|
|
||||||
|
|
||||||
Make.py -j 16 -p omp gpu kokkos -cc nvcc wrap=mpi -gpu mode=double arch=35 -kokkos cuda arch=35 lib-all file mpi
|
|
||||||
|
|
||||||
The examples/accelerate directory also has input scripts that can be
|
|
||||||
used with all of the accelerator packages. See its README file for
|
|
||||||
details.
|
|
||||||
|
|
||||||
Likewise, the bench directory has FERMI and KEPLER and PHI
|
|
||||||
sub-directories with Make.py commands and input scripts for using all
|
|
||||||
the accelerator packages on various machines. See the README files in
|
|
||||||
those directories.
|
|
||||||
|
|
||||||
As mentioned above, the `Benchmark page <https://www.lammps.org/bench.html>`_ of the LAMMPS website gives
|
As mentioned above, the `Benchmark page <https://www.lammps.org/bench.html>`_ of the LAMMPS website gives
|
||||||
performance results for the various accelerator packages for several
|
performance results for the various accelerator packages for several
|
||||||
of the standard LAMMPS benchmark problems, as a function of problem
|
of the standard LAMMPS benchmark problems, as a function of problem
|
||||||
|
|||||||
@ -205,6 +205,7 @@ scripts are available:
|
|||||||
whitespace.py # detects TAB characters and trailing whitespace
|
whitespace.py # detects TAB characters and trailing whitespace
|
||||||
homepage.py # detects outdated LAMMPS homepage URLs (pointing to sandia.gov instead of lammps.org)
|
homepage.py # detects outdated LAMMPS homepage URLs (pointing to sandia.gov instead of lammps.org)
|
||||||
errordocs.py # detects deprecated error docs in header files
|
errordocs.py # detects deprecated error docs in header files
|
||||||
|
versiontags.py # detects .. versionadded:: or .. versionchanged:: with pending version date
|
||||||
|
|
||||||
The tools need to be given the main folder of the LAMMPS distribution
|
The tools need to be given the main folder of the LAMMPS distribution
|
||||||
or individual file names as argument and will by default check them
|
or individual file names as argument and will by default check them
|
||||||
@ -397,7 +398,7 @@ ipp tool
|
|||||||
------------------
|
------------------
|
||||||
|
|
||||||
The tools/ipp directory contains a Perl script ipp which can be used
|
The tools/ipp directory contains a Perl script ipp which can be used
|
||||||
to facilitate the creation of a complicated file (say, a lammps input
|
to facilitate the creation of a complicated file (say, a LAMMPS input
|
||||||
script or tools/createatoms input file) using a template file.
|
script or tools/createatoms input file) using a template file.
|
||||||
|
|
||||||
ipp was created and is maintained by Reese Jones (Sandia), rjones at
|
ipp was created and is maintained by Reese Jones (Sandia), rjones at
|
||||||
@ -512,8 +513,8 @@ with an ``.inputrc`` file in the home directory. For application
|
|||||||
specific customization, the LAMMPS shell uses the name "lammps-shell".
|
specific customization, the LAMMPS shell uses the name "lammps-shell".
|
||||||
For more information about using and customizing an application using
|
For more information about using and customizing an application using
|
||||||
readline, please see the available documentation at:
|
readline, please see the available documentation at:
|
||||||
`http://www.gnu.org/s/readline/#Documentation
|
https://www.gnu.org/software/readline/
|
||||||
<http://www.gnu.org/s/readline/#Documentation>`_
|
|
||||||
|
|
||||||
Additional commands
|
Additional commands
|
||||||
^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^
|
||||||
@ -715,7 +716,7 @@ See the README.pdf file for more information.
|
|||||||
These scripts were written by Arun Subramaniyan at Purdue Univ
|
These scripts were written by Arun Subramaniyan at Purdue Univ
|
||||||
(asubrama at purdue.edu).
|
(asubrama at purdue.edu).
|
||||||
|
|
||||||
.. _matlabhome: http://www.mathworks.com
|
.. _matlabhome: https://www.mathworks.com
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -1046,7 +1047,7 @@ the binary file. This usually is a so-called little endian hardware
|
|||||||
SWIG interface
|
SWIG interface
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
The `SWIG tool <http://swig.org>`_ offers a mostly automated way to
|
The `SWIG tool <https://swig.org>`_ offers a mostly automated way to
|
||||||
incorporate compiled code modules into scripting languages. It
|
incorporate compiled code modules into scripting languages. It
|
||||||
processes the function prototypes in C and generates wrappers for a wide
|
processes the function prototypes in C and generates wrappers for a wide
|
||||||
variety of scripting languages from it. Thus it can also be applied to
|
variety of scripting languages from it. Thus it can also be applied to
|
||||||
@ -1126,7 +1127,7 @@ data passed or returned as pointers are included in the ``lammps.i``
|
|||||||
file. So most of the functionality of the library interface should be
|
file. So most of the functionality of the library interface should be
|
||||||
accessible. What works and what does not depends a bit on the
|
accessible. What works and what does not depends a bit on the
|
||||||
individual language for which the wrappers are built and how well SWIG
|
individual language for which the wrappers are built and how well SWIG
|
||||||
supports those. The `SWIG documentation <http://swig.org/doc.html>`_
|
supports those. The `SWIG documentation <https://swig.org/doc.html>`_
|
||||||
has very detailed instructions and recommendations.
|
has very detailed instructions and recommendations.
|
||||||
|
|
||||||
Usage examples
|
Usage examples
|
||||||
|
|||||||
@ -26,14 +26,14 @@ as defined in :ref:`(Allinger) <mm3-allinger1989>`
|
|||||||
|
|
||||||
.. math::
|
.. math::
|
||||||
|
|
||||||
E = K (r - r_0)^2 \left[ 1 - 2.55(r-r_0) + (7/12) 2.55^2(r-r_0)^2 \right]
|
E = K (r - r_0)^2 \left[ 1 - 2.55(r-r_0) + \frac{7}{12} 2.55^2(r-r_0)^2 \right]
|
||||||
|
|
||||||
where :math:`r_0` is the equilibrium value of the bond, and :math:`K` is a
|
where :math:`r_0` is the equilibrium value of the bond, and :math:`K` is a
|
||||||
prefactor. The anharmonic prefactors have units angstrom\^(-n):
|
prefactor. The anharmonic prefactors have units :math:`\AA^{-n}`:
|
||||||
-2.55 angstrom\^(-1) and (7/12)2.55\^2 angstrom\^(-2). The code takes
|
:math:`-2.55 \AA^{-1}` and :math:`\frac{7}{12} 2.55^2 \AA^{-2}`. The code takes
|
||||||
care of the necessary unit conversion for these factors internally.
|
care of the necessary unit conversion for these factors internally.
|
||||||
Note that the MM3 papers contains an error in Eq (1):
|
Note that the MM3 papers contain an error in Eq (1):
|
||||||
(7/12)2.55 should be replaced with (7/12)2.55\^2
|
:math:`\frac{7}{12} 2.55` should be replaced with :math:`\frac{7}{12} 2.55^2`
|
||||||
|
|
||||||
The following coefficients must be defined for each bond type via the
|
The following coefficients must be defined for each bond type via the
|
||||||
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in
|
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in
|
||||||
|
|||||||
@ -28,11 +28,18 @@ The *quartic* bond style uses the potential
|
|||||||
|
|
||||||
.. math::
|
.. math::
|
||||||
|
|
||||||
E = K (r - R_c)^ 2 (r - R_c - B_1) (r - R_c - B_2) + U_0 + 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] + \epsilon
|
E & = E_q + E_{LJ} \\
|
||||||
|
E_q & = K (r - R_c)^ 2 (r - R_c - B_1) (r - R_c - B_2) + U_0 \\
|
||||||
|
E_{LJ} & = \left\{ \begin{array} {l@{\quad:\quad}l}
|
||||||
|
4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] + \epsilon & r < 2^{\frac{1}{6}}, \epsilon = 1, \sigma = 1 \\
|
||||||
|
0 & r >= 2^{\frac{1}{6}}
|
||||||
|
\end{array} \right.
|
||||||
|
|
||||||
to define a bond that can be broken as the simulation proceeds (e.g.
|
to define a bond that can be broken as the simulation proceeds (e.g.
|
||||||
due to a polymer being stretched). The :math:`\sigma` and :math:`\epsilon` used in the
|
due to a polymer being stretched). The :math:`\sigma` and
|
||||||
LJ portion of the formula are both set equal to 1.0 by LAMMPS.
|
:math:`\epsilon` used in the LJ portion of the formula are both set
|
||||||
|
equal to 1.0 by LAMMPS and the LJ portion is cut off at its minimum,
|
||||||
|
i.e. at :math:`r_c = 2^{\frac{1}{6}}`.
|
||||||
|
|
||||||
The following coefficients must be defined for each bond type via the
|
The following coefficients must be defined for each bond type via the
|
||||||
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in
|
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in
|
||||||
@ -46,9 +53,9 @@ or :doc:`read_restart <read_restart>` commands:
|
|||||||
* :math:`U_0` (energy)
|
* :math:`U_0` (energy)
|
||||||
|
|
||||||
This potential was constructed to mimic the FENE bond potential for
|
This potential was constructed to mimic the FENE bond potential for
|
||||||
coarse-grained polymer chains. When monomers with :math:`\sigma = \epsilon = 1.0`
|
coarse-grained polymer chains. When monomers with :math:`\sigma =
|
||||||
are used, the following choice of parameters gives a quartic potential that
|
\epsilon = 1.0` are used, the following choice of parameters gives a
|
||||||
looks nearly like the FENE potential:
|
quartic potential that looks nearly like the FENE potential:
|
||||||
|
|
||||||
.. math::
|
.. math::
|
||||||
|
|
||||||
|
|||||||
@ -35,6 +35,8 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
|
.. versionadded:: 7Jan2022
|
||||||
|
|
||||||
Define a computation that calculates the local mass density and
|
Define a computation that calculates the local mass density and
|
||||||
temperature for each atom based on its neighbors inside a spherical
|
temperature for each atom based on its neighbors inside a spherical
|
||||||
cutoff. If an atom has :math:`M` neighbors, then its local mass density is
|
cutoff. If an atom has :math:`M` neighbors, then its local mass density is
|
||||||
|
|||||||
@ -602,8 +602,7 @@ be used. For non-orthogonal (triclinic) simulation boxes, only the
|
|||||||
*reduced* option may be used.
|
*reduced* option may be used.
|
||||||
|
|
||||||
A *box* value selects standard distance units as defined by the
|
A *box* value selects standard distance units as defined by the
|
||||||
:doc:`units <units>` command (e.g., :math:`\mathrm{\mathring A}`
|
:doc:`units <units>` command (e.g., :math:`\AA` for units = *real* or *metal*).
|
||||||
for units = *real* or *metal*).
|
|
||||||
A *lattice* value means the distance units are in lattice spacings.
|
A *lattice* value means the distance units are in lattice spacings.
|
||||||
The :doc:`lattice <lattice>` command must have been previously used to
|
The :doc:`lattice <lattice>` command must have been previously used to
|
||||||
define the lattice spacing. A *reduced* value means normalized
|
define the lattice spacing. A *reduced* value means normalized
|
||||||
|
|||||||
@ -24,16 +24,17 @@ Description
|
|||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Define a computation that calculates the per-atom damage for each atom
|
Define a computation that calculates the per-atom damage for each atom
|
||||||
in a group. This is a quantity relevant for :doc:`Peridynamics models <pair_peri>`. See `this document <PDF/PDLammps_overview.pdf>`_
|
in a group. This is a quantity relevant for :doc:`Peridynamics models
|
||||||
for an overview of LAMMPS commands for Peridynamics modeling.
|
<pair_peri>`. See `this document <PDF/PDLammps_overview.pdf>`_ for an
|
||||||
|
overview of LAMMPS commands for Peridynamics modeling.
|
||||||
|
|
||||||
The "damage" of a Peridynamics particles is based on the bond breakage
|
The "damage" of a Peridynamics particles is based on the bond breakage
|
||||||
between the particle and its neighbors. If all the bonds are broken
|
between the particle and its neighbors. If all the bonds are broken
|
||||||
the particle is considered to be fully damaged.
|
the particle is considered to be fully damaged.
|
||||||
|
|
||||||
See the `PDLAMMPS user guide <http://www.sandia.gov/~mlparks/papers/PDLAMMPS.pdf>`_ for a formal
|
See the :doc:`Peridynamics Howto <Howto_peri>` for a formal definition
|
||||||
definition of "damage" and more details about Peridynamics as it is
|
of "damage" and more details about Peridynamics as it is implemented in
|
||||||
implemented in LAMMPS.
|
LAMMPS.
|
||||||
|
|
||||||
This command can be used with all the Peridynamic pair styles.
|
This command can be used with all the Peridynamic pair styles.
|
||||||
|
|
||||||
@ -53,8 +54,9 @@ The per-atom vector values are unitless numbers (damage) :math:`\ge 0.0`.
|
|||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
This compute is part of the PERI package. It is only enabled if
|
This compute is part of the PERI package. It is only enabled if LAMMPS
|
||||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
|
was built with that package. See the :doc:`Build package
|
||||||
|
<Build_package>` page for more info.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|||||||
@ -24,7 +24,8 @@ Description
|
|||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Define a computation that calculates the per-atom dilatation for each
|
Define a computation that calculates the per-atom dilatation for each
|
||||||
atom in a group. This is a quantity relevant for :doc:`Peridynamics models <pair_peri>`. See `this document <PDF/PDLammps_overview.pdf>`_
|
atom in a group. This is a quantity relevant for :doc:`Peridynamics
|
||||||
|
models <pair_peri>`. See `this document <PDF/PDLammps_overview.pdf>`_
|
||||||
for an overview of LAMMPS commands for Peridynamics modeling.
|
for an overview of LAMMPS commands for Peridynamics modeling.
|
||||||
|
|
||||||
For small deformation, dilatation of is the measure of the volumetric
|
For small deformation, dilatation of is the measure of the volumetric
|
||||||
@ -32,13 +33,14 @@ strain.
|
|||||||
|
|
||||||
The dilatation :math:`\theta` for each peridynamic particle :math:`i` is
|
The dilatation :math:`\theta` for each peridynamic particle :math:`i` is
|
||||||
calculated as a sum over its neighbors with unbroken bonds, where the
|
calculated as a sum over its neighbors with unbroken bonds, where the
|
||||||
contribution of the :math:`ij` pair is a function of the change in bond length
|
contribution of the :math:`ij` pair is a function of the change in bond
|
||||||
(versus the initial length in the reference state), the volume
|
length (versus the initial length in the reference state), the volume
|
||||||
fraction of the particles and an influence function. See the
|
fraction of the particles and an influence function. See the
|
||||||
`PDLAMMPS user guide <http://www.sandia.gov/~mlparks/papers/PDLAMMPS.pdf>`_ for
|
:doc:`Peridynamics Howto <Howto_peri>` for a formal definition of
|
||||||
a formal definition of dilatation.
|
dilatation.
|
||||||
|
|
||||||
This command can only be used with a subset of the Peridynamic :doc:`pair styles <pair_peri>`: peri/lps, peri/ves and peri/eps.
|
This command can only be used with a subset of the Peridynamic
|
||||||
|
:doc:`pair styles <pair_peri>`: *peri/lps*, *peri/ves*, and *peri/eps*.
|
||||||
|
|
||||||
The dilatation value will be 0.0 for atoms not in the specified
|
The dilatation value will be 0.0 for atoms not in the specified
|
||||||
compute group.
|
compute group.
|
||||||
@ -56,9 +58,9 @@ The per-atom vector values are unitless numbers :math:`(\theta \ge 0.0)`.
|
|||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
This compute is part of the PERI package. It is only enabled if
|
This compute is part of the PERI package. It is only enabled if LAMMPS
|
||||||
LAMMPS was built with that package. See the
|
was built with that package. See the :doc:`Build package
|
||||||
:doc:`Build package <Build_package>` page for more info.
|
<Build_package>` page for more info.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|||||||
@ -95,7 +95,7 @@ something like the following commands:
|
|||||||
refresh c_dsp delay 100
|
refresh c_dsp delay 100
|
||||||
|
|
||||||
The :doc:`dump_modify thresh <dump_modify>` command will only output
|
The :doc:`dump_modify thresh <dump_modify>` command will only output
|
||||||
atoms that have displaced more than :math:`0.6~\mathrm{\mathring A}` on each
|
atoms that have displaced more than :math:`0.6~\AA` on each
|
||||||
snapshot (assuming metal units). The dump_modify *refresh* option triggers a
|
snapshot (assuming metal units). The dump_modify *refresh* option triggers a
|
||||||
call to this compute at the end of every dump.
|
call to this compute at the end of every dump.
|
||||||
|
|
||||||
|
|||||||
@ -97,13 +97,13 @@ by the corresponding volume. This option can be useful when dealing with
|
|||||||
inhomogeneous systems such as those that have surfaces.
|
inhomogeneous systems such as those that have surfaces.
|
||||||
|
|
||||||
Here are typical input parameters for fcc aluminum (lattice
|
Here are typical input parameters for fcc aluminum (lattice
|
||||||
constant :math:`4.05~\mathrm{\mathring A}`),
|
constant :math:`4.05~\AA`),
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
compute 1 all entropy/atom 0.25 5.7 avg yes 3.7
|
compute 1 all entropy/atom 0.25 5.7 avg yes 3.7
|
||||||
|
|
||||||
and for bcc sodium (lattice constant 4.23 Angstroms),
|
and for bcc sodium (lattice constant :math:`4.23~\AA`),
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
|
|||||||
@ -34,6 +34,8 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
|
.. versionadded:: 4May2022
|
||||||
|
|
||||||
Define a computation that calculates the change in the free energy due
|
Define a computation that calculates the change in the free energy due
|
||||||
to a test-area (TA) perturbation :ref:`(Gloor) <Gloor>`. The test-area
|
to a test-area (TA) perturbation :ref:`(Gloor) <Gloor>`. The test-area
|
||||||
approach can be used to determine the interfacial tension of the system
|
approach can be used to determine the interfacial tension of the system
|
||||||
|
|||||||
@ -109,8 +109,7 @@ The *mass* attribute is the total mass of the rigid body.
|
|||||||
There are two options for outputting the coordinates of the center of
|
There are two options for outputting the coordinates of the center of
|
||||||
mass (COM) of the body. The *x*, *y*, *z* attributes write the COM
|
mass (COM) of the body. The *x*, *y*, *z* attributes write the COM
|
||||||
"unscaled", in the appropriate distance :doc:`units <units>`
|
"unscaled", in the appropriate distance :doc:`units <units>`
|
||||||
(:math:`\mathrm{\mathring A}`,
|
(:math:`\AA`, :math:`\sigma`, etc). Use *xu*, *yu*, *zu* if you want the COM "unwrapped" by
|
||||||
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
|
the image flags for each body. Unwrapped means that if the body
|
||||||
COM has passed through 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
|
is generated what the COM coordinate would be if it had not been
|
||||||
|
|||||||
@ -86,7 +86,7 @@ will defined using the *c* values for the spacing along each reciprocal
|
|||||||
lattice axis. Note that manual mapping of the reciprocal space mesh is
|
lattice axis. Note that manual mapping of the reciprocal space mesh is
|
||||||
good for comparing diffraction results from multiple simulations; however
|
good for comparing diffraction results from multiple simulations; however
|
||||||
it can reduce the likelihood that Bragg reflections will be satisfied
|
it can reduce the likelihood that Bragg reflections will be satisfied
|
||||||
unless small spacing parameters (:math:`<0.05~\mathrm{\mathring A}^-1`)
|
unless small spacing parameters (:math:`<0.05~\AA^-1`)
|
||||||
are implemented. Meshes with manual spacing do not require a periodic
|
are implemented. Meshes with manual spacing do not require a periodic
|
||||||
boundary.
|
boundary.
|
||||||
|
|
||||||
|
|||||||
@ -228,18 +228,20 @@ command:
|
|||||||
See section below on output for a detailed explanation of the data
|
See section below on output for a detailed explanation of the data
|
||||||
layout in the global array.
|
layout in the global array.
|
||||||
|
|
||||||
|
.. versionadded:: 3Aug2022
|
||||||
|
|
||||||
The compute *sna/grid* and *sna/grid/local* commands calculate
|
The compute *sna/grid* and *sna/grid/local* commands calculate
|
||||||
bispectrum components for a regular grid of points.
|
bispectrum components for a regular grid of points. These are
|
||||||
These are calculated from the local density of nearby atoms *i'*
|
calculated from the local density of nearby atoms *i'* around each grid
|
||||||
around each grid point, as if there was a central atom *i*
|
point, as if there was a central atom *i* at the grid point. This is
|
||||||
at the grid point. This is useful for characterizing fine-scale
|
useful for characterizing fine-scale structure in a configuration of
|
||||||
structure in a configuration of atoms, and it is used
|
atoms, and it is used in the `MALA package
|
||||||
in the `MALA package <https://github.com/casus/mala>`_
|
<https://github.com/casus/mala>`_ to build machine-learning surrogates
|
||||||
to build machine-learning surrogates for finite-temperature Kohn-Sham
|
for finite-temperature Kohn-Sham density functional theory (:ref:`Ellis
|
||||||
density functional theory (:ref:`Ellis et al. <Ellis2021>`)
|
et al. <Ellis2021>`) Neighbor atoms not in the group do not contribute
|
||||||
Neighbor atoms not in the group do not contribute to the
|
to the bispectrum components of the grid points. The distance cutoff
|
||||||
bispectrum components of the grid points. The distance cutoff :math:`R_{ii'}`
|
:math:`R_{ii'}` assumes that *i* has the same type as the neighbor atom
|
||||||
assumes that *i* has the same type as the neighbor atom *i'*.
|
*i'*.
|
||||||
|
|
||||||
Compute *sna/grid* calculates a global array containing bispectrum
|
Compute *sna/grid* calculates a global array containing bispectrum
|
||||||
components for a regular grid of points.
|
components for a regular grid of points.
|
||||||
|
|||||||
@ -29,7 +29,7 @@ Description
|
|||||||
Define a computation that calculates the temperature of a system based
|
Define a computation that calculates the temperature of a system based
|
||||||
on the center-of-mass velocity of atom pairs that are bonded to each
|
on the center-of-mass velocity of atom pairs that are bonded to each
|
||||||
other. This compute is designed to be used with the adiabatic
|
other. This compute is designed to be used with the adiabatic
|
||||||
core/shell model of :ref:`(Mitchell and Finchham) <MitchellFinchham1>`.
|
core/shell model of :ref:`(Mitchell and Fincham) <MitchellFincham1>`.
|
||||||
See the :doc:`Howto coreshell <Howto_coreshell>` page for an overview of
|
See the :doc:`Howto coreshell <Howto_coreshell>` page for an overview of
|
||||||
the model as implemented in LAMMPS. Specifically, this compute
|
the model as implemented in LAMMPS. Specifically, this compute
|
||||||
enables correct temperature calculation and thermostatting of
|
enables correct temperature calculation and thermostatting of
|
||||||
@ -127,7 +127,7 @@ none
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _MitchellFinchham1:
|
.. _MitchellFincham1:
|
||||||
|
|
||||||
**(Mitchell and Finchham)** Mitchell, Finchham, J Phys Condensed Matter,
|
**(Mitchell and Fincham)** Mitchell, Fincham, J Phys Condensed Matter,
|
||||||
5, 1031-1038 (1993).
|
5, 1031-1038 (1993).
|
||||||
|
|||||||
@ -58,7 +58,7 @@ constant, and :math:`T` is the absolute temperature.
|
|||||||
The *units* keyword determines the meaning of the distance units used
|
The *units* keyword determines the meaning of the distance units used
|
||||||
for coordinates (*clo*, *chi*) and velocities (*vlo*, *vhi*). A *box* value
|
for coordinates (*clo*, *chi*) and velocities (*vlo*, *vhi*). A *box* value
|
||||||
selects standard distance units as defined by the :doc:`units <units>`
|
selects standard distance units as defined by the :doc:`units <units>`
|
||||||
command (e.g., :math:`\mathrm{\mathring{A}}` for units = real or metal). A
|
command (e.g., :math:`\AA` for units = real or metal). A
|
||||||
*lattice* value means the distance units are in lattice spacings (i.e.,
|
*lattice* value means the distance units are in lattice spacings (i.e.,
|
||||||
velocity in lattice spacings per unit time). The :doc:`lattice <lattice>`
|
velocity in lattice spacings per unit time). The :doc:`lattice <lattice>`
|
||||||
command must have been previously used to define the lattice spacing.
|
command must have been previously used to define the lattice spacing.
|
||||||
|
|||||||
@ -154,25 +154,25 @@ which must be installed on your system when building LAMMPS for use
|
|||||||
with this compute. See instructions on obtaining and installing the
|
with this compute. See instructions on obtaining and installing the
|
||||||
Voro++ software in the src/VORONOI/README file.
|
Voro++ software in the src/VORONOI/README file.
|
||||||
|
|
||||||
.. _voronoi: http://math.lbl.gov/voro++/
|
.. _voronoi: https://math.lbl.gov/voro++/
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
The calculation of Voronoi volumes is performed by each
|
The calculation of Voronoi volumes is performed by each processor for
|
||||||
processor for the atoms it owns, and includes the effect of ghost
|
the atoms it owns, and includes the effect of ghost atoms stored by
|
||||||
atoms stored by the processor. This assumes that the Voronoi cells of
|
the processor. This assumes that the Voronoi cells of owned atoms
|
||||||
owned atoms are not affected by atoms beyond the ghost atom cut-off
|
are not affected by atoms beyond the ghost atom cut-off distance.
|
||||||
distance. This is usually a good assumption for liquid and solid
|
This is usually a good assumption for liquid and solid systems, but
|
||||||
systems, but may lead to underestimation of Voronoi volumes in low
|
may lead to underestimation of Voronoi volumes in low density
|
||||||
density systems. By default, the set of ghost atoms stored by each
|
systems. By default, the set of ghost atoms stored by each processor
|
||||||
processor is determined by the cutoff used for
|
is determined by the cutoff used for :doc:`pair_style <pair_style>`
|
||||||
:doc:`pair_style <pair_style>` interactions. The cutoff can be set
|
interactions. The cutoff can be set explicitly via the
|
||||||
explicitly via the :doc:`comm_modify cutoff <comm_modify>` command. The
|
:doc:`comm_modify cutoff <comm_modify>` command. The Voronoi cells
|
||||||
Voronoi cells for atoms adjacent to empty regions will extend into
|
for atoms adjacent to empty regions will extend into those regions up
|
||||||
those regions up to the communication cutoff in :math:`x`, :math:`y`, or
|
to the communication cutoff in :math:`x`, :math:`y`, or :math:`z`.
|
||||||
:math:`z`. In that situation, an exterior face is created at the cutoff
|
In that situation, an exterior face is created at the cutoff distance
|
||||||
distance normal to the :math:`x`, :math:`y`, or :math:`z` direction.
|
normal to the :math:`x`, :math:`y`, or :math:`z` direction. For
|
||||||
For triclinic systems, the exterior face is parallel to the corresponding
|
triclinic systems, the exterior face is parallel to the corresponding
|
||||||
reciprocal lattice vector.
|
reciprocal lattice vector.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|||||||
@ -91,7 +91,7 @@ reciprocal lattice axis. Note that manual mapping of the reciprocal
|
|||||||
space mesh is good for comparing diffraction results from multiple
|
space mesh is good for comparing diffraction results from multiple
|
||||||
simulations; however, it can reduce the likelihood that Bragg
|
simulations; however, it can reduce the likelihood that Bragg
|
||||||
reflections will be satisfied unless small spacing parameters
|
reflections will be satisfied unless small spacing parameters
|
||||||
(:math:`< 0.05~\mathrm{\mathring{A}}^{-1}`) are implemented.
|
(:math:`< 0.05~\AA^{-1}`) are implemented.
|
||||||
Meshes with manual spacing do not require a periodic boundary.
|
Meshes with manual spacing do not require a periodic boundary.
|
||||||
|
|
||||||
The limits of the reciprocal lattice mesh are determined by range of
|
The limits of the reciprocal lattice mesh are determined by range of
|
||||||
|
|||||||
@ -189,6 +189,10 @@ to the area of that triangle.
|
|||||||
beneficial to exclude computing interactions between the created
|
beneficial to exclude computing interactions between the created
|
||||||
particles using :doc:`neigh_modify exclude <neigh_modify>`.
|
particles using :doc:`neigh_modify exclude <neigh_modify>`.
|
||||||
|
|
||||||
|
.. versionchanged:: 2Jun2022
|
||||||
|
|
||||||
|
The *porosity* style has been renamed to *random* with added functionality.
|
||||||
|
|
||||||
For the *random* style, *N* particles are added to the system at
|
For the *random* style, *N* particles are added to the system at
|
||||||
randomly generated coordinates, which can be useful for generating an
|
randomly generated coordinates, which can be useful for generating an
|
||||||
amorphous system. The particles are created one by one using the
|
amorphous system. The particles are created one by one using the
|
||||||
@ -460,7 +464,7 @@ The *units* keyword determines the meaning of the distance units used
|
|||||||
to specify the coordinates of the one particle created by the *single*
|
to specify the coordinates of the one particle created by the *single*
|
||||||
style, or the overlap distance *Doverlap* by the *overlap* keyword. A
|
style, or the overlap distance *Doverlap* by the *overlap* keyword. A
|
||||||
*box* value selects standard distance units as defined by the
|
*box* value selects standard distance units as defined by the
|
||||||
:doc:`units <units>` command (e.g., :math:`\mathrm{\mathring{A}}` for
|
:doc:`units <units>` command (e.g., :math:`\AA` for
|
||||||
units = *real* or *metal*\ . A *lattice* value means the distance units are in
|
units = *real* or *metal*\ . A *lattice* value means the distance units are in
|
||||||
lattice spacings.
|
lattice spacings.
|
||||||
|
|
||||||
|
|||||||
@ -116,6 +116,8 @@ must be in both the specified group and region. If *group-ID* = all,
|
|||||||
there is effectively no group criterion. If *region-ID* is specified
|
there is effectively no group criterion. If *region-ID* is specified
|
||||||
as NULL, no region criterion is imposed.
|
as NULL, no region criterion is imposed.
|
||||||
|
|
||||||
|
.. versionadded:: 4May2022
|
||||||
|
|
||||||
For style *variable*, all atoms for which the atom-style variable with
|
For style *variable*, all atoms for which the atom-style variable with
|
||||||
the given name evaluates to non-zero will be deleted. Additional atoms
|
the given name evaluates to non-zero will be deleted. Additional atoms
|
||||||
can be deleted if they are in a molecule for which one or more atoms
|
can be deleted if they are in a molecule for which one or more atoms
|
||||||
|
|||||||
@ -104,7 +104,7 @@ atom's rotation.
|
|||||||
Distance units for displacements and the origin point of the *rotate*
|
Distance units for displacements and the origin point of the *rotate*
|
||||||
style are determined by the setting of *box* or *lattice* for the
|
style are determined by the setting of *box* or *lattice* for the
|
||||||
*units* keyword. *Box* means distance units as defined by the
|
*units* keyword. *Box* means distance units as defined by the
|
||||||
:doc:`units <units>` command (e.g., :math:`\mathrm{\mathring A}` for
|
:doc:`units <units>` command (e.g., :math:`\AA` for
|
||||||
*real* or *metal* units). *Lattice* means distance units are in lattice
|
*real* or *metal* units). *Lattice* means distance units are in lattice
|
||||||
spacings. The :doc:`lattice <lattice>` command must have been previously used
|
spacings. The :doc:`lattice <lattice>` command must have been previously used
|
||||||
to define the lattice spacing.
|
to define the lattice spacing.
|
||||||
|
|||||||
@ -480,7 +480,7 @@ style.
|
|||||||
----------
|
----------
|
||||||
|
|
||||||
Note that *atom*, *custom*, *dcd*, *xtc*, and *xyz* style dump files
|
Note that *atom*, *custom*, *dcd*, *xtc*, and *xyz* style dump files
|
||||||
can be read directly by `VMD <http://www.ks.uiuc.edu/Research/vmd>`_, a
|
can be read directly by `VMD <https://www.ks.uiuc.edu/Research/vmd>`_, a
|
||||||
popular molecular viewing program.
|
popular molecular viewing program.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
@ -693,7 +693,7 @@ charge.
|
|||||||
|
|
||||||
There are several options for outputting atom coordinates. The *x*,
|
There are several options for outputting atom coordinates. The *x*,
|
||||||
*y*, and *z* attributes write atom coordinates "unscaled", in the
|
*y*, and *z* attributes write atom coordinates "unscaled", in the
|
||||||
appropriate distance :doc:`units <units>` (:math:`\mathrm{\mathring A}`,
|
appropriate distance :doc:`units <units>` (:math:`\AA`,
|
||||||
:math:`\sigma`, etc.). Use *xs*, *ys*, and *zs* if you want the
|
:math:`\sigma`, etc.). Use *xs*, *ys*, and *zs* if you want the
|
||||||
coordinates "scaled" to the box size so that each value is 0.0 to 1.0.
|
coordinates "scaled" to the box size so that each value is 0.0 to 1.0.
|
||||||
If the simulation box is triclinic (tilted), then all atom coords will
|
If the simulation box is triclinic (tilted), then all atom coords will
|
||||||
|
|||||||
@ -64,7 +64,7 @@ stored within the same file by defining several dumps. A dump that
|
|||||||
refers (via *file_from*) to an already open dump ID and that concerns
|
refers (via *file_from*) to an already open dump ID and that concerns
|
||||||
another particle group must specify *create_group yes*.
|
another particle group must specify *create_group yes*.
|
||||||
|
|
||||||
.. _h5md: http://nongnu.org/h5md/
|
.. _h5md: https://nongnu.org/h5md/
|
||||||
|
|
||||||
Each data element is written every N\*N_element steps. For *image*, no
|
Each data element is written every N\*N_element steps. For *image*, no
|
||||||
sub-interval is needed as it must be present at the same interval as
|
sub-interval is needed as it must be present at the same interval as
|
||||||
@ -113,7 +113,7 @@ the `HDF5 <HDF5-ws_>`_ library installed (C bindings are sufficient) on
|
|||||||
your system. The library ch5md is compiled with the h5cc wrapper
|
your system. The library ch5md is compiled with the h5cc wrapper
|
||||||
provided by the HDF5 library.
|
provided by the HDF5 library.
|
||||||
|
|
||||||
.. _HDF5-ws: http://www.hdfgroup.org/HDF5/
|
.. _HDF5-ws: https://www.hdfgroup.org/solutions/hdf5/
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -129,4 +129,4 @@ Related commands
|
|||||||
**(de Buyl)** de Buyl, Colberg and Hofling, H5MD: A structured,
|
**(de Buyl)** de Buyl, Colberg and Hofling, H5MD: A structured,
|
||||||
efficient, and portable file format for molecular data,
|
efficient, and portable file format for molecular data,
|
||||||
Comp. Phys. Comm. 185(6), 1546-1553 (2014) -
|
Comp. Phys. Comm. 185(6), 1546-1553 (2014) -
|
||||||
`[arXiv:1308.6382] <http://arxiv.org/abs/1308.6382/>`_.
|
`[arXiv:1308.6382] <https://arxiv.org/abs/1308.6382/>`_.
|
||||||
|
|||||||
@ -212,7 +212,7 @@ is used.
|
|||||||
Similarly, the format of the resulting movie is chosen with the
|
Similarly, the format of the resulting movie is chosen with the
|
||||||
*movie* dump style. This is handled by the underlying FFmpeg converter
|
*movie* dump style. This is handled by the underlying FFmpeg converter
|
||||||
and thus details have to be looked up in the `FFmpeg documentation
|
and thus details have to be looked up in the `FFmpeg documentation
|
||||||
<http://ffmpeg.org/ffmpeg.html>`_. Typical examples are: .avi, .mpg,
|
<https://ffmpeg.org/ffmpeg.html>`_. Typical examples are: .avi, .mpg,
|
||||||
.m4v, .mp4, .mkv, .flv, .mov, .gif Additional settings of the movie
|
.m4v, .mp4, .mkv, .flv, .mov, .gif Additional settings of the movie
|
||||||
compression like bitrate and framerate can be set using the
|
compression like bitrate and framerate can be set using the
|
||||||
dump_modify command as described below.
|
dump_modify command as described below.
|
||||||
@ -642,7 +642,7 @@ MPEG or other movie file you can use:
|
|||||||
cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi
|
cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi
|
||||||
|
|
||||||
Front ends for FFmpeg exist for multiple platforms. For more
|
Front ends for FFmpeg exist for multiple platforms. For more
|
||||||
information see the `FFmpeg homepage <http://www.ffmpeg.org/>`_
|
information see the `FFmpeg homepage <https://www.ffmpeg.org/>`_
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|||||||
@ -632,7 +632,7 @@ calculates the displacement of each atom from its reference position.
|
|||||||
The "4" index is the scalar displacement; 1, 2, and 3 are the :math:`xyz`
|
The "4" index is the scalar displacement; 1, 2, and 3 are the :math:`xyz`
|
||||||
components of the displacement. The :doc:`dump_modify thresh <dump_modify>`
|
components of the displacement. The :doc:`dump_modify thresh <dump_modify>`
|
||||||
command will cause only atoms that have displaced more than
|
command will cause only atoms that have displaced more than
|
||||||
:math:`0.6~\mathrm{\mathring A}` to be output on a given snapshot (assuming
|
:math:`0.6~\AA` to be output on a given snapshot (assuming
|
||||||
metal units). However, note that when an atom is output, we also need to
|
metal units). However, note that when an atom is output, we also need to
|
||||||
update the reference position for that atom to its new coordinates. So that it
|
update the reference position for that atom to its new coordinates. So that it
|
||||||
will not be output in every snapshot thereafter. That reference position is
|
will not be output in every snapshot thereafter. That reference position is
|
||||||
@ -675,7 +675,7 @@ value of *yes* means atom coords are written in normalized units from
|
|||||||
0.0 to 1.0 in each box dimension. If the simulation box is triclinic
|
0.0 to 1.0 in each box dimension. If the simulation box is triclinic
|
||||||
(tilted), then all atom coords will still be between 0.0 and 1.0. A
|
(tilted), then all atom coords will still be between 0.0 and 1.0. A
|
||||||
value of *no* means they are written in absolute distance units
|
value of *no* means they are written in absolute distance units
|
||||||
(e.g., :math:`\mathrm{\mathring A}` or :math:`\sigma`).
|
(e.g., :math:`\AA` or :math:`\sigma`).
|
||||||
Using this keyword will reset all custom header names set with
|
Using this keyword will reset all custom header names set with
|
||||||
*dump_modify colname* to their respective default values.
|
*dump_modify colname* to their respective default values.
|
||||||
|
|
||||||
@ -687,7 +687,7 @@ when writing to XTC files. By default, they are initialized for
|
|||||||
whatever :doc:`units <units>` style is being used, to write out
|
whatever :doc:`units <units>` style is being used, to write out
|
||||||
coordinates in nanometers and time in picoseconds. For example, for *real*
|
coordinates in nanometers and time in picoseconds. For example, for *real*
|
||||||
units, LAMMPS defines *sfactor* = 0.1 and *tfactor* = 0.001, since the
|
units, LAMMPS defines *sfactor* = 0.1 and *tfactor* = 0.001, since the
|
||||||
:math:`\mathrm{\mathring A}` and fs used by *real* units are 0.1 nm and
|
:math:`\AA` and fs used by *real* units are 0.1 nm and
|
||||||
0.001 ps, respectively. If you are using a units system with distance and time
|
0.001 ps, respectively. If you are using a units system with distance and time
|
||||||
units far from nm and ps, you may wish to write XTC files with
|
units far from nm and ps, you may wish to write XTC files with
|
||||||
different units, since the compression algorithm used in XTC files is
|
different units, since the compression algorithm used in XTC files is
|
||||||
@ -881,7 +881,7 @@ levels that sacrifice compression for performance. 0 is the default,
|
|||||||
positive levels are 1 to 22, with 22 being the most expensive
|
positive levels are 1 to 22, with 22 being the most expensive
|
||||||
compression. Zstd promises higher compression/decompression speeds for
|
compression. Zstd promises higher compression/decompression speeds for
|
||||||
similar compression ratios. For more details see
|
similar compression ratios. For more details see
|
||||||
`http://facebook.github.io/zstd/`.
|
`https://facebook.github.io/zstd/`.
|
||||||
|
|
||||||
In addition, Zstd compressed files can include a checksum of the
|
In addition, Zstd compressed files can include a checksum of the
|
||||||
entire contents. The Zstd enabled dump styles enable this feature by
|
entire contents. The Zstd enabled dump styles enable this feature by
|
||||||
|
|||||||
@ -34,7 +34,7 @@ Dump a snapshot of atom coordinates and selected additional quantities
|
|||||||
to one or more files every N timesteps in one of several formats.
|
to one or more files every N timesteps in one of several formats.
|
||||||
Only information for atoms in the specified group is dumped. This
|
Only information for atoms in the specified group is dumped. This
|
||||||
specific dump style uses molfile plugins that are bundled with the
|
specific dump style uses molfile plugins that are bundled with the
|
||||||
`VMD <http://www.ks.uiuc.edu/Research/vmd>`_ molecular visualization and
|
`VMD <https://www.ks.uiuc.edu/Research/vmd>`_ molecular visualization and
|
||||||
analysis program.
|
analysis program.
|
||||||
|
|
||||||
Unless the filename contains a \* character, the output will be written
|
Unless the filename contains a \* character, the output will be written
|
||||||
|
|||||||
@ -48,21 +48,17 @@ rank.
|
|||||||
|
|
||||||
NetCDF files can be directly visualized via the following tools:
|
NetCDF files can be directly visualized via the following tools:
|
||||||
|
|
||||||
Ovito (http://www.ovito.org/). Ovito supports the AMBER convention and
|
* Ovito (https://www.ovito.org/). Ovito supports the AMBER convention and
|
||||||
all extensions of this dump style.
|
all extensions of this dump style.
|
||||||
|
* VMD (https://www.ks.uiuc.edu/Research/vmd/).
|
||||||
* VMD (http://www.ks.uiuc.edu/Research/vmd/).
|
|
||||||
* AtomEye (http://www.libatoms.org/). The libAtoms version of AtomEye
|
|
||||||
contains a NetCDF reader that is not present in the standard
|
|
||||||
distribution of AtomEye.
|
|
||||||
|
|
||||||
In addition to per-atom data, :doc:`thermo <thermo>` data can be included in the
|
In addition to per-atom data, :doc:`thermo <thermo>` data can be included in the
|
||||||
dump file. The data included in the dump file is identical to the data specified
|
dump file. The data included in the dump file is identical to the data specified
|
||||||
by :doc:`thermo_style <thermo_style>`.
|
by :doc:`thermo_style <thermo_style>`.
|
||||||
|
|
||||||
.. _netcdf-home: http://www.unidata.ucar.edu/software/netcdf/
|
.. _netcdf-home: https://www.unidata.ucar.edu/software/netcdf/
|
||||||
|
|
||||||
.. _pnetcdf-home: http://trac.mcs.anl.gov/projects/parallel-netcdf/
|
.. _pnetcdf-home: https://trac.mcs.anl.gov/projects/parallel-netcdf/
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|||||||
@ -29,8 +29,9 @@ Description
|
|||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Dump a snapshot of atom quantities to one or more files every :math:`N`
|
Dump a snapshot of atom quantities to one or more files every :math:`N`
|
||||||
timesteps in a format readable by the `VTK visualization toolkit <http://www.vtk.org>`_ or other visualization tools that use it,
|
timesteps in a format readable by the `VTK visualization toolkit
|
||||||
such as `ParaView <http://www.paraview.org>`_. The time steps on which dump
|
<https://www.vtk.org>`_ or other visualization tools that use it, such
|
||||||
|
as `ParaView <https://www.paraview.org>`_. The time steps on which dump
|
||||||
output is written can also be controlled by a variable; see the
|
output is written can also be controlled by a variable; see the
|
||||||
:doc:`dump_modify every <dump_modify>` command for details.
|
:doc:`dump_modify every <dump_modify>` command for details.
|
||||||
|
|
||||||
@ -38,8 +39,8 @@ This dump style is similar to :doc:`dump_style custom <dump>` but uses
|
|||||||
the VTK library to write data to VTK simple legacy or XML format,
|
the VTK library to write data to VTK simple legacy or XML format,
|
||||||
depending on the filename extension specified for the dump file. This
|
depending on the filename extension specified for the dump file. This
|
||||||
can be either *\*.vtk* for the legacy format or *\*.vtp* and *\*.vtu*,
|
can be either *\*.vtk* for the legacy format or *\*.vtp* and *\*.vtu*,
|
||||||
respectively, for XML format; see the
|
respectively, for XML format; see the `VTK homepage
|
||||||
`VTK homepage <http://www.vtk.org/VTK/img/file-formats.pdf>`_ for a detailed
|
<https://www.vtk.org/VTK/img/file-formats.pdf>`_ for a detailed
|
||||||
description of these formats. Since this naming convention conflicts
|
description of these formats. Since this naming convention conflicts
|
||||||
with the way binary output is usually specified (see below), the
|
with the way binary output is usually specified (see below), the
|
||||||
:doc:`dump_modify binary <dump_modify>` command allows setting of a
|
:doc:`dump_modify binary <dump_modify>` command allows setting of a
|
||||||
@ -61,14 +62,15 @@ determine the kind of output.
|
|||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
Unless the :doc:`dump_modify sort <dump_modify>` option
|
Unless the :doc:`dump_modify sort <dump_modify>` option is invoked,
|
||||||
is invoked, the lines of atom information written to dump files will
|
the lines of atom information written to dump files will be in an
|
||||||
be in an indeterminate order for each snapshot. This is even true
|
indeterminate order for each snapshot. This is even true when
|
||||||
when running on a single processor, if the :doc:`atom_modify sort <atom_modify>` option is on, which it is by default. In this
|
running on a single processor, if the :doc:`atom_modify sort
|
||||||
case atoms are re-ordered periodically during a simulation, due to
|
<atom_modify>` option is on, which it is by default. In this case
|
||||||
spatial sorting. It is also true when running in parallel, because
|
atoms are re-ordered periodically during a simulation, due to spatial
|
||||||
data for a single snapshot is collected from multiple processors, each
|
sorting. It is also true when running in parallel, because data for
|
||||||
of which owns a subset of the atoms.
|
a single snapshot is collected from multiple processors, each of
|
||||||
|
which owns a subset of the atoms.
|
||||||
|
|
||||||
For the *vtk* style, sorting is off by default. See the
|
For the *vtk* style, sorting is off by default. See the
|
||||||
:doc:`dump_modify <dump_modify>` page for details.
|
:doc:`dump_modify <dump_modify>` page for details.
|
||||||
|
|||||||
@ -71,7 +71,7 @@ potential in eV, *gamma*, the valence orbital exponent, and *bcut*, the
|
|||||||
bond cutoff distance. Note that these 4 quantities are also in the
|
bond cutoff distance. Note that these 4 quantities are also in the
|
||||||
ReaxFF potential file, except that eta is defined here as twice the eta
|
ReaxFF potential file, except that eta is defined here as twice the eta
|
||||||
value in the ReaxFF file. Note that unlike the rest of LAMMPS, the units
|
value in the ReaxFF file. Note that unlike the rest of LAMMPS, the units
|
||||||
of this fix are hard-coded to be :math:`\mathrm{\mathring{A}}`, eV, and
|
of this fix are hard-coded to be :math:`\AA`, eV, and
|
||||||
electronic charge.
|
electronic charge.
|
||||||
|
|
||||||
The optional *maxiter* keyword allows changing the max number
|
The optional *maxiter* keyword allows changing the max number
|
||||||
@ -111,7 +111,7 @@ LAMMPS was built with that package. See the :doc:`Build package
|
|||||||
|
|
||||||
This fix does not correctly handle interactions involving multiple
|
This fix does not correctly handle interactions involving multiple
|
||||||
periodic images of the same atom. Hence, it should not be used for
|
periodic images of the same atom. Hence, it should not be used for
|
||||||
periodic cell dimensions less than :math:`10~\mathrm{\mathring{A}}`.
|
periodic cell dimensions less than :math:`10~\AA`.
|
||||||
|
|
||||||
This fix may be used in combination with :doc:`fix efield <fix_efield>`
|
This fix may be used in combination with :doc:`fix efield <fix_efield>`
|
||||||
and will apply the external electric field during charge equilibration,
|
and will apply the external electric field during charge equilibration,
|
||||||
|
|||||||
@ -319,6 +319,8 @@ with fix_adapt are
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
.. versionadded:: 4May2022
|
||||||
|
|
||||||
The *angle* keyword uses the specified variable to change the value of
|
The *angle* keyword uses the specified variable to change the value of
|
||||||
an angle coefficient over time, very similar to how the *pair* keyword
|
an angle coefficient over time, very similar to how the *pair* keyword
|
||||||
operates. The only difference is that now an angle coefficient for a
|
operates. The only difference is that now an angle coefficient for a
|
||||||
|
|||||||
@ -79,7 +79,7 @@ measured from zhi and is set with the *extent* argument.
|
|||||||
The *units* keyword determines the meaning of the distance units used
|
The *units* keyword determines the meaning of the distance units used
|
||||||
to define a wall position, but only when a numeric constant is used.
|
to define a wall position, but only when a numeric constant is used.
|
||||||
A *box* value selects standard distance units as defined by the
|
A *box* value selects standard distance units as defined by the
|
||||||
:doc:`units <units>` command (e.g., :math:`\mathrm{\mathring A}`
|
:doc:`units <units>` command (e.g., :math:`\AA`
|
||||||
for units = real or metal.
|
for units = real or metal.
|
||||||
A *lattice* value means the distance units are in lattice spacings.
|
A *lattice* value means the distance units are in lattice spacings.
|
||||||
The :doc:`lattice <lattice>` command must have been previously used to
|
The :doc:`lattice <lattice>` command must have been previously used to
|
||||||
|
|||||||
@ -59,7 +59,7 @@ Note both the COMMA and the SPACE separating the volume's
|
|||||||
value and its corresponding pressure correction. The volumes in the file
|
value and its corresponding pressure correction. The volumes in the file
|
||||||
must be uniformly spaced. Both the volumes and the pressure corrections
|
must be uniformly spaced. Both the volumes and the pressure corrections
|
||||||
should be provided in the proper units, e.g. if you are using *units real*,
|
should be provided in the proper units, e.g. if you are using *units real*,
|
||||||
the volumes should all be in cubic angstroms, and the pressure corrections
|
the volumes should all be in cubic Angstroms, and the pressure corrections
|
||||||
should all be in atmospheres. Furthermore, the table should start/end at a
|
should all be in atmospheres. Furthermore, the table should start/end at a
|
||||||
volume considerably smaller/larger than you expect your system to sample
|
volume considerably smaller/larger than you expect your system to sample
|
||||||
during the simulation. If the system ever reaches a volume outside of the
|
during the simulation. If the system ever reaches a volume outside of the
|
||||||
@ -72,8 +72,8 @@ With the *analytic* option, the arguments are as follows:
|
|||||||
... analytic V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N
|
... analytic V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N
|
||||||
|
|
||||||
Note that *V_avg* and *Coeff_i* should all be in the proper units, e.g. if you
|
Note that *V_avg* and *Coeff_i* should all be in the proper units, e.g. if you
|
||||||
are using *units real*, *V_avg* should be in cubic angstroms, and the
|
are using *units real*, *V_avg* should be in cubic Angstroms, and the
|
||||||
coefficients should all be in atmospheres \* cubic angstroms.
|
coefficients should all be in atmospheres \* cubic Angstroms.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|||||||
@ -78,7 +78,7 @@ example of how this is done. This sample application performs
|
|||||||
classical MD using quantum forces computed by a density functional
|
classical MD using quantum forces computed by a density functional
|
||||||
code `Quest <quest_>`_.
|
code `Quest <quest_>`_.
|
||||||
|
|
||||||
.. _quest: http://dft.sandia.gov/Quest
|
.. _quest: https://dft.sandia.gov/Quest
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
|||||||
@ -159,7 +159,7 @@ Related commands
|
|||||||
|
|
||||||
.. _GLE4MD:
|
.. _GLE4MD:
|
||||||
|
|
||||||
**(GLE4MD)** `http://gle4md.org/ <http://gle4md.org/>`_
|
**(GLE4MD)** `https://gle4md.org/ <https://gle4md.org/>`_
|
||||||
|
|
||||||
.. _Ceriotti2:
|
.. _Ceriotti2:
|
||||||
|
|
||||||
|
|||||||
@ -51,16 +51,11 @@ from the main execution thread and potentially lower the inferred
|
|||||||
latencies for slow communication links. This feature has only been
|
latencies for slow communication links. This feature has only been
|
||||||
tested under linux.
|
tested under linux.
|
||||||
|
|
||||||
There are example scripts for using this package with LAMMPS in
|
The source code for this fix includes code developed by the Theoretical
|
||||||
examples/PACKAGES/imd. Additional examples and a driver for use with the
|
and Computational Biophysics Group in the Beckman Institute for Advanced
|
||||||
Novint Falcon game controller as haptic device can be found at:
|
Science and Technology at the University of Illinois at
|
||||||
http://sites.google.com/site/akohlmey/software/vrpn-icms.
|
Urbana-Champaign. We thank them for providing a software interface that
|
||||||
|
allows codes like LAMMPS to hook to `VMD <VMD_>`_.
|
||||||
The source code for this fix includes code developed by the
|
|
||||||
Theoretical and Computational Biophysics Group in the Beckman
|
|
||||||
Institute for Advanced Science and Technology at the University of
|
|
||||||
Illinois at Urbana-Champaign. We thank them for providing a software
|
|
||||||
interface that allows codes like LAMMPS to hook to `VMD <VMD_>`_.
|
|
||||||
|
|
||||||
Upon initialization of the fix, it will open a communication port on
|
Upon initialization of the fix, it will open a communication port on
|
||||||
the node with MPI task 0 and wait for an incoming connection. As soon
|
the node with MPI task 0 and wait for an incoming connection. As soon
|
||||||
@ -93,8 +88,8 @@ to send "unwrapped" coordinates to the IMD client that undo the
|
|||||||
wrapping back of coordinates into the principle unit cell, as done by
|
wrapping back of coordinates into the principle unit cell, as done by
|
||||||
default in LAMMPS. The *fscale* keyword allows to apply a scaling
|
default in LAMMPS. The *fscale* keyword allows to apply a scaling
|
||||||
factor to forces transmitted by the IMD client. The IMD protocols
|
factor to forces transmitted by the IMD client. The IMD protocols
|
||||||
stipulates that forces are transferred in kcal/mol/angstrom under the
|
stipulates that forces are transferred in kcal/mol/Angstrom under the
|
||||||
assumption that coordinates are given in angstrom. For LAMMPS runs
|
assumption that coordinates are given in Angstrom. For LAMMPS runs
|
||||||
with different units or as a measure to tweak the forces generated by
|
with different units or as a measure to tweak the forces generated by
|
||||||
the manipulation of the IMD client, this option allows to make
|
the manipulation of the IMD client, this option allows to make
|
||||||
adjustments.
|
adjustments.
|
||||||
@ -117,40 +112,40 @@ VMD are the following:
|
|||||||
In the Mouse menu of the VMD Main window, select "Mouse -> Force ->
|
In the Mouse menu of the VMD Main window, select "Mouse -> Force ->
|
||||||
Atom". You may alternately select "Residue", or "Fragment" to apply
|
Atom". You may alternately select "Residue", or "Fragment" to apply
|
||||||
forces to whole residues or fragments. Your mouse can now be used to
|
forces to whole residues or fragments. Your mouse can now be used to
|
||||||
apply forces to your simulation. Click on an atom, residue, or
|
apply forces to your simulation. Click on an atom, residue, or fragment
|
||||||
fragment and drag to apply a force. Click quickly without moving the
|
and drag to apply a force. Click quickly without moving the mouse to
|
||||||
mouse to turn the force off. You can also use a variety of 3D position
|
turn the force off. You can also use a variety of 3D position trackers
|
||||||
trackers to apply forces to your simulation. Game controllers or haptic
|
to apply forces to your simulation. Game controllers or haptic devices
|
||||||
devices with force-feedback such as the Novint Falcon or Sensable
|
with force-feedback such as the Novint Falcon or Sensable PHANTOM allow
|
||||||
PHANTOM allow you to feel the resistance due to inertia or interactions
|
you to feel the resistance due to inertia or interactions with neighbors
|
||||||
with neighbors that the atoms experience you are trying to move, as if
|
that the atoms experience you are trying to move, as if they were real
|
||||||
they were real objects. See the `VMD IMD Homepage <imdvmd_>`_ and the
|
objects. See the `VMD IMD Homepage <imdvmd_>`_ for more details.
|
||||||
`VRPN-ICMS Homepage <vrpnicms_>`_ for more details.
|
|
||||||
|
|
||||||
If IMD control messages are received, a line of text describing the
|
If IMD control messages are received, a line of text describing the
|
||||||
message and its effect will be printed to the LAMMPS output screen, if
|
message and its effect will be printed to the LAMMPS output screen, if
|
||||||
screen output is active.
|
screen output is active.
|
||||||
|
|
||||||
.. _VMD: http://www.ks.uiuc.edu/Research/vmd
|
.. _VMD: https://www.ks.uiuc.edu/Research/vmd
|
||||||
|
|
||||||
.. _imdvmd: http://www.ks.uiuc.edu/Research/vmd/imd/
|
.. _imdvmd: https://www.ks.uiuc.edu/Research/vmd/imd/
|
||||||
|
|
||||||
.. _vrpnicms: http://sites.google.com/site/akohlmey/software/vrpn-icms
|
|
||||||
|
|
||||||
Restart, fix_modify, output, run start/stop, minimize info
|
Restart, fix_modify, output, run start/stop, minimize info
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
|
No information about this fix is written to :doc:`binary restart files
|
||||||
are relevant to this fix. No global scalar or vector or per-atom
|
<restart>`. None of the :doc:`fix_modify <fix_modify>` options are
|
||||||
quantities are stored by this fix for access by various :doc:`output commands <Howto_output>`. No parameter of this fix can be used
|
relevant to this fix. No global scalar or vector or per-atom quantities
|
||||||
with the *start/stop* keywords of the :doc:`run <run>` command. This
|
are stored by this fix for access by various :doc:`output commands
|
||||||
fix is not invoked during :doc:`energy minimization <minimize>`.
|
<Howto_output>`. No parameter of this fix can be used with the
|
||||||
|
*start/stop* keywords of the :doc:`run <run>` command. This fix is not
|
||||||
|
invoked during :doc:`energy minimization <minimize>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
This fix is part of the MISC package. It is only enabled if
|
This fix is part of the MISC package. It is only enabled if LAMMPS was
|
||||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
|
built with that package. See the :doc:`Build package <Build_package>`
|
||||||
|
page for more info.
|
||||||
|
|
||||||
When used in combination with VMD, a topology or coordinate file has
|
When used in combination with VMD, a topology or coordinate file has
|
||||||
to be loaded, which matches (in number and ordering of atoms) the
|
to be loaded, which matches (in number and ordering of atoms) the
|
||||||
|
|||||||
@ -111,4 +111,4 @@ Related commands
|
|||||||
.. _ipihome:
|
.. _ipihome:
|
||||||
|
|
||||||
**(IPI)**
|
**(IPI)**
|
||||||
`http://epfl-cosmo.github.io/gle4md/index.html?page=ipi <http://epfl-cosmo.github.io/gle4md/index.html?page=ipi>`_
|
`https://ipi-code.org <https://ipi-code.org>`_
|
||||||
|
|||||||
@ -40,7 +40,7 @@ the following stochastic differential equation:
|
|||||||
\times\left( \vec{\omega}_{i} \times\vec{s}_{i} \right) \right)
|
\times\left( \vec{\omega}_{i} \times\vec{s}_{i} \right) \right)
|
||||||
|
|
||||||
with :math:`\lambda` the transverse damping, and :math:`\eta` a random vector.
|
with :math:`\lambda` the transverse damping, and :math:`\eta` a random vector.
|
||||||
This equation is referred to as the stochastic Landau-Lifshitz-Gilbert (sLLG)
|
This equation is referred to as the stochastic Landau-Lifshitz (sLL)
|
||||||
equation.
|
equation.
|
||||||
|
|
||||||
The components of :math:`\eta` are drawn from a Gaussian probability
|
The components of :math:`\eta` are drawn from a Gaussian probability
|
||||||
@ -49,7 +49,7 @@ the external thermostat T (in K in metal units).
|
|||||||
|
|
||||||
More details about this implementation are reported in :ref:`(Tranchida) <Tranchida2>`.
|
More details about this implementation are reported in :ref:`(Tranchida) <Tranchida2>`.
|
||||||
|
|
||||||
Note: due to the form of the sLLG equation, this fix has to be defined just
|
Note: due to the form of the sLL equation, this fix has to be defined just
|
||||||
before the nve/spin fix (and after all other magnetic fixes).
|
before the nve/spin fix (and after all other magnetic fixes).
|
||||||
As an example:
|
As an example:
|
||||||
|
|
||||||
|
|||||||
@ -81,6 +81,8 @@ The *coulomb* argument is not yet supported by fix latte (as of Sept
|
|||||||
Coulomb potential as an alternative to LATTE performing the
|
Coulomb potential as an alternative to LATTE performing the
|
||||||
calculation.
|
calculation.
|
||||||
|
|
||||||
|
.. versionadded:: 15Sep2022
|
||||||
|
|
||||||
The *exclude* argument allows this fix to work in tandem with another
|
The *exclude* argument allows this fix to work in tandem with another
|
||||||
fix which may decide to delete one or more atoms of molecules. The
|
fix which may decide to delete one or more atoms of molecules. The
|
||||||
specified fixID is the ID of the other fix.
|
specified fixID is the ID of the other fix.
|
||||||
|
|||||||
@ -43,6 +43,8 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
|
.. versionadded:: 3Aug2022
|
||||||
|
|
||||||
This command enables LAMMPS to act as a client with another server
|
This command enables LAMMPS to act as a client with another server
|
||||||
code that will compute the total energy, per-atom forces, and total
|
code that will compute the total energy, per-atom forces, and total
|
||||||
virial for atom conformations and simulation box size/shapes that
|
virial for atom conformations and simulation box size/shapes that
|
||||||
|
|||||||
@ -210,7 +210,8 @@ use :doc:`change_box <change_box>` before invoking the fix.
|
|||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|
||||||
When resuming from restart files, you may need to use :doc:`box tilt large <box>` since lammps has internal criteria from lattice
|
When resuming from restart files, you may need to use :doc:`box tilt
|
||||||
|
large <box>` since LAMMPS has internal criteria from lattice
|
||||||
reduction that are not the same as the criteria in the numerical
|
reduction that are not the same as the criteria in the numerical
|
||||||
lattice reduction algorithm.
|
lattice reduction algorithm.
|
||||||
|
|
||||||
|
|||||||
@ -25,6 +25,8 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
|
.. versionadded:: 17Feb2022
|
||||||
|
|
||||||
Calculate the virial stress tensor through a finite difference calculation of
|
Calculate the virial stress tensor through a finite difference calculation of
|
||||||
energy versus strain. These values can be compared to the analytic virial
|
energy versus strain. These values can be compared to the analytic virial
|
||||||
tensor computed by pair styles, bond styles, etc. This can be useful for
|
tensor computed by pair styles, bond styles, etc. This can be useful for
|
||||||
|
|||||||
@ -108,4 +108,4 @@ every = 0, tchain = 3
|
|||||||
.. _Paquay2:
|
.. _Paquay2:
|
||||||
|
|
||||||
**(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016).
|
**(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016).
|
||||||
preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
|
preprint available at `arXiv:1411.3019 <https://arxiv.org/abs/1411.3019/>`_.
|
||||||
|
|||||||
@ -82,4 +82,4 @@ Related commands
|
|||||||
.. _Paquay3:
|
.. _Paquay3:
|
||||||
|
|
||||||
**(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016).
|
**(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016).
|
||||||
preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_.
|
preprint available at `arXiv:1411.3019 <https://arxiv.org/abs/1411.3019/>`_.
|
||||||
|
|||||||
@ -134,7 +134,7 @@ for other systems, *nasr* = 10 is typically sufficient.
|
|||||||
The *map_file* contains the mapping information between the lattice
|
The *map_file* contains the mapping information between the lattice
|
||||||
indices and the atom IDs, which tells the code which atom sits at
|
indices and the atom IDs, which tells the code which atom sits at
|
||||||
which lattice point; the lattice indices start from 0. An auxiliary
|
which lattice point; the lattice indices start from 0. An auxiliary
|
||||||
code, `latgen <http://code.google.com/p/latgen>`_, can be employed to
|
code, `latgen <https://code.google.com/p/latgen>`_, can be employed to
|
||||||
generate the compatible map file for various crystals.
|
generate the compatible map file for various crystals.
|
||||||
|
|
||||||
In case one simulates a non-periodic system, where the whole simulation
|
In case one simulates a non-periodic system, where the whole simulation
|
||||||
@ -143,7 +143,7 @@ that the mapping info will be generated internally and a file is not
|
|||||||
needed. In this case, the dynamical matrix at only the gamma-point
|
needed. In this case, the dynamical matrix at only the gamma-point
|
||||||
will/can be evaluated. Please keep in mind that fix-phonon is designed
|
will/can be evaluated. Please keep in mind that fix-phonon is designed
|
||||||
for cyrstals, it will be inefficient and even degrade the performance
|
for cyrstals, it will be inefficient and even degrade the performance
|
||||||
of lammps in case the unit cell is too large.
|
of LAMMPS in case the unit cell is too large.
|
||||||
|
|
||||||
The calculated dynamical matrix elements are written out in
|
The calculated dynamical matrix elements are written out in
|
||||||
:doc:`energy/distance\^2/mass <units>` units. The coordinates for *q*
|
:doc:`energy/distance\^2/mass <units>` units. The coordinates for *q*
|
||||||
|
|||||||
@ -124,7 +124,7 @@ LAMMPS was built with that package. See the :doc:`Build package
|
|||||||
|
|
||||||
This fix does not correctly handle interactions involving multiple
|
This fix does not correctly handle interactions involving multiple
|
||||||
periodic images of the same atom. Hence, it should not be used for
|
periodic images of the same atom. Hence, it should not be used for
|
||||||
periodic cell dimensions less than 10 angstroms.
|
periodic cell dimensions less than 10 Angstroms.
|
||||||
|
|
||||||
This fix may be used in combination with :doc:`fix efield <fix_efield>`
|
This fix may be used in combination with :doc:`fix efield <fix_efield>`
|
||||||
and will apply the external electric field during charge equilibration,
|
and will apply the external electric field during charge equilibration,
|
||||||
|
|||||||
@ -31,7 +31,7 @@ wave DFT package. Electrostatic coupling is in preparation and the
|
|||||||
interface has been written in a manner that coupling to other QM codes
|
interface has been written in a manner that coupling to other QM codes
|
||||||
should be possible without changes to LAMMPS itself.
|
should be possible without changes to LAMMPS itself.
|
||||||
|
|
||||||
.. _espresso: http://www.quantum-espresso.org
|
.. _espresso: https://www.quantum-espresso.org
|
||||||
|
|
||||||
The interface code for this is in the lib/qmmm directory of the LAMMPS
|
The interface code for this is in the lib/qmmm directory of the LAMMPS
|
||||||
distribution and is being made available at this early stage of
|
distribution and is being made available at this early stage of
|
||||||
|
|||||||
@ -58,10 +58,13 @@ Description
|
|||||||
|
|
||||||
Apply bond and angle constraints to specified bonds and angles in the
|
Apply bond and angle constraints to specified bonds and angles in the
|
||||||
simulation by either the SHAKE or RATTLE algorithms. This typically
|
simulation by either the SHAKE or RATTLE algorithms. This typically
|
||||||
enables a longer timestep. The SHAKE or RATTLE algorithms, however, can
|
enables a longer timestep. The SHAKE or RATTLE constraint algorithms,
|
||||||
*only* be applied during molecular dynamics runs. When this fix is used
|
however, can *only* be applied during molecular dynamics runs.
|
||||||
during a minimization, the constraints are *approximated* by strong
|
|
||||||
harmonic restraints.
|
.. versionchanged:: 15Sep2022
|
||||||
|
|
||||||
|
These fixes may still be used during minimization. In that case the
|
||||||
|
constraints are *approximated* by strong harmonic restraints.
|
||||||
|
|
||||||
**SHAKE vs RATTLE:**
|
**SHAKE vs RATTLE:**
|
||||||
|
|
||||||
|
|||||||
@ -301,7 +301,7 @@ and for mixed periodic and non-periodic boundaries.
|
|||||||
MSM is most competitive versus Ewald and PPPM when only relatively
|
MSM is most competitive versus Ewald and PPPM when only relatively
|
||||||
low accuracy forces, about 1e-4 relative error or less accurate,
|
low accuracy forces, about 1e-4 relative error or less accurate,
|
||||||
are needed. Note that use of a larger Coulombic cutoff (i.e. 15
|
are needed. Note that use of a larger Coulombic cutoff (i.e. 15
|
||||||
angstroms instead of 10 angstroms) provides better MSM accuracy for
|
Angstroms instead of 10 Angstroms) provides better MSM accuracy for
|
||||||
both the real space and grid computed forces.
|
both the real space and grid computed forces.
|
||||||
|
|
||||||
Currently calculation of the full pressure tensor in MSM is expensive.
|
Currently calculation of the full pressure tensor in MSM is expensive.
|
||||||
@ -314,9 +314,10 @@ pressure simulation with MSM will cause the code to run slower.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
The *scafacos* style is a wrapper on the `ScaFaCoS Coulomb solver library <http://www.scafacos.de>`_ which provides a variety of solver
|
The *scafacos* style is a wrapper on the `ScaFaCoS Coulomb solver
|
||||||
methods which can be used with LAMMPS. The paper by :ref:`(Sutman) <Sutmann2014>`
|
library <http://www.scafacos.de>`_ which provides a variety of solver
|
||||||
gives an overview of ScaFaCoS.
|
methods which can be used with LAMMPS. The paper by :ref:`(Sutman)
|
||||||
|
<Sutmann2014>` gives an overview of ScaFaCoS.
|
||||||
|
|
||||||
ScaFaCoS was developed by a consortium of German research facilities
|
ScaFaCoS was developed by a consortium of German research facilities
|
||||||
with a BMBF (German Ministry of Science and Education) funded project
|
with a BMBF (German Ministry of Science and Education) funded project
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user