Merge branch 'master' into tip4p_fix_types

This commit is contained in:
Vsevak
2021-08-23 16:43:55 +03:00
1866 changed files with 41630 additions and 28185 deletions

11
.github/CODEOWNERS vendored
View File

@ -43,21 +43,21 @@ src/PHONON/* @lingtikong
src/PTM/* @pmla src/PTM/* @pmla
src/OPENMP/* @akohlmey src/OPENMP/* @akohlmey
src/QMMM/* @akohlmey src/QMMM/* @akohlmey
src/REAXFF/* @hasanmetin src/REAXFF/* @hasanmetin @stanmoore1
src/REACTION/* @jrgissing src/REACTION/* @jrgissing
src/SCAFACOS/* @rhalver src/SCAFACOS/* @rhalver
src/TALLY/* @akohlmey src/TALLY/* @akohlmey
src/UEF/* @danicholson src/UEF/* @danicholson
src/VTK/* @rbberger src/VTK/* @rbberger
# individual files in packages # individual files in packages
src/GPU/pair_vashishta_gpu.* @andeplane src/GPU/pair_vashishta_gpu.* @andeplane
src/KOKKOS/pair_vashishta_kokkos.* @andeplane src/KOKKOS/pair_vashishta_kokkos.* @andeplane
src/MANYBODY/pair_vashishta_table.* @andeplane src/MANYBODY/pair_vashishta_table.* @andeplane
src/MANYBODY/pair_atm.* @sergeylishchuk src/MANYBODY/pair_atm.* @sergeylishchuk
src/USER-MISC/*_grem.* @dstelter92 src/REPLICA/*_grem.* @dstelter92
src/USER-MISC/compute_stress_mop*.* @RomainVermorel src/EXTRA-COMPUTE/compute_stress_mop*.* @RomainVermorel
src/MISC/*_tracker.* @jtclemm
# core LAMMPS classes # core LAMMPS classes
src/lammps.* @sjplimp src/lammps.* @sjplimp
@ -81,6 +81,7 @@ src/kspace.* @sjplimp
src/lmptyp.h @sjplimp src/lmptyp.h @sjplimp
src/library.* @sjplimp src/library.* @sjplimp
src/main.cpp @sjplimp src/main.cpp @sjplimp
src/min_*.* @sjplimp
src/memory.* @sjplimp src/memory.* @sjplimp
src/modify.* @sjplimp src/modify.* @sjplimp
src/molecule.* @sjplimp src/molecule.* @sjplimp
@ -109,7 +110,6 @@ src/thermo.* @sjplimp
src/universe.* @sjplimp src/universe.* @sjplimp
src/update.* @sjplimp src/update.* @sjplimp
src/variable.* @sjplimp src/variable.* @sjplimp
src/verlet.* @sjplimp
src/velocity.* @sjplimp src/velocity.* @sjplimp
src/write_data.* @sjplimp src/write_data.* @sjplimp
src/write_restart.* @sjplimp src/write_restart.* @sjplimp
@ -122,6 +122,7 @@ src/info.* @akohlmey @rbberger
src/timer.* @akohlmey src/timer.* @akohlmey
src/min* @sjplimp @stanmoore1 src/min* @sjplimp @stanmoore1
src/utils.* @akohlmey @rbberger src/utils.* @akohlmey @rbberger
src/verlet.* @sjplimp @stanmoore1
src/math_eigen_impl.h @jewettaij src/math_eigen_impl.h @jewettaij
# tools # tools

1
.gitignore vendored
View File

@ -44,6 +44,7 @@ Thumbs.db
/build* /build*
/CMakeCache.txt /CMakeCache.txt
/CMakeFiles/ /CMakeFiles/
/Testing
/Makefile /Makefile
/Testing /Testing
/cmake_install.cmake /cmake_install.cmake

View File

@ -161,9 +161,15 @@ set(STANDARD_PACKAGES
DPD-SMOOTH DPD-SMOOTH
DRUDE DRUDE
EFF EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP FEP
GRANULAR GRANULAR
H5MD H5MD
INTERLAYER
KIM KIM
KSPACE KSPACE
LATBOLTZ LATBOLTZ
@ -190,6 +196,7 @@ set(STANDARD_PACKAGES
MPIIO MPIIO
MSCG MSCG
NETCDF NETCDF
ORIENT
PERI PERI
PHONON PHONON
PLUGIN PLUGIN
@ -212,7 +219,6 @@ set(STANDARD_PACKAGES
SRD SRD
TALLY TALLY
UEF UEF
USER-MISC
VORONOI VORONOI
VTK VTK
YAFF) YAFF)
@ -238,15 +244,16 @@ if(PKG_ADIOS)
endif() endif()
if(NOT CMAKE_CROSSCOMPILING) if(NOT CMAKE_CROSSCOMPILING)
set(MPI_CXX_SKIP_MPICXX TRUE)
find_package(MPI QUIET) find_package(MPI QUIET)
option(BUILD_MPI "Build MPI version" ${MPI_FOUND}) option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
else() else()
set(MPI_CXX_SKIP_MPICXX TRUE)
option(BUILD_MPI "Build MPI version" OFF) option(BUILD_MPI "Build MPI version" OFF)
endif() endif()
if(BUILD_MPI) if(BUILD_MPI)
# do not include the (obsolete) MPI C++ bindings which makes
# for leaner object files and avoids namespace conflicts
set(MPI_CXX_SKIP_MPICXX TRUE)
# We use a non-standard procedure to cross-compile with MPI on Windows # We use a non-standard procedure to cross-compile with MPI on Windows
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
include(MPI4WIN) include(MPI4WIN)
@ -305,6 +312,7 @@ pkg_depends(LATBOLTZ MPI)
pkg_depends(PHONON KSPACE) pkg_depends(PHONON KSPACE)
pkg_depends(SCAFACOS MPI) pkg_depends(SCAFACOS MPI)
pkg_depends(DIELECTRIC KSPACE) pkg_depends(DIELECTRIC KSPACE)
pkg_depends(DIELECTRIC EXTRA-PAIR)
pkg_depends(CG-DNA MOLECULE) pkg_depends(CG-DNA MOLECULE)
pkg_depends(CG-DNA ASPHERE) pkg_depends(CG-DNA ASPHERE)
@ -362,6 +370,8 @@ if(PKG_MSCG OR PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_LATTE)
endif() endif()
endif() endif()
# tweak jpeg library names to avoid linker errors with MinGW cross-compilation
set(JPEG_NAMES libjpeg libjpeg-62)
find_package(JPEG QUIET) find_package(JPEG QUIET)
option(WITH_JPEG "Enable JPEG support" ${JPEG_FOUND}) option(WITH_JPEG "Enable JPEG support" ${JPEG_FOUND})
if(WITH_JPEG) if(WITH_JPEG)

View File

@ -3,7 +3,7 @@ if(NOT FOUND_IMMINTRIN)
message(FATAL_ERROR "immintrin.h header not found, Intel package won't work without it") message(FATAL_ERROR "immintrin.h header not found, Intel package won't work without it")
endif() endif()
target_compile_definitions(lammps PRIVATE -DLMP_USER_INTEL) target_compile_definitions(lammps PRIVATE -DLMP_INTEL)
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by INTEL (cpu or knl)") set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by INTEL (cpu or knl)")
set(INTEL_ARCH_VALUES cpu knl) set(INTEL_ARCH_VALUES cpu knl)

View File

@ -74,7 +74,7 @@ else()
target_link_libraries(lammps PRIVATE kokkos) target_link_libraries(lammps PRIVATE kokkos)
target_link_libraries(lmp PRIVATE kokkos) target_link_libraries(lmp PRIVATE kokkos)
endif() endif()
target_compile_definitions(lammps PRIVATE -DLMP_KOKKOS) target_compile_definitions(lammps PUBLIC $<BUILD_INTERFACE:LMP_KOKKOS>)
set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS) set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS)
set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp
@ -127,4 +127,4 @@ endif()
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES) get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
target_sources(lammps PRIVATE ${KOKKOS_PKG_SOURCES}) target_sources(lammps PRIVATE ${KOKKOS_PKG_SOURCES})
target_include_directories(lammps PRIVATE ${KOKKOS_PKG_SOURCES_DIR}) target_include_directories(lammps PUBLIC $<BUILD_INTERFACE:${KOKKOS_PKG_SOURCES_DIR}>)

View File

@ -7,8 +7,8 @@ endif()
option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" ${DOWNLOAD_EIGEN3_DEFAULT}) option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" ${DOWNLOAD_EIGEN3_DEFAULT})
if(DOWNLOAD_EIGEN3) if(DOWNLOAD_EIGEN3)
message(STATUS "Eigen3 download requested - we will build our own") message(STATUS "Eigen3 download requested - we will build our own")
set(EIGEN3_URL "https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz" CACHE STRING "URL for Eigen3 tarball") set(EIGEN3_URL "https://gitlab.com/libeigen/eigen/-/archive/3.3.9/eigen-3.3.9.tar.gz" CACHE STRING "URL for Eigen3 tarball")
set(EIGEN3_MD5 "9e30f67e8531477de4117506fe44669b" CACHE STRING "MD5 checksum of Eigen3 tarball") set(EIGEN3_MD5 "609286804b0f79be622ccf7f9ff2b660" CACHE STRING "MD5 checksum of Eigen3 tarball")
mark_as_advanced(EIGEN3_URL) mark_as_advanced(EIGEN3_URL)
mark_as_advanced(EIGEN3_MD5) mark_as_advanced(EIGEN3_MD5)
include(ExternalProject) include(ExternalProject)
@ -30,3 +30,8 @@ else()
endif() endif()
target_link_libraries(lammps PRIVATE Eigen3::Eigen) target_link_libraries(lammps PRIVATE Eigen3::Eigen)
endif() endif()
# PGI/Nvidia compiler internals collide with vector intrinsics support in Eigen3
if((CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR (CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC"))
target_compile_definitions(lammps PRIVATE -DEIGEN_DONT_VECTORIZE)
endif()

View File

@ -114,5 +114,5 @@ else()
target_link_libraries(lmp PRIVATE ${mdi_LIBRARY}) target_link_libraries(lmp PRIVATE ${mdi_LIBRARY})
endif() endif()
target_compile_definitions(lammps PRIVATE -DLMP_USER_MDI) target_compile_definitions(lammps PRIVATE -DLMP_MDI)
target_compile_definitions(lmp PRIVATE -DLMP_USER_MDI) target_compile_definitions(lmp PRIVATE -DLMP_MDI)

View File

@ -5,7 +5,7 @@
${OPENMP_SOURCES_DIR}/fix_nh_omp.cpp ${OPENMP_SOURCES_DIR}/fix_nh_omp.cpp
${OPENMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp ${OPENMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
${OPENMP_SOURCES_DIR}/domain_omp.cpp) ${OPENMP_SOURCES_DIR}/domain_omp.cpp)
target_compile_definitions(lammps PRIVATE -DLMP_USER_OMP) target_compile_definitions(lammps PRIVATE -DLMP_OPENMP)
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${OPENMP_SOURCES}") set_property(GLOBAL PROPERTY "OMP_SOURCES" "${OPENMP_SOURCES}")
# detects styles which have OPENMP version # detects styles which have OPENMP version
@ -25,15 +25,15 @@
endif() endif()
if(PKG_REAXFF) if(PKG_REAXFF)
list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxc_bond_orders_omp.cpp list(APPEND OPENMP_SOURCES ${OPENMP_SOURCES_DIR}/reaxff_bond_orders_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_hydrogen_bonds_omp.cpp ${OPENMP_SOURCES_DIR}/reaxff_hydrogen_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_nonbonded_omp.cpp ${OPENMP_SOURCES_DIR}/reaxff_nonbonded_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_bonds_omp.cpp ${OPENMP_SOURCES_DIR}/reaxff_bonds_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_init_md_omp.cpp ${OPENMP_SOURCES_DIR}/reaxff_init_md_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_torsion_angles_omp.cpp ${OPENMP_SOURCES_DIR}/reaxff_torsion_angles_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_forces_omp.cpp ${OPENMP_SOURCES_DIR}/reaxff_forces_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_multi_body_omp.cpp ${OPENMP_SOURCES_DIR}/reaxff_multi_body_omp.cpp
${OPENMP_SOURCES_DIR}/reaxc_valence_angles_omp.cpp) ${OPENMP_SOURCES_DIR}/reaxff_valence_angles_omp.cpp)
endif() endif()
target_sources(lammps PRIVATE ${OPENMP_SOURCES}) target_sources(lammps PRIVATE ${OPENMP_SOURCES})

View File

@ -54,8 +54,8 @@ if(DOWNLOAD_PLUMED)
set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumedWrapper.a") set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumedWrapper.a")
endif() endif()
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.1/plumed-src-2.7.1.tgz" CACHE STRING "URL for PLUMED tarball") set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.2/plumed-src-2.7.2.tgz" CACHE STRING "URL for PLUMED tarball")
set(PLUMED_MD5 "4eac6a462ec84dfe0cec96c82421b8e8" CACHE STRING "MD5 checksum of PLUMED tarball") set(PLUMED_MD5 "cfa0b4dd90a81c25d3302e8d97bfeaea" CACHE STRING "MD5 checksum of PLUMED tarball")
mark_as_advanced(PLUMED_URL) mark_as_advanced(PLUMED_URL)
mark_as_advanced(PLUMED_MD5) mark_as_advanced(PLUMED_MD5)
@ -72,7 +72,6 @@ if(DOWNLOAD_PLUMED)
${PLUMED_CONFIG_OMP} ${PLUMED_CONFIG_OMP}
CXX=${PLUMED_CONFIG_CXX} CXX=${PLUMED_CONFIG_CXX}
CC=${PLUMED_CONFIG_CC} CC=${PLUMED_CONFIG_CC}
PATCH_COMMAND sed -i "/^#include <algorithm>/a #include <limits>" <SOURCE_DIR>/src/lepton/Operation.h
BUILD_BYPRODUCTS ${PLUMED_BUILD_BYPRODUCTS} BUILD_BYPRODUCTS ${PLUMED_BUILD_BYPRODUCTS}
) )
ExternalProject_get_property(plumed_build INSTALL_DIR) ExternalProject_get_property(plumed_build INSTALL_DIR)

View File

@ -25,11 +25,17 @@ set(ALL_PACKAGES
DPD-SMOOTH DPD-SMOOTH
DRUDE DRUDE
EFF EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP FEP
GPU GPU
GRANULAR GRANULAR
H5MD H5MD
INTEL INTEL
INTERLAYER
KIM KIM
KOKKOS KOKKOS
KSPACE KSPACE
@ -59,6 +65,7 @@ set(ALL_PACKAGES
NETCDF NETCDF
OPENMP OPENMP
OPT OPT
ORIENT
PERI PERI
PHONON PHONON
PLUGIN PLUGIN
@ -81,7 +88,6 @@ set(ALL_PACKAGES
SRD SRD
TALLY TALLY
UEF UEF
USER-MISC
VORONOI VORONOI
VTK VTK
YAFF) YAFF)

View File

@ -27,11 +27,17 @@ set(ALL_PACKAGES
DPD-SMOOTH DPD-SMOOTH
DRUDE DRUDE
EFF EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP FEP
GPU GPU
GRANULAR GRANULAR
H5MD H5MD
INTEL INTEL
INTERLAYER
KIM KIM
KOKKOS KOKKOS
KSPACE KSPACE
@ -61,6 +67,7 @@ set(ALL_PACKAGES
NETCDF NETCDF
OPENMP OPENMP
OPT OPT
ORIENT
PERI PERI
PHONON PHONON
PLUGIN PLUGIN
@ -83,7 +90,6 @@ set(ALL_PACKAGES
SRD SRD
TALLY TALLY
UEF UEF
USER-MISC
VORONOI VORONOI
VTK VTK
YAFF) YAFF)

View File

@ -21,10 +21,16 @@ set(WIN_PACKAGES
DPD-SMOOTH DPD-SMOOTH
DRUDE DRUDE
EFF EFF
EXTRA-COMPUTE
EXTRA-DUMP
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP FEP
GPU GPU
GRANULAR GRANULAR
INTEL INTEL
INTERLAYER
KSPACE KSPACE
LATTE LATTE
MACHDYN MACHDYN
@ -39,11 +45,13 @@ set(WIN_PACKAGES
ML-HDNNP ML-HDNNP
ML-IAP ML-IAP
ML-SNAP ML-SNAP
ML-RANN
MOFFF MOFFF
MOLECULE MOLECULE
MOLFILE MOLFILE
OPENMP OPENMP
OPT OPT
ORIENT
PERI PERI
PHONON PHONON
POEMS POEMS
@ -61,7 +69,6 @@ set(WIN_PACKAGES
SRD SRD
TALLY TALLY
UEF UEF
USER-MISC
VORONOI VORONOI
YAFF) YAFF)

View File

@ -23,8 +23,13 @@ set(ALL_PACKAGES
DPD-SMOOTH DPD-SMOOTH
DRUDE DRUDE
EFF EFF
EXTRA-COMPUTE
EXTRA-FIX
EXTRA-MOLECULE
EXTRA-PAIR
FEP FEP
GRANULAR GRANULAR
INTERLAYER
KSPACE KSPACE
MACHDYN MACHDYN
MANYBODY MANYBODY
@ -37,6 +42,7 @@ set(ALL_PACKAGES
MOLECULE MOLECULE
OPENMP OPENMP
OPT OPT
ORIENT
PERI PERI
PHONON PHONON
PLUGIN PLUGIN
@ -51,8 +57,8 @@ set(ALL_PACKAGES
SPH SPH
SPIN SPIN
SRD SRD
TALLY
UEF UEF
USER-MISC
VORONOI VORONOI
YAFF) YAFF)

View File

@ -1,4 +1,4 @@
.TH LAMMPS "2 July 2021" "2021-07-2" .TH LAMMPS "30 July 2021" "2021-07-30"
.SH NAME .SH NAME
.B LAMMPS .B LAMMPS
\- Molecular Dynamics Simulator. \- Molecular Dynamics Simulator.

View File

@ -191,7 +191,7 @@ Bibliography
A.\ Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, 415 (1996). A.\ Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, 415 (1996).
**(Campana)** **(Campana)**
C.\ Campana and M. H. Muser, *Practical Green's function approach to the simulation of elastic semi-infinite solids*\ , `Phys. Rev. B [74], 075420 (2006) <https://doi.org/10.1103/PhysRevB.74.075420>`_ C.\ Campana and M. H. Muser, *Practical Green's function approach to the simulation of elastic semi-infinite solids*, `Phys. Rev. B [74], 075420 (2006) <https://doi.org/10.1103/PhysRevB.74.075420>`_
**(Cao1)** **(Cao1)**
J.\ Cao and B. Berne, J Chem Phys, 99, 2902 (1993). J.\ Cao and B. Berne, J Chem Phys, 99, 2902 (1993).
@ -767,7 +767,7 @@ Bibliography
Morris, Fox, Zhu, J Comp Physics, 136, 214-226 (1997). Morris, Fox, Zhu, J Comp Physics, 136, 214-226 (1997).
**(Moustafa)** **(Moustafa)**
Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, *Very fast averaging of thermal properties of crystals by molecular simulation*\ , `Phys. Rev. E [92], 043303 (2015) <https://link.aps.org/doi/10.1103/PhysRevE.92.043303>`_ Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, *Very fast averaging of thermal properties of crystals by molecular simulation*, `Phys. Rev. E [92], 043303 (2015) <https://link.aps.org/doi/10.1103/PhysRevE.92.043303>`_
**(Muller-Plathe1)** **(Muller-Plathe1)**
Muller-Plathe, J Chem Phys, 106, 6082 (1997). Muller-Plathe, J Chem Phys, 106, 6082 (1997).

View File

@ -204,9 +204,9 @@ be multiple tests run automatically:
.. parsed-literal:: .. parsed-literal::
Found 74 packages Found 88 packages
Standard package NEWPACKAGE missing in Packages_standard.rst Package NEWPACKAGE missing in Packages_list.rst
Standard package NEWPACKAGE missing in Packages_details.rst Package NEWPACKAGE missing in Packages_details.rst
- 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

View File

@ -2,7 +2,7 @@ Commands by category
==================== ====================
This page lists most of the LAMMPS commands, grouped by category. The This page lists most of the LAMMPS commands, grouped by category. The
:doc:`General commands <Commands_all>` doc page lists all general commands :doc:`General commands <Commands_all>` page lists all general commands
alphabetically. Style options for entries like fix, compute, pair etc. alphabetically. Style options for entries like fix, compute, pair etc.
have their own pages where they are listed alphabetically. have their own pages where they are listed alphabetically.

View File

@ -179,14 +179,14 @@ OPT.
* :doc:`qeq/dynamic <fix_qeq>` * :doc:`qeq/dynamic <fix_qeq>`
* :doc:`qeq/fire <fix_qeq>` * :doc:`qeq/fire <fix_qeq>`
* :doc:`qeq/point <fix_qeq>` * :doc:`qeq/point <fix_qeq>`
* :doc:`qeq/reax (ko) <fix_qeq_reax>` * :doc:`qeq/reaxff (ko) <fix_qeq_reaxff>`
* :doc:`qeq/shielded <fix_qeq>` * :doc:`qeq/shielded <fix_qeq>`
* :doc:`qeq/slater <fix_qeq>` * :doc:`qeq/slater <fix_qeq>`
* :doc:`qmmm <fix_qmmm>` * :doc:`qmmm <fix_qmmm>`
* :doc:`qtb <fix_qtb>` * :doc:`qtb <fix_qtb>`
* :doc:`rattle <fix_shake>` * :doc:`rattle <fix_shake>`
* :doc:`reax/c/bonds (k) <fix_reaxc_bonds>` * :doc:`reaxff/bonds (k) <fix_reaxff_bonds>`
* :doc:`reax/c/species (k) <fix_reaxc_species>` * :doc:`reaxff/species (k) <fix_reaxff_species>`
* :doc:`recenter <fix_recenter>` * :doc:`recenter <fix_recenter>`
* :doc:`restrain <fix_restrain>` * :doc:`restrain <fix_restrain>`
* :doc:`rhok <fix_rhok>` * :doc:`rhok <fix_rhok>`

View File

@ -50,6 +50,6 @@ values are not desired, the :doc:`processors <processors>` and
tell LAMMPS how to map processors to the simulation box. tell LAMMPS how to map processors to the simulation box.
Many input script errors are detected by LAMMPS and an ERROR or Many input script errors are detected by LAMMPS and an ERROR or
WARNING message is printed. The :doc:`Errors <Errors>` doc page gives WARNING message is printed. The :doc:`Errors <Errors>` page gives
more information on what errors mean. The documentation for each more information on what errors mean. The documentation for each
command lists restrictions on how the command can be used. command lists restrictions on how the command can be used.

View File

@ -29,7 +29,7 @@ OPT.
* :doc:`hybrid/scaled <pair_hybrid>` * :doc:`hybrid/scaled <pair_hybrid>`
* :doc:`kim <pair_kim>` * :doc:`kim <pair_kim>`
* :doc:`list <pair_list>` * :doc:`list <pair_list>`
* * :doc:`tracker <pair_tracker>`
* *
* *
* *
@ -75,6 +75,7 @@ OPT.
* :doc:`coul/debye (gko) <pair_coul>` * :doc:`coul/debye (gko) <pair_coul>`
* :doc:`coul/diel (o) <pair_coul_diel>` * :doc:`coul/diel (o) <pair_coul_diel>`
* :doc:`coul/dsf (gko) <pair_coul>` * :doc:`coul/dsf (gko) <pair_coul>`
* :doc:`coul/exclude <pair_coul>`
* :doc:`coul/long (gko) <pair_coul>` * :doc:`coul/long (gko) <pair_coul>`
* :doc:`coul/long/cs (g) <pair_cs>` * :doc:`coul/long/cs (g) <pair_cs>`
* :doc:`coul/long/dielectric <pair_dielectric>` * :doc:`coul/long/dielectric <pair_dielectric>`
@ -235,7 +236,7 @@ OPT.
* :doc:`python <pair_python>` * :doc:`python <pair_python>`
* :doc:`quip <pair_quip>` * :doc:`quip <pair_quip>`
* :doc:`rann <pair_rann>` * :doc:`rann <pair_rann>`
* :doc:`reax/c (ko) <pair_reaxc>` * :doc:`reaxff (ko) <pair_reaxff>`
* :doc:`rebo (io) <pair_airebo>` * :doc:`rebo (io) <pair_airebo>`
* :doc:`resquared (go) <pair_resquared>` * :doc:`resquared (go) <pair_resquared>`
* :doc:`sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>` * :doc:`sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>`
@ -273,7 +274,6 @@ OPT.
* :doc:`tip4p/cut (o) <pair_coul>` * :doc:`tip4p/cut (o) <pair_coul>`
* :doc:`tip4p/long (o) <pair_coul>` * :doc:`tip4p/long (o) <pair_coul>`
* :doc:`tip4p/long/soft (o) <pair_fep_soft>` * :doc:`tip4p/long/soft (o) <pair_fep_soft>`
* :doc:`tracker <pair_tracker>`
* :doc:`tri/lj <pair_tri_lj>` * :doc:`tri/lj <pair_tri_lj>`
* :doc:`ufm (got) <pair_ufm>` * :doc:`ufm (got) <pair_ufm>`
* :doc:`vashishta (gko) <pair_vashishta>` * :doc:`vashishta (gko) <pair_vashishta>`

View File

@ -47,7 +47,7 @@ LAMMPS:
named "x" followed by an "x" character. named "x" followed by an "x" character.
How the variable is converted to a text string depends on what style How the variable is converted to a text string depends on what style
of variable it is; see the :doc:`variable <variable>` doc page for of variable it is; see the :doc:`variable <variable>` page for
details. It can be a variable that stores multiple text strings, and details. It can be a variable that stores multiple text strings, and
return one of them. The returned text string can be multiple "words" return one of them. The returned text string can be multiple "words"
(space separated) which will then be interpreted as multiple (space separated) which will then be interpreted as multiple

View File

@ -17,7 +17,7 @@ currently supports building with :doc:`conventional makefiles
differ in how packages are enabled or disabled for inclusion into a differ in how packages are enabled or disabled for inclusion into a
LAMMPS binary so they cannot be mixed. The source files for each LAMMPS binary so they cannot be mixed. The source files for each
package are in all-uppercase sub-directories of the ``src`` folder, for package are in all-uppercase sub-directories of the ``src`` folder, for
example ``src/MOLECULE`` or ``src/USER-MISC``. The ``src/STUBS`` example ``src/MOLECULE`` or ``src/EXTRA-MOLECULE``. The ``src/STUBS``
sub-directory is not a package but contains a dummy MPI library, that is sub-directory is not a package but contains a dummy MPI library, that is
used when building a serial version of the code. The ``src/MAKE`` used when building a serial version of the code. The ``src/MAKE``
directory and its sub-directories contain makefiles with settings and directory and its sub-directories contain makefiles with settings and

View File

@ -334,10 +334,11 @@ arguments of commands in LAMMPS are parsed and to make abstractions of
repetitive tasks. repetitive tasks.
The :cpp:class:`LAMMPS_NS::ArgInfo` class provides an abstraction The :cpp:class:`LAMMPS_NS::ArgInfo` class provides an abstraction
for parsing references to compute or fix styles or variables. These for parsing references to compute or fix styles, variables or custom
would start with a "c\_", "f\_", "v\_" followed by the ID or name of integer or double properties handled by :doc:`fix property/atom <fix_property_atom>`.
than instance and may be postfixed with one or two array indices These would start with a "c\_", "f\_", "v\_", "d\_", "d2\_", "i\_", or "i2\_"
"[<number>]" with numbers > 0. followed by the ID or name of than instance and may be postfixed with
one or two array indices "[<number>]" with numbers > 0.
A typical code segment would look like this: A typical code segment would look like this:

View File

@ -17,8 +17,9 @@ the steps outlined below:
if your issue has already been reported and if it is still open. if your issue has already been reported and if it is still open.
* Check the `GitHub Pull Requests page <https://github.com/lammps/lammps/pulls>`_ * Check the `GitHub Pull Requests page <https://github.com/lammps/lammps/pulls>`_
to see if there is already a fix for your bug pending. to see if there is already a fix for your bug pending.
* Check the `mailing list archives <https://www.lammps.org/mail.html>`_ * Check the `mailing list archives <https://www.lammps.org/mail.html>`_ or
to see if the issue has been discussed before. the `LAMMPS forum <https://www.lammps.org/forum.html>`_ to see if the
issue has been discussed before.
If none of these steps yields any useful information, please file a new If none of these steps yields any useful information, please file a new
bug report on the `GitHub Issue page <https://github.com/lammps/lammps/issues>`_. bug report on the `GitHub Issue page <https://github.com/lammps/lammps/issues>`_.

View File

@ -570,10 +570,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
See the region prism command for details. See the region prism command for details.
*Can only use -plog with multiple partitions* *Can only use -plog with multiple partitions*
Self-explanatory. See doc page discussion of command-line switches. Self-explanatory. See page discussion of command-line switches.
*Can only use -pscreen with multiple partitions* *Can only use -pscreen with multiple partitions*
Self-explanatory. See doc page discussion of command-line switches. Self-explanatory. See page discussion of command-line switches.
*Can only use Kokkos supported regions with Kokkos package* *Can only use Kokkos supported regions with Kokkos package*
Self-explanatory. Self-explanatory.
@ -1154,7 +1154,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
Self-explanatory. Self-explanatory.
*Cannot use -reorder after -partition* *Cannot use -reorder after -partition*
Self-explanatory. See doc page discussion of command-line switches. Self-explanatory. See page discussion of command-line switches.
*Cannot use Ewald with 2d simulation* *Cannot use Ewald with 2d simulation*
The kspace style ewald cannot be used in 2d simulations. You can use The kspace style ewald cannot be used in 2d simulations. You can use
@ -2347,14 +2347,14 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
*Compute used in variable between runs is not current* *Compute used in variable between runs is not current*
Computes cannot be invoked by a variable in between runs. Thus they Computes cannot be invoked by a variable in between runs. Thus they
must have been evaluated on the last timestep of the previous run in must have been evaluated on the last timestep of the previous run in
order for their value(s) to be accessed. See the doc page for the order for their value(s) to be accessed. See the page for the
variable command for more info. variable command for more info.
*Compute used in variable thermo keyword between runs is not current* *Compute used in variable thermo keyword between runs is not current*
Some thermo keywords rely on a compute to calculate their value(s). Some thermo keywords rely on a compute to calculate their value(s).
Computes cannot be invoked by a variable in between runs. Thus they Computes cannot be invoked by a variable in between runs. Thus they
must have been evaluated on the last timestep of the previous run in must have been evaluated on the last timestep of the previous run in
order for their value(s) to be accessed. See the doc page for the order for their value(s) to be accessed. See the page for the
variable command for more info. variable command for more info.
*Compute vcm/chunk does not use chunk/atom compute* *Compute vcm/chunk does not use chunk/atom compute*
@ -3126,7 +3126,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
*Energy was not tallied on needed timestep* *Energy was not tallied on needed timestep*
You are using a thermo keyword that requires potentials to You are using a thermo keyword that requires potentials to
have tallied energy, but they did not on this timestep. See the have tallied energy, but they did not on this timestep. See the
variable doc page for ideas on how to make this work. variable page for ideas on how to make this work.
*Epsilon or sigma reference not set by pair style in PPPMDisp* *Epsilon or sigma reference not set by pair style in PPPMDisp*
Self-explanatory. Self-explanatory.
@ -4535,10 +4535,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
particles. particles.
*Incorrect # of floating-point values in Bodies section of data file* *Incorrect # of floating-point values in Bodies section of data file*
See doc page for body style. See page for body style.
*Incorrect # of integer values in Bodies section of data file* *Incorrect # of integer values in Bodies section of data file*
See doc page for body style. See page for body style.
*Incorrect %s format in data file* *Incorrect %s format in data file*
A section of the data file being read by fix property/atom does A section of the data file being read by fix property/atom does
@ -4573,7 +4573,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
The number of fields per line is not what expected. The number of fields per line is not what expected.
*Incorrect bonus data format in data file* *Incorrect bonus data format in data file*
See the read_data doc page for a description of how various kinds of See the read_data page for a description of how various kinds of
bonus data must be formatted for certain atom styles. bonus data must be formatted for certain atom styles.
*Incorrect boundaries with slab Ewald* *Incorrect boundaries with slab Ewald*
@ -4641,7 +4641,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
Incorrect number of words per line in the potential file. Incorrect number of words per line in the potential file.
*Incorrect integer value in Bodies section of data file* *Incorrect integer value in Bodies section of data file*
See doc page for body style. See page for body style.
*Incorrect multiplicity arg for dihedral coefficients* *Incorrect multiplicity arg for dihedral coefficients*
Self-explanatory. Check the input script or data file. Self-explanatory. Check the input script or data file.
@ -5996,7 +5996,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
Self-explanatory. Self-explanatory.
*Needed bonus data not in data file* *Needed bonus data not in data file*
Some atom styles require bonus data. See the read_data doc page for Some atom styles require bonus data. See the read_data page for
details. details.
*Needed molecular topology not in data file* *Needed molecular topology not in data file*
@ -6198,7 +6198,7 @@ keyword to allow for additional bonds to be formed
*One or more atom IDs is too big* *One or more atom IDs is too big*
The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL The limit on atom IDs is set by the SMALLBIG, BIGBIG, SMALLSMALL
setting in your LAMMPS build. See the :doc:`Build settings <Build_settings>` doc page for more info. setting in your LAMMPS build. See the :doc:`Build settings <Build_settings>` page for more info.
*One or more atom IDs is zero* *One or more atom IDs is zero*
Either all atoms IDs must be zero or none of them. Either all atoms IDs must be zero or none of them.
@ -6593,7 +6593,7 @@ keyword to allow for additional bonds to be formed
*Pair style bop requires comm ghost cutoff at least 3x larger than %g* *Pair style bop requires comm ghost cutoff at least 3x larger than %g*
Use the communicate ghost command to set this. See the pair bop Use the communicate ghost command to set this. See the pair bop
doc page for more details. page for more details.
*Pair style born/coul/long requires atom attribute q* *Pair style born/coul/long requires atom attribute q*
An atom style that defines this attribute must be used. An atom style that defines this attribute must be used.
@ -6913,7 +6913,7 @@ keyword to allow for additional bonds to be formed
*Per-atom energy was not tallied on needed timestep* *Per-atom energy was not tallied on needed timestep*
You are using a thermo keyword that requires potentials to You are using a thermo keyword that requires potentials to
have tallied energy, but they did not on this timestep. See the have tallied energy, but they did not on this timestep. See the
variable doc page for ideas on how to make this work. variable page for ideas on how to make this work.
*Per-atom fix in equal-style variable formula* *Per-atom fix in equal-style variable formula*
Equal-style variables cannot use per-atom quantities. Equal-style variables cannot use per-atom quantities.
@ -6921,7 +6921,7 @@ keyword to allow for additional bonds to be formed
*Per-atom virial was not tallied on needed timestep* *Per-atom virial was not tallied on needed timestep*
You are using a thermo keyword that requires potentials to have You are using a thermo keyword that requires potentials to have
tallied the virial, but they did not on this timestep. See the tallied the virial, but they did not on this timestep. See the
variable doc page for ideas on how to make this work. variable page for ideas on how to make this work.
*Per-processor system is too big* *Per-processor system is too big*
The number of owned atoms plus ghost atoms on a single The number of owned atoms plus ghost atoms on a single
@ -8408,7 +8408,7 @@ keyword to allow for additional bonds to be formed
*Virial was not tallied on needed timestep* *Virial was not tallied on needed timestep*
You are using a thermo keyword that requires potentials to You are using a thermo keyword that requires potentials to
have tallied the virial, but they did not on this timestep. See the have tallied the virial, but they did not on this timestep. See the
variable doc page for ideas on how to make this work. variable page for ideas on how to make this work.
*Voro++ error: narea and neigh have a different size* *Voro++ error: narea and neigh have a different size*
This error is returned by the Voro++ library. This error is returned by the Voro++ library.

View File

@ -213,7 +213,7 @@ Doc page with :doc:`ERROR messages <Errors_messages>`
in unexpected behavior. in unexpected behavior.
*Fix bond/swap will ignore defined angles* *Fix bond/swap will ignore defined angles*
See the doc page for fix bond/swap for more info on this See the page for fix bond/swap for more info on this
restriction. restriction.
*Fix deposit near setting < possible overlap separation %g* *Fix deposit near setting < possible overlap separation %g*
@ -514,7 +514,7 @@ This will most likely cause errors in kinetic fluctuations.
will integrate the body motion, but it would be more efficient to use will integrate the body motion, but it would be more efficient to use
fix rigid. fix rigid.
*Not using real units with pair reax* *Not using real units with pair reaxff*
This is most likely an error, unless you have created your own ReaxFF This is most likely an error, unless you have created your own ReaxFF
parameter file in a different set of units. parameter file in a different set of units.
@ -805,5 +805,3 @@ This will most likely cause errors in kinetic fluctuations.
*Using pair tail corrections with pair_modify compute no* *Using pair tail corrections with pair_modify compute no*
The tail corrections will thus not be computed. The tail corrections will thus not be computed.
*pair style reax is now deprecated and will soon be retired. Users should switch to pair_style reax/c*
Self-explanatory.

View File

@ -174,10 +174,10 @@ web site.
If you uncomment the :doc:`dump image <dump_image>` line(s) in the input If you uncomment the :doc:`dump image <dump_image>` line(s) in the input
script a series of JPG images will be produced by the run (assuming script a series of JPG images will be produced by the run (assuming
you built LAMMPS with JPG support; see the you built LAMMPS with JPG support; see the
:doc:`Build_settings <Build_settings>` doc page for details). These can :doc:`Build_settings <Build_settings>` page for details). These can
be viewed individually or turned into a movie or animated by tools be viewed individually or turned into a movie or animated by tools
like ImageMagick or QuickTime or various Windows-based tools. See the like ImageMagick or QuickTime or various Windows-based tools. See the
:doc:`dump image <dump_image>` doc page for more details. E.g. this :doc:`dump image <dump_image>` page for more details. E.g. this
Imagemagick command would create a GIF file suitable for viewing in a Imagemagick command would create a GIF file suitable for viewing in a
browser. browser.
@ -207,14 +207,12 @@ Uppercase directories
+------------+--------------------------------------------------------------------------------------------------+ +------------+--------------------------------------------------------------------------------------------------+
| MC | using LAMMPS in a Monte Carlo mode to relax the energy of a system | | MC | using LAMMPS in a Monte Carlo mode to relax the energy of a system |
+------------+--------------------------------------------------------------------------------------------------+ +------------+--------------------------------------------------------------------------------------------------+
| PACKAGES | examples for specific packages and contributed commands in USER-MISC | | PACKAGES | examples for specific packages and contributed commands |
+------------+--------------------------------------------------------------------------------------------------+ +------------+--------------------------------------------------------------------------------------------------+
| SPIN | examples for features of the SPIN package | | SPIN | examples for features of the SPIN package |
+------------+--------------------------------------------------------------------------------------------------+ +------------+--------------------------------------------------------------------------------------------------+
| UNITS | examples that run the same simulation in lj, real, metal units | | UNITS | examples that run the same simulation in lj, real, metal units |
+------------+--------------------------------------------------------------------------------------------------+ +------------+--------------------------------------------------------------------------------------------------+
| USER-MISC | examples for commands in the USER-MISC packages |
+------------+--------------------------------------------------------------------------------------------------+
| VISCOSITY | compute viscosity via several methods | | VISCOSITY | compute viscosity via several methods |
+------------+--------------------------------------------------------------------------------------------------+ +------------+--------------------------------------------------------------------------------------------------+
@ -228,7 +226,4 @@ of the sub-directories have their own README files which give further
instructions. See the :doc:`Packages_details <Packages_details>` doc instructions. See the :doc:`Packages_details <Packages_details>` doc
page for more info on specific packages. page for more info on specific packages.
Similarly the USER-MISC directory has sub-directories for examples
corresponding to individual commands or styles in the USER-MISC package.
.. _openkim: https://openkim.org .. _openkim: https://openkim.org

View File

@ -50,7 +50,7 @@ a temperature or pressure compute to a barostatting fix.
Thermodynamic output, which can be setup via the Thermodynamic output, which can be setup via the
:doc:`thermo_style <thermo_style>` command, often includes pressure :doc:`thermo_style <thermo_style>` command, often includes pressure
values. As explained on the doc page for the values. As explained on the page for the
:doc:`thermo_style <thermo_style>` command, the default pressure is :doc:`thermo_style <thermo_style>` command, the default pressure is
setup by the thermo command itself. It is NOT the pressure associated setup by the thermo command itself. It is NOT the pressure associated
with any barostatting fix you have defined or with any compute you with any barostatting fix you have defined or with any compute you

View File

@ -49,7 +49,7 @@ command's documentation for the formula it computes.
COMPASS is a general force field for atomistic simulation of common COMPASS is a general force field for atomistic simulation of common
organic molecules, inorganic small molecules, and polymers which was organic molecules, inorganic small molecules, and polymers which was
developed using ab initio and empirical parameterization techniques. developed using ab initio and empirical parameterization techniques.
See the :doc:`Tools <Tools>` doc page for the msi2lmp tool for creating See the :doc:`Tools <Tools>` page for the msi2lmp tool for creating
LAMMPS template input and data files from BIOVIA's Materials Studio LAMMPS template input and data files from BIOVIA's Materials Studio
files. Please note that the msi2lmp tool is very old and largely files. Please note that the msi2lmp tool is very old and largely
unmaintained, so it does not support all features of Materials Studio unmaintained, so it does not support all features of Materials Studio

View File

@ -10,7 +10,7 @@ deformable objects, etc. Note that other kinds of finite-size
spherical and aspherical particles are also supported by LAMMPS, such spherical and aspherical particles are also supported by LAMMPS, such
as spheres, ellipsoids, line segments, and triangles, but they are as spheres, ellipsoids, line segments, and triangles, but they are
simpler entities than body particles. See the :doc:`Howto spherical simpler entities than body particles. See the :doc:`Howto spherical
<Howto_spherical>` doc page for a general overview of all these <Howto_spherical>` page for a general overview of all these
particle types. particle types.
Body particles are used via the :doc:`atom_style body <atom_style>` Body particles are used via the :doc:`atom_style body <atom_style>`
@ -170,14 +170,14 @@ with this body style to compute body/body and body/non-body interactions.
The *rounded/polygon* body style represents body particles as a 2d The *rounded/polygon* body style represents body particles as a 2d
polygon with a variable number of N vertices. This style can only be polygon with a variable number of N vertices. This style can only be
used for 2d models; see the :doc:`boundary <boundary>` command. See the used for 2d models; see the :doc:`boundary <boundary>` command. See the
"pair_style body/rounded/polygon" doc page for a diagram of two "pair_style body/rounded/polygon" page for a diagram of two
squares with rounded circles at the vertices. Special cases for N = 1 squares with rounded circles at the vertices. Special cases for N = 1
(circle) and N = 2 (rod with rounded ends) can also be specified. (circle) and N = 2 (rod with rounded ends) can also be specified.
One use of this body style is for 2d discrete element models, as One use of this body style is for 2d discrete element models, as
described in :ref:`Fraige <body-Fraige>`. described in :ref:`Fraige <body-Fraige>`.
Similar to body style *nparticle*\ , the atom_style body command for Similar to body style *nparticle*, the atom_style body command for
this body style takes two additional arguments: this body style takes two additional arguments:
.. parsed-literal:: .. parsed-literal::
@ -284,7 +284,7 @@ The *rounded/polyhedron* body style represents body particles as a 3d
polyhedron with a variable number of N vertices, E edges and F faces. polyhedron with a variable number of N vertices, E edges and F faces.
This style can only be used for 3d models; see the This style can only be used for 3d models; see the
:doc:`boundary <boundary>` command. See the "pair_style :doc:`boundary <boundary>` command. See the "pair_style
body/rounded/polygon" doc page for a diagram of a two 2d squares with body/rounded/polygon" page for a diagram of a two 2d squares with
rounded circles at the vertices. A 3d cube with rounded spheres at rounded circles at the vertices. A 3d cube with rounded spheres at
the 8 vertices and 12 rounded edges would be similar. Special cases the 8 vertices and 12 rounded edges would be similar. Special cases
for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be
@ -293,7 +293,7 @@ specified.
This body style is for 3d discrete element models, as described in This body style is for 3d discrete element models, as described in
:ref:`Wang <body-Wang>`. :ref:`Wang <body-Wang>`.
Similar to body style *rounded/polygon*\ , the atom_style body command Similar to body style *rounded/polygon*, the atom_style body command
for this body style takes two additional arguments: for this body style takes two additional arguments:
.. parsed-literal:: .. parsed-literal::

View File

@ -51,7 +51,7 @@ scales the floating point value to spread it across multiple integers.
Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins = Spatial bins can be of various kinds, e.g. 1d bins = slabs, 2d bins =
pencils, 3d bins = boxes, spherical bins, cylindrical bins. pencils, 3d bins = boxes, spherical bins, cylindrical bins.
This compute also calculates the number of chunks *Nchunk*\ , which is This compute also calculates the number of chunks *Nchunk*, which is
used by other commands to tally per-chunk data. *Nchunk* can be a used by other commands to tally per-chunk data. *Nchunk* can be a
static value or change over time (e.g. the number of clusters). The static value or change over time (e.g. the number of clusters). The
chunk ID for an individual atom can also be static (e.g. a molecule chunk ID for an individual atom can also be static (e.g. a molecule

View File

@ -119,7 +119,7 @@ server code. Another code could be substituted for either.
The examples below show launching both codes from the same window (or The examples below show launching both codes from the same window (or
batch script), using the "&" character to launch the first code in the batch script), using the "&" character to launch the first code in the
background. For all modes except *mpi/one*\ , you could also launch the background. For all modes except *mpi/one*, you could also launch the
codes in separate windows on your desktop machine. It does not codes in separate windows on your desktop machine. It does not
matter whether you launch the client or server first. matter whether you launch the client or server first.
@ -132,7 +132,7 @@ mpirun, even if one or both of them runs on a single processor. This
is so that MPI can figure out how to connect both MPI processes is so that MPI can figure out how to connect both MPI processes
together to exchange MPI messages between them. together to exchange MPI messages between them.
For message exchange in *file*\ , *zmq*\ , or *mpi/two* modes: For message exchange in *file*, *zmq*, or *mpi/two* modes:
.. code-block:: bash .. code-block:: bash

View File

@ -362,7 +362,7 @@ have to be enabled to be included into a LAMMPS executable. Packages
are enabled through setting variables of the kind ``PKG_<NAME>`` to are enabled through setting variables of the kind ``PKG_<NAME>`` to
``on`` and disabled by setting them to ``off`` (or using ``yes``, ``on`` and disabled by setting them to ``off`` (or using ``yes``,
``no``, ``1``, ``0`` correspondingly). ``<NAME>`` has to be replaced by ``no``, ``1``, ``0`` correspondingly). ``<NAME>`` has to be replaced by
the name of the package, e.g. ``MOLECULE`` or ``USER-MISC``. the name of the package, e.g. ``MOLECULE`` or ``EXTRA-PAIR``.
Using presets Using presets

View File

@ -5,7 +5,7 @@ The adiabatic core-shell model by :ref:`Mitchell and Fincham <MitchellFincham>`
to a system. In order to mimic the electron shell of an ion, a to a system. In order to mimic the electron shell of an ion, a
satellite particle is attached to it. This way the ions are split into satellite particle is attached to it. This way the ions are split into
a core and a shell where the latter is meant to react to the a core and a shell where the latter is meant to react to the
electrostatic environment inducing polarizability. See the :doc:`Howto polarizable <Howto_polarizable>` doc page for a discussion of all electrostatic environment inducing polarizability. See the :doc:`Howto polarizable <Howto_polarizable>` page for a discussion of all
the polarizable models available in LAMMPS. the polarizable models available in LAMMPS.
Technically, shells are attached to the cores by a spring force f = Technically, shells are attached to the cores by a spring force f =
@ -78,7 +78,7 @@ satellite particle if desired.
Since the core/shell model permits distances of r = 0.0 between the Since the core/shell model permits distances of r = 0.0 between the
core and shell, a pair style with a "cs" suffix needs to be used to core and shell, a pair style with a "cs" suffix needs to be used to
implement a valid long-range Coulombic correction. Several such pair implement a valid long-range Coulombic correction. Several such pair
styles are provided in the CORESHELL package. See :doc:`this doc page <pair_cs>` for details. All of the core/shell enabled pair styles are provided in the CORESHELL package. See :doc:`this page <pair_cs>` for details. All of the core/shell enabled pair
styles require the use of a long-range Coulombic solver, as specified styles require the use of a long-range Coulombic solver, as specified
by the :doc:`kspace_style <kspace_style>` command. Either the PPPM or by the :doc:`kspace_style <kspace_style>` command. Either the PPPM or
Ewald solvers can be used. Ewald solvers can be used.

View File

@ -42,7 +42,7 @@ context of your application.
stand-alone code could communicate with LAMMPS through files that the stand-alone code could communicate with LAMMPS through files that the
command writes and reads. command writes and reads.
See the :doc:`Modify command <Modify_command>` doc page for info on how See the :doc:`Modify command <Modify_command>` page for info on how
to add a new command to LAMMPS. to add a new command to LAMMPS.
.. spacer .. spacer

View File

@ -91,7 +91,7 @@ DRUDE package) to convert a non-polarizable data file (here
This will automatically insert the new atoms and bonds. This will automatically insert the new atoms and bonds.
The masses and charges of DCs and DPs are computed The masses and charges of DCs and DPs are computed
from *phenol.dff*\ , as well as the DC-DP bond constants. The file from *phenol.dff*, as well as the DC-DP bond constants. The file
*phenol.dff* contains the polarizabilities of the atom types *phenol.dff* contains the polarizabilities of the atom types
and the mass of the Drude particles, for instance: and the mass of the Drude particles, for instance:
@ -106,7 +106,7 @@ and the mass of the Drude particles, for instance:
The hydrogen atoms are absent from this file, so they will be treated The hydrogen atoms are absent from this file, so they will be treated
as non-polarizable atoms. In the non-polarizable data file as non-polarizable atoms. In the non-polarizable data file
*data.102494.lmp*\ , atom names corresponding to the atom type numbers *data.102494.lmp*, atom names corresponding to the atom type numbers
have to be specified as comments at the end of lines of the *Masses* have to be specified as comments at the end of lines of the *Masses*
section. You probably need to edit it to add these names. It should section. You probably need to edit it to add these names. It should
look like look like
@ -125,7 +125,7 @@ look like
**Basic input file** **Basic input file**
The atom style should be set to (or derive from) *full*\ , so that you The atom style should be set to (or derive from) *full*, so that you
can define atomic charges and molecular bonds, angles, dihedrals... can define atomic charges and molecular bonds, angles, dihedrals...
The *polarizer* tool also outputs certain lines related to the input The *polarizer* tool also outputs certain lines related to the input
@ -143,7 +143,7 @@ and N for non-polarizable atoms. Here the atom types 1 to 3 (C and O
atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and atoms) are DC, atom types 4 and 5 (H atoms) are non-polarizable and
the atom types 6 to 8 are the newly created DPs. the atom types 6 to 8 are the newly created DPs.
By recognizing the fix *drude*\ , LAMMPS will find and store matching By recognizing the fix *drude*, LAMMPS will find and store matching
DC-DP pairs and will treat DP as equivalent to their DC in the DC-DP pairs and will treat DP as equivalent to their DC in the
*special bonds* relations. It may be necessary to extend the space *special bonds* relations. It may be necessary to extend the space
for storing such special relations. In this case extra space should for storing such special relations. In this case extra space should
@ -340,11 +340,11 @@ For the *thole* pair style the coefficients are
The special neighbors have charge-charge and charge-dipole The special neighbors have charge-charge and charge-dipole
interactions screened by the *coul* factors of the *special_bonds* interactions screened by the *coul* factors of the *special_bonds*
command (0.0, 0.0, and 0.5 in the example above). Without using the command (0.0, 0.0, and 0.5 in the example above). Without using the
pair_style *thole*\ , dipole-dipole interactions are screened by the pair_style *thole*, dipole-dipole interactions are screened by the
same factor. By using the pair_style *thole*\ , dipole-dipole same factor. By using the pair_style *thole*, dipole-dipole
interactions are screened by Thole's function, whatever their special interactions are screened by Thole's function, whatever their special
relationship (except within each DC-DP pair of course). Consider for relationship (except within each DC-DP pair of course). Consider for
example 1-2 neighbors: using the pair_style *thole*\ , their dipoles example 1-2 neighbors: using the pair_style *thole*, their dipoles
will see each other (despite the *coul* factor being 0.) and the will see each other (despite the *coul* factor being 0.) and the
interactions between these dipoles will be damped by Thole's function. interactions between these dipoles will be damped by Thole's function.
@ -384,7 +384,7 @@ For our phenol example, the groups would be defined as
group CORES type 1 2 3 # DCs group CORES type 1 2 3 # DCs
group DRUDES type 6 7 8 # DPs group DRUDES type 6 7 8 # DPs
Note that with the fixes *drude/transform*\ , it is not required to Note that with the fixes *drude/transform*, it is not required to
specify *comm_modify vel yes* because the fixes do it anyway (several specify *comm_modify vel yes* because the fixes do it anyway (several
times and for the forces also). times and for the forces also).

View File

@ -140,8 +140,8 @@ After everything is done, add the files to the branch and commit them:
flag) will automatically include **all** modified **and** new files flag) will automatically include **all** modified **and** new files
and that is rarely the behavior you want. It can easily lead to and that is rarely the behavior you want. It can easily lead to
accidentally adding unrelated and unwanted changes into the accidentally adding unrelated and unwanted changes into the
repository. Instead it is preferable to explicitly use *git add*\ , repository. Instead it is preferable to explicitly use *git add*,
*git rm*\ , *git mv* for adding, removing, renaming individual files, *git rm*, *git mv* for adding, removing, renaming individual files,
respectively, and then *git commit* to finalize the commit. respectively, and then *git commit* to finalize the commit.
Carefully check all pending changes with *git status* before Carefully check all pending changes with *git status* before
committing them. If you find doing this on the command line too committing them. If you find doing this on the command line too

View File

@ -4,7 +4,7 @@ Calculate thermal conductivity
The thermal conductivity kappa of a material can be measured in at The thermal conductivity kappa of a material can be measured in at
least 4 ways using various options in LAMMPS. See the examples/KAPPA least 4 ways using various options in LAMMPS. See the examples/KAPPA
directory for scripts that implement the 4 methods discussed here for directory for scripts that implement the 4 methods discussed here for
a simple Lennard-Jones fluid model. Also, see the :doc:`Howto viscosity <Howto_viscosity>` doc page for an analogous discussion a simple Lennard-Jones fluid model. Also, see the :doc:`Howto viscosity <Howto_viscosity>` page for an analogous discussion
for viscosity. for viscosity.
The thermal conductivity tensor kappa is a measure of the propensity The thermal conductivity tensor kappa is a measure of the propensity
@ -58,7 +58,7 @@ between hot and cold regions of the simulation box.
The :doc:`compute heat/flux <compute_heat_flux>` command can calculate The :doc:`compute heat/flux <compute_heat_flux>` command can calculate
the needed heat flux and describes how to implement the Green_Kubo the needed heat flux and describes how to implement the Green_Kubo
formalism using additional LAMMPS commands, such as the :doc:`fix ave/correlate <fix_ave_correlate>` command to calculate the needed formalism using additional LAMMPS commands, such as the :doc:`fix ave/correlate <fix_ave_correlate>` command to calculate the needed
auto-correlation. See the doc page for the :doc:`compute heat/flux <compute_heat_flux>` command for an example input script auto-correlation. See the page for the :doc:`compute heat/flux <compute_heat_flux>` command for an example input script
that calculates the thermal conductivity of solid Ar via the GK that calculates the thermal conductivity of solid Ar via the GK
formalism. formalism.

View File

@ -3,7 +3,7 @@ Manifolds (surfaces)
**Overview:** **Overview:**
This doc page is not about a LAMMPS input script command, but about This page is not about a LAMMPS input script command, but about
manifolds, which are generalized surfaces, as defined and used by the manifolds, which are generalized surfaces, as defined and used by the
MANIFOLD package, to track particle motion on the manifolds. See MANIFOLD package, to track particle motion on the manifolds. See
the src/MANIFOLD/README file for more details about the package the src/MANIFOLD/README file for more details about the package

View File

@ -3,7 +3,7 @@ Using LAMMPS with the MDI library for code coupling
.. note:: .. note::
This Howto doc page will eventually replace the This Howto page will eventually replace the
:doc:`Howto client/server <Howto_client_server>` doc page. :doc:`Howto client/server <Howto_client_server>` doc page.
Client/server coupling of two codes is where one code is the "client" Client/server coupling of two codes is where one code is the "client"
@ -120,7 +120,7 @@ input script will continue. After finishing execution of the input
script, the instance of LAMMPS will be destroyed. script, the instance of LAMMPS will be destroyed.
LAMMPS supports the full set of MD-appropriate engine commands defined LAMMPS supports the full set of MD-appropriate engine commands defined
by the MDI library. See the :doc:`mdi/engine <mdi_engine>` doc page for by the MDI library. See the :doc:`mdi/engine <mdi_engine>` page for
a list of these. a list of these.
If those commands are not sufficient for a user-developed driver to use If those commands are not sufficient for a user-developed driver to use

View File

@ -268,7 +268,7 @@ Computes that generate values to output
Every :doc:`compute <compute>` in LAMMPS produces either global or Every :doc:`compute <compute>` in LAMMPS produces either global or
per-atom or local values. The values can be scalars or vectors or per-atom or local values. The values can be scalars or vectors or
arrays of data. These values can be output using the other commands arrays of data. These values can be output using the other commands
described in this section. The doc page for each compute command described in this section. The page for each compute command
describes what it produces. Computes that produce per-atom or local describes what it produces. Computes that produce per-atom or local
values have the word "atom" or "local" in their style name. Computes values have the word "atom" or "local" in their style name. Computes
without the word "atom" or "local" produce global values. without the word "atom" or "local" produce global values.
@ -281,7 +281,7 @@ Fixes that generate values to output
Some :doc:`fixes <fix>` in LAMMPS produces either global or per-atom or Some :doc:`fixes <fix>` in LAMMPS produces either global or per-atom or
local values which can be accessed by other commands. The values can local values which can be accessed by other commands. The values can
be scalars or vectors or arrays of data. These values can be output be scalars or vectors or arrays of data. These values can be output
using the other commands described in this section. The doc page for using the other commands described in this section. The page for
each fix command tells whether it produces any output quantities and each fix command tells whether it produces any output quantities and
describes them. describes them.

View File

@ -8,34 +8,33 @@ periodically.
These are the relevant commands: These are the relevant commands:
* :doc:`neb <neb>` for nudged elastic band calculations * :doc:`hyper <hyper>` for bond boost hyperdynamics (HD)
* :doc:`neb <neb>` for nudged elastic band calculations (NEB)
* :doc:`neb_spin <neb_spin>` for magnetic nudged elastic band calculations * :doc:`neb_spin <neb_spin>` for magnetic nudged elastic band calculations
* :doc:`prd <prd>` for parallel replica dynamics * :doc:`prd <prd>` for parallel replica dynamics (PRD)
* :doc:`tad <tad>` for temperature accelerated dynamics * :doc:`tad <tad>` for temperature accelerated dynamics (TAD)
* :doc:`temper <temper>` for parallel tempering * :doc:`temper <temper>` for parallel tempering with fixed volume
* :doc:`temper/npt <temper_npt>` for parallel tempering extended for NPT
* :doc:`temper/grem <temper_grem>` for parallel tempering with generalized replica exchange (gREM)
* :doc:`fix pimd <fix_pimd>` for path-integral molecular dynamics (PIMD) * :doc:`fix pimd <fix_pimd>` for path-integral molecular dynamics (PIMD)
NEB is a method for finding transition states and barrier energies. NEB is a method for finding transition states and barrier potential energies.
PRD and TAD are methods for performing accelerated dynamics to find HD, PRD, and TAD are methods for performing accelerated dynamics to find and
and perform infrequent events. Parallel tempering or replica exchange perform infrequent events. Parallel tempering or replica exchange runs
runs different replicas at a series of temperature to facilitate different replicas at a series of temperature to facilitate rare-event
rare-event sampling. sampling. PIMD runs different replicas whose individual particles in different
replicas are coupled together by springs to model a system of ring-polymers which
can represent the quantum nature of atom cores.
These commands can only be used if LAMMPS was built with the REPLICA These commands can only be used if LAMMPS was built with the REPLICA
package. See the :doc:`Build package <Build_package>` doc page for more package. See the :doc:`Build package <Build_package>` page for more
info.
PIMD runs different replicas whose individual particles are coupled
together by springs to model a system or ring-polymers.
This commands can only be used if LAMMPS was built with the USER-MISC
package. See the :doc:`Build package <Build_package>` doc page for more
info. info.
In all these cases, you must run with one or more processors per In all these cases, you must run with one or more processors per
replica. The processors assigned to each replica are determined at replica. The processors assigned to each replica are determined at
run-time by using the :doc:`-partition command-line switch <Run_options>` to launch LAMMPS on multiple partitions, run-time by using the :doc:`-partition command-line switch
which in this context are the same as replicas. E.g. these commands: <Run_options>` to launch LAMMPS on multiple partitions, which in this
context are the same as replicas. E.g. these commands:
.. code-block:: bash .. code-block:: bash
@ -46,9 +45,11 @@ would each run 8 replicas, on either 16 or 8 processors. Note the use
of the :doc:`-in command-line switch <Run_options>` to specify the input of the :doc:`-in command-line switch <Run_options>` to specify the input
script which is required when running in multi-replica mode. script which is required when running in multi-replica mode.
Also note that with MPI installed on a machine (e.g. your desktop), Also note that with MPI installed on a machine (e.g. your desktop), you
you can run on more (virtual) processors than you have physical can run on more (virtual) processors than you have physical processors.
processors. Thus the above commands could be run on a Thus the above commands could be run on a single-processor (or
single-processor (or few-processor) desktop so that you can run few-processor) desktop so that you can run a multi-replica simulation on
a multi-replica simulation on more replicas than you have more replicas than you have physical processors. This is useful for
physical processors. testing and debugging, since with most modern processors and MPI
libraries the efficiency of a calculation can severely diminish when
oversubscribing processors.

View File

@ -28,7 +28,7 @@ can be invoked via the *dpd/tstat* pair style:
:doc:`Fix nvt <fix_nh>` only thermostats the translational velocity of :doc:`Fix nvt <fix_nh>` only thermostats the translational velocity of
particles. :doc:`Fix nvt/sllod <fix_nvt_sllod>` also does this, except particles. :doc:`Fix nvt/sllod <fix_nvt_sllod>` also does this, except
that it subtracts out a velocity bias due to a deforming box and that it subtracts out a velocity bias due to a deforming box and
integrates the SLLOD equations of motion. See the :doc:`Howto nemd <Howto_nemd>` doc page for further details. :doc:`Fix nvt/sphere <fix_nvt_sphere>` and :doc:`fix nvt/asphere <fix_nvt_asphere>` thermostat not only translation integrates the SLLOD equations of motion. See the :doc:`Howto nemd <Howto_nemd>` page for further details. :doc:`Fix nvt/sphere <fix_nvt_sphere>` and :doc:`fix nvt/asphere <fix_nvt_asphere>` thermostat not only translation
velocities but also rotational velocities for spherical and aspherical velocities but also rotational velocities for spherical and aspherical
particles. particles.
@ -88,7 +88,7 @@ Below is a list of some custom temperature computes that can be used like that:
Thermodynamic output, which can be setup via the Thermodynamic output, which can be setup via the
:doc:`thermo_style <thermo_style>` command, often includes temperature :doc:`thermo_style <thermo_style>` command, often includes temperature
values. As explained on the doc page for the values. As explained on the page for the
:doc:`thermo_style <thermo_style>` command, the default temperature is :doc:`thermo_style <thermo_style>` command, the default temperature is
setup by the thermo command itself. It is NOT the temperature setup by the thermo command itself. It is NOT the temperature
associated with any thermostatting fix you have defined or with any associated with any thermostatting fix you have defined or with any

View File

@ -23,21 +23,21 @@ origin given by **a** = (xhi-xlo,0,0); **b** = (xy,yhi-ylo,0); **c** =
and are called "tilt factors" because they are the amount of and are called "tilt factors" because they are the amount of
displacement applied to faces of an originally orthogonal box to displacement applied to faces of an originally orthogonal box to
transform it into the parallelepiped. In LAMMPS the triclinic transform it into the parallelepiped. In LAMMPS the triclinic
simulation box edge vectors **a**\ , **b**\ , and **c** cannot be arbitrary simulation box edge vectors **a**, **b**, and **c** cannot be arbitrary
vectors. As indicated, **a** must lie on the positive x axis. **b** must vectors. As indicated, **a** must lie on the positive x axis. **b** must
lie in the xy plane, with strictly positive y component. **c** may have lie in the xy plane, with strictly positive y component. **c** may have
any orientation with strictly positive z component. The requirement any orientation with strictly positive z component. The requirement
that **a**\ , **b**\ , and **c** have strictly positive x, y, and z components, that **a**, **b**, and **c** have strictly positive x, y, and z components,
respectively, ensures that **a**\ , **b**\ , and **c** form a complete respectively, ensures that **a**, **b**, and **c** form a complete
right-handed basis. These restrictions impose no loss of generality, right-handed basis. These restrictions impose no loss of generality,
since it is possible to rotate/invert any set of 3 crystal basis since it is possible to rotate/invert any set of 3 crystal basis
vectors so that they conform to the restrictions. vectors so that they conform to the restrictions.
For example, assume that the 3 vectors **A**\ ,\ **B**\ ,\ **C** are the edge For example, assume that the 3 vectors **A**,\ **B**,\ **C** are the edge
vectors of a general parallelepiped, where there is no restriction on vectors of a general parallelepiped, where there is no restriction on
**A**\ ,\ **B**\ ,\ **C** other than they form a complete right-handed basis i.e. **A**,\ **B**,\ **C** other than they form a complete right-handed basis i.e.
**A** x **B** . **C** > 0. The equivalent LAMMPS **a**\ ,\ **b**\ ,\ **c** are a linear **A** x **B** . **C** > 0. The equivalent LAMMPS **a**,\ **b**,\ **c** are a linear
rotation of **A**\ , **B**\ , and **C** and can be computed as follows: rotation of **A**, **B**, and **C** and can be computed as follows:
.. math:: .. math::
@ -57,9 +57,9 @@ rotation of **A**\ , **B**\ , and **C** and can be computed as follows:
where A = \| **A** \| indicates the scalar length of **A**\ . The hat symbol (\^) where A = \| **A** \| indicates the scalar length of **A**\ . The hat symbol (\^)
indicates the corresponding unit vector. :math:`\beta` and :math:`\gamma` are angles indicates the corresponding unit vector. :math:`\beta` and :math:`\gamma` are angles
between the vectors described below. Note that by construction, between the vectors described below. Note that by construction,
**a**\ , **b**\ , and **c** have strictly positive x, y, and z components, respectively. **a**, **b**, and **c** have strictly positive x, y, and z components, respectively.
If it should happen that If it should happen that
**A**\ , **B**\ , and **C** form a left-handed basis, then the above equations **A**, **B**, and **C** form a left-handed basis, then the above equations
are not valid for **c**\ . In this case, it is necessary are not valid for **c**\ . In this case, it is necessary
to first apply an inversion. This can be achieved to first apply an inversion. This can be achieved
by interchanging two basis vectors or by changing the sign of one of them. by interchanging two basis vectors or by changing the sign of one of them.
@ -95,7 +95,7 @@ for details.
The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the
time the simulation box is created. This happens in one of 3 ways. time the simulation box is created. This happens in one of 3 ways.
If the :doc:`create_box <create_box>` command is used with a region of If the :doc:`create_box <create_box>` command is used with a region of
style *prism*\ , then a triclinic box is setup. See the style *prism*, then a triclinic box is setup. See the
:doc:`region <region>` command for details. If the :doc:`region <region>` command for details. If the
:doc:`read_data <read_data>` command is used to define the simulation :doc:`read_data <read_data>` command is used to define the simulation
box, and the header of the data file contains a line with the "xy xz box, and the header of the data file contains a line with the "xy xz
@ -135,7 +135,7 @@ example), then configurations with tilt = ..., -15, -5, 5, 15, 25,
... are geometrically all equivalent. If the box tilt exceeds this ... are geometrically all equivalent. If the box tilt exceeds this
limit during a dynamics run (e.g. via the :doc:`fix deform <fix_deform>` limit during a dynamics run (e.g. via the :doc:`fix deform <fix_deform>`
command), then the box is "flipped" to an equivalent shape with a tilt command), then the box is "flipped" to an equivalent shape with a tilt
factor within the bounds, so the run can continue. See the :doc:`fix deform <fix_deform>` doc page for further details. factor within the bounds, so the run can continue. See the :doc:`fix deform <fix_deform>` page for further details.
One exception to this rule is if the first dimension in the tilt One exception to this rule is if the first dimension in the tilt
factor (x for xy) is non-periodic. In that case, the limits on the factor (x for xy) is non-periodic. In that case, the limits on the
@ -160,10 +160,10 @@ For extreme values of tilt, LAMMPS may also lose atoms and generate an
error. error.
Triclinic crystal structures are often defined using three lattice Triclinic crystal structures are often defined using three lattice
constants *a*\ , *b*\ , and *c*\ , and three angles :math:`\alpha`, constants *a*, *b*, and *c*, and three angles :math:`\alpha`,
:math:`\beta`, and :math:`\gamma`. Note that in this nomenclature, :math:`\beta`, and :math:`\gamma`. Note that in this nomenclature,
the a, b, and c lattice constants are the scalar lengths of the edge the a, b, and c lattice constants are the scalar lengths of the edge
vectors **a**\ , **b**\ , and **c** defined above. The relationship vectors **a**, **b**, and **c** defined above. The relationship
between these 6 quantities (a, b, c, :math:`\alpha`, :math:`\beta`, between these 6 quantities (a, b, c, :math:`\alpha`, :math:`\beta`,
:math:`\gamma`) and the LAMMPS box sizes (lx,ly,lz) = :math:`\gamma`) and the LAMMPS box sizes (lx,ly,lz) =
(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: (xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows:
@ -188,10 +188,10 @@ The inverse relationship can be written as follows:
{\rm yz} = & \frac{b*c \cos{\alpha} - {\rm xy}*{\rm xz}}{\rm ly} \\ {\rm yz} = & \frac{b*c \cos{\alpha} - {\rm xy}*{\rm xz}}{\rm ly} \\
{\rm lz}^2 = & c^2 - {\rm xz}^2 - {\rm yz}^2 \\ {\rm lz}^2 = & c^2 - {\rm xz}^2 - {\rm yz}^2 \\
The values of *a*\ , *b*\ , *c* , :math:`\alpha` , :math:`\beta`, and The values of *a*, *b*, *c*, :math:`\alpha` , :math:`\beta`, and
:math:`\gamma` can be printed out or accessed by computes using the :math:`\gamma` can be printed out or accessed by computes using the
:doc:`thermo_style custom <thermo_style>` keywords :doc:`thermo_style custom <thermo_style>` keywords
*cella*\ , *cellb*\ , *cellc*\ , *cellalpha*\ , *cellbeta*\ , *cellgamma*\ , *cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, *cellgamma*,
respectively. respectively.
As discussed on the :doc:`dump <dump>` command doc page, when the BOX As discussed on the :doc:`dump <dump>` command doc page, when the BOX

View File

@ -42,7 +42,7 @@ command, which determines grad(Vstream) in the equation above.
E.g. the derivative in the y-direction of the Vx component of fluid E.g. the derivative in the y-direction of the Vx component of fluid
motion or grad(Vstream) = dVx/dy. The Pxy off-diagonal component of motion or grad(Vstream) = dVx/dy. The Pxy off-diagonal component of
the pressure or stress tensor, as calculated by the :doc:`compute pressure <compute_pressure>` command, can also be monitored, which the pressure or stress tensor, as calculated by the :doc:`compute pressure <compute_pressure>` command, can also be monitored, which
is the J term in the equation above. See the :doc:`Howto nemd <Howto_nemd>` doc page for details on NEMD simulations. is the J term in the equation above. See the :doc:`Howto nemd <Howto_nemd>` page for details on NEMD simulations.
The third method is to perform a reverse non-equilibrium MD simulation The third method is to perform a reverse non-equilibrium MD simulation
using the :doc:`fix viscosity <fix_viscosity>` command which implements using the :doc:`fix viscosity <fix_viscosity>` command which implements

View File

@ -13,7 +13,7 @@ by several popular visualization tools. The :doc:`dump image <dump_image>` and :
output internally rendered images and convert a sequence of them to a output internally rendered images and convert a sequence of them to a
movie during the MD run. Several programs included with LAMMPS as movie during the MD run. Several programs included with LAMMPS as
auxiliary tools can convert between LAMMPS format files and other auxiliary tools can convert between LAMMPS format files and other
formats. See the :doc:`Tools <Tools>` doc page for details. 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
@ -25,7 +25,7 @@ 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
snapshots. snapshots.
.. _pizza: https://pizza.sandia.gov .. _pizza: https://lammps.github.io/pizza
.. _ensight: https://www.ansys.com/products/fluids/ansys-ensight .. _ensight: https://www.ansys.com/products/fluids/ansys-ensight

View File

@ -53,7 +53,7 @@ granular particles; all the other commands create smooth walls.
* :doc:`fix wall/region <fix_wall_region>` - use region surface as wall * :doc:`fix wall/region <fix_wall_region>` - use region surface as wall
* :doc:`fix wall/gran <fix_wall_gran>` - flat or curved walls with :doc:`pair_style granular <pair_gran>` potential * :doc:`fix wall/gran <fix_wall_gran>` - flat or curved walls with :doc:`pair_style granular <pair_gran>` potential
The *lj93*\ , *lj126*\ , *colloid*\ , *harmonic*\ , and *morse* styles all The *lj93*, *lj126*, *colloid*, *harmonic*, and *morse* styles all
allow the flat walls to move with a constant velocity, or oscillate in allow the flat walls to move with a constant velocity, or oscillate in
time. The :doc:`fix wall/region <fix_wall_region>` command offers the time. The :doc:`fix wall/region <fix_wall_region>` command offers the
most generality, since the region surface is treated as a wall, and most generality, since the region surface is treated as a wall, and

View File

@ -24,11 +24,15 @@ General features
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
* runs on a single processor or in parallel * runs on a single processor or in parallel
* distributed-memory message-passing parallelism (MPI) * distributed memory message-passing parallelism (MPI)
* spatial-decomposition of simulation domain for parallelism * shared memory multi-threading parallelism (OpenMP)
* open-source distribution * spatial decomposition of simulation domain for MPI parallelism
* highly portable C++ * particle decomposition inside of spatial decomposition for OpenMP parallelism
* optional libraries used: MPI and single-processor FFT * GPLv2 licensed open-source distribution
* highly portable C++-11
* modular code with most functionality in optional packages
* only depends on MPI library for basic parallel functionality
* other libraries are optional and only required for specific packages
* GPU (CUDA and OpenCL), Intel Xeon Phi, and OpenMP support for many code features * GPU (CUDA and OpenCL), Intel Xeon Phi, and OpenMP support for many code features
* easy to extend with new features and functionality * easy to extend with new features and functionality
* runs from an input script * runs from an input script
@ -170,9 +174,12 @@ Multi-replica models
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
* :doc:`nudged elastic band <neb>` * :doc:`nudged elastic band <neb>`
* :doc:`hyperdynamics <hyper>`
* :doc:`parallel replica dynamics <prd>` * :doc:`parallel replica dynamics <prd>`
* :doc:`temperature accelerated dynamics <tad>` * :doc:`temperature accelerated dynamics <tad>`
* :doc:`parallel tempering <temper>` * :doc:`parallel tempering <temper>`
* :doc:`path-integral MD <fix_pimd>`
* multi-walker collective variables with :doc:`Colvars <fix_colvars>` and :doc:`Plumed <fix_plumed>`
.. _prepost: .. _prepost:
@ -187,7 +194,7 @@ Pre- and post-processing
plotting, and visualization for LAMMPS simulations. Pizza.py is plotting, and visualization for LAMMPS simulations. Pizza.py is
written in `Python <python_>`_ and is available for download from `the Pizza.py WWW site <pizza_>`_. written in `Python <python_>`_ and is available for download from `the Pizza.py WWW site <pizza_>`_.
.. _pizza: https://pizza.sandia.gov .. _pizza: https://lammps.github.io/pizza
.. _python: http://www.python.org .. _python: http://www.python.org

View File

@ -32,7 +32,7 @@ Here are suggestions on how to perform these tasks:
are simple programs that will build simple molecular systems, such as are simple programs that will build simple molecular systems, such as
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>` doc 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 <http:/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
@ -49,7 +49,7 @@ Here are suggestions on how to perform these tasks:
* **Simulation analysis:** If you want to perform analysis on-the-fly as * **Simulation analysis:** If you want to perform analysis on-the-fly as
your simulation runs, see the :doc:`compute <compute>` and your simulation runs, see the :doc:`compute <compute>` and
:doc:`fix <fix>` doc pages, which list commands that can be used in a :doc:`fix <fix>` doc pages, which list commands that can be used in a
LAMMPS input script. Also see the :doc:`Modify <Modify>` doc page for LAMMPS input script. Also see the :doc:`Modify <Modify>` page for
info on how to add your own analysis code or algorithms to LAMMPS. info on how to add your own analysis code or algorithms to LAMMPS.
For post-processing, LAMMPS output such as :doc:`dump file snapshots <dump>` can be converted into formats used by other MD or For post-processing, LAMMPS output such as :doc:`dump file snapshots <dump>` can be converted into formats used by other MD or
post-processing codes. To some degree, that conversion can be done post-processing codes. To some degree, that conversion can be done
@ -61,7 +61,7 @@ Here are suggestions on how to perform these tasks:
LAMMPS will do these conversions. Scripts provided in the LAMMPS will do these conversions. Scripts provided in the
tools/python directory can extract and massage data in dump files to tools/python directory can extract and massage data in dump files to
make it easier to import into other programs. See the make it easier to import into other programs. See the
:doc:`Tools <Tools>` doc page for details on these various options. :doc:`Tools <Tools>` page for details on these various options.
* **Visualization:** LAMMPS can produce NETPBM, JPG or PNG snapshot images * **Visualization:** LAMMPS can produce NETPBM, JPG or PNG snapshot images
on-the-fly via its :doc:`dump image <dump_image>` command and pass on-the-fly via its :doc:`dump image <dump_image>` command and pass
them to an external program, `FFmpeg <https://www.ffmpeg.org>`_ to generate them to an external program, `FFmpeg <https://www.ffmpeg.org>`_ to generate
@ -71,13 +71,13 @@ Here are suggestions on how to perform these tasks:
LAMMPS website for LAMMPS website for
visualization packages that can process LAMMPS output data. visualization packages that can process LAMMPS output data.
* **Plotting:** See the next bullet about Pizza.py as well as the * **Plotting:** See the next bullet about Pizza.py as well as the
:doc:`Python <Python_head>` doc page for examples of plotting LAMMPS :doc:`Python <Python_head>` page for examples of plotting LAMMPS
output. Scripts provided with the *python* tool in the tools output. Scripts provided with the *python* tool in the tools
directory will extract and massage data in log and dump files to make directory will extract and massage data in log and dump files to make
it easier to analyze and plot. See the :doc:`Tools <Tools>` doc page it easier to analyze and plot. See the :doc:`Tools <Tools>` doc page
for more discussion of the various tools. for more discussion of the various tools.
* **Pizza.py:** Our group has also written a separate toolkit called * **Pizza.py:** Our group has also written a separate toolkit called
`Pizza.py <https://pizza.sandia.gov>`_ 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 <http://www.python.org>`_

View File

@ -18,14 +18,15 @@ supercomputers.
.. _mpi: https://en.wikipedia.org/wiki/Message_Passing_Interface .. _mpi: https://en.wikipedia.org/wiki/Message_Passing_Interface
.. _lws: https://www.lammps.org .. _lws: https://www.lammps.org
LAMMPS is written in C++. Earlier versions were written in F77 and LAMMPS is written in C++ and requires a compiler that is at least
F90. See the `History page <https://www.lammps.org/history.html>`_ of compatible with the C++-11 standard.
the website for details. All versions can be downloaded from the Earlier versions were written in F77 and F90. See the `History page
`LAMMPS website <lws_>`_. <https://www.lammps.org/history.html>`_ of the website for details. All
versions can be downloaded from the `LAMMPS website <lws_>`_.
LAMMPS is designed to be easy to modify or extend with new LAMMPS is designed to be easy to modify or extend with new
capabilities, such as new force fields, atom types, boundary capabilities, such as new force fields, atom types, boundary
conditions, or diagnostics. See the :doc:`Modify <Modify>` doc page for conditions, or diagnostics. See the :doc:`Modify <Modify>` page for
more details. more details.
In the most general sense, LAMMPS integrates Newton's equations of In the most general sense, LAMMPS integrates Newton's equations of
@ -41,8 +42,9 @@ short distances, so that the local density of particles never becomes
too large. This is in contrast to methods used for modeling plasma too large. This is in contrast to methods used for modeling plasma
or gravitational bodies (e.g. galaxy formation). or gravitational bodies (e.g. galaxy formation).
On parallel machines, LAMMPS uses spatial-decomposition techniques to On parallel machines, LAMMPS uses spatial-decomposition techniques with
partition the simulation domain into small sub-domains of equal MPI parallelization to partition the simulation domain into small
computational cost, one of which is assigned to each processor. sub-domains of equal computational cost, one of which is assigned to
Processors communicate and store "ghost" atom information for atoms each processor. Processors communicate and store "ghost" atom
that border their sub-domain. information for atoms that border their sub-domain. Multi-threading
parallelization with with particle-decomposition can be used in addition.

View File

@ -20,7 +20,8 @@ available online are listed below.
* `Glossary of terms relevant to LAMMPS <https://www.lammps.org/glossary.html>`_ * `Glossary of terms relevant to LAMMPS <https://www.lammps.org/glossary.html>`_
* `LAMMPS highlights with images <https://www.lammps.org/pictures.html>`_ * `LAMMPS highlights with images <https://www.lammps.org/pictures.html>`_
* `LAMMPS highlights with movies <https://www.lammps.org/movies.html>`_ * `LAMMPS highlights with movies <https://www.lammps.org/movies.html>`_
* `Mail list <https://www.lammps.org/mail.html>`_ * `Mailing list <https://www.lammps.org/mail.html>`_
* `LAMMPS forum <https://www.lammps.org/forum.html>`_
* `Workshops <https://www.lammps.org/workshops.html>`_ * `Workshops <https://www.lammps.org/workshops.html>`_
* `Tutorials <https://www.lammps.org/tutorials.html>`_ * `Tutorials <https://www.lammps.org/tutorials.html>`_

View File

@ -17,6 +17,7 @@ It documents the following functions:
- :cpp:func:`lammps_gather_atoms_subset` - :cpp:func:`lammps_gather_atoms_subset`
- :cpp:func:`lammps_scatter_atoms` - :cpp:func:`lammps_scatter_atoms`
- :cpp:func:`lammps_scatter_atoms_subset` - :cpp:func:`lammps_scatter_atoms_subset`
- :cpp:func:`lammps_gather_bonds`
- :cpp:func:`lammps_gather` - :cpp:func:`lammps_gather`
- :cpp:func:`lammps_gather_concat` - :cpp:func:`lammps_gather_concat`
- :cpp:func:`lammps_gather_subset` - :cpp:func:`lammps_gather_subset`
@ -51,6 +52,11 @@ It documents the following functions:
----------------------- -----------------------
.. doxygenfunction:: lammps_gather_bonds
:project: progguide
-----------------------
.. doxygenfunction:: lammps_gather .. doxygenfunction:: lammps_gather
:project: progguide :project: progguide

View File

@ -8,7 +8,11 @@ functions. They do not directly call the LAMMPS library.
- :cpp:func:`lammps_decode_image_flags` - :cpp:func:`lammps_decode_image_flags`
- :cpp:func:`lammps_set_fix_external_callback` - :cpp:func:`lammps_set_fix_external_callback`
- :cpp:func:`lammps_fix_external_set_energy_global` - :cpp:func:`lammps_fix_external_set_energy_global`
- :cpp:func:`lammps_fix_external_set_energy_peratom`
- :cpp:func:`lammps_fix_external_set_virial_global` - :cpp:func:`lammps_fix_external_set_virial_global`
- :cpp:func:`lammps_fix_external_set_virial_peratom`
- :cpp:func:`lammps_fix_external_set_vector_length`
- :cpp:func:`lammps_fix_external_set_vector`
- :cpp:func:`lammps_free` - :cpp:func:`lammps_free`
- :cpp:func:`lammps_is_running` - :cpp:func:`lammps_is_running`
- :cpp:func:`lammps_force_timeout` - :cpp:func:`lammps_force_timeout`
@ -33,7 +37,7 @@ where such memory buffers were allocated that require the use of
----------------------- -----------------------
.. doxygenfunction:: lammps_set_fix_external_callback(void *, char *, FixExternalFnPtr, void*) .. doxygenfunction:: lammps_set_fix_external_callback(void *, const char *, FixExternalFnPtr, void*)
:project: progguide :project: progguide
----------------------- -----------------------
@ -43,11 +47,31 @@ where such memory buffers were allocated that require the use of
----------------------- -----------------------
.. doxygenfunction:: lammps_fix_external_set_energy_peratom
:project: progguide
-----------------------
.. doxygenfunction:: lammps_fix_external_set_virial_global .. doxygenfunction:: lammps_fix_external_set_virial_global
:project: progguide :project: progguide
----------------------- -----------------------
.. doxygenfunction:: lammps_fix_external_set_virial_peratom
:project: progguide
-----------------------
.. doxygenfunction:: lammps_fix_external_set_vector_length
:project: progguide
-----------------------
.. doxygenfunction:: lammps_fix_external_set_vector
:project: progguide
-----------------------
.. doxygenfunction:: lammps_free .. doxygenfunction:: lammps_free
:project: progguide :project: progguide

View File

@ -6,7 +6,7 @@ Body particles can represent complex entities, such as surface meshes
of discrete points, collections of sub-particles, deformable objects, of discrete points, collections of sub-particles, deformable objects,
etc. etc.
See the :doc:`Howto body <Howto_body>` doc page for an overview of using See the :doc:`Howto body <Howto_body>` page for an overview of using
body particles and the various body styles LAMMPS supports. New body particles and the various body styles LAMMPS supports. New
styles can be created to add new kinds of body particles to LAMMPS. styles can be created to add new kinds of body particles to LAMMPS.

View File

@ -25,13 +25,16 @@ the work of others (and possibly get scooped by them) or have your work
duplicated by others. duplicated by others.
For informal communication with (some of) the LAMMPS developers you may For informal communication with (some of) the LAMMPS developers you may
ask to join the `LAMMPS developers on Slack <https://lammps.slack.com>`_. ask to join the `LAMMPS developers on Slack
This slack work space is by invitation only. Thus for access, please <https://lammps.slack.com>`_. This slack work space is by invitation
send an e-mail to ``slack@lammps.org`` explaining what part of LAMMPS only. Thus for access, please send an e-mail to ``slack@lammps.org``
you are working on. Only discussions related to LAMMPS development are explaining what part of LAMMPS you are working on. Only discussions
tolerated, so this is **NOT** for people that look for help with compiling, related to LAMMPS development are tolerated, so this is **NOT** for
installing, or using LAMMPS. Please contact the `lammps-users mailing people that look for help with compiling, installing, or using
list <https://www.lammps.org/mail.html>`_ for those purposes instead. LAMMPS. Please contact the
`lammps-users mailing list <https://www.lammps.org/mail.html>`_ or the
`LAMMPS forum <https://www.lammps.org/forum.html>`_ for those purposes
instead.
How quickly your contribution will be integrated depends largely on how How quickly your contribution will be integrated depends largely on how
much effort it will cause to integrate and test it, how many and what much effort it will cause to integrate and test it, how many and what
@ -49,11 +52,9 @@ with gzip. Please only use gzip compression, as this works well and is
available on all platforms. available on all platforms.
If the new features/files are broadly useful we may add them as core If the new features/files are broadly useful we may add them as core
files to LAMMPS or as part of a :doc:`package <Packages_list>`. The files to LAMMPS or as part of a :doc:`package <Packages_list>`. All
USER-MISC package is simply a collection of (mostly) unrelated single packages are listed and described on the :doc:`Packages details
files, which is the simplest way to have your contribution quickly added <Packages_details>` doc page.
to the LAMMPS distribution. All packages are listed and described
on the :doc:`Packages details <Packages_details>` doc page.
Note that by providing us files to release, you are agreeing to make Note that by providing us files to release, you are agreeing to make
them open-source, i.e. we can release them under the terms of the GPL them open-source, i.e. we can release them under the terms of the GPL
@ -61,7 +62,7 @@ them open-source, i.e. we can release them under the terms of the GPL
a LGPL (version 2.1) distribution that we make available to developers a LGPL (version 2.1) distribution that we make available to developers
on request only and with files that are authorized for that kind of on request only and with files that are authorized for that kind of
distribution removed (e.g. interface to FFTW). See the distribution removed (e.g. interface to FFTW). See the
:doc:`LAMMPS license <Intro_opensource>` doc page for details. :doc:`LAMMPS license <Intro_opensource>` page for details.
.. note:: .. note::
@ -79,7 +80,7 @@ distribution removed (e.g. interface to FFTW). See the
.. _lws: https://www.lammps.org .. _lws: https://www.lammps.org
The previous sections of this doc page describe how to add new "style" The previous sections of this page describe how to add new "style"
files of various kinds to LAMMPS. Packages are simply collections of files of various kinds to LAMMPS. Packages are simply collections of
one or more new class files which are invoked as a new style within a one or more new class files which are invoked as a new style within a
LAMMPS input script. If designed correctly, these additions typically LAMMPS input script. If designed correctly, these additions typically
@ -92,7 +93,7 @@ trivial change is making a parent-class method "virtual" when you derive
a new child class from it. a new child class from it.
Here is a checklist of steps you need to follow to submit a single file Here is a checklist of steps you need to follow to submit a single file
or user package for our consideration. Following these steps will save or package for our consideration. Following these steps will save
both you and us time. Please have a look at the existing files in both you and us time. Please have a look at the existing files in
packages in the src directory for examples. If you are uncertain, please ask. packages in the src directory for examples. If you are uncertain, please ask.
@ -106,7 +107,7 @@ packages in the src directory for examples. If you are uncertain, please ask.
your contribution(s) to be added to main LAMMPS code or one of its your contribution(s) to be added to main LAMMPS code or one of its
standard packages, it needs to be written in a style compatible with standard packages, it needs to be written in a style compatible with
other LAMMPS source files. This means: 2-character indentation per other LAMMPS source files. This means: 2-character indentation per
level, **no tabs**\ , no lines over 100 characters. I/O is done via level, **no tabs**, no lines over 100 characters. I/O is done via
the C-style stdio library (mixing of stdio and iostreams is generally the C-style stdio library (mixing of stdio and iostreams is generally
discouraged), class header files should not import any system headers discouraged), class header files should not import any system headers
outside of <cstdio>, STL containers should be avoided in headers, outside of <cstdio>, STL containers should be avoided in headers,
@ -150,37 +151,40 @@ packages in the src directory for examples. If you are uncertain, please ask.
You may also use ``// clang-format on/off`` throughout your file You may also use ``// clang-format on/off`` throughout your file
to protect sections of the file from being reformatted. to protect sections of the file from being reformatted.
* If you want your contribution to be added as a user-contributed * Please review the list of :doc:`available Packages <Packages_details>`
feature, and it's a single file (actually a \*.cpp and \*.h file) it can to see if your contribution could be added to be added to one of them.
rapidly be added to the USER-MISC directory. Send us the one-line It should fit into the general purposed of that package. If it does not
entry to add to the USER-MISC/README file in that dir, along with the fit well, it can be added to one of the EXTRA- packages or the MISC package.
2 source files. You can do this multiple times if you wish to
contribute several individual features.
* If you want your contribution to be added and it has several related * If your contribution has several related features that are not covered
features or is dependent on an external or bundled library, it is best by one of the existing packages or is dependent on a library (bundled
to make it a package directory with a name like FOO. In addition to or external), it is best to make it a package directory with a name
your new files, the directory should contain a README text file. The like FOO. In addition to your new files, the directory should contain
README should contain your name and contact information and a brief a README text file. The README should contain your name and contact
description of what your new package does. If your files depend on information and a brief description of what your new package does. If
other LAMMPS style files also being installed (e.g. because your file your files depend on other LAMMPS style files also being installed
is a derived class from the other LAMMPS class), then an Install.sh (e.g. because your file is a derived class from the other LAMMPS
file is also needed to check for those dependencies. See other README class), then an Install.sh file is also needed to check for those
and Install.sh files in other directories as examples. Submit a pull dependencies and modifications to src/Depend.sh to trigger the checks.
request on GitHub or send us a tarball of this FOO directory. Pull See other README and Install.sh files in other directories as examples.
requests are strongly encouraged since the greatly reduce the effort Similarly for CMake support changes need to be made to cmake/CMakeLists.txt,
to integrate a contribution and simplify the process of adjusting the the files in cmake/presets, and possibly a file to cmake/Modules/Packages/
contributed code to cleanly integrate into the LAMMPS distribution. added. Please check out how this is handled for existing packages and
ask the LAMMPS developers if you need assistance. Please submit a pull
request on GitHub or send us a tarball of this FOO directory and all
modified files. Pull requests are strongly encouraged since they greatly
reduce the effort required to integrate a contribution and simplify the
process of adjusting the contributed code to cleanly fit into the
LAMMPS distribution.
* Your new source files need to have the LAMMPS copyright, GPL notice, * Your new source files need to have the LAMMPS copyright, GPL notice,
and your name and email address at the top, like other and your name and email address at the top, like other
user-contributed LAMMPS source files. They need to create a class user-contributed LAMMPS source files. They need to create a class
that is inside the LAMMPS namespace. If the file is for one of the that is inside the LAMMPS namespace. To simplify maintenance, we
USER packages, including USER-MISC, then we are not as picky about the may ask to adjust the programming style and formatting style to closer
coding style (see above). I.e. the files do not need to be in the match the rest of LAMMPS. We bundle a clang-format configuration file
same stylistic format and syntax as other LAMMPS files, though that that can help with adjusting the formatting, although this is not a
would be nice for developers as well as users who try to read your strict requirement.
code.
* You **must** also create a **documentation** file for each new command * You **must** also create a **documentation** file for each new command
or style you are adding to LAMMPS. For simplicity and convenience, or style you are adding to LAMMPS. For simplicity and convenience,
@ -199,13 +203,13 @@ packages in the src directory for examples. If you are uncertain, please ask.
pdf" in the doc folder. As appropriate, the text files can include pdf" in the doc folder. As appropriate, the text files can include
inline mathematical expression or figures (see doc/JPG for examples). inline mathematical expression or figures (see doc/JPG for examples).
Additional PDF files with further details (see doc/PDF for examples) Additional PDF files with further details (see doc/PDF for examples)
may also be included. The doc page should also include literature may also be included. The page should also include literature
citations as appropriate; see the bottom of doc/fix_nh.rst for citations as appropriate; see the bottom of doc/fix_nh.rst for
examples and the earlier part of the same file for how to format the examples and the earlier part of the same file for how to format the
cite itself. Citation labels must be unique across all .rst files. cite itself. Citation labels must be unique across all .rst files.
The "Restrictions" section of the doc page should indicate if your The "Restrictions" section of the page should indicate if your
command is only available if LAMMPS is built with the appropriate command is only available if LAMMPS is built with the appropriate
USER-MISC or FOO package. See other package doc files for examples of FOO package. See other package doc files for examples of
how to do this. Please run at least "make html" and "make spelling" how to do this. Please run at least "make html" and "make spelling"
and carefully inspect and proofread the resulting HTML format doc page and carefully inspect and proofread the resulting HTML format doc page
before submitting your code. Upon submission of a pull request, before submitting your code. Upon submission of a pull request,

View File

@ -129,7 +129,7 @@ derived class. See fix.h for details.
Typically, only a small fraction of these methods are defined for a Typically, only a small fraction of these methods are defined for a
particular fix. Setmask is mandatory, as it determines when the fix particular fix. Setmask is mandatory, as it determines when the fix
will be invoked during the timestep. Fixes that perform time will be invoked during the timestep. Fixes that perform time
integration (\ *nve*\ , *nvt*\ , *npt*\ ) implement initial_integrate() and integration (\ *nve*, *nvt*, *npt*\ ) implement initial_integrate() and
final_integrate() to perform velocity Verlet updates. Fixes that final_integrate() to perform velocity Verlet updates. Fixes that
constrain forces implement post_force(). constrain forces implement post_force().

View File

@ -7,7 +7,7 @@ specific set of features. For example, force fields for molecular
systems or rigid-body constraints are in packages. You can see the systems or rigid-body constraints are in packages. You can see the
list of all packages and "make" commands to manage them by typing list of all packages and "make" commands to manage them by typing
"make package" from within the src directory of the LAMMPS "make package" from within the src directory of the LAMMPS
distribution. The :doc:`Build package <Build_package>` doc page gives distribution. The :doc:`Build package <Build_package>` page gives
general info on how to install and un-install packages as part of the general info on how to install and un-install packages as part of the
LAMMPS build process. LAMMPS build process.

View File

@ -49,11 +49,17 @@ page gives those details.
* :ref:`DPD-SMOOTH <PKG-DPD-SMOOTH>` * :ref:`DPD-SMOOTH <PKG-DPD-SMOOTH>`
* :ref:`DRUDE <PKG-DRUDE>` * :ref:`DRUDE <PKG-DRUDE>`
* :ref:`EFF <PKG-EFF>` * :ref:`EFF <PKG-EFF>`
* :ref:`EXTRA-COMPUTE <PKG-EXTRA-COMPUTE>`
* :ref:`EXTRA-DUMP <PKG-EXTRA-DUMP>`
* :ref:`EXTRA-FIX <PKG-EXTRA-FIX>`
* :ref:`EXTRA-MOLECULE <PKG-EXTRA-MOLECULE>`
* :ref:`EXTRA-PAIR <PKG-EXTRA-PAIR>`
* :ref:`FEP <PKG-FEP>` * :ref:`FEP <PKG-FEP>`
* :ref:`GPU <PKG-GPU>` * :ref:`GPU <PKG-GPU>`
* :ref:`GRANULAR <PKG-GRANULAR>` * :ref:`GRANULAR <PKG-GRANULAR>`
* :ref:`H5MD <PKG-H5MD>` * :ref:`H5MD <PKG-H5MD>`
* :ref:`INTEL <PKG-INTEL>` * :ref:`INTEL <PKG-INTEL>`
* :ref:`INTERLAYER <PKG-INTERLAYER>`
* :ref:`KIM <PKG-KIM>` * :ref:`KIM <PKG-KIM>`
* :ref:`KOKKOS <PKG-KOKKOS>` * :ref:`KOKKOS <PKG-KOKKOS>`
* :ref:`KSPACE <PKG-KSPACE>` * :ref:`KSPACE <PKG-KSPACE>`
@ -83,6 +89,7 @@ page gives those details.
* :ref:`NETCDF <PKG-NETCDF>` * :ref:`NETCDF <PKG-NETCDF>`
* :ref:`OPENMP <PKG-OPENMP>` * :ref:`OPENMP <PKG-OPENMP>`
* :ref:`OPT <PKG-OPT>` * :ref:`OPT <PKG-OPT>`
* :ref:`ORIENT <PKG-ORIENT>`
* :ref:`PERI <PKG-PERI>` * :ref:`PERI <PKG-PERI>`
* :ref:`PHONON <PKG-PHONON>` * :ref:`PHONON <PKG-PHONON>`
* :ref:`PLUGIN <PKG-PLUGIN>` * :ref:`PLUGIN <PKG-PLUGIN>`
@ -108,7 +115,6 @@ page gives those details.
* :ref:`VORONOI <PKG-VORONOI>` * :ref:`VORONOI <PKG-VORONOI>`
* :ref:`VTK <PKG-VTK>` * :ref:`VTK <PKG-VTK>`
* :ref:`YAFF <PKG-YAFF>` * :ref:`YAFF <PKG-YAFF>`
* :ref:`USER-MISC <PKG-USER-MISC>`
---------- ----------
@ -183,6 +189,7 @@ atomic information to continuum fields.
**Install:** **Install:**
This package has :ref:`specific installation instructions <atc>` on the :doc:`Build extras <Build_extras>` page. This package has :ref:`specific installation instructions <atc>` on the :doc:`Build extras <Build_extras>` page.
The ATC package requires that also the `MANYBODY <PKG-MANYBODY>`_ package is installed.
**Supporting info:** **Supporting info:**
@ -512,6 +519,11 @@ compute for simulating systems using boundary element solvers for
computing the induced charges at the interface between two media with computing the induced charges at the interface between two media with
different dielectric constants. different dielectric constants.
**Install:**
To use this package, also the :ref:`KSPACE <PKG-KSPACE>` and
:ref:`EXTRA-PAIR <PKG-EXTRA-PAIR>` packages need to be installed.
**Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U) **Author:** Trung Nguyen and Monica Olvera de la Cruz (Northwestern U)
**Supporting info:** **Supporting info:**
@ -562,6 +574,7 @@ short-range or long-range interactions.
* :doc:`pair_style lj/cut/dipole/cut <pair_dipole>` * :doc:`pair_style lj/cut/dipole/cut <pair_dipole>`
* :doc:`pair_style lj/cut/dipole/long <pair_dipole>` * :doc:`pair_style lj/cut/dipole/long <pair_dipole>`
* :doc:`pair_style lj/long/dipole/long <pair_dipole>` * :doc:`pair_style lj/long/dipole/long <pair_dipole>`
* :doc: `angle_style dipole <angle_dipole>`
* examples/dipole * examples/dipole
---------- ----------
@ -755,6 +768,86 @@ tools/eff; see its README file.
* tools/eff * tools/eff
* https://www.lammps.org/movies.html#eff * https://www.lammps.org/movies.html#eff
-------------------
.. _PKG-EXTRA-COMPUTE:
EXTRA-COMPUTE package
---------------------
**Contents:**
Additional compute styles that are less commonly used.
**Supporting info:**
* src/EXTRA-COMPUTE: filenames -> commands
* :doc:`compute <compute>`
----------
.. _PKG-EXTRA-DUMP:
EXTRA-DUMP package
------------------
**Contents:**
Additional dump styles that are less commonly used.
**Supporting info:**
* src/EXTRA-DUMP: filenames -> commands
* :doc:`dump <dump>`
----------
.. _PKG-EXTRA-FIX:
EXTRA-FIX package
-----------------
**Contents:**
Additional fix styles that are less commonly used.
**Supporting info:**
* src/EXTRA-FIX: filenames -> commands
* :doc:`fix <fix>`
----------
.. _PKG-EXTRA-MOLECULE:
EXTRA-MOLECULE package
----------------------
**Contents:**
Additional bond, angle, dihedral, and improper styles that are less commonly used.
**Supporting info:**
* src/EXTRA-MOLECULE: filenames -> commands
* :doc:`molecular styles <Commands_bond>`
----------
.. _PKG-EXTRA-PAIR:
EXTRA-PAIR package
------------------
**Contents:**
Additional pair styles that are less commonly used.
**Supporting info:**
* src/EXTRA-PAIR: filenames -> commands
* :doc:`pair_style <pair_style>`
---------- ----------
.. _PKG-FEP: .. _PKG-FEP:
@ -938,6 +1031,24 @@ This package has :ref:`specific installation instructions <intel>` on the :doc:`
---------- ----------
.. _PKG-INTERLAYER:
INTERLAYER package
------------------
**Contents:**
A collection of pair styles specifically to be used for modeling layered
materials, most commonly graphene sheets (or equivalents).
**Supporting info:**
* src/INTERLAYER: filenames -> commands
* :doc:`Pair style <Commands_pair>` page
* examples/PACKAGES/interlayer
----------
.. _PKG-KIM: .. _PKG-KIM:
KIM package KIM package
@ -1105,6 +1216,10 @@ can be used to model MD particles influenced by hydrodynamic forces.
**Authors:** Frances Mackay and Colin Denniston (University of Western **Authors:** Frances Mackay and Colin Denniston (University of Western
Ontario). Ontario).
**Install:**
The LATBOLTZ package requires that LAMMPS is build in :ref:`MPI parallel mode <serial>`.
**Supporting info:** **Supporting info:**
* src/LATBOLTZ: filenames -> commands * src/LATBOLTZ: filenames -> commands
@ -1428,7 +1543,7 @@ MISC package
**Contents:** **Contents:**
A variety of compute, fix, pair, dump styles with specialized A variety of compute, fix, pair, bond styles with specialized
capabilities that don't align with other packages. Do a directory capabilities that don't align with other packages. Do a directory
listing, "ls src/MISC", to see the list of commands. listing, "ls src/MISC", to see the list of commands.
@ -1440,18 +1555,16 @@ listing, "ls src/MISC", to see the list of commands.
**Supporting info:** **Supporting info:**
* src/MISC: filenames -> commands * src/MISC: filenames -> commands
* :doc:`compute ti <compute_ti>` * :doc:`bond_style special <bond_special>`
* :doc:`fix evaporate <fix_evaporate>` * :doc:`compute viscosity/cos <compute_viscosity_cos>`
* :doc:`fix accelerate/cos <fix_accelerate_cos>`
* :doc:`fix imd <fix_imd>` * :doc:`fix imd <fix_imd>`
* :doc:`fix oneway <fix_oneway>` * :doc:`fix ipi <fix_ipi>`
* :doc:`fix orient/fcc <fix_orient>` * :doc:`pair_style agni <pair_agni>`
* :doc:`fix ttm <fix_ttm>` * :doc:`pair_style list <pair_list>`
* :doc:`fix thermal/conductivity <fix_thermal_conductivity>` * :doc:`pair_style srp <pair_srp>`
* :doc:`fix viscosity <fix_viscosity>` * :doc:`pair_style tracker <pair_tracker>`
* examples/KAPPA * :doc:`fix pair/tracker <fix_pair_tracker>`
* examples/VISCOSITY
* https://www.lammps.org/pictures.html#ttm
* https://www.lammps.org/movies.html#evaporation
---------- ----------
@ -1500,9 +1613,9 @@ A general interface for machine-learning interatomic potentials, including PyTor
**Install:** **Install:**
To use this package, also the :ref:`ML-SNAP package <PKG-ML-SNAP>` package needs To use this package, also the :ref:`ML-SNAP <PKG-ML-SNAP>` package needs
to be installed. To make the *mliappy* model available, also the to be installed. To make the *mliappy* model available, also the
:ref:`PYTHON package <PKG-PYTHON>` package needs to be installed, the version :ref:`PYTHON <PKG-PYTHON>` package needs to be installed, the version
of Python must be 3.6 or later, and the `cython <https://cython.org/>`_ software of Python must be 3.6 or later, and the `cython <https://cython.org/>`_ software
must be installed. must be installed.
@ -1767,6 +1880,10 @@ MPIIO library. It adds :doc:`dump styles <dump>` with a "mpiio" in
their style name. Restart files with an ".mpiio" suffix are also their style name. Restart files with an ".mpiio" suffix are also
written and read in parallel. written and read in parallel.
**Install:**
The MPIIO package requires that LAMMPS is build in :ref:`MPI parallel mode <serial>`.
**Supporting info:** **Supporting info:**
* src/MPIIO: filenames -> commands * src/MPIIO: filenames -> commands
@ -1936,6 +2053,23 @@ This package has :ref:`specific installation instructions <opt>` on the :doc:`Bu
* Search the :doc:`pair style <Commands_pair>` page for styles followed by (t) * Search the :doc:`pair style <Commands_pair>` page for styles followed by (t)
* `Benchmarks page <https://www.lammps.org/bench.html>`_ of web site * `Benchmarks page <https://www.lammps.org/bench.html>`_ of web site
.. _PKG-ORIENT:
ORIENT package
--------------
**Contents:**
A few fixes that apply orientation dependent forces for studying
grain boundary migration.
**Supporting info:**
* src/ORIENT: filenames -> commands
* :doc:`fix orient/bcc <fix_orient>`
* :doc:`fix orient/fcc <fix_orient>`
* :doc:`fix orient/eco <fix_orient_eco>`
---------- ----------
.. _PKG-PERI: .. _PKG-PERI:
@ -1983,6 +2117,12 @@ And a :doc:`dynamical_matrix <dynamical_matrix>` as well as a
:doc:`third_order <third_order>` command to compute the dynamical matrix :doc:`third_order <third_order>` command to compute the dynamical matrix
and third order tensor from finite differences. and third order tensor from finite differences.
**Install:**
The PHONON package requires that also the `KSPACE <PKG-KSPACE>`_
package is installed.
**Authors:** Ling-Ti Kong (Shanghai Jiao Tong University) for "fix phonon" **Authors:** Ling-Ti Kong (Shanghai Jiao Tong University) for "fix phonon"
and Charlie Sievers (UC Davis) for "dynamical_matrix" and "third_order" and Charlie Sievers (UC Davis) for "dynamical_matrix" and "third_order"
@ -2274,10 +2414,10 @@ for monitoring molecules as bonds are created and destroyed.
* src/REAXFF: filenames -> commands * src/REAXFF: filenames -> commands
* src/REAXFF/README * src/REAXFF/README
* :doc:`pair_style reax/c <pair_reaxc>` * :doc:`pair_style reaxff <pair_reaxff>`
* :doc:`fix reax/c/bonds <fix_reaxc_bonds>` * :doc:`fix reaxff/bonds <fix_reaxff_bonds>`
* :doc:`fix reax/c/species <fix_reaxc_species>` * :doc:`fix reaxff/species <fix_reaxff_species>`
* examples/reax * examples/reaxff
---------- ----------
@ -2305,10 +2445,13 @@ another set.
* :doc:`prd <prd>` * :doc:`prd <prd>`
* :doc:`tad <tad>` * :doc:`tad <tad>`
* :doc:`temper <temper>`, * :doc:`temper <temper>`,
* :doc:`temper/npt <temper_npt>`,
* :doc:`temper/grem <temper_grem>`,
* :doc:`run_style verlet/split <run_style>` * :doc:`run_style verlet/split <run_style>`
* examples/neb * examples/neb
* examples/prd * examples/prd
* examples/tad * examples/tad
* examples/PACKAGES/grem
---------- ----------
@ -2363,6 +2506,7 @@ the Forschungszentrum Juelich.
**Install:** **Install:**
This package has :ref:`specific installation instructions <scafacos>` on the :doc:`Build extras <Build_extras>` page. This package has :ref:`specific installation instructions <scafacos>` on the :doc:`Build extras <Build_extras>` page.
The SCAFACOS package requires that LAMMPS is build in :ref:`MPI parallel mode <serial>`.
**Supporting info:** **Supporting info:**
@ -2658,26 +2802,3 @@ which discuss the `QuickFF <quickff_>`_ methodology.
* :doc:`pair_style mm3/switch3/coulgauss/long <pair_lj_switch3_coulgauss_long>` * :doc:`pair_style mm3/switch3/coulgauss/long <pair_lj_switch3_coulgauss_long>`
* :doc:`pair_style lj/switch3/coulgauss/long <pair_lj_switch3_coulgauss_long>` * :doc:`pair_style lj/switch3/coulgauss/long <pair_lj_switch3_coulgauss_long>`
* examples/PACKAGES/yaff * examples/PACKAGES/yaff
----------
.. _PKG-USER-MISC:
USER-MISC package
-----------------
**Contents:**
A potpourri of (mostly) unrelated features contributed to LAMMPS by
users. Each feature is a single fix, compute, pair, bond, angle,
dihedral, improper, or command style.
**Authors:** The author for each style in the package is listed in the
src/USER-MISC/README file.
**Supporting info:**
* src/USER-MISC: filenames -> commands
* src/USER-MISC/README
* one page per individual command listed in src/USER-MISC/README
* examples/USER-MISC

View File

@ -143,6 +143,31 @@ whether an extra library is needed to build and use the package:
- :doc:`pair_style eff/cut <pair_eff>` - :doc:`pair_style eff/cut <pair_eff>`
- PACKAGES/eff - PACKAGES/eff
- no - no
* - :ref:`EXTRA-COMPUTE <PKG-EXTRA-COMPUTE>`
- additional compute styles
- :doc:`compute <compute>`
- n/a
- no
* - :ref:`EXTRA-DUMP <PKG-EXTRA-DUMP>`
- additional dump styles
- :doc:`dump <dump>`
- n/a
- no
* - :ref:`EXTRA-FIX <PKG-EXTRA-FIX>`
- additional fix styles
- :doc:`fix <fix>`
- n/a
- no
* - :ref:`EXTRA-MOLECULE <PKG-EXTRA-MOLECULE>`
- additional molecular styles
- :doc:`molecular styles <Commands_bond>`
- n/a
- no
* - :ref:`EXTRA-PAIR <PKG-EXTRA-PAIR>`
- additional pair styles
- :doc:`pair_style <pair_style>`
- n/a
- no
* - :ref:`FEP <PKG-FEP>` * - :ref:`FEP <PKG-FEP>`
- free energy perturbation - free energy perturbation
- :doc:`compute fep <compute_fep>` - :doc:`compute fep <compute_fep>`
@ -168,6 +193,11 @@ whether an extra library is needed to build and use the package:
- :doc:`Speed intel <Speed_intel>` - :doc:`Speed intel <Speed_intel>`
- `Benchmarks <https://www.lammps.org/bench.html>`_ - `Benchmarks <https://www.lammps.org/bench.html>`_
- no - no
* - :ref:`INTERLAYER <PKG-INTERLAYER>`
- Inter-layer pair potentials
- :doc:`several pair styles <Commands_pair>`
- PACKAGES/interlayer
- no
* - :ref:`KIM <PKG-KIM>` * - :ref:`KIM <PKG-KIM>`
- OpenKIM wrapper - OpenKIM wrapper
- :doc:`pair_style kim <pair_kim>` - :doc:`pair_style kim <pair_kim>`
@ -313,6 +343,11 @@ whether an extra library is needed to build and use the package:
- :doc:`Speed opt <Speed_opt>` - :doc:`Speed opt <Speed_opt>`
- `Benchmarks <https://www.lammps.org/bench.html>`_ - `Benchmarks <https://www.lammps.org/bench.html>`_
- no - no
* - :ref:`ORIENT <PKG-ORIENT>`
- fixes for orientation depended forces
- :doc:`fix orient/* <fix_orient>`
- PACKAGES/orient_eco
- no
* - :ref:`PERI <PKG-PERI>` * - :ref:`PERI <PKG-PERI>`
- Peridynamics models - Peridynamics models
- :doc:`pair_style peri <pair_peri>` - :doc:`pair_style peri <pair_peri>`
@ -370,7 +405,7 @@ whether an extra library is needed to build and use the package:
- no - no
* - :ref:`REAXFF <PKG-REAXFF>` * - :ref:`REAXFF <PKG-REAXFF>`
- ReaxFF potential (C/C++) - ReaxFF potential (C/C++)
- :doc:`pair_style reaxc <pair_reaxc>` - :doc:`pair_style reaxff <pair_reaxff>`
- reax - reax
- no - no
* - :ref:`REPLICA <PKG-REPLICA>` * - :ref:`REPLICA <PKG-REPLICA>`
@ -423,11 +458,6 @@ whether an extra library is needed to build and use the package:
- :doc:`fix nvt/uef <fix_nh_uef>` - :doc:`fix nvt/uef <fix_nh_uef>`
- PACKAGES/uef - PACKAGES/uef
- no - no
* - :ref:`USER-MISC <PKG-USER-MISC>`
- single-file contributions
- USER-MISC/README
- USER-MISC
- no
* - :ref:`VORONOI <PKG-VORONOI>` * - :ref:`VORONOI <PKG-VORONOI>`
- Voronoi tesselation - Voronoi tesselation
- :doc:`compute voronoi/atom <compute_voronoi_atom>` - :doc:`compute voronoi/atom <compute_voronoi_atom>`

View File

@ -43,7 +43,7 @@ complex loop with branching logic, than can be created using the
simple looping and branching logic enabled by the :doc:`next <next>` and simple looping and branching logic enabled by the :doc:`next <next>` and
:doc:`if <if>` commands. :doc:`if <if>` commands.
See the :doc:`python <python>` doc page and the :doc:`variable <variable>` See the :doc:`python <python>` page and the :doc:`variable <variable>`
doc page for its python-style variables for more info, including doc page for its python-style variables for more info, including
examples of Python code you can write for both pure Python operations examples of Python code you can write for both pure Python operations
and callbacks to LAMMPS. and callbacks to LAMMPS.

View File

@ -35,9 +35,9 @@ visualization package you have installed.
Note that for GL, you need to be able to run the Pizza.py GL tool, Note that for GL, you need to be able to run the Pizza.py GL tool,
which is included in the pizza sub-directory. See the Pizza.py doc pages for more info: which is included in the pizza sub-directory. See the Pizza.py doc pages for more info:
* `https://pizza.sandia.gov <pizza_>`_ * `https://lammps.github.io/pizza <pizza_>`_
.. _pizza: https://pizza.sandia.gov .. _pizza: https://lammps.github.io/pizza
Note that for AtomEye, you need version 3, and there is a line in the 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

View File

@ -20,7 +20,7 @@ computes, fixes, or variables in LAMMPS using the :py:mod:`lammps` module.
global vector or array, a single double value from the vector or array global vector or array, a single double value from the vector or array
is returned, indexed by I (vector) or I and J (array). I,J are is returned, indexed by I (vector) or I and J (array). I,J are
zero-based indices. zero-based indices.
See the :doc:`Howto output <Howto_output>` doc page for a discussion of See the :doc:`Howto output <Howto_output>` page for a discussion of
global, per-atom, and local data, and of scalar, vector, and array global, per-atom, and local data, and of scalar, vector, and array
data types. See the doc pages for individual :doc:`computes <compute>` data types. See the doc pages for individual :doc:`computes <compute>`
and :doc:`fixes <fix>` for a description of what they calculate and and :doc:`fixes <fix>` for a description of what they calculate and

View File

@ -41,4 +41,4 @@ first importing from the ``lammps`` module:
>>> CDLL("liblammps.so") >>> CDLL("liblammps.so")
If an error occurs, carefully go through the steps in :ref:`python_install_guides` and on the If an error occurs, carefully go through the steps in :ref:`python_install_guides` and on the
:doc:`Build_basics <Build_basics>` doc page about building a shared library. :doc:`Build_basics <Build_basics>` page about building a shared library.

View File

@ -42,7 +42,7 @@ single processor. In theory you should get identical answers on any
number of processors and on any machine. In practice, numerical number of processors and on any machine. In practice, numerical
round-off due to using floating-point math can cause slight differences round-off due to using floating-point math can cause slight differences
and an eventual divergence of molecular dynamics trajectories. See the and an eventual divergence of molecular dynamics trajectories. See the
:doc:`Errors common <Errors_common>` doc page for discussion of this. :doc:`Errors common <Errors_common>` page for discussion of this.
LAMMPS can run as large a problem as will fit in the physical memory of LAMMPS can run as large a problem as will fit in the physical memory of
one or more processors. If you run out of memory, you must run on more one or more processors. If you run out of memory, you must run on more

View File

@ -365,7 +365,7 @@ to insure that a specific Kspace processor (in the second partition) is
matched up with a specific set of processors in the first partition. matched up with a specific set of processors in the first partition.
See the :doc:`General tips <Speed_tips>` page for more details. See the :doc:`General tips <Speed_tips>` page for more details.
If the keyword *nth* is used with a setting *N*\ , then it means every If the keyword *nth* is used with a setting *N*, then it means every
Nth processor will be moved to the end of the ranking. This is useful Nth processor will be moved to the end of the ranking. This is useful
when using the :doc:`run_style verlet/split <run_style>` command with 2 when using the :doc:`run_style verlet/split <run_style>` command with 2
partitions via the -partition command-line switch. The first set of partitions via the -partition command-line switch. The first set of
@ -397,7 +397,7 @@ so that the processors in each partition will be
See the "processors" command for how to insure processors from each See the "processors" command for how to insure processors from each
partition could then be grouped optimally for quad-core nodes. partition could then be grouped optimally for quad-core nodes.
If the keyword is *custom*\ , then a file that specifies a permutation If the keyword is *custom*, then a file that specifies a permutation
of the processor ranks is also specified. The format of the reorder of the processor ranks is also specified. The format of the reorder
file is as follows. Any number of initial blank or comment lines file is as follows. Any number of initial blank or comment lines
(starting with a "#" character) can be present. These should be (starting with a "#" character) can be present. These should be
@ -464,7 +464,7 @@ The syntax following restartfile (or remap), namely
datafile keyword value ... datafile keyword value ...
is identical to the arguments of the :doc:`write_data <write_data>` is identical to the arguments of the :doc:`write_data <write_data>`
command. See its doc page for details. This includes its command. See its page for details. This includes its
optional keyword/value settings. optional keyword/value settings.
---------- ----------
@ -505,11 +505,11 @@ The syntax following restartfile (or remap), namely
group-ID dumpstyle dumpfile arg1 arg2 ... group-ID dumpstyle dumpfile arg1 arg2 ...
is identical to the arguments of the :doc:`write_dump <write_dump>` is identical to the arguments of the :doc:`write_dump <write_dump>`
command. See its doc page for details. This includes what per-atom command. See its page for details. This includes what per-atom
fields are written to the dump file and optional dump_modify settings, fields are written to the dump file and optional dump_modify settings,
including ones that affect how parallel dump files are written, e.g. including ones that affect how parallel dump files are written, e.g.
the *nfile* and *fileper* keywords. See the the *nfile* and *fileper* keywords. See the
:doc:`dump_modify <dump_modify>` doc page for details. :doc:`dump_modify <dump_modify>` page for details.
---------- ----------
@ -537,7 +537,7 @@ partition screen files file.N.
**-suffix style args** **-suffix style args**
Use variants of various styles if they exist. The specified style can Use variants of various styles if they exist. The specified style can
be *gpu*\ , *intel*\ , *kk*\ , *omp*\ , *opt*\ , or *hybrid*\ . These be *gpu*, *intel*, *kk*, *omp*, *opt*, or *hybrid*\ . These
refer to optional packages that LAMMPS can be built with, as described refer to optional packages that LAMMPS can be built with, as described
in :doc:`Accelerate performance <Speed>`. The "gpu" style corresponds to the in :doc:`Accelerate performance <Speed>`. The "gpu" style corresponds to the
GPU package, the "intel" style to the INTEL package, the "kk" GPU package, the "intel" style to the INTEL package, the "kk"

View File

@ -152,7 +152,7 @@ information is provided about the line search and statistics on how
many iterations and force-evaluations the minimizer required. many iterations and force-evaluations the minimizer required.
Multiple force evaluations are typically done at each iteration to Multiple force evaluations are typically done at each iteration to
perform a 1d line minimization in the search direction. See the perform a 1d line minimization in the search direction. See the
:doc:`minimize <minimize>` doc page for more details. :doc:`minimize <minimize>` page for more details.
---------- ----------

View File

@ -71,7 +71,7 @@ by AMD.
**Building LAMMPS with the GPU package:** **Building LAMMPS with the GPU package:**
See the :ref:`Build extras <gpu>` doc page for See the :ref:`Build extras <gpu>` page for
instructions. instructions.
**Run with the GPU package from the command line:** **Run with the GPU package from the command line:**
@ -118,7 +118,7 @@ automatic selection of the number of GPUs to use.
Using the "-pk" switch explicitly allows for setting of the number of Using the "-pk" switch explicitly allows for setting of the number of
GPUs/node to use and additional options. Its syntax is the same as GPUs/node to use and additional options. Its syntax is the same as
the "package gpu" command. See the :doc:`package <package>` the "package gpu" command. See the :doc:`package <package>`
command doc page for details, including the default values used for command page for details, including the default values used for
all its options if it is not specified. all its options if it is not specified.
Note that the default for the :doc:`package gpu <package>` command is to Note that the default for the :doc:`package gpu <package>` command is to
@ -182,7 +182,7 @@ deterministic results.
calculations can be dynamically balanced across the CPU cores and calculations can be dynamically balanced across the CPU cores and
GPUs. GPU-specific settings can be made which can be optimized GPUs. GPU-specific settings can be made which can be optimized
for different hardware. See the :doc:`package <package>` command for different hardware. See the :doc:`package <package>` command
doc page for details. page for details.
* As described by the :doc:`package gpu <package>` command, GPU * As described by the :doc:`package gpu <package>` command, GPU
accelerated pair styles can perform computations asynchronously with accelerated pair styles can perform computations asynchronously with
CPU computations. The "Pair" time reported by LAMMPS will be the CPU computations. The "Pair" time reported by LAMMPS will be the

View File

@ -103,7 +103,7 @@ Quick Start for Experienced Users
""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""
LAMMPS should be built with the INTEL package installed. LAMMPS should be built with the INTEL package installed.
Simulations should be run with 1 MPI task per physical *core*\ , Simulations should be run with 1 MPI task per physical *core*,
not *hardware thread*\ . not *hardware thread*\ .
* Edit src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi as necessary. * Edit src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi as necessary.
@ -205,7 +205,7 @@ this information can normally be obtained with:
Building LAMMPS with the INTEL package Building LAMMPS with the INTEL package
""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""
See the :ref:`Build extras <intel>` doc page for See the :ref:`Build extras <intel>` page for
instructions. Some additional details are covered here. instructions. Some additional details are covered here.
For building with make, several example Makefiles for building with For building with make, several example Makefiles for building with

View File

@ -67,7 +67,7 @@ produce an executable compatible with a specific hardware.
Building LAMMPS with the KOKKOS package Building LAMMPS with the KOKKOS package
""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""
See the :ref:`Build extras <kokkos>` doc page for instructions. See the :ref:`Build extras <kokkos>` page for instructions.
Running LAMMPS with the KOKKOS package Running LAMMPS with the KOKKOS package
"""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""
@ -217,7 +217,7 @@ threads/task as Nt. The product of these two values should be N, i.e.
be best for many-body potentials. For simpler pair-wise potentials, it be best for many-body potentials. For simpler pair-wise potentials, it
may be faster to use a "full" neighbor list with Newton flag to "off". may be faster to use a "full" neighbor list with Newton flag to "off".
Use the "-pk kokkos" :doc:`command-line switch <Run_options>` to change Use the "-pk kokkos" :doc:`command-line switch <Run_options>` to change
the default :doc:`package kokkos <package>` options. See its doc page for the default :doc:`package kokkos <package>` options. See its page for
details and default settings. Experimenting with its options can provide details and default settings. Experimenting with its options can provide
a speed-up for specific calculations. For example: a speed-up for specific calculations. For example:
@ -279,7 +279,7 @@ one or more nodes, each with two GPUs:
setting the neighbor binsize equal to twice the CPU default value will setting the neighbor binsize equal to twice the CPU default value will
give speedup, which is the default when running on GPUs. Use the "-pk give speedup, which is the default when running on GPUs. Use the "-pk
kokkos" :doc:`command-line switch <Run_options>` to change the default kokkos" :doc:`command-line switch <Run_options>` to change the default
:doc:`package kokkos <package>` options. See its doc page for details and :doc:`package kokkos <package>` options. See its page for details and
default settings. Experimenting with its options can provide a speed-up default settings. Experimenting with its options can provide a speed-up
for specific calculations. For example: for specific calculations. For example:

View File

@ -18,7 +18,7 @@ launched by each MPI task on the local node (using shared memory).
Building LAMMPS with the OPENMP package Building LAMMPS with the OPENMP package
""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""
See the :ref:`Build extras <openmp>` doc page for See the :ref:`Build extras <openmp>` page for
instructions. instructions.
Run with the OPENMP package from the command line Run with the OPENMP package from the command line
@ -50,7 +50,7 @@ threads per MPI task via the OMP_NUM_THREADS environment variable.
You can also use the "-pk omp Nt" :doc:`command-line switch <Run_options>`, to explicitly set Nt = # of OpenMP threads You can also use the "-pk omp Nt" :doc:`command-line switch <Run_options>`, to explicitly set Nt = # of OpenMP threads
per MPI task to use, as well as additional options. Its syntax is the per MPI task to use, as well as additional options. Its syntax is the
same as the :doc:`package omp <package>` command whose doc page gives same as the :doc:`package omp <package>` command whose page gives
details, including the default values used if it is not specified. It details, including the default values used if it is not specified. It
also gives more details on how to set the number of threads via the also gives more details on how to set the number of threads via the
OMP_NUM_THREADS environment variable. OMP_NUM_THREADS environment variable.
@ -70,7 +70,7 @@ Use the :doc:`suffix omp <suffix>` command, or you can explicitly add an
You must also use the :doc:`package omp <package>` command to enable the You must also use the :doc:`package omp <package>` command to enable the
OPENMP package. When you do this you also specify how many threads OPENMP package. When you do this you also specify how many threads
per MPI task to use. The command doc page explains other options and per MPI task to use. The command page explains other options and
how to set the number of threads via the OMP_NUM_THREADS environment how to set the number of threads via the OMP_NUM_THREADS environment
variable. variable.

View File

@ -15,7 +15,7 @@ Any hardware. Any compiler.
Building LAMMPS with the OPT package Building LAMMPS with the OPT package
"""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""
See the :ref:`Build extras <opt>` doc page for instructions. See the :ref:`Build extras <opt>` page for instructions.
Run with the OPT package from the command line Run with the OPT package from the command line
"""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""

View File

@ -15,7 +15,7 @@ Sandia which provides tools for doing setup, analysis, plotting, and
visualization for LAMMPS simulations. visualization for LAMMPS simulations.
.. _lws: https://www.lammps.org .. _lws: https://www.lammps.org
.. _pizza: https://pizza.sandia.gov .. _pizza: https://lammps.github.io/pizza
.. _python: https://www.python.org .. _python: https://www.python.org
Additional tools included in the LAMMPS distribution are described on Additional tools included in the LAMMPS distribution are described on
@ -76,7 +76,6 @@ Post-processing tools
* :ref:`phonon <phonon>` * :ref:`phonon <phonon>`
* :ref:`pymol_asphere <pymol>` * :ref:`pymol_asphere <pymol>`
* :ref:`python <pythontools>` * :ref:`python <pythontools>`
* :ref:`reax <reax_tool>`
* :ref:`replica <replica>` * :ref:`replica <replica>`
* :ref:`smd <smd>` * :ref:`smd <smd>`
* :ref:`spin <spin>` * :ref:`spin <spin>`
@ -364,7 +363,7 @@ michele.ceriotti at gmail.com, to interface to a variety of molecular
dynamics codes. dynamics codes.
See the tools/i-pi/manual.pdf file for an overview of i-PI, and the See the tools/i-pi/manual.pdf file for an overview of i-PI, and the
:doc:`fix ipi <fix_ipi>` doc page for further details on running PIMD :doc:`fix ipi <fix_ipi>` page for further details on running PIMD
calculations with LAMMPS. calculations with LAMMPS.
---------- ----------
@ -947,20 +946,6 @@ while at the Shell lab at UC Santa Barbara. (tanmoy dot 7989 at gmail.com)
---------- ----------
.. _reax_tool:
reax tool
--------------------------
The reax sub-directory contains stand-alone codes that can
post-process the output of the :doc:`fix reax/c/bonds <fix_reaxc_bonds>`
command from a LAMMPS simulation using :doc:`ReaxFF <pair_reaxc>`. See
the README.txt file for more info.
These tools were written by Aidan Thompson at Sandia.
----------
.. _smd: .. _smd:
smd tool smd tool

View File

@ -1,4 +1,4 @@
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are
functionally the same as the corresponding style without the suffix. functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
@ -7,11 +7,11 @@ produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, INTEL, KOKKOS, These accelerated styles are part of the GPU, INTEL, KOKKOS,
OPENMP and OPT packages, respectively. They are only enabled if OPENMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info. LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` page for more info.
You can specify the accelerated styles explicitly in your input script You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script. :doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more See the :doc:`Speed packages <Speed_packages>` page for more
instructions on how to use the accelerated styles effectively. instructions on how to use the accelerated styles effectively.

View File

@ -56,7 +56,7 @@ radian\^2.
---------- ----------
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are Styles with a *gpu*, *intel*, *kk*, *omp*, or *opt* suffix are
functionally the same as the corresponding style without the suffix. functionally the same as the corresponding style without the suffix.
They have been optimized to run faster, depending on your available They have been optimized to run faster, depending on your available
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
@ -65,13 +65,13 @@ produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, INTEL, KOKKOS, These accelerated styles are part of the GPU, INTEL, KOKKOS,
OPENMP and OPT packages, respectively. They are only enabled if OPENMP and OPT packages, respectively. They are only enabled if
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info. LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` page for more info.
You can specify the accelerated styles explicitly in your input script You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script. :doc:`suffix <suffix>` command in your input script.
See :doc:`Speed packages <Speed_packages>` doc page for more See :doc:`Speed packages <Speed_packages>` page for more
instructions on how to use the accelerated styles effectively. instructions on how to use the accelerated styles effectively.
---------- ----------

View File

@ -54,7 +54,7 @@ Restrictions
"""""""""""" """"""""""""
This angle style can only be used if LAMMPS was built with the This angle style can only be used if LAMMPS was built with the
MOLECULE package. See the :doc:`Build package <Build_package>` doc page EXTRA-MOLECULE package. See the :doc:`Build package <Build_package>` doc page
for more info. for more info.
Related commands Related commands

View File

@ -58,7 +58,7 @@ Restrictions
"""""""""""" """"""""""""
This angle style can only be used if LAMMPS was built with the This angle style can only be used if LAMMPS was built with the
MOLECULE package. See the :doc:`Build package <Build_package>` doc page EXTRA-MOLECULE package. See the :doc:`Build package <Build_package>` doc page
for more info. for more info.
Related commands Related commands

View File

@ -53,7 +53,7 @@ Restrictions
"""""""""""" """"""""""""
This angle style can only be used if LAMMPS was built with the This angle style can only be used if LAMMPS was built with the
USER-MISC package. MOLECULE package.
Related commands Related commands
"""""""""""""""" """"""""""""""""

View File

@ -64,7 +64,7 @@ Restrictions
"""""""""""" """"""""""""
This angle style can only be used if LAMMPS was built with the This angle style can only be used if LAMMPS was built with the
USER-MISC package. See the :doc:`Build package <Build_package>` doc MOLECULE package. See the :doc:`Build package <Build_package>` doc
page for more info. page for more info.
Related commands Related commands

View File

@ -88,7 +88,7 @@ Restrictions
"""""""""""" """"""""""""
This angle style can only be used if LAMMPS was built with the This angle style can only be used if LAMMPS was built with the
USER-MISC package. See the :doc:`Build package <Build_package>` doc DIPOLE package. See the :doc:`Build package <Build_package>` doc
page for more info. page for more info.
.. note:: .. note::
@ -106,7 +106,9 @@ page for more info.
The :doc:`newton <newton>` command for intramolecular interactions must be "on" The :doc:`newton <newton>` command for intramolecular interactions must be "on"
(which is the default except when using some accelerator packages). (which is the default except when using some accelerator packages).
This angle style should not be used with SHAKE. .. note::
This angle style should **NOT** be used with fix shake.
Related commands Related commands
"""""""""""""""" """"""""""""""""

View File

@ -50,7 +50,7 @@ Restrictions
"""""""""""" """"""""""""
This angle style can only be used if LAMMPS was built with the This angle style can only be used if LAMMPS was built with the
USER-MISC package. See the :doc:`Build package <Build_package>` doc MOLECULE package. See the :doc:`Build package <Build_package>` doc
page for more info. page for more info.
Related commands Related commands

View File

@ -49,7 +49,7 @@ Restrictions
"""""""""""" """"""""""""
This angle style can only be used if LAMMPS was built with the This angle style can only be used if LAMMPS was built with the
USER-MISC package. See the :doc:`Build package <Build_package>` doc MOLECULE package. See the :doc:`Build package <Build_package>` doc
page for more info. page for more info.
Related commands Related commands

View File

@ -49,7 +49,7 @@ Restrictions
"""""""""""" """"""""""""
This angle style can only be used if LAMMPS was built with the This angle style can only be used if LAMMPS was built with the
USER-MISC package. See the :doc:`Build package <Build_package>` doc MOLECULE package. See the :doc:`Build package <Build_package>` doc
page for more info. page for more info.
Related commands Related commands

View File

@ -58,7 +58,7 @@ specifying additional BondBond (and BondAngle) coefficients either via
the input script or in the data file. I.e. *class2* must be added to the input script or in the data file. I.e. *class2* must be added to
each line after the angle type. For lines in the BondBond (or each line after the angle type. For lines in the BondBond (or
BondAngle) section of the data file for angle types that are not BondAngle) section of the data file for angle types that are not
*class2*\ , you must use an angle style of *skip* as a placeholder, e.g. *class2*, you must use an angle style of *skip* as a placeholder, e.g.
.. parsed-literal:: .. parsed-literal::

View File

@ -57,7 +57,7 @@ Restrictions
"""""""""""" """"""""""""
This angle style can only be used if LAMMPS was built with the This angle style can only be used if LAMMPS was built with the
USER-MISC package. See the :doc:`Build package <Build_package>` doc MOLECULE package. See the :doc:`Build package <Build_package>` doc
page for more info. page for more info.
Related commands Related commands

View File

@ -37,7 +37,7 @@ where :math:`\theta_0` is the equilibrium value of the angle and
*lj/sdk* pair style between the atoms 1 and 3. This angle potential is *lj/sdk* pair style between the atoms 1 and 3. This angle potential is
intended for coarse grained MD simulations with the CMM parameterization intended for coarse grained MD simulations with the CMM parameterization
using the :doc:`pair_style lj/sdk <pair_sdk>`. Relative to the using the :doc:`pair_style lj/sdk <pair_sdk>`. Relative to the
pair_style *lj/sdk*\ , however, the energy is shifted by pair_style *lj/sdk*, however, the energy is shifted by
:math:`\epsilon`, to avoid sudden jumps. Note that the usual 1/2 factor :math:`\epsilon`, to avoid sudden jumps. Note that the usual 1/2 factor
is included in :math:`K`. is included in :math:`K`.

View File

@ -66,7 +66,7 @@ specified by the associated :doc:`angle_coeff <angle_coeff>` command.
There are also additional accelerated pair styles included in the There are also additional accelerated pair styles included in the
LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs. LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs.
The individual style names on the :ref:`Commands angle <angle>` doc page are followed by one or more The individual style names on the :ref:`Commands angle <angle>` page are followed by one or more
of (g,i,k,o,t) to indicate which accelerated styles exist. of (g,i,k,o,t) to indicate which accelerated styles exist.
* :doc:`none <angle_none>` - turn off angle interactions * :doc:`none <angle_none>` - turn off angle interactions
@ -103,7 +103,7 @@ Angle styles can only be set for atom_styles that allow angles to be
defined. defined.
Most angle styles are part of the MOLECULE package. They are only Most angle styles are part of the MOLECULE package. They are only
enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. The doc pages for enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info. The doc pages for
individual bond potentials tell if it is part of a package. individual bond potentials tell if it is part of a package.
Related commands Related commands

View File

@ -66,7 +66,7 @@ Restrictions
Only for be used with the specific controllers *thermal* or *momentum*. Only for be used with the specific controllers *thermal* or *momentum*.
They are ignored if a lumped solution is requested. They are ignored if a lumped solution is requested.
*control thermal* is only for be used with specific transfers: thermal (*rescale*\ , *hoover*\ , *flux*\ ), *two_temperature* (*flux*\ ). *control thermal* is only for be used with specific transfers: thermal (*rescale*, *hoover*, *flux*\ ), *two_temperature* (*flux*\ ).
*rescale* not valid with time filtering activated *rescale* not valid with time filtering activated
*correction_max_iterations* is only for use with *thermal* physics using *correction_max_iterations* is only for use with *thermal* physics using

View File

@ -40,7 +40,7 @@ command. The *id* and *map* keywords must be specified before a
simulation box is defined; other keywords can be specified any time. simulation box is defined; other keywords can be specified any time.
The *id* keyword determines whether non-zero atom IDs can be assigned The *id* keyword determines whether non-zero atom IDs can be assigned
to each atom. If the value is *yes*\ , which is the default, IDs are to each atom. If the value is *yes*, which is the default, IDs are
assigned, whether you use the :doc:`create atoms <create_atoms>` or assigned, whether you use the :doc:`create atoms <create_atoms>` or
:doc:`read_data <read_data>` or :doc:`read_restart <read_restart>` :doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
commands to initialize atoms. If the value is *no* the IDs for all commands to initialize atoms. If the value is *no* the IDs for all

View File

@ -61,7 +61,7 @@ command.
Restrictions section. Restrictions section.
Once a style is assigned, it cannot be changed, so use a style general Once a style is assigned, it cannot be changed, so use a style general
enough to encompass all attributes. E.g. with style *bond*\ , angular enough to encompass all attributes. E.g. with style *bond*, angular
terms cannot be used or added later to the model. It is OK to use a terms cannot be used or added later to the model. It is OK to use a
style more general than needed, though it may be slightly inefficient. style more general than needed, though it may be slightly inefficient.
@ -136,13 +136,13 @@ quantities.
It is possible to add some attributes, such as a molecule ID, to It is possible to add some attributes, such as a molecule ID, to
atom styles that do not have them via the :doc:`fix property/atom <fix_property_atom>` command. This command also atom styles that do not have them via the :doc:`fix property/atom <fix_property_atom>` command. This command also
allows new custom attributes consisting of extra integer or allows new custom attributes consisting of extra integer or
floating-point values to be added to atoms. See the :doc:`fix property/atom <fix_property_atom>` doc page for examples of cases floating-point values to be added to atoms. See the :doc:`fix property/atom <fix_property_atom>` page for examples of cases
where this is useful and details on how to initialize, access, and where this is useful and details on how to initialize, access, and
output the custom values. output the custom values.
All of the above styles define point particles, except the *sphere*\ , All of the above styles define point particles, except the *sphere*,
*ellipsoid*\ , *electron*\ , *peri*\ , *wavepacket*\ , *line*\ , *tri*\ , and *ellipsoid*, *electron*, *peri*, *wavepacket*, *line*, *tri*, and
*body* styles, which define finite-size particles. See the :doc:`Howto spherical <Howto_spherical>` doc page for an overview of using *body* styles, which define finite-size particles. See the :doc:`Howto spherical <Howto_spherical>` page for an overview of using
finite-size particle models with LAMMPS. finite-size particle models with LAMMPS.
All of the point-particle styles assign mass to particles on a All of the point-particle styles assign mass to particles on a
@ -236,7 +236,7 @@ individual physical bodies from penetrating each other.
For the *spin* style, a magnetic spin is associated to each atom. For the *spin* style, a magnetic spin is associated to each atom.
Those spins have a norm (their magnetic moment) and a direction. Those spins have a norm (their magnetic moment) and a direction.
The *wavepacket* style is similar to *electron*\ , but the electrons may The *wavepacket* style is similar to *electron*, but the electrons may
consist of several Gaussian wave packets, summed up with coefficients consist of several Gaussian wave packets, summed up with coefficients
cs= (cs_re,cs_im). Each of the wave packets is treated as a separate cs= (cs_re,cs_im). Each of the wave packets is treated as a separate
particle in LAMMPS, wave packets belonging to the same electron must particle in LAMMPS, wave packets belonging to the same electron must
@ -256,7 +256,7 @@ command. The template stores one or more molecules with a single copy
of the topology info (bonds,angles,etc) of each. Individual atoms of the topology info (bonds,angles,etc) of each. Individual atoms
only store a template index and template atom to identify which only store a template index and template atom to identify which
molecule and which atom-within-the-molecule they represent. Using the molecule and which atom-within-the-molecule they represent. Using the
*template* style instead of the *bond*\ , *angle*\ , *molecular* styles *template* style instead of the *bond*, *angle*, *molecular* styles
can save memory for systems comprised of a large number of small can save memory for systems comprised of a large number of small
molecules, all of a single type (or small number of types). See the molecules, all of a single type (or small number of types). See the
paper by Grime and Voth, in :ref:`(Grime) <Grime>`, for examples of how this paper by Grime and Voth, in :ref:`(Grime) <Grime>`, for examples of how this
@ -283,7 +283,7 @@ the *bstyle* argument. Body particles can represent complex entities,
such as surface meshes of discrete points, collections of such as surface meshes of discrete points, collections of
sub-particles, deformable objects, etc. sub-particles, deformable objects, etc.
The :doc:`Howto body <Howto_body>` doc page describes the body styles The :doc:`Howto body <Howto_body>` page describes the body styles
LAMMPS currently supports, and provides more details as to the kind of LAMMPS currently supports, and provides more details as to the kind of
body particles they represent. For all styles, each body particle body particles they represent. For all styles, each body particle
stores moments of inertia and a quaternion 4-vector, so that its stores moments of inertia and a quaternion 4-vector, so that its
@ -332,14 +332,14 @@ styles.
The accelerated styles are part of the KOKKOS package. They are only The accelerated styles are part of the KOKKOS package. They are only
enabled if LAMMPS was built with those packages. See the :doc:`Build enabled if LAMMPS was built with those packages. See the :doc:`Build
package <Build_package>` doc page for more info. package <Build_package>` page for more info.
You can specify the accelerated styles explicitly in your input script You can specify the accelerated styles explicitly in your input script
by including their suffix, or you can use the :doc:`-suffix command-line by including their suffix, or you can use the :doc:`-suffix command-line
switch <Run_options>` when you invoke LAMMPS, or you can use the switch <Run_options>` when you invoke LAMMPS, or you can use the
:doc:`suffix <suffix>` command in your input script. :doc:`suffix <suffix>` command in your input script.
See the :doc:`Speed packages <Speed_packages>` doc page for more See the :doc:`Speed packages <Speed_packages>` page for more
instructions on how to use the accelerated styles effectively. instructions on how to use the accelerated styles effectively.
Restrictions Restrictions
@ -350,9 +350,9 @@ This command cannot be used after the simulation box is defined by a
Many of the styles listed above are only enabled if LAMMPS was built Many of the styles listed above are only enabled if LAMMPS was built
with a specific package, as listed below. See the :doc:`Build package with a specific package, as listed below. See the :doc:`Build package
<Build_package>` doc page for more info. <Build_package>` page for more info.
The *angle*\ , *bond*\ , *full*\ , *molecular*\ , and *template* styles are The *angle*, *bond*, *full*, *molecular*, and *template* styles are
part of the MOLECULE package. part of the MOLECULE package.
The *line* and *tri* styles are part of the ASPHERE package. The *line* and *tri* styles are part of the ASPHERE package.
@ -370,7 +370,7 @@ The *electron* style is part of the EFF package for :doc:`electronic force field
The *dpd* style is part of the DPD-REACT package for dissipative The *dpd* style is part of the DPD-REACT package for dissipative
particle dynamics (DPD). particle dynamics (DPD).
The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the DPD-MESO package The *edpd*, *mdpd*, and *tdpd* styles are part of the DPD-MESO package
for energy-conserving dissipative particle dynamics (eDPD), many-body for energy-conserving dissipative particle dynamics (eDPD), many-body
dissipative particle dynamics (mDPD), and transport dissipative particle dissipative particle dynamics (mDPD), and transport dissipative particle
dynamics (tDPD), respectively. dynamics (tDPD), respectively.

View File

@ -11,7 +11,7 @@ Syntax
balance thresh style args ... keyword args ... balance thresh style args ... keyword args ...
* thresh = imbalance threshold that must be exceeded to perform a re-balance * thresh = imbalance threshold that must be exceeded to perform a re-balance
* one style/arg pair can be used (or multiple for *x*\ ,\ *y*\ ,\ *z*\ ) * one style/arg pair can be used (or multiple for *x*,\ *y*,\ *z*\ )
* style = *x* or *y* or *z* or *shift* or *rcb* * style = *x* or *y* or *z* or *shift* or *rcb*
.. parsed-literal:: .. parsed-literal::
@ -170,10 +170,10 @@ fractions of the box length) are also printed.
---------- ----------
The method used to perform a load balance is specified by one of the The method used to perform a load balance is specified by one of the
listed styles (or more in the case of *x*\ ,\ *y*\ ,\ *z*\ ), which are listed styles (or more in the case of *x*,\ *y*,\ *z*\ ), which are
described in detail below. There are 2 kinds of styles. described in detail below. There are 2 kinds of styles.
The *x*\ , *y*\ , *z*\ , and *shift* styles are "grid" methods which The *x*, *y*, *z*, and *shift* styles are "grid" methods which
produce a logical 3d grid of processors. They operate by changing the produce a logical 3d grid of processors. They operate by changing the
cutting planes (or lines) between processors in 3d (or 2d), to adjust cutting planes (or lines) between processors in 3d (or 2d), to adjust
the volume (area in 2d) assigned to each processor, as in the the volume (area in 2d) assigned to each processor, as in the
@ -222,7 +222,7 @@ from scratch.
---------- ----------
The *x*\ , *y*\ , and *z* styles invoke a "grid" method for balancing, as The *x*, *y*, and *z* styles invoke a "grid" method for balancing, as
described above. Note that any or all of these 3 styles can be described above. Note that any or all of these 3 styles can be
specified together, one after the other, but they cannot be used with specified together, one after the other, but they cannot be used with
any other style. This style adjusts the position of cutting planes any other style. This style adjusts the position of cutting planes
@ -263,7 +263,7 @@ once. You should normally only list dimensions where you expect there
to be a density variation in the particles. to be a density variation in the particles.
Balancing proceeds by adjusting the cutting planes in each of the Balancing proceeds by adjusting the cutting planes in each of the
dimensions listed in *dimstr*\ , one dimension at a time. For a single dimensions listed in *dimstr*, one dimension at a time. For a single
dimension, the balancing operation (described below) is iterated on up dimension, the balancing operation (described below) is iterated on up
to *Niter* times. After each dimension finishes, the imbalance factor to *Niter* times. After each dimension finishes, the imbalance factor
is re-computed, and the balancing operation halts if the *stopthresh* is re-computed, and the balancing operation halts if the *stopthresh*
@ -428,8 +428,8 @@ weights. It assigns the same weight to each particle owned by a
processor based on the total computational time spent by that processor based on the total computational time spent by that
processor. See details below on what time window is used. It uses processor. See details below on what time window is used. It uses
the same timing information as is used for the :doc:`MPI task timing the same timing information as is used for the :doc:`MPI task timing
breakdown <Run_output>`, namely, for sections *Pair*\ , *Bond*\ , breakdown <Run_output>`, namely, for sections *Pair*, *Bond*,
*Kspace*\ , and *Neigh*\ . The time spent in those portions of the *Kspace*, and *Neigh*\ . The time spent in those portions of the
timestep are measured for each MPI rank, summed, then divided by the timestep are measured for each MPI rank, summed, then divided by the
number of particles owned by that processor. I.e. the weight is an number of particles owned by that processor. I.e. the weight is an
effective CPU time/particle averaged over the particles on that effective CPU time/particle averaged over the particles on that
@ -455,7 +455,7 @@ are for the entire previous run. For the *fix balance* command the
timing data is for only the timesteps since the last balancing timing data is for only the timesteps since the last balancing
operation was performed. If timing information for the required operation was performed. If timing information for the required
sections is not available, e.g. at the beginning of a run, or when the sections is not available, e.g. at the beginning of a run, or when the
:doc:`timer <timer>` command is set to either *loop* or *off*\ , a warning :doc:`timer <timer>` command is set to either *loop* or *off*, a warning
is issued. In this case no weights are computed. is issued. In this case no weights are computed.
.. note:: .. note::
@ -477,12 +477,18 @@ atom-style variables can reference the position of a particle, its
velocity, the volume of its Voronoi cell, etc. velocity, the volume of its Voronoi cell, etc.
The *store* weight style does not compute a weight factor. Instead it The *store* weight style does not compute a weight factor. Instead it
stores the current accumulated weights in a custom per-atom property stores the current accumulated weights in a custom per-atom vector
specified by *name*\ . This must be a property defined as *d_name* via specified by *name*\ . This must be a vector defined as *d_name* via
the :doc:`fix property/atom <fix_property_atom>` command. Note that the :doc:`fix property/atom <fix_property_atom>` command. This means
these custom per-atom properties can be output in a :doc:`dump <dump>` the values in the vector can be read as part of a data file with the
file, so this is a way to examine, debug, or visualize the :doc:`read_data <read_data>` command or specified with the :doc:`set
per-particle weights computed during the load-balancing operation. <set>` command. These weights can also be output in a :doc:`dump
<dump>` file, so this is a way to examine, debug, or visualize the
per-particle weights used during the load-balancing operation.
Note that the name of the custom per-atom vector is specified just
as *name*, not as *d_name* as it is for other commands that use
different kinds of custom atom vectors or arrays as arguments.
---------- ----------
@ -558,7 +564,7 @@ Related commands
:doc:`group <group>`, :doc:`processors <processors>`, :doc:`group <group>`, :doc:`processors <processors>`,
:doc:`fix balance <fix_balance>`, :doc:`comm_style <comm_style>` :doc:`fix balance <fix_balance>`, :doc:`comm_style <comm_style>`
.. _pizza: https://pizza.sandia.gov .. _pizza: https://lammps.github.io/pizza
Default Default
""""""" """""""

View File

@ -55,7 +55,7 @@ Restrictions
"""""""""""" """"""""""""
This bond style can only be used if LAMMPS was built with the CLASS2 This bond style can only be used if LAMMPS was built with the CLASS2
package. See the :doc:`Build package <Build_package>` doc page for more package. See the :doc:`Build package <Build_package>` page for more
info. info.
Related commands Related commands

View File

@ -58,7 +58,7 @@ Restrictions
"""""""""""" """"""""""""
This bond style can only be used if LAMMPS was built with the MOLECULE This bond style can only be used if LAMMPS was built with the MOLECULE
package. See the :doc:`Build package <Build_package>` doc page for more package. See the :doc:`Build package <Build_package>` page for more
info. info.
You typically should specify :doc:`special_bonds fene <special_bonds>` You typically should specify :doc:`special_bonds fene <special_bonds>`

View File

@ -60,7 +60,7 @@ Restrictions
"""""""""""" """"""""""""
This bond style can only be used if LAMMPS was built with the MOLECULE This bond style can only be used if LAMMPS was built with the MOLECULE
package. See the :doc:`Build package <Build_package>` doc page for more package. See the :doc:`Build package <Build_package>` page for more
info. info.
You typically should specify :doc:`special_bonds fene <special_bonds>` You typically should specify :doc:`special_bonds fene <special_bonds>`

View File

@ -50,7 +50,7 @@ Restrictions
"""""""""""" """"""""""""
This bond style can only be used if LAMMPS was built with the This bond style can only be used if LAMMPS was built with the
USER-MISC package. See the :doc:`Build package <Build_package>` doc MOLECULE package. See the :doc:`Build package <Build_package>` doc
page for more info. page for more info.
Related commands Related commands

View File

@ -51,7 +51,7 @@ Restrictions
"""""""""""" """"""""""""
This bond style can only be used if LAMMPS was built with the MOLECULE This bond style can only be used if LAMMPS was built with the MOLECULE
package. See the :doc:`Build package <Build_package>` doc page for more package. See the :doc:`Build package <Build_package>` page for more
info. info.
Related commands Related commands

View File

@ -53,7 +53,7 @@ Restrictions
"""""""""""" """"""""""""
This bond style can only be used if LAMMPS was built with the MOLECULE This bond style can only be used if LAMMPS was built with the MOLECULE
package. See the :doc:`Build package <Build_package>` doc page for more package. See the :doc:`Build package <Build_package>` page for more
info. info.
Related commands Related commands

View File

@ -56,7 +56,7 @@ Restrictions
"""""""""""" """"""""""""
This bond style can only be used if LAMMPS was built with the This bond style can only be used if LAMMPS was built with the
USER-MISC package. See the :doc:`Build package <Build_package>` doc MOLECULE package. See the :doc:`Build package <Build_package>` doc
page for more info. page for more info.
Related commands Related commands

View File

@ -54,7 +54,7 @@ Restrictions
"""""""""""" """"""""""""
This bond style can only be used if LAMMPS was built with the This bond style can only be used if LAMMPS was built with the
USER-MISC package. See the :doc:`Build package <Build_package>` doc MOLECULE package. See the :doc:`Build package <Build_package>` doc
page for more info. page for more info.
Related commands Related commands

View File

@ -64,7 +64,7 @@ Restrictions
"""""""""""" """"""""""""
This bond style can only be used if LAMMPS was built with the MOLECULE This bond style can only be used if LAMMPS was built with the MOLECULE
package. See the :doc:`Build package <Build_package>` doc page for more package. See the :doc:`Build package <Build_package>` page for more
info. info.
Unlike other bond styles, the hybrid bond style does not store bond Unlike other bond styles, the hybrid bond style does not store bond

Some files were not shown because too many files have changed in this diff Show More