diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index c2357fa059..9b3992da84 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -255,8 +255,9 @@ if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE) find_package(LAPACK) find_package(BLAS) if(NOT LAPACK_FOUND OR NOT BLAS_FOUND) - if(CMAKE_GENERATOR STREQUAL "Ninja") - status(FATAL_ERROR "Cannot build internal linear algebra library with Ninja build tool due to lack for Fortran support") + include(CheckGeneratorSupport) + if(NOT CMAKE_GENERATOR_SUPPORT_FORTRAN) + status(FATAL_ERROR "Cannot build internal linear algebra library as CMake build tool lacks Fortran support") endif() enable_language(Fortran) file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/[^.]*.[fF]) @@ -587,14 +588,14 @@ if(BUILD_TOOLS) add_executable(binary2txt ${LAMMPS_TOOLS_DIR}/binary2txt.cpp) install(TARGETS binary2txt DESTINATION ${CMAKE_INSTALL_BINDIR}) - # ninja-build currently does not support fortran. thus we skip building this tool - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(STATUS "Skipping building 'chain.x' with Ninja build tool due to lack of Fortran support") - else() + include(CheckGeneratorSupport) + if(CMAKE_GENERATOR_SUPPORT_FORTRAN) enable_language(Fortran) add_executable(chain.x ${LAMMPS_TOOLS_DIR}/chain.f) target_link_libraries(chain.x ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES}) install(TARGETS chain.x DESTINATION ${CMAKE_INSTALL_BINDIR}) + else() + message(WARNING "CMake build doesn't support fortran, skipping building 'chain.x'") endif() enable_language(C) @@ -686,6 +687,7 @@ feature_summary(DESCRIPTION "The following tools and libraries have been found a message(STATUS "<<< Build configuration >>> Build type ${CMAKE_BUILD_TYPE} Install path ${CMAKE_INSTALL_PREFIX} + Generator ${CMAKE_GENERATOR} using ${CMAKE_MAKE_PROGRAM} Compilers and Flags: C++ Compiler ${CMAKE_CXX_COMPILER} Type ${CMAKE_CXX_COMPILER_ID} @@ -718,7 +720,7 @@ else() endif() message(STATUS "Link libraries: ${LAMMPS_LINK_LIBS}") if(BUILD_MPI) - message(STATUS "Using MPI with headers in ${MPI_CXX_INCLUDE_PATH} and ${MPI_CXX_LIBRARIES}") + message(STATUS "Using MPI with headers in ${MPI_CXX_INCLUDE_PATH} and these libraries: ${MPI_CXX_LIBRARIES};${MPI_Fortran_LIBRARIES}") endif() if(PKG_GPU) message(STATUS "GPU API: ${GPU_API}") diff --git a/cmake/Modules/CheckGeneratorSupport.cmake b/cmake/Modules/CheckGeneratorSupport.cmake new file mode 100644 index 0000000000..62d33036a5 --- /dev/null +++ b/cmake/Modules/CheckGeneratorSupport.cmake @@ -0,0 +1,21 @@ +# ninja-build<1.10 does not support fortran. +if(CMAKE_GENERATOR STREQUAL "Ninja") + set(CMAKE_GENERATOR_SUPPORT_FORTRAN FALSE) + execute_process(COMMAND "${CMAKE_MAKE_PROGRAM}" --version + OUTPUT_VARIABLE NINJA_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE + RESULT_VARIABLE _Ninja_version_result + ) + if(_Ninja_version_result) + message(WARNING "Unable to determine ninja version: ${_Ninja_version_result}, assuming fortran isn't supported") + elseif(NINJA_VERSION VERSION_LESS "1.10") + message(WARNING "Ninja build tool too old, to compile Fortran code, please install ninja-1.10 or newer") + else() + set(CMAKE_GENERATOR_SUPPORT_FORTRAN TRUE) + endif() +else() + set(CMAKE_GENERATOR_SUPPORT_FORTRAN TRUE) + if(NOT CMAKE_GENERATOR STREQUAL "Unix Makefiles") + message(WARNING "Assuming fortran is supported for ${CMAKE_GENERATOR}") + endif() +endif() diff --git a/cmake/Modules/Packages/KIM.cmake b/cmake/Modules/Packages/KIM.cmake index a75e248097..bb68f8fef4 100644 --- a/cmake/Modules/Packages/KIM.cmake +++ b/cmake/Modules/Packages/KIM.cmake @@ -34,26 +34,22 @@ if(PKG_KIM) endif() option(DOWNLOAD_KIM "Download KIM-API from OpenKIM instead of using an already installed one" ${DOWNLOAD_KIM_DEFAULT}) if(DOWNLOAD_KIM) - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded KIM-API library with Ninja build tool") - endif() message(STATUS "KIM-API download requested - we will build our own") - include(CheckLanguage) include(ExternalProject) enable_language(C) - check_language(Fortran) - if(NOT CMAKE_Fortran_COMPILER) - message(FATAL_ERROR "Compiling the KIM-API library requires a Fortran compiler") - endif() + enable_language(Fortran) ExternalProject_Add(kim_build URL https://s3.openkim.org/kim-api/kim-api-2.1.3.txz URL_MD5 6ee829a1bbba5f8b9874c88c4c4ebff8 BINARY_DIR build - CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + CMAKE_ARGS ${CMAKE_REQUEST_PIC} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + BUILD_BYPRODUCTS <INSTALL_DIR>/${CMAKE_INSTALL_LIBDIR}/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX} ) ExternalProject_get_property(kim_build INSTALL_DIR) set(KIM-API_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api) diff --git a/cmake/Modules/Packages/LATTE.cmake b/cmake/Modules/Packages/LATTE.cmake index 8bcda84cdc..bc89b00111 100644 --- a/cmake/Modules/Packages/LATTE.cmake +++ b/cmake/Modules/Packages/LATTE.cmake @@ -8,9 +8,6 @@ if(PKG_LATTE) endif() option(DOWNLOAD_LATTE "Download the LATTE library instead of using an already installed one" ${DOWNLOAD_LATTE_DEFAULT}) if(DOWNLOAD_LATTE) - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded LATTE library with Ninja build tool") - endif() message(STATUS "LATTE download requested - we will build our own") include(ExternalProject) ExternalProject_Add(latte_build @@ -21,6 +18,8 @@ if(PKG_LATTE) -DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES} -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS} -DCMAKE_Fortran_FLAGS_${BTYPE}=${CMAKE_Fortran_FLAGS_${BTYPE}} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + BUILD_BYPRODUCTS <INSTALL_DIR>/${CMAKE_INSTALL_LIBDIR}/liblatte.a ) ExternalProject_get_property(latte_build INSTALL_DIR) set(LATTE_LIBRARIES ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/liblatte.a) diff --git a/cmake/Modules/Packages/MSCG.cmake b/cmake/Modules/Packages/MSCG.cmake index 99d98659ee..b1cc6fad46 100644 --- a/cmake/Modules/Packages/MSCG.cmake +++ b/cmake/Modules/Packages/MSCG.cmake @@ -8,9 +8,6 @@ if(PKG_MSCG) endif() option(DOWNLOAD_MSCG "Download MSCG library instead of using an already installed one)" ${DOWNLOAD_MSCG_DEFAULT}) if(DOWNLOAD_MSCG) - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded MSCG library with Ninja build tool") - endif() include(ExternalProject) if(NOT LAPACK_FOUND) set(EXTRA_MSCG_OPTS "-DLAPACK_LIBRARIES=${CMAKE_CURRENT_BINARY_DIR}/liblinalg.a") @@ -19,8 +16,16 @@ if(PKG_MSCG) URL https://github.com/uchicago-voth/MSCG-release/archive/1.7.3.1.tar.gz URL_MD5 8c45e269ee13f60b303edd7823866a91 SOURCE_SUBDIR src/CMake - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> ${CMAKE_REQUEST_PIC} ${EXTRA_MSCG_OPTS} - BUILD_COMMAND make mscg INSTALL_COMMAND "" + CMAKE_ARGS ${CMAKE_REQUEST_PIC} ${EXTRA_MSCG_OPTS} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --target mscg + INSTALL_COMMAND "" + BUILD_BYPRODUCTS <BINARY_DIR>/libmscg.a ) ExternalProject_get_property(mscg_build BINARY_DIR) set(MSCG_LIBRARIES ${BINARY_DIR}/libmscg.a) diff --git a/cmake/Modules/Packages/USER-COLVARS.cmake b/cmake/Modules/Packages/USER-COLVARS.cmake index b7fb91917c..a112fbb6aa 100644 --- a/cmake/Modules/Packages/USER-COLVARS.cmake +++ b/cmake/Modules/Packages/USER-COLVARS.cmake @@ -5,22 +5,7 @@ if(PKG_USER-COLVARS) file(GLOB COLVARS_SOURCES ${COLVARS_SOURCE_DIR}/[^.]*.cpp) # Build Lepton by default - set(COLVARS_LEPTON_DEFAULT ON) - # but not if C++11 is disabled per user request - if(DEFINED DISABLE_CXX11_REQUIREMENT) - if(DISABLE_CXX11_REQUIREMENT) - set(COLVARS_LEPTON_DEFAULT OFF) - endif() - endif() - - option(COLVARS_LEPTON "Build and link the Lepton library" ${COLVARS_LEPTON_DEFAULT}) - - # Verify that the user's choice is consistent - if(DEFINED DISABLE_CXX11_REQUIREMENT) - if((DISABLE_CXX11_REQUIREMENT) AND (COLVARS_LEPTON)) - message(FATAL_ERROR "Building the Lepton library requires C++11 or later.") - endif() - endif() + option(COLVARS_LEPTON "Build and link the Lepton library" ON) if(COLVARS_LEPTON) set(LEPTON_DIR ${LAMMPS_LIB_SOURCE_DIR}/colvars/lepton) diff --git a/cmake/Modules/Packages/USER-NETCDF.cmake b/cmake/Modules/Packages/USER-NETCDF.cmake index f60c046ab9..921156f1e0 100644 --- a/cmake/Modules/Packages/USER-NETCDF.cmake +++ b/cmake/Modules/Packages/USER-NETCDF.cmake @@ -1,6 +1,6 @@ if(PKG_USER-NETCDF) # USER-NETCDF can use NetCDF, Parallel NetCDF (PNetCDF), or both. At least one necessary. - # NetCDF library enables dump sytle "netcdf", while PNetCDF enables dump style "netcdf/mpiio" + # NetCDF library enables dump style "netcdf", while PNetCDF enables dump style "netcdf/mpiio" find_package(NetCDF) if(NETCDF_FOUND) find_package(PNetCDF) diff --git a/cmake/Modules/Packages/USER-PLUMED.cmake b/cmake/Modules/Packages/USER-PLUMED.cmake index e10176f9fd..426ae2df2a 100644 --- a/cmake/Modules/Packages/USER-PLUMED.cmake +++ b/cmake/Modules/Packages/USER-PLUMED.cmake @@ -29,9 +29,6 @@ if(PKG_USER-PLUMED) option(DOWNLOAD_PLUMED "Download Plumed package instead of using an already installed one" ${DOWNLOAD_PLUMED_DEFAULT}) if(DOWNLOAD_PLUMED) - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded Plumed library with Ninja build tool") - endif() if(BUILD_MPI) set(PLUMED_CONFIG_MPI "--enable-mpi") set(PLUMED_CONFIG_CC ${CMAKE_MPI_C_COMPILER}) @@ -47,6 +44,13 @@ if(PKG_USER-PLUMED) set(PLUMED_CONFIG_OMP "--disable-openmp") endif() message(STATUS "PLUMED download requested - we will build our own") + if(PLUMED_MODE STREQUAL "STATIC") + set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumed.a") + elseif(PLUMED_MODE STREQUAL "SHARED") + set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumed${CMAKE_SHARED_LIBRARY_SUFFIX};<INSTALL_DIR>/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}") + elseif(PLUMED_MODE STREQUAL "RUNTIME") + set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumedWrapper.a") + endif() include(ExternalProject) ExternalProject_Add(plumed_build URL https://github.com/plumed/plumed2/releases/download/v2.6.0/plumed-src-2.6.0.tgz @@ -59,6 +63,7 @@ if(PKG_USER-PLUMED) ${PLUMED_CONFIG_OMP} CXX=${PLUMED_CONFIG_CXX} CC=${PLUMED_CONFIG_CC} + BUILD_BYPRODUCTS ${PLUMED_BUILD_BYPRODUCTS} ) ExternalProject_get_property(plumed_build INSTALL_DIR) set(PLUMED_INSTALL_DIR ${INSTALL_DIR}) diff --git a/cmake/Modules/Packages/USER-SCAFACOS.cmake b/cmake/Modules/Packages/USER-SCAFACOS.cmake index 475f2585c8..8bb9e63605 100644 --- a/cmake/Modules/Packages/USER-SCAFACOS.cmake +++ b/cmake/Modules/Packages/USER-SCAFACOS.cmake @@ -4,6 +4,7 @@ if(PKG_USER-SCAFACOS) find_package(GSL REQUIRED) find_package(PkgConfig QUIET) + find_package(MPI REQUIRED) set(DOWNLOAD_SCAFACOS_DEFAULT ON) if(PKG_CONFIG_FOUND) pkg_check_modules(SCAFACOS QUIET scafacos) @@ -13,9 +14,6 @@ if(PKG_USER-SCAFACOS) endif() option(DOWNLOAD_SCAFACOS "Download ScaFaCoS library instead of using an already installed one" ${DOWNLOAD_SCAFACOS_DEFAULT}) if(DOWNLOAD_SCAFACOS) - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded ScaFaCoS library with Ninja build tool") - endif() message(STATUS "ScaFaCoS download requested - we will build our own") include(ExternalProject) ExternalProject_Add(scafacos_build @@ -29,6 +27,22 @@ if(PKG_USER-SCAFACOS) CXX=${CMAKE_MPI_CXX_COMPILER} CC=${CMAKE_MPI_C_COMPILER} F77= + BUILD_BYPRODUCTS + <INSTALL_DIR>/lib/libfcs.a + <INSTALL_DIR>/lib/libfcs_direct.a + <INSTALL_DIR>/lib/libfcs_ewald.a + <INSTALL_DIR>/lib/libfcs_fmm.a + <INSTALL_DIR>/lib/libfcs_p2nfft.a + <INSTALL_DIR>/lib/libfcs_p3m.a + <INSTALL_DIR>/lib/libfcs_near.a + <INSTALL_DIR>/lib/libfcs_gridsort.a + <INSTALL_DIR>/lib/libfcs_resort.a + <INSTALL_DIR>/lib/libfcs_redist.a + <INSTALL_DIR>/lib/libfcs_common.a + <INSTALL_DIR>/lib/libfcs_pnfft.a + <INSTALL_DIR>/lib/libfcs_pfft.a + <INSTALL_DIR>/lib/libfcs_fftw3_mpi.a + <INSTALL_DIR>/lib/libfcs_fftw3.a ) ExternalProject_get_property(scafacos_build INSTALL_DIR) set(SCAFACOS_BUILD_DIR ${INSTALL_DIR}) diff --git a/cmake/Modules/Packages/VORONOI.cmake b/cmake/Modules/Packages/VORONOI.cmake index 89fa70bf98..5418132034 100644 --- a/cmake/Modules/Packages/VORONOI.cmake +++ b/cmake/Modules/Packages/VORONOI.cmake @@ -7,9 +7,6 @@ if(PKG_VORONOI) endif() option(DOWNLOAD_VORO "Download and compile the Voro++ library instead of using an already installed one" ${DOWNLOAD_VORO_DEFAULT}) if(DOWNLOAD_VORO) - if(CMAKE_GENERATOR STREQUAL "Ninja") - message(FATAL_ERROR "Cannot build downloaded Voro++ library with Ninja build tool") - endif() message(STATUS "Voro++ download requested - we will build our own") include(ExternalProject) @@ -29,6 +26,7 @@ if(PKG_VORONOI) URL https://download.lammps.org/thirdparty/voro++-0.4.6.tar.gz URL_MD5 2338b824c3b7b25590e18e8df5d68af9 CONFIGURE_COMMAND "" BUILD_COMMAND make ${VORO_BUILD_OPTIONS} BUILD_IN_SOURCE 1 INSTALL_COMMAND "" + BUILD_BYPRODUCTS <SOURCE_DIR>/src/libvoro++.a ) ExternalProject_get_property(voro_build SOURCE_DIR) set(VORO_LIBRARIES ${SOURCE_DIR}/src/libvoro++.a) diff --git a/cmake/README.md b/cmake/README.md index 6255307ef3..b9dd6d4373 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -217,7 +217,7 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP </tr> <tr> <td><code>CMAKE_VERBOSE_MAKEFILE</code></td> - <td>Enable verbose output from Makefile builds (useful for debugging), the same can be achived by adding `VERBOSE=1` to the `make` call.</td> + <td>Enable verbose output from Makefile builds (useful for debugging), the same can be achieved by adding `VERBOSE=1` to the `make` call.</td> <td> <dl> <dt><code>off</code> (default)</dt> @@ -576,7 +576,7 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP Several fixes and a pair style that have Monte Carlo (MC) or MC-like attributes. These include fixes for creating, breaking, and swapping bonds, for performing atomic swaps, and performing grand-canonical MC (GCMC) in - conjuction with dynamics. + conjunction with dynamics. </td> <td> <dl> @@ -1383,8 +1383,8 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP Some potentials that are also implemented in the Yet Another Force Field (YAFF) code. The expressions and their use are discussed in the following papers: <ul> - <li><a href="http://dx.doi.org/10.1002/jcc.23877" target="_blank">Vanduyfhuys et al., J. Comput. Chem., 36 (13), 1015-1027 (2015)</a></li> - <li><a href="http://dx.doi.org/10.1002/jcc.25173" target="_blank">Vanduyfhuys et al., J. Comput. Chem., 39 (16), 999-1011 (2018)</a></li> + <li><a href="https://doi.org/10.1002/jcc.23877" target="_blank">Vanduyfhuys et al., J. Comput. Chem., 36 (13), 1015-1027 (2015)</a></li> + <li><a href="https://doi.org/10.1002/jcc.25173" target="_blank">Vanduyfhuys et al., J. Comput. Chem., 39 (16), 999-1011 (2018)</a></li> </ul> </td> <td> diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 9d03be99ec..6b589e3cd9 100644 --- a/cmake/presets/all_off.cmake +++ b/cmake/presets/all_off.cmake @@ -7,11 +7,11 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO + USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP - USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK USER-YAFF) + USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ + USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} OFF CACHE BOOL "" FORCE) diff --git a/cmake/presets/all_on.cmake b/cmake/presets/all_on.cmake index 2ff107975a..e46157bb96 100644 --- a/cmake/presets/all_on.cmake +++ b/cmake/presets/all_on.cmake @@ -9,11 +9,11 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU SRD VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP - USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO + USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESODPD USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP - USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH - USER-TALLY USER-UEF USER-VTK USER-YAFF) + USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ + USER-SPH USER-TALLY USER-UEF USER-VTK USER-YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/cmake/presets/most.cmake b/cmake/presets/most.cmake index eed560b995..b2c53bd41d 100644 --- a/cmake/presets/most.cmake +++ b/cmake/presets/most.cmake @@ -2,13 +2,13 @@ # external libraries. Compared to all_on.cmake some more unusual packages # are removed. The resulting binary should be able to run most inputs. -set(ALL_PACKAGES ASPHERE CLASS2 COLLOID CORESHELL DIPOLE - GRANULAR KSPACE MANYBODY MC MISC MOLECULE OPT PERI - PYTHON QEQ REPLICA RIGID SHOCK SNAP SRD VORONOI - USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD - USER-DRUDE USER-FEP USER-MEAMC USER-MESO - USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REAXC - USER-SPH USER-SMD USER-UEF USER-YAFF) +set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL + DIPOLE GRANULAR KSPACE MANYBODY MC MISC MOLECULE OPT PERI + POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI + USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION + USER-DPD USER-DRUDE USER-FEP USER-MEAMC USER-MESODPD + USER-MISC USER-MOFFF USER-OMP USER-PHONON USER-REACTION + USER-REAXC USER-SPH USER-SMD USER-UEF USER-YAFF) foreach(PKG ${ALL_PACKAGES}) set(PKG_${PKG} ON CACHE BOOL "" FORCE) diff --git a/doc/Makefile b/doc/Makefile index 53907f8465..1097d1e37c 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -78,7 +78,7 @@ html: $(ANCHORCHECK) $(MATHJAX) @cp -r src/PDF html/PDF @cp -r src/USER html/USER @mkdir -p html/JPG - @cp `grep -A2 '\.\. image::' src/*.rst | grep ':target:' | sed -e 's,.*:target: JPG/,src/JPG/,' | sort | uniq` html/JPG/ + @cp `grep -A2 '\.\. .*image::' src/*.rst | grep ':target:' | sed -e 's,.*:target: JPG/,src/JPG/,' | sort | uniq` html/JPG/ @rm -rf html/PDF/.[sg]* @rm -rf html/USER/.[sg]* @rm -rf html/USER/*/.[sg]* diff --git a/doc/msi2lmp.1 b/doc/msi2lmp.1 index 08a442e1de..e1a8c8a2f3 100644 --- a/doc/msi2lmp.1 +++ b/doc/msi2lmp.1 @@ -31,7 +31,7 @@ of benzene, you have to provide the files 'benzene.car' and 'benzene.mdf' in the current working directory. .B msi2lmp will then read and process those files according to its remaining settings. -All other settins are optional and have defaults as listed. +All other settings are optional and have defaults as listed. .TP \fB\-c <I,1,II,2,O,0>\fR, \fB\-class <I,1,II,2,O,0>\fR The \-c or \-class option selects the force field class, i.e which pair diff --git a/doc/src/2001/README.html b/doc/src/2001/README.html index d36aa917aa..d57897cd27 100644 --- a/doc/src/2001/README.html +++ b/doc/src/2001/README.html @@ -10,7 +10,7 @@ LAMMPS</H2> LAMMPS = Large-scale Atomic/Molecular Massively Parallel Simulator</P> <P> This is the documentation for the LAMMPS 2001 version, written in F90, -which has been superceded by more current versions. See the <A +which has been superseded by more current versions. See the <A HREF="http://www.cs.sandia.gov/~sjplimp/lammps.html">LAMMPS WWW Site</A> for more information. <P> diff --git a/doc/src/2001/basics.html b/doc/src/2001/basics.html index 24ac6de4ca..343fd8d129 100644 --- a/doc/src/2001/basics.html +++ b/doc/src/2001/basics.html @@ -47,7 +47,7 @@ directories: </P> <P> The src directory contains the F90 and C source files for LAMMPS as well as several sample Makefiles for different machines. To make LAMMPS -for a specfic machine, you simply type</P> +for a specific machine, you simply type</P> <P> make machine</P> <P> diff --git a/doc/src/2001/input_commands.html b/doc/src/2001/input_commands.html index 797d6bec4e..62ef5a5120 100644 --- a/doc/src/2001/input_commands.html +++ b/doc/src/2001/input_commands.html @@ -1079,7 +1079,7 @@ for style aveforce, average force on the group of fixed atoms is computed, to new total value -> has effect of applying same force to entire group of atoms thermostatting constraints (rescale, hoover/drag, langevin) cannot be used in - conjuction with global "temp control", since they conflict and will + conjunction with global "temp control", since they conflict and will cause atom velocities to be reset twice thermostatting constraints (rescale, hoover/drag, langevin) cannot be used when performing a minimization @@ -1089,7 +1089,7 @@ meaning of rescale and Langevin thermostatting coefficients is same as in "temp control" command for rescale style, it can be used as a coarse temperature rescaler, for example "rescale 200.0 300.0 100 10.0 1.0" will ramp the temperature - up during the simulation, resetting it to the target temperatue as needed + up during the simulation, resetting it to the target temperature as needed for rescale style, it can be used to create an instantaneous drag force that slowly rescales the temperature without oscillation, for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) @@ -1952,7 +1952,7 @@ for rescale style, the amount of rescaling is contfolled by the fractional to halfway between the current and target temperature for rescale style, it can be used as a coarse temperature rescaler, for example "rescale 200.0 300.0 100 10.0 1.0" will ramp the temperature - up during the simulation, resetting it to the target temperatue as needed + up during the simulation, resetting it to the target temperature as needed for rescale style, it can be used to create an instantaneous drag force that slowly rescales the temperature without oscillation, for example "rescale 300.0 300.0 1 0.0 0.0001" will force (or keep) diff --git a/doc/src/99/README.html b/doc/src/99/README.html index 528c1e161d..d85f23970f 100644 --- a/doc/src/99/README.html +++ b/doc/src/99/README.html @@ -10,7 +10,7 @@ LAMMPS</H2> LAMMPS = Large-scale Atomic/Molecular Massively Parallel Simulator</P> <P> This is the documentation for the LAMMPS 99 version, written in F77, -which has been superceded by more current versions. See the <A +which has been superseded by more current versions. See the <A HREF="http://www.cs.sandia.gov/~sjplimp/lammps.html">LAMMPS WWW Site</A> for more information. <P> diff --git a/doc/src/99/basics.html b/doc/src/99/basics.html index b6236f4bf9..ef85d35b14 100644 --- a/doc/src/99/basics.html +++ b/doc/src/99/basics.html @@ -45,7 +45,7 @@ directories: </P> <P> The src directory contains the F77 and C source files for LAMMPS as well as several sample Makefiles for different machines. To make LAMMPS -for a specfic machine, you simply type</P> +for a specific machine, you simply type</P> <P> make machine</P> <P> diff --git a/doc/src/99/input_commands.html b/doc/src/99/input_commands.html index baea02b5c2..5ece32d52b 100644 --- a/doc/src/99/input_commands.html +++ b/doc/src/99/input_commands.html @@ -430,7 +430,7 @@ accuracy criterion effectively determines how many k-space vectors are used for PPPM, accuracy criterion determines mesh spacing (see "particle mesh" command) for PPPM, must be running on power-of-2 number of processors for FFTs -must use periodic boundary conditions in conjuction with Ewald and PPPM +must use periodic boundary conditions in conjunction with Ewald and PPPM cannot use any styles other than none with nonbond style = lj/shift or nonbond style = soft Coulomb style = smooth should be used with nonbond style = lj/switch, @@ -772,7 +772,7 @@ for style aveforce, average force on the group of fixed atoms is computed, to new total value -> has effect of applying same force to entire group of atoms thermostatting constraints (rescale, langevin, nose/hoover) cannot be used in - conjuction with global "temp control", since they conflict and will + conjunction with global "temp control", since they conflict and will cause atom velocities to be reset twice if multiple Langevin constraints are specified the Marsaglia RNG will only use the last RNG seed specified for initialization diff --git a/doc/src/Build.rst b/doc/src/Build.rst index bd218c8165..c96fb0b5b9 100644 --- a/doc/src/Build.rst +++ b/doc/src/Build.rst @@ -8,7 +8,6 @@ for use with GNU make or gmake, or a build environment generated by CMake alternative you can download a package with pre-built executables as described on the :doc:`Install <Install>` doc page. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Build_basics.rst b/doc/src/Build_basics.rst index 4788d93689..51c3fd871d 100644 --- a/doc/src/Build_basics.rst +++ b/doc/src/Build_basics.rst @@ -10,10 +10,8 @@ CMake and make: * :ref:`Build the LAMMPS documentation <doc>` * :ref:`Install LAMMPS after a build <install>` - ---------- - .. _serial: Serial vs parallel build @@ -42,14 +40,14 @@ is below. -D LAMMPS_MACHINE=name # name = mpi, serial, mybox, titan, laptop, etc # no default value -The executable created by CMake (after running make) is named *lmp* unless -the LAMMPS\_MACHINE option is set. When setting `LAMMPS_MACHINE=name` -the executable will be named *lmp\_name*\. Using `BUILD\_MPI=no` will +The executable created by CMake (after running make) is named ``lmp`` unless +the LAMMPS_MACHINE option is set. When setting ``LAMMPS_MACHINE=name`` +the executable will be called ``lmp_name``. Using ``BUILD_MPI=no`` will enforce building a serial executable using the MPI STUBS library. **Traditional make**\ : -The build with traditional makefiles has to be done inside the source folder `src`. +The build with traditional makefiles has to be done inside the source folder ``src``. .. code-block:: bash @@ -57,19 +55,18 @@ The build with traditional makefiles has to be done inside the source folder `sr make serial # serial build, produces lmp_serial using Makefile/serial make mybox # uses Makefile.mybox to produce lmp_mybox - Any "make machine" command will look up the make settings from a file -Makefile.machine, create a folder Obj\_machine with all objects and -generated files and an executable called *lmp\_machine*\ . The standard -parallel build with `make mpi` assumes a standard MPI installation with +Makefile.machine, create a folder Obj_machine with all objects and +generated files and an executable called ``lmp_machine``\ . The standard +parallel build with ``make mpi`` assumes a standard MPI installation with MPI compiler wrappers where all necessary compiler and linker flags to get access and link with the suitable MPI headers and libraries are set by the wrapper programs. For other cases or the serial build, you have -to adjust the make file variables MPI\_INC, MPI\_PATH, MPI\_LIB as well -as CC and LINK. To enable OpenMP threading usually a compiler specific -flag needs to be added to the compile and link commands. For the GNU -compilers, this is *-fopenmp*\ , which can be added to the CC and LINK -makefile variables. +to adjust the make file variables ``MPI_INC``, ``MPI_PATH``, ``MPI_LIB`` +as well as ``CC`` and ``LINK``\ . To enable OpenMP threading usually +a compiler specific flag needs to be added to the compile and link +commands. For the GNU compilers, this is ``-fopenmp``\ , which can be +added to the ``CC`` and ``LINK`` makefile variables. For the serial build the following make variables are set (see src/MAKE/Makefile.serial): @@ -82,8 +79,8 @@ For the serial build the following make variables are set (see src/MAKE/Makefile MPI_LIB = -lmpi_stubs You also need to build the STUBS library for your platform before making -LAMMPS itself. A "make serial" build does this for you automatically, -otherwise, type "make mpi-stubs" from the src directory, or "make" from +LAMMPS itself. A ``make serial`` build does this for you automatically, +otherwise, type ``make mpi-stubs`` from the src directory, or ``make`` from the src/STUBS dir. If the build fails, you will need to edit the STUBS/Makefile for your platform. The stubs library does not provide MPI/IO functions required by some LAMMPS packages, e.g. MPIIO or USER-LB, @@ -91,8 +88,8 @@ and thus is not compatible with those packages. .. note:: - The file STUBS/mpi.c provides a CPU timer function called - MPI\_Wtime() that calls gettimeofday() . If your operating system + The file ``src/STUBS/mpi.c`` provides a CPU timer function called + MPI_Wtime() that calls gettimeofday() . If your operating system does not support gettimeofday() , you will need to insert code to call another timer. Note that the ANSI-standard function clock() rolls over after an hour or so, and is therefore insufficient for @@ -129,35 +126,33 @@ to: e.g. LATTE and USER-COLVARS. See the :doc:`Packages details <Packages_details>` doc page for more info on these packages and the doc pages for their respective commands for OpenMP threading info. -For CMake, if you use BUILD\_OMP=yes, you can use these packages and -turn on their native OpenMP support and turn on their native OpenMP -support at run time, by setting the OMP\_NUM\_THREADS environment +For CMake, if you use ``BUILD_OMP=yes``, you can use these packages +and turn on their native OpenMP support and turn on their native OpenMP +support at run time, by setting the ``OMP_NUM_THREADS`` environment variable before you launch LAMMPS. -For building via conventional make, the CCFLAGS and LINKFLAGS +For building via conventional make, the ``CCFLAGS`` and ``LINKFLAGS`` variables in Makefile.machine need to include the compiler flag that -enables OpenMP. For GNU compilers it is -fopenmp. For (recent) Intel -compilers it is -qopenmp. If you are using a different compiler, +enables OpenMP. For GNU compilers it is ``-fopenmp``\ . For (recent) Intel +compilers it is ``-qopenmp``\ . If you are using a different compiler, please refer to its documentation. .. _default-none-issues: -**OpenMP Compiler compatibility info**\ : +**OpenMP Compiler compatibility info**\ : -Some compilers do not fully support the 'default(none)' directive +Some compilers do not fully support the ``default(none)`` directive and others (e.g. GCC version 9 and beyond) may implement OpenMP 4.0 -semantics, which are incompatible with the OpenMP 3.1 directives used +semantics, which are incompatible with the OpenMP 3.1 semantics used in LAMMPS (for maximal compatibility with compiler versions in use). -In those case, all 'default(none)' directives (which aid in detecting -incorrect and unwanted sharing) can be replaced with 'default(shared)' -while dropping all 'shared()' directives. The script -'src/USER-OMP/hack\_openmp\_for\_pgi\_gcc9.sh' can be used to automate +In those case, all ``default(none)`` directives (which aid in detecting +incorrect and unwanted sharing) can be replaced with ``default(shared)`` +while dropping all ``shared()`` directives. The script +'src/USER-OMP/hack_openmp_for_pgi_gcc9.sh' can be used to automate this conversion. - ---------- - .. _compile: Choice of compiler and compile/link options @@ -188,11 +183,11 @@ optimization flags appropriate to that compiler and any build. You can tell CMake to look for a specific compiler with these variable -settings. Likewise you can specify the FLAGS variables if you want to -experiment with alternate optimization flags. You should specify all -3 compilers, so that the small number of LAMMPS source files written -in C or Fortran are built with a compiler consistent with the one used -for all the C++ files: +settings. Likewise you can specify the corresponding ``CMAKE_*_FLAGS`` +variables if you want to experiment with alternate optimization flags. +You should specify all 3 compilers, so that the small number of LAMMPS +source files written in C or Fortran are built with a compiler consistent +with the one used for all the C++ files: .. code-block:: bash @@ -204,7 +199,6 @@ for all the C++ files: -D CMAKE_C_FLAGS=string # flags to use with C compiler -D CMAKE_Fortran_FLAGS=string # flags to use with Fortran compiler - A few example command lines are: .. code-block:: bash @@ -306,33 +300,32 @@ are set, defaults are applied. -D LAMMPS_LIB_SUFFIX=name # name = mpi, serial, mybox, titan, laptop, etc # no default value -Setting BUILD\_EXE=no will not produce an executable. Setting -BUILD\_LIB=yes will produce a static library named *liblammps.a*\ . -Setting both BUILD\_LIB=yes and BUILD\_SHARED\_LIBS=yes will produce a -shared library named *liblammps.so* instead. If LAMMPS\_LIB\_SUFFIX is -set to *name* in addition, the name of the generated libraries will be -changed to either *liblammps\_name.a* or *liblammps\_name.so*\ , -respectively. +Setting ``BUILD_EXE=no`` will not produce an executable. Setting +``BUILD_LIB=yes`` will produce a static library named ``liblammps.a``\ . +Setting both ``BUILD_LIB=yes`` and ``BUILD_SHARED_LIBS=yes`` will produce a +shared library named ``liblammps.so`` instead. If ``LAMMPS_LIB_SUFFIX=name`` +is set in addition, the name of the generated libraries will be changed to +either ``liblammps_name.a`` or ``liblammps_name.so``\ , respectively. **Traditional make**\ : With the traditional makefile based build process, the choice of the generated executable or library depends on the "mode" setting. -Several options are available and "mode=exe" is the default. +Several options are available and ``mode=exe`` is the default. .. code-block:: bash make machine # build LAMMPS executable lmp_machine - mkae mode=exe machine # same as "make machine" + make mode=exe machine # same as "make machine" make mode=lib machine # build LAMMPS static lib liblammps_machine.a make mode=shlib machine # build LAMMPS shared lib liblammps_machine.so make mode=shexe machine # same as "mode=exe" but uses objects from "mode=shlib" -The two "exe" builds will generate and executable *lmp\_machine*\ , -while the two library builds will create a file *liblammps\_machine.a* -or *liblammps\_machine.so*\ . They will also create generic soft links, -named *liblammps.a* and *liblammps.so*\ , which point to the specific -*liblammps\_machine.a/so* files. +The two "exe" builds will generate and executable ``lmp_machine``\ , +while the two library builds will create a file ``liblammps_machine.a`` +or ``liblammps_machine.so``\ . They will also create generic soft links, +named ``liblammps.a`` and ``liblammps.so``\ , which point to the specific +``liblammps_machine.a/so`` files. **CMake and make info**\ : @@ -341,13 +334,12 @@ the auxiliary libraries it depends on must also exist as shared libraries. This will be the case for libraries included with LAMMPS, such as the dummy MPI library in src/STUBS or any package libraries in the lib/packages directory, since they are always built in a shared -library compatible way using the -fPIC switch. However, if a library +library compatible way using the ``-fPIC`` switch. However, if a library like MPI or FFTW does not exist as a shared library, the shared library build may generate an error. This means you will need to install a shared library version of the auxiliary library. The build instructions for the library should tell you how to do this. - As an example, here is how to build and install the `MPICH library <mpich_>`_, a popular open-source version of MPI, as a shared library in the default /usr/local/lib location: @@ -360,10 +352,10 @@ in the default /usr/local/lib location: make make install -You may need to use "sudo make install" in place of the last line if you -do not have write privileges for /usr/local/lib. The end result should -be the file /usr/local/lib/libmpich.so. On many Linux installations the -folder "${HOME}/.local" is an alternative to using /usr/local and does +You may need to use ``sudo make install`` in place of the last line if you +do not have write privileges for ``/usr/local/lib``. The end result should +be the file ``/usr/local/lib/libmpich.so``. On many Linux installations the +folder ``${HOME}/.local`` is an alternative to using ``/usr/local`` and does not require superuser or sudo access. In that case the configuration step becomes: @@ -377,7 +369,6 @@ recommended to ensure the integrity of the system software installation. ---------- - .. _doc: Build the LAMMPS documentation @@ -412,7 +403,6 @@ LAMMPS source distribution. make package_check # check for complete and consistent package lists make spelling # spell-check the manual - Thus "make html" will create a "doc/html" directory with the HTML format manual pages so that you can browse them with a web browser locally on your system. @@ -421,8 +411,7 @@ your system. You can also download a tarball of the documentation for the current LAMMPS version (HTML and PDF files), from the website - `download page <http://lammps.sandia.gov/download.html>`_. - + `download page <https://lammps.sandia.gov/download.html>`_. **CMake build option**\ : @@ -430,16 +419,14 @@ It is also possible to create the HTML version of the manual within the :doc:`CMake build directory <Build_cmake>`. The reason for this option is to include the installation of the HTML manual pages into the "install" step when installing LAMMPS after the CMake build via -"make install". +``make install``. .. code-block:: bash -D BUILD_DOC=value # yes or no (default) - ---------- - .. _tools: Build LAMMPS tools @@ -450,7 +437,6 @@ using CMake or Make. **CMake build3**\ : - .. code-block:: bash -D BUILD_TOOLS=value # yes or no (default) @@ -460,7 +446,6 @@ The generated binaries will also become part of the LAMMPS installation **Traditional make**\ : - .. code-block:: bash cd lammps/tools @@ -470,10 +455,8 @@ The generated binaries will also become part of the LAMMPS installation make micelle2d # build only micelle2d tool make thermo_extract # build only thermo_extract tool - ---------- - .. _install: Install LAMMPS after a build @@ -487,7 +470,6 @@ you want to copy files to is protected. **CMake build**\ : - .. code-block:: bash cmake -D CMAKE_INSTALL_PREFIX=path [options ...] ../cmake @@ -496,6 +478,6 @@ you want to copy files to is protected. **Traditional make**\ : -There is no "install" option in the src/Makefile for LAMMPS. If you -wish to do this you will need to first build LAMMPS, then manually +There is no "install" option in the ``src/Makefile`` for LAMMPS. If +you wish to do this you will need to first build LAMMPS, then manually copy the desired LAMMPS files to the appropriate system directories. diff --git a/doc/src/Build_cmake.rst b/doc/src/Build_cmake.rst index 939431c6b3..c41136c0a5 100644 --- a/doc/src/Build_cmake.rst +++ b/doc/src/Build_cmake.rst @@ -9,17 +9,14 @@ Richard Berger (Temple U) has also written a `more comprehensive guide <https:// for how to use CMake to build LAMMPS. If you are new to CMake it is a good place to start. - ---------- - Building LAMMPS with CMake is a two-step process. First you use CMake to create a build environment in a new directory. On Linux systems, -this will be based on makefiles for use with make. Then you use the -make command to build LAMMPS, which uses the created +this will be by default based on Unix-style makefiles for use with make. +Then you use the *make* command to build LAMMPS, which uses the created Makefile(s). Example: - .. code-block:: bash cd lammps # change to the LAMMPS distribution directory @@ -31,8 +28,8 @@ The cmake command will detect available features, enable selected packages and options, and will generate the build environment. By default this build environment will be created for "Unix Makefiles" on most platforms and particularly on Linux. However, alternate build tools -(e.g. Ninja) and support files for Integrated Development Environments -(IDE) like Eclipse, CodeBlocks, or Kate can be generated, too. This is +(e.g. Ninja) and project files for Integrated Development Environments +(IDEs) like Eclipse, CodeBlocks, or Kate can be generated, too. This is selected via the "-G" command line flag. For the rest of the documentation we will assume that the build environment is generated for makefiles and thus the make command will be used to compile and link LAMMPS as @@ -51,7 +48,6 @@ even more. After compilation, you may optionally install the LAMMPS executable into your system with: - .. code-block:: bash make install # optional, copy LAMMPS executable & library elsewhere @@ -59,18 +55,17 @@ your system with: This will install the lammps executable and library (if requested), some tools (if configured) and additional files like library API headers, manpages, potential and force field files. The location of the installation -tree is set by the CMake variable "CMAKE\_INSTALL\_PREFIX" which defaults +tree is set by the CMake variable "CMAKE_INSTALL_PREFIX" which defaults to ${HOME}/.local - ---------- - -There are 3 variants of CMake: a command-line version (cmake), a text mode -UI version (ccmake), and a graphical GUI version (cmake-GUI). You can use -any of them interchangeably to configure and create the LAMMPS build -environment. On Linux all the versions produce a Makefile as their -output. See more details on each below. +There are 3 variants of the CMake command itself: a command-line version +(*cmake* or *cmake3*), a text mode UI version (*ccmake* or *ccmake3*), +and a graphical GUI version (*cmake-gui*). You can use any of them +interchangeably to configure and create the LAMMPS build environment. +On Linux all the versions produce a Makefile as their output by default. +See more details on each below. You can specify a variety of options with any of the 3 versions, which affect how the build is performed and what is included in the LAMMPS @@ -88,12 +83,13 @@ this directory or sub-directories within it that CMake creates. .. note:: - To perform a CMake build, no packages can be installed or a - build been previously attempted in the LAMMPS src directory by using - "make" commands to :doc:`perform a conventional LAMMPS build <Build_make>`. CMake detects if this is the case and - generates an error, telling you to type "make no-all purge" in the src - directory to un-install all packages. The purge removes all the \*.h - files auto-generated by make. + To perform a CMake build, no packages can be installed or a build + been previously attempted in the LAMMPS src directory by using "make" + commands to :doc:`perform a conventional LAMMPS build <Build_make>`. + CMake detects if this is the case and generates an error, telling you + to type "make no-all purge" in the src directory to un-install all + packages. The purge removes all the \*.h files auto-generated by + make. You must have CMake version 3.10 or later on your system to build LAMMPS. Installation instructions for CMake are below. @@ -106,30 +102,28 @@ ccmake or cmake-gui) again from the same build directory and alter various options; see details below. Or you can remove the entire build folder, recreate the directory and start over. - ---------- - **Command-line version of CMake**\ : - .. code-block:: bash - cmake [options ...] /path/to/lammps/cmake # build from any dir - cmake [options ...] ../cmake # build from lammps/build + cmake [options ...] /path/to/lammps/cmake # build from any dir + cmake [options ...] ../cmake # build from lammps/build + cmake3 [options ...] ../cmake # build from lammps/build The cmake command takes one required argument, which is the LAMMPS cmake directory which contains the CMakeLists.txt file. -The argument can be preceeded or followed by various CMake +The argument can be prefixed or followed by various CMake command-line options. Several useful ones are: - .. code-block:: bash -D CMAKE_INSTALL_PREFIX=path # where to install LAMMPS executable/lib if desired -D CMAKE_BUILD_TYPE=type # type = RelWithDebInfo (default), Release, MinSizeRel, or Debug - -G output # style of output CMake generates + -G output # style of output CMake generates (e.g. "Unix Makefiles" or "Ninja") + -D CMAKE_MAKE_PROGRAM=builder # name of the builder executable (e.g. set to "gmake" instead of "make") -DVARIABLE=value # setting for a LAMMPS feature to enable -D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir -C path/to/preset/file # load some CMake settings before configuring @@ -137,7 +131,7 @@ command-line options. Several useful ones are: All the LAMMPS-specific -D variables that a LAMMPS build supports are described on the pages linked to from the :doc:`Build <Build>` doc page. All of these variable names are upper-case and their values are -lower-case, e.g. -D LAMMPS\_SIZES=smallbig. For boolean values, any of +lower-case, e.g. -D LAMMPS_SIZES=smallbig. For boolean values, any of these forms can be used: yes/no, on/off, 1/0. On Unix/Linux machines, CMake generates a Makefile by default to @@ -168,13 +162,10 @@ In these cases it is usually better to first remove all the files/directories in the build directory, or start with a fresh build directory. - ---------- - **Curses version (terminal-style menu) of CMake**\ : - .. code-block:: bash ccmake ../cmake @@ -186,13 +177,10 @@ required to edit some of the entries of CMake configuration variables in between. Please see the `ccmake manual <https://cmake.org/cmake/help/latest/manual/ccmake.1.html>`_ for more information. - ---------- - **GUI version of CMake**\ : - .. code-block:: bash cmake-gui ../cmake @@ -205,15 +193,12 @@ edit some of the entries of CMake configuration variables in between. Please see the `cmake-gui manual <https://cmake.org/cmake/help/latest/manual/cmake-gui.1.html>`_ for more information. - ---------- - **Installing CMake** Check if your machine already has CMake installed: - .. code-block:: bash which cmake # do you have it? @@ -223,7 +208,6 @@ Check if your machine already has CMake installed: On clusters or supercomputers which use environment modules to manage software packages, do this: - .. code-block:: bash module list # is a module for cmake already loaded? diff --git a/doc/src/Build_development.rst b/doc/src/Build_development.rst index f8eee73197..4954fb522b 100644 --- a/doc/src/Build_development.rst +++ b/doc/src/Build_development.rst @@ -4,10 +4,8 @@ Development build options (CMake only) The CMake build of LAMMPS has a few extra options which are useful during development, testing or debugging. - ---------- - .. _compilation: Verify compilation flags @@ -17,22 +15,18 @@ Sometimes it is necessary to verify the complete sequence of compilation flags generated by the CMake build. To enable a more verbose output during compilation you can use the following option. - .. code-block:: bash -D CMAKE_VERBOSE_MAKEFILE=value # value = no (default) or yes Another way of doing this without reconfiguration is calling make with variable VERBOSE set to 1: - .. code-block:: bash make VERBOSE=1 - ---------- - .. _sanitizer: Address, Undefined Behavior, and Thread Sanitizer Support @@ -47,17 +41,14 @@ The following settings allow you enable these features if your compiler supports it. Please note that they come with a performance hit. However, they are usually faster than using tools like Valgrind. - .. code-block:: bash -D ENABLE_SANITIZE_ADDRESS=value # enable Address Sanitizer, value = no (default) or yes - -D ENABLE_SANITIZE_UNDEFINED=value # enable Undefined Behaviour Sanitizer, value = no (default) or yes + -D ENABLE_SANITIZE_UNDEFINED=value # enable Undefined Behavior Sanitizer, value = no (default) or yes -D ENABLE_SANITIZE_THREAD=value # enable Thread Sanitizer, value = no (default) or yes - ---------- - .. _testing: Code Coverage and Testing @@ -71,7 +62,6 @@ developers can run the tests directly on their workstation. this is incomplete and only represents a small subset of tests that we run - .. code-block:: bash -D ENABLE_TESTING=value # enable simple run tests of LAMMPS, value = no (default) or yes @@ -80,7 +70,6 @@ developers can run the tests directly on their workstation. If you enable testing in the CMake build it will create an additional target called "test". You can run them with: - .. code-block:: bash make test @@ -92,14 +81,12 @@ faster. You can also collect code coverage metrics while running the tests by enabling coverage support during building. - .. code-block:: bash -D ENABLE_COVERAGE=value # enable coverage measurements, value = no (default) or yes This will also add the following targets to generate coverage reports after running the LAMMPS executable: - .. code-block:: bash make test # run tests first! @@ -108,7 +95,6 @@ This will also add the following targets to generate coverage reports after runn These reports require GCOVR to be installed. The easiest way to do this to install it via pip: - .. code-block:: bash pip install git+https://github.com/gcovr/gcovr.git diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index a4064ee812..4589015e35 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -4,7 +4,6 @@ Packages with extra build options When building with some packages, additional steps may be required, in addition to: - .. code-block:: bash $ cmake -D PKG_NAME=yes @@ -15,7 +14,7 @@ or $ make yes-name -as described on the :doc:`Build\_package <Build_package>` doc page. +as described on the :doc:`Build_package <Build_package>` doc page. For a CMake build there may be additional optional or required variables to set. For a build with make, a provided library under the @@ -53,11 +52,10 @@ This is the list of packages that may require additional steps. * :ref:`USER-QUIP <user-quip>` * :ref:`USER-SCAFACOS <user-scafacos>` * :ref:`USER-SMD <user-smd>` - * :ref:`USER-VTK <user-vtk>` + * :ref:`USER-VTK <user-vtk>` ---------- - .. _compress: COMPRESS package @@ -70,7 +68,6 @@ available on your system. If CMake cannot find the library, you can set these variables: - .. code-block:: bash -D ZLIB_INCLUDE_DIR=path # path to zlib.h header file @@ -82,10 +79,8 @@ If make cannot find the library, you can edit the file lib/compress/Makefile.lammps to specify the paths and library name. - ---------- - .. _gpu: GPU package @@ -96,7 +91,6 @@ which GPU hardware to build for. **CMake build**\ : - .. code-block:: bash -D GPU_API=value # value = opencl (default) or cuda @@ -113,40 +107,39 @@ which GPU hardware to build for. -D CUDA_MPS_SUPPORT=value # enables some tweaks required to run with active nvidia-cuda-mps daemon # value = yes or no (default) -GPU\_ARCH settings for different GPU hardware is as follows: +GPU_ARCH settings for different GPU hardware is as follows: -* sm\_12 or sm\_13 for GT200 (supported by CUDA 3.2 until CUDA 6.5) -* sm\_20 or sm\_21 for Fermi (supported by CUDA 3.2 until CUDA 7.5) -* sm\_30 or sm\_35 or sm\_37 for Kepler (supported since CUDA 5) -* sm\_50 or sm\_52 for Maxwell (supported since CUDA 6) -* sm\_60 or sm\_61 for Pascal (supported since CUDA 8) -* sm\_70 for Volta (supported since CUDA 9) -* sm\_75 for Turing (supported since CUDA 10) +* sm_12 or sm_13 for GT200 (supported by CUDA 3.2 until CUDA 6.5) +* sm_20 or sm_21 for Fermi (supported by CUDA 3.2 until CUDA 7.5) +* sm_30 or sm_35 or sm_37 for Kepler (supported since CUDA 5) +* sm_50 or sm_52 for Maxwell (supported since CUDA 6) +* sm_60 or sm_61 for Pascal (supported since CUDA 8) +* sm_70 for Volta (supported since CUDA 9) +* sm_75 for Turing (supported since CUDA 10) A more detailed list can be found, for example, at `Wikipedia's CUDA article <https://en.wikipedia.org/wiki/CUDA#GPUs_supported>`_ CMake can detect which version of the CUDA toolkit is used and thus can include support for **all** major GPU architectures supported by this toolkit. -Thus the GPU\_ARCH setting is merely an optimization, to have code for +Thus the GPU_ARCH setting is merely an optimization, to have code for the preferred GPU architecture directly included rather than having to wait for the JIT compiler of the CUDA driver to translate it. **Traditional make**\ : -Before building LAMMPS, you must build the GPU library in lib/gpu. +Before building LAMMPS, you must build the GPU library in ``lib/gpu``\ . You can do this manually if you prefer; follow the instructions in -lib/gpu/README. Note that the GPU library uses MPI calls, so you must +``lib/gpu/README``. Note that the GPU library uses MPI calls, so you must use the same MPI library (or the STUBS library) settings as the main -LAMMPS code. This also applies to the -DLAMMPS\_BIGBIG, --DLAMMPS\_SMALLBIG, or -DLAMMPS\_SMALLSMALL settings in whichever +LAMMPS code. This also applies to the ``-DLAMMPS_BIGBIG``\ , +``-DLAMMPS_SMALLBIG``\ , or ``-DLAMMPS_SMALLSMALL`` settings in whichever Makefile you use. -You can also build the library in one step from the lammps/src dir, -using a command like these, which simply invoke the lib/gpu/Install.py +You can also build the library in one step from the ``lammps/src`` dir, +using a command like these, which simply invoke the ``lib/gpu/Install.py`` script with the specified args: - .. code-block:: bash $ make lib-gpu # print help message @@ -163,22 +156,22 @@ Makefile.machine you start from via the corresponding -c, -a, -p, -e switches (as in the examples above), and also save a copy of the new Makefile if desired: -* CUDA\_HOME = where NVIDIA CUDA software is installed on your system -* CUDA\_ARCH = sm\_XX, what GPU hardware you have, same as CMake GPU\_ARCH above -* CUDA\_PRECISION = precision (double, mixed, single) -* EXTRAMAKE = which Makefile.lammps.\* file to copy to Makefile.lammps +* ``CUDA_HOME`` = where NVIDIA CUDA software is installed on your system +* ``CUDA_ARCH`` = sm_XX, what GPU hardware you have, same as CMake GPU_ARCH above +* ``CUDA_PRECISION`` = precision (double, mixed, single) +* ``EXTRAMAKE`` = which Makefile.lammps.\* file to copy to Makefile.lammps -The file Makefile.linux\_multi is set up to include support for multiple +The file Makefile.linux_multi is set up to include support for multiple GPU architectures as supported by the CUDA toolkit in use. This is done through using the "--gencode " flag, which can be used multiple times and thus support all GPU architectures supported by your CUDA compiler. If the library build is successful, 3 files should be created: -lib/gpu/libgpu.a, lib/gpu/nvc\_get\_devices, and -lib/gpu/Makefile.lammps. The latter has settings that enable LAMMPS -to link with CUDA libraries. If the settings in Makefile.lammps for +``lib/gpu/libgpu.a``\ , ``lib/gpu/nvc_get_devices``\ , and +``lib/gpu/Makefile.lammps``\ . The latter has settings that enable LAMMPS +to link with CUDA libraries. If the settings in ``Makefile.lammps`` for your machine are not correct, the LAMMPS build will fail, and -lib/gpu/Makefile.lammps may need to be edited. +``lib/gpu/Makefile.lammps`` may need to be edited. .. note:: @@ -188,10 +181,8 @@ lib/gpu/Makefile.lammps may need to be edited. package uses the library settings from the lib/gpu/Makefile.machine used to build the GPU library. - ---------- - .. _kim: KIM package @@ -214,43 +205,42 @@ minutes to hours) to build. Of course you only need to do that once.) **CMake build**\ : - .. code-block:: bash -D DOWNLOAD_KIM=value # download OpenKIM API v2 for build, value = no (default) or yes -D LMP_DEBUG_CURL=value # set libcurl verbose mode on/off, value = off (default) or on -D LMP_NO_SSL_CHECK=value # tell libcurl to not verify the peer, value = no (default) or yes -If DOWNLOAD\_KIM is set, the KIM library will be downloaded and built +If ``DOWNLOAD_KIM`` is set, the KIM library will be downloaded and built inside the CMake build directory. If the KIM library is already on -your system (in a location CMake cannot find it), set the PKG\_CONFIG\_PATH +your system (in a location CMake cannot find it), set the ``PKG_CONFIG_PATH`` environment variable so that libkim-api can be found. *For using OpenKIM web queries in LAMMPS*\ : -If LMP\_DEBUG\_CURL is set, the libcurl verbose mode will be on, and any -libcurl calls within the KIM web query display a lot of information about -libcurl operations. You hardly ever want this set in production use, you will -almost always want this when you debug/report problems. +If the ``LMP_DEBUG_CURL`` environment variable is set, the libcurl verbose +mode will be on, and any libcurl calls within the KIM web query display a +lot of information about libcurl operations. You hardly ever want this +set in production use, you will almost always want this when you debug or +report problems. The libcurl performs peer SSL certificate verification by default. This verification is done using a CA certificate store that the SSL library can use to make sure the peer's server certificate is valid. If SSL reports an error ("certificate verify failed") during the handshake and thus refuses -further communication with that server, you can set LMP\_NO\_SSL\_CHECK. -If LMP\_NO\_SSL\_CHECK is set, libcurl does not verify the peer and connection +further communication with that server, you can set ``LMP_NO_SSL_CHECK``\ . +If ``LMP_NO_SSL_CHECK`` is set, libcurl does not verify the peer and connection succeeds regardless of the names in the certificate. This option is insecure. As an alternative, you can specify your own CA cert path by setting the -environment variable CURL\_CA\_BUNDLE to the path of your choice. A call to the -KIM web query would get this value from the environmental variable. +environment variable ``CURL_CA_BUNDLE`` to the path of your choice. A call +to the KIM web query would get this value from the environmental variable. **Traditional make**\ : You can download and build the KIM library manually if you prefer; -follow the instructions in lib/kim/README. You can also do it in one +follow the instructions in ``lib/kim/README``\ . You can also do it in one step from the lammps/src dir, using a command like these, which simply -invoke the lib/kim/Install.py script with the specified args. - +invoke the ``lib/kim/Install.py`` script with the specified args. .. code-block:: bash @@ -263,7 +253,7 @@ invoke the lib/kim/Install.py script with the specified args. $ make lib-kim args="-p /usr/local -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver Settings for OpenKIM web queries discussed above need to be applied by adding -them to the LMP\_INC variable through editing the Makefile.machine you are +them to the ``LMP_INC`` variable through editing the Makefile.machine you are using. For example: .. code-block:: make @@ -272,7 +262,6 @@ using. For example: ---------- - .. _kokkos: KOKKOS package @@ -283,7 +272,7 @@ build for, either CPUs (multi-threading via OpenMP) or KNLs (OpenMP) or GPUs (NVIDIA Cuda). For a CMake or make build, these are the possible choices for the -KOKKOS\_ARCH settings described below. Note that for CMake, these are +``KOKKOS_ARCH`` settings described below. Note that for CMake, these are really Kokkos variables, not LAMMPS variables. Hence you must use case-sensitive values, e.g. BDW, not bdw. @@ -323,7 +312,6 @@ case-sensitive values, e.g. BDW, not bdw. For multicore CPUs using OpenMP, set these 2 variables. - .. code-block:: bash -D KOKKOS_ARCH=archCPU # archCPU = CPU from list above @@ -331,7 +319,6 @@ For multicore CPUs using OpenMP, set these 2 variables. For Intel KNLs using OpenMP, set these 2 variables: - .. code-block:: bash -D KOKKOS_ARCH=KNL @@ -339,7 +326,6 @@ For Intel KNLs using OpenMP, set these 2 variables: For NVIDIA GPUs using CUDA, set these 4 variables: - .. code-block:: bash -D KOKKOS_ARCH="archCPU;archGPU" # archCPU = CPU from list above that is hosting the GPU @@ -349,23 +335,21 @@ For NVIDIA GPUs using CUDA, set these 4 variables: -D CMAKE_CXX_COMPILER=wrapper # wrapper = full path to Cuda nvcc wrapper The wrapper value is the Cuda nvcc compiler wrapper provided in the -Kokkos library: lib/kokkos/bin/nvcc\_wrapper. The setting should +Kokkos library: ``lib/kokkos/bin/nvcc_wrapper``\ . The setting should include the full path name to the wrapper, e.g. - .. code-block:: bash -D CMAKE_CXX_COMPILER=/home/username/lammps/lib/kokkos/bin/nvcc_wrapper **Traditional make**\ : -Choose which hardware to support in Makefile.machine via -KOKKOS\_DEVICES and KOKKOS\_ARCH settings. See the -src/MAKE/OPTIONS/Makefile.kokkos\* files for examples. +Choose which hardware to support in ``Makefile.machine`` via +``KOKKOS_DEVICES`` and ``KOKKOS_ARCH`` settings. See the +``src/MAKE/OPTIONS/Makefile.kokkos\*`` files for examples. For multicore CPUs using OpenMP: - .. code-block:: make KOKKOS_DEVICES = OpenMP @@ -373,7 +357,6 @@ For multicore CPUs using OpenMP: For Intel KNLs using OpenMP: - .. code-block:: make KOKKOS_DEVICES = OpenMP @@ -381,7 +364,6 @@ For Intel KNLs using OpenMP: For NVIDIA GPUs using CUDA: - .. code-block:: make KOKKOS_DEVICES = Cuda @@ -396,17 +378,14 @@ The 2 lines define a nvcc wrapper compiler, which will use nvcc for compiling CUDA files and use a C++ compiler for non-Kokkos, non-CUDA files. - .. code-block:: make KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd) export OMPI_CXX = $(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper CC = mpicxx - ---------- - .. _latte: LATTE package @@ -417,27 +396,25 @@ library. **CMake build**\ : - .. code-block:: bash -D DOWNLOAD_LATTE=value # download LATTE for build, value = no (default) or yes -D LATTE_LIBRARY=path # LATTE library file (only needed if a custom location) -If DOWNLOAD\_LATTE is set, the LATTE library will be downloaded and +If ``DOWNLOAD_LATTE`` is set, the LATTE library will be downloaded and built inside the CMake build directory. If the LATTE library is already on your system (in a location CMake cannot find it), -LATTE\_LIBRARY is the filename (plus path) of the LATTE library file, +``LATTE_LIBRARY`` is the filename (plus path) of the LATTE library file, not the directory the library file is in. **Traditional make**\ : You can download and build the LATTE library manually if you prefer; -follow the instructions in lib/latte/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invokes the lib/latte/Install.py script with the specified +follow the instructions in ``lib/latte/README``\ . You can also do it in +one step from the ``lammps/src`` dir, using a command like these, which +simply invokes the ``lib/latte/Install.py`` script with the specified args: - .. code-block:: bash $ make lib-latte # print help message @@ -452,10 +429,8 @@ dir. When LAMMPS itself is built it will use these links. You should also check that the Makefile.lammps file you create is appropriate for the compiler you use on your system to build LATTE. - ---------- - .. _message: MESSAGE package @@ -467,7 +442,6 @@ be installed on your system. **CMake build**\ : - .. code-block:: bash -D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes @@ -477,11 +451,10 @@ be installed on your system. **Traditional make**\ : Before building LAMMPS, you must build the CSlib library in -lib/message. You can build the CSlib library manually if you prefer; -follow the instructions in lib/message/README. You can also do it in -one step from the lammps/src dir, using a command like these, which -simply invoke the lib/message/Install.py script with the specified args: - +``lib/message``\ . You can build the CSlib library manually if you prefer; +follow the instructions in ``lib/message/README``\ . You can also do it in +one step from the ``lammps/src`` dir, using a command like these, which +simply invoke the ``lib/message/Install.py`` script with the specified args: .. code-block:: bash @@ -489,49 +462,45 @@ simply invoke the lib/message/Install.py script with the specified args: $ make lib-message args="-m -z" # build with MPI and socket (ZMQ) support $ make lib-message args="-s" # build as serial lib with no ZMQ support -The build should produce two files: lib/message/cslib/src/libmessage.a -and lib/message/Makefile.lammps. The latter is copied from an -existing Makefile.lammps.\* and has settings to link with the ZeroMQ +The build should produce two files: ``lib/message/cslib/src/libmessage.a`` +and ``lib/message/Makefile.lammps``\ . The latter is copied from an +existing ``Makefile.lammps.\*`` and has settings to link with the ZeroMQ library if requested in the build. - ---------- - .. _mscg: MSCG package ----------------------- To build with this package, you must download and build the MS-CG -library. Building the MS-CG library and using it from LAMMPS requires -a C++11 compatible compiler and that the GSL (GNU Scientific Library) -headers and libraries are installed on your machine. See the -lib/mscg/README and MSCG/Install files for more details. +library. Building the MS-CG library requires that the GSL +(GNU Scientific Library) headers and libraries are installed on your +machine. See the ``lib/mscg/README`` and ``MSCG/Install`` files for +more details. **CMake build**\ : - .. code-block:: bash -D DOWNLOAD_MSCG=value # download MSCG for build, value = no (default) or yes -D MSCG_LIBRARY=path # MSCG library file (only needed if a custom location) -D MSCG_INCLUDE_DIR=path # MSCG include directory (only needed if a custom location) -If DOWNLOAD\_MSCG is set, the MSCG library will be downloaded and built +If ``DOWNLOAD_MSCG`` is set, the MSCG library will be downloaded and built inside the CMake build directory. If the MSCG library is already on -your system (in a location CMake cannot find it), MSCG\_LIBRARY is the +your system (in a location CMake cannot find it), ``MSCG_LIBRARY`` is the filename (plus path) of the MSCG library file, not the directory the -library file is in. MSCG\_INCLUDE\_DIR is the directory the MSCG +library file is in. ``MSCG_INCLUDE_DIR`` is the directory the MSCG include file is in. **Traditional make**\ : You can download and build the MS-CG library manually if you prefer; -follow the instructions in lib/mscg/README. You can also do it in one -step from the lammps/src dir, using a command like these, which simply -invoke the lib/mscg/Install.py script with the specified args: - +follow the instructions in ``lib/mscg/README``\ . You can also do it in one +step from the ``lammps/src`` dir, using a command like these, which simply +invoke the ``lib/mscg/Install.py`` script with the specified args: .. code-block:: bash @@ -543,14 +512,12 @@ invoke the lib/mscg/Install.py script with the specified args: $ make lib-mscg args="-p /usr/local/mscg-release" # use the existing MS-CG installation in /usr/local/mscg-release Note that 2 symbolic (soft) links, "includelink" and "liblink", will -be created in lib/mscg to point to the MS-CG src/installation dir. -When LAMMPS is built in src it will use these links. You should not -need to edit the lib/mscg/Makefile.lammps file. - +be created in ``lib/mscg`` to point to the MS-CG ``src/installation`` +dir. When LAMMPS is built in src it will use these links. You should +not need to edit the ``lib/mscg/Makefile.lammps`` file. ---------- - .. _opt: OPT package @@ -558,7 +525,7 @@ OPT package **CMake build**\ : -No additional settings are needed besides "-D PKG\_OPT=yes". +No additional settings are needed besides ``-D PKG_OPT=yes`` **Traditional make**\ : @@ -567,10 +534,8 @@ package when using Intel compilers. It should be added to the CCFLAGS line of your Makefile.machine. See src/MAKE/OPTIONS/Makefile.opt for an example. - ---------- - .. _poems: POEMS package @@ -578,16 +543,15 @@ POEMS package **CMake build**\ : -No additional settings are needed besides "-D PKG\_OPT=yes". +No additional settings are needed besides ``-D PKG_OPT=yes`` **Traditional make**\ : -Before building LAMMPS, you must build the POEMS library in lib/poems. +Before building LAMMPS, you must build the POEMS library in ``lib/poems``\ . You can do this manually if you prefer; follow the instructions in -lib/poems/README. You can also do it in one step from the lammps/src +``lib/poems/README``\ . You can also do it in one step from the ``lammps/src`` dir, using a command like these, which simply invoke the -lib/poems/Install.py script with the specified args: - +``lib/poems/Install.py`` script with the specified args: .. code-block:: bash @@ -596,31 +560,28 @@ lib/poems/Install.py script with the specified args: $ make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi") $ make lib-poems args="-m icc" # build with Intel icc compiler -The build should produce two files: lib/poems/libpoems.a and -lib/poems/Makefile.lammps. The latter is copied from an existing -Makefile.lammps.\* and has settings needed to build LAMMPS with the +The build should produce two files: ``lib/poems/libpoems.a`` and +``lib/poems/Makefile.lammps``\ . The latter is copied from an existing +``Makefile.lammps.\*`` and has settings needed to build LAMMPS with the POEMS library (though typically the settings are just blank). If -necessary, you can edit/create a new lib/poems/Makefile.machine file -for your system, which should define an EXTRAMAKE variable to specify -a corresponding Makefile.lammps.machine file. - +necessary, you can edit/create a new ``lib/poems/Makefile.machine`` file +for your system, which should define an ``EXTRAMAKE`` variable to specify +a corresponding ``Makefile.lammps.machine`` file. ---------- - .. _python: PYTHON package --------------------------- Building with the PYTHON package requires you have a Python shared -library available on your system, which needs to be a Python 2 -version, 2.6 or later. Python 3 is not yet supported. See -lib/python/README for more details. +library available on your system, which needs to be a Python 2.7 +version or a Python 3.x version. See ``lib/python/README`` for more +details. **CMake build**\ : - .. code-block:: bash -D PYTHON_EXECUTABLE=path # path to Python executable to use @@ -628,21 +589,19 @@ lib/python/README for more details. Without this setting, CMake will guess the default Python on your system. To use a different Python version, you can either create a virtualenv, activate it and then run cmake. Or you can set the -PYTHON\_EXECUTABLE variable to specify which Python interpreter should +PYTHON_EXECUTABLE variable to specify which Python interpreter should be used. Note note that you will also need to have the development headers installed for this version, e.g. python2-devel. **Traditional make**\ : -The build uses the lib/python/Makefile.lammps file in the compile/link +The build uses the ``lib/python/Makefile.lammps`` file in the compile/link process to find Python. You should only need to create a new -Makefile.lammps.\* file (and copy it to Makefile.lammps) if the LAMMPS -build fails. - +``Makefile.lammps.\*`` file (and copy it to ``Makefile.lammps``\ ) if +the LAMMPS build fails. ---------- - .. _voronoi: VORONOI package @@ -652,22 +611,19 @@ To build with this package, you must download and build the `Voro++ library <vor .. _voro-home: http://math.lbl.gov/voro++ - - **CMake build**\ : - .. code-block:: bash -D DOWNLOAD_VORO=value # download Voro++ for build, value = no (default) or yes -D VORO_LIBRARY=path # Voro++ library file (only needed if at custom location) -D VORO_INCLUDE_DIR=path # Voro++ include directory (only needed if at custom location) -If DOWNLOAD\_VORO is set, the Voro++ library will be downloaded and +If DOWNLOAD_VORO is set, the Voro++ library will be downloaded and built inside the CMake build directory. If the Voro++ library is already on your system (in a location CMake cannot find it), -VORO\_LIBRARY is the filename (plus path) of the Voro++ library file, -not the directory the library file is in. VORO\_INCLUDE\_DIR is the +VORO_LIBRARY is the filename (plus path) of the Voro++ library file, +not the directory the library file is in. VORO_INCLUDE_DIR is the directory the Voro++ include file is in. **Traditional make**\ : @@ -678,7 +634,6 @@ one step from the lammps/src dir, using a command like these, which simply invoke the lib/voronoi/Install.py script with the specified args: - .. code-block:: bash $ make lib-voronoi # print help message @@ -691,10 +646,8 @@ created in lib/voronoi to point to the Voro++ src dir. When LAMMPS builds in src it will use these links. You should not need to edit the lib/voronoi/Makefile.lammps file. - ---------- - .. _user-adios: USER-ADIOS package @@ -704,12 +657,11 @@ The USER-ADIOS package requires the `ADIOS I/O library <https://github.com/ornla version 2.3.1 or newer. Make sure that you have ADIOS built either with or without MPI to match if you build LAMMPS with or without MPI. ADIOS compilation settings for LAMMPS are automatically detected, if the PATH -and LD\_LIBRARY\_PATH environment variables have been updated for the local ADIOS +and LD_LIBRARY_PATH environment variables have been updated for the local ADIOS installation and the instructions below are followed for the respective build systems. **CMake build**\ : - .. code-block:: bash -D ADIOS2_DIR=path # path is where ADIOS 2.x is installed @@ -719,22 +671,18 @@ installation and the instructions below are followed for the respective build sy Turn on the USER-ADIOS package before building LAMMPS. If the ADIOS 2.x software is installed in PATH, there is nothing else to do: - .. code-block:: bash $ make yes-user-adios -otherwise, set ADIOS2\_DIR environment variable when turning on the package: - +otherwise, set ADIOS2_DIR environment variable when turning on the package: .. code-block:: bash $ ADIOS2_DIR=path make yes-user-adios # path is where ADIOS 2.x is installed - ---------- - .. _user-atc: USER-ATC package @@ -744,8 +692,8 @@ The USER-ATC package requires the MANYBODY package also be installed. **CMake build**\ : -No additional settings are needed besides "-D PKG\_USER-ATC=yes" -and "-D PKG\_MANYBODY=yes". +No additional settings are needed besides "-D PKG_USER-ATC=yes" +and "-D PKG_MANYBODY=yes". **Traditional make**\ : @@ -755,7 +703,6 @@ lib/atc/README. You can also do it in one step from the lammps/src dir, using a command like these, which simply invoke the lib/atc/Install.py script with the specified args: - .. code-block:: bash $ make lib-atc # print help message @@ -777,7 +724,6 @@ can either exist on your system, or you can use the files provided in lib/linalg. In the latter case you also need to build the library in lib/linalg with a command like these: - .. code-block:: bash $ make lib-linalg # print help message @@ -785,10 +731,8 @@ lib/linalg with a command like these: $ make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi") $ make lib-linalg args="-m gfortran" # build with GNU Fortran compiler - ---------- - .. _user-awpmd: USER-AWPMD package @@ -796,7 +740,7 @@ USER-AWPMD package **CMake build**\ : -No additional settings are needed besides "-D PKG\_USER-AQPMD=yes". +No additional settings are needed besides "-D PKG_USER-AQPMD=yes". **Traditional make**\ : @@ -806,7 +750,6 @@ lib/awpmd/README. You can also do it in one step from the lammps/src dir, using a command like these, which simply invoke the lib/awpmd/Install.py script with the specified args: - .. code-block:: bash $ make lib-awpmd # print help message @@ -828,7 +771,6 @@ these can either exist on your system, or you can use the files provided in lib/linalg. In the latter case you also need to build the library in lib/linalg with a command like these: - .. code-block:: bash $ make lib-linalg # print help message @@ -836,10 +778,8 @@ library in lib/linalg with a command like these: $ make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi") $ make lib-linalg args="-m gfortran" # build with GNU Fortran compiler - ---------- - .. _user-colvars: USER-COLVARS package @@ -861,12 +801,12 @@ C++11-only features. **CMake build**\ : This is the recommended build recipe: no additional settings are normally -needed besides "-D PKG\_USER-COLVARS=yes". +needed besides "-D PKG_USER-COLVARS=yes". Building and linking of Lepton (or other C++11-only features) is enabled automatically when compilation is carried out with C++11 support, and disabled otherwise. Optionally, Lepton build may be manually controlled with the flag -"-D COLVARS\_LEPTON=yes\|no". +"-D COLVARS_LEPTON=yes\|no". **Traditional make**\ : @@ -880,7 +820,6 @@ LAMMPS. This is best carried out from the LAMMPS src directory using a command like these, which simply invoke the lib/colvars/Install.py script with the specified args: - .. code-block:: bash $ make lib-colvars # print help message @@ -905,16 +844,14 @@ The build should produce two files: the library lib/colvars/libcolvars.a lib/colvars/Makefile.lammps. The latter is auto-generated, and normally does not need to be edited. - ---------- - .. _user-plumed: USER-PLUMED package ------------------------------------- -.. _plumedinstall: http://plumed.github.io/doc-master/user-doc/html/\_installation.html +.. _plumedinstall: https://plumed.github.io/doc-master/user-doc/html/_installation.html Before building LAMMPS with this package, you must first build PLUMED. PLUMED can be built as part of the LAMMPS build or installed separately @@ -923,7 +860,6 @@ The USER-PLUMED package has been tested to work with Plumed versions 2.4.x, 2.5.x, and 2.6.x and will error out, when trying to run calculations with a different version of the Plumed kernel. - PLUMED can be linked into MD codes in three different modes: static, shared, and runtime. With the "static" mode, all the code that PLUMED requires is linked statically into LAMMPS. LAMMPS is then fully @@ -937,7 +873,7 @@ LAMMPS uses can be updated without the need for a recompile of LAMMPS for as long as the shared PLUMED library is ABI-compatible. The third linkage mode is "runtime" which allows the user to specify -which PLUMED kernel should be used at runtime by using the PLUMED\_KERNEL +which PLUMED kernel should be used at runtime by using the PLUMED_KERNEL environment variable. This variable should point to the location of the libplumedKernel.so dynamical shared object, which is then loaded at runtime. This mode of linking is particularly convenient for doing @@ -954,32 +890,31 @@ LAMMPS build. **CMake build**\ : -When the "-D PKG\_USER-PLUMED" flag is included in the cmake command you +When the "-D PKG_USER-PLUMED" flag is included in the cmake command you must ensure that GSL is installed in locations that are specified in your environment. There are then two additional commands that control the manner in which PLUMED is obtained and linked into LAMMPS. - .. code-block:: bash -D DOWNLOAD_PLUMED=value # download PLUMED for build, value = no (default) or yes -D PLUMED_MODE=value # Linkage mode for PLUMED, value = static (default), shared, or runtime -If DOWNLOAD\_PLUMED is set to "yes", the PLUMED library will be +If DOWNLOAD_PLUMED is set to "yes", the PLUMED library will be downloaded (the version of PLUMED that will be downloaded is hard-coded to a vetted version of PLUMED, usually a recent stable release version) -and built inside the CMake build directory. If DOWNLOAD\_PLUMED is set +and built inside the CMake build directory. If DOWNLOAD_PLUMED is set to "no" (the default), CMake will try to detect and link to an installed version of PLUMED. For this to work, the PLUMED library has to be installed into a location where the pkg-config tool can find it or the -PKG\_CONFIG\_PATH environment variable has to be set up accordingly. +PKG_CONFIG_PATH environment variable has to be set up accordingly. PLUMED should be installed in such a location if you compile it using the default make; make install commands. -The PLUMED\_MODE setting determines the linkage mode for the PLUMED +The PLUMED_MODE setting determines the linkage mode for the PLUMED library. The allowed values for this flag are "static" (default), "shared", or "runtime". For a discussion of PLUMED linkage modes, -please see above. When DOWNLOAD\_PLUMED is enabled the static linkage +please see above. When DOWNLOAD_PLUMED is enabled the static linkage mode is recommended. **Traditional make**\ : @@ -995,7 +930,6 @@ discussion of PLUMED linkage modes, please see above. Download/compilation/configuration of the plumed library can be done from the src folder through the following make args: - .. code-block:: bash $ make lib-plumed # print help message @@ -1011,7 +945,6 @@ suitable for LAMMPS to compile and link PLUMED using the desired linkage mode. After this step is completed, you can install the USER-PLUMED package and compile LAMMPS in the usual manner: - .. code-block:: bash $ make yes-user-plumed @@ -1020,7 +953,7 @@ package and compile LAMMPS in the usual manner: Once this compilation completes you should be able to run LAMMPS in the usual way. For shared linkage mode, libplumed.so must be found by the LAMMPS executable, which on many operating systems means, you have to -set the LD\_LIBRARY\_PATH environment variable accordingly. +set the LD_LIBRARY_PATH environment variable accordingly. Support for the different linkage modes in LAMMPS varies for different operating systems, using the static linkage is expected to be the most @@ -1031,10 +964,8 @@ lib-plumed" with the desired settings **and** do a re-install if the USER-PLUMED package with "make yes-user-plumed" to update the required makefile settings with the changes in the lib/plumed folder. - ---------- - .. _user-h5md: USER-H5MD package @@ -1046,7 +977,7 @@ the HDF5 library. **CMake build**\ : -No additional settings are needed besides "-D PKG\_USER-H5MD=yes". +No additional settings are needed besides "-D PKG_USER-H5MD=yes". This should auto-detect the H5MD library on your system. Several advanced CMake H5MD options exist if you need to specify where it is @@ -1062,7 +993,6 @@ lib/h5md/README. You can also do it in one step from the lammps/src dir, using a command like these, which simply invoke the lib/h5md/Install.py script with the specified args: - .. code-block:: bash $ make lib-h5md # print help message @@ -1076,10 +1006,8 @@ lib/h5md/Makefile.machine file for your system, which should define an EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine file. - ---------- - .. _user-intel: USER-INTEL package @@ -1093,7 +1021,6 @@ on the :doc:`Speed intel <Speed_intel>` doc page. **CMake build**\ : - .. code-block:: bash -D INTEL_ARCH=value # value = cpu (default) or knl @@ -1114,13 +1041,12 @@ runs with other compilers and without TBB and MKL. **Traditional make**\ : Choose which hardware to compile for in Makefile.machine via the -following settings. See src/MAKE/OPTIONS/Makefile.intel\_cpu\* and +following settings. See src/MAKE/OPTIONS/Makefile.intel_cpu\* and Makefile.knl files for examples. and src/USER-INTEL/README for additional information. For CPUs: - .. code-block:: make OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits -qopt-zmm-usage=high @@ -1130,7 +1056,6 @@ For CPUs: For KNLs: - .. code-block:: make OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits @@ -1138,10 +1063,8 @@ For KNLs: LINKFLAGS = -g -qopenmp $(OPTFLAGS) LIB = -ltbbmalloc - ---------- - .. _user-molfile: USER-MOLFILE package @@ -1149,14 +1072,13 @@ USER-MOLFILE package **CMake build**\ : - .. code-block:: bash -D MOLFILE_INCLUDE_DIRS=path # (optional) path where VMD molfile plugin headers are installed -D PKG_USER-MOLFILE=yes -Using "-D PKG\_USER-MOLFILE=yes" enables the package, and setting -"-D MOLFILE\_INCLUDE DIRS" allows to provide a custom location for +Using "-D PKG_USER-MOLFILE=yes" enables the package, and setting +"-D MOLFILE_INCLUDE DIRS" allows to provide a custom location for the molfile plugin header files. These should match the ABI of the plugin files used, and thus one typically sets them to include folder of the local VMD installation in use. LAMMPS ships with a @@ -1176,10 +1098,8 @@ default headers, but these are not compatible with all VMD versions, so it is often best to change this setting to the location of the same include files of the local VMD installation in use. - ---------- - .. _user-netcdf: USER-NETCDF package @@ -1190,7 +1110,7 @@ on your system. **CMake build**\ : -No additional settings are needed besides "-D PKG\_USER-NETCDF=yes". +No additional settings are needed besides "-D PKG_USER-NETCDF=yes". This should auto-detect the NETCDF library if it is installed on your system at standard locations. Several advanced CMake NETCDF options @@ -1205,10 +1125,8 @@ and library files which LAMMPS needs to build with this package. If the settings are not valid for your system, you will need to edit the Makefile.lammps file. See lib/netcdf/README for details. - ---------- - .. _user-omp: USER-OMP package @@ -1216,7 +1134,7 @@ USER-OMP package **CMake build**\ : -No additional settings are required besides "-D PKG\_USER-OMP=yes". If +No additional settings are required besides "-D PKG_USER-OMP=yes". If CMake detects OpenMP support, the USER-OMP code will be compiled with multi-threading support enabled, otherwise as optimized serial code. @@ -1227,10 +1145,9 @@ styles supporting OpenMP) the following compile and link flags must be added to your Makefile.machine file. See src/MAKE/OPTIONS/Makefile.omp for an example. - .. parsed-literal:: - CCFLAGS: -fopenmp # for GNU and Clang Compilers + CCFLAGS: -fopenmp # for GNU and Clang Compilers CCFLAGS: -qopenmp -restrict # for Intel compilers on Linux LINKFLAGS: -fopenmp # for GNU and Clang Compilers LINKFLAGS: -qopenmp # for Intel compilers on Linux @@ -1239,10 +1156,8 @@ For other platforms and compilers, please consult the documentation about OpenMP support for your compiler. Please see the note about how to address compatibility :ref:`issues with the 'default(none)' directive <default-none-issues>` of some compilers. - ---------- - .. _user-qmmm: USER-QMMM package @@ -1282,7 +1197,6 @@ go back to the lib/qmmm folder and follow the instructions on the README file to build the combined LAMMPS/QE QM/MM executable (pwqmmm.x) in the lib/qmmm folder. You need to make certain, that - **Traditional make**\ : Before building LAMMPS, you must build the QMMM library in lib/qmmm. @@ -1291,7 +1205,6 @@ explained in lib/qmmm/README. You can also do it in one step from the lammps/src dir, using a command like these, which simply invoke the lib/qmmm/Install.py script with the specified args: - .. code-block:: bash $ make lib-qmmm # print help message @@ -1316,7 +1229,6 @@ lib/qmmm folder. ---------- - .. _user-quip: USER-QUIP package @@ -1330,29 +1242,26 @@ lib/quip/README file for details on how to do this. **CMake build**\ : - .. code-block:: bash -D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location) CMake will not download and build the QUIP library. But once you have -done that, a CMake build of LAMMPS with "-D PKG\_USER-QUIP=yes" should -work. Set QUIP\_LIBRARY if CMake cannot find the QUIP library. +done that, a CMake build of LAMMPS with "-D PKG_USER-QUIP=yes" should +work. Set QUIP_LIBRARY if CMake cannot find the QUIP library. **Traditional make**\ : The download/build procedure for the QUIP library, described in lib/quip/README file requires setting two environment variables, -QUIP\_ROOT and QUIP\_ARCH. These are accessed by the +QUIP_ROOT and QUIP_ARCH. These are accessed by the lib/quip/Makefile.lammps file which is used when you compile and link LAMMPS with this package. You should only need to edit Makefile.lammps if the LAMMPS build can not use its settings to successfully build on your system. - ---------- - .. _user-scafacos: USER-SCAFACOS package @@ -1362,22 +1271,19 @@ To build with this package, you must download and build the `ScaFaCoS Coulomb so .. _scafacos-home: http://www.scafacos.de - - **CMake build**\ : - .. code-block:: bash -D DOWNLOAD_SCAFACOS=value # download ScaFaCoS for build, value = no (default) or yes -D SCAFACOS_LIBRARY=path # ScaFaCos library file (only needed if at custom location) -D SCAFACOS_INCLUDE_DIR=path # ScaFaCoS include directory (only needed if at custom location) -If DOWNLOAD\_SCAFACOS is set, the ScaFaCoS library will be downloaded +If DOWNLOAD_SCAFACOS is set, the ScaFaCoS library will be downloaded and built inside the CMake build directory. If the ScaFaCoS library is already on your system (in a location CMake cannot find it), -SCAFACOS\_LIBRARY is the filename (plus path) of the ScaFaCoS library -file, not the directory the library file is in. SCAFACOS\_INCLUDE\_DIR +SCAFACOS_LIBRARY is the filename (plus path) of the ScaFaCoS library +file, not the directory the library file is in. SCAFACOS_INCLUDE_DIR is the directory the ScaFaCoS include file is in. **Traditional make**\ : @@ -1397,10 +1303,8 @@ created in lib/scafacos to point to the ScaFaCoS src dir. When LAMMPS builds in src it will use these links. You should not need to edit the lib/scafacos/Makefile.lammps file. - ---------- - .. _user-smd: USER-SMD package @@ -1411,15 +1315,14 @@ Eigen3 is a template library, so you do not need to build it. **CMake build**\ : - .. code-block:: bash -D DOWNLOAD_EIGEN3 # download Eigen3, value = no (default) or yes -D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location) -If DOWNLOAD\_EIGEN3 is set, the Eigen3 library will be downloaded and +If DOWNLOAD_EIGEN3 is set, the Eigen3 library will be downloaded and inside the CMake build directory. If the Eigen3 library is already on -your system (in a location CMake cannot find it), EIGEN3\_INCLUDE\_DIR +your system (in a location CMake cannot find it), EIGEN3_INCLUDE_DIR is the directory the Eigen3++ include file is in. **Traditional make**\ : @@ -1429,7 +1332,6 @@ instructions in lib/smd/README. You can also do it in one step from the lammps/src dir, using a command like these, which simply invoke the lib/smd/Install.py script with the specified args: - .. code-block:: bash $ make lib-smd # print help message @@ -1441,10 +1343,8 @@ lib/smd to point to the Eigen dir. When LAMMPS builds it will use this link. You should not need to edit the lib/smd/Makefile.lammps file. - ---------- - .. _user-vtk: USER-VTK package @@ -1455,7 +1355,7 @@ your system. **CMake build**\ : -No additional settings are needed besides "-D PKG\_USER-VTK=yes". +No additional settings are needed besides "-D PKG_USER-VTK=yes". This should auto-detect the VTK library if it is installed on your system at standard locations. Several advanced VTK options exist if diff --git a/doc/src/Build_link.rst b/doc/src/Build_link.rst index 365decd54d..64c890d8ec 100644 --- a/doc/src/Build_link.rst +++ b/doc/src/Build_link.rst @@ -11,7 +11,7 @@ The :doc:`Build basics <Build_basics>` doc page explains how to build LAMMPS as either a shared or static library. This results in one of these 2 files: -.. parsed-literal:: +.. code-block:: bash liblammps.so # shared library liblammps.a # static library @@ -25,13 +25,12 @@ these 2 files: then its mpi.h file needs to be included. While it is technically possible to use a full MPI library in the calling code and link to a serial LAMMPS library compiled with MPI STUBS, it is recommended - to use the *same* MPI library for both, and then use MPI\_Comm\_split() + to use the *same* MPI library for both, and then use MPI_Comm_split() in the calling code to pass a suitable communicator with a subset of MPI ranks to the function creating the LAMMPS instance. ---------- - **Link with LAMMPS as a static library**\ : The calling application can link to LAMMPS as a static library with @@ -44,7 +43,7 @@ executable code from the library is copied into the calling executable. *CMake build*\ : This assumes that LAMMPS has been configured with "-D BUILD_LIB=yes" -and installed with "make install" and the PKG\_CONFIG\_PATH environment +and installed with "make install" and the PKG_CONFIG_PATH environment variable updated to include the *liblammps.pc* file installed into the configured destination folder, if needed. The commands to compile and link the coupled executable are then: @@ -54,7 +53,6 @@ link the coupled executable are then: mpicc -c -O $(pkgconf liblammps --cflags) caller.c mpicxx -o caller caller.o -$(pkgconf liblammps --libs) - *Traditional make*\ : This assumes that LAMMPS has been compiled in the folder @@ -101,7 +99,7 @@ change to: gcc -c -O -I${HOME}/lammps/src/STUBS -I${HOME}/lammps/src -caller.c g++ -o caller caller.o -L${HOME}/lammps/lib/poems \ - -L${HOME}/lammps/src/STUBS -L${HOME}/lammps/src -llammps -lpoems -lmpi_stubs + -L${HOME}/lammps/src/STUBS -L${HOME}/lammps/src -llammps -lpoems -lmpi_stubs Note, that you need to link with "g++" instead of "gcc", since LAMMPS is C++ code. You can display the currently applied settings for building @@ -115,15 +113,15 @@ Which should output something like: .. code-block:: bash - # Compiler: + # Compiler: CXX=g++ - # Linker: + # Linker: LD=g++ - # Compilation: + # Compilation: CXXFLAGS=-g -O3 -DLAMMPS_GZIP -DLAMMPS_MEMALIGN=64 -I${HOME}/lammps/lib/poems -I${HOME}/lammps/src/STUBS - # Linking: + # Linking: LDFLAGS=-g -O - # Libraries: + # Libraries: LDLIBS=-L${HOME}/lammps/lib/poems -L${HOME}/lammps/src/STUBS -lpoems -lmpi_stubs From this you can gather the necessary paths and flags. With @@ -165,11 +163,11 @@ traditional make build using "make mode=shlib serial" becomes: g++ -o caller caller.o -L${HOME}/lammps/src -llammps *Locating liblammps.so at runtime*\ : - + However, now the `liblammps.so` file is required at runtime and needs to be in a folder, where the shared linker program of the operating system can find it. This would be either a folder like "/usr/local/lib64" -or "${HOME}/.local/lib64" or a folder pointed to by the LD\_LIBRARY\_PATH +or "${HOME}/.local/lib64" or a folder pointed to by the LD_LIBRARY_PATH environment variable. You can type .. code-block:: bash @@ -179,7 +177,7 @@ environment variable. You can type to see what directories are in that list. Or you can add the LAMMPS src directory (or the directory you performed -a CMake style build in) to your LD\_LIBRARY\_PATH, so that the current +a CMake style build in) to your LD_LIBRARY_PATH, so that the current version of the shared library is always available to programs that use it. For the Bourne or Korn shells (/bin/sh, /bin/ksh, /bin/bash etc.), you @@ -193,7 +191,6 @@ would add something like this to your ~/.profile file: For the csh or tcsh shells, you would equivalently add something like this to your ~/.cshrc file: - .. code-block:: csh setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${HOME}/lammps/src @@ -203,7 +200,7 @@ You can verify whether all required shared libraries are found with the .. code-block:: bash - $ LD_LIBRARY_PATH=/home/user/lammps/src ldd caller + $ LD_LIBRARY_PATH=/home/user/lammps/src ldd caller linux-vdso.so.1 (0x00007ffe729e0000) liblammps.so => /home/user/lammps/src/liblammps.so (0x00007fc91bb9e000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fc91b984000) @@ -212,12 +209,11 @@ You can verify whether all required shared libraries are found with the libc.so.6 => /lib64/libc.so.6 (0x00007fc91b65b000) /lib64/ld-linux-x86-64.so.2 (0x00007fc91c094000) - If a required library is missing, you would get a 'not found' entry: .. code-block:: bash - $ ldd caller + $ ldd caller linux-vdso.so.1 (0x00007ffd672fe000) liblammps.so => not found libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fb7c7e86000) @@ -226,16 +222,14 @@ If a required library is missing, you would get a 'not found' entry: libc.so.6 => /usr/lib64/libc.so.6 (0x00007fb7c7b5d000) /lib64/ld-linux-x86-64.so.2 (0x00007fb7c80a2000) - ---------- - **Calling the LAMMPS library**\ : Either flavor of library (static or shared) allows one or more LAMMPS objects to be instantiated from the calling program. When used from a C++ program, most of the symbols and functions in LAMMPS are wrapped -in a LAMMPS\_NS namespace; you can safely use any of its classes and +in a LAMMPS_NS namespace; you can safely use any of its classes and methods from within the calling code, as needed, and you will not incur conflicts with functions and variables in your code that share the name. This, however, does not extend to all additional libraries bundled with diff --git a/doc/src/Build_make.rst b/doc/src/Build_make.rst index ebd1790e11..0379a8379a 100644 --- a/doc/src/Build_make.rst +++ b/doc/src/Build_make.rst @@ -31,7 +31,7 @@ machines, especially workstations, desktops, and laptops, so we suggest you try it first when building LAMMPS in those cases. The commands below perform a default LAMMPS build, producing the LAMMPS -executable lmp\_serial and lmp\_mpi in lammps/src: +executable lmp_serial and lmp_mpi in lammps/src: .. code-block:: bash @@ -73,8 +73,7 @@ in the LAMMPS distribution. Typing "make machine" uses use Makefile.serial and Makefile.mpi, respectively. Other makefiles are in these directories: - -.. parsed-literal:: +.. code-block:: bash OPTIONS # Makefiles which enable specific options MACHINES # Makefiles for specific machines @@ -93,7 +92,6 @@ customized machine Makefile are contributed by users. Since both compilers, OS configurations, and LAMMPS itself keep changing, their settings may become outdated: - .. code-block:: bash make mac # build serial LAMMPS on a Mac diff --git a/doc/src/Build_package.rst b/doc/src/Build_package.rst index cd178161b3..b3d2d3fc56 100644 --- a/doc/src/Build_package.rst +++ b/doc/src/Build_package.rst @@ -47,15 +47,13 @@ versus make. **CMake build**\ : - -.. code-block:: bash +.. code-block:: csh -D PKG_NAME=value # yes or no (default) Examples: - -.. code-block:: bash +.. code-block:: csh -D PKG_MANYBODY=yes -D PKG_USER-INTEL=yes @@ -76,7 +74,6 @@ once with CMake. **Traditional make**\ : - .. code-block:: bash cd lammps/src @@ -87,7 +84,6 @@ once with CMake. Examples: - .. code-block:: bash make no-rigid @@ -132,10 +128,8 @@ src directory. That is no longer the case, so that CMake will build as-is without the need to un-install those packages. - ---------- - **CMake shortcuts for installing many packages**\ : Instead of specifying all the CMake options via the command-line, @@ -169,7 +163,6 @@ one of them as a starting point and customize it to your needs. **Example:** - .. code-block:: bash # build LAMMPS with most commonly used packages, but then remove @@ -186,15 +179,13 @@ one of them as a starting point and customize it to your needs. # but leaving all other settings untouched. You can run: cmake -C ../cmake/presets/no_all.cmake . - ---------- - **Make shortcuts for installing many packages**\ : The following commands are useful for managing package source files and their installation when building LAMMPS via traditional make. -Just type "make" in lammps/src to see a one-line summary. +Just type ``make`` in lammps/src to see a one-line summary. These commands install/un-install sets of packages: @@ -211,8 +202,8 @@ These commands install/un-install sets of packages: make yes-ext # install packages that require external libraries make no-ext # uninstall packages that require external libraries -which install/un-install various sets of packages. Typing "make -package" will list all the these commands. +which install/un-install various sets of packages. Typing ``make +package`` will list all the these commands. .. note:: @@ -221,7 +212,7 @@ package" will list all the these commands. directory src and the sub-directories with the package name (e.g. src/KSPACE, src/USER-ATC), so that the files are included or excluded when LAMMPS is built. Only source files in the src folder will be - compiled. + compiled. The following make commands help manage files that exist in both the src directory and in package sub-directories. You do not normally @@ -229,23 +220,23 @@ need to use these commands unless you are editing LAMMPS files or are :doc:`installing a patch <Install_patch>` downloaded from the LAMMPS web site. -Type "make package-status" or "make ps" to show which packages are +Type ``make package-status`` or ``make ps`` to show which packages are currently installed. For those that are installed, it will list any files that are different in the src directory and package sub-directory. -Type "make package-installed" or "make pi" to show which packages are +Type ``make package-installed`` or ``make pi`` to show which packages are currently installed, without listing the status of packages that are not installed. -Type "make package-update" or "make pu" to overwrite src files with +Type ``make package-update`` or ``make pu`` to overwrite src files with files from the package sub-directories if the package is installed. It should be used after a :doc:`patch has been applied <Install_patch>`, since patches only update the files in the package sub-directory, but not the src files. -Type "make package-overwrite" to overwrite files in the package +Type ``make package-overwrite`` to overwrite files in the package sub-directories with src files. -Type "make package-diff" to list all differences between pairs of +Type ``make package-diff`` to list all differences between pairs of files in both the source directory and the package directory. diff --git a/doc/src/Build_settings.rst b/doc/src/Build_settings.rst index 5f835f76a0..01792507e7 100644 --- a/doc/src/Build_settings.rst +++ b/doc/src/Build_settings.rst @@ -12,12 +12,10 @@ explain how to do this for building both with CMake and make. * :ref:`Output of movie files <graphics>` via the :doc:`dump_movie <dump_image>` command * :ref:`Memory allocation alignment <align>` * :ref:`Workaround for long long integers <longlong>` -* :ref:`Error handling exceptions <exceptions>` when using LAMMPS as a library - +* :ref:`Error handling exceptions <exceptions>` when using LAMMPS as a library ---------- - .. _cxx11: C++11 standard compliance @@ -35,7 +33,6 @@ flags to enable C++11 compliance. Example for GNU c++ 4.8.x: ---------- - .. _fft: FFT library @@ -49,7 +46,6 @@ LAMMPS can use them if they are available on your system. **CMake variables**\ : - .. code-block:: bash -D FFT=value # FFTW3 or MKL or KISS, default is FFTW3 if found, else KISS @@ -69,7 +65,6 @@ OpenMP threads are enabled and a packages like KOKKOS or USER-OMP is used. If CMake cannot detect the FFT library, you can set these variables to assist: - .. code-block:: bash -D FFTW3_INCLUDE_DIRS=path # path to FFTW3 include files @@ -81,7 +76,6 @@ to assist: **Makefile.machine settings**\ : - .. code-block:: make FFT_INC = -DFFT_FFTW3 # -DFFT_FFTW3, -DFFT_FFTW (same as -DFFT_FFTW3), -DFFT_MKL, or -DFFT_KISS @@ -91,8 +85,7 @@ to assist: FFT_INC = -DFFT_MKL_THREADS # enable using threaded FFTs with MKL libraries FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY -# default is FFT\_PACK\_ARRAY if not specified - +# default is FFT_PACK_ARRAY if not specified .. code-block:: make @@ -102,14 +95,14 @@ to assist: FFT_LIB = -lfftw3 -lfftw3_omp # FFTW3 double precision with threads (needs -DFFT_FFTW_THREADS) FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler, serial interface - FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compier, serial interface + FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compiler, serial interface FFT_LIB = -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core # MKL with Intel compiler, threaded interface FFT_LIB = -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core # MKL with GNU compiler, threaded interface FFT_LIB = -lmkl_rt # MKL with automatic runtime selection of interface libs -As with CMake, you do not need to set paths in FFT\_INC or FFT\_PATH, if +As with CMake, you do not need to set paths in ``FFT_INC`` or ``FFT_PATH``, if the compiler can find the FFT header and library files in its default search path. -You must specify FFT\_LIB with the appropriate FFT libraries to include in the link. +You must specify ``FFT_LIB`` with the appropriate FFT libraries to include in the link. **CMake and make info**\ : @@ -133,14 +126,15 @@ platform and can be faster than the KISS FFT library. You can download it from `www.fftw.org <http://www.fftw.org>`_. LAMMPS requires version 3.X; the legacy version 2.1.X is no longer supported. -Building FFTW for your box should be as simple as ./configure; make; -make install. The install command typically requires root privileges +Building FFTW for your box should be as simple as ``./configure; make; +make install``\ . The install command typically requires root privileges (e.g. invoke it via sudo), unless you specify a local directory with -the "--prefix" option of configure. Type "./configure --help" to see +the "--prefix" option of configure. Type ``./configure --help`` to see various options. The Intel MKL math library is part of the Intel compiler suite. It -can be used with the Intel or GNU compiler (see FFT\_LIB setting above). +can be used with the Intel or GNU compiler (see the ``FFT_LIB`` setting +above). Performing 3d FFTs in parallel can be time consuming due to data access and required communication. This cost can be reduced by @@ -149,16 +143,15 @@ precision means the real and imaginary parts of a complex datum are 4-byte floats. Double precision means they are 8-byte doubles. Note that Fourier transform and related PPPM operations are somewhat less sensitive to floating point truncation errors and thus the resulting -error is less than the difference in precision. Using the -DFFT\_SINGLE +error is less than the difference in precision. Using the ``-DFFT_SINGLE`` setting trades off a little accuracy for reduced memory use and parallel communication costs for transposing 3d FFT data. -When using -DFFT\_SINGLE with FFTW3 you may need to build the FFTW +When using ``-DFFT_SINGLE`` with FFTW3 you may need to build the FFTW library a second time with support for single-precision. For FFTW3, do the following, which should produce the additional -library libfftw3f.a or libfftw3f.so. - +library ``libfftw3f.a`` or ``libfftw3f.so``\ . .. code-block:: bash @@ -167,15 +160,13 @@ library libfftw3f.a or libfftw3f.so. Performing 3d FFTs requires communication to transpose the 3d FFT grid. The data packing/unpacking for this can be done in one of 3 -modes (ARRAY, POINTER, MEMCPY) as set by the FFT\_PACK syntax above. +modes (ARRAY, POINTER, MEMCPY) as set by the FFT_PACK syntax above. Depending on the machine, the size of the FFT grid, the number of processors used, one option may be slightly faster. The default is ARRAY mode. - ---------- - .. _size: Size of LAMMPS data types @@ -187,19 +178,18 @@ adequate. **CMake variable**\ : - .. code-block:: bash -D LAMMPS_SIZES=value # smallbig (default) or bigbig or smallsmall **Makefile.machine setting**\ : - .. code-block:: make LMP_INC = -DLAMMPS_SMALLBIG # or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL -# default is LAMMPS\_SMALLBIG if not specified +The default setting is ``-DLAMMPS_SMALLBIG`` if nothing is specified + **CMake and make info**\ : The default "smallbig" setting allows for simulations with: @@ -247,12 +237,10 @@ than crashing randomly or corrupting data. Also note that the GPU package requires its lib/gpu library to be compiled with the same size setting, or the link will fail. A CMake build does this automatically. When building with make, the setting -in whichever lib/gpu/Makefile is used must be the same as above. - +in whichever ``lib/gpu/Makefile`` is used must be the same as above. ---------- - .. _graphics: Output of JPG, PNG, and movie files @@ -265,7 +253,6 @@ following settings: **CMake variables**\ : - .. code-block:: bash -D WITH_JPEG=value # yes or no @@ -279,7 +266,6 @@ Usually these settings are all that is needed. If CMake cannot find the graphics header, library, executable files, you can set these variables: - .. code-block:: bash -D JPEG_INCLUDE_DIR=path # path to jpeglib.h header file @@ -292,7 +278,6 @@ variables: **Makefile.machine settings**\ : - .. code-block:: make LMP_INC = -DLAMMPS_JPEG @@ -303,15 +288,16 @@ variables: JPG_PATH = -L/usr/lib # paths to libjpeg.a, libpng.a, libz.a (.so) files if make cannot find them JPG_LIB = -ljpeg -lpng -lz # library names -As with CMake, you do not need to set JPG\_INC or JPG\_PATH, if make can -find the graphics header and library files. You must specify JPG\_LIB +As with CMake, you do not need to set ``JPG_INC`` or ``JPG_PATH``, +if make can find the graphics header and library files. You must +specify ``JPG_LIB`` with a list of graphics libraries to include in the link. You must insure ffmpeg is in a directory where LAMMPS can find it at runtime, that is a directory in your PATH environment variable. **CMake and make info**\ : -Using ffmpeg to output movie files requires that your machine +Using ``ffmpeg`` to output movie files requires that your machine supports the "popen" function in the standard runtime library. .. note:: @@ -321,10 +307,8 @@ supports the "popen" function in the standard runtime library. communication library and lead to simulations using ffmpeg to hang or crash. - ---------- - .. _gzip: Read or write compressed files @@ -336,7 +320,6 @@ gzip compression by several LAMMPS commands, including **CMake variables**\ : - .. code-block:: bash -D WITH_GZIP=value # yes or no @@ -345,7 +328,6 @@ gzip compression by several LAMMPS commands, including **Makefile.machine setting**\ : - .. code-block:: make LMP_INC = -DLAMMPS_GZIP @@ -365,16 +347,14 @@ found by LAMMPS during a run. I/O is also available using a compression library instead, which is what the :ref:`COMPRESS package <PKG-COMPRESS>` enables. - ---------- - .. _align: Memory allocation alignment --------------------------------------- -This setting enables the use of the posix\_memalign() call instead of +This setting enables the use of the posix_memalign() call instead of malloc() when LAMMPS allocates large chunks or memory. This can make vector instructions on CPUs more efficient, if dynamically allocated memory is aligned on larger-than-default byte boundaries. @@ -385,33 +365,29 @@ aligned on 64-byte boundaries. **CMake variable**\ : - .. code-block:: bash -D LAMMPS_MEMALIGN=value # 0, 8, 16, 32, 64 (default) -Use a LAMMPS\_MEMALIGN value of 0 to disable using posix\_memalign() +Use a ``LAMMPS_MEMALIGN`` value of 0 to disable using posix_memalign() and revert to using the malloc() C-library function instead. When compiling LAMMPS for Windows systems, malloc() will always be used and this setting ignored. **Makefile.machine setting**\ : - .. code-block:: make LMP_INC = -DLAMMPS_MEMALIGN=value # 8, 16, 32, 64 -Do not set -DLAMMPS\_MEMALIGN, if you want to have memory allocated -with the malloc() function call instead. -DLAMMPS\_MEMALIGN **cannot** +Do not set ``-DLAMMPS_MEMALIGN``, if you want to have memory allocated +with the malloc() function call instead. ``-DLAMMPS_MEMALIGN`` **cannot** be used on Windows, as it does use different function calls for allocating aligned memory, that are not compatible with how LAMMPS manages its dynamical memory. - ---------- - .. _longlong: Workaround for long long integers @@ -424,22 +400,18 @@ those systems: **CMake variable**\ : - .. code-block:: bash -D LAMMPS_LONGLONG_TO_LONG=value # yes or no (default) **Makefile.machine setting**\ : - .. code-block:: make LMP_INC = -DLAMMPS_LONGLONG_TO_LONG - ---------- - .. _exceptions: Exception handling when using LAMMPS as a library @@ -453,14 +425,12 @@ e.g. to Python. Of course the calling code has to be set up to **CMake variable**\ : - .. code-block:: bash -D LAMMPS_EXCEPTIONS=value # yes or no (default) **Makefile.machine setting**\ : - .. code-block:: make LMP_INC = -DLAMMPS_EXCEPTIONS diff --git a/doc/src/Build_windows.rst b/doc/src/Build_windows.rst index 264e4bf44f..2b7bd27209 100644 --- a/doc/src/Build_windows.rst +++ b/doc/src/Build_windows.rst @@ -6,10 +6,8 @@ Notes for building LAMMPS on Windows * :ref:`Using GNU GCC ported to Windows <gnu>` * :ref:`Using a cross-compiler <cross>` - ---------- - .. _generic: General remarks @@ -57,8 +55,8 @@ and the corresponding new code. A machine makefile for using cygwin for the old build system is provided. Using CMake for this mode of compilation is untested and not likely to work. -When compiling for Windows do **not** set the -DLAMMPS\_MEMALIGN define -in the LMP\_INC makefile variable and add -lwsock32 -lpsapi to the linker +When compiling for Windows do **not** set the -DLAMMPS_MEMALIGN define +in the LMP_INC makefile variable and add -lwsock32 -lpsapi to the linker flags in LIB makefile variable. Try adding -static-libgcc or -static or both to the linker flags when your resulting LAMMPS Windows executable complains about missing .dll files. The CMake configuration should set diff --git a/doc/src/Commands.rst b/doc/src/Commands.rst index f192d6a59d..72a98159ff 100644 --- a/doc/src/Commands.rst +++ b/doc/src/Commands.rst @@ -4,7 +4,6 @@ Commands These pages describe how a LAMMPS input script is formatted and the commands in it are used to define a LAMMPS simulation. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Commands_bond.rst b/doc/src/Commands_bond.rst index 19be6d8cbc..0cb1b723b8 100644 --- a/doc/src/Commands_bond.rst +++ b/doc/src/Commands_bond.rst @@ -99,7 +99,6 @@ have accelerated versions. This is indicated by additional letters in parenthesis: g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. - .. table_from_list:: :columns: 4 diff --git a/doc/src/Commands_input.rst b/doc/src/Commands_input.rst index 69d3393d08..f8de98c1a2 100644 --- a/doc/src/Commands_input.rst +++ b/doc/src/Commands_input.rst @@ -16,7 +16,6 @@ simulation with all the settings. Rather, the input script is read one line at a time and each command takes effect when it is read. Thus this sequence of commands: - .. code-block:: LAMMPS timestep 0.5 @@ -25,7 +24,6 @@ Thus this sequence of commands: does something different than this sequence: - .. code-block:: LAMMPS run 100 @@ -48,7 +46,7 @@ is to have the desired effect. For example, the :doc:`read_data <read_data>` command initializes the system by setting up the simulation box and assigning atoms to processors. If default values are not desired, the :doc:`processors <processors>` and -:doc:`boundary <boundary>` commands need to be used before read\_data to +:doc:`boundary <boundary>` commands need to be used before read_data to tell LAMMPS how to map processors to the simulation box. Many input script errors are detected by LAMMPS and an ERROR or diff --git a/doc/src/Commands_parse.rst b/doc/src/Commands_parse.rst index 83e7d439ef..37283823d7 100644 --- a/doc/src/Commands_parse.rst +++ b/doc/src/Commands_parse.rst @@ -86,7 +86,6 @@ LAMMPS: This can be useful for formatting print output to a desired precision: - .. code-block:: LAMMPS print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom" @@ -102,7 +101,7 @@ LAMMPS: print "B2 = ${b$a}" Nor can you specify an expression like "$($x-1.0)" for an immediate - variable, but you could use $(v\_x-1.0), since the latter is valid + variable, but you could use $(v_x-1.0), since the latter is valid syntax for an :doc:`equal-style variable <variable>`. See the :doc:`variable <variable>` command for more details of how @@ -116,7 +115,7 @@ LAMMPS: underscores, or punctuation characters. .. _five: - + 5. The first word is the command name. All successive words in the line are arguments. diff --git a/doc/src/Commands_structure.rst b/doc/src/Commands_structure.rst index 9b5a466340..98744efb2a 100644 --- a/doc/src/Commands_structure.rst +++ b/doc/src/Commands_structure.rst @@ -9,7 +9,7 @@ page. A LAMMPS input script typically has 4 parts: 1. :ref:`Initialization <init>` -2. :ref:`System definition <system>` +2. :ref:`System definition <system>` 3. :ref:`Simulation settings <settings>` 4. :ref:`Run a simulation <run>` diff --git a/doc/src/Errors.rst b/doc/src/Errors.rst index 9c53467719..896dfbcbef 100644 --- a/doc/src/Errors.rst +++ b/doc/src/Errors.rst @@ -7,7 +7,6 @@ and warnings doc pages give complete lists of all the messages the code may generate (except those generated by USER packages), with additional details for many of them. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Errors_bugs.rst b/doc/src/Errors_bugs.rst index 6cb313db97..e169b93d81 100644 --- a/doc/src/Errors_bugs.rst +++ b/doc/src/Errors_bugs.rst @@ -4,7 +4,7 @@ Reporting bugs If you are confident that you have found a bug in LAMMPS, please follow the steps outlined below: * Check the `New features and bug fixes - <http://lammps.sandia.gov/bug.html>`_ section of the `LAMMPS WWW site + <https://lammps.sandia.gov/bug.html>`_ section of the `LAMMPS WWW site <lws_>`_ to see if the bug has already been addressed in a patch. * Check that your issue can be reproduced with the latest development version of LAMMPS. @@ -14,7 +14,7 @@ If you are confident that you have found a bug in LAMMPS, please follow the step if your issue has already been reported and if it is still open. * Check the `GitHub Pull Requests page <https://github.com/lammps/pulls>`_ if there is already a fix for your bug pending. - * Check the `mailing list archives <http://lammps.sandia.gov/mail.html>`_ + * Check the `mailing list archives <https://lammps.sandia.gov/mail.html>`_ to see if the issue has been discussed before. If none of these steps yields any useful information, please file @@ -41,5 +41,5 @@ is overlooked and then forgotten. Issues on GitHub have to be explicitly closed, so that will *guarantee* that at least one LAMMPS developer will have looked at it. -.. _lws: http://lammps.sandia.gov +.. _lws: https://lammps.sandia.gov .. _gip: https://github.com/lammps/issues diff --git a/doc/src/Errors_common.rst b/doc/src/Errors_common.rst index b8832d8f34..603952a29d 100644 --- a/doc/src/Errors_common.rst +++ b/doc/src/Errors_common.rst @@ -39,7 +39,7 @@ figure out your physics or numerical mistakes, like choosing too big a timestep, specifying erroneous force field coefficients, or putting 2 atoms on top of each other! If you run into errors that LAMMPS doesn't catch that you think it should flag, please send an email to -the `developers <http://lammps.sandia.gov/authors.html>`_. +the `developers <https://lammps.sandia.gov/authors.html>`_. If you get an error message about an invalid command in your input script, you can determine what command is causing the problem by @@ -63,25 +63,23 @@ is an integer or floating-point number, respectively, and reject the input with an error message (for instance, when an integer is required, but a floating-point number 1.0 is provided): - .. parsed-literal:: ERROR: Expected integer parameter instead of '1.0' in input script or data file Some commands allow for using variable references in place of numeric constants so that the value can be evaluated and may change over the -course of a run. This is typically done with the syntax *v\_name* for a +course of a run. This is typically done with the syntax *v_name* for a parameter, where name is the name of the variable. On the other hand, -immediate variable expansion with the syntax $\ *name* is performed while +immediate variable expansion with the syntax ${name} is performed while reading the input and before parsing commands, .. note:: - Using a variable reference (i.e. *v\_name*) is only allowed if + Using a variable reference (i.e. *v_name*) is only allowed if the documentation of the corresponding command explicitly says it is. Otherwise, you will receive an error message of this kind: - .. parsed-literal:: ERROR: Expected floating point parameter instead of 'v_name' in input script or data file diff --git a/doc/src/Errors_messages.rst b/doc/src/Errors_messages.rst index 4b9622154a..23a4d333b9 100644 --- a/doc/src/Errors_messages.rst +++ b/doc/src/Errors_messages.rst @@ -7,7 +7,6 @@ documentation for the offending command may help. Error messages also list the source file and line number where the error was generated. For example, a message like this: - .. parsed-literal:: ERROR: Illegal velocity command (velocity.cpp:78) @@ -21,12 +20,8 @@ code or contact the author of the package. Doc page with :doc:`WARNING messages <Errors_warnings>` - ---------- - - - *1-3 bond count is inconsistent* An inconsistency was detected when computing the number of 1-3 neighbors for each atom. This likely means something is wrong with @@ -44,9 +39,9 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *All angle coeffs are not set* All angle coefficients must be set in the data file or by the - angle\_coeff command before running a simulation. + angle_coeff command before running a simulation. -*All atom IDs = 0 but atom\_modify id = yes* +*All atom IDs = 0 but atom_modify id = yes* Self-explanatory. *All atoms of a swapped type must have same charge.* @@ -57,15 +52,15 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *All bond coeffs are not set* All bond coefficients must be set in the data file or by the - bond\_coeff command before running a simulation. + bond_coeff command before running a simulation. *All dihedral coeffs are not set* All dihedral coefficients must be set in the data file or by the - dihedral\_coeff command before running a simulation. + dihedral_coeff command before running a simulation. *All improper coeffs are not set* All improper coefficients must be set in the data file or by the - improper\_coeff command before running a simulation. + improper_coeff command before running a simulation. *All masses are not set* For atom styles that define masses for each atom type, all masses must @@ -81,9 +76,9 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *All pair coeffs are not set* All pair coefficients must be set in the data file or by the - pair\_coeff command before running a simulation. + pair_coeff command before running a simulation. -*All read\_dump x,y,z fields must be specified for scaled, triclinic coords* +*All read_dump x,y,z fields must be specified for scaled, triclinic coords* For triclinic boxes and scaled coordinates you must specify all 3 of the x,y,z fields, else LAMMPS cannot reconstruct the unscaled coordinates. @@ -94,8 +89,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *All variables in next command must be same style* Self-explanatory. -*Angle atom missing in delete\_bonds* - The delete\_bonds command cannot find one or more atoms in a particular +*Angle atom missing in delete_bonds* + The delete_bonds command cannot find one or more atoms in a particular angle on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid angle. @@ -118,20 +113,20 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Angle coeff for hybrid has invalid style* Angle style hybrid uses another angle style as one of its - coefficients. The angle style used in the angle\_coeff command or read + coefficients. The angle style used in the angle_coeff command or read from a restart file is not recognized. *Angle coeffs are not set* No angle coefficients have been assigned in the data file or via the - angle\_coeff command. + angle_coeff command. *Angle extent > half of periodic box length* - This error was detected by the neigh\_modify check yes setting. It is + This error was detected by the neigh_modify check yes setting. It is an error because the angle atoms are so far apart it is ambiguous how it should be defined. *Angle potential must be defined for SHAKE* - When shaking angles, an angle\_style potential must be used. + When shaking angles, an angle_style potential must be used. *Angle style hybrid cannot have hybrid as an argument* Self-explanatory. @@ -148,18 +143,18 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Angle table parameters did not set N* List of angle table parameters must include N setting. -*Angle\_coeff command before angle\_style is defined* - Coefficients cannot be set in the data file or via the angle\_coeff - command until an angle\_style has been assigned. +*Angle_coeff command before angle_style is defined* + Coefficients cannot be set in the data file or via the angle_coeff + command until an angle_style has been assigned. -*Angle\_coeff command before simulation box is defined* - The angle\_coeff command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Angle_coeff command before simulation box is defined* + The angle_coeff command cannot be used before a read_data, + read_restart, or create_box command. -*Angle\_coeff command when no angles allowed* +*Angle_coeff command when no angles allowed* The chosen atom style does not allow for angles to be defined. -*Angle\_style command when no angles allowed* +*Angle_style command when no angles allowed* The chosen atom style does not allow for angles to be defined. *Angles assigned incorrectly* @@ -216,7 +211,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` This is probably because you have lost some atoms. *Atom in too many rigid bodies - boost MAXBODY* - Fix poems has a parameter MAXBODY (in fix\_poems.cpp) which determines + Fix poems has a parameter MAXBODY (in fix_poems.cpp) which determines the maximum number of rigid bodies a single atom can belong to (i.e. a multibody joint). The bodies you have defined exceed this limit. @@ -247,25 +242,25 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Atom-style variables generate one value per atom which is not allowed in an equal-style variable. -*Atom\_modify id command after simulation box is defined* - The atom\_modify id command cannot be used after a read\_data, - read\_restart, or create\_box command. +*Atom_modify id command after simulation box is defined* + The atom_modify id command cannot be used after a read_data, + read_restart, or create_box command. -*Atom\_modify map command after simulation box is defined* - The atom\_modify map command cannot be used after a read\_data, - read\_restart, or create\_box command. +*Atom_modify map command after simulation box is defined* + The atom_modify map command cannot be used after a read_data, + read_restart, or create_box command. -*Atom\_modify sort and first options cannot be used together* +*Atom_modify sort and first options cannot be used together* Self-explanatory. -*Atom\_style command after simulation box is defined* - The atom\_style command cannot be used after a read\_data, - read\_restart, or create\_box command. +*Atom_style command after simulation box is defined* + The atom_style command cannot be used after a read_data, + read_restart, or create_box command. -*Atom\_style line can only be used in 2d simulations* +*Atom_style line can only be used in 2d simulations* Self-explanatory. -*Atom\_style tri can only be used in 3d simulations* +*Atom_style tri can only be used in 3d simulations* Self-explanatory. *Atomfile variable could not read values* @@ -306,17 +301,17 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Specified bond type is not valid. *Bad fix ID in fix append/atoms command* - The value of the fix\_id for keyword spatial must start with 'f\_'. + The value of the fix_id for keyword spatial must start with "f\_". *Bad grid of processors* The 3d grid of processors defined by the processors command does not match the number of processors LAMMPS is being run on. -*Bad kspace\_modify kmax/ewald parameter* - Kspace\_modify values for the kmax/ewald keyword must be integers > 0 +*Bad kspace_modify kmax/ewald parameter* + Kspace_modify values for the kmax/ewald keyword must be integers > 0 -*Bad kspace\_modify slab parameter* - Kspace\_modify value for the slab/volume keyword must be >= 2.0. +*Bad kspace_modify slab parameter* + Kspace_modify value for the slab/volume keyword must be >= 2.0. *Bad matrix inversion in mldivide3* This error should not occur unless the matrix is badly formed. @@ -336,16 +331,16 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` the Newton-Rhaphson method, but found a non-positive or NaN cutoff *Balance command before simulation box is defined* - The balance command cannot be used before a read\_data, read\_restart, - or create\_box command. + The balance command cannot be used before a read_data, read_restart, + or create_box command. *Balance produced bad splits* This should not occur. It means two or more cutting plane locations are on top of each other or out of order. Report the problem to the developers. -*Balance rcb cannot be used with comm\_style brick* - Comm\_style tiled must be used instead. +*Balance rcb cannot be used with comm_style brick* + Comm_style tiled must be used instead. *Balance shift string is invalid* The string can only contain the characters "x", "y", or "z". @@ -372,10 +367,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Bitmapped lookup tables require int/float be same size* Cannot use pair tables on this machine, because of word sizes. Use - the pair\_modify command with table 0 instead. + the pair_modify command with table 0 instead. *Bitmapped table in file does not match requested table* - Setting for bitmapped table in pair\_coeff command must match table + Setting for bitmapped table in pair_coeff command must match table in file exactly. *Bitmapped table is incorrect length in table file* @@ -390,8 +385,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` processor. Typically this is because the pairwise cutoff is set too short or the bond has blown apart and an atom is too far away. -*Bond atom missing in delete\_bonds* - The delete\_bonds command cannot find one or more atoms in a particular +*Bond atom missing in delete_bonds* + The delete_bonds command cannot find one or more atoms in a particular bond on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid bond. @@ -417,15 +412,15 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Bond coeff for hybrid has invalid style* Bond style hybrid uses another bond style as one of its coefficients. - The bond style used in the bond\_coeff command or read from a restart + The bond style used in the bond_coeff command or read from a restart file is not recognized. *Bond coeffs are not set* No bond coefficients have been assigned in the data file or via the - bond\_coeff command. + bond_coeff command. *Bond extent > half of periodic box length* - This error was detected by the neigh\_modify check yes setting. It is + This error was detected by the neigh_modify check yes setting. It is an error because the bond atoms are so far apart it is ambiguous how it should be defined. @@ -449,7 +444,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` This bond style can change the bond topology which is not allowed with this atom style. -*Bond style quartic requires special\_bonds = 1,1,1* +*Bond style quartic requires special_bonds = 1,1,1* This is a restriction of the current bond quartic implementation. *Bond table parameters did not set N* @@ -464,18 +459,18 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *BondBond coeff for hybrid angle has invalid format* No "bb" field should appear in data file entry. -*Bond\_coeff command before bond\_style is defined* - Coefficients cannot be set in the data file or via the bond\_coeff - command until an bond\_style has been assigned. +*Bond_coeff command before bond_style is defined* + Coefficients cannot be set in the data file or via the bond_coeff + command until an bond_style has been assigned. -*Bond\_coeff command before simulation box is defined* - The bond\_coeff command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Bond_coeff command before simulation box is defined* + The bond_coeff command cannot be used before a read_data, + read_restart, or create_box command. -*Bond\_coeff command when no bonds allowed* +*Bond_coeff command when no bonds allowed* The chosen atom style does not allow for bonds to be defined. -*Bond\_style command when no bonds allowed* +*Bond_style command when no bonds allowed* The chosen atom style does not allow for bonds to be defined. *Bonds assigned incorrectly* @@ -486,7 +481,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` The data file header lists bonds but no bond types. *Bond/react: Cannot use fix bond/react with non-molecular systems* - Only systems with bonds that can be changed can be used. Atom\_style + Only systems with bonds that can be changed can be used. Atom_style template does not qualify. *Bond/react: Invalid template atom ID in map file* @@ -518,7 +513,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Bond/react: Fix bond/react needs ghost atoms from farther away* This is because a processor needs to map the entire unreacted molecule template onto simulation atoms it knows about. The - comm\_modify cutoff command can be used to extend the communication + comm_modify cutoff command can be used to extend the communication range. *Bond/react: A deleted atom cannot remain bonded to an atom that is not deleted* @@ -536,12 +531,12 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Bond/react special bond generation overflow* The number of special bonds per-atom created by a reaction exceeds the - system setting. See the read\_data or create\_box command for how to + system setting. See the read_data or create_box command for how to specify this value. *Bond/react topology/atom exceed system topology/atom* The number of bonds, angles etc per-atom created by a reaction exceeds - the system setting. See the read\_data or create\_box command for how to + the system setting. See the read_data or create_box command for how to specify this value. *Both restart files must use % or neither* @@ -555,16 +550,16 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` be periodic on both sides. *Boundary command after simulation box is defined* - The boundary command cannot be used after a read\_data, read\_restart, - or create\_box command. + The boundary command cannot be used after a read_data, read_restart, + or create_box command. *Box bounds are invalid* - The box boundaries specified in the read\_data file are invalid. The + The box boundaries specified in the read_data file are invalid. The lo value must be less than the hi value for all 3 dimensions. *Box command after simulation box is defined* - The box command cannot be used after a read\_data, read\_restart, or - create\_box command. + The box command cannot be used after a read_data, read_restart, or + create_box command. *CPU neighbor lists must be used for ellipsoid/sphere mix.* When using Gay-Berne or RE-squared pair styles with both ellipsoidal and @@ -614,7 +609,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot (yet) use PPPM with triclinic box and TIP4P* This feature is not yet supported. -*Cannot (yet) use PPPM with triclinic box and kspace\_modify diff ad* +*Cannot (yet) use PPPM with triclinic box and kspace_modify diff ad* This feature is not yet supported. *Cannot (yet) use PPPM with triclinic box and slab correction* @@ -623,10 +618,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot (yet) use kspace slab correction with long-range dipoles and non-neutral systems or per-atom energy* This feature is not yet supported. -*Cannot (yet) use kspace\_modify diff ad with compute group/group* +*Cannot (yet) use kspace_modify diff ad with compute group/group* This option is not yet supported. -*Cannot (yet) use kspace\_style pppm/stagger with triclinic systems* +*Cannot (yet) use kspace_style pppm/stagger with triclinic systems* This feature is not yet supported. *Cannot (yet) use molecular templates with Kokkos* @@ -641,7 +636,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot (yet) use rigid bodies with fix nh and Kokkos* Self-explanatory. -*Cannot (yet) use single precision with MSM (remove -DFFT\_SINGLE from Makefile and re-compile)* +*Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and re-compile)* Single precision cannot be used with MSM. *Cannot add atoms to fix move variable* @@ -673,10 +668,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot change box z boundary to non-periodic for a 2d simulation* Self-explanatory. -*Cannot change dump\_modify every for dump dcd* +*Cannot change dump_modify every for dump dcd* The frequency of writing dump dcd snapshots cannot be changed. -*Cannot change dump\_modify every for dump xtc* +*Cannot change dump_modify every for dump xtc* The frequency of writing dump xtc snapshots cannot be changed. *Cannot change timestep once fix srd is setup* @@ -687,18 +682,18 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` This is because fix pour pre-computes the time delay for particles to fall out of the insertion volume due to gravity. -*Cannot change to comm\_style brick from tiled layout* +*Cannot change to comm_style brick from tiled layout* Self-explanatory. -*Cannot change\_box after reading restart file with per-atom info* +*Cannot change_box after reading restart file with per-atom info* This is because the restart file info cannot be migrated with the atoms. You can get around this by performing a 0-timestep run which will assign the restart file info to actual atoms. -*Cannot change\_box in xz or yz for 2d simulation* +*Cannot change_box in xz or yz for 2d simulation* Self-explanatory. -*Cannot change\_box in z dimension for 2d simulation* +*Cannot change_box in z dimension for 2d simulation* Self-explanatory. *Cannot clear group all* @@ -708,8 +703,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` This error was generated by MPI when reading/writing an MPI-IO restart file. -*Cannot compute initial g\_ewald\_disp* - LAMMPS failed to compute an initial guess for the PPPM\_disp g\_ewald\_6 +*Cannot compute initial g_ewald_disp* + LAMMPS failed to compute an initial guess for the PPPM_disp g_ewald_6 factor that partitions the computation between real space and k-space for Dispersion interactions. @@ -718,19 +713,19 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` but the atoms that have been defined have no IDs. *Cannot create atoms with undefined lattice* - Must use the lattice command before using the create\_atoms + Must use the lattice command before using the create_atoms command. *Cannot create/grow a vector/array of pointers for %s* LAMMPS code is making an illegal call to the templated memory allocaters, to create a vector or array of pointers. -*Cannot create\_atoms after reading restart file with per-atom info* +*Cannot create_atoms after reading restart file with per-atom info* The per-atom info was stored to be used when by a fix that you may re-define. If you add atoms before re-defining the fix, then there will not be a correct amount of per-atom info. -*Cannot create\_box after simulation box is defined* +*Cannot create_box after simulation box is defined* A simulation box can only be defined once. *Cannot currently use pair reax with pair hybrid* @@ -751,24 +746,24 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot delete group currently used by a fix* Self-explanatory. -*Cannot delete group currently used by atom\_modify first* +*Cannot delete group currently used by atom_modify first* Self-explanatory. -*Cannot delete\_atoms bond yes for non-molecular systems* +*Cannot delete_atoms bond yes for non-molecular systems* Self-explanatory. -*Cannot displace\_atoms after reading restart file with per-atom info* +*Cannot displace_atoms after reading restart file with per-atom info* This is because the restart file info cannot be migrated with the atoms. You can get around this by performing a 0-timestep run which will assign the restart file info to actual atoms. -*Cannot do GCMC on atoms in atom\_modify first group* +*Cannot do GCMC on atoms in atom_modify first group* This is a restriction due to the way atoms are organized in a list to - enable the atom\_modify first command. + enable the atom_modify first command. -*Cannot do atom/swap on atoms in atom\_modify first group* +*Cannot do atom/swap on atoms in atom_modify first group* This is a restriction due to the way atoms are organized in a list to - enable the atom\_modify first command. + enable the atom_modify first command. *Cannot dump sort on atom IDs with no atom IDs defined* Self-explanatory. @@ -781,15 +776,15 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` When running LAMMPS via Python through the LAMMPS library interface you cannot also user the input script python command. -*Cannot evaporate atoms in atom\_modify first group* +*Cannot evaporate atoms in atom_modify first group* This is a restriction due to the way atoms are organized in - a list to enable the atom\_modify first command. + a list to enable the atom_modify first command. -*Cannot find create\_bonds group ID* +*Cannot find create_bonds group ID* Self-explanatory. -*Cannot find delete\_bonds group ID* - Group ID used in the delete\_bonds command does not exist. +*Cannot find delete_bonds group ID* + Group ID used in the delete_bonds command does not exist. *Cannot find specified group ID for core particles* Self-explanatory. @@ -797,7 +792,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot find specified group ID for shell particles* Self-explanatory. -*Cannot have both pair\_modify shift and tail set to yes* +*Cannot have both pair_modify shift and tail set to yes* These 2 options are contradictory. *Cannot intersect groups using a dynamic group* @@ -963,7 +958,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot open gzipped file* LAMMPS was compiled without support for reading and writing gzipped - files through a pipeline to the gzip program with -DLAMMPS\_GZIP. + files through a pipeline to the gzip program with -DLAMMPS_GZIP. *Cannot open input script %s* Self-explanatory. @@ -994,7 +989,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` The specified potential file cannot be opened. Check that the path and name are correct. -*Cannot open pair\_write file* +*Cannot open pair_write file* The specified output file for pair energies and forces cannot be opened. Check that the path and name are correct. @@ -1041,12 +1036,12 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` This error was generated by MPI when reading/writing an MPI-IO restart file. -*Cannot read\_data without add keyword after simulation box is defined* +*Cannot read_data without add keyword after simulation box is defined* Self-explanatory. -*Cannot read\_restart after simulation box is defined* - The read\_restart command cannot be used after a read\_data, - read\_restart, or create\_box command. +*Cannot read_restart after simulation box is defined* + The read_restart command cannot be used after a read_data, + read_restart, or create_box command. *Cannot redefine variable as a different style* An equal-style variable can be re-defined but only if it was @@ -1091,7 +1086,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot set dpd/theta for this atom style* Self-explanatory. -*Cannot set dump\_modify flush for dump xtc* +*Cannot set dump_modify flush for dump xtc* Self-explanatory. *Cannot set mass for this atom style* @@ -1167,7 +1162,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot use Ewald with 2d simulation* The kspace style ewald cannot be used in 2d simulations. You can use - 2d Ewald in a 3d simulation; see the kspace\_modify command. + 2d Ewald in a 3d simulation; see the kspace_modify command. *Cannot use Ewald/disp solver on system with no charge, dipole, or LJ particles* No atoms in system have a non-zero charge or dipole, or are LJ @@ -1181,21 +1176,21 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Self-explanatory. *Cannot use NEB unless atom map exists* - Use the atom\_modify command to create an atom map. + Use the atom_modify command to create an atom map. *Cannot use NEB with a single replica* Self-explanatory. -*Cannot use NEB with atom\_modify sort enabled* +*Cannot use NEB with atom_modify sort enabled* This is current restriction for NEB implemented in LAMMPS. *Cannot use PPPM with 2d simulation* The kspace style pppm cannot be used in 2d simulations. You can use - 2d PPPM in a 3d simulation; see the kspace\_modify command. + 2d PPPM in a 3d simulation; see the kspace_modify command. *Cannot use PPPMDisp with 2d simulation* The kspace style pppm/disp cannot be used in 2d simulations. You can - use 2d pppm/disp in a 3d simulation; see the kspace\_modify command. + use 2d pppm/disp in a 3d simulation; see the kspace_modify command. *Cannot use PRD with a changing box* The current box dimensions are not copied between replicas @@ -1206,20 +1201,20 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot use PRD with a time-dependent region defined* PRD alters the timestep in ways that will mess up these regions. -*Cannot use PRD with atom\_modify sort enabled* +*Cannot use PRD with atom_modify sort enabled* This is a current restriction of PRD. You must turn off sorting, - which is enabled by default, via the atom\_modify command. + which is enabled by default, via the atom_modify command. *Cannot use PRD with multi-processor replicas unless atom map exists* - Use the atom\_modify command to create an atom map. + Use the atom_modify command to create an atom map. *Cannot use TAD unless atom map exists for NEB* - See atom\_modify map command to set this. + See atom_modify map command to set this. *Cannot use TAD with a single replica for NEB* NEB requires multiple replicas. -*Cannot use TAD with atom\_modify sort enabled for NEB* +*Cannot use TAD with atom_modify sort enabled for NEB* This is a current restriction of NEB. *Cannot use a damped dynamics min style with fix box/relax* @@ -1235,7 +1230,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` type p (periodic). *Cannot use atomfile-style variable unless atom map exists* - Self-explanatory. See the atom\_modify command to create a map. + Self-explanatory. See the atom_modify command to create a map. *Cannot use both com and bias with compute temp/chunk* Self-explanatory. @@ -1327,34 +1322,34 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot use compute cluster/atom unless atoms have IDs* Atom IDs are used to identify clusters. -*Cannot use create\_atoms rotate unless single style* +*Cannot use create_atoms rotate unless single style* Self-explanatory. -*Cannot use create\_bonds unless atoms have IDs* +*Cannot use create_bonds unless atoms have IDs* This command requires a mapping from global atom IDs to local atoms, but the atoms that have been defined have no IDs. -*Cannot use create\_bonds with non-molecular system* +*Cannot use create_bonds with non-molecular system* Self-explanatory. *Cannot use cwiggle in variable formula between runs* This is a function of elapsed time. -*Cannot use delete\_atoms bond yes with atom\_style template* +*Cannot use delete_atoms bond yes with atom_style template* This is because the bonds for that atom style are hardwired in the molecule template. -*Cannot use delete\_atoms unless atoms have IDs* - Your atoms do not have IDs, so the delete\_atoms command cannot be +*Cannot use delete_atoms unless atoms have IDs* + Your atoms do not have IDs, so the delete_atoms command cannot be used. -*Cannot use delete\_bonds with non-molecular system* +*Cannot use delete_bonds with non-molecular system* Your choice of atom style does not have bonds. -*Cannot use dump\_modify fileper without % in dump file name* +*Cannot use dump_modify fileper without % in dump file name* Self-explanatory. -*Cannot use dump\_modify nfile without % in dump file name* +*Cannot use dump_modify nfile without % in dump file name* Self-explanatory. *Cannot use dynamic group with fix adapt atom* @@ -1363,19 +1358,19 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot use fix TMD unless atom map exists* Using this fix requires the ability to lookup an atom index, which is provided by an atom map. An atom map does not exist (by default) for - non-molecular problems. Using the atom\_modify map command will force + non-molecular problems. Using the atom_modify map command will force an atom map to be created. *Cannot use fix bond/break with non-molecular systems* - Only systems with bonds that can be changed can be used. Atom\_style + Only systems with bonds that can be changed can be used. Atom_style template does not qualify. *Cannot use fix bond/create with non-molecular systems* - Only systems with bonds that can be changed can be used. Atom\_style + Only systems with bonds that can be changed can be used. Atom_style template does not qualify. *Cannot use fix bond/swap with non-molecular systems* - Only systems with bonds that can be changed can be used. Atom\_style + Only systems with bonds that can be changed can be used. Atom_style template does not qualify. *Cannot use fix box/relax on a 2nd non-periodic dimension* @@ -1482,7 +1477,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot use fix press/berendsen with triclinic box* Self-explanatory. -*Cannot use fix reax/bonds without pair\_style reax* +*Cannot use fix reax/bonds without pair_style reax* Self-explanatory. *Cannot use fix rigid npt/nph and fix deform on same component of stress tensor* @@ -1536,10 +1531,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot use fix wall/srd zlo/zhi for a 2d simulation* Self-explanatory. -*Cannot use fix\_deposit unless atoms have IDs* +*Cannot use fix_deposit unless atoms have IDs* Self-explanatory. -*Cannot use fix\_pour unless atoms have IDs* +*Cannot use fix_pour unless atoms have IDs* Self-explanatory. *Cannot use include command within an if command* @@ -1560,7 +1555,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot use multiple fix wall commands with pair lubricateU* Self-explanatory. -*Cannot use neigh\_modify exclude with GPU neighbor builds* +*Cannot use neigh_modify exclude with GPU neighbor builds* This is a current limitation of the GPU implementation in LAMMPS. @@ -1710,22 +1705,22 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot use non-periodic boundaries with Ewald* For kspace style ewald, all 3 dimensions must have periodic boundaries - unless you use the kspace\_modify command to define a 2d slab with a + unless you use the kspace_modify command to define a 2d slab with a non-periodic z dimension. *Cannot use non-periodic boundaries with EwaldDisp* For kspace style ewald/disp, all 3 dimensions must have periodic - boundaries unless you use the kspace\_modify command to define a 2d + boundaries unless you use the kspace_modify command to define a 2d slab with a non-periodic z dimension. *Cannot use non-periodic boundaries with PPPM* For kspace style pppm, all 3 dimensions must have periodic boundaries - unless you use the kspace\_modify command to define a 2d slab with a + unless you use the kspace_modify command to define a 2d slab with a non-periodic z dimension. *Cannot use non-periodic boundaries with PPPMDisp* For kspace style pppm/disp, all 3 dimensions must have periodic - boundaries unless you use the kspace\_modify command to define a 2d + boundaries unless you use the kspace_modify command to define a 2d slab with a non-periodic z dimension. *Cannot use order greater than 8 with pppm/gpu.* @@ -1743,21 +1738,21 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot use ramp in variable formula between runs* This is because the ramp() function is time dependent. -*Cannot use read\_data add before simulation box is defined* +*Cannot use read_data add before simulation box is defined* Self-explanatory. -*Cannot use read\_data extra with add flag* +*Cannot use read_data extra with add flag* Self-explanatory. -*Cannot use read\_data offset without add flag* +*Cannot use read_data offset without add flag* Self-explanatory. -*Cannot use read\_data shift without add flag* +*Cannot use read_data shift without add flag* Self-explanatory. *Cannot use region INF or EDGE when box does not exist* Regions that extend to the box boundaries can only be used after the - create\_box command has been used. + create_box command has been used. *Cannot use set atom with no atom IDs defined* Atom IDs are not defined, so they cannot be used to identify an atom. @@ -1798,10 +1793,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot use wall in periodic dimension* Self-explanatory. -*Cannot use write\_restart fileper without % in restart file name* +*Cannot use write_restart fileper without % in restart file name* Self-explanatory. -*Cannot use write\_restart nfile without % in restart file name* +*Cannot use write_restart nfile without % in restart file name* Self-explanatory. *Cannot wiggle and shear fix wall/gran* @@ -1814,10 +1809,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot yet use KSpace solver with grid with comm style tiled* This is current restriction in LAMMPS. -*Cannot yet use comm\_style tiled with multi-mode comm* +*Cannot yet use comm_style tiled with multi-mode comm* Self-explanatory. -*Cannot yet use comm\_style tiled with triclinic box* +*Cannot yet use comm_style tiled with triclinic box* Self-explanatory. *Cannot yet use compute tally with Kokkos* @@ -1845,10 +1840,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Cannot zero momentum of no atoms* Self-explanatory. -*Change\_box command before simulation box is defined* +*Change_box command before simulation box is defined* Self-explanatory. -*Change\_box volume used incorrectly* +*Change_box volume used incorrectly* The "dim volume" option must be used immediately following one or two settings for "dim1 ..." (and optionally "dim2 ...") and must be for a different dimension, i.e. dim != dim1 and dim != dim2. @@ -1887,23 +1882,23 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Self-explanatory. *Comm tiled invalid index in box drop brick* - Internal error check in comm\_style tiled which should not occur. + Internal error check in comm_style tiled which should not occur. Contact the developers. *Comm tiled mis-match in box drop brick* - Internal error check in comm\_style tiled which should not occur. + Internal error check in comm_style tiled which should not occur. Contact the developers. -*Comm\_modify group != atom\_modify first group* +*Comm_modify group != atom_modify first group* Self-explanatory. -*Communication cutoff for comm\_style tiled cannot exceed periodic box length* +*Communication cutoff for comm_style tiled cannot exceed periodic box length* Self-explanatory. *Communication cutoff too small for SNAP micro load balancing* - This can happen if you change the neighbor skin after your pair\_style + This can happen if you change the neighbor skin after your pair_style command or if your box dimensions grow during a run. You can set the - cutoff explicitly via the comm\_modify cutoff command. + cutoff explicitly via the comm_modify cutoff command. *Compute %s does not allow use of dynamic group* Dynamic groups have not yet been enabled for this compute. @@ -2193,7 +2188,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Only inputs that generate the same number of datums can be used together. E.g. bond and angle quantities cannot be mixed. -*Compute property/local does not (yet) work with atom\_style template* +*Compute property/local does not (yet) work with atom_style template* Self-explanatory. *Compute property/local for property that isn't allocated* @@ -2311,7 +2306,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` The style of the specified compute is not chunk/atom. *Compute temp/cs requires ghost atoms store velocity* - Use the comm\_modify vel yes command to enable this. + Use the comm_modify vel yes command to enable this. *Compute temp/cs used when bonds are not allowed* This compute only works on pairs of bonded particles. @@ -2373,14 +2368,14 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Core/shell partners were not all found* Could not find or more atoms in the bond pairs. -*Could not adjust g\_ewald\_6* +*Could not adjust g_ewald_6* The Newton-Raphson solver failed to converge to a good value for - g\_ewald. This error should not occur for typical problems. Please + g_ewald. This error should not occur for typical problems. Please send an email to the developers. -*Could not compute g\_ewald* +*Could not compute g_ewald* The Newton-Raphson solver failed to converge to a good value for - g\_ewald. This error should not occur for typical problems. Please + g_ewald. This error should not occur for typical problems. Please send an email to the developers. *Could not compute grid size* @@ -2431,11 +2426,11 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` The provided Python code was run successfully, but it not define a callable function with the required name. -*Could not find atom\_modify first group ID* +*Could not find atom_modify first group ID* Self-explanatory. -*Could not find change\_box group ID* - Group ID used in the change\_box command does not exist. +*Could not find change_box group ID* + Group ID used in the change_box command does not exist. *Could not find compute ID for PRD* Self-explanatory. @@ -2479,20 +2474,20 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Could not find compute/voronoi surface group ID* Self-explanatory. -*Could not find compute\_modify ID* +*Could not find compute_modify ID* Self-explanatory. *Could not find custom per-atom property ID* Self-explanatory. -*Could not find delete\_atoms group ID* - Group ID used in the delete\_atoms command does not exist. +*Could not find delete_atoms group ID* + Group ID used in the delete_atoms command does not exist. -*Could not find delete\_atoms region ID* - Region ID used in the delete\_atoms command does not exist. +*Could not find delete_atoms region ID* + Region ID used in the delete_atoms command does not exist. -*Could not find displace\_atoms group ID* - Group ID used in the displace\_atoms command does not exist. +*Could not find displace_atoms group ID* + Group ID used in the displace_atoms command does not exist. *Could not find dump custom compute ID* Self-explanatory. @@ -2561,13 +2556,13 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Could not find fix srd group ID* Self-explanatory. -*Could not find fix\_modify ID* - A fix ID used in the fix\_modify command does not exist. +*Could not find fix_modify ID* + A fix ID used in the fix_modify command does not exist. -*Could not find fix\_modify pressure ID* +*Could not find fix_modify pressure ID* The compute ID for computing pressure does not exist. -*Could not find fix\_modify temperature ID* +*Could not find fix_modify temperature ID* The compute ID for computing temperature does not exist. *Could not find group clear group ID* @@ -2587,7 +2582,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Self-explanatory. *Could not find thermo compute ID* - Compute ID specified in thermo\_style command does not exist. + Compute ID specified in thermo_style command does not exist. *Could not find thermo custom compute ID* The compute ID needed by thermo style custom to compute a requested @@ -2601,16 +2596,16 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Self-explanatory. *Could not find thermo fix ID* - Fix ID specified in thermo\_style command does not exist. + Fix ID specified in thermo_style command does not exist. *Could not find thermo variable name* Self-explanatory. -*Could not find thermo\_modify pressure ID* +*Could not find thermo_modify pressure ID* The compute ID needed by thermo style custom to compute pressure does not exist. -*Could not find thermo\_modify temperature ID* +*Could not find thermo_modify temperature ID* The compute ID needed by thermo style custom to compute temperature does not exist. @@ -2654,66 +2649,66 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Coulomb PPPMDisp order has been reduced below minorder* The default minimum order is 2. This can be reset by the - kspace\_modify minorder command. + kspace_modify minorder command. -*Coulombic cutoff not supported in pair\_style buck/long/coul/coul* +*Coulombic cutoff not supported in pair_style buck/long/coul/coul* Must use long-range Coulombic interactions. -*Coulombic cutoff not supported in pair\_style lj/long/coul/long* +*Coulombic cutoff not supported in pair_style lj/long/coul/long* Must use long-range Coulombic interactions. -*Coulombic cutoff not supported in pair\_style lj/long/tip4p/long* +*Coulombic cutoff not supported in pair_style lj/long/tip4p/long* Must use long-range Coulombic interactions. *Coulombic cutoffs of pair hybrid sub-styles do not match* If using a Kspace solver, all Coulombic cutoffs of long pair styles must be the same. -*Coulombic cut not supported in pair\_style lj/long/dipole/long* +*Coulombic cut not supported in pair_style lj/long/dipole/long* Must use long-range Coulombic interactions. -*Cound not find dump\_modify ID* +*Cound not find dump_modify ID* Self-explanatory. -*Create\_atoms command before simulation box is defined* - The create\_atoms command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Create_atoms command before simulation box is defined* + The create_atoms command cannot be used before a read_data, + read_restart, or create_box command. -*Create\_atoms molecule has atom IDs, but system does not* - The atom\_style id command can be used to force atom IDs to be stored. +*Create_atoms molecule has atom IDs, but system does not* + The atom_style id command can be used to force atom IDs to be stored. -*Create\_atoms molecule must have atom types* +*Create_atoms molecule must have atom types* The defined molecule does not specify atom types. -*Create\_atoms molecule must have coordinates* +*Create_atoms molecule must have coordinates* The defined molecule does not specify coordinates. -*Create\_atoms region ID does not exist* - A region ID used in the create\_atoms command does not exist. +*Create_atoms region ID does not exist* + A region ID used in the create_atoms command does not exist. -*Create\_bonds command before simulation box is defined* +*Create_bonds command before simulation box is defined* Self-explanatory. -*Create\_bonds command requires no kspace\_style be defined* +*Create_bonds command requires no kspace_style be defined* This is so that atom pairs that are already bonded to not appear in the neighbor list. -*Create\_bonds command requires special\_bonds 1-2 weights be 0.0* +*Create_bonds command requires special_bonds 1-2 weights be 0.0* This is so that atom pairs that are already bonded to not appear in the neighbor list. -*Create\_bonds max distance > neighbor cutoff* +*Create_bonds max distance > neighbor cutoff* Can only create bonds for atom pairs that will be in neighbor list. -*Create\_bonds requires a pair style be defined* +*Create_bonds requires a pair style be defined* Self-explanatory. -*Create\_box region ID does not exist* +*Create_box region ID does not exist* Self-explanatory. -*Create\_box region does not support a bounding box* +*Create_box region does not support a bounding box* Not all regions represent bounded volumes. You cannot use - such a region with the create\_box command. + such a region with the create_box command. *Custom floating point vector for fix store/state does not exist* The command is accessing a vector added by the fix property/atom @@ -2729,13 +2724,13 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Custom per-atom property ID is not integer* Self-explanatory. -*Cut-offs missing in pair\_style lj/long/dipole/long* +*Cut-offs missing in pair_style lj/long/dipole/long* Self-explanatory. -*Cutoffs missing in pair\_style buck/long/coul/long* +*Cutoffs missing in pair_style buck/long/coul/long* Self-explanatory. -*Cutoffs missing in pair\_style lj/long/coul/long* +*Cutoffs missing in pair_style lj/long/coul/long* Self-explanatory. *Cyclic loop in joint connections* @@ -2748,26 +2743,26 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Delete region ID does not exist* Self-explanatory. -*Delete\_atoms command before simulation box is defined* - The delete\_atoms command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Delete_atoms command before simulation box is defined* + The delete_atoms command cannot be used before a read_data, + read_restart, or create_box command. -*Delete\_atoms cutoff > max neighbor cutoff* +*Delete_atoms cutoff > max neighbor cutoff* Can only delete atoms in atom pairs that will be in neighbor list. -*Delete\_atoms mol yes requires atom attribute molecule* +*Delete_atoms mol yes requires atom attribute molecule* Cannot use this option with a non-molecular system. -*Delete\_atoms requires a pair style be defined* +*Delete_atoms requires a pair style be defined* This is because atom deletion within a cutoff uses a pairwise neighbor list. -*Delete\_bonds command before simulation box is defined* - The delete\_bonds command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Delete_bonds command before simulation box is defined* + The delete_bonds command cannot be used before a read_data, + read_restart, or create_box command. -*Delete\_bonds command with no atoms existing* - No atoms are yet defined so the delete\_bonds command cannot be used. +*Delete_bonds command with no atoms existing* + No atoms are yet defined so the delete_bonds command cannot be used. *Deposition region extends outside simulation box* Self-explanatory. @@ -2781,7 +2776,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Atoms read in from the restart file were not assigned correctly to processors. This is likely due to some atom coordinates being outside a non-periodic simulation box. Normally this should not happen. You - may wish to use the "remap" option on the read\_restart command to see + may wish to use the "remap" option on the read_restart command to see if this helps. *Did not find all elements in MEAM library file* @@ -2789,12 +2784,12 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Did not find fix shake partner info* Could not find bond partners implied by fix shake command. This error - can be triggered if the delete\_bonds command was used before fix + can be triggered if the delete_bonds command was used before fix shake, and it removed bonds without resetting the 1-2, 1-3, 1-4 weighting list via the special keyword. *Did not find keyword in table file* - Keyword used in pair\_coeff command was not found in table file. + Keyword used in pair_coeff command was not found in table file. *Did not set pressure for fix rigid/nph* The press keyword must be specified. @@ -2811,8 +2806,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Did not set temperature or pressure for fix rigid/npt* The temp and press keywords must be specified. -*Dihedral atom missing in delete\_bonds* - The delete\_bonds command cannot find one or more atoms in a particular +*Dihedral atom missing in delete_bonds* + The delete_bonds command cannot find one or more atoms in a particular dihedral on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid dihedral. @@ -2839,12 +2834,12 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Dihedral coeff for hybrid has invalid style* Dihedral style hybrid uses another dihedral style as one of its - coefficients. The dihedral style used in the dihedral\_coeff command + coefficients. The dihedral style used in the dihedral_coeff command or read from a restart file is not recognized. *Dihedral coeffs are not set* No dihedral coefficients have been assigned in the data file or via - the dihedral\_coeff command. + the dihedral_coeff command. *Dihedral style hybrid cannot have hybrid as an argument* Self-explanatory. @@ -2856,22 +2851,22 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Self-explanatory. *Dihedral/improper extent > half of periodic box length* - This error was detected by the neigh\_modify check yes setting. It is + This error was detected by the neigh_modify check yes setting. It is an error because the dihedral atoms are so far apart it is ambiguous how it should be defined. -*Dihedral\_coeff command before dihedral\_style is defined* - Coefficients cannot be set in the data file or via the dihedral\_coeff - command until an dihedral\_style has been assigned. +*Dihedral_coeff command before dihedral_style is defined* + Coefficients cannot be set in the data file or via the dihedral_coeff + command until an dihedral_style has been assigned. -*Dihedral\_coeff command before simulation box is defined* - The dihedral\_coeff command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Dihedral_coeff command before simulation box is defined* + The dihedral_coeff command cannot be used before a read_data, + read_restart, or create_box command. -*Dihedral\_coeff command when no dihedrals allowed* +*Dihedral_coeff command when no dihedrals allowed* The chosen atom style does not allow for dihedrals to be defined. -*Dihedral\_style command when no dihedrals allowed* +*Dihedral_style command when no dihedrals allowed* The chosen atom style does not allow for dihedrals to be defined. *Dihedrals assigned incorrectly* @@ -2883,19 +2878,19 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` The data file header lists dihedrals but no dihedral types. *Dimension command after simulation box is defined* - The dimension command cannot be used after a read\_data, - read\_restart, or create\_box command. + The dimension command cannot be used after a read_data, + read_restart, or create_box command. *Disk limit not supported by OS or illegal path* Self-explanatory. *Dispersion PPPMDisp order has been reduced below minorder* The default minimum order is 2. This can be reset by the - kspace\_modify minorder command. + kspace_modify minorder command. -*Displace\_atoms command before simulation box is defined* - The displace\_atoms command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Displace_atoms command before simulation box is defined* + The displace_atoms command cannot be used before a read_data, + read_restart, or create_box command. *Distance must be > 0 for compute event/displace* Self-explanatory. @@ -2974,7 +2969,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Every snapshot written by dump dcd must contain the same # of atoms. *Dump dcd requires sorting by atom ID* - Use the dump\_modify sort command to enable this. + Use the dump_modify sort command to enable this. *Dump every variable returned a bad timestep* The variable must return a timestep greater than the current timestep. @@ -3087,19 +3082,19 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Self-explanatory. *Dump xtc requires sorting by atom ID* - Use the dump\_modify sort command to enable this. + Use the dump_modify sort command to enable this. *Dump xyz/gz only writes compressed files* The dump xyz/gz output file name must have a .gz suffix. -*Dump\_modify buffer yes not allowed for this style* +*Dump_modify buffer yes not allowed for this style* Self-explanatory. -*Dump\_modify format string is too short* +*Dump_modify format string is too short* There are more fields to be dumped in a line of output than your format string specifies. -*Dump\_modify region ID does not exist* +*Dump_modify region ID does not exist* Self-explanatory. *Dumping an atom property that isn't allocated* @@ -3109,7 +3104,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Duplicate atom IDs exist* Self-explanatory. -*Duplicate fields in read\_dump command* +*Duplicate fields in read_dump command* Self-explanatory. *Duplicate particle in PeriDynamic bond - simulation box is too small* @@ -3216,7 +3211,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix ID for fix vector does not exist* Self-explanatory. -*Fix ID for read\_data does not exist* +*Fix ID for read_data does not exist* Self-explanatory. *Fix ID for velocity does not exist* @@ -3238,7 +3233,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` conservative settings. *Fix SRD: too many big particles in bin* - Reset the ATOMPERBIN parameter at the top of fix\_srd.cpp + Reset the ATOMPERBIN parameter at the top of fix_srd.cpp to a larger value, and re-compile the code. *Fix SRD: too many walls in bin* @@ -3484,15 +3479,15 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix ave/time variable is not equal-style variable* Self-explanatory. -*Fix balance rcb cannot be used with comm\_style brick* - Comm\_style tiled must be used instead. +*Fix balance rcb cannot be used with comm_style brick* + Comm_style tiled must be used instead. *Fix balance shift string is invalid* The string can only contain the characters "x", "y", or "z". *Fix bond/break needs ghost atoms from further away* This is because the fix needs to walk bonds to a certain distance to - acquire needed info, The comm\_modify cutoff command can be used to + acquire needed info, The comm_modify cutoff command can be used to extend the communication range. *Fix bond/create angle type is invalid* @@ -3509,13 +3504,13 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Self-explanatory. *Fix bond/create induced too many angles/dihedrals/impropers per atom* - See the read\_data command for info on using the "extra/angle/per/atom", + See the read_data command for info on using the "extra/angle/per/atom", (or dihedral, improper) keywords to allow for additional angles, dihedrals, and impropers to be formed. *Fix bond/create needs ghost atoms from further away* This is because the fix needs to walk bonds to a certain distance to - acquire needed info, The comm\_modify cutoff command can be used to + acquire needed info, The comm_modify cutoff command can be used to extend the communication range. *Fix bond/swap cannot use dihedral or improper styles* @@ -3524,7 +3519,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix bond/swap requires pair and bond styles* Self-explanatory. -*Fix bond/swap requires special\_bonds = 0,1,1* +*Fix bond/swap requires special_bonds = 0,1,1* Self-explanatory. *Fix box/relax generated negative box length* @@ -3532,8 +3527,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` it incrementally, to build to the high pressure. *Fix command before simulation box is defined* - The fix command cannot be used before a read\_data, read\_restart, or - create\_box command. + The fix command cannot be used before a read_data, read_restart, or + create_box command. *Fix deform cannot use yz variable with xy* The yz setting cannot be a variable if xy deformation is also @@ -3564,8 +3559,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix deposit molecule must have coordinates* The defined molecule does not specify coordinates. -*Fix deposit molecule template ID must be same as atom\_style template ID* - When using atom\_style template, you cannot deposit molecules that are +*Fix deposit molecule template ID must be same as atom_style template ID* + When using atom_style template, you cannot deposit molecules that are not in that template. *Fix deposit region cannot be dynamic* @@ -3636,7 +3631,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` molecule. The user has specified atomic (non-molecular) gas exchanges, but an atom belonging to a molecule could be deleted. -*Fix gcmc does not (yet) work with atom\_style template* +*Fix gcmc does not (yet) work with atom_style template* Self-explanatory. *Fix gcmc molecule command requires that atoms have molecule attributes* @@ -3653,8 +3648,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix gcmc molecule must have coordinates* The defined molecule does not specify coordinates. -*Fix gcmc molecule template ID must be same as atom\_style template ID* - When using atom\_style template, you cannot insert molecules that are +*Fix gcmc molecule template ID must be same as atom_style template ID* + When using atom_style template, you cannot insert molecules that are not in that template. *Fix gcmc put atom outside box* @@ -3859,7 +3854,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix orient/fcc found self twice* The neighbor lists used by fix orient/fcc are messed up. If this error occurs, it is likely a bug, so send an email to the - `developers <http://lammps.sandia.gov/authors.html>`_. + `developers <https://lammps.sandia.gov/authors.html>`_. *Fix peri neigh does not exist* Somehow a fix that the pair style defines has been deleted. @@ -3880,7 +3875,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` The defined molecule does not specify coordinates. *Fix pour molecule template ID must be same as atom style template ID* - When using atom\_style template, you cannot pour molecules that are + When using atom_style template, you cannot pour molecules that are not in that template. *Fix pour polydisperse fractions do not sum to 1.0* @@ -3914,10 +3909,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix property/atom cannot specify q twice* Self-explanatory. -*Fix property/atom mol when atom\_style already has molecule attribute* +*Fix property/atom mol when atom_style already has molecule attribute* Self-explanatory. -*Fix property/atom q when atom\_style already has charge attribute* +*Fix property/atom q when atom_style already has charge attribute* Self-explanatory. *Fix property/atom vector name already exists* @@ -3949,7 +3944,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix qeq/point has insufficient QEq matrix size* Occurs when number of neighbor atoms for an atom increased too much - during a run. Increase SAFE\_ZONE and MIN\_CAP in fix\_qeq.h and + during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and re-compile. *Fix qeq/point requires atom attribute q* @@ -3960,7 +3955,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix qeq/shielded has insufficient QEq matrix size* Occurs when number of neighbor atoms for an atom increased too much - during a run. Increase SAFE\_ZONE and MIN\_CAP in fix\_qeq.h and + during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and re-compile. *Fix qeq/shielded requires atom attribute q* @@ -3974,20 +3969,20 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix qeq/slater has insufficient QEq matrix size* Occurs when number of neighbor atoms for an atom increased too much - during a run. Increase SAFE\_ZONE and MIN\_CAP in fix\_qeq.h and + during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and re-compile. *Fix qeq/slater requires atom attribute q* Self-explanatory. -*Fix reax/bonds numbonds > nsbmax\_most* +*Fix reax/bonds numbonds > nsbmax_most* The limit of the number of bonds expected by the ReaxFF force field was exceeded. *Fix recenter group has no atoms* Self-explanatory. -*Fix restrain requires an atom map, see atom\_modify* +*Fix restrain requires an atom map, see atom_modify* Self-explanatory. *Fix rigid atom has non-zero image flag in a non-periodic dimension* @@ -4011,22 +4006,22 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix rigid npt/nph period must be > 0.0* Self-explanatory. -*Fix rigid npt/small t\_chain should not be less than 1* +*Fix rigid npt/small t_chain should not be less than 1* Self-explanatory. -*Fix rigid npt/small t\_order must be 3 or 5* +*Fix rigid npt/small t_order must be 3 or 5* Self-explanatory. *Fix rigid nvt/npt/nph damping parameters must be > 0.0* Self-explanatory. -*Fix rigid nvt/small t\_chain should not be less than 1* +*Fix rigid nvt/small t_chain should not be less than 1* Self-explanatory. -*Fix rigid nvt/small t\_iter should not be less than 1* +*Fix rigid nvt/small t_iter should not be less than 1* Self-explanatory. -*Fix rigid nvt/small t\_order must be 3 or 5* +*Fix rigid nvt/small t_order must be 3 or 5* Self-explanatory. *Fix rigid xy torque cannot be on for 2d simulation* @@ -4074,7 +4069,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix rigid/small nvt/npt/nph dilate group ID does not exist* Self-explanatory. -*Fix rigid/small requires an atom map, see atom\_modify* +*Fix rigid/small requires an atom map, see atom_modify* Self-explanatory. *Fix rigid/small requires atom attribute molecule* @@ -4094,7 +4089,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix spring couple group ID does not exist* Self-explanatory. -*Fix srd can only currently be used with comm\_style brick* +*Fix srd can only currently be used with comm_style brick* This is a current restriction in LAMMPS. *Fix srd lamda must be >= 0.6 of SRD grid size* @@ -4108,7 +4103,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Self-explanatory. *Fix srd requires ghost atoms store velocity* - Use the comm\_modify vel yes command to enable this. + Use the comm_modify vel yes command to enable this. *Fix srd requires newton pair on* Self-explanatory. @@ -4183,25 +4178,25 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix ttm electron temperatures must be > 0.0* Self-explanatory. -*Fix ttm electronic\_density must be > 0.0* +*Fix ttm electronic_density must be > 0.0* Self-explanatory. -*Fix ttm electronic\_specific\_heat must be > 0.0* +*Fix ttm electronic_specific_heat must be > 0.0* Self-explanatory. -*Fix ttm electronic\_thermal\_conductivity must be >= 0.0* +*Fix ttm electronic_thermal_conductivity must be >= 0.0* Self-explanatory. -*Fix ttm gamma\_p must be > 0.0* +*Fix ttm gamma_p must be > 0.0* Self-explanatory. -*Fix ttm gamma\_s must be >= 0.0* +*Fix ttm gamma_s must be >= 0.0* Self-explanatory. *Fix ttm number of nodes must be > 0* Self-explanatory. -*Fix ttm v\_0 must be >= 0.0* +*Fix ttm v_0 must be >= 0.0* Self-explanatory. *Fix used in compute chunk/atom not computed at compatible time* @@ -4275,10 +4270,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Fix wall/region cutoff <= 0.0* Self-explanatory. -*Fix\_modify pressure ID does not compute pressure* +*Fix_modify pressure ID does not compute pressure* The compute ID assigned to the fix must compute pressure. -*Fix\_modify temperature ID does not compute temperature* +*Fix_modify temperature ID does not compute temperature* The compute ID assigned to the fix must compute temperature. *For triclinic deformation, specified target stress must be hydrostatic* @@ -4291,7 +4286,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *GPU library not compiled for this accelerator* Self-explanatory. -*GPU package does not (yet) work with atom\_style template* +*GPU package does not (yet) work with atom_style template* Self-explanatory. *GPU particle split must be set to 1 for this pair style.* @@ -4329,8 +4324,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` This operation is not allowed. *Group command before simulation box is defined* - The group command cannot be used before a read\_data, read\_restart, or - create\_box command. + The group command cannot be used before a read_data, read_restart, or + create_box command. *Group dynamic cannot reference itself* Self-explanatory. @@ -4344,8 +4339,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Group region ID does not exist* A region ID used in the group command does not exist. -*If read\_dump purges it cannot replace or trim* - These operations are not compatible. See the read\_dump doc +*If read_dump purges it cannot replace or trim* + These operations are not compatible. See the read_dump doc page for details. *Illegal ... command* @@ -4380,10 +4375,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` One or more of the coefficients defined in the potential file is invalid. -*Illegal dump\_modify sfactor value (must be > 0.0)* +*Illegal dump_modify sfactor value (must be > 0.0)* Self-explanatory. -*Illegal dump\_modify tfactor value (must be > 0.0)* +*Illegal dump_modify tfactor value (must be > 0.0)* Self-explanatory. *Illegal fix gcmc gas mass <= 0* @@ -4437,8 +4432,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Format of imageint stored in restart file is not consistent with LAMMPS version you are running. See the settings in src/lmptype.h -*Improper atom missing in delete\_bonds* - The delete\_bonds command cannot find one or more atoms in a particular +*Improper atom missing in delete_bonds* + The delete_bonds command cannot find one or more atoms in a particular improper on a particular processor. The pairwise cutoff is too short or the atoms are too far apart to make a valid improper. @@ -4461,12 +4456,12 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Improper coeff for hybrid has invalid style* Improper style hybrid uses another improper style as one of its - coefficients. The improper style used in the improper\_coeff command + coefficients. The improper style used in the improper_coeff command or read from a restart file is not recognized. *Improper coeffs are not set* No improper coefficients have been assigned in the data file or via - the improper\_coeff command. + the improper_coeff command. *Improper style hybrid cannot have hybrid as an argument* Self-explanatory. @@ -4477,18 +4472,18 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Improper style hybrid cannot use same improper style twice* Self-explanatory. -*Improper\_coeff command before improper\_style is defined* - Coefficients cannot be set in the data file or via the improper\_coeff - command until an improper\_style has been assigned. +*Improper_coeff command before improper_style is defined* + Coefficients cannot be set in the data file or via the improper_coeff + command until an improper_style has been assigned. -*Improper\_coeff command before simulation box is defined* - The improper\_coeff command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Improper_coeff command before simulation box is defined* + The improper_coeff command cannot be used before a read_data, + read_restart, or create_box command. -*Improper\_coeff command when no impropers allowed* +*Improper_coeff command when no impropers allowed* The chosen atom style does not allow for impropers to be defined. -*Improper\_style command when no impropers allowed* +*Improper_style command when no impropers allowed* The chosen atom style does not allow for impropers to be defined. *Impropers assigned incorrectly* @@ -4507,7 +4502,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` The selected unit style is not compatible with the requested KIM Simulator Model. -*Incomplete use of variables in create\_atoms command* +*Incomplete use of variables in create_atoms command* The var and set options must be used together. *Inconsistent iparam/jparam values in fix bond/create command* @@ -4554,7 +4549,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Incorrect args for pair coefficients* Self-explanatory. Check the input script or data file. -*Incorrect args in pair\_style command* +*Incorrect args in pair_style command* Self-explanatory. *Incorrect atom format in data file* @@ -4565,7 +4560,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` The number of fields per line is not what expected. *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 doc page for a description of how various kinds of bonus data must be formatted for certain atom styles. *Incorrect boundaries with slab Ewald* @@ -4666,7 +4661,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Indexed per-atom vector in variable formula without atom map* Accessing a value from an atom vector requires the ability to lookup an atom index, which is provided by an atom map. An atom map does not - exist (by default) for non-molecular problems. Using the atom\_modify + exist (by default) for non-molecular problems. Using the atom_modify map command will force an atom map to be created. *Initial temperatures not all set in fix ttm* @@ -4698,7 +4693,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` There is insufficient memory on one of the devices specified for the gpu package -*Internal error in atom\_style body* +*Internal error in atom_style body* This error should not occur. Contact the developers. *Invalid -reorder N value* @@ -4765,7 +4760,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Self-explanatory. *Invalid args for non-hybrid pair coefficients* - "NULL" is only supported in pair\_coeff calls when using pair hybrid + "NULL" is only supported in pair_coeff calls when using pair hybrid *Invalid argument to factorial %d* N must be >= 0 and <= 167, otherwise the factorial result is too @@ -4836,13 +4831,13 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid atom type in Atoms section of data file* Atom types must range from 1 to specified # of types. -*Invalid atom type in create\_atoms command* - The create\_box command specified the range of valid atom types. +*Invalid atom type in create_atoms command* + The create_box command specified the range of valid atom types. An invalid type is being requested. -*Invalid atom type in create\_atoms mol command* +*Invalid atom type in create_atoms mol command* The atom types in the defined molecule are added to the value - specified in the create\_atoms command, as an offset. The final value + specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom types. @@ -4857,7 +4852,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid atom type in fix deposit mol command* The atom types in the defined molecule are added to the value - specified in the create\_atoms command, as an offset. The final value + specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom types. @@ -4869,7 +4864,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid atom type in fix pour mol command* The atom types in the defined molecule are added to the value - specified in the create\_atoms command, as an offset. The final value + specified in the create_atoms command, as an offset. The final value for each atom must be between 1 to N, where N is the number of atom types. @@ -4882,16 +4877,16 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid atom type index for fix shake* Atom types must range from 1 to Ntypes inclusive. -*Invalid atom types in pair\_write command* +*Invalid atom types in pair_write command* Atom types must range from 1 to Ntypes inclusive. *Invalid atom vector in variable formula* The atom vector is not recognized. -*Invalid atom\_style body command* +*Invalid atom_style body command* No body style argument was provided. -*Invalid atom\_style command* +*Invalid atom_style command* Self-explanatory. *Invalid attribute in dump custom command* @@ -4903,7 +4898,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid attribute in dump modify command* Self-explanatory. -*Invalid basis setting in create\_atoms command* +*Invalid basis setting in create_atoms command* The basis index must be between 1 to N where N is the number of basis atoms in the lattice. The type index must be between 1 to N where N is the number of atom types. @@ -4935,7 +4930,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid bond type in Bonds section of molecule file* Self-explanatory. -*Invalid bond type in create\_bonds command* +*Invalid bond type in create_bonds command* Self-explanatory. *Invalid bond type in fix bond/break command* @@ -4950,9 +4945,9 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid coeffs for this dihedral style* Cannot set class 2 coeffs in data file for this dihedral style. -*Invalid color in dump\_modify command* +*Invalid color in dump_modify command* The specified color name was not in the list of recognized colors. - See the dump\_modify doc page. + See the dump_modify doc page. *Invalid color map min/max values* The min/max values are not consistent with either each other or @@ -4965,17 +4960,17 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid compute ID in variable formula* The compute is not recognized. -*Invalid create\_atoms rotation vector for 2d model* +*Invalid create_atoms rotation vector for 2d model* The rotation vector can only have a z component. *Invalid custom OpenCL parameter string.* There are not enough or too many parameters in the custom string for package GPU. -*Invalid cutoff in comm\_modify command* +*Invalid cutoff in comm_modify command* Specified cutoff must be >= 0.0. -*Invalid cutoffs in pair\_write command* +*Invalid cutoffs in pair_write command* Inner cutoff must be larger than 0.0 and less than outer cutoff. *Invalid d1 or d2 value for pair colloid coeff* @@ -5041,7 +5036,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid data file section: Triangles* Atom style does not allow triangles. -*Invalid delta\_conf in tad command* +*Invalid delta_conf in tad command* The value must be between 0 and 1 inclusive. *Invalid density in Atoms section of data file* @@ -5066,7 +5061,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid dipole length in set command* Self-explanatory. -*Invalid displace\_atoms rotate axis for 2d* +*Invalid displace_atoms rotate axis for 2d* Axis must be in z direction. *Invalid dump dcd filename* @@ -5078,7 +5073,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid dump image element name* The specified element name was not in the standard list of elements. - See the dump\_modify doc page. + See the dump_modify doc page. *Invalid dump image filename* The file produced by dump image cannot be binary and must @@ -5105,7 +5100,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Filenames used with the dump xyz style cannot be binary or cause files to be written by each processor. -*Invalid dump\_modify threshold operator* +*Invalid dump_modify threshold operator* Operator keyword used for threshold specification in not recognized. *Invalid entry in -reorder file* @@ -5181,13 +5176,13 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid frequency in temper command* Nevery must be > 0. -*Invalid group ID in neigh\_modify command* - A group ID used in the neigh\_modify command does not exist. +*Invalid group ID in neigh_modify command* + A group ID used in the neigh_modify command does not exist. *Invalid group function in variable formula* Group function is not recognized. -*Invalid group in comm\_modify command* +*Invalid group in comm_modify command* Self-explanatory. *Invalid image up vector* @@ -5212,13 +5207,13 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid index in compute body/local command* Self-explanatory. -*Invalid is\_active() function in variable formula* +*Invalid is_active() function in variable formula* Self-explanatory. -*Invalid is\_available() function in variable formula* +*Invalid is_available() function in variable formula* Self-explanatory. -*Invalid is\_defined() function in variable formula* +*Invalid is_defined() function in variable formula* Self-explanatory. *Invalid keyword in angle table parameters* @@ -5286,7 +5281,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` kspace, etc. *Invalid pair table cutoff* - Cutoffs in pair\_coeff command are not valid with read-in pair table. + Cutoffs in pair_coeff command are not valid with read-in pair table. *Invalid pair table length* Length of read-in pair table is invalid @@ -5374,16 +5369,16 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid special function in variable formula* Self-explanatory. -*Invalid style in pair\_write command* +*Invalid style in pair_write command* Self-explanatory. Check the input script. *Invalid syntax in variable formula* Self-explanatory. -*Invalid t\_event in prd command* +*Invalid t_event in prd command* Self-explanatory. -*Invalid t\_event in tad command* +*Invalid t_event in tad command* The value must be greater than 0. *Invalid template atom in Atoms section of data file* @@ -5397,8 +5392,8 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Invalid thermo keyword in variable formula* The keyword is not recognized. -*Invalid threads\_per\_atom specified.* - For 3-body potentials on the GPU, the threads\_per\_atom setting cannot be +*Invalid threads_per_atom specified.* + For 3-body potentials on the GPU, the threads_per_atom setting cannot be greater than 4 for NVIDIA GPUs. *Invalid timestep reset for fix ave/atom* @@ -5493,10 +5488,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Model. Please contact the OpenKIM database maintainers to verify and potentially correct this. -*KOKKOS package does not yet support comm\_style tiled* +*KOKKOS package does not yet support comm_style tiled* Self-explanatory. -*KOKKOS package requires a kokkos enabled atom\_style* +*KOKKOS package requires a kokkos enabled atom_style* Self-explanatory. *KSpace accuracy must be > 0* @@ -5504,7 +5499,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *KSpace accuracy too large to estimate G vector* Reduce the accuracy request or specify gewald explicitly - via the kspace\_modify command. + via the kspace_modify command. *KSpace accuracy too low* Requested accuracy must be less than 1.0. @@ -5517,7 +5512,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` simulation boxes. *KSpace style has not yet been set* - Cannot use kspace\_modify command until a kspace style is set. + Cannot use kspace_modify command until a kspace style is set. *KSpace style is incompatible with Pair style* Setting a kspace style requires that a pair style with matching @@ -5529,11 +5524,11 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Kokkos has been compiled for CUDA but no GPUs are requested* One or more GPUs must be used when Kokkos is compiled for CUDA. -*Kspace\_modify mesh parameter must be all zero or all positive* +*Kspace_modify mesh parameter must be all zero or all positive* Valid kspace mesh parameters are >0. The code will try to auto-detect suitable values when all three mesh sizes are set to zero (the default). -*Kspace\_modify mesh/disp parameter must be all zero or all positive* +*Kspace_modify mesh/disp parameter must be all zero or all positive* Valid kspace mesh/disp parameters are >0. The code will try to auto-detect suitable values when all three mesh sizes are set to zero **and** the required accuracy via *force/disp/real* as well as @@ -5551,17 +5546,17 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Kspace style requires atom attribute q* The atom style defined does not have these attributes. -*Kspace\_modify eigtol must be smaller than one* +*Kspace_modify eigtol must be smaller than one* Self-explanatory. *LAMMPS is not built with Python embedded* This is done by including the PYTHON package before LAMMPS is built. This is required to use python-style variables. -*LAMMPS unit\_style lj not supported by KIM models* +*LAMMPS unit_style lj not supported by KIM models* Self-explanatory. Check the input script or data file. -*LJ6 off not supported in pair\_style buck/long/coul/long* +*LJ6 off not supported in pair_style buck/long/coul/long* Self-explanatory. *Label wasn't found in input script* @@ -5598,7 +5593,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Lost atoms: original %ld current %ld* Lost atoms are checked for each time thermo output is done. See the - thermo\_modify lost command for options. Lost atoms usually indicate + thermo_modify lost command for options. Lost atoms usually indicate bad dynamics, e.g. atoms have been blown far out of the simulation box, or moved further than one processor's sub-domain away before reneighboring. @@ -5606,13 +5601,13 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *MEAM library error %d* A call to the MEAM Fortran library returned an error. -*MPI\_LMP\_BIGINT and bigint in lmptype.h are not compatible* +*MPI_LMP_BIGINT and bigint in lmptype.h are not compatible* The size of the MPI datatype does not match the size of a bigint. -*MPI\_LMP\_TAGINT and tagint in lmptype.h are not compatible* +*MPI_LMP_TAGINT and tagint in lmptype.h are not compatible* The size of the MPI datatype does not match the size of a tagint. -*MSM can only currently be used with comm\_style brick* +*MSM can only currently be used with comm_style brick* This is a current restriction in LAMMPS. *MSM grid is too large* @@ -5625,23 +5620,23 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` the MSM order can only be 4, 6, 8, or 10. *Mass command before simulation box is defined* - The mass command cannot be used before a read\_data, read\_restart, or - create\_box command. + The mass command cannot be used before a read_data, read_restart, or + create_box command. *Matrix factorization to split dispersion coefficients failed* This should not normally happen. Contact the developers. -*Min\_style command before simulation box is defined* - The min\_style command cannot be used before a read\_data, read\_restart, - or create\_box command. +*Min_style command before simulation box is defined* + The min_style command cannot be used before a read_data, read_restart, + or create_box command. -*Minimization could not find thermo\_pe compute* +*Minimization could not find thermo_pe compute* This compute is created by the thermo command. It must have been explicitly deleted by a uncompute command. *Minimize command before simulation box is defined* - The minimize command cannot be used before a read\_data, read\_restart, - or create\_box command. + The minimize command cannot be used before a read_data, read_restart, + or create_box command. *Mismatched brackets in variable* Self-explanatory. @@ -5723,10 +5718,10 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Molecule sizescale must be 1.0 for body particle* Self-explanatory. -*Molecule template ID for atom\_style template does not exist* +*Molecule template ID for atom_style template does not exist* Self-explanatory. -*Molecule template ID for create\_atoms does not exist* +*Molecule template ID for create_atoms does not exist* Self-explanatory. *Molecule template ID for fix deposit does not exist* @@ -5749,12 +5744,12 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Molecule topology/atom exceeds system topology/atom* The number of bonds, angles, etc per-atom in the molecule exceeds the - system setting. See the create\_box command for how to specify these + system setting. See the create_box command for how to specify these values. *Molecule topology type exceeds system topology type* The number of bond, angle, etc types in the molecule exceeds the - system setting. See the create\_box command for how to specify these + system setting. See the create_box command for how to specify these values. *More than one fix deform* @@ -5770,60 +5765,60 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Mu not allowed when not using semi-grand in fix atom/swap command* Self-explanatory. -*Must define angle\_style before Angle Coeffs* - Must use an angle\_style command before reading a data file that +*Must define angle_style before Angle Coeffs* + Must use an angle_style command before reading a data file that defines Angle Coeffs. -*Must define angle\_style before BondAngle Coeffs* - Must use an angle\_style command before reading a data file that +*Must define angle_style before BondAngle Coeffs* + Must use an angle_style command before reading a data file that defines Angle Coeffs. -*Must define angle\_style before BondBond Coeffs* - Must use an angle\_style command before reading a data file that +*Must define angle_style before BondBond Coeffs* + Must use an angle_style command before reading a data file that defines Angle Coeffs. -*Must define bond\_style before Bond Coeffs* - Must use a bond\_style command before reading a data file that +*Must define bond_style before Bond Coeffs* + Must use a bond_style command before reading a data file that defines Bond Coeffs. -*Must define dihedral\_style before AngleAngleTorsion Coeffs* - Must use a dihedral\_style command before reading a data file that +*Must define dihedral_style before AngleAngleTorsion Coeffs* + Must use a dihedral_style command before reading a data file that defines AngleAngleTorsion Coeffs. -*Must define dihedral\_style before AngleTorsion Coeffs* - Must use a dihedral\_style command before reading a data file that +*Must define dihedral_style before AngleTorsion Coeffs* + Must use a dihedral_style command before reading a data file that defines AngleTorsion Coeffs. -*Must define dihedral\_style before BondBond13 Coeffs* - Must use a dihedral\_style command before reading a data file that +*Must define dihedral_style before BondBond13 Coeffs* + Must use a dihedral_style command before reading a data file that defines BondBond13 Coeffs. -*Must define dihedral\_style before Dihedral Coeffs* - Must use a dihedral\_style command before reading a data file that +*Must define dihedral_style before Dihedral Coeffs* + Must use a dihedral_style command before reading a data file that defines Dihedral Coeffs. -*Must define dihedral\_style before EndBondTorsion Coeffs* - Must use a dihedral\_style command before reading a data file that +*Must define dihedral_style before EndBondTorsion Coeffs* + Must use a dihedral_style command before reading a data file that defines EndBondTorsion Coeffs. -*Must define dihedral\_style before MiddleBondTorsion Coeffs* - Must use a dihedral\_style command before reading a data file that +*Must define dihedral_style before MiddleBondTorsion Coeffs* + Must use a dihedral_style command before reading a data file that defines MiddleBondTorsion Coeffs. -*Must define improper\_style before AngleAngle Coeffs* - Must use an improper\_style command before reading a data file that +*Must define improper_style before AngleAngle Coeffs* + Must use an improper_style command before reading a data file that defines AngleAngle Coeffs. -*Must define improper\_style before Improper Coeffs* - Must use an improper\_style command before reading a data file that +*Must define improper_style before Improper Coeffs* + Must use an improper_style command before reading a data file that defines Improper Coeffs. -*Must define pair\_style before Pair Coeffs* - Must use a pair\_style command before reading a data file that defines +*Must define pair_style before Pair Coeffs* + Must use a pair_style command before reading a data file that defines Pair Coeffs. -*Must define pair\_style before PairIJ Coeffs* - Must use a pair\_style command before reading a data file that defines +*Must define pair_style before PairIJ Coeffs* + Must use a pair_style command before reading a data file that defines PairIJ Coeffs. *Must have more than one processor partition to temper* @@ -5860,9 +5855,9 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` The Atoms section of a data file must come before a Velocities section. -*Must re-specify non-restarted pair style (xxx) after read\_restart* +*Must re-specify non-restarted pair style (xxx) after read_restart* For pair styles, that do not store their settings in a restart file, - it must be defined with a new 'pair\_style' command after read\_restart. + it must be defined with a new 'pair_style' command after read_restart. *Must set both respa inner and outer* Cannot use just the inner or outer option with respa without using the @@ -5870,7 +5865,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Must set number of threads via package omp command* Because you are using the USER-OMP package, set the number of threads - via its settings, not by the pair\_style snap nthreads setting. + via its settings, not by the pair_style snap nthreads setting. *Must shrink-wrap piston boundary* The boundary style of the face where the piston is applied must be of @@ -5885,30 +5880,30 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *Must specify at least 2 types in fix atom/swap command* Self-explanatory. -*Must use 'kim\_style init' command before simulation box is defined* +*Must use 'kim_style init' command before simulation box is defined* Self-explanatory. -*Must use 'kim\_style define' command after simulation box is defined* +*Must use 'kim_style define' command after simulation box is defined* Self-explanatory. -*Must use 'kim\_style init' command before 'kim\_style define'* +*Must use 'kim_style init' command before 'kim_style define'* Self-explanatory. -*Must use 'kspace\_modify pressure/scalar no' for rRESPA with kspace\_style MSM* +*Must use 'kspace_modify pressure/scalar no' for rRESPA with kspace_style MSM* The kspace scalar pressure option cannot (yet) be used with rRESPA. -*Must use 'kspace\_modify pressure/scalar no' for tensor components with kspace\_style msm* - Otherwise MSM will compute only a scalar pressure. See the kspace\_modify +*Must use 'kspace_modify pressure/scalar no' for tensor components with kspace_style msm* + Otherwise MSM will compute only a scalar pressure. See the kspace_modify command for details on this setting. -*Must use 'kspace\_modify pressure/scalar no' to obtain per-atom virial with kspace\_style MSM* +*Must use 'kspace_modify pressure/scalar no' to obtain per-atom virial with kspace_style MSM* The kspace scalar pressure option cannot be used to obtain per-atom virial. -*Must use 'kspace\_modify pressure/scalar no' with GPU MSM Pair styles* +*Must use 'kspace_modify pressure/scalar no' with GPU MSM Pair styles* The kspace scalar pressure option is not (yet) compatible with GPU MSM Pair styles. -*Must use 'kspace\_modify pressure/scalar no' with kspace\_style msm/cg* - The kspace scalar pressure option is not compatible with kspace\_style msm/cg. +*Must use 'kspace_modify pressure/scalar no' with kspace_style msm/cg* + The kspace scalar pressure option is not compatible with kspace_style msm/cg. *Must use -in switch with multiple partitions* A multi-partition simulation cannot read the input script from stdin. @@ -5938,12 +5933,12 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` command. *Must use atom map style array with Kokkos* - See the atom\_modify map command. + See the atom_modify map command. *Must use atom style with molecule IDs with fix bond/swap* Self-explanatory. -*Must use pair\_style comb or comb3 with fix qeq/comb* +*Must use pair_style comb or comb3 with fix qeq/comb* Self-explanatory. *Must use variable energy with fix addforce* @@ -5970,29 +5965,29 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` Self-explanatory. *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 doc page for details. *Needed molecular topology not in data file* The header of the data file indicated bonds, angles, etc would be included, but they are not present. -*Neigh\_modify exclude molecule requires atom attribute molecule* +*Neigh_modify exclude molecule requires atom attribute molecule* Self-explanatory. -*Neigh\_modify include group != atom\_modify first group* +*Neigh_modify include group != atom_modify first group* Self-explanatory. *Neighbor delay must be 0 or multiple of every setting* - The delay and every parameters set via the neigh\_modify command are + The delay and every parameters set via the neigh_modify command are inconsistent. If the delay setting is non-zero, then it must be a multiple of the every setting. *Neighbor include group not allowed with ghost neighbors* This is a current restriction within LAMMPS. -*Neighbor list overflow, boost neigh\_modify one* - There are too many neighbors of a single atom. Use the neigh\_modify +*Neighbor list overflow, boost neigh_modify one* + There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. You may also want to boost the page size. @@ -6011,23 +6006,23 @@ Doc page with :doc:`WARNING messages <Errors_warnings>` *New atom IDs exceed maximum allowed ID* See the setting for tagint in the src/lmptype.h file. -*New bond exceeded bonds per atom in create\_bonds* -See the read\_data command for info on using the "extra/bond/per/atom" +*New bond exceeded bonds per atom in create_bonds* +See the read_data command for info on using the "extra/bond/per/atom" keyword to allow for additional bonds to be formed *New bond exceeded bonds per atom in fix bond/create* - See the read\_data command for info on using the "extra/bond/per/atom" + See the read_data command for info on using the "extra/bond/per/atom" keyword to allow for additional bonds to be formed *New bond exceeded special list size in fix bond/create* - See the "read\_data extra/special/per/atom" command - (or the "create\_box extra/special/per/atom" command) + See the "read_data extra/special/per/atom" command + (or the "create_box extra/special/per/atom" command) for info on how to leave space in the special bonds list to allow for additional bonds to be formed. *Newton bond change after simulation box is defined* The newton command cannot be used to change the newton bond value - after a read\_data, read\_restart, or create\_box command. + after a read_data, read_restart, or create_box command. *Next command must list all universe and uloop variables* This is to insure they stay in sync. @@ -6110,7 +6105,7 @@ keyword to allow for additional bonds to be formed The data file cannot specify the number of bonds, angles, etc, because this info if inferred from the molecule templates. -*No overlap of box and region for create\_atoms* +*No overlap of box and region for create_atoms* Self-explanatory. *No pair coul/streitz for fix qeq/slater* @@ -6150,10 +6145,10 @@ keyword to allow for additional bonds to be formed *Non-numeric box dimensions - simulation unstable* The box size has apparently blown up. -*Non-zero atom IDs with atom\_modify id = no* +*Non-zero atom IDs with atom_modify id = no* Self-explanatory. -*Non-zero read\_data shift z value for 2d simulation* +*Non-zero read_data shift z value for 2d simulation* Self-explanatory. *Nprocs not a multiple of N for -reorder* @@ -6259,7 +6254,7 @@ keyword to allow for additional bonds to be formed NPT/NPH fix must be defined in input script after all poems fixes, else the fix contribution to the pressure virial is incorrect. -*PPPM can only currently be used with comm\_style brick* +*PPPM can only currently be used with comm_style brick* This is a current restriction in LAMMPS. *PPPM grid is too large* @@ -6268,11 +6263,11 @@ keyword to allow for additional bonds to be formed requested accuracy. *PPPM grid stencil extends beyond nearest neighbor processor* - This is not allowed if the kspace\_modify overlap setting is no. + This is not allowed if the kspace_modify overlap setting is no. *PPPM order < minimum allowed order* The default minimum order is 2. This can be reset by the - kspace\_modify minorder command. + kspace_modify minorder command. *PPPM order cannot be < 2 or > than %d* This is a limitation of the PPPM implementation in LAMMPS. @@ -6287,28 +6282,28 @@ keyword to allow for additional bonds to be formed OFFSET is currently set to 4096. You likely need to decrease the requested accuracy. -*PPPMDisp can only currently be used with comm\_style brick* +*PPPMDisp can only currently be used with comm_style brick* This is a current restriction in LAMMPS. *PPPMDisp coulomb order cannot be greater than %d* This is a limitation of the PPPM implementation in LAMMPS. *PPPMDisp used but no parameters set, for further information please see the pppm/disp documentation* - An efficient and accurate usage of the pppm/disp requires settings via the kspace\_modify command. Please see the pppm/disp documentation for further instructions. + An efficient and accurate usage of the pppm/disp requires settings via the kspace_modify command. Please see the pppm/disp documentation for further instructions. *PRD command before simulation box is defined* - The prd command cannot be used before a read\_data, - read\_restart, or create\_box command. + The prd command cannot be used before a read_data, + read_restart, or create_box command. -*PRD nsteps must be multiple of t\_event* +*PRD nsteps must be multiple of t_event* Self-explanatory. -*PRD t\_corr must be multiple of t\_event* +*PRD t_corr must be multiple of t_event* Self-explanatory. *Package command after simulation box is defined* - The package command cannot be used after a read\_data, read\_restart, or - create\_box command. + The package command cannot be used after a read_data, read_restart, or + create_box command. *Package gpu command without GPU package installed* The GPU package must be installed via "make yes-gpu" before LAMMPS is @@ -6351,7 +6346,7 @@ keyword to allow for additional bonds to be formed Self-explanatory. *Pair coeff for hybrid has invalid style* - Style in pair coeff must have been listed in pair\_style command. + Style in pair coeff must have been listed in pair_style command. *Pair coul/wolf requires atom attribute q* The atom style defined does not have this attribute. @@ -6379,10 +6374,10 @@ keyword to allow for additional bonds to be formed Two atoms are further apart than the pairwise table allows. *Pair dpd requires ghost atoms store velocity* - Use the comm\_modify vel yes command to enable this. + Use the comm_modify vel yes command to enable this. *Pair gayberne epsilon a,b,c coeffs are not all set* - Each atom type involved in pair\_style gayberne must + Each atom type involved in pair_style gayberne must have these 3 coefficients set at least once. *Pair gayberne requires atom style ellipsoid* @@ -6401,7 +6396,7 @@ keyword to allow for additional bonds to be formed The atom style defined does not have these attributes. *Pair granular requires ghost atoms store velocity* - Use the comm\_modify vel yes command to enable this. + Use the comm_modify vel yes command to enable this. *Pair granular with shear history requires newton pair off* This is a current restriction of the implementation of pair @@ -6415,7 +6410,7 @@ keyword to allow for additional bonds to be formed that doesn't support it. *Pair hybrid sub-style is not used* - No pair\_coeff command used a sub-style specified in the pair\_style + No pair_coeff command used a sub-style specified in the pair_style command. *Pair inner cutoff < Respa interior cutoff* @@ -6435,7 +6430,7 @@ keyword to allow for additional bonds to be formed Self-explanatory. *Pair lubricate requires ghost atoms store velocity* - Use the comm\_modify vel yes command to enable this. + Use the comm_modify vel yes command to enable this. *Pair lubricate requires monodisperse particles* All particles must be the same finite size. @@ -6447,7 +6442,7 @@ keyword to allow for additional bonds to be formed One of the particles has radius 0.0. *Pair lubricate/poly requires ghost atoms store velocity* - Use the comm\_modify vel yes command to enable this. + Use the comm_modify vel yes command to enable this. *Pair lubricate/poly requires newton pair off* Self-explanatory. @@ -6456,13 +6451,13 @@ keyword to allow for additional bonds to be formed Self-explanatory. *Pair lubricateU requires ghost atoms store velocity* - Use the comm\_modify vel yes command to enable this. + Use the comm_modify vel yes command to enable this. *Pair lubricateU requires monodisperse particles* All particles must be the same finite size. *Pair lubricateU/poly requires ghost atoms store velocity* - Use the comm\_modify vel yes command to enable this. + Use the comm_modify vel yes command to enable this. *Pair lubricateU/poly requires newton pair off* Self-explanatory. @@ -6473,9 +6468,9 @@ keyword to allow for additional bonds to be formed *Pair peri requires a lattice be defined* Use the lattice command for this purpose. -*Pair peri requires an atom map, see atom\_modify* +*Pair peri requires an atom map, see atom_modify* Even for atomic systems, an atom map is required to find Peridynamic - bonds. Use the atom\_modify command to define one. + bonds. Use the atom_modify command to define one. *Pair resquared epsilon a,b,c coeffs are not all set* Self-explanatory. @@ -6615,12 +6610,12 @@ keyword to allow for additional bonds to be formed The pair style does not support the pN value requested by the compute pair/local command. -*Pair style does not support bond\_style quartic* +*Pair style does not support bond_style quartic* The pair style does not have a single() function, so it can - not be invoked by bond\_style quartic. + not be invoked by bond_style quartic. *Pair style does not support compute group/group* - The pair\_style does not have a single() function, so it cannot be + The pair_style does not have a single() function, so it cannot be invoked by the compute group/group command. *Pair style does not support compute pair/local* @@ -6635,7 +6630,7 @@ keyword to allow for additional bonds to be formed The pair style does not have a single() function, so it can not be invoked by fix bond/swap. -*Pair style does not support pair\_write* +*Pair style does not support pair_write* The pair style does not have a single() function, so it can not be invoked by pair write. @@ -6647,7 +6642,7 @@ keyword to allow for additional bonds to be formed Atoms in the simulation do not have IDs, so history effects cannot be tracked by the granular pair potential. -*Pair style hbond/dreiding requires an atom map, see atom\_modify* +*Pair style hbond/dreiding requires an atom map, see atom_modify* Self-explanatory. *Pair style hbond/dreiding requires atom IDs* @@ -6733,7 +6728,7 @@ keyword to allow for additional bonds to be formed molecule adds forces to atoms owned by other processors. *Pair style lj/gromacs/coul/gromacs requires atom attribute q* - An atom\_style with this attribute is needed. + An atom_style with this attribute is needed. *Pair style lj/long/dipole/long does not currently support respa* This feature is not yet supported. @@ -6786,7 +6781,7 @@ keyword to allow for additional bonds to be formed *Pair style requires a KSpace style* No kspace style is defined. -*Pair style requires use of kspace\_style ewald/disp* +*Pair style requires use of kspace_style ewald/disp* Self-explanatory. *Pair style sw/gpu requires atom IDs* @@ -6856,21 +6851,21 @@ keyword to allow for additional bonds to be formed *PairKIM only works with 3D problems* This is a current limitation. -*Pair\_coeff command before pair\_style is defined* +*Pair_coeff command before pair_style is defined* Self-explanatory. -*Pair\_coeff command before simulation box is defined* - The pair\_coeff command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Pair_coeff command before simulation box is defined* + The pair_coeff command cannot be used before a read_data, + read_restart, or create_box command. -*Pair\_modify command before pair\_style is defined* +*Pair_modify command before pair_style is defined* Self-explanatory. -*Pair\_modify special setting for pair hybrid incompatible with global special\_bonds setting* +*Pair_modify special setting for pair hybrid incompatible with global special_bonds setting* Cannot override a setting of 0.0 or 1.0 or change a setting between 0.0 and 1.0. -*Pair\_write command before pair\_style is defined* +*Pair_write command before pair_style is defined* Self-explanatory. *Particle on or inside fix wall surface* @@ -6991,8 +6986,8 @@ keyword to allow for additional bonds to be formed of processors LAMMPS is running on. *Processors command after simulation box is defined* - The processors command cannot be used after a read\_data, read\_restart, - or create\_box command. + The processors command cannot be used after a read_data, read_restart, + or create_box command. *Processors custom grid file is inconsistent* The vales in the custom file are not consistent with the number of @@ -7065,35 +7060,35 @@ keyword to allow for additional bonds to be formed This is because a % signifies one file per processor and MPI-IO creates one large file for all processors. -*Read\_data shrink wrap did not assign all atoms correctly* +*Read_data shrink wrap did not assign all atoms correctly* This is typically because the box-size specified in the data file is large compared to the actual extent of atoms in a shrink-wrapped dimension. When LAMMPS shrink-wraps the box atoms will be lost if the processor they are re-assigned to is too far away. Choose a box size closer to the actual extent of the atoms. -*Read\_dump command before simulation box is defined* - The read\_dump command cannot be used before a read\_data, read\_restart, - or create\_box command. +*Read_dump command before simulation box is defined* + The read_dump command cannot be used before a read_data, read_restart, + or create_box command. -*Read\_dump field not found in dump file* +*Read_dump field not found in dump file* Self-explanatory. -*Read\_dump triclinic status does not match simulation* +*Read_dump triclinic status does not match simulation* Both the dump snapshot and the current LAMMPS simulation must be using either an orthogonal or triclinic box. -*Read\_dump xyz fields do not have consistent scaling/wrapping* +*Read_dump xyz fields do not have consistent scaling/wrapping* Self-explanatory. *Reading from MPI-IO filename when MPIIO package is not installed* Self-explanatory. -*Reax\_defs.h setting for NATDEF is too small* +*Reax_defs.h setting for NATDEF is too small* Edit the setting in the ReaxFF library and re-compile the library and re-build LAMMPS. -*Reax\_defs.h setting for NNEIGHMAXDEF is too small* +*Reax_defs.h setting for NNEIGHMAXDEF is too small* Edit the setting in the ReaxFF library and re-compile the library and re-build LAMMPS. @@ -7174,8 +7169,8 @@ keyword to allow for additional bonds to be formed when you do not intend to. *Replicate command before simulation box is defined* - The replicate command cannot be used before a read\_data, read\_restart, - or create\_box command. + The replicate command cannot be used before a read_data, read_restart, + or create_box command. *Replicate did not assign all atoms correctly* Atoms replicated by the replicate command were not assigned correctly @@ -7193,8 +7188,8 @@ keyword to allow for additional bonds to be formed by Kokkos. *Rerun command before simulation box is defined* - The rerun command cannot be used before a read\_data, read\_restart, or - create\_box command. + The rerun command cannot be used before a read_data, read_restart, or + create_box command. *Rerun dump file does not contain requested snapshot* Self-explanatory. @@ -7293,8 +7288,8 @@ keyword to allow for additional bonds to be formed Rmask is per-atom operation. *Run command before simulation box is defined* - The run command cannot be used before a read\_data, read\_restart, or - create\_box command. + The run command cannot be used before a read_data, read_restart, or + create_box command. *Run command start value is after start of run* Self-explanatory. @@ -7302,9 +7297,9 @@ keyword to allow for additional bonds to be formed *Run command stop value is before end of run* Self-explanatory. -*Run\_style command before simulation box is defined* - The run\_style command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Run_style command before simulation box is defined* + The run_style command cannot be used before a read_data, + read_restart, or create_box command. *SRD bin size for fix srd differs from user request* Fix SRD had to adjust the bin size to fit the simulation box. See the @@ -7329,8 +7324,8 @@ keyword to allow for additional bonds to be formed Cannot specify a partition to be a sender twice. *Set command before simulation box is defined* - The set command cannot be used before a read\_data, read\_restart, - or create\_box command. + The set command cannot be used before a read_data, read_restart, + or create_box command. *Set command floating point vector does not exist* Self-explanatory. @@ -7380,8 +7375,8 @@ keyword to allow for additional bonds to be formed NPT fix must be defined in input script after SHAKE fix, else the SHAKE fix contribution to the pressure virial is incorrect. -*Shear history overflow, boost neigh\_modify one* - There are too many neighbors of a single atom. Use the neigh\_modify +*Shear history overflow, boost neigh_modify one* + There are too many neighbors of a single atom. Use the neigh_modify command to increase the max number of neighbors allowed for one atom. You may also want to boost the page size. @@ -7398,13 +7393,13 @@ keyword to allow for additional bonds to be formed you are running. *Special list size exceeded in fix bond/create* - See the "read\_data extra/special/per/atom" command - (or the "create\_box extra/special/per/atom" command) + See the "read_data extra/special/per/atom" command + (or the "create_box extra/special/per/atom" command) for info on how to leave space in the special bonds list to allow for additional bonds to be formed. *Species XXX is not supported by this KIM Simulator Model* - The kim\_style define command was referencing a species that is not + The kim_style define command was referencing a species that is not present in the requested KIM Simulator Model. *Specified processors != physical processors* @@ -7418,33 +7413,33 @@ keyword to allow for additional bonds to be formed Self-explanatory. *Subsequent read data induced too many angles per atom* - See the extra/angle/per/atom keyword for the create\_box - or the read\_data command to set this limit larger + See the extra/angle/per/atom keyword for the create_box + or the read_data command to set this limit larger *Subsequent read data induced too many bonds per atom* - See the extra/bond/per/atom keyword for the create\_box - or the read\_data command to set this limit larger + See the extra/bond/per/atom keyword for the create_box + or the read_data command to set this limit larger *Subsequent read data induced too many dihedrals per atom* - See the extra/dihedral/per/atom keyword for the create\_box - or the read\_data command to set this limit larger + See the extra/dihedral/per/atom keyword for the create_box + or the read_data command to set this limit larger *Subsequent read data induced too many impropers per atom* - See the extra/improper/per/atom keyword for the create\_box - or the read\_data command to set this limit larger + See the extra/improper/per/atom keyword for the create_box + or the read_data command to set this limit larger *Substitution for illegal variable* Input script line contained a variable that could not be substituted for. *Support for writing images in JPEG format not included* - LAMMPS was not built with the -DLAMMPS\_JPEG switch in the Makefile. + LAMMPS was not built with the -DLAMMPS_JPEG switch in the Makefile. *Support for writing images in PNG format not included* - LAMMPS was not built with the -DLAMMPS\_PNG switch in the Makefile. + LAMMPS was not built with the -DLAMMPS_PNG switch in the Makefile. *Support for writing movies not included* - LAMMPS was not built with the -DLAMMPS\_FFMPEG switch in the Makefile + LAMMPS was not built with the -DLAMMPS_FFMPEG switch in the Makefile *System in data file is too big* See the setting for bigint in the src/lmptype.h file. @@ -7453,7 +7448,7 @@ keyword to allow for additional bonds to be formed The total charge on all atoms on the system is not 0.0. For some KSpace solvers this is an error. -*TAD nsteps must be multiple of t\_event* +*TAD nsteps must be multiple of t_event* Self-explanatory. *TIP4P hydrogen has incorrect atom type* @@ -7500,8 +7495,8 @@ keyword to allow for additional bonds to be formed Self-explanatory. *Temper command before simulation box is defined* - The temper command cannot be used before a read\_data, read\_restart, or - create\_box command. + The temper command cannot be used before a read_data, read_restart, or + create_box command. *Temperature ID for fix bond/swap does not exist* Self-explanatory. @@ -7582,7 +7577,7 @@ keyword to allow for additional bonds to be formed *Temperature for fix nvt/sllod does not have a bias* The specified compute must compute temperature with a bias. -*Tempering could not find thermo\_pe compute* +*Tempering could not find thermo_pe compute* This compute is created by the thermo command. It must have been explicitly deleted by a uncompute command. @@ -7593,7 +7588,7 @@ keyword to allow for additional bonds to be formed The fix specified by the temper command is not one that controls temperature (nvt or langevin). -*Test\_descriptor\_string already allocated* +*Test_descriptor_string already allocated* This is an internal error. Contact the developers. *The package gpu command is required for gpu styles* @@ -7659,34 +7654,34 @@ keyword to allow for additional bonds to be formed your thermo output. *Thermo style does not use press* - Cannot use thermo\_modify to set this parameter since the thermo\_style + Cannot use thermo_modify to set this parameter since the thermo_style is not computing this quantity. *Thermo style does not use temp* - Cannot use thermo\_modify to set this parameter since the thermo\_style + Cannot use thermo_modify to set this parameter since the thermo_style is not computing this quantity. -*Thermo\_modify every variable returned a bad timestep* +*Thermo_modify every variable returned a bad timestep* The returned timestep is less than or equal to the current timestep. -*Thermo\_modify int format does not contain d character* +*Thermo_modify int format does not contain d character* Self-explanatory. -*Thermo\_modify pressure ID does not compute pressure* +*Thermo_modify pressure ID does not compute pressure* The specified compute ID does not compute pressure. -*Thermo\_modify temperature ID does not compute temperature* +*Thermo_modify temperature ID does not compute temperature* The specified compute ID does not compute temperature. -*Thermo\_style command before simulation box is defined* - The thermo\_style command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Thermo_style command before simulation box is defined* + The thermo_style command cannot be used before a read_data, + read_restart, or create_box command. *This variable thermo keyword cannot be used between runs* Keywords that refer to time (such as cpu, elapsed) do not make sense in between runs. -*Threshhold for an atom property that isn't allocated* +*Threshold for an atom property that isn't allocated* A dump threshold has been requested on a quantity that is not defined by the atom style used in this simulation. @@ -7703,7 +7698,7 @@ keyword to allow for additional bonds to be formed The timestep must fit in a 32-bit integer to use this dump style. *Too few bits for lookup table* - Table size specified via pair\_modify command does not work with your + Table size specified via pair_modify command does not work with your machine's floating point representation. *Too few lines in %s section of data file* @@ -7750,19 +7745,19 @@ keyword to allow for additional bonds to be formed Cannot sort when running with more than 2\^31 atoms. *Too many exponent bits for lookup table* - Table size specified via pair\_modify command does not work with your + Table size specified via pair_modify command does not work with your machine's floating point representation. *Too many groups* The maximum number of atom groups (including the "all" group) is - given by MAX\_GROUP in group.cpp and is 32. + given by MAX_GROUP in group.cpp and is 32. *Too many iterations* You must use a number of iterations that fit in a 32-bit integer for minimization. *Too many lines in one body in data file - boost MAXBODY* - MAXBODY is a setting at the top of the src/read\_data.cpp file. + MAXBODY is a setting at the top of the src/read_data.cpp file. Set it larger and re-compile the code. *Too many local+ghost atoms for neighbor list* @@ -7771,7 +7766,7 @@ keyword to allow for additional bonds to be formed removed for masking 1-2, 1-3, 1-4 neighbors. *Too many mantissa bits for lookup table* - Table size specified via pair\_modify command does not work with your + Table size specified via pair_modify command does not work with your machine's floating point representation. *Too many masses for fix shake* @@ -7799,7 +7794,7 @@ keyword to allow for additional bonds to be formed See the setting for bigint in the src/lmptype.h file. *Too many total bits for bitmapped lookup table* - Table size specified via pair\_modify command is too large. Note that + Table size specified via pair_modify command is too large. Note that a value of N generates a 2\^N size table. *Too many values in body lines in data file* @@ -7826,7 +7821,7 @@ keyword to allow for additional bonds to be formed +half of the x box length. This constraint can be relaxed by using the box tilt command. -*Tried to convert a double to int, but input\_double > INT\_MAX* +*Tried to convert a double to int, but input_double > INT_MAX* Self-explanatory. *Trying to build an occasional neighbor list before initialization completed* @@ -7888,8 +7883,8 @@ keyword to allow for additional bonds to be formed A read operation from the file failed. *Units command after simulation box is defined* - The units command cannot be used after a read\_data, read\_restart, or - create\_box command. + The units command cannot be used after a read_data, read_restart, or + create_box command. *Universe/uloop variable count < # of partitions* A universe or uloop style variable must specify a number of values >= to the @@ -7907,13 +7902,13 @@ keyword to allow for additional bonds to be formed *Unrecognized bond style* The choice of bond style is unknown. -*Unknown category for info is\_active()* +*Unknown category for info is_active()* Self-explanatory. -*Unknown category for info is\_available()* +*Unknown category for info is_available()* Self-explanatory. -*Unknown category for info is\_defined()* +*Unknown category for info is_defined()* Self-explanatory. *Unrecognized command: %s* @@ -7943,7 +7938,7 @@ keyword to allow for additional bonds to be formed *Unrecognized improper style* The choice of improper style is unknown. -*Unknown keyword in thermo\_style custom command* +*Unknown keyword in thermo_style custom command* One or more specified keywords are not recognized. *Unrecognized kspace style* @@ -7961,7 +7956,7 @@ keyword to allow for additional bonds to be formed *Unrecognized pair style* The choice of pair style is unknown. -*Unknown pair\_modify hybrid sub-style* +*Unknown pair_modify hybrid sub-style* The choice of sub-style is unknown. *Unrecognized region style* @@ -7976,10 +7971,10 @@ keyword to allow for additional bonds to be formed *Unknown table style in bond style table* Self-explanatory. -*Unknown table style in pair\_style command* - Style of table is invalid for use with pair\_style table command. +*Unknown table style in pair_style command* + Style of table is invalid for use with pair_style table command. -*Unknown unit\_style* +*Unknown unit_style* Self-explanatory. Check the input script or data file. *Unrecognized lattice type in MEAM file 1* @@ -7993,13 +7988,13 @@ keyword to allow for additional bonds to be formed *Unrecognized pair style in compute pair command* Self-explanatory. -*Unsupported mixing rule in kspace\_style ewald/disp* +*Unsupported mixing rule in kspace_style ewald/disp* Only geometric mixing is supported. -*Unsupported order in kspace\_style ewald/disp* +*Unsupported order in kspace_style ewald/disp* Only 1/r\^6 dispersion or dipole terms are supported. -*Unsupported order in kspace\_style pppm/disp, pair\_style %s* +*Unsupported order in kspace_style pppm/disp, pair_style %s* Only pair styles with 1/r and 1/r\^6 dependence are currently supported. *Use cutoff keyword to set cutoff in single mode* @@ -8062,10 +8057,10 @@ keyword to allow for additional bonds to be formed *Variable for compute ti is invalid style* Self-explanatory. -*Variable for create\_atoms is invalid style* +*Variable for create_atoms is invalid style* The variables must be equal-style variables. -*Variable for displace\_atoms is invalid style* +*Variable for displace_atoms is invalid style* It must be an equal-style or atom-style variable. *Variable for dump every is invalid style* @@ -8205,10 +8200,10 @@ keyword to allow for additional bonds to be formed *Variable name for compute ti does not exist* Self-explanatory. -*Variable name for create\_atoms does not exist* +*Variable name for create_atoms does not exist* Self-explanatory. -*Variable name for displace\_atoms does not exist* +*Variable name for displace_atoms does not exist* Self-explanatory. *Variable name for dump every does not exist* @@ -8344,8 +8339,8 @@ keyword to allow for additional bonds to be formed Self-explanatory. *Velocity command before simulation box is defined* - The velocity command cannot be used before a read\_data, read\_restart, - or create\_box command. + The velocity command cannot be used before a read_data, read_restart, + or create_box command. *Velocity command with no atoms existing* A velocity command has been used, but no atoms yet exist. @@ -8363,7 +8358,7 @@ keyword to allow for additional bonds to be formed The compute ID given to the velocity command must compute temperature. -*Verlet/split can only currently be used with comm\_style brick* +*Verlet/split can only currently be used with comm_style brick* This is a current restriction in LAMMPS. *Verlet/split does not yet support TIP4P* @@ -8412,17 +8407,17 @@ keyword to allow for additional bonds to be formed A world-style variable must specify a number of values equal to the number of processor partitions. -*Write\_data command before simulation box is defined* +*Write_data command before simulation box is defined* Self-explanatory. -*Write\_restart command before simulation box is defined* - The write\_restart command cannot be used before a read\_data, - read\_restart, or create\_box command. +*Write_restart command before simulation box is defined* + The write_restart command cannot be used before a read_data, + read_restart, or create_box command. *Writing to MPI-IO filename when MPIIO package is not installed* Self-explanatory. -*Zero length rotation vector with displace\_atoms* +*Zero length rotation vector with displace_atoms* Self-explanatory. *Zero length rotation vector with fix move* diff --git a/doc/src/Errors_warnings.rst b/doc/src/Errors_warnings.rst index 7fa6661ebe..dbe830c8bf 100644 --- a/doc/src/Errors_warnings.rst +++ b/doc/src/Errors_warnings.rst @@ -7,7 +7,6 @@ documentation for the offending command may help. Warning messages also list the source file and line number where the warning was generated. For example, a message like this: - .. parsed-literal:: WARNING: Bond atom missing in box size check (domain.cpp:187) @@ -21,12 +20,8 @@ code or contact the author of the package. Doc page with :doc:`ERROR messages <Errors_messages>` - ---------- - - - *Adjusting Coulombic cutoff for MSM, new cutoff = %g* The adjust/cutoff command is turned on and the Coulombic cutoff has been adjusted to match the user-specified accuracy. @@ -42,7 +37,7 @@ Doc page with :doc:`ERROR messages <Errors_messages>` *Angles are defined but no angle style is set* The topology contains angles, but there are no angle forces computed - since there was no angle\_style command. + since there was no angle_style command. *Atom style in data file differs from currently defined atom style* Self-explanatory. @@ -67,7 +62,7 @@ Doc page with :doc:`ERROR messages <Errors_messages>` *Bonds are defined but no bond style is set* The topology contains bonds, but there are no bond forces computed - since there was no bond\_style command. + since there was no bond_style command. *Bond/angle/dihedral extent > half of periodic box length* This is a restriction because LAMMPS can be confused about which image @@ -88,8 +83,8 @@ Doc page with :doc:`ERROR messages <Errors_messages>` *Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero* Self-explanatory. -*Calling write\_dump before a full system init.* - The write\_dump command is used before the system has been fully +*Calling write_dump before a full system init.* + The write_dump command is used before the system has been fully initialized as part of a 'run' or 'minimize' command. Not all dump styles and features are fully supported at this point and thus the command may fail or produce incomplete or incorrect output. Insert @@ -136,11 +131,11 @@ Doc page with :doc:`ERROR messages <Errors_messages>` degrees-of-freedom for the atoms in those partial rigid bodies will not be accounted for. -*Create\_bonds max distance > minimum neighbor cutoff* +*Create_bonds max distance > minimum neighbor cutoff* This means atom pairs for some atom types may not be in the neighbor list and thus no bond can be created between them. -*Delete\_atoms cutoff > minimum neighbor cutoff* +*Delete_atoms cutoff > minimum neighbor cutoff* This means atom pairs for some atom types may not be in the neighbor list and thus an atom in that pair cannot be deleted. @@ -163,7 +158,7 @@ Doc page with :doc:`ERROR messages <Errors_messages>` *Dihedrals are defined but no dihedral style is set* The topology contains dihedrals, but there are no dihedral forces computed - since there was no dihedral\_style command. + since there was no dihedral_style command. *Dump dcd/xtc timestamp may be wrong with fix dt/reset* If the fix changes the timestep, the dump dcd file will not @@ -177,7 +172,7 @@ Doc page with :doc:`ERROR messages <Errors_messages>` *Estimated error in splitting of dispersion coeffs is %g* Error is greater than 0.0001 percent. -*Ewald/disp Newton solver failed, using old method to estimate g\_ewald* +*Ewald/disp Newton solver failed, using old method to estimate g_ewald* Self-explanatory. Choosing a different cutoff value may help. *FENE bond too long* @@ -217,8 +212,8 @@ Doc page with :doc:`ERROR messages <Errors_messages>` This is probably an error, since you should not delete only one atom of a molecule. -*Fix gcmc using full\_energy option* - Fix gcmc has automatically turned on the full\_energy option since it +*Fix gcmc using full_energy option* + Fix gcmc has automatically turned on the full_energy option since it is required for systems like the one specified by the user. User input included one or more of the following: kspace, triclinic, a hybrid pair style, an eam pair style, or no "single" function for the pair @@ -273,19 +268,19 @@ This will most likely cause errors in kinetic fluctuations. *Fixes cannot send data in Kokkos communication, switching to classic communication* This is current restriction with Kokkos. -*For better accuracy use 'pair\_modify table 0'* +*For better accuracy use 'pair_modify table 0'* The user-specified force accuracy cannot be achieved unless the table - feature is disabled by using 'pair\_modify table 0'. + feature is disabled by using 'pair_modify table 0'. *Geometric mixing assumed for 1/r\^6 coefficients* Self-explanatory. -*Group for fix\_modify temp != fix group* - The fix\_modify command is specifying a temperature computation that +*Group for fix_modify temp != fix group* + The fix_modify command is specifying a temperature computation that computes a temperature on a different group of atoms than the fix itself operates on. This is probably not what you want to do. -*H matrix size has been exceeded: m\_fill=%d H.m=%d\n* +*H matrix size has been exceeded: m_fill=%d H.m=%d\n* This is the size of the matrix. *Ignoring unknown or incorrect info command flag* @@ -307,7 +302,7 @@ This will most likely cause errors in kinetic fluctuations. *Impropers are defined but no improper style is set* The topology contains impropers, but there are no improper forces computed - since there was no improper\_style command. + since there was no improper_style command. *Inconsistent image flags* The image flags for a pair on bonded atoms appear to be inconsistent. @@ -342,22 +337,22 @@ This will most likely cause errors in kinetic fluctuations. *KIM Model does not provide 'particleVirial'; virial per atom will be zero* Self-explanatory. -*Kspace\_modify slab param < 2.0 may cause unphysical behavior* - The kspace\_modify slab parameter should be larger to insure periodic +*Kspace_modify slab param < 2.0 may cause unphysical behavior* + The kspace_modify slab parameter should be larger to insure periodic grids padded with empty space do not overlap. *Less insertions than requested* The fix pour command was unsuccessful at finding open space for as many particles as it tried to insert. -*Library error in lammps\_gather\_atoms* +*Library error in lammps_gather_atoms* This library function cannot be used if atom IDs are not defined or are not consecutively numbered. -*Library error in lammps\_scatter\_atoms* +*Library error in lammps_scatter_atoms* This library function cannot be used if atom IDs are not defined or are not consecutively numbered, or if no atom map is defined. See the - atom\_modify command for details about atom maps. + atom_modify command for details about atom maps. *Likewise 1-2 special neighbor interactions != 1.0* The topology contains bonds, but there is no bond style defined @@ -380,15 +375,15 @@ This will most likely cause errors in kinetic fluctuations. pairs in the neighbor list in expectation of interactions for those pairs being computed from the dihedral style. -*Lost atoms via change\_box: original %ld current %ld* +*Lost atoms via change_box: original %ld current %ld* The command options you have used caused atoms to be lost. -*Lost atoms via displace\_atoms: original %ld current %ld* +*Lost atoms via displace_atoms: original %ld current %ld* The command options you have used caused atoms to be lost. *Lost atoms: original %ld current %ld* Lost atoms are checked for each time thermo output is done. See the - thermo\_modify lost command for options. Lost atoms usually indicate + thermo_modify lost command for options. Lost atoms usually indicate bad dynamics, e.g. atoms have been blown far out of the simulation box, or moved further than one processor's sub-domain away before reneighboring. @@ -411,8 +406,8 @@ This will most likely cause errors in kinetic fluctuations. This means the bonded atoms will not be excluded in pair-wise interactions. -*Molecule template for create\_atoms has multiple molecules* - The create\_atoms command will only create molecules of a single type, +*Molecule template for create_atoms has multiple molecules* + The create_atoms command will only create molecules of a single type, i.e. the first molecule in the template. *Molecule template for fix gcmc has multiple molecules* @@ -477,21 +472,21 @@ This will most likely cause errors in kinetic fluctuations. *Neighbor exclusions used with KSpace solver may give inconsistent Coulombic energies* This is because excluding specific pair interactions also excludes them from long-range interactions which may not be the desired effect. - The special\_bonds command handles this consistently by insuring + The special_bonds command handles this consistently by insuring excluded (or weighted) 1-2, 1-3, 1-4 interactions are treated consistently by both the short-range pair style and the long-range solver. This is not done for exclusions of charged atom pairs via the - neigh\_modify exclude command. + neigh_modify exclude command. -*New thermo\_style command, previous thermo\_modify settings will be lost* - If a thermo\_style command is used after a thermo\_modify command, the - settings changed by the thermo\_modify command will be reset to their - default values. This is because the thermo\_modify command acts on - the currently defined thermo style, and a thermo\_style command creates +*New thermo_style command, previous thermo_modify settings will be lost* + If a thermo_style command is used after a thermo_modify command, the + settings changed by the thermo_modify command will be reset to their + default values. This is because the thermo_modify command acts on + the currently defined thermo style, and a thermo_style command creates a new style. *No Kspace calculation with verlet/split* - The 2nd partition performs a kspace calculation so the kspace\_style + The 2nd partition performs a kspace calculation so the kspace_style command must be used. *No automatic unit conversion to XTC file format conventions possible for units lj* @@ -515,7 +510,7 @@ This will most likely cause errors in kinetic fluctuations. of two and the number of grid points in one or more directions have been adjusted to meet this requirement. -*OMP\_NUM\_THREADS environment is not set.* +*OMP_NUM_THREADS environment is not set.* This environment variable must be set appropriately to use the USER-OMP package. @@ -549,10 +544,10 @@ This will most likely cause errors in kinetic fluctuations. *Pair dpd needs newton pair on for momentum conservation* Self-explanatory. -*Pair dsmc: num\_of\_collisions > number\_of\_A* +*Pair dsmc: num_of_collisions > number_of_A* Collision model in DSMC is breaking down. -*Pair dsmc: num\_of\_collisions > number\_of\_B* +*Pair dsmc: num_of_collisions > number_of_B* Collision model in DSMC is breaking down. *Pair style in data file differs from currently defined pair style* @@ -577,15 +572,15 @@ This will most likely cause errors in kinetic fluctuations. sub-domain before reneighboring is triggered. *Reducing PPPM order b/c stencil extends beyond nearest neighbor processor* - This may lead to a larger grid than desired. See the kspace\_modify overlap + This may lead to a larger grid than desired. See the kspace_modify overlap command to prevent changing of the PPPM order. *Reducing PPPMDisp Coulomb order b/c stencil extends beyond neighbor processor* - This may lead to a larger grid than desired. See the kspace\_modify overlap + This may lead to a larger grid than desired. See the kspace_modify overlap command to prevent changing of the PPPM order. *Reducing PPPMDisp dispersion order b/c stencil extends beyond neighbor processor* - This may lead to a larger grid than desired. See the kspace\_modify overlap + This may lead to a larger grid than desired. See the kspace_modify overlap command to prevent changing of the PPPM order. *Replacing a fix, but new group != old group* @@ -598,19 +593,19 @@ This will most likely cause errors in kinetic fluctuations. dimension to be replicated; this may cause unwanted behavior. *Resetting reneighboring criteria during PRD* - A PRD simulation requires that neigh\_modify settings be delay = 0, + A PRD simulation requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values after the PRD simulation. *Resetting reneighboring criteria during TAD* - A TAD simulation requires that neigh\_modify settings be delay = 0, + A TAD simulation requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values after the PRD simulation. *Resetting reneighboring criteria during minimization* - Minimization requires that neigh\_modify settings be delay = 0, every = + Minimization requires that neigh_modify settings be delay = 0, every = 1, check = yes. Since these settings were not in place, LAMMPS changed them and will restore them to their original values after the minimization. @@ -714,7 +709,7 @@ This will most likely cause errors in kinetic fluctuations. which does operate on group all, so this may be inconsistent. *Temperature for thermo pressure is not for group all* - User-assigned temperature to thermo via the thermo\_modify command does + User-assigned temperature to thermo via the thermo_modify command does not compute temperature for all atoms. Since thermo computes a global pressure, the kinetic energy contribution from the temperature is assumed to also be for all atoms. Thus the pressure printed by thermo @@ -746,12 +741,12 @@ This will most likely cause errors in kinetic fluctuations. LAMMPS simulation may be inefficient as a result. *Use special bonds = 0,1,1 with bond style fene* - Most FENE models need this setting for the special\_bonds command. + Most FENE models need this setting for the special_bonds command. *Use special bonds = 0,1,1 with bond style fene/expand* - Most FENE models need this setting for the special\_bonds command. + Most FENE models need this setting for the special_bonds command. -*Using a many-body potential with bonds/angles/dihedrals and special\_bond exclusions* +*Using a many-body potential with bonds/angles/dihedrals and special_bond exclusions* This is likely not what you want to do. The exclusion settings will eliminate neighbors in the neighbor list, which the many-body potential needs to calculated its terms correctly. @@ -780,13 +775,13 @@ This will most likely cause errors in kinetic fluctuations. *Using largest cutoff for lj/long/coul/long* Self-explanatory. -*Using largest cutoff for pair\_style lj/long/tip4p/long* +*Using largest cutoff for pair_style lj/long/tip4p/long* Self-explanatory. *Using package gpu without any pair style defined* Self-explanatory. -*Using pair potential shift with pair\_modify compute no* +*Using pair potential shift with pair_modify compute no* The shift effects will thus not be computed. *Using pair tail corrections with nonperiodic system* @@ -794,8 +789,8 @@ This will most likely cause errors in kinetic fluctuations. computed by integrating the density of a periodic system out to infinity. -*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. -*pair style reax is now deprecated and will soon be retired. Users should switch to pair\_style reax/c* +*pair style reax is now deprecated and will soon be retired. Users should switch to pair_style reax/c* Self-explanatory. diff --git a/doc/src/Examples.rst b/doc/src/Examples.rst index 243ffdfd93..b94db208d9 100644 --- a/doc/src/Examples.rst +++ b/doc/src/Examples.rst @@ -18,7 +18,7 @@ files and image files. If you uncomment the :doc:`dump <dump>` command in the input script, a text dump file will be produced, which can be animated by various -`visualization programs <http://lammps.sandia.gov/viz.html>`_. +`visualization programs <https://lammps.sandia.gov/viz.html>`_. If you uncomment the :doc:`dump image <dump>` command in the input script, and assuming you have built LAMMPS with a JPG library, JPG @@ -38,10 +38,8 @@ particular quantity. Lists of both kinds of directories are given below. - ---------- - Lowercase directories --------------------- @@ -134,7 +132,7 @@ Lowercase directories +-------------+------------------------------------------------------------------+ | reax | RDX and TATB models using the ReaxFF | +-------------+------------------------------------------------------------------+ -| rerun | use of rerun and read\_dump commands | +| rerun | use of rerun and read_dump commands | +-------------+------------------------------------------------------------------+ | rigid | rigid bodies modeled as independent or coupled | +-------------+------------------------------------------------------------------+ @@ -157,8 +155,7 @@ Lowercase directories Here is how you can run and visualize one of the sample problems: - -.. parsed-literal:: +.. code-block:: bash cd indent cp ../../src/lmp_linux . # copy LAMMPS executable to this dir @@ -167,28 +164,25 @@ Here is how you can run and visualize one of the sample problems: Running the simulation produces the files *dump.indent* and *log.lammps*\ . You can visualize the dump file of snapshots with a variety of 3rd-party tools highlighted on the -`Visualization <http://lammps.sandia.gov/viz.html>`_ page of the LAMMPS +`Visualization <https://lammps.sandia.gov/viz.html>`_ page of the LAMMPS web site. 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 you built LAMMPS with JPG support; see the -:doc:`Build\_settings <Build_settings>` doc page for details). These can +:doc:`Build_settings <Build_settings>` doc page for details). These can be viewed individually or turned into a movie or animated by tools like ImageMagick or QuickTime or various Windows-based tools. See the :doc:`dump image <dump_image>` doc page for more details. E.g. this Imagemagick command would create a GIF file suitable for viewing in a browser. +.. code-block:: bash -.. parsed-literal:: - - % convert -loop 1 \*.jpg foo.gif - + % convert -loop 1 *.jpg foo.gif ---------- - Uppercase directories --------------------- @@ -201,7 +195,7 @@ Uppercase directories +------------+--------------------------------------------------------------------------------------------------+ | ELASTIC | compute elastic constants at zero temperature | +------------+--------------------------------------------------------------------------------------------------+ -| ELASTIC\_T | compute elastic constants at finite temperature | +| ELASTIC_T | compute elastic constants at finite temperature | +------------+--------------------------------------------------------------------------------------------------+ | HEAT | compute thermal conductivity for LJ and water via fix ehex | +------------+--------------------------------------------------------------------------------------------------+ @@ -225,8 +219,8 @@ The USER directory has a large number of sub-directories which correspond by name to a USER package. They contain scripts that illustrate how to use the command(s) provided in that package. Many 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 USER packages. .. _openkim: https://openkim.org -.. _lws: http://lammps.sandia.gov +.. _lws: https://lammps.sandia.gov diff --git a/doc/src/Howto.rst b/doc/src/Howto.rst index 05af2ffafc..f4376898b1 100644 --- a/doc/src/Howto.rst +++ b/doc/src/Howto.rst @@ -3,7 +3,7 @@ Howto discussions These doc pages describe how to perform various tasks with LAMMPS, both for users and developers. The -`glossary <http://lammps.sandia.gov>`_ website page also lists MD +`glossary <https://lammps.sandia.gov>`_ website page also lists MD terminology with links to corresponding LAMMPS manual pages. The example input scripts included in the examples directory of the LAMMPS distribution and highlighted on the :doc:`Examples <Examples>` doc page @@ -12,7 +12,6 @@ also show how to setup and run various kinds of simulations. Tutorials howto =============== - .. toctree:: :name: tutorials :maxdepth: 1 @@ -24,7 +23,6 @@ Tutorials howto General howto ============= - .. toctree:: :name: general_howto :maxdepth: 1 @@ -40,7 +38,6 @@ General howto Settings howto ============== - .. toctree:: :name: settings_howto :maxdepth: 1 @@ -56,7 +53,6 @@ Settings howto Analysis howto ============== - .. toctree:: :name: analysis_howto :maxdepth: 1 @@ -72,7 +68,6 @@ Analysis howto Force fields howto ================== - .. toctree:: :name: force_howto :maxdepth: 1 @@ -85,7 +80,6 @@ Force fields howto Packages howto ============== - .. toctree:: :name: packages_howto :maxdepth: 1 diff --git a/doc/src/Howto_2d.rst b/doc/src/Howto_2d.rst index 59060fbe1e..1b4be32106 100644 --- a/doc/src/Howto_2d.rst +++ b/doc/src/Howto_2d.rst @@ -8,17 +8,16 @@ command. This is the default. If using the :doc:`create box <create_box>` command to define a simulation box, set the z dimensions narrow, but finite, so that the -create\_atoms command will tile the 3d simulation box with a single z +create_atoms command will tile the 3d simulation box with a single z plane of atoms - e.g. - .. code-block:: LAMMPS :doc:`create box <create_box>` 1 -10 10 -10 10 -0.25 0.25 If using the :doc:`read data <read_data>` command to read in a file of atom coordinates, set the "zlo zhi" values to be finite but narrow, -similar to the create\_box command settings just described. For each +similar to the create_box command settings just described. For each atom in the file, assign a z coordinate so it falls inside the z-boundaries of the box - e.g. 0.0. diff --git a/doc/src/Howto_bash.rst b/doc/src/Howto_bash.rst index f8a5130b33..02322e5e1c 100644 --- a/doc/src/Howto_bash.rst +++ b/doc/src/Howto_bash.rst @@ -3,10 +3,8 @@ Using LAMMPS with Bash on Windows **written by Richard Berger** - ---------- - Starting with Windows 10 you can install Linux tools directly in Windows. This allows you to compile LAMMPS following the same procedure as on a real Ubuntu Linux installation. Software can be easily installed using the package manager @@ -82,10 +80,8 @@ Congratulations, you have installed **Bash on Ubuntu on Windows**\ . .. image:: JPG/bow_tutorial_10.png - ---------- - Compiling LAMMPS in Bash on Windows ----------------------------------- @@ -97,7 +93,6 @@ Installing prerequisite packages First upgrade all existing packages using - .. code-block:: bash sudo apt update @@ -106,7 +101,6 @@ First upgrade all existing packages using Next install the following packages, which include compilers and libraries needed for various LAMMPS features: - .. code-block:: bash sudo apt install -y build-essential ccache gfortran openmpi-bin libopenmpi-dev libfftw3-dev libjpeg-dev libpng12-dev python-dev python-virtualenv libblas-dev liblapack-dev libhdf5-serial-dev hdf5-tools @@ -126,17 +120,15 @@ Obtain a copy of the LAMMPS code and go into it using "cd" Option 1: Downloading LAMMPS tarball using wget """"""""""""""""""""""""""""""""""""""""""""""" - .. code-block:: bash - wget http://lammps.sandia.gov/tars/lammps-stable.tar.gz + wget https://lammps.sandia.gov/tars/lammps-stable.tar.gz tar xvzf lammps-stable.tar.gz cd lammps-31Mar17 Option 2: Obtaining LAMMPS code from GitHub """"""""""""""""""""""""""""""""""""""""""" - .. code-block:: bash git clone https://github.com/lammps/lammps.git @@ -150,39 +142,33 @@ At this point you can compile LAMMPS like on Ubuntu Linux. Compiling serial version """""""""""""""""""""""" - .. code-block:: bash cd src/ make -j 4 serial -This will create an executable called lmp\_serial in the src/ directory +This will create an executable called lmp_serial in the src/ directory Compiling MPI version """"""""""""""""""""" - .. code-block:: bash cd src/ make -j 4 mpi -This will create an executable called lmp\_mpi in the src/ directory - +This will create an executable called lmp_mpi in the src/ directory ---------- - Finally, please note the absolute path of your src folder. You can get this using - .. code-block:: bash pwd or - .. code-block:: bash echo $PWD @@ -190,43 +176,37 @@ or To run any examples you need the location of the executable. For now, let us save this location in a temporary variable - .. code-block:: bash LAMMPS_DIR=$PWD - ---------- - Running an example script ^^^^^^^^^^^^^^^^^^^^^^^^^ Once compiled you can execute some of the LAMMPS examples. Switch into the examples/melt folder - .. code-block:: bash cd ../examples/melt -The full path of the serial executable is $LAMMPS\_DIR/lmp\_serial, while the mpi -version is $LAMMPS\_DIR/lmp\_mpi. You can run the melt example with either +The full path of the serial executable is $LAMMPS_DIR/lmp_serial, while the mpi +version is $LAMMPS_DIR/lmp_mpi. You can run the melt example with either version as follows: - .. code-block:: bash $LAMMPS_DIR/lmp_serial -in in.melt or - .. code-block:: bash mpirun -np 4 $LAMMPS_DIR/lmp_mpi -in in.melt -Note the use of our variable $LAMMPS\_DIR, which expands into the full path of +Note the use of our variable $LAMMPS_DIR, which expands into the full path of the LAMMPS src folder we saved earlier. Adding your executable directory to your PATH @@ -235,21 +215,18 @@ Adding your executable directory to your PATH You can avoid having to type the full path of your LAMMPS binary by adding its parent folder to the PATH environment variable as follows: - .. code-block:: bash export PATH=$LAMMPS_DIR:$PATH Input scripts can then be run like this: - .. code-block:: bash lmp_serial -in in.melt or - .. code-block:: bash mpirun -np 4 lmp_mpi -in in.melt @@ -258,15 +235,13 @@ However, this PATH variable will not persist if you close your bash window. To persist this setting edit the $HOME/.bashrc file using your favorite editor and add this line - .. code-block:: bash export PATH=/full/path/to/your/lammps/src:$PATH **Example:** -For an executable lmp\_serial with a full path - +For an executable lmp_serial with a full path .. code-block:: bash @@ -274,7 +249,6 @@ For an executable lmp\_serial with a full path the PATH variable should be - .. code-block:: bash export PATH=/home/richard/lammps/src:$PATH diff --git a/doc/src/Howto_bioFF.rst b/doc/src/Howto_bioFF.rst index 4d31d1ee47..e7bfcdfdb2 100644 --- a/doc/src/Howto_bioFF.rst +++ b/doc/src/Howto_bioFF.rst @@ -20,12 +20,8 @@ force field. .. _charmm: http://www.scripps.edu/brooks - - .. _amber: http://amber.scripps.edu - - The interaction styles listed below compute force field formulas that are consistent with common options in CHARMM or AMBER. See each command's documentation for the formula it computes. @@ -114,33 +110,23 @@ documentation for the formula it computes. * :doc:`special_bonds <special_bonds>` dreiding - ---------- - .. _howto-MacKerell: - - **(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). .. _howto-Cornell: - - **(Cornell)** Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). .. _howto-Sun: - - **(Sun)** Sun, J. Phys. Chem. B, 102, 7338-7364 (1998). .. _howto-Mayo: - - **(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990). diff --git a/doc/src/Howto_body.rst b/doc/src/Howto_body.rst index f60a608eae..efb5a38a59 100644 --- a/doc/src/Howto_body.rst +++ b/doc/src/Howto_body.rst @@ -33,10 +33,8 @@ style are described below. More styles may be added in the future. See the :doc:`Modify body <Modify_body>` doc page for details on how to add a new body style to the code. - ---------- - **When to use body particles:** You should not use body particles to model a rigid body made of @@ -104,10 +102,8 @@ particles of different styles The pair styles defined for use with specific body styles are listed in the sections below. - ---------- - **Specifics of body style nparticle:** The *nparticle* body style represents body particles as a rigid body @@ -116,10 +112,9 @@ vanilla, prototypical example of a body particle, although as mentioned above, the :doc:`fix rigid <fix_rigid>` command already duplicates its functionality. -The atom\_style body command for this body style takes two additional +The atom_style body command for this body style takes two additional arguments: - .. parsed-literal:: atom_style body nparticle Nmin Nmax @@ -133,7 +128,6 @@ When the :doc:`read_data <read_data>` command reads a data file for this body style, the following information must be provided for each entry in the *Bodies* section of the data file: - .. parsed-literal:: atom-ID 1 M @@ -170,7 +164,6 @@ For output purposes via the :doc:`compute body/local <compute_body_local>` and : commands, this body style produces one datum for each of the N sub-particles in a body particle. The datum has 3 values: - .. parsed-literal:: 1 = x position of sub-particle @@ -188,26 +181,23 @@ collection of spheres, one for each sub-particle. The size of each sphere is determined by the *bflag1* parameter for the *body* keyword. The *bflag2* argument is ignored. - ---------- - **Specifics of body style rounded/polygon:** The *rounded/polygon* body style represents body particles as a 2d 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 -"pair\_style body/rounded/polygon" doc page for a diagram of two +"pair_style body/rounded/polygon" doc page for a diagram of two squares with rounded circles at the vertices. Special cases for N = 1 (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 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: - .. parsed-literal:: atom_style body rounded/polygon Nmin Nmax @@ -221,7 +211,6 @@ When the :doc:`read_data <read_data>` command reads a data file for this body style, the following information must be provided for each entry in the *Bodies* section of the data file: - .. parsed-literal:: atom-ID 1 M @@ -262,7 +251,6 @@ orientation of the square is aligned with the xy coordinate axes which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = 1 1 4 0 0 0. Note that only Izz matters in 2D simulations. - .. parsed-literal:: 3 1 27 @@ -281,7 +269,6 @@ is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = A rod in 2D, whose length is 4.0, mass 1.0, rounded at two ends by circles of diameter 0.5, is specified as follows: - .. parsed-literal:: 1 1 13 @@ -293,7 +280,6 @@ by circles of diameter 0.5, is specified as follows: A disk, whose diameter is 3.0, mass 1.0, is specified as follows: - .. parsed-literal:: 1 1 10 @@ -308,16 +294,14 @@ interactions. The :doc:`fix wall/body/polygon <fix_wall_body_polygon>` command can be used with this body style to compute the interaction of body particles with a wall. - ---------- - **Specifics of body style rounded/polyhedron:** The *rounded/polyhedron* body style represents body particles as a 3d polyhedron with a variable number of N vertices, E edges and F faces. 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 rounded circles at the vertices. A 3d cube with rounded spheres at the 8 vertices and 12 rounded edges would be similar. Special cases @@ -327,10 +311,9 @@ specified. This body style is for 3d discrete element models, as described in :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: - .. parsed-literal:: atom_style body rounded/polyhedron Nmin Nmax @@ -344,7 +327,6 @@ When the :doc:`read_data <read_data>` command reads a data file for this body style, the following information must be provided for each entry in the *Bodies* section of the data file: - .. parsed-literal:: atom-ID 3 M @@ -401,7 +383,6 @@ The orientation of the cube is aligned with the xyz coordinate axes which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = 0.667 0.667 0.667 0 0 0. - .. parsed-literal:: 1 3 79 @@ -438,7 +419,6 @@ iyz = 0.667 0.667 0.667 0 0 0. A rod in 3D, whose length is 4.0, mass 1.0 and rounded at two ends by circles of diameter 0.5, is specified as follows: - .. parsed-literal:: 1 1 13 @@ -450,7 +430,6 @@ by circles of diameter 0.5, is specified as follows: A sphere whose diameter is 3.0 and mass 1.0, is specified as follows: - .. parsed-literal:: 1 1 10 @@ -465,15 +444,12 @@ be used with this body style to compute body/body interactions. The used with this body style to compute the interaction of body particles with a wall. - ---------- - For output purposes via the :doc:`compute body/local <compute_body_local>` and :doc:`dump local <dump>` commands, this body style produces one datum for each of the N sub-particles in a body particle. The datum has 3 values: - .. parsed-literal:: 1 = x position of vertex @@ -495,20 +471,14 @@ tangent to the spheres). The drawn diameter of each line segment is determined by the *bflag1* parameter for the *body* keyword. The *bflag2* argument is ignored. - ---------- - .. _body-Fraige: - - **(Fraige)** F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). .. _body-Wang: - - **(Wang)** J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). diff --git a/doc/src/Howto_chunk.rst b/doc/src/Howto_chunk.rst index cedc05d9f4..cdc0c30d9b 100644 --- a/doc/src/Howto_chunk.rst +++ b/doc/src/Howto_chunk.rst @@ -110,7 +110,7 @@ of a center of mass, which requires summing mass\*position over the atoms and then dividing by summed mass. All of these computes produce a global vector or global array as -output, wih one or more values per chunk. The output can be used in +output, with one or more values per chunk. The output can be used in various ways: * As input to the :doc:`fix ave/time <fix_ave_time>` command, which can @@ -150,7 +150,6 @@ properties: (1) Average velocity in each of 1000 2d spatial bins: - .. code-block:: LAMMPS compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced @@ -159,7 +158,6 @@ properties: (2) Temperature in each spatial bin, after subtracting a flow velocity: - .. code-block:: LAMMPS compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced @@ -168,7 +166,6 @@ velocity: (3) Center of mass of each molecule: - .. code-block:: LAMMPS compute cc1 all chunk/atom molecule @@ -177,7 +174,6 @@ velocity: (4) Total force on each molecule and ave/max across all molecules: - .. code-block:: LAMMPS compute cc1 all chunk/atom molecule @@ -189,7 +185,6 @@ velocity: (5) Histogram of cluster sizes: - .. code-block:: LAMMPS compute cluster all cluster/atom 1.0 diff --git a/doc/src/Howto_client_server.rst b/doc/src/Howto_client_server.rst index e98a3c9a98..c22e1ca3ab 100644 --- a/doc/src/Howto_client_server.rst +++ b/doc/src/Howto_client_server.rst @@ -62,7 +62,7 @@ below. The MESSAGE package also wraps a client/server library called CSlib which enables two codes to exchange messages in different ways, either via files, sockets, or MPI. The CSlib is provided with LAMMPS in the lib/message dir. The CSlib has its own -`website <http://cslib.sandia.gov>`_ with documentation and test +`website <https://cslib.sandia.gov>`_ with documentation and test programs. .. note:: @@ -93,22 +93,22 @@ client or server code: * examples/message * examples/COUPLE/README -* examples/COUPLE/lammps\_mc -* examples/COUPLE/lammps\_nwchem -* examples/COUPLE/lammps\_vasp +* examples/COUPLE/lammps_mc +* examples/COUPLE/lammps_nwchem +* examples/COUPLE/lammps_vasp The examples/message directory couples a client instance of LAMMPS to a server instance of LAMMPS. -The files in the *lammps\_mc* folder show how to couple LAMMPS as +The files in the *lammps_mc* folder show how to couple LAMMPS as a server to a simple Monte Carlo client code as the driver. -The files in the *lammps\_nwchem* folder show how to couple LAMMPS +The files in the *lammps_nwchem* folder show how to couple LAMMPS as a client code running MD timestepping to NWChem acting as a server providing quantum DFT forces, through a Python wrapper script on NWChem. -The files in the *lammps\_vasp* folder show how to couple LAMMPS as +The files in the *lammps_vasp* folder show how to couple LAMMPS as a client code running MD timestepping to VASP acting as a server providing quantum DFT forces, through a Python wrapper script on VASP. @@ -134,7 +134,6 @@ together to exchange MPI messages between them. For message exchange in *file*\ , *zmq*\ , or *mpi/two* modes: - .. code-block:: bash % mpirun -np 1 lmp_mpi -log log.client < in.client & @@ -150,7 +149,6 @@ For message exchange in *mpi/one* mode: Launch both codes in a single mpirun command: - .. code-block:: bash mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -log log.server diff --git a/doc/src/Howto_coreshell.rst b/doc/src/Howto_coreshell.rst index bf600583c1..94fb5b7b42 100644 --- a/doc/src/Howto_coreshell.rst +++ b/doc/src/Howto_coreshell.rst @@ -24,7 +24,6 @@ shell of a core/shell pair should be bonded to each other with a harmonic bond that provides the spring force. For example, a data file for NaCl, as found in examples/coreshell, has this format: - .. parsed-literal:: 432 atoms # core and shell atoms @@ -87,7 +86,6 @@ Ewald solvers can be used. For the NaCL example problem, these pair style and bond style settings are used: - .. code-block:: LAMMPS pair_style born/coul/long/cs 20.0 20.0 @@ -131,7 +129,6 @@ this temperature be output for the overall system. For the NaCl example, this can be done as follows: - .. code-block:: LAMMPS group cores type 1 2 @@ -150,7 +147,6 @@ the default :doc:`temperature <compute_temp>` and specifying it as a second argument in :doc:`fix modify <fix_modify>` and :doc:`thermo_modify <thermo_modify>` resulting in: - .. code-block:: LAMMPS (...) @@ -174,7 +170,6 @@ the pairs. This can be done by using the *bias* keyword of the :doc:`velocity create <velocity>` command and assigning the :doc:`compute temp/cs <compute_temp_cs>` command to the *temp* keyword of the :doc:`velocity <velocity>` command, e.g. - .. code-block:: LAMMPS velocity all create 1427 134 bias yes temp CSequ @@ -211,7 +206,6 @@ pairs as chunks. For example if core/shell pairs are the only molecules: - .. code-block:: LAMMPS read_data NaCl_CS_x0.1_prop.data @@ -222,7 +216,6 @@ For example if core/shell pairs are the only molecules: For example if core/shell pairs and other molecules are present: - .. code-block:: LAMMPS fix csinfo all property/atom i_CSID # property/atom command @@ -232,7 +225,6 @@ For example if core/shell pairs and other molecules are present: The additional section in the date file would be formatted like this: - .. parsed-literal:: CS-Info # header of additional section @@ -247,20 +239,14 @@ The additional section in the date file would be formatted like this: 8 4 (...) - ---------- - .. _MitchellFincham: - - **(Mitchell and Fincham)** Mitchell, Fincham, J Phys Condensed Matter, 5, 1031-1038 (1993). .. _MitchellFincham2: - - **(Fincham)** Fincham, Mackrodt and Mitchell, J Phys Condensed Matter, 6, 393-404 (1994). diff --git a/doc/src/Howto_couple.rst b/doc/src/Howto_couple.rst index 55c7d813d6..c652d4f599 100644 --- a/doc/src/Howto_couple.rst +++ b/doc/src/Howto_couple.rst @@ -12,10 +12,8 @@ LAMMPS can be coupled to other codes in at least 4 ways. Each has advantages and disadvantages, which you will have to think about in the context of your application. - ---------- - (1) Define a new :doc:`fix <fix>` command that calls the other code. In this scenario, LAMMPS is the driver code. During its timestepping, the fix is invoked, and can make library calls to the other code, @@ -27,12 +25,8 @@ LAMMPS. .. _poems: http://www.rpi.edu/~anderk5/lab - - - ---------- - (2) Define a new LAMMPS command that calls the other code. This is conceptually similar to method (1), but in this case LAMMPS and the other code are on a more equal footing. Note that now the other code @@ -53,10 +47,8 @@ command writes and reads. See the :doc:`Modify command <Modify_command>` doc page for info on how to add a new command to LAMMPS. - ---------- - (3) Use LAMMPS as a library called by another code. In this case the other code is the driver and calls LAMMPS as needed. Or a wrapper code could link and call both LAMMPS and another code as libraries. @@ -72,21 +64,16 @@ examples/COUPLE/README for more details: library * plugin: simple driver program in C which invokes LAMMPS as a plugin from a shared library. -* lammps\_quest: coupling of LAMMPS and `Quest <quest_>`_, to run classical +* lammps_quest: coupling of LAMMPS and `Quest <quest_>`_, to run classical MD with quantum forces calculated by a density functional code -* lammps\_spparks: coupling of LAMMPS and `SPPARKS <spparks_>`_, to couple +* lammps_spparks: coupling of LAMMPS and `SPPARKS <spparks_>`_, to couple a kinetic Monte Carlo model for grain growth using MD to calculate strain induced across grain boundaries - .. _quest: http://dft.sandia.gov/Quest - - .. _spparks: http://www.sandia.gov/~sjplimp/spparks.html - - The :doc:`Build basics <Build_basics>` doc page describes how to build LAMMPS as a library. Once this is done, you can interface with LAMMPS either via C++, C, Fortran, or Python (or any other language that @@ -102,7 +89,7 @@ The files src/library.cpp and library.h contain the C-style interface to LAMMPS. See the :doc:`Howto library <Howto_library>` doc page for a description of the interface and how to extend it for your needs. -Note that the lammps\_open() function that creates an instance of +Note that the lammps_open() function that creates an instance of LAMMPS takes an MPI communicator as an argument. This means that instance of LAMMPS will run on the set of processors in the communicator. Thus the calling code can run LAMMPS on all or a subset @@ -113,10 +100,8 @@ LAMMPS and half to the other code and run both codes simultaneously before syncing them up periodically. Or it might instantiate multiple instances of LAMMPS to perform different calculations. - ---------- - (4) Couple LAMMPS with another code in a client/server mode. This is described on the :doc:`Howto client/server <Howto_client_server>` doc page. diff --git a/doc/src/Howto_dispersion.rst b/doc/src/Howto_dispersion.rst index f1c818162b..a173e0cfbd 100644 --- a/doc/src/Howto_dispersion.rst +++ b/doc/src/Howto_dispersion.rst @@ -29,7 +29,7 @@ that provide fast and accurate simulations, there are two approaches, which both have their up- and downsides. The first approach is to set desired real-space an kspace accuracies -via the *kspace\_modify force/disp/real* and *kspace\_modify +via the *kspace_modify force/disp/real* and *kspace_modify force/disp/kspace* commands. Note that the accuracies have to be specified in force units and are thus dependent on the chosen unit settings. For real units, 0.0001 and 0.002 seem to provide reasonable @@ -37,14 +37,14 @@ accurate and efficient computations for the real-space and kspace accuracies. 0.002 and 0.05 work well for most systems using lj units. PPPM parameters will be generated based on the desired accuracies. The upside of this approach is that it usually provides a -good set of parameters and will work for both the *kspace\_modify diff -ad* and *kspace\_modify diff ik* options. The downside of the method +good set of parameters and will work for both the *kspace_modify diff +ad* and *kspace_modify diff ik* options. The downside of the method is that setting the PPPM parameters will take some time during the initialization of the simulation. The second approach is to set the parameters for the pppm/disp -explicitly using the *kspace\_modify mesh/disp*, *kspace\_modify -order/disp*, and *kspace\_modify gewald/disp* commands. This approach +explicitly using the *kspace_modify mesh/disp*, *kspace_modify +order/disp*, and *kspace_modify gewald/disp* commands. This approach requires a more experienced user who understands well the impact of the choice of parameters on the simulation accuracy and performance. This approach provides a fast initialization of the @@ -60,12 +60,12 @@ To avoid inaccurate or inefficient simulations, the pppm/disp stops simulations with an error message if no action is taken to control the PPPM parameters. If the automatic parameter generation is desired and real-space and kspace accuracies are desired to be equal, this error -message can be suppressed using the *kspace\_modify disp/auto yes* +message can be suppressed using the *kspace_modify disp/auto yes* command. A reasonable approach that combines the upsides of both methods is to -make the first run using the *kspace\_modify force/disp/real* and -*kspace\_modify force/disp/kspace* commands, write down the PPPM +make the first run using the *kspace_modify force/disp/real* and +*kspace_modify force/disp/kspace* commands, write down the PPPM parameters from the output, and specify these parameters using the second approach in subsequent runs (which have the same composition, force field, and approximately the same volume). @@ -82,8 +82,8 @@ The second is that the mixing rule of the pair style has an impact on the computation time when using the pppm/disp. Fastest computations are achieved when using the geometric mixing rule. Using the arithmetic mixing rule substantially increases the computational cost. -The computational overhead can be reduced using the *kspace\_modify -mix/disp geom* and *kspace\_modify splittol* commands. The first +The computational overhead can be reduced using the *kspace_modify +mix/disp geom* and *kspace_modify splittol* commands. The first command simply enforces geometric mixing of the dispersion coefficients in kspace computations. This introduces some error in the computations but will also significantly speed-up the @@ -94,7 +94,7 @@ command, but will usually also not provide an equally good increase of efficiency. Finally, pppm/disp can also be used when no mixing rules apply. -This can be achieved using the *kspace\_modify mix/disp none* command. +This can be achieved using the *kspace_modify mix/disp none* command. Note that the code does not check automatically whether any mixing rule is fulfilled. If mixing rules do not apply, the user will have to specify this command explicitly. diff --git a/doc/src/Howto_drude.rst b/doc/src/Howto_drude.rst index b6292ca622..62659711c4 100644 --- a/doc/src/Howto_drude.rst +++ b/doc/src/Howto_drude.rst @@ -48,7 +48,7 @@ for a Langevin thermostat, or :doc:`fix drude/transform/\* <fix_drude_transform> thermostat. The former requires use of the command :doc:`comm_modify vel yes <comm_modify>`. The latter requires two separate integration fixes like *nvt* or *npt*\ . The correct temperatures of the reduced degrees of freedom can be calculated using the :doc:`compute temp/drude <compute_temp_drude>`. This requires also to use the -command *comm\_modify vel yes*. +command *comm_modify vel yes*. Short-range damping of the induced dipole interactions can be achieved using Thole functions through the :doc:`pair style thole <pair_thole>` in :doc:`pair_style hybrid/overlay <pair_hybrid>` @@ -56,12 +56,8 @@ with a Coulomb pair style. It may be useful to use *coul/long/cs* or similar from the CORESHELL package if the core and Drude particle come too close, which can cause numerical issues. - ---------- - .. _howto-Lamoureux: - - **(Lamoureux and Roux)** G. Lamoureux, B. Roux, J. Chem. Phys 119, 3025 (2003) diff --git a/doc/src/Howto_drude2.rst b/doc/src/Howto_drude2.rst index fb99077137..cbdbc2d250 100644 --- a/doc/src/Howto_drude2.rst +++ b/doc/src/Howto_drude2.rst @@ -30,7 +30,6 @@ zero. The (half-)stiffness of the :doc:`harmonic bond <bond_harmonic>` :math:`K_D = k_D/2` and the Drude charge :math:`q_D` are related to the atom polarizability :math:`\alpha` by - .. math:: K_D = \frac 1 2\, \frac {q_D^2} \alpha @@ -46,7 +45,6 @@ fields: * Alternately :ref:`Schroeder and Steinhauser <Schroeder>` suggest adopting a global charge :math:`q_D` = -1.0e and a global mass :math:`m_D` = 0.1 g/mol (or u) for all Drude particles, and to calculate the force constant for each type of core-Drude bond from equation (1). The timesteps used by these authors are between 0.5 and 2 fs, with the degrees of freedom of the Drude oscillators kept cold at 1 K. * In both these force fields hydrogen atoms are treated as non-polarizable. - The motion of of the Drude particles can be calculated by minimizing the energy of the induced dipoles at each timestep, by an iterative, self-consistent procedure. The Drude particles can be massless and @@ -78,15 +76,14 @@ important features: **Preparation of the data file** The data file is similar to a standard LAMMPS data file for -*atom\_style full*. The DPs and the *harmonic bonds* connecting them +*atom_style full*. The DPs and the *harmonic bonds* connecting them to their DC should appear in the data file as normal atoms and bonds. You can use the *polarizer* tool (Python script distributed with the USER-DRUDE package) to convert a non-polarizable data file (here *data.102494.lmp*\ ) to a polarizable data file (\ *data-p.lmp*\ ) - -.. parsed-literal:: +.. code-block:: bash polarizer -q -f phenol.dff data.102494.lmp data-p.lmp @@ -96,7 +93,6 @@ from *phenol.dff*\ , as well as the DC-DP bond constants. The file *phenol.dff* contains the polarizabilities of the atom types and the mass of the Drude particles, for instance: - .. parsed-literal:: # units: kJ/mol, A, deg @@ -113,7 +109,6 @@ have to be specified as comments at the end of lines of the *Masses* section. You probably need to edit it to add these names. It should look like - .. parsed-literal:: Masses @@ -124,10 +119,8 @@ look like 4 1.008 # HA 5 1.008 # HO - ---------- - **Basic input file** The atom style should be set to (or derive from) *full*\ , so that you @@ -138,7 +131,6 @@ script (the use of these lines will be explained below). In order for LAMMPS to recognize that you are using Drude oscillators, you should use the fix *drude*\ . The command is - .. code-block:: LAMMPS fix DRUDE all drude C C C N N D D D @@ -159,7 +151,6 @@ command. With our phenol, there is 1 more special neighbor for which space is required. Otherwise LAMMPS crashes and gives the required value. - .. code-block:: LAMMPS read_data data-p.lmp extra/special/per/atom 1 @@ -168,30 +159,27 @@ Let us assume we want to run a simple NVT simulation at 300 K. Note that Drude oscillators need to be thermalized at a low temperature in order to approximate a self-consistent field (SCF), therefore it is not possible to simulate an NVE ensemble with this package. Since dipoles -are approximated by a charged DC-DP pair, the *pair\_style* must +are approximated by a charged DC-DP pair, the *pair_style* must include Coulomb interactions, for instance *lj/cut/coul/long* with -*kspace\_style pppm*. For example, with a cutoff of 10. and a precision +*kspace_style pppm*. For example, with a cutoff of 10. and a precision 1.e-4: - .. code-block:: LAMMPS pair_style lj/cut/coul/long 10.0 kspace_style pppm 1.0e-4 -As compared to the non-polarizable input file, *pair\_coeff* lines need +As compared to the non-polarizable input file, *pair_coeff* lines need to be added for the DPs. Since the DPs have no Lennard-Jones -interactions, their :math:`\epsilon` is 0. so the only *pair\_coeff* line +interactions, their :math:`\epsilon` is 0. so the only *pair_coeff* line that needs to be added is - .. code-block:: LAMMPS pair_coeff * 6* 0.0 0.0 # All-DPs Now for the thermalization, the simplest choice is to use the :doc:`fix langevin/drude <fix_langevin_drude>`. - .. code-block:: LAMMPS fix LANG all langevin/drude 300. 100 12435 1. 20 13977 @@ -205,7 +193,6 @@ atoms need to be in this fix's group. LAMMPS will thermostat the DPs together with their DC. For this, ghost atoms need to know their velocities. Thus you need to add the following command: - .. code-block:: LAMMPS comm_modify vel yes @@ -217,7 +204,6 @@ can add the *zero yes* option at the end of the fix line. If the fix *shake* is used to constrain the C-H bonds, it should be invoked after the fix *langevin/drude* for more accuracy. - .. code-block:: LAMMPS fix SHAKE ATOMS shake 0.0001 20 0 t 4 5 @@ -231,16 +217,14 @@ Since the fix *langevin/drude* does not perform time integration (just modification of forces but no position/velocity updates), the fix *nve* should be used in conjunction. - .. code-block:: LAMMPS fix NVE all nve Finally, do not forget to update the atom type elements if you use -them in a *dump\_modify ... element ...* command, by adding the element +them in a *dump_modify ... element ...* command, by adding the element type of the DPs. Here for instance - .. code-block:: LAMMPS dump DUMP all custom 10 dump.lammpstrj id mol type element x y z ix iy iz @@ -248,30 +232,26 @@ type of the DPs. Here for instance The input file should now be ready for use! -You will notice that the global temperature *thermo\_temp* computed by +You will notice that the global temperature *thermo_temp* computed by LAMMPS is not 300. K as wanted. This is because LAMMPS treats DPs as standard atoms in his default compute. If you want to output the temperatures of the DC-DP pair centers of mass and of the DPs relative -to their DCs, you should use the :doc:`compute temp\_drude <compute_temp_drude>` - +to their DCs, you should use the :doc:`compute temp_drude <compute_temp_drude>` .. code-block:: LAMMPS compute TDRUDE all temp/drude And then output the correct temperatures of the Drude oscillators -using *thermo\_style custom* with respectively *c\_TDRUDE[1]* and -*c\_TDRUDE[2]*. These should be close to 300.0 and 1.0 on average. - +using *thermo_style custom* with respectively *c_TDRUDE[1]* and +*c_TDRUDE[2]*. These should be close to 300.0 and 1.0 on average. .. code-block:: LAMMPS thermo_style custom step temp c_TDRUDE[1] c_TDRUDE[2] - ---------- - **Thole screening** Dipolar interactions represented by point charges on springs may not @@ -283,29 +263,27 @@ between nearby dipoles on the same molecule may be exaggerated. Often, special bond relations prevent bonded neighboring atoms to see the charge of each other's DP, so that the problem does not always appear. It is possible to use screened dipole-dipole interactions by using the -:doc:`*pair\_style thole* <pair_thole>`. This is implemented as a -correction to the Coulomb pair\_styles, which dampens at short distance +:doc:`*pair_style thole* <pair_thole>`. This is implemented as a +correction to the Coulomb pair_styles, which dampens at short distance the interactions between the charges representing the induced dipoles. It is to be used as *hybrid/overlay* with any standard *coul* pair style. In our example, we would use - .. code-block:: LAMMPS pair_style hybrid/overlay lj/cut/coul/long 10.0 thole 2.6 10.0 -This tells LAMMPS that we are using two pair\_styles. The first one is +This tells LAMMPS that we are using two pair_styles. The first one is as above (\ *lj/cut/coul/long 10.0*\ ). The second one is a *thole* -pair\_style with default screening factor 2.6 (:ref:`Noskov <Noskov2>`) and +pair_style with default screening factor 2.6 (:ref:`Noskov <Noskov2>`) and cutoff 10.0. Since *hybrid/overlay* does not support mixing rules, the interaction coefficients of all the pairs of atom types with i < j should be explicitly defined. The output of the *polarizer* script can be used -to complete the *pair\_coeff* section of the input file. In our +to complete the *pair_coeff* section of the input file. In our example, this will look like: - .. code-block:: LAMMPS pair_coeff 1 1 lj/cut/coul/long 0.0700 3.550 @@ -346,31 +324,27 @@ For the *thole* pair style the coefficients are #. the atom polarizability in units of cubic length #. the screening factor of the Thole function (optional, default value - specified by the pair\_style command) -#. the cutoff (optional, default value defined by the pair\_style command) - + specified by the pair_style command) +#. the cutoff (optional, default value defined by the pair_style command) The special neighbors have charge-charge and charge-dipole -interactions screened by the *coul* factors of the *special\_bonds* +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 -pair\_style *thole*\ , dipole-dipole interactions are screened by the -same factor. By using the pair\_style *thole*\ , dipole-dipole +pair_style *thole*\ , dipole-dipole interactions are screened by the +same factor. By using the pair_style *thole*\ , dipole-dipole interactions are screened by Thole's function, whatever their special 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 interactions between these dipoles will be damped by Thole's function. - ---------- - **Thermostats and barostats** Using a Nose-Hoover barostat with the *langevin/drude* thermostat is straightforward using fix *nph* instead of *nve*\ . For example: - .. code-block:: LAMMPS fix NPH all nph iso 1. 1. 500 @@ -385,7 +359,6 @@ with respect to their DC. The *fix drude/transform/inverse* performs the reverse transformation. For a NVT simulation, with the DCs and atoms at 300 K and the DPs at 1 K relative to their DC one would use - .. code-block:: LAMMPS fix DIRECT all drude/transform/direct @@ -395,7 +368,6 @@ atoms at 300 K and the DPs at 1 K relative to their DC one would use For our phenol example, the groups would be defined as - .. code-block:: LAMMPS group ATOMS type 1 2 3 4 5 # DCs and non-polarizable atoms @@ -403,13 +375,12 @@ For our phenol example, the groups would be defined as group DRUDES type 6 7 8 # DPs 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). To avoid the flying ice cube artifact :ref:`(Lamoureux) <Lamoureux2>`, where the atoms progressively freeze and the center of mass of the whole system drifts faster and faster, the *fix momentum* can be used. For instance: - .. code-block:: LAMMPS fix MOMENTUM all momentum 100 linear 1 1 1 @@ -421,10 +392,9 @@ DPs should be *nvt* (or vice versa). Second, the *fix npt* computes a global pressure and thus a global temperature whatever the fix group. We do want the pressure to correspond to the whole system, but we want the temperature to correspond to the fix group only. We must then use -the *fix\_modify* command for this. In the end, the block of +the *fix_modify* command for this. In the end, the block of instructions for thermostatting and barostatting will look like - .. code-block:: LAMMPS compute TATOMS ATOMS temp @@ -434,10 +404,8 @@ instructions for thermostatting and barostatting will look like fix NVT DRUDES nvt temp 1. 1. 20 fix INVERSE all drude/transform/inverse - ---------- - **Rigid bodies** You may want to simulate molecules as rigid bodies (but polarizable). @@ -448,7 +416,6 @@ review the different thermostats and ensemble combinations. NVT ensemble using Langevin thermostat: - .. code-block:: LAMMPS comm_modify vel yes @@ -458,7 +425,6 @@ NVT ensemble using Langevin thermostat: NVT ensemble using Nose-Hoover thermostat: - .. code-block:: LAMMPS fix DIRECT all drude/transform/direct @@ -468,7 +434,6 @@ NVT ensemble using Nose-Hoover thermostat: NPT ensemble with Langevin thermostat: - .. code-block:: LAMMPS comm_modify vel yes @@ -478,7 +443,6 @@ NPT ensemble with Langevin thermostat: NPT ensemble using Nose-Hoover thermostat: - .. code-block:: LAMMPS compute TATOM ATOMS temp @@ -488,45 +452,31 @@ NPT ensemble using Nose-Hoover thermostat: fix NVT DRUDES nvt temp 1. 1. 20 fix INVERSE all drude/transform/inverse - ---------- - .. _Lamoureux2: - - **(Lamoureux)** Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003) .. _Schroeder: - - **(Schroeder)** Schroeder and Steinhauser, J Chem Phys, 133, 154511 (2010). .. _Jiang2: - - **(Jiang)** Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J Phys Chem Lett, 2, 87-92 (2011). .. _Thole2: - - **(Thole)** Chem Phys, 59, 341 (1981). .. _Noskov2: - - **(Noskov)** Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005). .. _SWM4-NDP: - - **(SWM4-NDP)** Lamoureux, Harder, Vorobyov, Roux, MacKerell, Chem Phys Let, 418, 245-249 (2006) diff --git a/doc/src/Howto_elastic.rst b/doc/src/Howto_elastic.rst index 001eb4886b..4870942458 100644 --- a/doc/src/Howto_elastic.rst +++ b/doc/src/Howto_elastic.rst @@ -4,14 +4,14 @@ Calculate elastic constants Elastic constants characterize the stiffness of a material. The formal definition is provided by the linear relation that holds between the stress and strain tensors in the limit of infinitesimal deformation. -In tensor notation, this is expressed as s\_ij = C\_ijkl \* e\_kl, where -the repeated indices imply summation. s\_ij are the elements of the -symmetric stress tensor. e\_kl are the elements of the symmetric strain -tensor. C\_ijkl are the elements of the fourth rank tensor of elastic +In tensor notation, this is expressed as s_ij = C_ijkl \* e_kl, where +the repeated indices imply summation. s_ij are the elements of the +symmetric stress tensor. e_kl are the elements of the symmetric strain +tensor. C_ijkl are the elements of the fourth rank tensor of elastic constants. In three dimensions, this tensor has 3\^4=81 elements. Using -Voigt notation, the tensor can be written as a 6x6 matrix, where C\_ij -is now the derivative of s\_i w.r.t. e\_j. Because s\_i is itself a -derivative w.r.t. e\_i, it follows that C\_ij is also symmetric, with at +Voigt notation, the tensor can be written as a 6x6 matrix, where C_ij +is now the derivative of s_i w.r.t. e_j. Because s_i is itself a +derivative w.r.t. e_i, it follows that C_ij is also symmetric, with at most 7\*6/2 = 21 distinct elements. At zero temperature, it is easy to estimate these derivatives by @@ -33,12 +33,8 @@ tensor. Another approach is to sample the triclinic cell fluctuations that occur in an NPT simulation. This method can also be slow to converge and requires careful post-processing :ref:`(Shinoda) <Shinoda1>` - ---------- - .. _Shinoda1: - - **(Shinoda)** Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). diff --git a/doc/src/Howto_github.rst b/doc/src/Howto_github.rst index 6e1bc5bb60..55db356589 100644 --- a/doc/src/Howto_github.rst +++ b/doc/src/Howto_github.rst @@ -22,10 +22,8 @@ and will reduce the time until the integration is complete. For more information on the requirements to have your code included into LAMMPS please see the :doc:`Modify contribute <Modify_contribute>` doc page. - ---------- - **Making an account** First of all, you need a GitHub account. This is fairly simple, just @@ -34,10 +32,8 @@ the "Sign up for GitHub" button. Once your account is created, you can sign in by clicking the button in the top left and filling in your username or e-mail address and password. - ---------- - **Forking the repository** To get changes into LAMMPS, you need to first fork the `lammps/lammps` @@ -63,10 +59,8 @@ At the same time, you can set things up, so you can include changes from upstream into your repository and thus keep it in sync with the ongoing LAMMPS development. - ---------- - **Adding changes to your own fork** Additions to the upstream version of LAMMPS are handled using *feature @@ -81,14 +75,12 @@ explained in more detail here: `feature branch workflow <https://www.atlassian.c First of all, create a clone of your version on github on your local machine via HTTPS: - .. code-block:: bash $ git clone https://github.com/<your user name>/lammps.git <some name> or, if you have set up your GitHub account for using SSH keys, via SSH: - .. code-block:: bash $ git clone git@github.com:<your user name>/lammps.git @@ -108,7 +100,6 @@ test them without interfering with the repository on GitHub. To pull changes from upstream into this copy, you can go to the directory and use git pull: - .. code-block:: bash $ cd mylammps @@ -117,7 +108,6 @@ and use git pull: You can also add this URL as a remote: - .. code-block:: bash $ git remote add lammps_upstream https://www.github.com/lammps/lammps @@ -127,7 +117,6 @@ branch for the feature you want to work on. This tutorial contains the workflow that updated this tutorial, and hence we will call the branch "github-tutorial-update": - .. code-block:: bash $ git checkout -b github-tutorial-update master @@ -140,7 +129,6 @@ unrelated feature, you should switch branches! After everything is done, add the files to the branch and commit them: - .. code-block:: bash $ git add doc/src/Howto_github.txt @@ -165,14 +153,12 @@ After everything is done, add the files to the branch and commit them: After adding all files, the change set can be committed with some useful message that explains the change. - .. code-block:: bash $ git commit -m 'Finally updated the github tutorial' After the commit, the changes can be pushed to the same branch on GitHub: - .. code-block:: bash $ git push @@ -181,7 +167,6 @@ Git will ask you for your user name and password on GitHub if you have not configured anything. If your local branch is not present on GitHub yet, it will ask you to add it by running - .. code-block:: bash $ git push --set-upstream origin github-tutorial-update @@ -192,22 +177,18 @@ password, the feature branch should be added to your fork on GitHub. If you want to make really sure you push to the right repository (which is good practice), you can provide it explicitly: - .. code-block:: bash $ git push origin or using an explicit URL: - .. code-block:: bash $ git push git@github.com:Pakketeretet2/lammps.git - ---------- - **Filing a pull request** Up to this point in the tutorial, all changes were to *your* clones of @@ -255,10 +236,8 @@ Now just write some nice comments and click on "Create pull request". .. image:: JPG/tutorial_create_new_pull_request2.png :align: center - ---------- - **After filing a pull request** .. note:: @@ -308,10 +287,10 @@ After each push, the automated checks are run again. LAMMPS developers may add labels to your pull request to assign it to categories (mostly for bookkeeping purposes), but a few of them are -important: needs\_work, work\_in\_progress, test-for-regression, and +important: needs_work, work_in_progress, test-for-regression, and full-regression-test. The first two indicate, that your pull request -is not considered to be complete. With "needs\_work" the burden is on -exclusively on you; while "work\_in\_progress" can also mean, that a +is not considered to be complete. With "needs_work" the burden is on +exclusively on you; while "work_in_progress" can also mean, that a LAMMPS developer may want to add changes. Please watch the comments to the pull requests. The two "test" labels are used to trigger extended tests before the code is merged. This is sometimes done by @@ -408,7 +387,6 @@ Because the changes are OK with us, we are going to merge by clicking on Now, since in the meantime our local text for the tutorial also changed, we need to pull Axel's change back into our branch, and merge them: - .. code-block:: bash $ git add Howto_github.txt @@ -425,7 +403,6 @@ With Axel's changes merged in and some final text updates, our feature branch is now perfect as far as we are concerned, so we are going to commit and push again: - .. code-block:: bash $ git add Howto_github.txt @@ -438,10 +415,8 @@ This merge also shows up on the lammps GitHub page: .. image:: JPG/tutorial_reverse_pull_request7.png :align: center - ---------- - **After a merge** When everything is fine, the feature branch is merged into the master branch: @@ -456,7 +431,6 @@ It is in principle safe to delete them from your own fork. This helps keep it a bit more tidy. Note that you first have to switch to another branch! - .. code-block:: bash $ git checkout master @@ -472,7 +446,6 @@ first delete and then pull, everything should still be fine. Finally, if you delete the branch locally, you might want to push this to your remote(s) as well: - .. code-block:: bash $ git push origin :github-tutorial-update @@ -485,7 +458,7 @@ should be submitted, there is now also an "unstable" and a "stable" branch; these have the same content as "master", but are only updated after a patch release or stable release was made. Furthermore, the naming of the patches now follow the pattern -"patch\_<Day><Month><Year>" to simplify comparisons between releases. +"patch_<Day><Month><Year>" to simplify comparisons between releases. Finally, all patches and submissions are subject to automatic testing and code checks to make sure they at the very least compile. diff --git a/doc/src/Howto_granular.rst b/doc/src/Howto_granular.rst index 25fc9869ea..c696d44249 100644 --- a/doc/src/Howto_granular.rst +++ b/doc/src/Howto_granular.rst @@ -22,7 +22,7 @@ Use one of these 3 pair potentials, which compute forces and torques between interacting pairs of particles: * :doc:`pair_style <pair_style>` gran/history -* :doc:`pair_style <pair_style>` gran/no\_history +* :doc:`pair_style <pair_style>` gran/no_history * :doc:`pair_style <pair_style>` gran/hertzian These commands implement fix options specific to granular systems: diff --git a/doc/src/Howto_kappa.rst b/doc/src/Howto_kappa.rst index b737f8317d..08697ecc84 100644 --- a/doc/src/Howto_kappa.rst +++ b/doc/src/Howto_kappa.rst @@ -56,26 +56,20 @@ two preceding non-equilibrium methods, where energy flows continuously between hot and cold regions of the simulation box. 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 auto-correlation. See the doc 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 formalism. - ---------- - .. _howto-Ikeshoji: - - **(Ikeshoji)** Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 (1994). .. _howto-Wirnsberger: - - **(Wirnsberger)** Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 (2015). diff --git a/doc/src/Howto_library.rst b/doc/src/Howto_library.rst index 3e0ec01d31..774d9838c1 100644 --- a/doc/src/Howto_library.rst +++ b/doc/src/Howto_library.rst @@ -12,7 +12,7 @@ functions therein have a C-style argument list, but contain C++ code you could write yourself in a C++ application that was invoking LAMMPS directly. The C++ code in the functions illustrates how to invoke internal LAMMPS operations. Note that LAMMPS classes are defined -within a LAMMPS namespace (LAMMPS\_NS) if you use them from another C++ +within a LAMMPS namespace (LAMMPS_NS) if you use them from another C++ application. The examples/COUPLE and python/examples directories have example C++ @@ -34,7 +34,7 @@ interface LAMMPS to Fortran libraries, or the code uses static variables Another major issue to deal with is to correctly handle MPI. Creating a LAMMPS instance requires passing an MPI communicator, or it assumes -the MPI\_COMM\_WORLD communicator, which spans all MPI processor ranks. +the MPI_COMM_WORLD communicator, which spans all MPI processor ranks. When creating multiple LAMMPS object instances from different threads, this communicator has to be different for each thread or else collisions can happen, or it has to be guaranteed, that only one thread at a time @@ -58,7 +58,6 @@ details. The added functions can access or change any internal LAMMPS data you wish. - .. code-block:: c void lammps_open(int, char **, MPI_Comm, void **) @@ -71,11 +70,11 @@ details. void lammps_commands_string(void *, char *) void lammps_free(void *) -The lammps\_open() function is used to initialize LAMMPS, passing in a +The lammps_open() function is used to initialize LAMMPS, passing in a list of strings as if they were :doc:`command-line arguments <Run_options>` when LAMMPS is run in stand-alone mode from the command line, and a MPI communicator for LAMMPS to run under. It returns a ptr to the LAMMPS object that is created, and which is -used in subsequent library calls. The lammps\_open() function can be +used in subsequent library calls. The lammps_open() function can be called multiple times, to create multiple instances of LAMMPS. LAMMPS will run on the set of processors in the communicator. This @@ -87,14 +86,14 @@ half to the other code and run both codes simultaneously before syncing them up periodically. Or it might instantiate multiple instances of LAMMPS to perform different calculations. -The lammps\_open\_no\_mpi() function is similar except that no MPI -communicator is passed from the caller. Instead, MPI\_COMM\_WORLD is +The lammps_open_no_mpi() function is similar except that no MPI +communicator is passed from the caller. Instead, MPI_COMM_WORLD is used to instantiate LAMMPS, and MPI is initialized if necessary. -The lammps\_close() function is used to shut down an instance of LAMMPS +The lammps_close() function is used to shut down an instance of LAMMPS and free all its memory. -The lammps\_version() function can be used to determined the specific +The lammps_version() function can be used to determined the specific version of the underlying LAMMPS code. This is particularly useful when loading LAMMPS as a shared library via dlopen(). The code using the library interface can than use this information to adapt to @@ -102,8 +101,8 @@ changes to the LAMMPS command syntax between versions. The returned LAMMPS version code is an integer (e.g. 2 Sep 2015 results in 20150902) that grows with every new LAMMPS version. -The lammps\_file(), lammps\_command(), lammps\_commands\_list(), and -lammps\_commands\_string() functions are used to pass one or more +The lammps_file(), lammps_command(), lammps_commands_list(), and +lammps_commands_string() functions are used to pass one or more commands to LAMMPS to execute, the same as if they were coming from an input script. @@ -114,19 +113,19 @@ can interleave the command function calls with operations it performs, calls to extract information from or set information within LAMMPS, or calls to another code's library. -The lammps\_file() function passes the filename of an input script. -The lammps\_command() function passes a single command as a string. -The lammps\_commands\_list() function passes multiple commands in a -char\*\* list. In both lammps\_command() and lammps\_commands\_list(), +The lammps_file() function passes the filename of an input script. +The lammps_command() function passes a single command as a string. +The lammps_commands_list() function passes multiple commands in a +char\*\* list. In both lammps_command() and lammps_commands_list(), individual commands may or may not have a trailing newline. The -lammps\_commands\_string() function passes multiple commands +lammps_commands_string() function passes multiple commands concatenated into one long string, separated by newline characters. -In both lammps\_commands\_list() and lammps\_commands\_string(), a single +In both lammps_commands_list() and lammps_commands_string(), a single command can be spread across multiple lines, if the last printable character of all but the last line is "&", the same as if the lines appeared in an input script. -The lammps\_free() function is a clean-up function to free memory that +The lammps_free() function is a clean-up function to free memory that the library allocated previously via other function calls. See comments in src/library.cpp file for which other functions need this clean-up. @@ -136,7 +135,6 @@ information from LAMMPS and setting value within LAMMPS. Again, see the documentation in the src/library.cpp file for details, including which quantities can be queried by name: - .. code-block:: c int lammps_extract_setting(void *, char *) @@ -148,22 +146,21 @@ which quantities can be queried by name: void *lammps_extract_fix(void *, char *, int, int, int, int) void *lammps_extract_variable(void *, char *, char *) -The extract\_setting() function returns info on the size +The extract_setting() function returns info on the size of data types (e.g. 32-bit or 64-bit atom IDs) used by the LAMMPS executable (a compile-time choice). The other extract functions return a pointer to various global or per-atom quantities stored in LAMMPS or to values calculated by a compute, fix, or variable. The pointer returned by the -extract\_global() function can be used as a permanent reference to a -value which may change. For the extract\_atom() method, see the +extract_global() function can be used as a permanent reference to a +value which may change. For the extract_atom() method, see the extract() method in the src/atom.cpp file for a list of valid per-atom properties. New names could easily be added if the property you want is not listed. For the other extract functions, the underlying storage may be reallocated as LAMMPS runs, so you need to re-call the function to assure a current pointer or returned value(s). - .. code-block:: c double lammps_get_thermo(void *, char *) @@ -172,22 +169,21 @@ function to assure a current pointer or returned value(s). int lammps_set_variable(void *, char *, char *) void lammps_reset_box(void *, double *, double *, double, double, double) -The lammps\_get\_thermo() function returns the current value of a thermo +The lammps_get_thermo() function returns the current value of a thermo keyword as a double precision value. -The lammps\_get\_natoms() function returns the total number of atoms in +The lammps_get_natoms() function returns the total number of atoms in the system and can be used by the caller to allocate memory for the -lammps\_gather\_atoms() and lammps\_scatter\_atoms() functions. +lammps_gather_atoms() and lammps_scatter_atoms() functions. -The lammps\_set\_variable() function can set an existing string-style +The lammps_set_variable() function can set an existing string-style variable to a new string value, so that subsequent LAMMPS commands can access the variable. -The lammps\_reset\_box() function resets the size and shape of the +The lammps_reset_box() function resets the size and shape of the simulation box, e.g. as part of restoring a previously extracted and saved state of a simulation. - .. code-block:: c void lammps_gather_atoms(void *, char *, int, int, void *) @@ -206,17 +202,17 @@ owned by different processors. .. warning:: These functions are not compatible with the - -DLAMMPS\_BIGBIG setting when compiling LAMMPS. Dummy functions + -DLAMMPS_BIGBIG setting when compiling LAMMPS. Dummy functions that result in an error message and abort will be substituted instead of resulting in random crashes and memory corruption. -The lammps\_gather\_atoms() function does this for all N atoms in the +The lammps_gather_atoms() function does this for all N atoms in the system, ordered by atom ID, from 1 to N. The -lammps\_gather\_atoms\_concat() function does it for all N atoms, but +lammps_gather_atoms_concat() function does it for all N atoms, but simply concatenates the subset of atoms owned by each processor. The resulting vector is not ordered by atom ID. Atom IDs can be requested by the same function if the caller needs to know the ordering. The -lammps\_gather\_subset() function allows the caller to request values +lammps_gather_subset() function allows the caller to request values for only a subset of atoms (identified by ID). For all 3 gather function, per-atom image flags can be retrieved in 2 ways. If the count is specified as 1, they are returned @@ -224,24 +220,23 @@ in a packed format with all three image flags stored in a single integer. If the count is specified as 3, the values are unpacked into xyz flags by the library before returning them. -The lammps\_scatter\_atoms() function takes a list of values for all N +The lammps_scatter_atoms() function takes a list of values for all N atoms in the system, ordered by atom ID, from 1 to N, and assigns those values to each atom in the system. The -lammps\_scatter\_atoms\_subset() function takes a subset of IDs as an +lammps_scatter_atoms_subset() function takes a subset of IDs as an argument and only scatters those values to the owning atoms. - .. code-block:: c void lammps_create_atoms(void *, int, tagint *, int *, double *, double *, imageint *, int) -The lammps\_create\_atoms() function takes a list of N atoms as input +The lammps_create_atoms() function takes a list of N atoms as input with atom types and coords (required), an optionally atom IDs and velocities and image flags. It uses the coords of each atom to assign it as a new atom to the processor that owns it. This function is useful to add atoms to a simulation or (in tandem with -lammps\_reset\_box()) to restore a previously extracted and saved state +lammps_reset_box()) to restore a previously extracted and saved state of a simulation. Additional properties for the new atoms can then be -assigned via the lammps\_scatter\_atoms() or lammps\_extract\_atom() +assigned via the lammps_scatter_atoms() or lammps_extract_atom() functions. diff --git a/doc/src/Howto_manifold.rst b/doc/src/Howto_manifold.rst index 8d60a0d36d..41e1fb6a4c 100644 --- a/doc/src/Howto_manifold.rst +++ b/doc/src/Howto_manifold.rst @@ -19,17 +19,17 @@ to the relevant fixes. +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ | cylinder | R | x\^2 + y\^2 - R\^2 = 0 | Cylinder along z-axis, axis going through (0,0,0) | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ -| cylinder\_dent | R l a | x\^2 + y\^2 - r(z)\^2 = 0, r(x) = R if \| z \| > l, r(z) = R - a\*(1 + cos(z/l))/2 otherwise | A cylinder with a dent around z = 0 | +| cylinder_dent | R l a | x\^2 + y\^2 - r(z)\^2 = 0, r(x) = R if \| z \| > l, r(z) = R - a\*(1 + cos(z/l))/2 otherwise | A cylinder with a dent around z = 0 | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ | dumbbell | a A B c | -( x\^2 + y\^2 ) + (a\^2 - z\^2/c\^2) \* ( 1 + (A\*sin(B\*z\^2))\^4) = 0 | A dumbbell | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ | ellipsoid | a b c | (x/a)\^2 + (y/b)\^2 + (z/c)\^2 = 0 | An ellipsoid | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ -| gaussian\_bump | A l rc1 rc2 | if( x < rc1) -z + A \* exp( -x\^2 / (2 l\^2) ); else if( x < rc2 ) -z + a + b\*x + c\*x\^2 + d\*x\^3; else z | A Gaussian bump at x = y = 0, smoothly tapered to a flat plane z = 0. | +| gaussian_bump | A l rc1 rc2 | if( x < rc1) -z + A \* exp( -x\^2 / (2 l\^2) ); else if( x < rc2 ) -z + a + b\*x + c\*x\^2 + d\*x\^3; else z | A Gaussian bump at x = y = 0, smoothly tapered to a flat plane z = 0. | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ | plane | a b c x0 y0 z0 | a\*(x-x0) + b\*(y-y0) + c\*(z-z0) = 0 | A plane with normal (a,b,c) going through point (x0,y0,z0) | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ -| plane\_wiggle | a w | z - a\*sin(w\*x) = 0 | A plane with a sinusoidal modulation on z along x. | +| plane_wiggle | a w | z - a\*sin(w\*x) = 0 | A plane with a sinusoidal modulation on z along x. | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ | sphere | R | x\^2 + y\^2 + z\^2 - R\^2 = 0 | A sphere of radius R | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ @@ -37,7 +37,7 @@ to the relevant fixes. +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ | spine | a, A, B, B2, c | -(x\^2 + y\^2) + (a\^2 - z\^2/f(z)\^2)\*(1 + (A\*sin(g(z)\*z\^2))\^4), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise | An approximation to a dendritic spine | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ -| spine\_two | a, A, B, B2, c | -(x\^2 + y\^2) + (a\^2 - z\^2/f(z)\^2)\*(1 + (A\*sin(g(z)\*z\^2))\^2), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise | Another approximation to a dendritic spine | +| spine_two | a, A, B, B2, c | -(x\^2 + y\^2) + (a\^2 - z\^2/f(z)\^2)\*(1 + (A\*sin(g(z)\*z\^2))\^2), f(z) = c if z > 0, 1 otherwise; g(z) = B if z > 0, B2 otherwise | Another approximation to a dendritic spine | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ | thylakoid | wB LB lB | Various, see :ref:`(Paquay) <Paquay1>` | A model grana thylakoid consisting of two block-like compartments connected by a bridge of width wB, length LB and taper length lB | +----------------+----------------+----------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ @@ -46,7 +46,5 @@ to the relevant fixes. .. _Paquay1: - - **(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_. diff --git a/doc/src/Howto_multiple.rst b/doc/src/Howto_multiple.rst index 42b58c041c..ec2729acf0 100644 --- a/doc/src/Howto_multiple.rst +++ b/doc/src/Howto_multiple.rst @@ -8,7 +8,6 @@ If "multiple simulations" means continue a previous simulation for more timesteps, then you simply use the :doc:`run <run>` command multiple times. For example, this script - .. code-block:: LAMMPS units lj @@ -27,7 +26,6 @@ If you wish to run totally different simulations, one after the other, the :doc:`clear <clear>` command can be used in between them to re-initialize LAMMPS. For example, this script - .. code-block:: LAMMPS units lj @@ -48,7 +46,6 @@ For large numbers of independent simulations, you can use multiple times with different settings. For example, this script, named in.polymer - .. code-block:: LAMMPS variable d index run1 run2 run3 run4 run5 run6 run7 run8 @@ -65,7 +62,6 @@ file in each directory. The same concept could be used to run the same system at 8 different temperatures, using a temperature variable and storing the output in different log and dump files, for example - .. code-block:: LAMMPS variable a loop 8 diff --git a/doc/src/Howto_nemd.rst b/doc/src/Howto_nemd.rst index 1138315c1e..f2be8ca444 100644 --- a/doc/src/Howto_nemd.rst +++ b/doc/src/Howto_nemd.rst @@ -43,13 +43,9 @@ NEMD simulations can also be used to measure transport properties of a fluid through a pore or channel. Simulations of steady-state flow can be performed using the :doc:`fix flow/gauss <fix_flow_gauss>` command. - ---------- - .. _Daivis-nemd: - - **(Daivis and Todd)** Daivis and Todd, Nonequilibrium Molecular Dynamics (book), Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017). diff --git a/doc/src/Howto_output.rst b/doc/src/Howto_output.rst index 9030e6edf8..04e73c2272 100644 --- a/doc/src/Howto_output.rst +++ b/doc/src/Howto_output.rst @@ -12,7 +12,6 @@ There are four basic kinds of LAMMPS output: screen. * :doc:`Restart files <restart>`. - A simulation prints one set of thermodynamic output and (optionally) restart files. It can generate any number of dump files and fix output files, depending on what :doc:`dump <dump>` and :doc:`fix <fix>` @@ -69,11 +68,11 @@ notation, where ID in this case is the ID of a compute. The leading "c\_" would be replaced by "f\_" for a fix, or "v\_" for a variable: +-------------+--------------------------------------------+ -| c\_ID | entire scalar, vector, or array | +| c_ID | entire scalar, vector, or array | +-------------+--------------------------------------------+ -| c\_ID[I] | one element of vector, one column of array | +| c_ID[I] | one element of vector, one column of array | +-------------+--------------------------------------------+ -| c\_ID[I][J] | one element of array | +| c_ID[I][J] | one element of array | +-------------+--------------------------------------------+ In other words, using one bracket reduces the dimension of the data @@ -93,7 +92,7 @@ The frequency and format of thermodynamic output is set by the :doc:`thermo_style <thermo_style>` command also specifies what values are calculated and written out. Pre-defined keywords can be specified (e.g. press, etotal, etc). Three additional kinds of keywords can -also be specified (c\_ID, f\_ID, v\_name), where a :doc:`compute <compute>` +also be specified (c_ID, f_ID, v_name), where a :doc:`compute <compute>` or :doc:`fix <fix>` or :doc:`variable <variable>` provides the value to be output. In each case, the compute, fix, or variable must generate global values for input to the :doc:`thermo_style custom <dump>` @@ -122,7 +121,7 @@ pre-defined formats (dump atom, dump xtc, etc). There is also a :doc:`dump custom <dump>` format where the user specifies what values are output with each atom. Pre-defined atom attributes can be specified (id, x, fx, etc). Three additional kinds -of keywords can also be specified (c\_ID, f\_ID, v\_name), where a +of keywords can also be specified (c_ID, f_ID, v_name), where a :doc:`compute <compute>` or :doc:`fix <fix>` or :doc:`variable <variable>` provides the values to be output. In each case, the compute, fix, or variable must generate per-atom values for input to the :doc:`dump custom <dump>` command. @@ -130,7 +129,7 @@ variable must generate per-atom values for input to the :doc:`dump custom <dump> There is also a :doc:`dump local <dump>` format where the user specifies what local values to output. A pre-defined index keyword can be specified to enumerate the local values. Two additional kinds of -keywords can also be specified (c\_ID, f\_ID), where a +keywords can also be specified (c_ID, f_ID), where a :doc:`compute <compute>` or :doc:`fix <fix>` or :doc:`variable <variable>` provides the values to be output. In each case, the compute or fix must generate local values for input to the :doc:`dump local <dump>` diff --git a/doc/src/Howto_pylammps.rst b/doc/src/Howto_pylammps.rst index 5ee9892db9..e1694e2062 100644 --- a/doc/src/Howto_pylammps.rst +++ b/doc/src/Howto_pylammps.rst @@ -56,7 +56,6 @@ output support enabled. Step 1a: For the CMake based build system, the steps are: - .. code-block:: bash mkdir $LAMMPS_DIR/build-shared @@ -68,7 +67,6 @@ Step 1a: For the CMake based build system, the steps are: Step 1b: For the legacy, make based build system, the steps are: - .. code-block:: bash cd $LAMMPS_DIR/src @@ -85,7 +83,6 @@ Step 2: Installing the LAMMPS Python package PyLammps is part of the lammps Python package. To install it simply install that package into your current Python installation with: - .. code-block:: bash make install-python @@ -110,7 +107,6 @@ Benefits of using a virtualenv **Prerequisite (e.g. on Ubuntu)** - .. code-block:: bash apt-get install python-virtualenv @@ -118,7 +114,6 @@ Benefits of using a virtualenv Creating a virtualenv with lammps installed """"""""""""""""""""""""""""""""""""""""""" - .. code-block:: bash # create virtualenv named 'testing' @@ -132,7 +127,6 @@ When using CMake and the shared library has already been build, you need to re-run CMake to update the location of the python executable to the location in the virtual environment with: - .. code-block:: bash cmake . -DPYTHON_EXECUTABLE=$(which python) @@ -154,7 +148,6 @@ Creating a new instance of PyLammps To create a PyLammps object you need to first import the class from the lammps module. By using the default constructor, a new *lammps* instance is created. - .. code-block:: Python from lammps import PyLammps @@ -162,7 +155,6 @@ module. By using the default constructor, a new *lammps* instance is created. You can also initialize PyLammps on top of this existing *lammps* object: - .. code-block:: Python from lammps import lammps, PyLammps @@ -177,7 +169,6 @@ the command method of the lammps object instance. For instance, let's take the following LAMMPS command: - .. code-block:: LAMMPS region box block 0 10 0 5 -0.5 0.5 @@ -185,7 +176,6 @@ For instance, let's take the following LAMMPS command: In the original interface this command can be executed with the following Python code if *L* was a lammps instance: - .. code-block:: Python L.command("region box block 0 10 0 5 -0.5 0.5") @@ -193,7 +183,6 @@ Python code if *L* was a lammps instance: With the PyLammps interface, any command can be split up into arbitrary parts separated by white-space, passed as individual arguments to a region method. - .. code-block:: Python L.region("box block", 0, 10, 0, 5, -0.5, 0.5) @@ -206,7 +195,6 @@ The benefit of this approach is avoiding redundant command calls and easier parameterization. In the original interface parameterization needed to be done manually by creating formatted strings. - .. code-block:: Python L.command("region box block %f %f %f %f %f %f" % (xlo, xhi, ylo, yhi, zlo, zhi)) @@ -214,7 +202,6 @@ manually by creating formatted strings. In contrast, methods of PyLammps accept parameters directly and will convert them automatically to a final command string. - .. code-block:: Python L.region("box block", xlo, xhi, ylo, yhi, zlo, zhi) @@ -225,8 +212,6 @@ System state In addition to dispatching commands directly through the PyLammps object, it also provides several properties which allow you to query the system state. - - L.system Is a dictionary describing the system such as the bounding box or number of atoms @@ -260,8 +245,6 @@ L.dump L.groups List of groups present in the current system - - Working with LAMMPS variables ----------------------------- @@ -269,7 +252,6 @@ LAMMPS variables can be both defined and accessed via the PyLammps interface. To define a variable you can use the :doc:`variable <variable>` command: - .. code-block:: Python L.variable("a index 2") @@ -279,7 +261,6 @@ A dictionary of all variables is returned by L.variables you can access an individual variable by retrieving a variable object from the L.variables dictionary by name - .. code-block:: Python a = L.variables['a'] @@ -287,7 +268,6 @@ L.variables dictionary by name The variable value can then be easily read and written by accessing the value property of this object. - .. code-block:: Python print(a.value) @@ -300,7 +280,6 @@ LAMMPS expressions can be immediately evaluated by using the eval method. The passed string parameter can be any expression containing global thermo values, variables, compute or fix data. - .. code-block:: Python result = L.eval("ke") # kinetic energy @@ -315,7 +294,6 @@ All atoms in the current simulation can be accessed by using the L.atoms list. Each element of this list is an object which exposes its properties (id, type, position, velocity, force, etc.). - .. code-block:: Python # access first atom @@ -329,7 +307,6 @@ position, velocity, force, etc.). Some properties can also be used to set: - .. code-block:: Python # set position in 2D simulation @@ -347,7 +324,6 @@ after a run via the L.runs list. This list contains a growing list of run data. The first element is the output of the first run, the second element that of the second run. - .. code-block:: Python L.run(1000) @@ -359,7 +335,6 @@ the second run. Each run contains a dictionary of all trajectories. Each trajectory is accessible through its thermo name: - .. code-block:: Python L.runs[0].thermo.Step # list of time steps in first run @@ -367,7 +342,6 @@ accessible through its thermo name: Together with matplotlib plotting data out of LAMMPS becomes simple: - .. code-block:: Python import matplotlib.plot as plt @@ -406,7 +380,6 @@ tutorials and showcasing your latest research. To launch an instance of Jupyter simply run the following command inside your Python environment (this assumes you followed the Quick Start instructions): - .. code-block:: bash jupyter notebook @@ -429,7 +402,6 @@ Four atoms are placed in the simulation and the dihedral potential is applied on them using a datafile. Then one of the atoms is rotated along the central axis by setting its position from Python, which changes the dihedral angle. - .. code-block:: Python phi = [d \* math.pi / 180 for d in range(360)] @@ -463,7 +435,6 @@ Initially, a 2D system is created in a state with minimal energy. It is then disordered by moving each atom by a random delta. - .. code-block:: Python random.seed(27848) @@ -483,7 +454,6 @@ It is then disordered by moving each atom by a random delta. Finally, the Monte Carlo algorithm is implemented in Python. It continuously moves random atoms by a random delta and only accepts certain moves. - .. code-block:: Python estart = L.eval("pe") @@ -536,7 +506,6 @@ Using PyLammps and mpi4py (Experimental) PyLammps can be run in parallel using mpi4py. This python package can be installed using - .. code-block:: bash pip install mpi4py @@ -544,7 +513,6 @@ PyLammps can be run in parallel using mpi4py. This python package can be install The following is a short example which reads in an existing LAMMPS input file and executes it in parallel. You can find in.melt in the examples/melt folder. - .. code-block:: Python from mpi4py import MPI @@ -561,7 +529,6 @@ executes it in parallel. You can find in.melt in the examples/melt folder. To run this script (melt.py) in parallel using 4 MPI processes we invoke the following mpirun command: - .. code-block:: bash mpirun -np 4 python melt.py diff --git a/doc/src/Howto_replica.rst b/doc/src/Howto_replica.rst index f9aca02dcd..e9fba37dcd 100644 --- a/doc/src/Howto_replica.rst +++ b/doc/src/Howto_replica.rst @@ -37,7 +37,6 @@ replica. The processors assigned to each replica are determined at run-time by using the :doc:`-partition command-line switch <Run_options>` to launch LAMMPS on multiple partitions, which in this context are the same as replicas. E.g. these commands: - .. code-block:: bash mpirun -np 16 lmp_linux -partition 8x2 -in in.temper diff --git a/doc/src/Howto_restart.rst b/doc/src/Howto_restart.rst index 484f09775b..6323ba4158 100644 --- a/doc/src/Howto_restart.rst +++ b/doc/src/Howto_restart.rst @@ -21,7 +21,6 @@ Look at the *in.chain* input script provided in the *bench* directory of the LAMMPS distribution to see the original script that these 2 scripts are based on. If that script had the line - .. code-block:: LAMMPS restart 50 tmp.restart @@ -32,7 +31,6 @@ and tmp.restart.100) as it ran. This script could be used to read the 1st restart file and re-run the last 50 timesteps: - .. code-block:: LAMMPS read_restart tmp.restart.50 @@ -48,8 +46,8 @@ last 50 timesteps: run 50 Note that the following commands do not need to be repeated because -their settings are included in the restart file: *units, atom\_style, -special\_bonds, pair\_style, bond\_style*. However these commands do +their settings are included in the restart file: *units, atom_style, +special_bonds, pair_style, bond_style*. However these commands do need to be used, since their settings are not in the restart file: *neighbor, fix, timestep*\ . @@ -62,14 +60,12 @@ uses random numbers in a way that does not allow for perfect restarts. As an alternate approach, the restart file could be converted to a data file as follows: - .. code-block:: LAMMPS lmp_g++ -r tmp.restart.50 tmp.restart.data Then, this script could be used to re-run the last 50 steps: - .. code-block:: LAMMPS units lj @@ -93,7 +89,7 @@ Then, this script could be used to re-run the last 50 steps: run 50 Note that nearly all the settings specified in the original *in.chain* -script must be repeated, except the *pair\_coeff* and *bond\_coeff* +script must be repeated, except the *pair_coeff* and *bond_coeff* commands since the new data file lists the force field coefficients. Also, the :doc:`reset_timestep <reset_timestep>` command is used to tell LAMMPS the current timestep. This value is stored in restart files, diff --git a/doc/src/Howto_spc.rst b/doc/src/Howto_spc.rst index e9b0863a6a..f7c2cf6142 100644 --- a/doc/src/Howto_spc.rst +++ b/doc/src/Howto_spc.rst @@ -15,38 +15,34 @@ atoms and the water molecule to run a rigid SPC model. | H mass = 1.008 | O charge = -0.820 | H charge = 0.410 -| LJ epsilon of OO = 0.1553 -| LJ sigma of OO = 3.166 -| LJ epsilon, sigma of OH, HH = 0.0 -| r0 of OH bond = 1.0 -| theta of HOH angle = 109.47 -| +| LJ :math:`\epsilon` of OO = 0.1553 +| LJ :math:`\sigma` of OO = 3.166 +| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 +| :math:`r_0` of OH bond = 1.0 +| :math:`\theta` of HOH angle = 109.47\ :math:`^{\circ}` +| Note that as originally proposed, the SPC model was run with a 9 -Angstrom cutoff for both LJ and Coulombic terms. It can also be used -with long-range Coulombics (Ewald or PPPM in LAMMPS), without changing -any of the parameters above, though it becomes a different model in -that mode of usage. +Angstrom cutoff for both LJ and Coulomb terms. It can also be used +with long-range electrostatic solvers (e.g. Ewald or PPPM in LAMMPS) +without changing any of the parameters above, although it becomes +a different model in that mode of usage. The SPC/E (extended) water model is the same, except the partial charge assignments change: | O charge = -0.8476 | H charge = 0.4238 -| +| See the :ref:`(Berendsen) <howto-Berendsen>` reference for more details on both the SPC and SPC/E models. Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_. - ---------- - .. _howto-Berendsen: - - **(Berendsen)** Berendsen, Grigera, Straatsma, J Phys Chem, 91, 6269-6271 (1987). diff --git a/doc/src/Howto_spherical.rst b/doc/src/Howto_spherical.rst index 066329a985..7ca8a1b060 100644 --- a/doc/src/Howto_spherical.rst +++ b/doc/src/Howto_spherical.rst @@ -38,7 +38,6 @@ The dipole style does not actually define finite-size particles, but is often used in conjunction with spherical particles, via a command like - .. code-block:: LAMMPS atom_style hybrid sphere dipole @@ -116,7 +115,7 @@ such interactions. These are the various :doc:`pair styles <pair_style>` that g * :doc:`pair_style gran/history <pair_gran>` * :doc:`pair_style gran/hertzian <pair_gran>` -* :doc:`pair_style gran/no\_history <pair_gran>` +* :doc:`pair_style gran/no_history <pair_gran>` * :doc:`pair_style dipole/cut <pair_dipole>` * :doc:`pair_style gayberne <pair_gayberne>` * :doc:`pair_style resquared <pair_resquared>` diff --git a/doc/src/Howto_spins.rst b/doc/src/Howto_spins.rst index 08939576e3..0afcc12c91 100644 --- a/doc/src/Howto_spins.rst +++ b/doc/src/Howto_spins.rst @@ -56,13 +56,9 @@ the magnetic energy. The second command is :doc:`compute property/atom <compute_ per atom magnetic quantities. Typically, the orientation of a given magnetic spin, or the magnetic force acting on this spin. - ---------- - .. _Tranchida: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/Howto_thermostat.rst b/doc/src/Howto_thermostat.rst index e953b28d49..77745efa57 100644 --- a/doc/src/Howto_thermostat.rst +++ b/doc/src/Howto_thermostat.rst @@ -82,13 +82,9 @@ specify them explicitly via the :doc:`thermo_style custom <thermo_style>` comman :doc:`thermo_modify <thermo_modify>` command to re-define what temperature compute is used for default thermodynamic output. - ---------- - .. _Daivis-thermostat: - - **(Daivis and Todd)** Daivis and Todd, Nonequilibrium Molecular Dynamics (book), Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017). diff --git a/doc/src/Howto_tip3p.rst b/doc/src/Howto_tip3p.rst index 921dface17..7f7ddbdf2a 100644 --- a/doc/src/Howto_tip3p.rst +++ b/doc/src/Howto_tip3p.rst @@ -20,19 +20,19 @@ set to 0.0, it corresponds to the original 1983 TIP3P model | H mass = 1.008 | O charge = -0.834 | H charge = 0.417 -| LJ epsilon of OO = 0.1521 -| LJ sigma of OO = 3.1507 -| LJ epsilon of HH = 0.0460 -| LJ sigma of HH = 0.4000 -| LJ epsilon of OH = 0.0836 -| LJ sigma of OH = 1.7753 +| LJ :math:`\epsilon` of OO = 0.1521 +| LJ :math:`\sigma` of OO = 3.1507 +| LJ :math:`\epsilon` of HH = 0.0460 +| LJ :math:`\sigma` of HH = 0.4000 +| LJ :math:`\epsilon` of OH = 0.0836 +| LJ :math:`\sigma` of OH = 1.7753 | K of OH bond = 450 -| r0 of OH bond = 0.9572 +| :math:`r_0` of OH bond = 0.9572 | K of HOH angle = 55 -| theta of HOH angle = 104.52 -| +| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` +| -These are the parameters to use for TIP3P with a long-range Coulombic +These are the parameters to use for TIP3P with a long-range Coulomb solver (e.g. Ewald or PPPM in LAMMPS), see :ref:`(Price) <Price1>` for details: @@ -40,37 +40,29 @@ details: | H mass = 1.008 | O charge = -0.830 | H charge = 0.415 -| LJ epsilon of OO = 0.102 -| LJ sigma of OO = 3.188 -| LJ epsilon, sigma of OH, HH = 0.0 +| LJ :math:`\epsilon` of OO = 0.102 +| LJ :math:`\sigma` of OO = 3.188 +| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 | K of OH bond = 450 -| r0 of OH bond = 0.9572 +| :math:`r_0` of OH bond = 0.9572 | K of HOH angle = 55 -| theta of HOH angle = 104.52 -| +| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` +| Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_. - ---------- - .. _howto-tip3p: - - **(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). .. _Jorgensen1: - - **(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). .. _Price1: - - **(Price)** Price and Brooks, J Chem Phys, 121, 10096 (2004). diff --git a/doc/src/Howto_tip4p.rst b/doc/src/Howto_tip4p.rst index 480ddc3bc6..1aa5712b19 100644 --- a/doc/src/Howto_tip4p.rst +++ b/doc/src/Howto_tip4p.rst @@ -11,7 +11,7 @@ angle style of *harmonic* or *charmm* should also be used. A TIP4P model is run with LAMMPS using either this command for a cutoff model: -:doc:`pair_style lj/cut/tip4p/cut <pair_lj>` +* :doc:`pair_style lj/cut/tip4p/cut <pair_lj>` or these two commands for a long-range model: @@ -31,46 +31,46 @@ coefficients. | H mass = 1.008 | O charge = -1.040 | H charge = 0.520 -| r0 of OH bond = 0.9572 -| theta of HOH angle = 104.52 +| :math:`r_0` of OH bond = 0.9572 +| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` | OM distance = 0.15 -| LJ epsilon of O-O = 0.1550 -| LJ sigma of O-O = 3.1536 -| LJ epsilon, sigma of OH, HH = 0.0 -| Coulombic cutoff = 8.5 -| +| LJ :math:`\epsilon` of O-O = 0.1550 +| LJ :math:`\sigma` of O-O = 3.1536 +| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 +| Coulomb cutoff = 8.5 +| For the TIP4/Ice model (J Chem Phys, 122, 234511 (2005); -http://dx.doi.org/10.1063/1.1931662) these values can be used: +https://doi.org/10.1063/1.1931662) these values can be used: | O mass = 15.9994 | H mass = 1.008 | O charge = -1.1794 | H charge = 0.5897 -| r0 of OH bond = 0.9572 -| theta of HOH angle = 104.52 +| :math:`r_0` of OH bond = 0.9572 +| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` | OM distance = 0.1577 -| LJ epsilon of O-O = 0.21084 -| LJ sigma of O-O = 3.1668 -| LJ epsilon, sigma of OH, HH = 0.0 -| Coulombic cutoff = 8.5 -| +| LJ :math:`\epsilon` of O-O = 0.21084 +| LJ :math:`\sigma` of O-O = 3.1668 +| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 +| Coulomb cutoff = 8.5 +| For the TIP4P/2005 model (J Chem Phys, 123, 234505 (2005); -http://dx.doi.org/10.1063/1.2121687), these values can be used: +https://doi.org/10.1063/1.2121687), these values can be used: | O mass = 15.9994 | H mass = 1.008 | O charge = -1.1128 | H charge = 0.5564 -| r0 of OH bond = 0.9572 -| theta of HOH angle = 104.52 +| :math:`r_0` of OH bond = 0.9572 +| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` | OM distance = 0.1546 -| LJ epsilon of O-O = 0.1852 -| LJ sigma of O-O = 3.1589 -| LJ epsilon, sigma of OH, HH = 0.0 -| Coulombic cutoff = 8.5 -| +| LJ :math:`\epsilon` of O-O = 0.1852 +| LJ :math:`\sigma` of O-O = 3.1589 +| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 +| Coulomb cutoff = 8.5 +| These are the parameters to use for TIP4P with a long-range Coulombic solver (e.g. Ewald or PPPM in LAMMPS): @@ -79,13 +79,13 @@ solver (e.g. Ewald or PPPM in LAMMPS): | H mass = 1.008 | O charge = -1.0484 | H charge = 0.5242 -| r0 of OH bond = 0.9572 -| theta of HOH angle = 104.52 +| :math:`r_0` of OH bond = 0.9572 +| :math:`\theta` of HOH angle = 104.52\ :math:`^{\circ}` | OM distance = 0.1250 -| LJ epsilon of O-O = 0.16275 -| LJ sigma of O-O = 3.16435 -| LJ epsilon, sigma of OH, HH = 0.0 -| +| LJ :math:`\epsilon` of O-O = 0.16275 +| LJ :math:`\sigma` of O-O = 3.16435 +| LJ :math:`\epsilon`, :math:`\sigma` of OH, HH = 0.0 +| Note that the when using the TIP4P pair style, the neighbor list cutoff for Coulomb interactions is effectively extended by a distance @@ -99,13 +99,9 @@ and Coulombic cutoffs are set in the :doc:`pair_style lj/cut/tip4p/long <pair_lj Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_. - ---------- - .. _Jorgensen5: - - **(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 0e642a4883..632d0364d5 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -78,7 +78,7 @@ The transformation is given by the following equation: \begin{pmatrix} \mathbf{B \times C} \\ \mathbf{C \times A} \\ - \mathbf{A \times B} + \mathbf{A \times B} \end{pmatrix} \cdot \mathbf{X} where *V* is the volume of the box, **X** is the original vector quantity and @@ -200,7 +200,6 @@ an orthogonal bounding box which encloses the triclinic simulation box is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic box, formatted as follows: - .. parsed-literal:: ITEM: BOX BOUNDS xy xz yz @@ -212,7 +211,6 @@ This bounding box is convenient for many visualization programs and is calculated from the 9 triclinic box parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows: - .. parsed-literal:: xlo_bound = xlo + MIN(0.0,xy,xz,xy+xz) @@ -223,7 +221,7 @@ calculated from the 9 triclinic box parameters zhi_bound = zhi These formulas can be inverted if you need to convert the bounding box -back into the triclinic box parameters, e.g. xlo = xlo\_bound - +back into the triclinic box parameters, e.g. xlo = xlo_bound - MIN(0.0,xy,xz,xy+xz). One use of triclinic simulation boxes is to model solid-state crystals diff --git a/doc/src/Howto_viscosity.rst b/doc/src/Howto_viscosity.rst index 9e00c18732..dff414ce9d 100644 --- a/doc/src/Howto_viscosity.rst +++ b/doc/src/Howto_viscosity.rst @@ -62,7 +62,6 @@ simulation box. Here is an example input script that calculates the viscosity of liquid Ar via the GK formalism: - .. code-block:: LAMMPS # Sample LAMMPS input script for viscosity of liquid Ar @@ -131,13 +130,9 @@ time-integrated momentum fluxes play the role of Cartesian coordinates, whose mean-square displacement increases linearly with time at sufficiently long times. - ---------- - .. _Daivis-viscosity: - - **(Daivis and Todd)** Daivis and Todd, Nonequilibrium Molecular Dynamics (book), Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017). diff --git a/doc/src/Howto_viz.rst b/doc/src/Howto_viz.rst index a5e83ce2c3..0ffdf08331 100644 --- a/doc/src/Howto_viz.rst +++ b/doc/src/Howto_viz.rst @@ -25,12 +25,8 @@ RasMol visualization programs. Pizza.py has tools that do interactive 3d OpenGL visualization and one that creates SVG images of dump file snapshots. -.. _pizza: http://www.sandia.gov/~sjplimp/pizza.html +.. _pizza: https://pizza.sandia.gov +.. _ensight: https://daac.hpc.mil/software/EnSight/ - -.. _ensight: http://www.ensight.com - - - -.. _atomeye: http://mt.seas.upenn.edu/Archive/Graphics/A +.. _atomeye: http://li.mit.edu/Archive/Graphics/A/ diff --git a/doc/src/Install.rst b/doc/src/Install.rst index b2d72d61c8..03a1551686 100644 --- a/doc/src/Install.rst +++ b/doc/src/Install.rst @@ -8,7 +8,6 @@ have more flexibility as to what features to include or exclude in the build. If you plan to :doc:`modify or extend LAMMPS <Modify>`, then you need the source code. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Install_git.rst b/doc/src/Install_git.rst index 238f53d5a3..2f6e8096dc 100644 --- a/doc/src/Install_git.rst +++ b/doc/src/Install_git.rst @@ -16,8 +16,7 @@ commands explained below to communicate with the git servers on GitHub. For people still using subversion (svn), GitHub also provides `limited support for subversion clients <svn_>`_. - -.. warning:: +.. note:: As of October 2016, the official home of public LAMMPS development is on GitHub. The previously advertised LAMMPS git repositories on @@ -35,7 +34,6 @@ You can follow LAMMPS development on 3 different git branches: To access the git repositories on your box, use the clone command to create a local copy of the LAMMPS repository with a command like: - .. code-block:: bash $ git clone -b unstable https://github.com/lammps/lammps.git mylammps @@ -57,7 +55,6 @@ LAMMPS, as listed on :doc:`this page <Errors_bugs>`, you can stay up-to-date by typing the following git commands from within the "mylammps" directory: - .. code-block:: bash $ git checkout unstable # not needed if you always stay in this branch @@ -92,7 +89,6 @@ Once you have updated your local files with a "git pull" (or "git checkout"), you still need to re-build LAMMPS if any source files have changed. To do this, you should cd to the src directory and type: - .. code-block:: bash $ make purge # remove any deprecated src files diff --git a/doc/src/Install_linux.rst b/doc/src/Install_linux.rst index 03acf55734..ec4f3fcc8e 100644 --- a/doc/src/Install_linux.rst +++ b/doc/src/Install_linux.rst @@ -38,7 +38,7 @@ To install LAMMPS do the following once: $ sudo apt-get install lammps-daily -This downloads an executable named "lmp\_daily" to your box, which +This downloads an executable named "lmp_daily" to your box, which can then be used in the usual way to run input scripts: .. code-block:: bash @@ -103,10 +103,10 @@ linking to the C library interface (lammps-devel, lammps-mpich-devel, lammps-openmpi-devel), the header for compiling programs using the C library interface (lammps-headers), and the LAMMPS python module for Python 3. All packages can be installed at the same -time and the name of the LAMMPS executable is *lmp* and *lmp\_openmpi* -or *lmp\_mpich* respectively. By default, *lmp* will refer to the +time and the name of the LAMMPS executable is *lmp* and *lmp_openmpi* +or *lmp_mpich* respectively. By default, *lmp* will refer to the serial executable, unless one of the MPI environment modules is loaded -("module load mpi/mpich-x86\_64" or "module load mpi/openmpi-x86\_64"). +("module load mpi/mpich-x86_64" or "module load mpi/openmpi-x86_64"). Then the corresponding parallel LAMMPS executable can be used. The same mechanism applies when loading the LAMMPS python module. @@ -206,7 +206,6 @@ Gentoo Linux executable LAMMPS is part of Gentoo's main package tree and can be installed by typing: - .. code-block:: bash % emerge --ask lammps @@ -216,7 +215,6 @@ built on the your machine. Certain LAMMPS packages can be enable via USE flags, type - .. code-block:: bash % equery uses lammps diff --git a/doc/src/Install_mac.rst b/doc/src/Install_mac.rst index 82d77446c8..41b53c0595 100644 --- a/doc/src/Install_mac.rst +++ b/doc/src/Install_mac.rst @@ -10,18 +10,16 @@ GPU, KOKKOS, LATTE, MSCG, MESSAGE, MPIIO POEMS VORONOI. After installing Homebrew, you can install LAMMPS on your system with the following commands: - .. code-block:: bash % brew install lammps -This will install the executables "lammps\_serial" and "lammps\_mpi", as well as +This will install the executables "lammps_serial" and "lammps_mpi", as well as the LAMMPS "doc", "potentials", "tools", "bench", and "examples" directories. Once LAMMPS is installed, you can test the installation with the Lennard-Jones benchmark file: - .. code-block:: bash % brew test lammps -v @@ -31,7 +29,6 @@ results in Homebrew also installing the `kim-api` binaries when LAMMPS is installed. In order to use potentials from `openkim.org <openkim_>`_, you can install the `openkim-models` package - .. code-block:: bash % brew install openkim-models @@ -44,5 +41,4 @@ If you have problems with the installation you can post issues to Thanks to Derek Thomas (derekt at cello.t.u-tokyo.ac.jp) for setting up the Homebrew capability. - .. _openkim: https://openkim.org diff --git a/doc/src/Install_patch.rst b/doc/src/Install_patch.rst index 9c06633f2c..3acd72753f 100644 --- a/doc/src/Install_patch.rst +++ b/doc/src/Install_patch.rst @@ -8,7 +8,7 @@ how to stay current are on the If you prefer to download a tarball, as described on the :doc:`Install git <Install_tarball>` doc page, you can stay current by downloading "patch files" when new patch releases are made. A link to -a patch file is posted on the `bug and feature page <http://lammps.sandia.gov/bug.html>`_ of the LAMMPS website, along +a patch file is posted on the `bug and feature page <https://lammps.sandia.gov/bug.html>`_ of the LAMMPS website, along with a list of changed files and details about what is in the new patch release. This page explains how to apply the patch file to your local LAMMPS directory. @@ -32,9 +32,9 @@ up to date. * Apply the patch by typing the following command from your top-level LAMMPS directory, where the redirected file is the name of the patch file. - + .. code-block:: bash - + $ patch -bp1 < patch.12Dec16 * A list of updated files print out to the screen. The -b switch @@ -46,9 +46,9 @@ up to date. successively, you only need to type this once at the end. The purge command removes deprecated src files if any were removed by the patch from package sub-directories. - + .. code-block:: bash - + $ make purge $ make package-update diff --git a/doc/src/Install_tarball.rst b/doc/src/Install_tarball.rst index 1b04d8ac93..d80fc14f76 100644 --- a/doc/src/Install_tarball.rst +++ b/doc/src/Install_tarball.rst @@ -4,10 +4,10 @@ Download source and documentation as a tarball You can download a current LAMMPS tarball from the `download page <download_>`_ of the `LAMMPS website <lws_>`_. -.. _download: http://lammps.sandia.gov/download.html -.. _bug: http://lammps.sandia.gov/bug.html -.. _older: http://lammps.sandia.gov/tars -.. _lws: http://lammps.sandia.gov +.. _download: https://lammps.sandia.gov/download.html +.. _bug: https://lammps.sandia.gov/bug.html +.. _older: https://lammps.sandia.gov/tars +.. _lws: https://lammps.sandia.gov You have two choices of tarballs, either the most recent stable release or the most current patch release. Stable releases occur a @@ -26,7 +26,7 @@ command: .. code-block:: bash - $ tar -xzvf lammps\*.tar.gz + $ tar -xzvf lammps*.tar.gz This will create a LAMMPS directory with the version date in its name, e.g. lammps-23Jun18. @@ -40,7 +40,7 @@ a lammps-master dir: .. code-block:: bash - $ unzip lammps\*.zip + $ unzip lammps*.zip This version is the most up-to-date LAMMPS development version. It will have the date of the most recent patch release (see the file @@ -52,7 +52,6 @@ the next patch release tarball. ---------- - If you download a current LAMMPS tarball, one way to stay current as new patch tarballs are released, is to download a patch file which you can apply to your local directory to update it for each new patch diff --git a/doc/src/Install_windows.rst b/doc/src/Install_windows.rst index 32375264db..548f67e484 100644 --- a/doc/src/Install_windows.rst +++ b/doc/src/Install_windows.rst @@ -4,7 +4,9 @@ Download an executable for Windows Pre-compiled Windows installers which install LAMMPS executables on a Windows system can be downloaded from this site: -`http://packages.lammps.org/windows.html <http://packages.lammps.org/windows.html>`_ +.. parsed-literal:: + + `http://packages.lammps.org/windows.html <http://packages.lammps.org/windows.html>`_ Note that each installer package has a date in its name, which corresponds to the LAMMPS version of the same date. Installers for @@ -26,7 +28,7 @@ When you download the installer package, you run it on your Windows machine. It will then prompt you with a dialog, where you can choose the installation directory, unpack and copy several executables, potential files, documentation pdfs, selected example files, etc. It -will then update a few system settings (e.g. PATH, LAMMPS\_POTENTIALS) +will then update a few system settings (e.g. PATH, LAMMPS_POTENTIALS) and add an entry into the Start Menu (with references to the documentation, LAMMPS homepage and more). From that menu, there is also a link to an uninstaller that removes the files and undoes the diff --git a/doc/src/Intro.rst b/doc/src/Intro.rst index cc4ae4c48f..6d388aa87e 100644 --- a/doc/src/Intro.rst +++ b/doc/src/Intro.rst @@ -3,7 +3,6 @@ Introduction These pages provide a brief introduction to LAMMPS. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Intro_authors.rst b/doc/src/Intro_authors.rst index 0b08dd5d52..fbf306a295 100644 --- a/doc/src/Intro_authors.rst +++ b/doc/src/Intro_authors.rst @@ -11,25 +11,20 @@ University: * Richard Berger, richard.berger at temple.edu .. _sjp: http://www.cs.sandia.gov/~sjplimp -.. _lws: http://lammps.sandia.gov - +.. _lws: https://lammps.sandia.gov Past developers include Paul Crozier and Mark Stevens, both at Sandia, and Ray Shan, now at Materials Design. - ---------- - -The `Authors page <http://lammps.sandia.gov/authors.html>`_ of the +The `Authors page <https://lammps.sandia.gov/authors.html>`_ of the `LAMMPS website <lws_>`_ has a comprehensive list of all the individuals who have contributed code for a new feature or command or tool to LAMMPS. - ---------- - The following folks deserve special recognition. Many of the packages they have written are unique for an MD code and LAMMPS would not be as general-purpose as it is without their expertise and efforts. @@ -49,11 +44,9 @@ general-purpose as it is without their expertise and efforts. * Ilya Valuev (JIHT), USER-AWPMD package for wave packet MD * Greg Wagner (Northwestern U), MEAM package for MEAM potential - ---------- - -As discussed on the `History page <http://lammps.sandia.gov/history.html>`_ of the website, LAMMPS +As discussed on the `History page <https://lammps.sandia.gov/history.html>`_ of the website, LAMMPS originated as a cooperative project between DOE labs and industrial partners. Folks involved in the design and testing of the original version of LAMMPS were the following: diff --git a/doc/src/Intro_features.rst b/doc/src/Intro_features.rst index 7c25a6f09b..cff198da70 100644 --- a/doc/src/Intro_features.rst +++ b/doc/src/Intro_features.rst @@ -16,10 +16,8 @@ classes of functionality: 10. :ref:`Pre- and post-processing <prepost>` 11. :ref:`Specialized features (beyond MD itself) <special>` - ---------- - .. _general: General features @@ -189,14 +187,10 @@ Pre- and post-processing 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_>`_. -.. _pizza: http://www.sandia.gov/~sjplimp/pizza.html - - +.. _pizza: https://pizza.sandia.gov .. _python: http://www.python.org - - .. _special: Specialized features diff --git a/doc/src/Intro_nonfeatures.rst b/doc/src/Intro_nonfeatures.rst index 6e0c85a6be..feb35c7198 100644 --- a/doc/src/Intro_nonfeatures.rst +++ b/doc/src/Intro_nonfeatures.rst @@ -66,7 +66,7 @@ Here are suggestions on how to perform these tasks: 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 movies from them. For high-quality, interactive visualization there are - many excellent and free tools available. See the `Other Codes page <http://lammps.sandia.gov/viz.html>`_ page of the LAMMPS website for + many excellent and free tools available. See the `Other Codes page <https://lammps.sandia.gov/viz.html>`_ page of the LAMMPS website for visualization packages that can use LAMMPS output data. * **Plotting:** See the next bullet about Pizza.py as well as the :doc:`Python <Python_head>` doc page for examples of plotting LAMMPS @@ -75,7 +75,7 @@ Here are suggestions on how to perform these tasks: it easier to analyze and plot. See the :doc:`Tools <Tools>` doc page for more discussion of the various tools. * **Pizza.py:** Our group has also written a separate toolkit called - `Pizza.py <http://pizza.sandia.gov>`_ which can do certain kinds of + `Pizza.py <https://pizza.sandia.gov>`_ which can do certain kinds of setup, analysis, plotting, and visualization (via OpenGL) for LAMMPS simulations. It thus provides some functionality for several of the above bullets. Pizza.py is written in `Python <http://www.python.org>`_ diff --git a/doc/src/Intro_opensource.rst b/doc/src/Intro_opensource.rst index ea06bd4814..2fd692c304 100644 --- a/doc/src/Intro_opensource.rst +++ b/doc/src/Intro_opensource.rst @@ -15,16 +15,10 @@ distribution. .. _gnu: http://www.gnu.org/copyleft/gpl.html - - .. _gnuorg: http://www.gnu.org - - .. _opensource: http://www.opensource.org - - Here is a summary of what the GPL means for LAMMPS users: (1) Anyone is free to use, modify, or extend LAMMPS in any way they diff --git a/doc/src/Intro_overview.rst b/doc/src/Intro_overview.rst index b661352d30..776002354a 100644 --- a/doc/src/Intro_overview.rst +++ b/doc/src/Intro_overview.rst @@ -16,10 +16,10 @@ shared-memory boxes and distributed-memory clusters and supercomputers. .. _mpi: http://www-unix.mcs.anl.gov/mpi -.. _lws: http://lammps.sandia.gov +.. _lws: https://lammps.sandia.gov LAMMPS is written in C++. Earlier versions were written in F77 and -F90. See the `History page <http://lammps.sandia.gov/history.html>`_ of +F90. See the `History page <https://lammps.sandia.gov/history.html>`_ of the website for details. All versions can be downloaded from the `LAMMPS website <lws_>`_. diff --git a/doc/src/Intro_website.rst b/doc/src/Intro_website.rst index 82fa52e226..0999e90907 100644 --- a/doc/src/Intro_website.rst +++ b/doc/src/Intro_website.rst @@ -5,32 +5,32 @@ The `LAMMPS website <lws_>`_ has a variety of additional info about LAMMPS, beyond what is in this manual. Some of the other pages in this Intr are included in this list. -.. _lws: http://lammps.sandia.gov +.. _lws: https://lammps.sandia.gov * `Brief intro and recently added significant features <lws_>`_ -* `List of features <http://lammps.sandia.gov/features.html>`_ -* `List of non-features <http://lammps.sandia.gov/non_features.html>`_ -* `Recent bug fixes and new features <http://lammps.sandia.gov/bug.html>`_ +* `List of features <https://lammps.sandia.gov/features.html>`_ +* `List of non-features <https://lammps.sandia.gov/non_features.html>`_ +* `Recent bug fixes and new features <https://lammps.sandia.gov/bug.html>`_ -* `Download info <http://lammps.sandia.gov/download.html>`_ +* `Download info <https://lammps.sandia.gov/download.html>`_ * `GitHub site <https://github.com/lammps/lammps>`_ * `SourceForge site <https://sourceforge.net/projects/lammps>`_ -* `LAMMPS open-source license <http://lammps.sandia.gov/open_source.html>`_ +* `LAMMPS open-source license <https://lammps.sandia.gov/open_source.html>`_ -* `Glossary of MD terms relevant to LAMMPS <http://lammps.sandia.gov/glossary.html>`_ -* `LAMMPS highlights with images <http://lammps.sandia.gov/pictures.html>`_ -* `LAMMPS highlights with movies <http://lammps.sandia.gov/movies.html>`_ -* `Mail list <http://lammps.sandia.gov/mail.html>`_ -* `Workshops <http://lammps.sandia.gov/workshops.html>`_ -* `Tutorials <http://lammps.sandia.gov/tutorials.html>`_ -* `Developer guide <http://lammps.sandia.gov/Developer.pdf>`_ +* `Glossary of MD terms relevant to LAMMPS <https://lammps.sandia.gov/glossary.html>`_ +* `LAMMPS highlights with images <https://lammps.sandia.gov/pictures.html>`_ +* `LAMMPS highlights with movies <https://lammps.sandia.gov/movies.html>`_ +* `Mail list <https://lammps.sandia.gov/mail.html>`_ +* `Workshops <https://lammps.sandia.gov/workshops.html>`_ +* `Tutorials <https://lammps.sandia.gov/tutorials.html>`_ +* `Developer guide <https://lammps.sandia.gov/Developer.pdf>`_ -* `Pre- and post-processing tools for LAMMPS <http://lammps.sandia.gov/prepost.html>`_ -* `Other software usable with LAMMPS <http://lammps.sandia.gov/offsite.html>`_ -* `Viz tools usable with LAMMPS <http://lammps.sandia.gov/viz.html>`_ +* `Pre- and post-processing tools for LAMMPS <https://lammps.sandia.gov/prepost.html>`_ +* `Other software usable with LAMMPS <https://lammps.sandia.gov/offsite.html>`_ +* `Viz tools usable with LAMMPS <https://lammps.sandia.gov/viz.html>`_ -* `Benchmark performance <http://lammps.sandia.gov/bench.html>`_ -* `Publications that have cited LAMMPS <http://lammps.sandia.gov/papers.html>`_ -* `Authors of LAMMPS <http://lammps.sandia.gov/authors.html>`_ -* `History of LAMMPS development <http://lammps.sandia.gov/history.html>`_ -* `Funding for LAMMPS <http://lammps.sandia.gov/funding.html>`_ +* `Benchmark performance <https://lammps.sandia.gov/bench.html>`_ +* `Publications that have cited LAMMPS <https://lammps.sandia.gov/papers.html>`_ +* `Authors of LAMMPS <https://lammps.sandia.gov/authors.html>`_ +* `History of LAMMPS development <https://lammps.sandia.gov/history.html>`_ +* `Funding for LAMMPS <https://lammps.sandia.gov/funding.html>`_ diff --git a/doc/src/Manual.rst b/doc/src/Manual.rst index 08cfa862ab..f805c594c6 100644 --- a/doc/src/Manual.rst +++ b/doc/src/Manual.rst @@ -18,7 +18,7 @@ LAMMPS is an open-source code, distributed freely under the terms of the GNU Public License (GPL). The `LAMMPS website <lws_>`_ has a variety of information about the code. -It includes links to an on-line version of this manual, a `mailing list <http://lammps.sandia.gov/mail.html>`_ where users can post +It includes links to an on-line version of this manual, a `mailing list <https://lammps.sandia.gov/mail.html>`_ where users can post questions, and a `GitHub site <https://github.com/lammps/lammps>`_ where all LAMMPS development is coordinated. @@ -35,7 +35,7 @@ a brief description of the basic code structure of LAMMPS. Once you are familiar with LAMMPS, you may want to bookmark :doc:`this page <Commands>` since it gives quick access to a doc page for every LAMMPS command. -.. _lws: http://lammps.sandia.gov +.. _lws: https://lammps.sandia.gov .. toctree:: :maxdepth: 2 diff --git a/doc/src/Manual_build.rst b/doc/src/Manual_build.rst index b401a65ac9..5d5b749678 100644 --- a/doc/src/Manual_build.rst +++ b/doc/src/Manual_build.rst @@ -5,8 +5,7 @@ Depending on how you obtained LAMMPS, the doc directory has up to 6 sub-directories, 2 Nroff files, and optionally 2 PDF files plus 2 e-book format files: - -.. parsed-literal:: +.. code-block:: bash src # content files for LAMMPS documentation html # HTML version of the LAMMPS manual (see html/Manual.html) @@ -29,8 +28,8 @@ and PDF files are not included. Instead you need to create them, in one of two ways: a. You can "fetch" the current HTML and PDF files from the LAMMPS web - site. Just type "make fetch". This should download a html\_www - directory and Manual\_www.pdf/Developer\_www.pdf files. Note that if + site. Just type "make fetch". This should download a html_www + directory and Manual_www.pdf/Developer_www.pdf files. Note that if new LAMMPS features have been added more recently than the date of your LAMMPS version, the fetched documentation will include those changes (but your source code will not, unless you update your local @@ -49,11 +48,9 @@ b. You can build the HTML or PDF files yourself, by typing "make html" ---------- - The generation of all documentation is managed by the Makefile in the doc directory. - .. code-block:: bash Documentation Build Options: @@ -74,7 +71,6 @@ the doc directory. ---------- - Installing prerequisites for HTML build ======================================= @@ -84,7 +80,6 @@ have to be installed. Here are instructions for common setups: Ubuntu ------ - .. code-block:: bash sudo apt-get install python-virtualenv @@ -92,7 +87,6 @@ Ubuntu Fedora (up to version 21) and Red Hat Enterprise Linux or CentOS (up to version 7.x) ------------------------------------------------------------------------------------ - .. code-block:: bash sudo yum install python3-virtualenv @@ -100,7 +94,6 @@ Fedora (up to version 21) and Red Hat Enterprise Linux or CentOS (up to version Fedora (since version 22) ------------------------- - .. code-block:: bash sudo dnf install python3-virtualenv @@ -121,17 +114,14 @@ virtualenv Once Python 3 is installed, open a Terminal and type - .. code-block:: bash pip3 install virtualenv This will install virtualenv from the Python Package Index. - ---------- - Installing prerequisites for epub build ======================================= diff --git a/doc/src/Manual_version.rst b/doc/src/Manual_version.rst index 7a76824d0c..a9a395a14d 100644 --- a/doc/src/Manual_version.rst +++ b/doc/src/Manual_version.rst @@ -5,7 +5,7 @@ The LAMMPS "version" is the date when it was released, such as 1 May 2014. LAMMPS is updated continuously. Whenever we fix a bug or add a feature, we release it in the next *patch* release, which are typically made every couple of weeks. Info on patch releases are on -`this website page <http://lammps.sandia.gov/bug.html>`_. Every few +`this website page <https://lammps.sandia.gov/bug.html>`_. Every few months, the latest patch release is subjected to more thorough testing and labeled as a *stable* version. diff --git a/doc/src/Modify.rst b/doc/src/Modify.rst index 677e94b026..531fb6b1f3 100644 --- a/doc/src/Modify.rst +++ b/doc/src/Modify.rst @@ -10,7 +10,6 @@ If you add a new feature to LAMMPS and think it will be of interest to general users, we encourage you to submit it for inclusion in LAMMPS as a pull request on our `GitHub site <https://github.com/lammps/lammps>`_, after reading the :doc:`Modify contribute <Modify_contribute>` doc page. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Modify_atom.rst b/doc/src/Modify_atom.rst index 5499a6d7be..f863da3157 100644 --- a/doc/src/Modify_atom.rst +++ b/doc/src/Modify_atom.rst @@ -8,78 +8,78 @@ style can be created if one of the existing atom styles does not define all the attributes you need to store and communicate with atoms. -Atom\_vec\_atomic.cpp is a simple example of an atom style. +Atom_vec_atomic.cpp is a simple example of an atom style. Here is a brief description of methods you define in your new derived -class. See atom\_vec.h for details. +class. See atom_vec.h for details. +-------------------------+--------------------------------------------------------------------------------+ | init | one time setup (optional) | +-------------------------+--------------------------------------------------------------------------------+ | grow | re-allocate atom arrays to longer lengths (required) | +-------------------------+--------------------------------------------------------------------------------+ -| grow\_reset | make array pointers in Atom and AtomVec classes consistent (required) | +| grow_reset | make array pointers in Atom and AtomVec classes consistent (required) | +-------------------------+--------------------------------------------------------------------------------+ | copy | copy info for one atom to another atom's array locations (required) | +-------------------------+--------------------------------------------------------------------------------+ -| pack\_comm | store an atom's info in a buffer communicated every timestep (required) | +| pack_comm | store an atom's info in a buffer communicated every timestep (required) | +-------------------------+--------------------------------------------------------------------------------+ -| pack\_comm\_vel | add velocity info to communication buffer (required) | +| pack_comm_vel | add velocity info to communication buffer (required) | +-------------------------+--------------------------------------------------------------------------------+ -| pack\_comm\_hybrid | store extra info unique to this atom style (optional) | +| pack_comm_hybrid | store extra info unique to this atom style (optional) | +-------------------------+--------------------------------------------------------------------------------+ -| unpack\_comm | retrieve an atom's info from the buffer (required) | +| unpack_comm | retrieve an atom's info from the buffer (required) | +-------------------------+--------------------------------------------------------------------------------+ -| unpack\_comm\_vel | also retrieve velocity info (required) | +| unpack_comm_vel | also retrieve velocity info (required) | +-------------------------+--------------------------------------------------------------------------------+ -| unpack\_comm\_hybrid | retrieve extra info unique to this atom style (optional) | +| unpack_comm_hybrid | retrieve extra info unique to this atom style (optional) | +-------------------------+--------------------------------------------------------------------------------+ -| pack\_reverse | store an atom's info in a buffer communicating partial forces (required) | +| pack_reverse | store an atom's info in a buffer communicating partial forces (required) | +-------------------------+--------------------------------------------------------------------------------+ -| pack\_reverse\_hybrid | store extra info unique to this atom style (optional) | +| pack_reverse_hybrid | store extra info unique to this atom style (optional) | +-------------------------+--------------------------------------------------------------------------------+ -| unpack\_reverse | retrieve an atom's info from the buffer (required) | +| unpack_reverse | retrieve an atom's info from the buffer (required) | +-------------------------+--------------------------------------------------------------------------------+ -| unpack\_reverse\_hybrid | retrieve extra info unique to this atom style (optional) | +| unpack_reverse_hybrid | retrieve extra info unique to this atom style (optional) | +-------------------------+--------------------------------------------------------------------------------+ -| pack\_border | store an atom's info in a buffer communicated on neighbor re-builds (required) | +| pack_border | store an atom's info in a buffer communicated on neighbor re-builds (required) | +-------------------------+--------------------------------------------------------------------------------+ -| pack\_border\_vel | add velocity info to buffer (required) | +| pack_border_vel | add velocity info to buffer (required) | +-------------------------+--------------------------------------------------------------------------------+ -| pack\_border\_hybrid | store extra info unique to this atom style (optional) | +| pack_border_hybrid | store extra info unique to this atom style (optional) | +-------------------------+--------------------------------------------------------------------------------+ -| unpack\_border | retrieve an atom's info from the buffer (required) | +| unpack_border | retrieve an atom's info from the buffer (required) | +-------------------------+--------------------------------------------------------------------------------+ -| unpack\_border\_vel | also retrieve velocity info (required) | +| unpack_border_vel | also retrieve velocity info (required) | +-------------------------+--------------------------------------------------------------------------------+ -| unpack\_border\_hybrid | retrieve extra info unique to this atom style (optional) | +| unpack_border_hybrid | retrieve extra info unique to this atom style (optional) | +-------------------------+--------------------------------------------------------------------------------+ -| pack\_exchange | store all an atom's info to migrate to another processor (required) | +| pack_exchange | store all an atom's info to migrate to another processor (required) | +-------------------------+--------------------------------------------------------------------------------+ -| unpack\_exchange | retrieve an atom's info from the buffer (required) | +| unpack_exchange | retrieve an atom's info from the buffer (required) | +-------------------------+--------------------------------------------------------------------------------+ -| size\_restart | number of restart quantities associated with proc's atoms (required) | +| size_restart | number of restart quantities associated with proc's atoms (required) | +-------------------------+--------------------------------------------------------------------------------+ -| pack\_restart | pack atom quantities into a buffer (required) | +| pack_restart | pack atom quantities into a buffer (required) | +-------------------------+--------------------------------------------------------------------------------+ -| unpack\_restart | unpack atom quantities from a buffer (required) | +| unpack_restart | unpack atom quantities from a buffer (required) | +-------------------------+--------------------------------------------------------------------------------+ -| create\_atom | create an individual atom of this style (required) | +| create_atom | create an individual atom of this style (required) | +-------------------------+--------------------------------------------------------------------------------+ -| data\_atom | parse an atom line from the data file (required) | +| data_atom | parse an atom line from the data file (required) | +-------------------------+--------------------------------------------------------------------------------+ -| data\_atom\_hybrid | parse additional atom info unique to this atom style (optional) | +| data_atom_hybrid | parse additional atom info unique to this atom style (optional) | +-------------------------+--------------------------------------------------------------------------------+ -| data\_vel | parse one line of velocity information from data file (optional) | +| data_vel | parse one line of velocity information from data file (optional) | +-------------------------+--------------------------------------------------------------------------------+ -| data\_vel\_hybrid | parse additional velocity data unique to this atom style (optional) | +| data_vel_hybrid | parse additional velocity data unique to this atom style (optional) | +-------------------------+--------------------------------------------------------------------------------+ -| memory\_usage | tally memory allocated by atom arrays (required) | +| memory_usage | tally memory allocated by atom arrays (required) | +-------------------------+--------------------------------------------------------------------------------+ The constructor of the derived class sets values for several variables that you must set when defining a new atom style, which are documented -in atom\_vec.h. New atom arrays are defined in atom.cpp. Search for +in atom_vec.h. New atom arrays are defined in atom.cpp. Search for the word "customize" and you will find locations you will need to modify. @@ -95,13 +95,12 @@ modify. New :doc:`pair styles <pair_style>`, :doc:`fixes <fix>`, or :doc:`computes <compute>` can be added to LAMMPS, as discussed below. The code for these classes can use the per-atom properties defined by -fix property/atom. The Atom class has a find\_custom() method that is +fix property/atom. The Atom class has a find_custom() method that is useful in this context: +.. code-block:: c++ -.. parsed-literal:: - - int index = atom->find_custom(char \*name, int &flag); + int index = atom->find_custom(char *name, int &flag); The "name" of a custom attribute, as specified in the :doc:`fix property/atom <fix_property_atom>` command, is checked to verify that it exists and its index is returned. The method also sets flag = @@ -109,11 +108,10 @@ that it exists and its index is returned. The method also sets flag = The vector of values associated with the attribute can then be accessed using the returned index as +.. code-block:: c++ -.. parsed-literal:: - - int \*ivector = atom->ivector[index]; - double \*dvector = atom->dvector[index]; + int *ivector = atom->ivector[index]; + double *dvector = atom->dvector[index]; Ivector or dvector are vectors of length Nlocal = # of owned atoms, which store the attributes of individual atoms. diff --git a/doc/src/Modify_body.rst b/doc/src/Modify_body.rst index e469b8520f..b923416bdc 100644 --- a/doc/src/Modify_body.rst +++ b/doc/src/Modify_body.rst @@ -10,14 +10,14 @@ See the :doc:`Howto body <Howto_body>` doc page for an overview of using body particles and the various body styles LAMMPS supports. New styles can be created to add new kinds of body particles to LAMMPS. -Body\_nparticle.cpp is an example of a body particle that is treated as +Body_nparticle.cpp is an example of a body particle that is treated as a rigid body containing N sub-particles. Here is a brief description of methods you define in your new derived class. See body.h for details. +----------------------+-----------------------------------------------------------+ -| data\_body | process a line from the Bodies section of a data file | +| data_body | process a line from the Bodies section of a data file | +----------------------+-----------------------------------------------------------+ | noutrow | number of sub-particles output is generated for | +----------------------+-----------------------------------------------------------+ @@ -25,11 +25,11 @@ class. See body.h for details. +----------------------+-----------------------------------------------------------+ | output | output values for the Mth sub-particle | +----------------------+-----------------------------------------------------------+ -| pack\_comm\_body | body attributes to communicate every timestep | +| pack_comm_body | body attributes to communicate every timestep | +----------------------+-----------------------------------------------------------+ -| unpack\_comm\_body | unpacking of those attributes | +| unpack_comm_body | unpacking of those attributes | +----------------------+-----------------------------------------------------------+ -| pack\_border\_body | body attributes to communicate when reneighboring is done | +| pack_border_body | body attributes to communicate when reneighboring is done | +----------------------+-----------------------------------------------------------+ -| unpack\_border\_body | unpacking of those attributes | +| unpack_border_body | unpacking of those attributes | +----------------------+-----------------------------------------------------------+ diff --git a/doc/src/Modify_bond.rst b/doc/src/Modify_bond.rst index 06db272395..c2d220767e 100644 --- a/doc/src/Modify_bond.rst +++ b/doc/src/Modify_bond.rst @@ -5,7 +5,7 @@ Classes that compute molecular interactions are derived from the Bond, Angle, Dihedral, and Improper classes. New styles can be created to add new potentials to LAMMPS. -Bond\_harmonic.cpp is the simplest example of a bond style. Ditto for +Bond_harmonic.cpp is the simplest example of a bond style. Ditto for the harmonic forms of the angle, dihedral, and improper style commands. @@ -14,9 +14,9 @@ new derived class. See bond.h, angle.h, dihedral.h, and improper.h for details and specific additional methods. +-----------------------+---------------------------------------------------------------------------+ -| init | check if all coefficients are set, calls *init\_style* (optional) | +| init | check if all coefficients are set, calls *init_style* (optional) | +-----------------------+---------------------------------------------------------------------------+ -| init\_style | check if style specific conditions are met (optional) | +| init_style | check if style specific conditions are met (optional) | +-----------------------+---------------------------------------------------------------------------+ | compute | compute the molecular interactions (required) | +-----------------------+---------------------------------------------------------------------------+ @@ -24,13 +24,13 @@ for details and specific additional methods. +-----------------------+---------------------------------------------------------------------------+ | coeff | set coefficients for one type (required) | +-----------------------+---------------------------------------------------------------------------+ -| equilibrium\_distance | length of bond, used by SHAKE (required, bond only) | +| equilibrium_distance | length of bond, used by SHAKE (required, bond only) | +-----------------------+---------------------------------------------------------------------------+ -| equilibrium\_angle | opening of angle, used by SHAKE (required, angle only) | +| equilibrium_angle | opening of angle, used by SHAKE (required, angle only) | +-----------------------+---------------------------------------------------------------------------+ -| write & read\_restart | writes/reads coeffs to restart files (required) | +| write & read_restart | writes/reads coeffs to restart files (required) | +-----------------------+---------------------------------------------------------------------------+ | single | force and energy of a single bond or angle (required, bond or angle only) | +-----------------------+---------------------------------------------------------------------------+ -| memory\_usage | tally memory allocated by the style (optional) | +| memory_usage | tally memory allocated by the style (optional) | +-----------------------+---------------------------------------------------------------------------+ diff --git a/doc/src/Modify_command.rst b/doc/src/Modify_command.rst index 37e1b2c490..2d0a1d99d9 100644 --- a/doc/src/Modify_command.rst +++ b/doc/src/Modify_command.rst @@ -2,8 +2,8 @@ Input script command style ========================== New commands can be added to LAMMPS input scripts by adding new -classes that have a "command" method. For example, the create\_atoms, -read\_data, velocity, and run commands are all implemented in this +classes that have a "command" method. For example, the create_atoms, +read_data, velocity, and run commands are all implemented in this fashion. When such a command is encountered in the LAMMPS input script, LAMMPS simply creates a class with the corresponding name, invokes the "command" method of the class, and passes it the arguments diff --git a/doc/src/Modify_compute.rst b/doc/src/Modify_compute.rst index b32350e048..8fad775b3a 100644 --- a/doc/src/Modify_compute.rst +++ b/doc/src/Modify_compute.rst @@ -7,8 +7,8 @@ quantities like kinetic energy and the centro-symmetry parameter are derived from the Compute class. New styles can be created to add new calculations to LAMMPS. -Compute\_temp.cpp is a simple example of computing a scalar -temperature. Compute\_ke\_atom.cpp is a simple example of computing +Compute_temp.cpp is a simple example of computing a scalar +temperature. Compute_ke_atom.cpp is a simple example of computing per-atom kinetic energy. Here is a brief description of methods you define in your new derived @@ -17,41 +17,41 @@ class. See compute.h for details. +-----------------------+------------------------------------------------------------------+ | init | perform one time setup (required) | +-----------------------+------------------------------------------------------------------+ -| init\_list | neighbor list setup, if needed (optional) | +| init_list | neighbor list setup, if needed (optional) | +-----------------------+------------------------------------------------------------------+ -| compute\_scalar | compute a scalar quantity (optional) | +| compute_scalar | compute a scalar quantity (optional) | +-----------------------+------------------------------------------------------------------+ -| compute\_vector | compute a vector of quantities (optional) | +| compute_vector | compute a vector of quantities (optional) | +-----------------------+------------------------------------------------------------------+ -| compute\_peratom | compute one or more quantities per atom (optional) | +| compute_peratom | compute one or more quantities per atom (optional) | +-----------------------+------------------------------------------------------------------+ -| compute\_local | compute one or more quantities per processor (optional) | +| compute_local | compute one or more quantities per processor (optional) | +-----------------------+------------------------------------------------------------------+ -| pack\_comm | pack a buffer with items to communicate (optional) | +| pack_comm | pack a buffer with items to communicate (optional) | +-----------------------+------------------------------------------------------------------+ -| unpack\_comm | unpack the buffer (optional) | +| unpack_comm | unpack the buffer (optional) | +-----------------------+------------------------------------------------------------------+ -| pack\_reverse | pack a buffer with items to reverse communicate (optional) | +| pack_reverse | pack a buffer with items to reverse communicate (optional) | +-----------------------+------------------------------------------------------------------+ -| unpack\_reverse | unpack the buffer (optional) | +| unpack_reverse | unpack the buffer (optional) | +-----------------------+------------------------------------------------------------------+ -| remove\_bias | remove velocity bias from one atom (optional) | +| remove_bias | remove velocity bias from one atom (optional) | +-----------------------+------------------------------------------------------------------+ -| remove\_bias\_all | remove velocity bias from all atoms in group (optional) | +| remove_bias_all | remove velocity bias from all atoms in group (optional) | +-----------------------+------------------------------------------------------------------+ -| restore\_bias | restore velocity bias for one atom after remove\_bias (optional) | +| restore_bias | restore velocity bias for one atom after remove_bias (optional) | +-----------------------+------------------------------------------------------------------+ -| restore\_bias\_all | same as before, but for all atoms in group (optional) | +| restore_bias_all | same as before, but for all atoms in group (optional) | +-----------------------+------------------------------------------------------------------+ -| pair\_tally\_callback | callback function for *tally*\ -style computes (optional). | +| pair_tally_callback | callback function for *tally*\ -style computes (optional). | +-----------------------+------------------------------------------------------------------+ -| memory\_usage | tally memory usage (optional) | +| memory_usage | tally memory usage (optional) | +-----------------------+------------------------------------------------------------------+ Tally-style computes are a special case, as their computation is done in two stages: the callback function is registered with the pair style -and then called from the Pair::ev\_tally() function, which is called for +and then called from the Pair::ev_tally() function, which is called for each pair after force and energy has been computed for this pair. Then -the tallied values are retrieved with the standard compute\_scalar or -compute\_vector or compute\_peratom methods. The USER-TALLY package -provides *examples*\ \_compute\_tally.html for utilizing this mechanism. +the tallied values are retrieved with the standard compute_scalar or +compute_vector or compute_peratom methods. The USER-TALLY package +provides *examples*\ _compute_tally.html for utilizing this mechanism. diff --git a/doc/src/Modify_contribute.rst b/doc/src/Modify_contribute.rst index 4a1377bcf0..ed2ef783f4 100644 --- a/doc/src/Modify_contribute.rst +++ b/doc/src/Modify_contribute.rst @@ -2,7 +2,7 @@ Submitting new features for inclusion in LAMMPS =============================================== We encourage users to submit new features or modifications for LAMMPS -to `the core developers <http://lammps.sandia.gov/authors.html>`_ so they +to `the core developers <https://lammps.sandia.gov/authors.html>`_ so they can be added to the LAMMPS distribution. The preferred way to manage and coordinate this is as of Fall 2016 via the LAMMPS project on `GitHub <https://github.com/lammps/lammps>`_. An alternative is to @@ -44,12 +44,12 @@ are listed and described on the :doc:`Packages details <Packages_details>` doc p 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, -used as a license for the rest of LAMMPS. See the `Open source <http://lammps.sandia.gov/open_source.html>`_ page on the LAMMPS +used as a license for the rest of LAMMPS. See the `Open source <https://lammps.sandia.gov/open_source.html>`_ page on the LAMMPS website for details. With user packages and files, all we are really providing (aside from the fame and fortune that accompanies having your name in the source -code and on the `Authors page <http://lammps.sandia.gov/authors.html>`_ +code and on the `Authors page <https://lammps.sandia.gov/authors.html>`_ of the `LAMMPS WWW site <lws_>`_), is a means for you to distribute your work to the LAMMPS user community, and a mechanism for others to easily try out your new feature. This may help you find bugs or make @@ -63,13 +63,13 @@ unusual event). If you prefer to actively develop and support your add-on feature yourself, then you may wish to make it available for download from your own website, as a user package that LAMMPS users can add to - their copy of LAMMPS. See the `Offsite LAMMPS packages and tools <http://lammps.sandia.gov/offsite.html>`_ page of the LAMMPS web + their copy of LAMMPS. See the `Offsite LAMMPS packages and tools <https://lammps.sandia.gov/offsite.html>`_ page of the LAMMPS web site for examples of groups that do this. We are happy to advertise your package and web site from that page. Simply email the - `developers <http://lammps.sandia.gov/authors.html>`_ with info about + `developers <https://lammps.sandia.gov/authors.html>`_ with info about your package and we will post it there. -.. _lws: http://lammps.sandia.gov +.. _lws: https://lammps.sandia.gov The previous sections of this doc page describe how to add new "style" files of various kinds to LAMMPS. Packages are simply collections of @@ -78,7 +78,7 @@ LAMMPS input script. If designed correctly, these additions typically do not require changes to the main core of LAMMPS; they are simply add-on files. If you think your new feature requires non-trivial changes in core LAMMPS files, you should `communicate with the -developers <http://lammps.sandia.gov/authors.html>`_, since we may or +developers <https://lammps.sandia.gov/authors.html>`_, since we may or may not want to include those changes for some reason. An example of a trivial change is making a parent-class method "virtual" when you derive a new child class from it. @@ -90,8 +90,8 @@ packages in the src directory for examples. If you are uncertain, please ask. * All source files you provide must compile with the most current version of LAMMPS with multiple configurations. In particular you - need to test compiling LAMMPS from scratch with -DLAMMPS\_BIGBIG - set in addition to the default -DLAMMPS\_SMALLBIG setting. Your code + need to test compiling LAMMPS from scratch with -DLAMMPS_BIGBIG + set in addition to the default -DLAMMPS_SMALLBIG setting. Your code will need to work correctly in serial and in parallel using MPI. * For consistency with the rest of LAMMPS and especially, if you want @@ -106,7 +106,7 @@ packages in the src directory for examples. If you are uncertain, please ask. (<cstdlib>, <cstdio>, or <cstring>) instead of the C-style names <stdlib.h>, <stdio.h>, or <string.h>), and forward declarations used where possible or needed to avoid including headers. - All added code should be placed into the LAMMPS\_NS namespace or a + All added code should be placed into the LAMMPS_NS namespace or a sub-namespace; global or static variables should be avoided, as they conflict with the modular nature of LAMMPS and the C++ class structure. Header files must **not** import namespaces with *using*\ . @@ -164,7 +164,7 @@ packages in the src directory for examples. If you are uncertain, please ask. mathematical expression or figures (see doc/JPG for examples). Additional PDF files with further details (see doc/PDF for examples) may also be included. The doc 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 cite itself. Citation labels must be unique across all .rst files. The "Restrictions" section of the doc page should indicate if your @@ -191,7 +191,7 @@ packages in the src directory for examples. If you are uncertain, please ask. * If there is a paper of yours describing your feature (either the algorithm/science behind the feature itself, or its initial usage, or its implementation in LAMMPS), you can add the citation to the \*.cpp - source file. See src/USER-EFF/atom\_vec\_electron.cpp for an example. + source file. See src/USER-EFF/atom_vec_electron.cpp for an example. A LaTeX citation is stored in a variable at the top of the file and a single line of code that references the variable is added to the constructor of the class. Whenever a user invokes your feature from @@ -203,7 +203,6 @@ packages in the src directory for examples. If you are uncertain, please ask. usage. That kind of citation should just be in the doc page you provide. - Finally, as a general rule-of-thumb, the more clear and self-explanatory you make your documentation and README files, and the easier you make it for people to get started, e.g. by providing example diff --git a/doc/src/Modify_dump.rst b/doc/src/Modify_dump.rst index 8d98f848d2..1379326d1e 100644 --- a/doc/src/Modify_dump.rst +++ b/doc/src/Modify_dump.rst @@ -4,21 +4,21 @@ Dump styles Classes that dump per-atom info to files are derived from the Dump class. To dump new quantities or in a new format, a new derived dump class can be added, but it is typically simpler to modify the -DumpCustom class contained in the dump\_custom.cpp file. +DumpCustom class contained in the dump_custom.cpp file. -Dump\_atom.cpp is a simple example of a derived dump class. +Dump_atom.cpp is a simple example of a derived dump class. Here is a brief description of methods you define in your new derived class. See dump.h for details. +---------------+---------------------------------------------------+ -| write\_header | write the header section of a snapshot of atoms | +| write_header | write the header section of a snapshot of atoms | +---------------+---------------------------------------------------+ | count | count the number of lines a processor will output | +---------------+---------------------------------------------------+ | pack | pack a proc's output data into a buffer | +---------------+---------------------------------------------------+ -| write\_data | write a proc's data to a file | +| write_data | write a proc's data to a file | +---------------+---------------------------------------------------+ See the :doc:`dump <dump>` command and its *custom* style for a list of diff --git a/doc/src/Modify_fix.rst b/doc/src/Modify_fix.rst index 9e1705e435..9a97e30fbe 100644 --- a/doc/src/Modify_fix.rst +++ b/doc/src/Modify_fix.rst @@ -10,7 +10,7 @@ constraints or boundary conditions (SHAKE or walls), and diagnostics (compute a diffusion coefficient). New styles can be created to add new options to LAMMPS. -Fix\_setforce.cpp is a simple example of setting forces on atoms to +Fix_setforce.cpp is a simple example of setting forces on atoms to prescribed values. There are dozens of fix options already in LAMMPS; choose one as a template that is similar to what you want to implement. @@ -23,105 +23,105 @@ derived class. See fix.h for details. +---------------------------+--------------------------------------------------------------------------------------------+ | init | initialization before a run (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| setup\_pre\_exchange | called before atom exchange in setup (optional) | +| setup_pre_exchange | called before atom exchange in setup (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| setup\_pre\_force | called before force computation in setup (optional) | +| setup_pre_force | called before force computation in setup (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ | setup | called immediately before the 1st timestep and after forces are computed (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| min\_setup\_pre\_force | like setup\_pre\_force, but for minimizations instead of MD runs (optional) | +| min_setup_pre_force | like setup_pre_force, but for minimizations instead of MD runs (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| min\_setup | like setup, but for minimizations instead of MD runs (optional) | +| min_setup | like setup, but for minimizations instead of MD runs (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| initial\_integrate | called at very beginning of each timestep (optional) | +| initial_integrate | called at very beginning of each timestep (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| pre\_exchange | called before atom exchange on re-neighboring steps (optional) | +| pre_exchange | called before atom exchange on re-neighboring steps (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| pre\_neighbor | called before neighbor list build (optional) | +| pre_neighbor | called before neighbor list build (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| pre\_force | called before pair & molecular forces are computed (optional) | +| pre_force | called before pair & molecular forces are computed (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| post\_force | called after pair & molecular forces are computed and communicated (optional) | +| post_force | called after pair & molecular forces are computed and communicated (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| final\_integrate | called at end of each timestep (optional) | +| final_integrate | called at end of each timestep (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| end\_of\_step | called at very end of timestep (optional) | +| end_of_step | called at very end of timestep (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| write\_restart | dumps fix info to restart file (optional) | +| write_restart | dumps fix info to restart file (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ | restart | uses info from restart file to re-initialize the fix (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| grow\_arrays | allocate memory for atom-based arrays used by fix (optional) | +| grow_arrays | allocate memory for atom-based arrays used by fix (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| copy\_arrays | copy atom info when an atom migrates to a new processor (optional) | +| copy_arrays | copy atom info when an atom migrates to a new processor (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| pack\_exchange | store atom's data in a buffer (optional) | +| pack_exchange | store atom's data in a buffer (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| unpack\_exchange | retrieve atom's data from a buffer (optional) | +| unpack_exchange | retrieve atom's data from a buffer (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| pack\_restart | store atom's data for writing to restart file (optional) | +| pack_restart | store atom's data for writing to restart file (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| unpack\_restart | retrieve atom's data from a restart file buffer (optional) | +| unpack_restart | retrieve atom's data from a restart file buffer (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| size\_restart | size of atom's data (optional) | +| size_restart | size of atom's data (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| maxsize\_restart | max size of atom's data (optional) | +| maxsize_restart | max size of atom's data (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| setup\_pre\_force\_respa | same as setup\_pre\_force, but for rRESPA (optional) | +| setup_pre_force_respa | same as setup_pre_force, but for rRESPA (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| initial\_integrate\_respa | same as initial\_integrate, but for rRESPA (optional) | +| initial_integrate_respa | same as initial_integrate, but for rRESPA (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| post\_integrate\_respa | called after the first half integration step is done in rRESPA (optional) | +| post_integrate_respa | called after the first half integration step is done in rRESPA (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| pre\_force\_respa | same as pre\_force, but for rRESPA (optional) | +| pre_force_respa | same as pre_force, but for rRESPA (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| post\_force\_respa | same as post\_force, but for rRESPA (optional) | +| post_force_respa | same as post_force, but for rRESPA (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| final\_integrate\_respa | same as final\_integrate, but for rRESPA (optional) | +| final_integrate_respa | same as final_integrate, but for rRESPA (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| min\_pre\_force | called after pair & molecular forces are computed in minimizer (optional) | +| min_pre_force | called after pair & molecular forces are computed in minimizer (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| min\_post\_force | called after pair & molecular forces are computed and communicated in minimizer (optional) | +| min_post_force | called after pair & molecular forces are computed and communicated in minimizer (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| min\_store | store extra data for linesearch based minimization on a LIFO stack (optional) | +| min_store | store extra data for linesearch based minimization on a LIFO stack (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| min\_pushstore | push the minimization LIFO stack one element down (optional) | +| min_pushstore | push the minimization LIFO stack one element down (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| min\_popstore | pop the minimization LIFO stack one element up (optional) | +| min_popstore | pop the minimization LIFO stack one element up (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| min\_clearstore | clear minimization LIFO stack (optional) | +| min_clearstore | clear minimization LIFO stack (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| min\_step | reset or move forward on line search minimization (optional) | +| min_step | reset or move forward on line search minimization (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| min\_dof | report number of degrees of freedom *added* by this fix in minimization (optional) | +| min_dof | report number of degrees of freedom *added* by this fix in minimization (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| max\_alpha | report maximum allowed step size during linesearch minimization (optional) | +| max_alpha | report maximum allowed step size during linesearch minimization (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| pack\_comm | pack a buffer to communicate a per-atom quantity (optional) | +| pack_comm | pack a buffer to communicate a per-atom quantity (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| unpack\_comm | unpack a buffer to communicate a per-atom quantity (optional) | +| unpack_comm | unpack a buffer to communicate a per-atom quantity (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| pack\_reverse\_comm | pack a buffer to reverse communicate a per-atom quantity (optional) | +| pack_reverse_comm | pack a buffer to reverse communicate a per-atom quantity (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| unpack\_reverse\_comm | unpack a buffer to reverse communicate a per-atom quantity (optional) | +| unpack_reverse_comm | unpack a buffer to reverse communicate a per-atom quantity (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ | dof | report number of degrees of freedom *removed* by this fix during MD (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| compute\_scalar | return a global scalar property that the fix computes (optional) | +| compute_scalar | return a global scalar property that the fix computes (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| compute\_vector | return a component of a vector property that the fix computes (optional) | +| compute_vector | return a component of a vector property that the fix computes (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| compute\_array | return a component of an array property that the fix computes (optional) | +| compute_array | return a component of an array property that the fix computes (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ | deform | called when the box size is changed (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| reset\_target | called when a change of the target temperature is requested during a run (optional) | +| reset_target | called when a change of the target temperature is requested during a run (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| reset\_dt | is called when a change of the time step is requested during a run (optional) | +| reset_dt | is called when a change of the time step is requested during a run (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| modify\_param | called when a fix\_modify request is executed (optional) | +| modify_param | called when a fix_modify request is executed (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ -| memory\_usage | report memory used by fix (optional) | +| memory_usage | report memory used by fix (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ | thermo | compute quantities for thermodynamic output (optional) | +---------------------------+--------------------------------------------------------------------------------------------+ @@ -129,12 +129,12 @@ derived class. See fix.h for details. Typically, only a small fraction of these methods are defined for a particular fix. Setmask is mandatory, as it determines when the fix will be invoked during the timestep. Fixes that perform time -integration (\ *nve*\ , *nvt*\ , *npt*\ ) implement initial\_integrate() and -final\_integrate() to perform velocity Verlet updates. Fixes that -constrain forces implement post\_force(). +integration (\ *nve*\ , *nvt*\ , *npt*\ ) implement initial_integrate() and +final_integrate() to perform velocity Verlet updates. Fixes that +constrain forces implement post_force(). -Fixes that perform diagnostics typically implement end\_of\_step(). For -an end\_of\_step fix, one of your fix arguments must be the variable +Fixes that perform diagnostics typically implement end_of_step(). For +an end_of_step fix, one of your fix arguments must be the variable "nevery" which is used to determine when to call the fix and you must set this variable in the constructor of your fix. By convention, this is the first argument the fix defines (after the ID, group-ID, style). @@ -142,12 +142,12 @@ is the first argument the fix defines (after the ID, group-ID, style). If the fix needs to store information for each atom that persists from timestep to timestep, it can manage that memory and migrate the info with the atoms as they move from processors to processor by -implementing the grow\_arrays, copy\_arrays, pack\_exchange, and -unpack\_exchange methods. Similarly, the pack\_restart and -unpack\_restart methods can be implemented to store information about +implementing the grow_arrays, copy_arrays, pack_exchange, and +unpack_exchange methods. Similarly, the pack_restart and +unpack_restart methods can be implemented to store information about the fix in restart files. If you wish an integrator or force constraint fix to work with rRESPA (see the :doc:`run_style <run_style>` -command), the initial\_integrate, post\_force\_integrate, and -final\_integrate\_respa methods can be implemented. The thermo method +command), the initial_integrate, post_force_integrate, and +final_integrate_respa methods can be implemented. The thermo method enables a fix to contribute values to thermodynamic output, as printed quantities and/or to be summed to the potential energy of the system. diff --git a/doc/src/Modify_kspace.rst b/doc/src/Modify_kspace.rst index c45c8f94a1..e1b10eac8d 100644 --- a/doc/src/Modify_kspace.rst +++ b/doc/src/Modify_kspace.rst @@ -17,5 +17,5 @@ class. See kspace.h for details. +---------------+----------------------------------------------+ | compute | every-timestep computation | +---------------+----------------------------------------------+ -| memory\_usage | tally of memory usage | +| memory_usage | tally of memory usage | +---------------+----------------------------------------------+ diff --git a/doc/src/Modify_min.rst b/doc/src/Modify_min.rst index d8bcd2d3f2..ed7c101a6c 100644 --- a/doc/src/Modify_min.rst +++ b/doc/src/Modify_min.rst @@ -5,7 +5,7 @@ Classes that perform energy minimization derived from the Min class. New styles can be created to add new minimization algorithms to LAMMPS. -Min\_cg.cpp is an example of conjugate gradient minimization. +Min_cg.cpp is an example of conjugate gradient minimization. Here is a brief description of methods you define in your new derived class. See min.h for details. @@ -15,5 +15,5 @@ class. See min.h for details. +---------------+------------------------------------------+ | run | perform the minimization | +---------------+------------------------------------------+ -| memory\_usage | tally of memory usage | +| memory_usage | tally of memory usage | +---------------+------------------------------------------+ diff --git a/doc/src/Modify_overview.rst b/doc/src/Modify_overview.rst index 6b5b07e538..2deceae7db 100644 --- a/doc/src/Modify_overview.rst +++ b/doc/src/Modify_overview.rst @@ -25,19 +25,17 @@ and variables needed to define the new feature are in the 2 files you write, and thus shouldn't make the rest of LAMMPS more complex or cause side-effect bugs. -Here is a concrete example. Suppose you write 2 files pair\_foo.cpp -and pair\_foo.h that define a new class PairFoo that computes pairwise +Here is a concrete example. Suppose you write 2 files pair_foo.cpp +and pair_foo.h that define a new class PairFoo that computes pairwise potentials described in the classic 1997 :ref:`paper <Foo>` by Foo, et al. If you wish to invoke those potentials in a LAMMPS input script with a command like - .. code-block:: LAMMPS pair_style foo 0.1 3.5 -then your pair\_foo.h file should be structured as follows: - +then your pair_foo.h file should be structured as follows: .. code-block:: c++ @@ -49,12 +47,12 @@ then your pair\_foo.h file should be structured as follows: ... #endif -where "foo" is the style keyword in the pair\_style command, and -PairFoo is the class name defined in your pair\_foo.cpp and pair\_foo.h +where "foo" is the style keyword in the pair_style command, and +PairFoo is the class name defined in your pair_foo.cpp and pair_foo.h files. When you re-build LAMMPS, your new pairwise potential becomes part of -the executable and can be invoked with a pair\_style command like the +the executable and can be invoked with a pair_style command like the example above. Arguments like 0.1 and 3.5 can be defined and processed by your new class. @@ -82,7 +80,7 @@ that are not set to 0 are functions you may override or not. Those are usually defined with an empty function body. Additionally, new output options can be added directly to the -thermo.cpp, dump\_custom.cpp, and variable.cpp files. These are also +thermo.cpp, dump_custom.cpp, and variable.cpp files. These are also listed on the :doc:`Modify page <Modify>`. Here are additional guidelines for modifying LAMMPS and adding new @@ -103,5 +101,4 @@ functionality: .. _Foo: - **(Foo)** Foo, Morefoo, and Maxfoo, J of Classic Potentials, 75, 345 (1997). diff --git a/doc/src/Modify_pair.rst b/doc/src/Modify_pair.rst index 78ee144d53..7263b8fd48 100644 --- a/doc/src/Modify_pair.rst +++ b/doc/src/Modify_pair.rst @@ -7,7 +7,7 @@ such as EAM or Tersoff where particles interact without a static bond topology. New styles can be created to add new pair potentials to LAMMPS. -Pair\_lj\_cut.cpp is a simple example of a Pair class, though it +Pair_lj_cut.cpp is a simple example of a Pair class, though it includes some optional methods to enable its use with rRESPA. Here is a brief description of the class methods in pair.h: @@ -19,17 +19,17 @@ Here is a brief description of the class methods in pair.h: +---------------------------------+-------------------------------------------------------------------+ | coeff | set coefficients for one i,j type pair | +---------------------------------+-------------------------------------------------------------------+ -| init\_one | perform initialization for one i,j type pair | +| init_one | perform initialization for one i,j type pair | +---------------------------------+-------------------------------------------------------------------+ -| init\_style | initialization specific to this pair style | +| init_style | initialization specific to this pair style | +---------------------------------+-------------------------------------------------------------------+ -| write & read\_restart | write/read i,j pair coeffs to restart files | +| write & read_restart | write/read i,j pair coeffs to restart files | +---------------------------------+-------------------------------------------------------------------+ -| write & read\_restart\_settings | write/read global settings to restart files | +| write & read_restart_settings | write/read global settings to restart files | +---------------------------------+-------------------------------------------------------------------+ | single | force and energy of a single pairwise interaction between 2 atoms | +---------------------------------+-------------------------------------------------------------------+ -| compute\_inner/middle/outer | versions of compute used by rRESPA | +| compute_inner/middle/outer | versions of compute used by rRESPA | +---------------------------------+-------------------------------------------------------------------+ The inner/middle/outer routines are optional. diff --git a/doc/src/Modify_region.rst b/doc/src/Modify_region.rst index a9e9c734a4..fa97df32c7 100644 --- a/doc/src/Modify_region.rst +++ b/doc/src/Modify_region.rst @@ -6,7 +6,7 @@ class. Regions are used elsewhere in LAMMPS to group atoms, delete atoms to create a void, insert atoms in a specified region, etc. New styles can be created to add new region shapes to LAMMPS. -Region\_sphere.cpp is an example of a spherical region. +Region_sphere.cpp is an example of a spherical region. Here is a brief description of methods you define in your new derived class. See region.h for details. @@ -14,9 +14,9 @@ class. See region.h for details. +-------------------+---------------------------------------------------------------------+ | inside | determine whether a point is in the region | +-------------------+---------------------------------------------------------------------+ -| surface\_interior | determine if a point is within a cutoff distance inside of surface | +| surface_interior | determine if a point is within a cutoff distance inside of surface | +-------------------+---------------------------------------------------------------------+ -| surface\_exterior | determine if a point is within a cutoff distance outside of surface | +| surface_exterior | determine if a point is within a cutoff distance outside of surface | +-------------------+---------------------------------------------------------------------+ -| shape\_update | change region shape if set by time-dependent variable | +| shape_update | change region shape if set by time-dependent variable | +-------------------+---------------------------------------------------------------------+ diff --git a/doc/src/Modify_variable.rst b/doc/src/Modify_variable.rst index c1fe0440ff..ded76af9da 100644 --- a/doc/src/Modify_variable.rst +++ b/doc/src/Modify_variable.rst @@ -9,7 +9,6 @@ via the :doc:`print <print>`, :doc:`fix print <fix_print>`, or "equal" can compute complex equations that involve the following types of arguments: - .. parsed-literal:: thermo keywords = ke, vol, atoms, ... diff --git a/doc/src/Packages.rst b/doc/src/Packages.rst index f8f5febaca..042485eb4b 100644 --- a/doc/src/Packages.rst +++ b/doc/src/Packages.rst @@ -11,7 +11,6 @@ distribution. The :doc:`Build package <Build_package>` doc page gives general info on how to install and un-install packages as part of the LAMMPS build process. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index 00103088a7..e20c2886ed 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -10,7 +10,7 @@ scripts, and pictures/movies (if available) that illustrate use of the package. The majority of packages can be included in a LAMMPS build with a -single setting (-D PGK\_NAME for CMake) or command ("make yes-name" for +single setting (-D PGK_NAME for CMake) or command ("make yes-name" for make). See the :doc:`Build package <Build_package>` doc page for more info. A few packages may require additional steps; this is indicated in the descriptions below. The :doc:`Build extras <Build_extras>` doc @@ -60,7 +60,6 @@ page gives those details. * :ref:`SRD <PKG-SRD>` * :ref:`VORONOI <PKG-VORONOI>` - .. table_from_list:: :columns: 6 @@ -106,10 +105,8 @@ page gives those details. * :ref:`USER-VTK <PKG-USER-VTK>` * :ref:`USER-YAFF <PKG-USER-YAFF>` - ---------- - .. _PKG-ASPHERE: ASPHERE package @@ -126,17 +123,15 @@ particle models including ellipsoids, 2d lines, and 3d triangles. * :doc:`Howto spherical <Howto_spherical>` * :doc:`pair_style gayberne <pair_gayberne>` * :doc:`pair_style resquared <pair_resquared>` -* `doc/PDF/pair\_gayberne\_extra.pdf <PDF/pair_gayberne_extra.pdf>`_ -* `doc/PDF/pair\_resquared\_extra.pdf <PDF/pair_resquared_extra.pdf>`_ +* `doc/PDF/pair_gayberne_extra.pdf <PDF/pair_gayberne_extra.pdf>`_ +* `doc/PDF/pair_resquared_extra.pdf <PDF/pair_resquared_extra.pdf>`_ * examples/ASPHERE * examples/ellipse -* http://lammps.sandia.gov/movies.html#line -* http://lammps.sandia.gov/movies.html#tri - +* https://lammps.sandia.gov/movies.html#line +* https://lammps.sandia.gov/movies.html#tri ---------- - .. _PKG-BODY: BODY package @@ -152,16 +147,14 @@ overview. **Supporting info:** * src/BODY filenames -> commands -* :doc:`Howto\_body <Howto_body>` +* :doc:`Howto_body <Howto_body>` * :doc:`atom_style body <atom_style>` * :doc:`fix nve/body <fix_nve_body>` * :doc:`pair_style body/nparticle <pair_body_nparticle>` * examples/body - ---------- - .. _PKG-CLASS2: CLASS2 package @@ -181,10 +174,8 @@ CLASS2 molecular force field. * :doc:`improper_style class2 <improper_class2>` * :doc:`pair_style lj/class2 <pair_class2>` - ---------- - .. _PKG-COLLOID: COLLOID package @@ -213,10 +204,8 @@ Higdon's group at UIUC. * examples/colloid * examples/srd - ---------- - .. _PKG-COMPRESS: COMPRESS package @@ -246,10 +235,8 @@ This package has :ref:`specific installation instructions <compress>` on the :do * :doc:`dump custom/gz <dump>` * :doc:`dump xyz/gz <dump>` - ---------- - .. _PKG-CORESHELL: CORESHELL package @@ -276,10 +263,8 @@ this package. * :doc:`pair_style lj/cut/coul/long/cs <pair_lj>` * examples/coreshell - ---------- - .. _PKG-DIPOLE: DIPOLE package @@ -299,10 +284,8 @@ short-range or long-range interactions. * :doc:`pair_style lj/long/dipole/long <pair_dipole>` * examples/dipole - ---------- - .. _PKG-GPU: GPU package @@ -339,12 +322,10 @@ This package has :ref:`specific installation instructions <gpu>` on the :doc:`Bu * :doc:`package gpu <package>` * :doc:`Commands <Commands_all>` pages (:doc:`pair <Commands_pair>`, :doc:`kspace <Commands_kspace>`) for styles followed by (g) -* `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of web site - +* `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of web site ---------- - .. _PKG-GRANULAR: GRANULAR package @@ -367,16 +348,14 @@ potentials. * examples/granregion * examples/pour * bench/in.chute -* http://lammps.sandia.gov/pictures.html#jamming -* http://lammps.sandia.gov/movies.html#hopper -* http://lammps.sandia.gov/movies.html#dem -* http://lammps.sandia.gov/movies.html#brazil -* http://lammps.sandia.gov/movies.html#granregion - +* https://lammps.sandia.gov/pictures.html#jamming +* https://lammps.sandia.gov/movies.html#hopper +* https://lammps.sandia.gov/movies.html#dem +* https://lammps.sandia.gov/movies.html#brazil +* https://lammps.sandia.gov/movies.html#granregion ---------- - .. _PKG-KIM: KIM package @@ -388,7 +367,7 @@ This package contains a set of commands that serve as a wrapper on the `Open Knowledgebase of Interatomic Models (OpenKIM) <https://openkim.org>`_ repository of interatomic models (IMs) enabling compatible ones to be used in LAMMPS simulations. -This includes :doc:`kim_init and kim\_interactions <kim_commands>` +This includes :doc:`kim_init and kim_interactions <kim_commands>` commands to select, initialize and instantiate the IM, and a :doc:`kim_query <kim_commands>` command to perform web queries for material property predictions of OpenKIM IMs. @@ -398,7 +377,7 @@ is provided by the :doc:`pair_style kim <pair_kim>` command. .. note:: - The command *pair\_style kim* is called by *kim\_interactions* and + The command *pair_style kim* is called by *kim_interactions* and is not recommended to be directly used in input scripts. To use this package you must have the KIM API library available on your @@ -413,7 +392,7 @@ The KIM project is led by Ellad Tadmor and Ryan Elliott (U Minnesota) and is funded by the `National Science Foundation <https://www.nsf.gov/>`_. **Authors:** Ryan Elliott (U Minnesota) is the main developer for the KIM -API and the *pair\_style kim* command. Axel Kohlmeyer (Temple U) and +API and the *pair_style kim* command. Axel Kohlmeyer (Temple U) and Ellad Tadmor (U Minnesota) contributed to the :doc:`kim_commands <kim_commands>` interface in close collaboration with Ryan Elliott. @@ -430,10 +409,8 @@ This package has :ref:`specific installation instructions <kim>` on the :doc:`Bu * lib/kim/README * examples/kim - ---------- - .. _PKG-KOKKOS: KOKKOS package @@ -484,12 +461,10 @@ This package has :ref:`specific installation instructions <kokkos>` on the :doc: * Search the :doc:`commands <Commands_all>` pages (:doc:`fix <Commands_fix>`, :doc:`compute <Commands_compute>`, :doc:`pair <Commands_pair>`, :doc:`bond, angle, dihedral, improper <Commands_bond>`, :doc:`kspace <Commands_kspace>`) for styles followed by (k) -* `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of web site - +* `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of web site ---------- - .. _PKG-KSPACE: KSPACE package @@ -523,10 +498,8 @@ different FFT options for your LAMPMS build. * examples/peptide * bench/in.rhodo - ---------- - .. _PKG-LATTE: LATTE package @@ -544,8 +517,6 @@ description is given with the :doc:`fix latte <fix_latte>` command. .. _latte-home: https://github.com/lanl/LATTE - - **Authors:** Christian Negre (LANL) and Steve Plimpton (Sandia). LATTE itself is developed at Los Alamos National Laboratory by Marc Cawkwell, Anders Niklasson, and Christian Negre. @@ -563,10 +534,8 @@ This package has :ref:`specific installation instructions <latte>` on the :doc:` * examples/latte * `LAMMPS-LATTE tutorial <https://github.com/lanl/LATTE/wiki/Using-LATTE-through-LAMMPS>`_ - ---------- - .. _PKG-MANYBODY: MANYBODY package @@ -589,10 +558,8 @@ A variety of many-body and bond-order potentials. These include * examples/vashishta * bench/in.eam - ---------- - .. _PKG-MC: MC package @@ -614,12 +581,10 @@ bonds, for performing atomic swaps, and performing grand-canonical MC * :doc:`fix bond/swap <fix_bond_swap>` * :doc:`fix gcmc <fix_gcmc>` * :doc:`pair_style dsmc <pair_dsmc>` -* http://lammps.sandia.gov/movies.html#gcmc - +* https://lammps.sandia.gov/movies.html#gcmc ---------- - .. _PKG-MESSAGE: MESSAGE package @@ -644,10 +609,8 @@ This package has :ref:`specific installation instructions <message>` on the :doc * :doc:`server mc <server_mc>` * examples/message - ---------- - .. _PKG-MISC: MISC package @@ -675,13 +638,11 @@ listing, "ls src/MISC", to see the list of commands. * :doc:`fix viscosity <fix_viscosity>` * examples/KAPPA * examples/VISCOSITY -* http://lammps.sandia.gov/pictures.html#ttm -* http://lammps.sandia.gov/movies.html#evaporation - +* https://lammps.sandia.gov/pictures.html#ttm +* https://lammps.sandia.gov/movies.html#evaporation ---------- - .. _PKG-MOLECULE: MOLECULE package @@ -712,10 +673,8 @@ force fields, and a TIP4P water model. * bench/in.chain * bench/in.rhodo - ---------- - .. _PKG-MPIIO: MPIIO package @@ -736,10 +695,8 @@ written and read in parallel. * :doc:`write_restart <write_restart>` * :doc:`read_restart <read_restart>` - ---------- - .. _PKG-mscg: MSCG package @@ -752,8 +709,6 @@ Multi-Scale Coarse-Graining (MSCG) model using the open-source `MS-CG library <m .. _mscg-home: https://github.com/uchicago-voth/MSCG-release - - To use this package you must have the MS-CG library available on your system. @@ -772,10 +727,8 @@ This package has :ref:`specific installation instructions <mscg>` on the :doc:`B * lib/mscg/README * examples/mscg - ---------- - .. _PKG-OPT: OPT package @@ -793,7 +746,7 @@ invoked at run time via the "-sf opt" or "-suffix opt" :doc:`command-line switch have styles optimized for CPU performance. **Authors:** James Fischer (High Performance Technologies), David Richie, -and Vincent Natoli (Stone Ridge Technolgy). +and Vincent Natoli (Stone Ridge Technology). **Install:** @@ -806,12 +759,10 @@ This package has :ref:`specific installation instructions <opt>` on the :doc:`Bu * :doc:`Speed opt <Speed_opt>` * :doc:`Section 2.6 -sf opt <Run_options>` * Search the :doc:`pair style <Commands_pair>` page for styles followed by (t) -* `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of web site - +* `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of web site ---------- - .. _PKG-PERI: PERI package @@ -831,20 +782,18 @@ Foster (UTSA). **Supporting info:** * src/PERI: filenames -> commands -* `doc/PDF/PDLammps\_overview.pdf <PDF/PDLammps_overview.pdf>`_ -* `doc/PDF/PDLammps\_EPS.pdf <PDF/PDLammps_EPS.pdf>`_ -* `doc/PDF/PDLammps\_VES.pdf <PDF/PDLammps_VES.pdf>`_ +* `doc/PDF/PDLammps_overview.pdf <PDF/PDLammps_overview.pdf>`_ +* `doc/PDF/PDLammps_EPS.pdf <PDF/PDLammps_EPS.pdf>`_ +* `doc/PDF/PDLammps_VES.pdf <PDF/PDLammps_VES.pdf>`_ * :doc:`atom_style peri <atom_style>` * :doc:`pair_style peri/\* <pair_peri>` * :doc:`compute damage/atom <compute_damage_atom>` * :doc:`compute plasticity/atom <compute_plasticity_atom>` * examples/peri -* http://lammps.sandia.gov/movies.html#peri - +* https://lammps.sandia.gov/movies.html#peri ---------- - .. _PKG-POEMS: POEMS package @@ -872,10 +821,8 @@ This package has :ref:`specific installation instructions <poems>` on the :doc:` * :doc:`fix poems <fix_poems>` * examples/rigid - ---------- - .. _PKG-PYTHON: PYTHON package @@ -907,10 +854,8 @@ This package has :ref:`specific installation instructions <python>` on the :doc: * lib/python/README * examples/python - ---------- - .. _PKG-QEQ: QEQ package @@ -929,10 +874,8 @@ part of their formulation. * examples/qeq * examples/streitz - ---------- - .. _PKG-REPLICA: REPLICA package @@ -962,10 +905,8 @@ another set. * examples/prd * examples/tad - ---------- - .. _PKG-RIGID: RIGID package @@ -988,13 +929,11 @@ Also several computes which calculate properties of rigid bodies. * examples/ASPHERE * examples/rigid * bench/in.rhodo -* http://lammps.sandia.gov/movies.html#box -* http://lammps.sandia.gov/movies.html#star - +* https://lammps.sandia.gov/movies.html#box +* https://lammps.sandia.gov/movies.html#star ---------- - .. _PKG-SHOCK: SHOCK package @@ -1015,10 +954,8 @@ a material. * examples/hugoniostat * examples/msst - ---------- - .. _PKG-SNAP: SNAP package @@ -1042,10 +979,8 @@ computes which analyze attributes of the potential. * :doc:`compute snav/atom <compute_sna_atom>` * examples/snap - ---------- - .. _PKG-SPIN: SPIN package @@ -1074,10 +1009,8 @@ the usual manner via MD. Various pair, fix, and compute styles. * :doc:`neb/spin <neb_spin>` * examples/SPIN - ---------- - .. _PKG-SRD: SRD package @@ -1096,14 +1029,12 @@ colloidal particles. * :doc:`fix wall/srd <fix_wall_srd>` * examples/srd * examples/ASPHERE -* http://lammps.sandia.gov/movies.html#tri -* http://lammps.sandia.gov/movies.html#line -* http://lammps.sandia.gov/movies.html#poly - +* https://lammps.sandia.gov/movies.html#tri +* https://lammps.sandia.gov/movies.html#line +* https://lammps.sandia.gov/movies.html#poly ---------- - .. _PKG-VORONOI: VORONOI package @@ -1118,8 +1049,6 @@ neighbors. .. _voro-home: http://math.lbl.gov/voro++ - - To use this package you must have the Voro++ library available on your system. @@ -1139,10 +1068,8 @@ This package has :ref:`specific installation instructions <voronoi>` on the :doc * :doc:`compute voronoi/atom <compute_voronoi_atom>` * examples/voronoi - ---------- - .. _PKG-USER-ADIOS: USER-ADIOS package @@ -1171,11 +1098,8 @@ This package has :ref:`specific installation instructions <user-adios>` on the : * :doc:`dump custom/adios <dump_adios>` * :doc:`read_dump <read_dump>` - - ---------- - .. _PKG-USER-ATC: USER-ATC package @@ -1199,12 +1123,10 @@ This package has :ref:`specific installation instructions <user-atc>` on the :do * src/USER-ATC/README * :doc:`fix atc <fix_atc>` * examples/USER/atc -* http://lammps.sandia.gov/pictures.html#atc - +* https://lammps.sandia.gov/pictures.html#atc ---------- - .. _PKG-USER-AWPMD: USER-AWPMD package @@ -1230,10 +1152,8 @@ This package has :ref:`specific installation instructions <user-awpmd>` on the : * :doc:`pair_style awpmd/cut <pair_awpmd>` * examples/USER/awpmd - ---------- - .. _PKG-USER-BOCS: USER-BOCS package @@ -1265,10 +1185,8 @@ J. Phys. Chem. B. 122, 13, 3363-3377 (2018). Example inputs are in the examples/USER/bocs folder. - ---------- - .. _PKG-USER-CGDNA: USER-CGDNA package @@ -1295,10 +1213,8 @@ rigid-body integrators with improved stability. * :doc:`bond_style oxrna2/\* <bond_oxdna>` * :doc:`fix nve/dotc/langevin <fix_nve_dotc_langevin>` - ---------- - .. _PKG-USER-CGSDK: USER-CGSDK package @@ -1320,12 +1236,10 @@ acids. * :doc:`pair_style lj/sdk/\* <pair_sdk>` * :doc:`angle_style sdk <angle_sdk>` * examples/USER/cgsdk -* http://lammps.sandia.gov/pictures.html#cg - +* https://lammps.sandia.gov/pictures.html#cg ---------- - .. _PKG-USER-COLVARS: USER-COLVARS package @@ -1359,10 +1273,8 @@ This package has :ref:`specific installation instructions <user-colvars>` on the * :doc:`fix colvars <fix_colvars>` * examples/USER/colvars - ---------- - .. _PKG-USER-PLUMED: USER-PLUMED package @@ -1379,9 +1291,7 @@ script by using the :doc:`fix plumed <fix_plumed>` command. Massimilliano Bonomi, Giovanni Bussi, Carlo Camiloni and Gareth Tribello. -.. _PLUMED: http://www.plumed.org - - +.. _PLUMED: https://www.plumed.org **Install:** @@ -1394,10 +1304,8 @@ This package has :ref:`specific installation instructions <user-plumed>` on the * :doc:`fix plumed <fix_plumed>` * examples/USER/plumed - ---------- - .. _PKG-USER-DIFFRACTION: USER-DIFFRACTION package @@ -1418,10 +1326,8 @@ intensities based on kinematic diffraction theory. * :doc:`fix saed/vtk <fix_saed_vtk>` * examples/USER/diffraction - ---------- - .. _PKG-USER-DPD: USER-DPD package @@ -1461,10 +1367,8 @@ Brennan (ARL). * :doc:`pair_style multi/lucy/rx <pair_multi_lucy_rx>` * examples/USER/dpd - ---------- - .. _PKG-USER-DRUDE: USER-DRUDE package @@ -1495,10 +1399,8 @@ Devemy (CNRS), and Agilio Padua (U Blaise Pascal). * examples/USER/drude * tools/drude - ---------- - .. _PKG-USER-EFF: USER-EFF package @@ -1531,12 +1433,10 @@ tools/eff; see its README file. * examples/USER/eff * tools/eff/README * tools/eff -* http://lammps.sandia.gov/movies.html#eff - +* https://lammps.sandia.gov/movies.html#eff ---------- - .. _PKG-USER-FEP: USER-FEP package @@ -1562,10 +1462,8 @@ for using this package in tools/fep; see its README file. * tools/fep/README * tools/fep - ---------- - .. _PKG-USER-H5MD: USER-H5MD package @@ -1581,8 +1479,6 @@ LAMMPS snapshots in this format. .. _HDF5: http://www.hdfgroup.org/HDF5 - - To use this package you must have the HDF5 library available on your system. @@ -1600,10 +1496,8 @@ This package has :ref:`specific installation instructions <user-h5md>` on the :d * lib/h5md/README * :doc:`dump h5md <dump_h5md>` - ---------- - .. _PKG-USER-INTEL: USER-INTEL package @@ -1647,12 +1541,10 @@ This package has :ref:`specific installation instructions <user-intel>` on the : * Search the :doc:`commands <Commands_all>` pages (:doc:`fix <Commands_fix>`, :doc:`compute <Commands_compute>`, :doc:`pair <Commands_pair>`, :doc:`bond, angle, dihedral, improper <Commands_bond>`, :doc:`kspace <Commands_kspace>`) for styles followed by (i) * src/USER-INTEL/TEST -* `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of web site - +* `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of web site ---------- - .. _PKG-USER-LB: USER-LB package @@ -1675,10 +1567,8 @@ Ontario). * :doc:`fix lb/viscous <fix_lb_viscous>` * examples/USER/lb - ---------- - .. _PKG-USER-MGPT: USER-MGPT package @@ -1704,10 +1594,8 @@ matrix-MGPT algorithm due to Tomas Oppelstrup at LLNL. * :doc:`pair_style mgpt <pair_mgpt>` * examples/USER/mgpt - ---------- - .. _PKG-USER-MISC: USER-MISC package @@ -1729,10 +1617,8 @@ src/USER-MISC/README file. * one doc page per individual command listed in src/USER-MISC/README * examples/USER/misc - ---------- - .. _PKG-USER-MANIFOLD: USER-MANIFOLD package @@ -1760,12 +1646,10 @@ Waltham, MA, USA) * :doc:`fix nve/manifold/rattle <fix_nve_manifold_rattle>` * :doc:`fix nvt/manifold/rattle <fix_nvt_manifold_rattle>` * examples/USER/manifold -* http://lammps.sandia.gov/movies.html#manifold - +* https://lammps.sandia.gov/movies.html#manifold ---------- - .. _PKG-USER-MEAMC: USER-MEAMC package @@ -1789,10 +1673,8 @@ Sandia. * :doc:`pair_style meam/c <pair_meamc>` * examples/meamc - ---------- - .. _PKG-USER-MESODPD: USER-MESODPD package @@ -1820,12 +1702,10 @@ algorithm. * :doc:`pair_style tdpd <pair_mesodpd>` * :doc:`fix mvv/dpd <fix_mvv_dpd>` * examples/USER/mesodpd -* http://lammps.sandia.gov/movies.html#mesodpd - +* https://lammps.sandia.gov/movies.html#mesodpd ---------- - .. _PKG-USER-MOFFF: USER-MOFFF package @@ -1844,8 +1724,6 @@ well as the `MOF+ <MOFplus_>`_ website. .. _MOFplus: https://www.mofplus.org/content/show/MOF-FF - - **Author:** Hendrik Heenen (Technical U of Munich), Rochus Schmid (Ruhr-University Bochum). @@ -1859,10 +1737,8 @@ Rochus Schmid (Ruhr-University Bochum). * :doc:`improper_style inversion/harmonic <improper_inversion_harmonic>` * examples/USER/mofff - ---------- - .. _PKG-USER-MOLFILE: USER-MOLFILE package @@ -1903,10 +1779,8 @@ This package has :ref:`specific installation instructions <user-molfile>` on the * lib/molfile/README * :doc:`dump molfile <dump_molfile>` - ---------- - .. _PKG-USER-NETCDF: USER-NETCDF package @@ -1927,20 +1801,11 @@ tools: * `Ovito <ovito_>`_ (Ovito supports the AMBER convention and the extensions mentioned above) * `VMD <vmd-home_>`_ -* `AtomEye <atomeye_>`_ (the libAtoms version of AtomEye contains a NetCDF reader not present in the standard distribution) .. _ovito: http://www.ovito.org - - .. _vmd-home: https://www.ks.uiuc.edu/Research/vmd/ - - -.. _atomeye: http://www.libatoms.org - - - **Author:** Lars Pastewka (Karlsruhe Institute of Technology). **Install:** @@ -1954,10 +1819,8 @@ This package has :ref:`specific installation instructions <user-netcdf>` on the * lib/netcdf/README * :doc:`dump netcdf <dump_netcdf>` - ---------- - .. _PKG-USER-OMP: USER-OMP package @@ -2008,12 +1871,10 @@ This package has :ref:`specific installation instructions <user-omp>` on the :do * Search the :doc:`commands <Commands_all>` pages (:doc:`fix <Commands_fix>`, :doc:`compute <Commands_compute>`, :doc:`pair <Commands_pair>`, :doc:`bond, angle, dihedral, improper <Commands_bond>`, :doc:`kspace <Commands_kspace>`) for styles followed by (o) -* `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of web site - +* `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of web site ---------- - .. _PKG-USER-PHONON: USER-PHONON package @@ -2029,7 +1890,7 @@ And a :doc:`dynamical_matrix <dynamical_matrix>` as well as a and third order tensor from finite differences. **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" **Supporting info:** @@ -2040,10 +1901,8 @@ and Charlie Sievers (UC Davis) for "dynamical\_matrix" and "third\_order" * :doc:`third_order <third_order>` * examples/USER/phonon - ---------- - .. _PKG-USER-PTM: USER-PTM package @@ -2059,15 +1918,13 @@ Matching methodology. **Supporting info:** -* src/USER-PTM: filenames not starting with ptm\\_ -> commands -* src/USER-PTM: filenames starting with ptm\\_ -> supporting code +* src/USER-PTM: filenames not starting with ptm\_ -> commands +* src/USER-PTM: filenames starting with ptm\_ -> supporting code * src/USER-PTM/LICENSE * :doc:`compute ptm/atom <compute_ptm_atom>` - ---------- - .. _PKG-USER-QMMM: USER-QMMM package @@ -2097,7 +1954,6 @@ changes to LAMMPS itself. **Authors:** Axel Kohlmeyer (Temple U). Mariella Ippolito and Carlo Cavazzoni (CINECA, Italy) - **Install:** This package has :ref:`specific installation instructions <user-qmmm>` @@ -2112,10 +1968,8 @@ on the :doc:`Build extras <Build_extras>` doc page. * lib/qmmm/example-ec/README * lib/qmmm/example-mc/README - ---------- - .. _PKG-USER-QTB: USER-QTB package @@ -2142,10 +1996,8 @@ simulation. * :doc:`fix qbmsst <fix_qbmsst>` * examples/USER/qtb - ---------- - .. _PKG-USER-QUIP: USER-QUIP package @@ -2159,8 +2011,6 @@ developed by the Cambridge University group. .. _quip: https://github.com/libAtoms/QUIP - - To use this package you must have the QUIP libAtoms library available on your system. @@ -2177,10 +2027,8 @@ This package has :ref:`specific installation instructions <user-quip>` on the :d * :doc:`pair_style quip <pair_quip>` * examples/USER/quip - ---------- - .. _PKG-USER-REACTION: USER-REACTION package @@ -2210,10 +2058,8 @@ molecules, and chiral-sensitive reactions. * `2019 LAMMPS Workshop <https://lammps.sandia.gov/workshops/Aug19/talk_gissinger.pdf>`_ * disarmmd.org - ---------- - .. _PKG-USER-REAXC: USER-REAXC package @@ -2237,10 +2083,8 @@ for monitoring molecules as bonds are created and destroyed. * :doc:`fix reax/c/species <fix_reaxc_species>` * examples/reax - ---------- - .. _PKG-USER-SCAFACOS: USER-SCAFACOS package @@ -2274,10 +2118,8 @@ This package has :ref:`specific installation instructions <user-scafacos>` on th * :doc:`kspace_modify <kspace_modify>` * examples/USER/scafacos - ---------- - .. _PKG-USER-SDPD: USER-SDPD package @@ -2290,7 +2132,7 @@ is an extension of smoothed particle hydrodynamics (SPH) to mesoscale where thermal fluctuations are important (see the :ref:`USER-SPH package <PKG-USER-SPH>`). Also two fixes for moving and rigid body integration of SPH/SDPD particles -(particles of atom\_style meso). +(particles of atom_style meso). **Author:** Morteza Jalalvand (Institute for Advanced Studies in Basic Sciences, Iran). @@ -2304,10 +2146,8 @@ Sciences, Iran). * :doc:`fix rigid/meso <fix_rigid_meso>` * examples/USER/sdpd - ---------- - .. _PKG-USER-SMD: USER-SMD package @@ -2340,14 +2180,12 @@ This package has :ref:`specific installation instructions <user-smd>` on the :do * src/USER-SMD: filenames -> commands * src/USER-SMD/README -* doc/PDF/SMD\_LAMMPS\_userguide.pdf +* doc/PDF/SMD_LAMMPS_userguide.pdf * examples/USER/smd -* http://lammps.sandia.gov/movies.html#smd - +* https://lammps.sandia.gov/movies.html#smd ---------- - .. _PKG-USER-SMTBQ: USER-SMTBQ package @@ -2369,10 +2207,8 @@ Tetot (LAAS-CNRS, France). * :doc:`pair_style smtbq <pair_smtbq>` * examples/USER/smtbq - ---------- - .. _PKG-USER-SPH: USER-SPH package @@ -2401,14 +2237,12 @@ Dynamics, Ernst Mach Institute, Germany). * src/USER-SPH: filenames -> commands * src/USER-SPH/README -* doc/PDF/SPH\_LAMMPS\_userguide.pdf +* doc/PDF/SPH_LAMMPS_userguide.pdf * examples/USER/sph -* http://lammps.sandia.gov/movies.html#sph - +* https://lammps.sandia.gov/movies.html#sph ---------- - .. _PKG-USER-TALLY: USER-TALLY package @@ -2429,10 +2263,8 @@ stress, etc) about individual interactions. * :doc:`compute \*/tally <compute_tally>` * examples/USER/tally - ---------- - .. _PKG-USER-UEF: USER-UEF package @@ -2457,10 +2289,8 @@ supporting compute styles and an output option. * :doc:`dump cfg/uef <dump_cfg_uef>` * examples/uef - ---------- - .. _PKG-USER-VTK: USER-VTK package @@ -2474,12 +2304,8 @@ other visualization packages. .. _vtk: http://www.vtk.org - - .. _paraview: http://www.paraview.org - - To use this package you must have VTK library available on your system. @@ -2496,10 +2322,8 @@ This package has :ref:`specific installation instructions <user-vtk>` on the :do * lib/vtk/README * :doc:`dump vtk <dump_vtk>` - ---------- - .. _PKG-USER-YAFF: USER-YAFF package @@ -2515,8 +2339,8 @@ The expressions and their use are discussed in the following papers which discuss the `QuickFF <quickff_>`_ methodology. -.. _vanduyfhuys2015: http://dx.doi.org/10.1002/jcc.23877 -.. _vanduyfhuys2018: http://dx.doi.org/10.1002/jcc.25173 +.. _vanduyfhuys2015: https://doi.org/10.1002/jcc.23877 +.. _vanduyfhuys2018: https://doi.org/10.1002/jcc.25173 .. _quickff: http://molmod.github.io/QuickFF .. _yaff: https://github.com/molmod/yaff diff --git a/doc/src/Packages_standard.rst b/doc/src/Packages_standard.rst index 1e1daf69c6..74a567e0b9 100644 --- a/doc/src/Packages_standard.rst +++ b/doc/src/Packages_standard.rst @@ -22,70 +22,70 @@ package: * int = internal library: provided with LAMMPS, but you may need to build it * ext = external library: you will need to download and install it on your machine -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| Package | Description | Doc page | Example | Library | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`ASPHERE <PKG-ASPHERE>` | aspherical particle models | :doc:`Howto spherical <Howto_spherical>` | ellipse | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`BODY <PKG-BODY>` | body-style particles | :doc:`Howto body <Howto_body>` | body | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`CLASS2 <PKG-CLASS2>` | class 2 force fields | :doc:`pair_style lj/class2 <pair_class2>` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`COLLOID <PKG-COLLOID>` | colloidal particles | :doc:`atom_style colloid <atom_style>` | colloid | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`COMPRESS <PKG-COMPRESS>` | I/O compression | :doc:`dump \*/gz <dump>` | n/a | sys | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`CORESHELL <PKG-CORESHELL>` | adiabatic core/shell model | :doc:`Howto coreshell <Howto_coreshell>` | coreshell | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`DIPOLE <PKG-DIPOLE>` | point dipole particles | :doc:`pair_style dipole/cut <pair_dipole>` | dipole | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`GPU <PKG-GPU>` | GPU-enabled styles | :doc:`Section gpu <Speed_gpu>` | `Benchmarks <http://lammps.sandia.gov/bench.html>`_ | int | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`GRANULAR <PKG-GRANULAR>` | granular systems | :doc:`Howto granular <Howto_granular>` | pour | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`KIM <PKG-KIM>` | OpenKIM wrapper | :doc:`pair_style kim <pair_kim>` | kim | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`KOKKOS <PKG-KOKKOS>` | Kokkos-enabled styles | :doc:`Speed kokkos <Speed_kokkos>` | `Benchmarks <http://lammps.sandia.gov/bench.html>`_ | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`KSPACE <PKG-KSPACE>` | long-range Coulombic solvers | :doc:`kspace_style <kspace_style>` | peptide | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`LATTE <PKG-LATTE>` | quantum DFTB forces via LATTE | :doc:`fix latte <fix_latte>` | latte | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MANYBODY <PKG-MANYBODY>` | many-body potentials | :doc:`pair_style tersoff <pair_tersoff>` | shear | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MC <PKG-MC>` | Monte Carlo options | :doc:`fix gcmc <fix_gcmc>` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MESSAGE <PKG-MESSAGE>` | client/server messaging | :doc:`message <message>` | message | int | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MISC <PKG-MISC>` | miscellaneous single-file commands | n/a | no | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MOLECULE <PKG-MOLECULE>` | molecular system force fields | :doc:`Howto bioFF <Howto_bioFF>` | peptide | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MPIIO <PKG-MPIIO>` | MPI parallel I/O dump and restart | :doc:`dump <dump>` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MSCG <PKG-MSCG>` | multi-scale coarse-graining wrapper | :doc:`fix mscg <fix_mscg>` | mscg | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`OPT <PKG-OPT>` | optimized pair styles | :doc:`Speed opt <Speed_opt>` | `Benchmarks <http://lammps.sandia.gov/bench.html>`_ | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`PERI <PKG-PERI>` | Peridynamics models | :doc:`pair_style peri <pair_peri>` | peri | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`POEMS <PKG-POEMS>` | coupled rigid body motion | :doc:`fix poems <fix_poems>` | rigid | int | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`PYTHON <PKG-PYTHON>` | embed Python code in an input script | :doc:`python <python>` | python | sys | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`QEQ <PKG-QEQ>` | QEq charge equilibration | :doc:`fix qeq <fix_qeq>` | qeq | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`REPLICA <PKG-REPLICA>` | multi-replica methods | :doc:`Howto replica <Howto_replica>` | tad | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`RIGID <PKG-RIGID>` | rigid bodies and constraints | :doc:`fix rigid <fix_rigid>` | rigid | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`SHOCK <PKG-SHOCK>` | shock loading methods | :doc:`fix msst <fix_msst>` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`SNAP <PKG-SNAP>` | quantum-fitted potential | :doc:`pair_style snap <pair_snap>` | snap | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`SPIN <PKG-SPIN>` | magnetic atomic spin dynamics | :doc:`Howto spins <Howto_spins>` | SPIN | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`SRD <PKG-SRD>` | stochastic rotation dynamics | :doc:`fix srd <fix_srd>` | srd | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`VORONOI <PKG-VORONOI>` | Voronoi tesselation | :doc:`compute voronoi/atom <compute_voronoi_atom>` | n/a | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| Package | Description | Doc page | Example | Library | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ASPHERE <PKG-ASPHERE>` | aspherical particle models | :doc:`Howto spherical <Howto_spherical>` | ellipse | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`BODY <PKG-BODY>` | body-style particles | :doc:`Howto body <Howto_body>` | body | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`CLASS2 <PKG-CLASS2>` | class 2 force fields | :doc:`pair_style lj/class2 <pair_class2>` | n/a | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`COLLOID <PKG-COLLOID>` | colloidal particles | :doc:`atom_style colloid <atom_style>` | colloid | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`COMPRESS <PKG-COMPRESS>` | I/O compression | :doc:`dump \*/gz <dump>` | n/a | sys | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`CORESHELL <PKG-CORESHELL>` | adiabatic core/shell model | :doc:`Howto coreshell <Howto_coreshell>` | coreshell | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`DIPOLE <PKG-DIPOLE>` | point dipole particles | :doc:`pair_style dipole/cut <pair_dipole>` | dipole | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`GPU <PKG-GPU>` | GPU-enabled styles | :doc:`Section gpu <Speed_gpu>` | `Benchmarks <https://lammps.sandia.gov/bench.html>`_ | int | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`GRANULAR <PKG-GRANULAR>` | granular systems | :doc:`Howto granular <Howto_granular>` | pour | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`KIM <PKG-KIM>` | OpenKIM wrapper | :doc:`pair_style kim <pair_kim>` | kim | ext | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`KOKKOS <PKG-KOKKOS>` | Kokkos-enabled styles | :doc:`Speed kokkos <Speed_kokkos>` | `Benchmarks <https://lammps.sandia.gov/bench.html>`_ | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`KSPACE <PKG-KSPACE>` | long-range Coulombic solvers | :doc:`kspace_style <kspace_style>` | peptide | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`LATTE <PKG-LATTE>` | quantum DFTB forces via LATTE | :doc:`fix latte <fix_latte>` | latte | ext | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MANYBODY <PKG-MANYBODY>` | many-body potentials | :doc:`pair_style tersoff <pair_tersoff>` | shear | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MC <PKG-MC>` | Monte Carlo options | :doc:`fix gcmc <fix_gcmc>` | n/a | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MESSAGE <PKG-MESSAGE>` | client/server messaging | :doc:`message <message>` | message | int | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MISC <PKG-MISC>` | miscellaneous single-file commands | n/a | no | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MOLECULE <PKG-MOLECULE>` | molecular system force fields | :doc:`Howto bioFF <Howto_bioFF>` | peptide | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MPIIO <PKG-MPIIO>` | MPI parallel I/O dump and restart | :doc:`dump <dump>` | n/a | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MSCG <PKG-MSCG>` | multi-scale coarse-graining wrapper | :doc:`fix mscg <fix_mscg>` | mscg | ext | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`OPT <PKG-OPT>` | optimized pair styles | :doc:`Speed opt <Speed_opt>` | `Benchmarks <https://lammps.sandia.gov/bench.html>`_ | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`PERI <PKG-PERI>` | Peridynamics models | :doc:`pair_style peri <pair_peri>` | peri | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`POEMS <PKG-POEMS>` | coupled rigid body motion | :doc:`fix poems <fix_poems>` | rigid | int | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`PYTHON <PKG-PYTHON>` | embed Python code in an input script | :doc:`python <python>` | python | sys | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`QEQ <PKG-QEQ>` | QEq charge equilibration | :doc:`fix qeq <fix_qeq>` | qeq | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`REPLICA <PKG-REPLICA>` | multi-replica methods | :doc:`Howto replica <Howto_replica>` | tad | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`RIGID <PKG-RIGID>` | rigid bodies and constraints | :doc:`fix rigid <fix_rigid>` | rigid | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SHOCK <PKG-SHOCK>` | shock loading methods | :doc:`fix msst <fix_msst>` | n/a | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SNAP <PKG-SNAP>` | quantum-fitted potential | :doc:`pair_style snap <pair_snap>` | snap | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SPIN <PKG-SPIN>` | magnetic atomic spin dynamics | :doc:`Howto spins <Howto_spins>` | SPIN | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SRD <PKG-SRD>` | stochastic rotation dynamics | :doc:`fix srd <fix_srd>` | srd | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`VORONOI <PKG-VORONOI>` | Voronoi tesselation | :doc:`compute voronoi/atom <compute_voronoi_atom>` | n/a | ext | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 3c489564d7..c30f5fffa3 100644 --- a/doc/src/Packages_user.rst +++ b/doc/src/Packages_user.rst @@ -28,91 +28,91 @@ package: * int = internal library: provided with LAMMPS, but you may need to build it * ext = external library: you will need to download and install it on your machine -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| Package | Description | Doc page | Example | Library | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-ADIOS <PKG-USER-ADIOS>` | dump output via ADIOS | :doc:`dump adios <dump_adios>` | USER/adios | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-ATC <PKG-USER-ATC>` | Atom-to-Continuum coupling | :doc:`fix atc <fix_atc>` | USER/atc | int | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-AWPMD <PKG-USER-AWPMD>` | wave packet MD | :doc:`pair_style awpmd/cut <pair_awpmd>` | USER/awpmd | int | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-BOCS <PKG-USER-BOCS>` | BOCS bottom up coarse graining | :doc:`fix bocs <fix_bocs>` | USER/bocs | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-CGDNA <PKG-USER-CGDNA>` | coarse-grained DNA force fields | src/USER-CGDNA/README | USER/cgdna | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-CGSDK <PKG-USER-CGSDK>` | SDK coarse-graining model | :doc:`pair_style lj/sdk <pair_sdk>` | USER/cgsdk | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-COLVARS <PKG-USER-COLVARS>` | collective variables library | :doc:`fix colvars <fix_colvars>` | USER/colvars | int | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-DIFFRACTION <PKG-USER-DIFFRACTION>` | virtual x-ray and electron diffraction | :doc:`compute xrd <compute_xrd>` | USER/diffraction | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-DPD <PKG-USER-DPD>` | reactive dissipative particle dynamics | src/USER-DPD/README | USER/dpd | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-DRUDE <PKG-USER-DRUDE>` | Drude oscillators | :doc:`Howto drude <Howto_drude>` | USER/drude | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-EFF <PKG-USER-EFF>` | electron force field | :doc:`pair_style eff/cut <pair_eff>` | USER/eff | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-FEP <PKG-USER-FEP>` | free energy perturbation | :doc:`compute fep <compute_fep>` | USER/fep | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-H5MD <PKG-USER-H5MD>` | dump output via HDF5 | :doc:`dump h5md <dump_h5md>` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-INTEL <PKG-USER-INTEL>` | optimized Intel CPU and KNL styles | :doc:`Speed intel <Speed_intel>` | `Benchmarks <http://lammps.sandia.gov/bench.html>`_ | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-LB <PKG-USER-LB>` | Lattice Boltzmann fluid | :doc:`fix lb/fluid <fix_lb_fluid>` | USER/lb | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MANIFOLD <PKG-USER-MANIFOLD>` | motion on 2d surfaces | :doc:`fix manifoldforce <fix_manifoldforce>` | USER/manifold | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MEAMC <PKG-USER-MEAMC>` | modified EAM potential (C++) | :doc:`pair_style meam/c <pair_meamc>` | meamc | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MESODPD <PKG-USER-MESODPD>` | mesoscale DPD models | :doc:`pair_style edpd <pair_mesodpd>` | USER/mesodpd | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MGPT <PKG-USER-MGPT>` | fast MGPT multi-ion potentials | :doc:`pair_style mgpt <pair_mgpt>` | USER/mgpt | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MISC <PKG-USER-MISC>` | single-file contributions | USER-MISC/README | USER/misc | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MOFFF <PKG-USER-MOFFF>` | styles for `MOF-FF <MOFplus_>`_ force field | :doc:`pair_style buck6d/coul/gauss <pair_buck6d_coul_gauss>` | USER/mofff | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MOLFILE <PKG-USER-MOLFILE>` | `VMD <https://www.ks.uiuc.edu/Research/vmd/>`_ molfile plug-ins | :doc:`dump molfile <dump_molfile>` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-NETCDF <PKG-USER-NETCDF>` | dump output via NetCDF | :doc:`dump netcdf <dump_netcdf>` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-OMP <PKG-USER-OMP>` | OpenMP-enabled styles | :doc:`Speed omp <Speed_omp>` | `Benchmarks <http://lammps.sandia.gov/bench.html>`_ | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-PHONON <PKG-USER-PHONON>` | phonon dynamical matrix | :doc:`fix phonon <fix_phonon>` | USER/phonon | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-PLUMED <PKG-USER-PLUMED>` | :ref:`PLUMED <PLUMED>` free energy library | :doc:`fix plumed <fix_plumed>` | USER/plumed | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-PTM <PKG-USER-PTM>` | Polyhedral Template Matching | :doc:`compute ptm/atom <compute_ptm_atom>` | n/a | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-QMMM <PKG-USER-QMMM>` | QM/MM coupling | :doc:`fix qmmm <fix_qmmm>` | USER/qmmm | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-QTB <PKG-USER-QTB>` | quantum nuclear effects | :doc:`fix qtb <fix_qtb>` :doc:`fix qbmsst <fix_qbmsst>` | qtb | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-QUIP <PKG-USER-QUIP>` | QUIP/libatoms interface | :doc:`pair_style quip <pair_quip>` | USER/quip | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-REACTION <PKG-USER-REACTION>` | chemical reactions in classical MD | :doc:`fix bond/react <fix_bond_react>` | USER/reaction | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-REAXC <PKG-USER-REAXC>` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc <pair_reaxc>` | reax | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-SCAFACOS <PKG-USER-SCAFACOS>` | wrapper on ScaFaCoS solver | :doc:`kspace_style scafacos <kspace_style>` | USER/scafacos | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-SDPD <PKG-USER-SDPD>` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>` | USER/sdpd | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-SMD <PKG-USER-SMD>` | smoothed Mach dynamics | `SMD User Guide <PDF/SMD_LAMMPS_userguide.pdf>`_ | USER/smd | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-SMTBQ <PKG-USER-SMTBQ>` | second moment tight binding QEq potential | :doc:`pair_style smtbq <pair_smtbq>` | USER/smtbq | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-SPH <PKG-USER-SPH>` | smoothed particle hydrodynamics | `SPH User Guide <PDF/SPH_LAMMPS_userguide.pdf>`_ | USER/sph | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-TALLY <PKG-USER-TALLY>` | pairwise tally computes | :doc:`compute XXX/tally <compute_tally>` | USER/tally | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-UEF <PKG-USER-UEF>` | extensional flow | :doc:`fix nvt/uef <fix_nh_uef>` | USER/uef | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-VTK <PKG-USER-VTK>` | dump output via VTK | :doc:`compute vtk <dump_vtk>` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-YAFF <PKG-USER-YAFF>` | additional styles implemented in YAFF | :doc:`angle_style cross <angle_cross>` | USER/yaff | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| Package | Description | Doc page | Example | Library | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-ADIOS <PKG-USER-ADIOS>` | dump output via ADIOS | :doc:`dump adios <dump_adios>` | USER/adios | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-ATC <PKG-USER-ATC>` | Atom-to-Continuum coupling | :doc:`fix atc <fix_atc>` | USER/atc | int | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-AWPMD <PKG-USER-AWPMD>` | wave packet MD | :doc:`pair_style awpmd/cut <pair_awpmd>` | USER/awpmd | int | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-BOCS <PKG-USER-BOCS>` | BOCS bottom up coarse graining | :doc:`fix bocs <fix_bocs>` | USER/bocs | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-CGDNA <PKG-USER-CGDNA>` | coarse-grained DNA force fields | src/USER-CGDNA/README | USER/cgdna | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-CGSDK <PKG-USER-CGSDK>` | SDK coarse-graining model | :doc:`pair_style lj/sdk <pair_sdk>` | USER/cgsdk | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-COLVARS <PKG-USER-COLVARS>` | collective variables library | :doc:`fix colvars <fix_colvars>` | USER/colvars | int | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-DIFFRACTION <PKG-USER-DIFFRACTION>` | virtual x-ray and electron diffraction | :doc:`compute xrd <compute_xrd>` | USER/diffraction | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-DPD <PKG-USER-DPD>` | reactive dissipative particle dynamics | src/USER-DPD/README | USER/dpd | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-DRUDE <PKG-USER-DRUDE>` | Drude oscillators | :doc:`Howto drude <Howto_drude>` | USER/drude | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-EFF <PKG-USER-EFF>` | electron force field | :doc:`pair_style eff/cut <pair_eff>` | USER/eff | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-FEP <PKG-USER-FEP>` | free energy perturbation | :doc:`compute fep <compute_fep>` | USER/fep | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-H5MD <PKG-USER-H5MD>` | dump output via HDF5 | :doc:`dump h5md <dump_h5md>` | n/a | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-INTEL <PKG-USER-INTEL>` | optimized Intel CPU and KNL styles | :doc:`Speed intel <Speed_intel>` | `Benchmarks <https://lammps.sandia.gov/bench.html>`_ | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-LB <PKG-USER-LB>` | Lattice Boltzmann fluid | :doc:`fix lb/fluid <fix_lb_fluid>` | USER/lb | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MANIFOLD <PKG-USER-MANIFOLD>` | motion on 2d surfaces | :doc:`fix manifoldforce <fix_manifoldforce>` | USER/manifold | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MEAMC <PKG-USER-MEAMC>` | modified EAM potential (C++) | :doc:`pair_style meam/c <pair_meamc>` | meamc | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MESODPD <PKG-USER-MESODPD>` | mesoscale DPD models | :doc:`pair_style edpd <pair_mesodpd>` | USER/mesodpd | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MGPT <PKG-USER-MGPT>` | fast MGPT multi-ion potentials | :doc:`pair_style mgpt <pair_mgpt>` | USER/mgpt | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MISC <PKG-USER-MISC>` | single-file contributions | USER-MISC/README | USER/misc | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MOFFF <PKG-USER-MOFFF>` | styles for `MOF-FF <MOFplus_>`_ force field | :doc:`pair_style buck6d/coul/gauss <pair_buck6d_coul_gauss>` | USER/mofff | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MOLFILE <PKG-USER-MOLFILE>` | `VMD <https://www.ks.uiuc.edu/Research/vmd/>`_ molfile plug-ins | :doc:`dump molfile <dump_molfile>` | n/a | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-NETCDF <PKG-USER-NETCDF>` | dump output via NetCDF | :doc:`dump netcdf <dump_netcdf>` | n/a | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-OMP <PKG-USER-OMP>` | OpenMP-enabled styles | :doc:`Speed omp <Speed_omp>` | `Benchmarks <https://lammps.sandia.gov/bench.html>`_ | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-PHONON <PKG-USER-PHONON>` | phonon dynamical matrix | :doc:`fix phonon <fix_phonon>` | USER/phonon | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-PLUMED <PKG-USER-PLUMED>` | :ref:`PLUMED <PLUMED>` free energy library | :doc:`fix plumed <fix_plumed>` | USER/plumed | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-PTM <PKG-USER-PTM>` | Polyhedral Template Matching | :doc:`compute ptm/atom <compute_ptm_atom>` | n/a | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-QMMM <PKG-USER-QMMM>` | QM/MM coupling | :doc:`fix qmmm <fix_qmmm>` | USER/qmmm | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-QTB <PKG-USER-QTB>` | quantum nuclear effects | :doc:`fix qtb <fix_qtb>` :doc:`fix qbmsst <fix_qbmsst>` | qtb | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-QUIP <PKG-USER-QUIP>` | QUIP/libatoms interface | :doc:`pair_style quip <pair_quip>` | USER/quip | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-REACTION <PKG-USER-REACTION>` | chemical reactions in classical MD | :doc:`fix bond/react <fix_bond_react>` | USER/reaction | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-REAXC <PKG-USER-REAXC>` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc <pair_reaxc>` | reax | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-SCAFACOS <PKG-USER-SCAFACOS>` | wrapper on ScaFaCoS solver | :doc:`kspace_style scafacos <kspace_style>` | USER/scafacos | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-SDPD <PKG-USER-SDPD>` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal <pair_sdpd_taitwater_isothermal>` | USER/sdpd | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-SMD <PKG-USER-SMD>` | smoothed Mach dynamics | `SMD User Guide <PDF/SMD_LAMMPS_userguide.pdf>`_ | USER/smd | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-SMTBQ <PKG-USER-SMTBQ>` | second moment tight binding QEq potential | :doc:`pair_style smtbq <pair_smtbq>` | USER/smtbq | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-SPH <PKG-USER-SPH>` | smoothed particle hydrodynamics | `SPH User Guide <PDF/SPH_LAMMPS_userguide.pdf>`_ | USER/sph | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-TALLY <PKG-USER-TALLY>` | pairwise tally computes | :doc:`compute XXX/tally <compute_tally>` | USER/tally | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-UEF <PKG-USER-UEF>` | extensional flow | :doc:`fix nvt/uef <fix_nh_uef>` | USER/uef | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-VTK <PKG-USER-VTK>` | dump output via VTK | :doc:`compute vtk <dump_vtk>` | n/a | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-YAFF <PKG-USER-YAFF>` | additional styles implemented in YAFF | :doc:`angle_style cross <angle_cross>` | USER/yaff | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ .. _MOFplus: https://www.mofplus.org/content/show/MOF-FF -.. _PLUMED: http://www.plumed.org +.. _PLUMED: https://www.plumed.org diff --git a/doc/src/Python_call.rst b/doc/src/Python_call.rst index 155d4e0462..e0bcf70b9a 100644 --- a/doc/src/Python_call.rst +++ b/doc/src/Python_call.rst @@ -59,8 +59,7 @@ new potential. To use any of these commands, you only need to build LAMMPS with the PYTHON package installed: - -.. parsed-literal:: +.. code-block:: bash make yes-python make machine diff --git a/doc/src/Python_examples.rst b/doc/src/Python_examples.rst index 59525d57be..976358801e 100644 --- a/doc/src/Python_examples.rst +++ b/doc/src/Python_examples.rst @@ -20,45 +20,36 @@ distribution. +----------------------------------------------------------------+--------------------------------------------------+ | GUI go/stop/temperature-slider to control LAMMPS | plot.py | +----------------------------------------------------------------+--------------------------------------------------+ -| real-time temperature plot with GnuPlot via Pizza.py | viz\_tool.py | +| real-time temperature plot with GnuPlot via Pizza.py | viz_tool.py | +----------------------------------------------------------------+--------------------------------------------------+ -| real-time viz via some viz package | vizplotgui\_tool.py | +| real-time viz via some viz package | vizplotgui_tool.py | +----------------------------------------------------------------+--------------------------------------------------+ -| combination of viz\_tool.py and plot.py and gui.py | | +| combination of viz_tool.py and plot.py and gui.py | | +----------------------------------------------------------------+--------------------------------------------------+ - ---------- - -For the viz\_tool.py and vizplotgui\_tool.py commands, replace "tool" +For the viz_tool.py and vizplotgui_tool.py commands, replace "tool" with "gl" or "atomeye" or "pymol" or "vmd", depending on what visualization package you have installed. 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 <pizza_>`_ for more info: -.. _pizza: http://www.sandia.gov/~sjplimp/pizza.html - - +.. _pizza: https://pizza.sandia.gov Note that for AtomEye, you need version 3, and there is a line in the scripts that specifies the path and name of the executable. See the AtomEye WWW pages `here <atomeye_>`_ or `here <atomeye3_>`_ for more details: - .. parsed-literal:: - http://mt.seas.upenn.edu/Archive/Graphics/A - http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html - -.. _atomeye: http://mt.seas.upenn.edu/Archive/Graphics/A - - - -.. _atomeye3: http://mt.seas.upenn.edu/Archive/Graphics/A3/A3.html + http://li.mit.edu/Archive/Graphics/A/ + http://li.mit.edu/Archive/Graphics/A3/A3.html +.. _atomeye: http://li.mit.edu/Archive/Graphics/A/ +.. _atomeye3: http://li.mit.edu/Archive/Graphics/A3/A3.html The latter link is to AtomEye 3 which has the scripting capability needed by these Python scripts. @@ -68,19 +59,14 @@ open-source version of PyMol in your Python, so that you can import it from a Python script. See the PyMol WWW pages `here <pymolhome_>`_ or `here <pymolopen_>`_ for more details: - .. parsed-literal:: - http://www.pymol.org - http://sourceforge.net/scm/?type=svn&group_id=4546 - -.. _pymolhome: http://www.pymol.org - - - -.. _pymolopen: http://sourceforge.net/scm/?type=svn&group\_id=4546 + https://www.pymol.org + https://github.com/schrodinger/pymol-open-source +.. _pymolhome: https://www.pymol.org +.. _pymolopen: https://github.com/schrodinger/pymol-open-source The latter link is to the open-source version. @@ -88,14 +74,12 @@ Note that for VMD, you need a fairly current version (1.8.7 works for me) and there are some lines in the pizza/vmd.py script for 4 PIZZA variables that have to match the VMD installation on your system. - ---------- - See the python/README file for instructions on how to run them and the source code for individual scripts for comments about what they do. -Here are screenshots of the vizplotgui\_tool.py script in action for +Here are screenshots of the vizplotgui_tool.py script in action for different visualization package options. Click to see larger images: .. image:: JPG/screenshot_gl_small.jpg diff --git a/doc/src/Python_head.rst b/doc/src/Python_head.rst index ce514629ae..fc808489a5 100644 --- a/doc/src/Python_head.rst +++ b/doc/src/Python_head.rst @@ -4,7 +4,6 @@ Use Python with LAMMPS These doc pages describe various ways that LAMMPS and Python can be used together. - .. toctree:: :maxdepth: 1 @@ -28,7 +27,7 @@ its library interface, or to hook multiple pieces of software together, such as a simulation code plus a visualization tool, or to run a coupled multiscale or multiphysics model. -See the :doc:`Howto\_couple <Howto_couple>` doc page for more ideas about +See the :doc:`Howto_couple <Howto_couple>` doc page for more ideas about coupling LAMMPS to other codes. See the :doc:`Howto library <Howto_library>` doc page for a description of the LAMMPS library interface provided in src/library.h and src/library.h. That interface is exposed to Python either when calling LAMMPS from Python diff --git a/doc/src/Python_install.rst b/doc/src/Python_install.rst index 8a03dd7249..8b2fe9c367 100644 --- a/doc/src/Python_install.rst +++ b/doc/src/Python_install.rst @@ -31,13 +31,12 @@ If you set the paths to these files as environment variables, you only have to do it once. For the csh or tcsh shells, add something like this to your ~/.cshrc file, one line for each of the two files: - -.. parsed-literal:: +.. code-block:: csh setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/python setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/src -On MacOSX you may also need to set DYLD\_LIBRARY\_PATH accordingly. +On MacOSX you may also need to set DYLD_LIBRARY_PATH accordingly. For Bourne/Korn shells accordingly into the corresponding files using the "export" shell builtin. @@ -49,7 +48,6 @@ files are updated with the new version. If the default settings of "make install-python" are not what you want, you can invoke install.py from the python directory manually as - .. parsed-literal:: % python install.py -m \<python module\> -l <shared library> -v <version.h file> [-d \<pydir\>] @@ -60,11 +58,11 @@ you can invoke install.py from the python directory manually as * and the optional -d flag to a custom (legacy) installation folder If you use a legacy installation folder, you will need to set your -PYTHONPATH and LD\_LIBRARY\_PATH (and/or DYLD\_LIBRARY\_PATH) environment +PYTHONPATH and LD_LIBRARY_PATH (and/or DYLD_LIBRARY_PATH) environment variables accordingly, as described above. Note that if you want Python to be able to load different versions of the LAMMPS shared library (see :doc:`this section <Python_shlib>`), you will -need to manually copy files like liblammps\_g++.so into the appropriate -system directory. This is not needed if you set the LD\_LIBRARY\_PATH +need to manually copy files like liblammps_g++.so into the appropriate +system directory. This is not needed if you set the LD_LIBRARY_PATH environment variable as described above. diff --git a/doc/src/Python_library.rst b/doc/src/Python_library.rst index d4acd07257..2100074c4e 100644 --- a/doc/src/Python_library.rst +++ b/doc/src/Python_library.rst @@ -8,7 +8,6 @@ methods that can be invoked on that object. The sample Python code below assumes you have first imported the "lammps" module in your Python script, as follows: - .. code-block:: Python from lammps import lammps @@ -22,7 +21,6 @@ from a C++ or C or Fortran program, and which are described on the The python/examples directory has Python scripts which show how Python can run LAMMPS, grab data, change it, and put it back into LAMMPS. - .. code-block:: Python lmp = lammps() # create a LAMMPS object using the default liblammps.so library @@ -93,13 +91,10 @@ can run LAMMPS, grab data, change it, and put it back into LAMMPS. lmp.create_atoms(n,ids,types,x,v,image,shrinkexceed) # create N atoms with IDs, types, x, v, and image flags - ---------- - The lines - .. code-block:: Python from lammps import lammps @@ -116,7 +111,6 @@ prompt. If the ptr argument is set like this: - .. code-block:: Python lmp = lammps(ptr=lmpptr) @@ -133,7 +127,6 @@ instance "lmp" to make calls to that instance of LAMMPS. See the Note that you can create multiple LAMMPS objects in your Python script, and coordinate and run multiple simulations, e.g. - .. code-block:: Python from lammps import lammps @@ -142,21 +135,21 @@ script, and coordinate and run multiple simulations, e.g. lmp1.file("in.file1") lmp2.file("in.file2") -The file(), command(), commands\_list(), commands\_string() methods +The file(), command(), commands_list(), commands_string() methods allow an input script, a single command, or multiple commands to be invoked. -The extract\_setting(), extract\_global(), extract\_box(), -extract\_atom(), extract\_compute(), extract\_fix(), and -extract\_variable() methods return values or pointers to data +The extract_setting(), extract_global(), extract_box(), +extract_atom(), extract_compute(), extract_fix(), and +extract_variable() methods return values or pointers to data structures internal to LAMMPS. -For extract\_global() see the src/library.cpp file for the list of +For extract_global() see the src/library.cpp file for the list of valid names. New names could easily be added. A double or integer is returned. You need to specify the appropriate data type via the type argument. -For extract\_atom(), a pointer to internal LAMMPS atom-based data is +For extract_atom(), a pointer to internal LAMMPS atom-based data is returned, which you can use via normal Python subscripting. See the extract() method in the src/atom.cpp file for a list of valid names. Again, new names could easily be added if the property you want is not @@ -164,7 +157,7 @@ listed. A pointer to a vector of doubles or integers, or a pointer to an array of doubles (double \*\*) or integers (int \*\*) is returned. You need to specify the appropriate data type via the type argument. -For extract\_compute() and extract\_fix(), the global, per-atom, or +For extract_compute() and extract_fix(), the global, per-atom, or local data calculated by the compute or fix can be accessed. What is returned depends on whether the compute or fix calculates a scalar or vector or array. For a scalar, a single double value is returned. If @@ -180,7 +173,7 @@ data types. See the doc pages for individual :doc:`computes <compute>` and :doc:`fixes <fix>` for a description of what they calculate and store. -For extract\_variable(), an :doc:`equal-style or atom-style variable <variable>` is evaluated and its result returned. +For extract_variable(), an :doc:`equal-style or atom-style variable <variable>` is evaluated and its result returned. For equal-style variables a single double value is returned and the group argument is ignored. For atom-style variables, a vector of @@ -188,17 +181,17 @@ doubles is returned, one value per atom, which you can use via normal Python subscripting. The values will be zero for atoms not in the specified group. -The get\_thermo() method returns the current value of a thermo +The get_thermo() method returns the current value of a thermo keyword as a float. -The get\_natoms() method returns the total number of atoms in the +The get_natoms() method returns the total number of atoms in the simulation, as an int. -The set\_variable() method sets an existing string-style variable to a +The set_variable() method sets an existing string-style variable to a new string value, so that subsequent LAMMPS commands can access the variable. -The reset\_box() method resets the size and shape of the simulation +The reset_box() method resets the size and shape of the simulation box, e.g. as part of restoring a previously extracted and saved state of a simulation. @@ -210,26 +203,25 @@ passed by all calling processors, to individual atoms, which may be owned by different processors. Note that the data returned by the gather methods, -e.g. gather\_atoms("x"), is different from the data structure returned -by extract\_atom("x") in four ways. (1) Gather\_atoms() returns a -vector which you index as x[i]; extract\_atom() returns an array -which you index as x[i][j]. (2) Gather\_atoms() orders the atoms -by atom ID while extract\_atom() does not. (3) Gather\_atoms() returns -a list of all atoms in the simulation; extract\_atoms() returns just -the atoms local to each processor. (4) Finally, the gather\_atoms() +e.g. gather_atoms("x"), is different from the data structure returned +by extract_atom("x") in four ways. (1) Gather_atoms() returns a +vector which you index as x[i]; extract_atom() returns an array +which you index as x[i][j]. (2) Gather_atoms() orders the atoms +by atom ID while extract_atom() does not. (3) Gather_atoms() returns +a list of all atoms in the simulation; extract_atoms() returns just +the atoms local to each processor. (4) Finally, the gather_atoms() data structure is a copy of the atom coords stored internally in -LAMMPS, whereas extract\_atom() returns an array that effectively +LAMMPS, whereas extract_atom() returns an array that effectively points directly to the internal data. This means you can change values inside LAMMPS from Python by assigning a new values to the -extract\_atom() array. To do this with the gather\_atoms() vector, you -need to change values in the vector, then invoke the scatter\_atoms() +extract_atom() array. To do this with the gather_atoms() vector, you +need to change values in the vector, then invoke the scatter_atoms() method. For the scatter methods, the array of coordinates passed to must be a ctypes vector of ints or doubles, allocated and initialized something like this: - .. code-block:: Python from ctypes import \* @@ -247,10 +239,8 @@ like this: Alternatively, you can just change values in the vector returned by the gather methods, since they are also ctypes vectors. - ---------- - As noted above, these Python class methods correspond one-to-one with the functions in the LAMMPS library interface in src/library.cpp and library.h. This means you can extend the Python wrapper via the @@ -264,7 +254,6 @@ following steps: * You should now be able to invoke the new interface function from a Python script. - ---------- .. autoclass:: lammps.lammps diff --git a/doc/src/Python_mpi.rst b/doc/src/Python_mpi.rst index d1c9ab0ca0..02a62c89d0 100644 --- a/doc/src/Python_mpi.rst +++ b/doc/src/Python_mpi.rst @@ -18,8 +18,7 @@ LAMMPS instances on subsets of the total MPI ranks. To install mpi4py (version mpi4py-3.0.3 as of Nov 2019), unpack it and from its main directory, type - -.. parsed-literal:: +.. code-block:: bash python setup.py build sudo python setup.py install @@ -28,31 +27,27 @@ Again, the "sudo" is only needed if required to copy mpi4py files into your Python distribution's site-packages directory. To install with user privilege into the user local directory type - -.. parsed-literal:: +.. code-block:: bash python setup.py install --user If you have successfully installed mpi4py, you should be able to run Python and type - -.. parsed-literal:: +.. code-block:: python from mpi4py import MPI without error. You should also be able to run python in parallel on a simple test script - -.. parsed-literal:: +.. code-block:: bash % mpirun -np 4 python test.py where test.py contains the lines - -.. parsed-literal:: +.. code-block:: python from mpi4py import MPI comm = MPI.COMM_WORLD @@ -69,7 +64,7 @@ and see one line of output for each processor you run on. it is using, since you specify the details in your low-level src/MAKE/Makefile.foo file. Mpi4py uses the "mpicc" command to find information about the MPI it uses to build against. And it tries to - load "libmpi.so" from the LD\_LIBRARY\_PATH. This may or may not find + load "libmpi.so" from the LD_LIBRARY_PATH. This may or may not find the MPI library that LAMMPS is using. If you have problems running both mpi4py and LAMMPS together, this is an issue you may need to address, e.g. by moving other MPI installations so that mpi4py finds diff --git a/doc/src/Python_shlib.rst b/doc/src/Python_shlib.rst index 0289b7acc4..bd1d559359 100644 --- a/doc/src/Python_shlib.rst +++ b/doc/src/Python_shlib.rst @@ -5,20 +5,19 @@ Build LAMMPS as a shared library using make ------------------------------------------- Instructions on how to build LAMMPS as a shared library are given on -the :doc:`Build\_basics <Build_basics>` doc page. A shared library is +the :doc:`Build_basics <Build_basics>` doc page. A shared library is one that is dynamically loadable, which is what Python requires to wrap LAMMPS. On Linux this is a library file that ends in ".so", not ".a". From the src directory, type - -.. parsed-literal:: +.. code-block:: bash make foo mode=shlib where foo is the machine target name, such as mpi or serial. -This should create the file liblammps\_foo.so in the src directory, as +This should create the file liblammps_foo.so in the src directory, as well as a soft link liblammps.so, which is what the Python wrapper will load by default. Note that if you are building multiple machine versions of the shared library, the soft link is always set to the @@ -30,7 +29,7 @@ most recently built version. auxiliary libraries (used by various packages), then all of these extra libraries must also be shared libraries. If the LAMMPS shared-library build fails with an error complaining about this, see - the :doc:`Build\_basics <Build_basics>` doc page. + the :doc:`Build_basics <Build_basics>` doc page. Build LAMMPS as a shared library using CMake -------------------------------------------- @@ -38,8 +37,7 @@ Build LAMMPS as a shared library using CMake When using CMake the following two options are necessary to generate the LAMMPS shared library: - -.. parsed-literal:: +.. code-block:: bash -D BUILD_LIB=on # enable building LAMMPS as a library -D BUILD_SHARED_LIBS=on # enable building of LAMMPS shared library (both options are needed!) @@ -47,13 +45,12 @@ shared library: What this does is create a liblammps.so which contains the majority of LAMMPS code. The generated lmp binary also dynamically links to this library. This means that either this liblammps.so file has to be in the same directory, a system -library path (e.g. /usr/lib64/) or in the LD\_LIBRARY\_PATH. +library path (e.g. /usr/lib64/) or in the LD_LIBRARY_PATH. If you want to use the shared library with Python the recommended way is to create a virtualenv and use it as -CMAKE\_INSTALL\_PREFIX. +CMAKE_INSTALL_PREFIX. - -.. parsed-literal:: +.. code-block:: bash # create virtualenv virtualenv --python=$(which python3) myenv3 @@ -69,13 +66,12 @@ CMAKE\_INSTALL\_PREFIX. make install This will also install the Python module into your virtualenv. Since virtualenv -doesn't change your LD\_LIBRARY\_PATH, you still need to add its lib64 folder to +doesn't change your LD_LIBRARY_PATH, you still need to add its lib64 folder to it, which contains the installed liblammps.so. - -.. parsed-literal:: +.. code-block:: bash export LD_LIBRARY_PATH=$VIRTUAL_ENV/lib64:$LD_LIBRARY_PATH Starting Python outside (!) of your build directory, but with the virtualenv -enabled and with the LD\_LIBRARY\_PATH set gives you access to LAMMPS via Python. +enabled and with the LD_LIBRARY_PATH set gives you access to LAMMPS via Python. diff --git a/doc/src/Python_test.rst b/doc/src/Python_test.rst index 13d0a1ab27..55a1c0a2d3 100644 --- a/doc/src/Python_test.rst +++ b/doc/src/Python_test.rst @@ -4,7 +4,6 @@ Test the Python/LAMMPS interface To test if LAMMPS is callable from Python, launch Python interactively and type: - .. parsed-literal:: >>> from lammps import lammps @@ -13,7 +12,6 @@ and type: If you get no errors, you're ready to use LAMMPS from Python. If the 2nd command fails, the most common error to see is - .. parsed-literal:: OSError: Could not load LAMMPS dynamic library @@ -27,15 +25,14 @@ should give you an indication of what went wrong. You can also test the load directly in Python as follows, without first importing from the lammps.py file: - .. parsed-literal:: >>> from ctypes import CDLL >>> CDLL("liblammps.so") If an error occurs, carefully go through the steps on the -:doc:`Build\_basics <Build_basics>` doc page about building a shared -library and the :doc:`Python\_install <Python_install>` doc page about +:doc:`Build_basics <Build_basics>` doc page about building a shared +library and the :doc:`Python_install <Python_install>` doc page about insuring Python can find the necessary two files it needs. Test LAMMPS and Python in serial: @@ -44,7 +41,6 @@ Test LAMMPS and Python in serial: To run a LAMMPS test in serial, type these lines into Python interactively from the bench directory: - .. parsed-literal:: >>> from lammps import lammps @@ -53,8 +49,7 @@ interactively from the bench directory: Or put the same lines in the file test.py and run it as - -.. parsed-literal:: +.. code-block:: bash % python test.py @@ -62,7 +57,6 @@ Either way, you should see the results of running the in.lj benchmark on a single processor appear on the screen, the same as if you had typed something like: - .. parsed-literal:: lmp_g++ -in in.lj @@ -74,8 +68,7 @@ To run LAMMPS in parallel, assuming you have installed the `PyPar <https://github.com/daleroberts/pypar>`_ package as discussed above, create a test.py file containing these lines: - -.. parsed-literal:: +.. code-block:: python import pypar from lammps import lammps @@ -88,8 +81,7 @@ To run LAMMPS in parallel, assuming you have installed the `mpi4py <https://bitbucket.org/mpi4py/mpi4py>`_ package as discussed above, create a test.py file containing these lines: - -.. parsed-literal:: +.. code-block:: python from mpi4py import MPI from lammps import lammps @@ -102,15 +94,13 @@ above, create a test.py file containing these lines: You can either script in parallel as: - -.. parsed-literal:: +.. code-block:: bash % mpirun -np 4 python test.py and you should see the same output as if you had typed - -.. parsed-literal:: +.. code-block:: bash % mpirun -np 4 lmp_g++ -in in.lj @@ -134,8 +124,7 @@ Running Python scripts: Note that any Python script (not just for LAMMPS) can be invoked in one of several ways: - -.. parsed-literal:: +.. code-block:: bash % python foo.script % python -i foo.script @@ -144,8 +133,7 @@ one of several ways: The last command requires that the first line of the script be something like this: - -.. parsed-literal:: +.. code-block:: bash #!/usr/local/bin/python #!/usr/local/bin/python -i @@ -153,8 +141,7 @@ something like this: where the path points to where you have Python installed, and that you have made the script file executable: - -.. parsed-literal:: +.. code-block:: bash % chmod +x foo.script diff --git a/doc/src/Run_basics.rst b/doc/src/Run_basics.rst index 53acb9096f..d02873a8be 100644 --- a/doc/src/Run_basics.rst +++ b/doc/src/Run_basics.rst @@ -5,14 +5,13 @@ LAMMPS is run from the command line, reading commands from a file via the -in command line flag, or from standard input. Using the "-in in.file" variant is recommended: - .. code-block:: bash $ lmp_serial -in in.file $ lmp_serial < in.file $ /path/to/lammps/src/lmp_serial -i in.file $ mpirun -np 4 lmp_mpi -in in.file - $ mpirun -np 8 /path/to//lammps/src/lmp_mpi -in in.file + $ mpirun -np 8 /path/to/lammps/src/lmp_mpi -in in.file $ mpirun -np 6 /usr/local/bin/lmp -in in.file You normally run the LAMMPS command in the directory where your input @@ -66,8 +65,7 @@ or "-bind-to core" (MPICH) can be used. If the LAMMPS command(s) you are using support multi-threading, you can set the number of threads per MPI task via the environment -variable OMP\_NUM\_THREADS, before you launch LAMMPS: - +variable OMP_NUM_THREADS, before you launch LAMMPS: .. code-block:: bash @@ -80,10 +78,8 @@ package command. See the :doc:`package <package>` command or :doc:`Speed <Speed>` doc pages for more details about which accelerator packages and which commands support multi-threading. - ---------- - You can experiment with running LAMMPS using any of the input scripts provided in the examples or bench directory. Input scripts are named in.\* and sample outputs are named log.\*.P where P is the number of diff --git a/doc/src/Run_head.rst b/doc/src/Run_head.rst index bdc122e3f7..5da5942d9b 100644 --- a/doc/src/Run_head.rst +++ b/doc/src/Run_head.rst @@ -6,7 +6,6 @@ and :doc:`built an executable <Build>`. The :doc:`Commands <Commands>` doc page describes how input scripts are structured and the commands they can contain. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Run_options.rst b/doc/src/Run_options.rst index e2b385b243..afdae20376 100644 --- a/doc/src/Run_options.rst +++ b/doc/src/Run_options.rst @@ -23,21 +23,18 @@ letter abbreviation can be used: * :ref:`-sf or -suffix <suffix>` * :ref:`-v or -var <var>` -For example, the lmp\_mpi executable might be launched as follows: - +For example, the lmp_mpi executable might be launched as follows: .. code-block:: bash $ mpirun -np 16 lmp_mpi -v f tmp.out -l my.log -sc none -i in.alloy $ mpirun -np 16 lmp_mpi -var f tmp.out -log my.log -screen none -in in.alloy - ---------- - .. _echo: -**-echo style** +**-echo style** Set the style of command echoing. The style can be *none* or *screen* or *log* or *both*\ . Depending on the style, each command read from @@ -46,46 +43,40 @@ can be useful to figure out which line of your script is causing an input error. The default value is *log*\ . The echo style can also be set by using the :doc:`echo <echo>` command in the input script itself. - ---------- - .. _help: -**-help** +**-help** Print a brief help summary and a list of options compiled into this -executable for each LAMMPS style (atom\_style, fix, compute, -pair\_style, bond\_style, etc). This can tell you if the command you +executable for each LAMMPS style (atom_style, fix, compute, +pair_style, bond_style, etc). This can tell you if the command you want to use was included via the appropriate package at compile time. LAMMPS will print the info and immediately exit if this switch is used. - ---------- - .. _file: -**-in file** +**-in file** Specify a file to use as an input script. This is an optional switch when running LAMMPS in one-partition mode. If it is not specified, LAMMPS reads its script from standard input, typically from a script -via I/O redirection; e.g. lmp\_linux < in.run. I/O redirection should +via I/O redirection; e.g. lmp_linux < in.run. I/O redirection should also work in parallel, but if it does not (in the unlikely case that an MPI implementation does not support it), then use the -in flag. Note that this is a required switch when running LAMMPS in multi-partition mode, since multiple processors cannot all read from stdin. - ---------- - .. _run-kokkos: -**-kokkos on/off keyword/value ...** +**-kokkos on/off keyword/value ...** Explicitly enable or disable KOKKOS support, as provided by the KOKKOS package. Even if LAMMPS is built with this package, as described @@ -114,7 +105,6 @@ settings to use on different platforms is given on the :doc:`Speed kokkos <Speed * t or threads * n or numa - .. parsed-literal:: device Nd @@ -127,7 +117,6 @@ have consecutive IDs numbered as 0,1,2,etc. This setting allows you to launch multiple independent jobs on the node, each with a single MPI task per node, and assign each job to run on a different GPU. - .. parsed-literal:: gpus Ng Ns @@ -144,7 +133,6 @@ Ng = 1 and Ns is not set. Depending on which flavor of MPI you are running, LAMMPS will look for one of these 4 environment variables - .. parsed-literal:: SLURM_LOCALID (various MPI variants compiled with SLURM support) @@ -156,7 +144,6 @@ which are initialized by the "srun", "mpirun" or "mpiexec" commands. The environment variable setting for each MPI rank is used to assign a unique GPU ID to the MPI task. - .. parsed-literal:: threads Nt @@ -169,7 +156,6 @@ the number of physical cores per node, to use your available hardware optimally. This also sets the number of threads used by the host when LAMMPS is compiled with CUDA=yes. - .. parsed-literal:: numa Nm @@ -184,13 +170,11 @@ its default value of 1. This is because letting a single process span multiple NUMA regions induces a significant amount of cross NUMA data traffic which is slow. - ---------- - .. _log: -**-log file** +**-log file** Specify a log file for LAMMPS to write status information to. In one-partition mode, if the switch is not used, LAMMPS writes to the @@ -205,13 +189,11 @@ specified file is "none", then no log files are created. Using a :doc:`log <log>` command in the input script will override this setting. Option -plog will override the name of the partition log files file.N. - ---------- - .. _mpicolor: -**-mpicolor** color +**-mpicolor** color If used, this must be the first command-line argument after the LAMMPS executable name. It is only used when LAMMPS is launched by an mpirun @@ -219,8 +201,8 @@ command which also launches another executable(s) at the same time. (The other executable could be LAMMPS as well.) The color is an integer value which should be different for each executable (another application may set this value in a different way). LAMMPS and the -other executable(s) perform an MPI\_Comm\_split() with their own colors -to shrink the MPI\_COMM\_WORLD communication to be the subset of +other executable(s) perform an MPI_Comm_split() with their own colors +to shrink the MPI_COMM_WORLD communication to be the subset of processors they are actually running on. Currently, this is only used in LAMMPS to perform client/server @@ -232,26 +214,22 @@ by the :doc:`message <message>` command and the CSlib library LAMMPS links with from the lib/message directory. See the :doc:`message <message>` command for more details. - ---------- - .. _nocite: -**-nocite** +**-nocite** Disable writing the log.cite file which is normally written to list references for specific cite-able features used during a LAMMPS run. -See the `citation page <http://lammps.sandia.gov/cite.html>`_ for more +See the `citation page <https://lammps.sandia.gov/cite.html>`_ for more details. - ---------- - .. _package: -**-package style args ....** +**-package style args ....** Invoke the :doc:`package <package>` command with style and args. The syntax is the same as if the command appeared at the top of the input @@ -265,13 +243,11 @@ Along with the "-suffix" command-line switch, this is a convenient mechanism for invoking accelerator packages and their options without having to edit an input script. - ---------- - .. _partition: -**-partition 8x2 4 5 ...** +**-partition 8x2 4 5 ...** Invoke LAMMPS in multi-partition mode. When LAMMPS is run on P processors and this switch is not used, LAMMPS runs in one partition, @@ -296,13 +272,11 @@ multiple partitions, see the :doc:`Howto multiple <Howto_multiple>` doc page. World- and universe-style :doc:`variables <variable>` are useful in this context. - ---------- - .. _plog: -**-plog file** +**-plog file** Specify the base name for the partition log files, so partition N writes log information to file.N. If file is none, then no partition @@ -310,17 +284,15 @@ log files are created. This overrides the filename specified in the -log command-line option. This option is useful when working with large numbers of partitions, allowing the partition log files to be suppressed (-plog none) or placed in a sub-directory (-plog -replica\_files/log.lammps) If this option is not used the log file for +replica_files/log.lammps) If this option is not used the log file for partition N is log.lammps.N or whatever is specified by the -log command-line option. - ---------- - .. _pscreen: -**-pscreen file** +**-pscreen file** Specify the base name for the partition screen file, so partition N writes screen information to file.N. If file is none, then no @@ -328,21 +300,18 @@ partition screen files are created. This overrides the filename specified in the -screen command-line option. This option is useful when working with large numbers of partitions, allowing the partition screen files to be suppressed (-pscreen none) or placed in a -sub-directory (-pscreen replica\_files/screen). If this option is not +sub-directory (-pscreen replica_files/screen). If this option is not used the screen file for partition N is screen.N or whatever is specified by the -screen command-line option. - ---------- - .. _reorder: -**-reorder** +**-reorder** This option has 2 forms: - .. parsed-literal:: -reorder nth N @@ -371,21 +340,18 @@ This can boost performance. For example, if you use "-reorder nth 4" and "-partition 9 3" and you are running on 12 processors, the processors will be reordered from - .. parsed-literal:: 0 1 2 3 4 5 6 7 8 9 10 11 to - .. parsed-literal:: 0 1 2 4 5 6 8 9 10 3 7 11 so that the processors in each partition will be - .. parsed-literal:: 0 1 2 4 5 6 8 9 10 @@ -400,7 +366,6 @@ file is as follows. Any number of initial blank or comment lines (starting with a "#" character) can be present. These should be followed by P lines of the form: - .. parsed-literal:: I J @@ -424,20 +389,16 @@ itself. See the :doc:`processors out <processors>` command for how to output info on the final assignment of physical processors to the LAMMPS simulation domain. - ---------- - .. _restart2data: **-restart2data restartfile [remap] datafile keyword value ...** - Convert the restart file into a data file and immediately exit. This is the same operation as if the following 2-line input script were run: - .. code-block:: LAMMPS read_restart restartfile [remap] @@ -461,7 +422,6 @@ should allow the data file to still be produced. The syntax following restartfile (or remap), namely - .. parsed-literal:: datafile keyword value ... @@ -470,19 +430,16 @@ is identical to the arguments of the :doc:`write_data <write_data>` command. See its doc page for details. This includes its optional keyword/value settings. - ---------- - .. _restart2dump: -**-restart2dump restartfile [remap] group-ID dumpstyle dumpfile arg1 arg2 ...** +**-restart2dump restartfile [remap] group-ID dumpstyle dumpfile arg1 arg2 ...** Convert the restart file into a dump file and immediately exit. This is the same operation as if the following 2-line input script were run: - .. code-block:: LAMMPS read_restart restartfile [remap] @@ -512,18 +469,16 @@ The syntax following restartfile (or remap), namely is identical to the arguments of the :doc:`write_dump <write_dump>` command. See its doc 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. the *nfile* and *fileper* keywords. See the :doc:`dump_modify <dump_modify>` doc page for details. - ---------- - .. _screen: -**-screen file** +**-screen file** Specify a file for LAMMPS to write its screen information to. In one-partition mode, if the switch is not used, LAMMPS writes to the @@ -538,13 +493,11 @@ multi-partition mode, if the specified file is "none", then no screen output is performed. Option -pscreen will override the name of the partition screen files file.N. - ---------- - .. _suffix: -**-suffix style args** +**-suffix style args** Use variants of various styles if they exist. The specified style can be *gpu*\ , *intel*\ , *kk*\ , *omp*\ , *opt*\ , or *hybrid*\ . These @@ -567,7 +520,7 @@ having to edit an input script. As an example, all of the packages provide a :doc:`pair_style lj/cut <pair_lj>` variant, with style names lj/cut/gpu, lj/cut/intel, lj/cut/kk, lj/cut/omp, and lj/cut/opt. A variant style -can be specified explicitly in your input script, e.g. pair\_style +can be specified explicitly in your input script, e.g. pair_style lj/cut/gpu. If the -suffix switch is used the specified suffix (gpu,intel,kk,omp,opt) is automatically appended whenever your input script command creates a new :doc:`atom <atom_style>`, @@ -607,13 +560,11 @@ The :doc:`suffix <suffix>` command can also be used within an input script to set a suffix, or to turn off or back on any suffix setting made via the command line. - ---------- - .. _var: -**-var name value1 value2 ...** +**-var name value1 value2 ...** Specify a variable that will be defined for substitution purposes when the input script is read. This switch can be used multiple times to diff --git a/doc/src/Run_output.rst b/doc/src/Run_output.rst index a75513b2c5..d7d92dc5ee 100644 --- a/doc/src/Run_output.rst +++ b/doc/src/Run_output.rst @@ -14,7 +14,6 @@ thermodynamic state and a total run time for the simulation. It also appends statistics about the CPU time and storage requirements for the simulation. An example set of statistics is shown here: - .. parsed-literal:: Loop time of 2.81192 on 4 procs for 300 steps with 2004 atoms @@ -47,10 +46,8 @@ simulation. An example set of statistics is shown here: Neighbor list builds = 26 Dangerous builds = 0 - ---------- - The first section provides a global loop timing summary. The *loop time* is the total wall-clock time for the simulation to run. The *Performance* line is provided for convenience to help predict how @@ -60,10 +57,8 @@ line provides the CPU utilization per MPI task; it should be close to Lower numbers correspond to delays due to file I/O or insufficient thread utilization. - ---------- - The *MPI task* section gives the breakdown of the CPU run time (in seconds) into major categories: @@ -96,7 +91,6 @@ only and thus, because the breakdown for MPI tasks can change from MPI rank to MPI rank, this breakdown can be very different for individual ranks. Here is an example output for this section: - .. parsed-literal:: Thread timings breakdown (MPI rank 0): @@ -109,20 +103,16 @@ individual ranks. Here is an example output for this section: Neigh \| 0.084778 \| 0.086969 \| 0.089161 \| 0.7 \| 12.70 Reduce \| 0.0036485 \| 0.003737 \| 0.0038254 \| 0.1 \| 0.55 - ---------- - The third section above lists the number of owned atoms (Nlocal), ghost atoms (Nghost), and pair-wise neighbors stored per processor. The max and min values give the spread of these values across processors with a 10-bin histogram showing the distribution. The total number of histogram counts is equal to the number of processors. - ---------- - The last section gives aggregate statistics (across all processors) for pair-wise neighbors and special neighbors that LAMMPS keeps track of (see the :doc:`special_bonds <special_bonds>` command). The number @@ -135,15 +125,12 @@ non-zero you may wish to reduce the delay factor to insure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild takes place. - ---------- - If an energy minimization was performed via the :doc:`minimize <minimize>` command, additional information is printed, e.g. - .. parsed-literal:: Minimization stats: @@ -167,15 +154,12 @@ Multiple force evaluations are typically done at each iteration to perform a 1d line minimization in the search direction. See the :doc:`minimize <minimize>` doc page for more details. - ---------- - If a :doc:`kspace_style <kspace_style>` long-range Coulombics solver that performs FFTs was used during the run (PPPM, Ewald), then additional information is printed, e.g. - .. parsed-literal:: FFT time (% of Kspce) = 0.200313 (8.34477) @@ -184,7 +168,7 @@ additional information is printed, e.g. The first line is the time spent doing 3d FFTs (several per timestep) and the fraction it represents of the total KSpace time (listed above). Each 3d FFT requires computation (3 sets of 1d FFTs) and -communication (transposes). The total flops performed is 5Nlog\_2(N), +communication (transposes). The total flops performed is 5Nlog_2(N), where N is the number of points in the 3d grid. The FFTs are timed with and without the communication and a Gflop rate is computed. The 3d rate is with communication; the 1d rate is without (just the 1d diff --git a/doc/src/Run_windows.rst b/doc/src/Run_windows.rst index af7ade1ac7..0343e123b9 100644 --- a/doc/src/Run_windows.rst +++ b/doc/src/Run_windows.rst @@ -7,22 +7,19 @@ To run a serial (non-MPI) executable, follow these steps: then typing "cmd". * Move to the directory where you have your input script, (e.g. by typing: cd "Documents"). -* At the command prompt, type "lmp\_serial -in in.file", where +* At the command prompt, type "lmp_serial -in in.file", where in.file is the name of your LAMMPS input script. Note that the serial executable includes support for multi-threading parallelization from the styles in the USER-OMP packages. To run with 4 threads, you can type this: - -.. parsed-literal:: +.. code-block:: bash lmp_serial -in in.lj -pk omp 4 -sf omp - ---------- - For the MPI executable, which allows you to run LAMMPS under Windows in parallel, follow these steps. @@ -46,8 +43,7 @@ into the MPICH2 installation directory, then into the sub-directory Then type something like this: - -.. parsed-literal:: +.. code-block:: bash mpiexec -localonly 4 lmp_mpi -in in.file mpiexec -np 4 lmp_mpi -in in.file @@ -62,15 +58,13 @@ patient before the output shows up. The parallel executable can also run on a single processor by typing something like this: - -.. parsed-literal:: +.. code-block:: bash lmp_mpi -in in.lj Note that the parallel executable also includes OpenMP multi-threading, which can be combined with MPI using something like: - -.. parsed-literal:: +.. code-block:: bash mpiexec -localonly 2 lmp_mpi -in in.lj -pk omp 2 -sf omp diff --git a/doc/src/Speed.rst b/doc/src/Speed.rst index a5b3d36a25..0528ff32d8 100644 --- a/doc/src/Speed.rst +++ b/doc/src/Speed.rst @@ -12,14 +12,13 @@ accelerator packages provided with LAMMPS that contain code optimized for certain kinds of hardware, including multi-core CPUs, GPUs, and Intel Xeon Phi co-processors. -The `Benchmark page <http://lammps.sandia.gov/bench.html>`_ of the LAMMPS +The `Benchmark page <https://lammps.sandia.gov/bench.html>`_ of the LAMMPS web site gives performance results for the various accelerator packages discussed on the :doc:`Speed packages <Speed_packages>` doc page, for several of the standard LAMMPS benchmark problems, as a function of problem size and number of compute nodes, on different hardware platforms. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Speed_bench.rst b/doc/src/Speed_bench.rst index c577bc426a..45b5b21d8a 100644 --- a/doc/src/Speed_bench.rst +++ b/doc/src/Speed_bench.rst @@ -1,7 +1,7 @@ Benchmarks ========== -Current LAMMPS performance is discussed on the `Benchmarks page <http://lammps.sandia.gov/bench.html>`_ of the `LAMMPS website <lws_>`_ +Current LAMMPS performance is discussed on the `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of the `LAMMPS website <lws_>`_ where timings and parallel efficiency are listed. The page has several sections, which are briefly described below: @@ -26,7 +26,6 @@ The 5 standard problems are as follow: particle-particle particle-mesh (PPPM) for long-range Coulombics, NPT integration - Input files for these 5 problems are provided in the bench directory of the LAMMPS distribution. Each has 32,000 atoms and runs for 100 timesteps. The size of the problem (number of atoms) can be varied @@ -44,19 +43,17 @@ to build LAMMPS and run on that kind of hardware. The bench/POTENTIALS directory has input files which correspond to the table of results on the -`Potentials <http://lammps.sandia.gov/bench.html#potentials>`_ section of +`Potentials <https://lammps.sandia.gov/bench.html#potentials>`_ section of the Benchmarks web page. So you can also run those test problems on your machine. -The `billion-atom <http://lammps.sandia.gov/bench.html#billion>`_ section +The `billion-atom <https://lammps.sandia.gov/bench.html#billion>`_ section of the Benchmarks web page has performance data for very large benchmark runs of simple Lennard-Jones (LJ) models, which use the bench/in.lj input script. - ---------- - For all the benchmarks, a useful metric is the CPU cost per atom per timestep. Since performance scales roughly linearly with problem size and timesteps for all LAMMPS models (i.e. interatomic or coarse-grained @@ -76,4 +73,4 @@ estimate parallel performance for multi-node runs using the same logic as for all-MPI mode, except that now you will typically need many more atoms/node to achieve good scalability. -.. _lws: http://lammps.sandia.gov +.. _lws: https://lammps.sandia.gov diff --git a/doc/src/Speed_compare.rst b/doc/src/Speed_compare.rst index f6795e202a..d3947ec3ef 100644 --- a/doc/src/Speed_compare.rst +++ b/doc/src/Speed_compare.rst @@ -66,7 +66,7 @@ section below for examples where this has been done. acceleration and instead run it - concurrently with a GPU accelerated pair style - on the CPU. This can often be easily achieved with placing a *suffix off* command before and a *suffix on* command after the - *kspace\_style pppm* command. + *kspace_style pppm* command. * The KOKKOS/OpenMP and USER-OMP package have different thread management strategies, which should result in USER-OMP being more efficient for a small number of threads with increasing overhead as the number of threads @@ -77,7 +77,6 @@ section below for examples where this has been done. to unlock this potential, an Intel compiler is required. The package code will compile with GNU gcc, but it will not be as efficient. - **Differences between the GPU and KOKKOS packages:** * The GPU package accelerates only pair force, neighbor list, and (parts diff --git a/doc/src/Speed_gpu.rst b/doc/src/Speed_gpu.rst index 9492d1466a..9981b22b03 100644 --- a/doc/src/Speed_gpu.rst +++ b/doc/src/Speed_gpu.rst @@ -27,7 +27,6 @@ It has the following general features: NVIDIA support as well as more general OpenCL support, so that the same functionality is supported on a variety of hardware. - **Required hardware/software:** To compile and use this package in CUDA mode, you currently need @@ -36,9 +35,9 @@ toolkit software on your system (this is primarily tested on Linux and completely unsupported on Windows): * Check if you have an NVIDIA GPU: cat /proc/driver/nvidia/gpus/\*/information -* Go to http://www.nvidia.com/object/cuda\_get.html +* Go to http://www.nvidia.com/object/cuda_get.html * Install a driver and toolkit appropriate for your system (SDK is not necessary) -* Run lammps/lib/gpu/nvc\_get\_devices (after building the GPU library, see below) to +* Run lammps/lib/gpu/nvc_get_devices (after building the GPU library, see below) to list supported devices and properties To compile and use this package in OpenCL mode, you currently need @@ -48,7 +47,7 @@ installed. There can be multiple of them for the same or different hardware (GPUs, CPUs, Accelerators) installed at the same time. OpenCL refers to those as 'platforms'. The GPU library will select the **first** suitable platform, but this can be overridden using the device option of the :doc:`package <package>` -command. run lammps/lib/gpu/ocl\_get\_devices to get a list of available +command. run lammps/lib/gpu/ocl_get_devices to get a list of available platforms and devices with a suitable ICD available. **Building LAMMPS with the GPU package:** @@ -77,8 +76,7 @@ automatically append "gpu" to styles that support it. Use the "-pk gpu Ng" :doc:`command-line switch <Run_options>` to set Ng = # of GPUs/node to use. - -.. parsed-literal:: +.. code-block:: bash lmp_machine -sf gpu -pk gpu 1 -in in.script # 1 MPI task uses 1 GPU mpirun -np 12 lmp_machine -sf gpu -pk gpu 2 -in in.script # 12 MPI tasks share 2 GPUs on a single 16-core (or whatever) node @@ -108,8 +106,7 @@ and use of multiple MPI tasks/GPU is the same. Use the :doc:`suffix gpu <suffix>` command, or you can explicitly add an "gpu" suffix to individual styles in your input script, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut/gpu 2.5 @@ -126,7 +123,7 @@ in OpenCL mode on CPUs (which uses vectorization and multithreading) is usually resulting in inferior performance compared to using LAMMPS' native threading and vectorization support in the USER-OMP and USER-INTEL packages. -See the `Benchmark page <http://lammps.sandia.gov/bench.html>`_ of the +See the `Benchmark page <https://lammps.sandia.gov/bench.html>`_ of the LAMMPS web site for performance of the GPU package on various hardware, including the Titan HPC platform at ORNL. @@ -172,9 +169,7 @@ results, since they will typically be faster. This is the maximum memory used at one time on the GPU for data storage by a single MPI process. - Restrictions """""""""""" - None. diff --git a/doc/src/Speed_intel.rst b/doc/src/Speed_intel.rst index 86afd8d2ed..4658fb9584 100644 --- a/doc/src/Speed_intel.rst +++ b/doc/src/Speed_intel.rst @@ -25,7 +25,6 @@ LAMMPS to run on the CPU cores and co-processor cores simultaneously. rebo, sw, tersoff * K-Space Styles: pppm, pppm/disp - .. warning:: None of the styles in the USER-INTEL package currently @@ -58,10 +57,8 @@ Skylake) with "June 2017" LAMMPS built with Intel Parallel Studio *src/USER-INTEL/TEST/README* for the raw simulation rates and instructions to reproduce. - ---------- - **Accuracy and order of operations:** In most molecular dynamics software, parallelization parameters @@ -82,13 +79,12 @@ order of operations compared to LAMMPS without acceleration: * The *newton* setting applies to all atoms, not just atoms shared between MPI tasks * Vectorization can change the order for adding pairwise forces -* When using the -DLMP\_USE\_MKL\_RNG define (all included intel optimized +* When using the -DLMP_USE_MKL_RNG define (all included intel optimized makefiles do) at build time, the random number generator for dissipative particle dynamics (pair style dpd/intel) uses the Mersenne Twister generator included in the Intel MKL library (that should be more robust than the default Masaglia random number generator) - The precision mode (described below) used with the USER-INTEL package can change the *accuracy* of the calculations. For the default *mixed* precision option, calculations between pairs or @@ -98,18 +94,16 @@ is performed in double precision to prevent the error from growing with the number of atoms in the simulation. *Single* precision mode should not be used without appropriate validation. - ---------- - **Quick Start for Experienced Users:** LAMMPS should be built with the USER-INTEL package installed. Simulations should be run with 1 MPI task per physical *core*\ , not *hardware thread*\ . -* Edit src/MAKE/OPTIONS/Makefile.intel\_cpu\_intelmpi as necessary. -* Set the environment variable KMP\_BLOCKTIME=0 +* Edit src/MAKE/OPTIONS/Makefile.intel_cpu_intelmpi as necessary. +* Set the environment variable KMP_BLOCKTIME=0 * "-pk intel 0 omp $t -sf intel" added to LAMMPS command-line * $t should be 2 for Intel Xeon CPUs and 2 or 4 for Intel Xeon Phi * For some of the simple 2-body potentials without long-range @@ -117,37 +111,31 @@ not *hardware thread*\ . the "newton off" setting added to the input script * For simulations on higher node counts, add "processors \* \* \* grid numa" to the beginning of the input script for better scalability -* If using *kspace\_style pppm* in the input script, add - "kspace\_modify diff ad" for better performance - +* If using *kspace_style pppm* in the input script, add + "kspace_modify diff ad" for better performance For Intel Xeon Phi CPUs: * Runs should be performed using MCDRAM. - -For simulations using *kspace\_style pppm* on Intel CPUs supporting +For simulations using *kspace_style pppm* on Intel CPUs supporting AVX-512: -* Add "kspace\_modify diff ad" to the input script +* Add "kspace_modify diff ad" to the input script * The command-line option should be changed to "-pk intel 0 omp $r lrt yes -sf intel" where $r is the number of threads minus 1. -* Do not use thread affinity (set KMP\_AFFINITY=none) +* Do not use thread affinity (set KMP_AFFINITY=none) * The "newton off" setting may provide better scalability - For Intel Xeon Phi co-processors (Offload): -* Edit src/MAKE/OPTIONS/Makefile.intel\_co-processor as necessary +* Edit src/MAKE/OPTIONS/Makefile.intel_co-processor as necessary * "-pk intel N omp 1" added to command-line where N is the number of co-processors per node. - - ---------- - **Required hardware/software:** In order to use offload to co-processors, an Intel Xeon Phi @@ -204,8 +192,7 @@ will report every hardware thread as a separate core allowing one to determine the number of hardware threads available. On Linux systems, this information can normally be obtained with: - -.. parsed-literal:: +.. code-block:: bash cat /proc/cpuinfo @@ -218,8 +205,7 @@ For building with make, several example Makefiles for building with the Intel compiler are included with LAMMPS in the src/MAKE/OPTIONS/ directory: - -.. parsed-literal:: +.. code-block:: bash Makefile.intel_cpu_intelmpi # Intel Compiler, Intel MPI, No Offload Makefile.knl # Intel Compiler, Intel MPI, No Offload @@ -227,14 +213,13 @@ directory: Makefile.intel_cpu_openpmi # Intel Compiler, OpenMPI, No Offload Makefile.intel_co-processor # Intel Compiler, Intel MPI, Offload -Makefile.knl is identical to Makefile.intel\_cpu\_intelmpi except that +Makefile.knl is identical to Makefile.intel_cpu_intelmpi except that it explicitly specifies that vectorization should be for Intel Xeon Phi x200 processors making it easier to cross-compile. For users with recent installations of Intel Parallel Studio, the process can be as simple as: - -.. parsed-literal:: +.. code-block:: bash make yes-user-intel source /opt/intel/parallel_studio_xe_2016.3.067/psxevars.sh @@ -249,12 +234,12 @@ without offload support will produce a smaller binary. The general requirements for Makefiles with the USER-INTEL package are as follows. When using Intel compilers, "-restrict" is required and "-qopenmp" is highly recommended for CCFLAGS and LINKFLAGS. -CCFLAGS should include "-DLMP\_INTEL\_USELRT" (unless POSIX Threads -are not supported in the build environment) and "-DLMP\_USE\_MKL\_RNG" +CCFLAGS should include "-DLMP_INTEL_USELRT" (unless POSIX Threads +are not supported in the build environment) and "-DLMP_USE_MKL_RNG" (unless Intel Math Kernel Library (MKL) is not available in the build environment). For Intel compilers, LIB should include "-ltbbmalloc" -or if the library is not available, "-DLMP\_INTEL\_NO\_TBB" can be added -to CCFLAGS. For builds supporting offload, "-DLMP\_INTEL\_OFFLOAD" is +or if the library is not available, "-DLMP_INTEL_NO_TBB" can be added +to CCFLAGS. For builds supporting offload, "-DLMP_INTEL_OFFLOAD" is required for CCFLAGS and "-qoffload" is required for LINKFLAGS. Other recommended CCFLAG options for best performance are "-O2 -fno-alias -ansi-alias -qoverride-limits fp-model fast=2 -no-prec-div". @@ -312,9 +297,9 @@ almost all cases. OpenMP threads on the host (CPU) will be set by default on the host *when using offload to a co-processor*\ . In this case, it is unnecessary to use other methods to control affinity (e.g. taskset, numactl, - I\_MPI\_PIN\_DOMAIN, etc.). This can be disabled with the *no\_affinity* + I_MPI_PIN_DOMAIN, etc.). This can be disabled with the *no_affinity* option to the :doc:`package intel <package>` command or by disabling the - option at build time (by adding -DINTEL\_OFFLOAD\_NOAFFINITY to the + option at build time (by adding -DINTEL_OFFLOAD_NOAFFINITY to the CCFLAGS line of your Makefile). Disabling this option is not recommended, especially when running on a machine with Intel Hyper-Threading technology disabled. @@ -328,7 +313,7 @@ editing the input script. This switch will automatically append :doc:`package intel 1 <package>`. This package command is used to set options for the USER-INTEL package. The default package command will specify that USER-INTEL calculations are performed in mixed precision, -that the number of OpenMP threads is specified by the OMP\_NUM\_THREADS +that the number of OpenMP threads is specified by the OMP_NUM_THREADS environment variable, and that if co-processors are present and the binary was built with offload support, that 1 co-processor per node will be used with automatic balancing of work between the CPU and the @@ -339,18 +324,17 @@ the "-pk intel Nphi" :doc:`command-line switch <Run_options>` with keyword/value pairs as specified in the documentation. Here, Nphi = # of Xeon Phi co-processors/node (ignored without offload support). Common options to the USER-INTEL package include *omp* to -override any OMP\_NUM\_THREADS setting and specify the number of OpenMP +override any OMP_NUM_THREADS setting and specify the number of OpenMP threads, *mode* to set the floating-point precision mode, and *lrt* to enable Long-Range Thread mode as described below. See the :doc:`package intel <package>` command for details, including the default values used for all its options if not specified, and how to set the number -of OpenMP threads via the OMP\_NUM\_THREADS environment variable if +of OpenMP threads via the OMP_NUM_THREADS environment variable if desired. Examples (see documentation for your MPI/Machine for differences in launching MPI applications): - -.. parsed-literal:: +.. code-block:: bash mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script # 2 nodes, 36 MPI tasks/node, $OMP_NUM_THREADS OpenMP Threads mpirun -np 72 -ppn 36 lmp_machine -sf intel -in in.script -pk intel 0 omp 2 mode double # Don't use any co-processors that might be available, use 2 OpenMP threads for each task, use double precision @@ -362,16 +346,14 @@ can be edited to enable the USER-INTEL package. This requires adding the :doc:`package intel <package>` command to the top of the input script. For the second example above, this would be: - -.. parsed-literal:: +.. code-block:: LAMMPS package intel 0 omp 2 mode double To enable the USER-INTEL package only for individual styles, you can add an "intel" suffix to the individual style, e.g.: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut/intel 2.5 @@ -393,7 +375,7 @@ Long-Range Thread (LRT) mode is an option to the :doc:`package intel <package>` with SMT. It generates an extra pthread for each MPI task. The thread is dedicated to performing some of the PPPM calculations and MPI communications. This feature requires setting the pre-processor flag --DLMP\_INTEL\_USELRT in the makefile when compiling LAMMPS. It is unset +-DLMP_INTEL_USELRT in the makefile when compiling LAMMPS. It is unset in the default makefiles (\ *Makefile.mpi* and *Makefile.serial*\ ) but it is set in all makefiles tuned for the USER-INTEL package. On Intel Xeon Phi x200 series CPUs, the LRT feature will likely improve @@ -405,7 +387,7 @@ normally be used for the run and add the "lrt yes" option to the "-pk" command-line suffix or "package intel" command. For example, if a run would normally perform best with "-pk intel 0 omp 4", instead use "-pk intel 0 omp 3 lrt yes". When using LRT, you should set the -environment variable "KMP\_AFFINITY=none". LRT mode is not supported +environment variable "KMP_AFFINITY=none". LRT mode is not supported when using offload. .. note:: @@ -443,7 +425,7 @@ alternative to LRT mode and the two cannot be used together. Currently, when using Intel MPI with Intel Xeon Phi x200 series CPUs, better performance might be obtained by setting the -environment variable "I\_MPI\_SHM\_LMT=shm" for Linux kernels that do +environment variable "I_MPI_SHM_LMT=shm" for Linux kernels that do not yet have full support for AVX-512. Runs on Intel Xeon Phi x200 series processors will always perform better using MCDRAM. Please consult your system documentation for the best approach to specify @@ -527,12 +509,11 @@ MPI task. Restrictions """""""""""" - When offloading to a co-processor, :doc:`hybrid <pair_hybrid>` styles that require skip lists for neighbor builds cannot be offloaded. Using :doc:`hybrid/overlay <pair_hybrid>` is allowed. Only one intel accelerated style may be used with hybrid styles when offloading. -:doc:`Special\_bonds <special_bonds>` exclusion lists are not currently +:doc:`Special_bonds <special_bonds>` exclusion lists are not currently supported with offload, however, the same effect can often be accomplished by setting cutoffs for excluded atom types to 0. None of the pair styles in the USER-INTEL package currently support the diff --git a/doc/src/Speed_kokkos.rst b/doc/src/Speed_kokkos.rst index 700ef91998..6658957006 100644 --- a/doc/src/Speed_kokkos.rst +++ b/doc/src/Speed_kokkos.rst @@ -9,8 +9,8 @@ different back end languages such as CUDA, OpenMP, or Pthreads. The Kokkos library also provides data abstractions to adjust (at compile time) the memory layout of data structures like 2d and 3d arrays to optimize performance on different hardware. For more information on -Kokkos, see `GitHub <https://github.com/kokkos/kokkos>`_. Kokkos is part -of `Trilinos <http://trilinos.sandia.gov/packages/kokkos>`_. The Kokkos +Kokkos, see `GitHub <https://github.com/kokkos/kokkos>`_. Kokkos is +part of `Trilinos <https://www.trilinos.org/>`_. The Kokkos library was written primarily by Carter Edwards, Christian Trott, and Dan Sunderland (all Sandia). @@ -21,7 +21,7 @@ package was developed primarily by Christian Trott (Sandia) and Stan Moore (Sandia) with contributions of various styles by others, including Sikandar Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez (Sandia). For more information on developing using Kokkos abstractions -see the Kokkos programmers' guide at /lib/kokkos/doc/Kokkos\_PG.pdf. +see the Kokkos programmers' guide at /lib/kokkos/doc/Kokkos_PG.pdf. Kokkos currently provides support for 3 modes of execution (per MPI task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP @@ -71,8 +71,7 @@ Kokkos. E.g. the mpirun command in OpenMPI does this via its -np and Here is a quick overview of how to use the KOKKOS package for CPU acceleration, assuming one or more 16-core nodes. - -.. parsed-literal:: +.. code-block:: bash mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -in in.lj # 1 node, 16 MPI tasks/node, no multi-threading mpirun -np 2 -ppn 1 lmp_kokkos_omp -k on t 16 -sf kk -in in.lj # 2 nodes, 1 MPI task/node, 16 threads/task @@ -85,7 +84,6 @@ command. You must use the "-k on" :doc:`command-line switch <Run_options>` to e additional arguments for hardware settings appropriate to your system. For OpenMP use: - .. parsed-literal:: -k on t Nt @@ -110,8 +108,8 @@ below. .. note:: When using a single OpenMP thread, the Kokkos Serial back end (i.e. - Makefile.kokkos\_mpi\_only) will give better performance than the OpenMP - back end (i.e. Makefile.kokkos\_omp) because some of the overhead to make + Makefile.kokkos_mpi_only) will give better performance than the OpenMP + back end (i.e. Makefile.kokkos_omp) because some of the overhead to make the code thread-safe is removed. .. note:: @@ -121,8 +119,7 @@ below. page for details and default settings. Experimenting with its options can provide a speed-up for specific calculations. For example: - -.. parsed-literal:: +.. code-block:: bash mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm @@ -137,8 +134,8 @@ small numbers of threads (i.e. 8 or less) but does increase memory footprint and is not scalable to large numbers of threads. An alternative to data duplication is to use thread-level atomic operations which do not require data duplication. The use of atomic operations can -be enforced by compiling LAMMPS with the "-DLMP\_KOKKOS\_USE\_ATOMICS" -pre-processor flag. Most but not all Kokkos-enabled pair\_styles support +be enforced by compiling LAMMPS with the "-DLMP_KOKKOS_USE_ATOMICS" +pre-processor flag. Most but not all Kokkos-enabled pair_styles support data duplication. Alternatively, full neighbor lists avoid the need for duplication or atomic operations but require more compute operations per atom. When using the Kokkos Serial back end or the OpenMP back end with @@ -154,7 +151,6 @@ they do not migrate during a simulation. If you are not certain MPI tasks are being bound (check the defaults for your MPI installation), binding can be forced with these flags: - .. parsed-literal:: OpenMPI 1.8: mpirun -np 2 --bind-to socket --map-by socket ./lmp_openmpi ... @@ -163,9 +159,9 @@ for your MPI installation), binding can be forced with these flags: For binding threads with KOKKOS OpenMP, use thread affinity environment variables to force binding. With OpenMP 3.1 (gcc 4.7 or later, intel 12 or later) setting the environment variable -OMP\_PROC\_BIND=true should be sufficient. In general, for best -performance with OpenMP 4.0 or better set OMP\_PROC\_BIND=spread and -OMP\_PLACES=threads. For binding threads with the KOKKOS pthreads +OMP_PROC_BIND=true should be sufficient. In general, for best +performance with OpenMP 4.0 or better set OMP_PROC_BIND=spread and +OMP_PLACES=threads. For binding threads with the KOKKOS pthreads option, compile LAMMPS the KOKKOS HWLOC=yes option as described below. **Running on Knight's Landing (KNL) Intel Xeon Phi:** @@ -184,10 +180,9 @@ tasks. Examples of mpirun commands that follow these rules are shown below. +.. code-block:: bash -.. parsed-literal:: - - Intel KNL node with 68 cores (272 threads/node via 4x hardware threading): + # Running on an Intel KNL node with 68 cores (272 threads/node via 4x hardware threading): mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj # 1 node, 64 MPI tasks/node, 4 threads/task mpirun -np 66 lmp_kokkos_phi -k on t 4 -sf kk -in in.lj # 1 node, 66 MPI tasks/node, 4 threads/task mpirun -np 32 lmp_kokkos_phi -k on t 8 -sf kk -in in.lj # 1 node, 32 MPI tasks/node, 8 threads/task @@ -210,8 +205,7 @@ threads/task as Nt. The product of these two values should be N, i.e. details and default settings. Experimenting with its options can provide a speed-up for specific calculations. For example: - -.. parsed-literal:: +.. code-block:: bash mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm host -in in.reax # Newton on, half neighbor list, threaded comm mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton off neigh full comm no -in in.lj # Newton off, full neighbor list, non-threaded comm @@ -245,7 +239,6 @@ avoided by using :doc:`-pk kokkos cuda/aware no <package>`. As above for multi-core CPUs (and no GPU), if N is the number of physical cores/node, then the number of MPI tasks/node should not exceed N. - .. parsed-literal:: -k on g Ng @@ -253,8 +246,7 @@ then the number of MPI tasks/node should not exceed N. Here are examples of how to use the KOKKOS package for GPUs, assuming one or more nodes, each with two GPUs: - -.. parsed-literal:: +.. code-block:: bash mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) @@ -274,8 +266,7 @@ one or more nodes, each with two GPUs: default settings. Experimenting with its options can provide a speed-up for specific calculations. For example: - -.. parsed-literal:: +.. code-block:: bash mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff @@ -299,7 +290,7 @@ one or more nodes, each with two GPUs: .. note:: To get an accurate timing breakdown between time spend in pair, - kspace, etc., you must set the environment variable CUDA\_LAUNCH\_BLOCKING=1. + kspace, etc., you must set the environment variable CUDA_LAUNCH_BLOCKING=1. However, this will reduce performance and is not recommended for production runs. **Run with the KOKKOS package by editing an input script:** @@ -317,8 +308,7 @@ hardware options appropriate to your system, as documented above. You can use the :doc:`suffix kk <suffix>` command, or you can explicitly add a "kk" suffix to individual styles in your input script, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut/kk 2.5 @@ -330,11 +320,10 @@ wish to change any of its option defaults, as set by the "-k on" With the KOKKOS package, both OpenMP multi-threading and GPUs can be used together in a few special cases. In the Makefile, the -KOKKOS\_DEVICES variable must include both "Cuda" and "OpenMP", as is -the case for /src/MAKE/OPTIONS/Makefile.kokkos\_cuda\_mpi +KOKKOS_DEVICES variable must include both "Cuda" and "OpenMP", as is +the case for /src/MAKE/OPTIONS/Makefile.kokkos_cuda_mpi - -.. parsed-literal:: +.. code-block:: bash KOKKOS_DEVICES=Cuda,OpenMP @@ -345,15 +334,13 @@ style in the input script, the Kokkos OpenMP (CPU) version of that specific style will be used instead. Set the number of OpenMP threads as "t Nt" and the number of GPUs as "g Ng" - .. parsed-literal:: -k on t Nt g Ng For example, the command to run with 1 GPU and 8 OpenMP threads is then: - -.. parsed-literal:: +.. code-block:: bash mpiexec -np 1 lmp_kokkos_cuda_openmpi -in in.lj -k on g 1 t 8 -sf kk @@ -370,7 +357,7 @@ GPU. First compile with "--default-stream per-thread" added to CCFLAGS in the Kokkos CUDA Makefile. Then explicitly use the "/kk/host" suffix for kspace and bonds, angles, etc. in the input file and the "kk" suffix (equal to "kk/device") on the command line. Also make -sure the environment variable CUDA\_LAUNCH\_BLOCKING is not set to "1" +sure the environment variable CUDA_LAUNCH_BLOCKING is not set to "1" so CPU/GPU overlap can occur. **Speed-ups to expect:** @@ -394,8 +381,7 @@ Generally speaking, the following rules of thumb apply: * When running on Intel hardware, KOKKOS is not as fast as the USER-INTEL package, which is optimized for that hardware. - -See the `Benchmark page <http://lammps.sandia.gov/bench.html>`_ of the +See the `Benchmark page <https://lammps.sandia.gov/bench.html>`_ of the LAMMPS web site for performance of the KOKKOS package on different hardware. @@ -408,39 +394,38 @@ Makefile.machine, or they can be specified as CMake variables. Each takes a value shown below. The default value is listed, which is set in the lib/kokkos/Makefile.kokkos file. -* KOKKOS\_DEBUG, values = *yes*\ , *no*\ , default = *no* -* KOKKOS\_USE\_TPLS, values = *hwloc*\ , *librt*\ , *experimental\_memkind*, default = *none* -* KOKKOS\_CXX\_STANDARD, values = *c++11*\ , *c++1z*\ , default = *c++11* -* KOKKOS\_OPTIONS, values = *aggressive\_vectorization*, *disable\_profiling*, default = *none* -* KOKKOS\_CUDA\_OPTIONS, values = *force\_uvm*, *use\_ldg*, *rdc*\ , *enable\_lambda*, default = *enable\_lambda* +* KOKKOS_DEBUG, values = *yes*\ , *no*\ , default = *no* +* KOKKOS_USE_TPLS, values = *hwloc*\ , *librt*\ , *experimental_memkind*, default = *none* +* KOKKOS_CXX_STANDARD, values = *c++11*\ , *c++1z*\ , default = *c++11* +* KOKKOS_OPTIONS, values = *aggressive_vectorization*, *disable_profiling*, default = *none* +* KOKKOS_CUDA_OPTIONS, values = *force_uvm*, *use_ldg*, *rdc*\ , *enable_lambda*, default = *enable_lambda* -KOKKOS\_USE\_TPLS=hwloc binds threads to hardware cores, so they do not -migrate during a simulation. KOKKOS\_USE\_TPLS=hwloc should always be -used if running with KOKKOS\_DEVICES=Pthreads for pthreads. It is not -necessary for KOKKOS\_DEVICES=OpenMP for OpenMP, because OpenMP +KOKKOS_USE_TPLS=hwloc binds threads to hardware cores, so they do not +migrate during a simulation. KOKKOS_USE_TPLS=hwloc should always be +used if running with KOKKOS_DEVICES=Pthreads for pthreads. It is not +necessary for KOKKOS_DEVICES=OpenMP for OpenMP, because OpenMP provides alternative methods via environment variables for binding threads to hardware cores. More info on binding threads to cores is given on the :doc:`Speed omp <Speed_omp>` doc page. -KOKKOS\_USE\_TPLS=librt enables use of a more accurate timer mechanism +KOKKOS_USE_TPLS=librt enables use of a more accurate timer mechanism on most Unix platforms. This library is not available on all platforms. -KOKKOS\_DEBUG is only useful when developing a Kokkos-enabled style -within LAMMPS. KOKKOS\_DEBUG=yes enables printing of run-time +KOKKOS_DEBUG is only useful when developing a Kokkos-enabled style +within LAMMPS. KOKKOS_DEBUG=yes enables printing of run-time debugging information that can be useful. It also enables runtime bounds checking on Kokkos data structures. -KOKKOS\_CXX\_STANDARD and KOKKOS\_OPTIONS are typically not changed when +KOKKOS_CXX_STANDARD and KOKKOS_OPTIONS are typically not changed when building LAMMPS. -KOKKOS\_CUDA\_OPTIONS are additional options for CUDA. The LAMMPS KOKKOS -package must be compiled with the *enable\_lambda* option when using +KOKKOS_CUDA_OPTIONS are additional options for CUDA. The LAMMPS KOKKOS +package must be compiled with the *enable_lambda* option when using GPUs. Restrictions """""""""""" - Currently, there are no precision options with the KOKKOS package. All compilation and computation is performed in double precision. diff --git a/doc/src/Speed_measure.rst b/doc/src/Speed_measure.rst index 2f86aa18f2..686fdb6adc 100644 --- a/doc/src/Speed_measure.rst +++ b/doc/src/Speed_measure.rst @@ -14,7 +14,7 @@ timings; you can simply extrapolate from short runs. For the set of runs, look at the timing data printed to the screen and log file at the end of each LAMMPS run. The -:doc:`Run\_output <Run_output>` doc page gives an overview. +:doc:`Run_output <Run_output>` doc page gives an overview. Running on one (or a few processors) should give a good estimate of the serial performance and what portions of the timestep are taking @@ -42,5 +42,5 @@ inaccurate relative timing data, because processors have to wait when communication occurs for other processors to catch up. Thus the reported times for "Communication" or "Other" may be higher than they really are, due to load-imbalance. If this is an issue, you can -uncomment the MPI\_Barrier() lines in src/timer.cpp, and re-compile +uncomment the MPI_Barrier() lines in src/timer.cpp, and re-compile LAMMPS, to obtain synchronized timings. diff --git a/doc/src/Speed_omp.rst b/doc/src/Speed_omp.rst index 44233902a7..04e4366758 100644 --- a/doc/src/Speed_omp.rst +++ b/doc/src/Speed_omp.rst @@ -23,8 +23,7 @@ instructions. These examples assume one or more 16-core nodes. - -.. parsed-literal:: +.. code-block:: bash env OMP_NUM_THREADS=16 lmp_omp -sf omp -in in.script # 1 MPI task, 16 threads according to OMP_NUM_THREADS lmp_mpi -sf omp -in in.script # 1 MPI task, no threads, optimized kernels @@ -44,14 +43,14 @@ node), otherwise performance will suffer. As in the lines above, use the "-sf omp" :doc:`command-line switch <Run_options>`, which will automatically append "omp" to styles that support it. The "-sf omp" switch also issues a default :doc:`package omp 0 <package>` command, which will set the number of -threads per MPI task via the OMP\_NUM\_THREADS environment variable. +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 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 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 -OMP\_NUM\_THREADS environment variable. +OMP_NUM_THREADS environment variable. **Or run with the USER-OMP package by editing an input script:** @@ -61,15 +60,14 @@ and threads/MPI task is the same. Use the :doc:`suffix omp <suffix>` command, or you can explicitly add an "omp" suffix to individual styles in your input script, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut/omp 2.5 You must also use the :doc:`package omp <package>` command to enable the USER-OMP package. When you do this you also specify how many threads per MPI task to use. The command doc 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. **Speed-ups to expect:** @@ -140,7 +138,6 @@ circumstances: with the USER-OMP package, is an alternative way to reduce the number of MPI tasks assigned to the KSpace calculation. - Additional performance tips are as follows: * The best parallel efficiency from *omp* styles is typically achieved @@ -154,9 +151,7 @@ Additional performance tips are as follows: one core and thus is likely to be counterproductive. Instead, binding MPI tasks to a (multi-core) socket, should solve this issue. - Restrictions """""""""""" - None. diff --git a/doc/src/Speed_opt.rst b/doc/src/Speed_opt.rst index f684720905..297177f8d4 100644 --- a/doc/src/Speed_opt.rst +++ b/doc/src/Speed_opt.rst @@ -17,8 +17,7 @@ See the :ref:`Build extras <opt>` doc page for instructions. **Run with the OPT package from the command line:** - -.. parsed-literal:: +.. code-block:: bash lmp_mpi -sf opt -in in.script # run in serial mpirun -np 4 lmp_mpi -sf opt -in in.script # run in parallel @@ -31,8 +30,7 @@ automatically append "opt" to styles that support it. Use the :doc:`suffix opt <suffix>` command, or you can explicitly add an "opt" suffix to individual styles in your input script, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut/opt 2.5 @@ -49,5 +47,4 @@ Just try out an OPT pair style to see how it performs. Restrictions """""""""""" - None. diff --git a/doc/src/Speed_packages.rst b/doc/src/Speed_packages.rst index 0526961a81..ab02ba7f48 100644 --- a/doc/src/Speed_packages.rst +++ b/doc/src/Speed_packages.rst @@ -90,13 +90,13 @@ listed above: +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ | re-build LAMMPS | make machine | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ -| prepare and test a regular LAMMPS simulation | lmp\_machine -in in.script; mpirun -np 32 lmp\_machine -in in.script | +| prepare and test a regular LAMMPS simulation | lmp_machine -in in.script; mpirun -np 32 lmp_machine -in in.script | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ | enable specific accelerator support via '-k on' :doc:`command-line switch <Run_options>`, | only needed for KOKKOS package | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ | set any needed options for the package via "-pk" :doc:`command-line switch <Run_options>` or :doc:`package <package>` command, | only if defaults need to be changed | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ -| use accelerated styles in your input via "-sf" :doc:`command-line switch <Run_options>` or :doc:`suffix <suffix>` command | lmp\_machine -in in.script -sf gpu | +| use accelerated styles in your input via "-sf" :doc:`command-line switch <Run_options>` or :doc:`suffix <suffix>` command | lmp_machine -in in.script -sf gpu | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ Note that the first 4 steps can be done as a single command with @@ -132,8 +132,7 @@ packages. As an example, here is a command that builds with all the GPU related packages installed (GPU, KOKKOS with Cuda), including settings to build the needed auxiliary GPU libraries for Kepler GPUs: - -.. parsed-literal:: +.. code-block:: bash Make.py -j 16 -p omp gpu kokkos -cc nvcc wrap=mpi -gpu mode=double arch=35 -kokkos cuda arch=35 lib-all file mpi @@ -146,7 +145,7 @@ sub-directories with Make.py commands and input scripts for using all the accelerator packages on various machines. See the README files in those directories. -As mentioned above, the `Benchmark page <http://lammps.sandia.gov/bench.html>`_ of the LAMMPS web site gives +As mentioned above, the `Benchmark page <https://lammps.sandia.gov/bench.html>`_ of the LAMMPS web site gives performance results for the various accelerator packages for several of the standard LAMMPS benchmark problems, as a function of problem size and number of compute nodes, on different hardware platforms. @@ -178,7 +177,6 @@ are in the individual accelerator sections. speed-up the pairwise calculations of your simulation by 5-25% on a CPU. - The individual accelerator package doc pages explain: * what hardware and software the accelerated package requires diff --git a/doc/src/Tools.rst b/doc/src/Tools.rst index aae517ef08..6137b1aa6f 100644 --- a/doc/src/Tools.rst +++ b/doc/src/Tools.rst @@ -6,19 +6,17 @@ molecular dynamics computations. Additional pre- and post-processing steps are often necessary to setup and analyze a simulation. A list of such tools can be found on the `LAMMPS webpage <lws_>`_ at these links: -* `Pre/Post processing <http://lammps.sandia.gov/prepost.html>`_ -* `Offsite LAMMPS packages & tools <http://lammps.sandia.gov/offsite.html>`_ +* `Pre/Post processing <https://lammps.sandia.gov/prepost.html>`_ +* `Offsite LAMMPS packages & tools <https://lammps.sandia.gov/offsite.html>`_ * `Pizza.py toolkit <pizza_>`_ The last link for `Pizza.py <pizza_>`_ is a Python-based tool developed at Sandia which provides tools for doing setup, analysis, plotting, and visualization for LAMMPS simulations. -.. _lws: http://lammps.sandia.gov -.. _pizza: http://pizza.sandia.gov -.. _python: http://www.python.org - - +.. _lws: https://lammps.sandia.gov +.. _pizza: https://pizza.sandia.gov +.. _python: https://www.python.org Additional tools included in the LAMMPS distribution are described on this page. @@ -37,10 +35,8 @@ to edit for your platform) which will build several of the tools which reside in that directory. Most of them are larger packages in their own sub-directories with their own Makefiles and/or README files. - ---------- - Pre-processing tools ==================== @@ -72,10 +68,8 @@ Miscellaneous tools | :ref:`vim <vim>` | | | | | +--------------------------+----------------------+-------------------+--------------------+---------------------------------------+ - ---------- - Tool descriptions ================= @@ -95,10 +89,8 @@ version (and maybe with respect to AMBER as well). Since we don't use these tools at Sandia, you will need to experiment with them and make necessary modifications yourself. - ---------- - .. _binary: binary2txt tool @@ -107,8 +99,7 @@ binary2txt tool The file binary2txt.cpp converts one or more binary LAMMPS dump file into ASCII text files. The syntax for running the tool is - -.. parsed-literal:: +.. code-block:: bash binary2txt file1 file2 ... @@ -116,10 +107,8 @@ which creates file1.txt, file2.txt, etc. This tool must be compiled on a platform that can read the binary file created by a LAMMPS run, since binary files are not compatible across all platforms. - ---------- - .. _charmm: ch2lmp tool @@ -146,10 +135,8 @@ Robert A. Latour (latourr at clemson.edu), David Hyde-Volpe, and Tigran Abramyan, (Clemson University) and Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London. - ---------- - .. _chain: chain tool @@ -162,8 +149,7 @@ chains and solvent atoms can strongly overlap, so LAMMPS needs to run the system initially with a "soft" pair potential to un-overlap it. The syntax for running the tool is - -.. parsed-literal:: +.. code-block:: bash chain < def.chain > data.file @@ -171,10 +157,8 @@ See the def.chain or def.chain.ab files in the tools directory for examples of definition files. This tool was used to create the system for the :doc:`chain benchmark <Speed_bench>`. - ---------- - .. _colvars: colvars tools @@ -187,24 +171,21 @@ To compile the tools, edit the makefile for your system and run "make". Please report problems and issues the colvars library and its tools at: https://github.com/colvars/colvars/issues -abf\_integrate: +abf_integrate: MC-based integration of multidimensional free energy gradient Version 20110511 - .. parsed-literal:: - Syntax: ./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0\|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >] + ./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0\|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >] The LAMMPS interface to the colvars collective variable library, as well as these tools, were created by Axel Kohlmeyer (akohlmey at -gmail.com) at ICTP, Italy. - +gmail.com) while at ICTP, Italy. ---------- - .. _createatoms: createatoms tool @@ -219,10 +200,8 @@ See the included Manual.pdf for details. The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov. - ---------- - .. _doxygen: doxygen tool @@ -236,10 +215,8 @@ See the included README file for details. The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com. - ---------- - .. _drude: drude tool @@ -254,16 +231,14 @@ See the header of the polarizer.py file for details. The tool is authored by Agilio Padua and Alain Dequidt: agilio.padua at univ-bpclermont.fr, alain.dequidt at univ-bpclermont.fr - ---------- - .. _eamdb: eam database tool ----------------------------- -The tools/eam\_database directory contains a Fortran program that will +The tools/eam_database directory contains a Fortran program that will generate EAM alloy setfl potential files for any combination of 16 elements: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, Zr. The files can then be used with the :doc:`pair_style eam/alloy <pair_eam>` command. @@ -274,16 +249,14 @@ and is based on his paper: X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, 144113 (2004). - ---------- - .. _eamgn: eam generate tool ----------------------------- -The tools/eam\_generate directory contains several one-file C programs +The tools/eam_generate directory contains several one-file C programs that convert an analytic formula into a tabulated :doc:`embedded atom method (EAM) <pair_eam>` setfl potential file. The potentials they produce are in the potentials directory, and can be used with the :doc:`pair_style eam/alloy <pair_eam>` command. @@ -291,10 +264,8 @@ produce are in the potentials directory, and can be used with the The source files and potentials were provided by Gerolf Ziegenhain (gerolf at ziegenhain.com). - ---------- - .. _eff: eff tool @@ -307,10 +278,8 @@ electron force field (eFF). These tools were provided by Andres Jaramillo-Botero at CalTech (ajaramil at wag.caltech.edu). - ---------- - .. _emacs: emacs tool @@ -323,10 +292,8 @@ with various highlighting options set up. These tools were provided by Aidan Thompson at Sandia (athomps at sandia.gov). - ---------- - .. _fep: fep tool @@ -341,10 +308,8 @@ Pascal Clermont-Ferrand), agilio.padua at univ-bpclermont.fr. See README file in the tools/fep directory. - ---------- - .. _ipi: i-pi tool @@ -363,10 +328,8 @@ See the tools/i-pi/manual.pdf file for an overview of i-PI, and the :doc:`fix ipi <fix_ipi>` doc page for further details on running PIMD calculations with LAMMPS. - ---------- - .. _ipp: ipp tool @@ -382,10 +345,8 @@ sandia.gov. See two examples in the tools/ipp directory. One of them is for the tools/createatoms tool's input file. - ---------- - .. _kate: kate tool @@ -398,10 +359,8 @@ scripts. See the README.txt file for details. The file was provided by Alessandro Luigi Sellerio (alessandro.sellerio at ieni.cnr.it). - ---------- - .. _arc: lmp2arc tool @@ -419,10 +378,8 @@ This tool was written by John Carpenter (Cray), Michael Peachey This tool was updated for the current LAMMPS C++ version by Jeff Greathouse at Sandia (jagreat at sandia.gov). - ---------- - .. _cfg: lmp2cfg tool @@ -430,15 +387,13 @@ lmp2cfg tool The lmp2cfg sub-directory contains a tool for converting LAMMPS output files into a series of \*.cfg files which can be read into the -`AtomEye <http://mt.seas.upenn.edu/Archive/Graphics/A>`_ visualizer. See +`AtomEye <http://li.mit.edu/Archive/Graphics/A/>`_ visualizer. See the README file for more information. This tool was written by Ara Kooser at Sandia (askoose at sandia.gov). - ---------- - .. _matlab: matlab tool @@ -448,7 +403,7 @@ The matlab sub-directory contains several `MATLAB <matlabhome_>`_ scripts for post-processing LAMMPS output. The scripts include readers for log and dump files, a reader for EAM potential files, and a converter that reads LAMMPS dump files and produces CFG files that can be visualized -with the `AtomEye <http://mt.seas.upenn.edu/Archive/Graphics/A>`_ +with the `AtomEye <http://li.mit.edu/Archive/Graphics/A/>`_ visualizer. See the README.pdf file for more information. @@ -458,12 +413,8 @@ These scripts were written by Arun Subramaniyan at Purdue Univ .. _matlabhome: http://www.mathworks.com - - - ---------- - .. _micelle: micelle2d tool @@ -476,8 +427,7 @@ atoms can strongly overlap, so LAMMPS needs to run the system initially with a "soft" pair potential to un-overlap it. The syntax for running the tool is - -.. parsed-literal:: +.. code-block:: bash micelle2d < def.micelle2d > data.file @@ -485,10 +435,8 @@ See the def.micelle2d file in the tools directory for an example of a definition file. This tool was used to create the system for the :doc:`micelle example <Examples>`. - ---------- - .. _moltemplate: moltemplate tool @@ -502,13 +450,11 @@ See the README.txt file for more information. This tool was written by Andrew Jewett (jewett.aij at gmail.com), who supports it. It has its own WWW page at -`http://moltemplate.org <http://moltemplate.org>`_. +`https://moltemplate.org <https://moltemplate.org>`_. The latest sources can be found `on its GitHub page <https://github.com/jewettaij/moltemplate/releases>`_ - ---------- - .. _msi: msi2lmp tool @@ -527,10 +473,8 @@ development, so there are no changes except for the occasional bug fix. See the README file in the tools/msi2lmp folder for more information. - ---------- - .. _phonon: phonon tool @@ -547,10 +491,8 @@ for example problems that can be post-processed with this tool. This tool was written by Ling-Ti Kong at Shanghai Jiao Tong University. - ---------- - .. _polybond: polybond tool @@ -566,37 +508,29 @@ See the Manual.pdf for details and example scripts. This tool was written by Zachary Kraus at Georgia Tech. - ---------- - .. _pymol: -pymol\_asphere tool +pymol_asphere tool ------------------------------- -The pymol\_asphere sub-directory contains a tool for converting a +The pymol_asphere sub-directory contains a tool for converting a LAMMPS dump file that contains orientation info for ellipsoidal particles into an input file for the `PyMol visualization package <pymolhome_>`_ or its `open source variant <pymolopen_>`_. -.. _pymolhome: http://www.pymol.org - - - -.. _pymolopen: http://sourceforge.net/scm/?type=svn&group\_id=4546 - +.. _pymolhome: https://www.pymol.org +.. _pymolopen: https://github.com/schrodinger/pymol-open-source Specifically, the tool triangulates the ellipsoids so they can be viewed as true ellipsoidal particles within PyMol. See the README and -examples directory within pymol\_asphere for more information. +examples directory within pymol_asphere for more information. This tool was written by Mike Brown at Sandia. - ---------- - .. _pythontools: python tool @@ -614,31 +548,27 @@ that perform common LAMMPS post-processing tasks, such as: These are simple scripts built on `Pizza.py <pizza_>`_ modules. See the README for more info on Pizza.py and how to use these scripts. - ---------- - .. _replica: replica tool -------------------------- -The tools/replica directory contains the reorder\_remd\_traj python script which -can be used to reorder the replica trajectories (resulting from the use of the +The tools/replica directory contains the reorder_remd_traj python script which +can be used to reorder the replica trajectories (resulting from the use of the temper command) according to temperature. This will produce discontinuous trajectories with all frames at the same temperature in each trajectory. Additional options can be used to calculate the canonical configurational log-weight for each frame at each temperature using the pymbar package. See the README.md file for further details. Try out the peptide example provided. -This tool was written by (and is maintained by) Tanmoy Sanyal, +This tool was written by (and is maintained by) Tanmoy Sanyal, while at the Shell lab at UC Santa Barbara. (tanmoy dot 7989 at gmail.com) - ---------- - -.. _reax\_tool: +.. _reax_tool: reax tool -------------------------- @@ -650,16 +580,14 @@ the README.txt file for more info. These tools were written by Aidan Thompson at Sandia. - ---------- - .. _smd: smd tool ------------------ -The smd sub-directory contains a C++ file dump2vtk\_tris.cpp and +The smd sub-directory contains a C++ file dump2vtk_tris.cpp and Makefile which can be compiled and used to convert triangle output files created by the Smooth-Mach Dynamics (USER-SMD) package into a VTK-compatible unstructured grid file. It could then be read in and @@ -671,10 +599,8 @@ This tool was written by the USER-SMD package author, Georg Ganzenmuller at the Fraunhofer-Institute for High-Speed Dynamics, Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de). - ---------- - .. _spin: spin tool @@ -684,17 +610,15 @@ The spin sub-directory contains a C file interpolate.c which can be compiled and used to perform a cubic polynomial interpolation of the MEP following a GNEB calculation. -See the README file in tools/spin/interpolate\_gneb for more details. +See the README file in tools/spin/interpolate_gneb for more details. This tool was written by the SPIN package author, Julien Tranchida at Sandia National Labs (jtranch at sandia.gov, and by Aleksei Ivanov, at University of Iceland (ali5 at hi.is). - ---------- - -.. _singularity\_tool: +.. _singularity_tool: singularity tool ---------------------------------------- @@ -704,10 +628,8 @@ that can be used to build container images for building and testing LAMMPS on specific OS variants using the `Singularity <https://sylabs.io>`_ container software. Contributions for additional variants are welcome. - ---------- - .. _vim: vim tool @@ -720,10 +642,8 @@ file for details. These files were provided by Gerolf Ziegenhain (gerolf at ziegenhain.com) - ---------- - .. _xmgrace: xmgrace tool diff --git a/doc/src/USER/atc/man_boundary.html b/doc/src/USER/atc/man_boundary.html index 8dcf328dd3..c4448bc191 100644 --- a/doc/src/USER/atc/man_boundary.html +++ b/doc/src/USER/atc/man_boundary.html @@ -25,14 +25,14 @@ syntax</a></h4> <p>fix_modify AtC boundary type <atom-type-id></p> <ul> -<li><atom-type-id> = type id for atoms that represent a ficticious boundary internal to the FE mesh </li> +<li><atom-type-id> = type id for atoms that represent a fictitious boundary internal to the FE mesh </li> </ul> <h4><a class="anchor" id="examples"> examples</a></h4> <p><code> fix_modify AtC boundary type ghost_atoms </code> </p> <h4><a class="anchor" id="description"> description</a></h4> -<p>Command to define the atoms that represent the ficticious boundary internal to the FE mesh. For fully overlapped MD/FE domains with periodic boundary conditions no boundary atoms should be defined. </p> +<p>Command to define the atoms that represent the fictitious boundary internal to the FE mesh. For fully overlapped MD/FE domains with periodic boundary conditions no boundary atoms should be defined. </p> <h4><a class="anchor" id="restrictions"> restrictions</a></h4> <h4><a class="anchor" id="default"> diff --git a/doc/src/USER/atc/man_fix_atc.html b/doc/src/USER/atc/man_fix_atc.html index f6f7b43a38..7c5afd645a 100644 --- a/doc/src/USER/atc/man_fix_atc.html +++ b/doc/src/USER/atc/man_fix_atc.html @@ -85,7 +85,7 @@ description</a></h4> fix AtC kernel quartic_sphere 10.0 <br/> <br/> # create a uniform 1 x 1 x 1 mesh that covers region contain the group <br/> - # with periodicity this effectively creats a system average <br/> + # with periodicity this effectively creates a system average <br/> fix_modify AtC mesh create 1 1 1 box p p p <br/> <br/> # change from default lagrangian map to eulerian <br/> diff --git a/doc/src/USER/atc/man_hardy_gradients.html b/doc/src/USER/atc/man_hardy_gradients.html index 1874ad152e..1ecfade0ea 100644 --- a/doc/src/USER/atc/man_hardy_gradients.html +++ b/doc/src/USER/atc/man_hardy_gradients.html @@ -38,7 +38,7 @@ examples</a></h4> </p> <h4><a class="anchor" id="description"> description</a></h4> -<p>Requests calculation and ouput of gradients of the fields from the transfer class. These gradients will be with regard to spatial or material coordinate for eulerian or lagrangian analysis, respectively, as specified by atom_element_map (see <a class="el" href="man_atom_element_map.html">fix_modify AtC atom_element_map</a> ) </p> +<p>Requests calculation and output of gradients of the fields from the transfer class. These gradients will be with regard to spatial or material coordinate for eulerian or lagrangian analysis, respectively, as specified by atom_element_map (see <a class="el" href="man_atom_element_map.html">fix_modify AtC atom_element_map</a> ) </p> <h4><a class="anchor" id="restrictions"> restrictions</a></h4> <p>Must be used with the hardy/field type of AtC fix ( see <a class="el" href="../../fix_atc.html">fix atc command</a> ) </p> diff --git a/doc/src/USER/atc/man_hardy_rates.html b/doc/src/USER/atc/man_hardy_rates.html index 337a92517e..8066543485 100644 --- a/doc/src/USER/atc/man_hardy_rates.html +++ b/doc/src/USER/atc/man_hardy_rates.html @@ -38,7 +38,7 @@ examples</a></h4> </p> <h4><a class="anchor" id="description"> description</a></h4> -<p>Requests calculation and ouput of rates (time derivatives) of the fields from the transfer class. For eulerian analysis (see <a class="el" href="man_atom_element_map.html">fix_modify AtC atom_element_map</a> ), these rates are the partial time derivatives of the nodal fields, not the full (material) time derivatives. <br/> +<p>Requests calculation and output of rates (time derivatives) of the fields from the transfer class. For eulerian analysis (see <a class="el" href="man_atom_element_map.html">fix_modify AtC atom_element_map</a> ), these rates are the partial time derivatives of the nodal fields, not the full (material) time derivatives. <br/> </p> <h4><a class="anchor" id="restrictions"> restrictions</a></h4> diff --git a/doc/src/angle_charmm.rst b/doc/src/angle_charmm.rst index 34843fe855..a8c227c765 100644 --- a/doc/src/angle_charmm.rst +++ b/doc/src/angle_charmm.rst @@ -15,7 +15,6 @@ angle_style charmm/omp command Syntax """""" - .. code-block:: LAMMPS angle_style charmm @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style charmm @@ -38,8 +36,7 @@ The *charmm* angle style uses the potential E = K (\theta - \theta_0)^2 + K_{ub} (r - r_{ub})^2 - -with an additional Urey\_Bradley term based on the distance :math:`r` between +with an additional Urey_Bradley term based on the distance :math:`r` between the 1st and 3rd atoms in the angle. :math:`K`, :math:`\theta_0`, :math:`K_{ub}`, and :math:`R_{ub}` are coefficients defined for each angle type. @@ -60,10 +57,8 @@ or :doc:`read_restart <read_restart>` commands: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of :math:`K` are in energy/radian\^2. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -82,14 +77,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -101,13 +93,9 @@ Related commands **Default:** none - ---------- - .. _angle-MacKerell: - - **(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). diff --git a/doc/src/angle_class2.rst b/doc/src/angle_class2.rst index ae5330d964..afacfb7c1d 100644 --- a/doc/src/angle_class2.rst +++ b/doc/src/angle_class2.rst @@ -15,7 +15,6 @@ angle_style class2/p6 command Syntax """""" - .. code-block:: LAMMPS angle_style class2 @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style class2 @@ -43,7 +41,6 @@ The *class2* angle style uses the potential E_{bb} & = M (r_{ij} - r_1) (r_{jk} - r_2) \\ E_{ba} & = N_1 (r_{ij} - r_1) (\theta - \theta_0) + N_2(r_{jk} - r_2)(\theta - \theta_0) - where :math:`E_a` is the angle term, :math:`E_{bb}` is a bond-bond term, and :math:`E_{ba}` is a bond-angle term. :math:`\theta_0` is the equilibrium angle and :math:`r_1` and :math:`r_2` are the equilibrium bond lengths. @@ -94,10 +91,8 @@ the angle type. The :math:`\theta_0` value in the :math:`E_{ba}` formula is not specified, since it is the same value from the :math:`E_a` formula. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -116,17 +111,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - The *class2/p6* angle style uses the *class2* potential expanded to sixth order: .. math:: E_{a} = K_2\left(\theta - \theta_0\right)^2 + K_3\left(\theta - \theta_0\right)^3 + K_4\left(\theta - \theta_0\right)^4 + K_5\left(\theta - \theta_0\right)^5 + K_6\left(\theta - \theta_0\right)^6 - In this expanded term 6 coefficients for the :math:`E_a` formula need to be set: * :math:`\theta_0` (degrees) @@ -138,14 +130,11 @@ In this expanded term 6 coefficients for the :math:`E_a` formula need to be set: The bond-bond and bond-angle terms remain unchanged. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the CLASS2 package. For the *class2/p6* style LAMMPS needs to be built with the USER-MOFFF package. See the :doc:`Build package <Build_package>` doc @@ -158,12 +147,8 @@ Related commands **Default:** none - ---------- - .. _angle-Sun: - - **(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/src/angle_coeff.rst b/doc/src/angle_coeff.rst index 5f9a71371a..9066b45462 100644 --- a/doc/src/angle_coeff.rst +++ b/doc/src/angle_coeff.rst @@ -6,7 +6,6 @@ angle_coeff command Syntax """""" - .. code-block:: LAMMPS angle_coeff N args @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_coeff 1 300.0 107.0 @@ -45,7 +43,6 @@ Note that using an :doc:`angle_coeff <angle_coeff>` command can override a previ for the same angle type. For example, these commands set the coeffs for all angle types, then overwrite the coeffs for just angle type 2: - .. code-block:: LAMMPS angle_coeff * 200.0 107.0 1.2 @@ -58,7 +55,6 @@ coefficients for all N types must be listed in the file. For example, under the "Angle Coeffs" section of a data file, the line that corresponds to the 1st example above would be listed as - .. parsed-literal:: 1 300.0 107.0 @@ -68,10 +64,8 @@ rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its doc page for details. - ---------- - The list of all angle styles defined in LAMMPS is given on the :doc:`angle_style <angle_style>` doc page. They are also listed in more compact form on the :ref:`Commands angle <angle>` doc @@ -81,14 +75,11 @@ On either of those pages, click on the style to display the formula it computes and its coefficients as specified by the associated :doc:`angle_coeff <angle_coeff>` command. - ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a :doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`, or :doc:`create_box <create_box>` command. diff --git a/doc/src/angle_cosine.rst b/doc/src/angle_cosine.rst index 583f43bc40..f104771781 100644 --- a/doc/src/angle_cosine.rst +++ b/doc/src/angle_cosine.rst @@ -12,7 +12,6 @@ angle_style cosine/kk command Syntax """""" - .. code-block:: LAMMPS angle_style cosine @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine @@ -35,7 +33,6 @@ The *cosine* angle style uses the potential E = K [1 + \cos(\theta)] - where :math:`K` is defined for each angle type. The following coefficients must be defined for each angle type via the @@ -45,10 +42,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`K` (energy) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -67,14 +62,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/angle_cosine_buck6d.rst b/doc/src/angle_cosine_buck6d.rst index 86f22b9ec4..228b96abc8 100644 --- a/doc/src/angle_cosine_buck6d.rst +++ b/doc/src/angle_cosine_buck6d.rst @@ -6,7 +6,6 @@ angle_style cosine/buck6d command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/buck6d @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/buck6d @@ -52,14 +50,11 @@ with the :doc:`pair_style buck6d <pair_buck6d_coul_gauss>` styles and needs the :doc:`special_bonds <special_bonds>` 1-3 interactions to be weighted 0.0 to prevent double counting. - ---------- - Restrictions """""""""""" - *cosine/buck6d* can only be used in combination with the :doc:`pair_style buck6d <pair_buck6d_coul_gauss>` style and with a :doc:`special_bonds <special_bonds>` 0.0 weighting of 1-3 interactions. diff --git a/doc/src/angle_cosine_delta.rst b/doc/src/angle_cosine_delta.rst index f83b03b36d..3d29d134e0 100644 --- a/doc/src/angle_cosine_delta.rst +++ b/doc/src/angle_cosine_delta.rst @@ -9,7 +9,6 @@ angle_style cosine/delta/omp command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/delta @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/delta @@ -32,7 +30,6 @@ The *cosine/delta* angle style uses the potential E = K [1 - \cos(\theta - \theta_0)] - where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. @@ -47,10 +44,8 @@ or :doc:`read_restart <read_restart>` commands: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -69,14 +64,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/angle_cosine_periodic.rst b/doc/src/angle_cosine_periodic.rst index c8ede7e03d..d0c774e5f6 100644 --- a/doc/src/angle_cosine_periodic.rst +++ b/doc/src/angle_cosine_periodic.rst @@ -9,7 +9,6 @@ angle_style cosine/periodic/omp command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/periodic @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/periodic @@ -36,7 +34,6 @@ center: E = C \left[ 1 - B(-1)^n\cos\left( n\theta\right) \right] - where :math:`C`, :math:`B` and :math:`n` are coefficients defined for each angle type. See :ref:`(Mayo) <cosine-Mayo>` for a description of the DREIDING force field @@ -55,10 +52,8 @@ constant :math:`K = \frac{C}{n^2}`. When :math:`B = 1`, it leads to a minimum f linear geometry. When :math:`B = -1`, it leads to a maximum for the linear geometry. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -77,14 +72,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -96,13 +88,9 @@ Related commands **Default:** none - ---------- - .. _cosine-Mayo: - - **(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990). diff --git a/doc/src/angle_cosine_shift.rst b/doc/src/angle_cosine_shift.rst index b4c5f9c38d..70198034ed 100644 --- a/doc/src/angle_cosine_shift.rst +++ b/doc/src/angle_cosine_shift.rst @@ -9,7 +9,6 @@ angle_style cosine/shift/omp command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/shift @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/shift @@ -32,7 +30,6 @@ The *cosine/shift* angle style uses the potential E = -\frac{U_{\text{min}}}{2} \left[ 1 + \cos(\theta-\theta_0) \right] - where :math:`\theta_0` is the equilibrium angle. The potential is bounded between :math:`-U_{\text{min}}` and zero. In the neighborhood of the minimum :math:`E = - U_{\text{min}} + U_{\text{min}}/4(\theta - \theta_0)^2` hence @@ -46,10 +43,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`U_{\text{min}}` (energy) * :math:`\theta` (angle) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -68,14 +63,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the USER-MISC package. diff --git a/doc/src/angle_cosine_shift_exp.rst b/doc/src/angle_cosine_shift_exp.rst index 40117df221..5193b3abfc 100644 --- a/doc/src/angle_cosine_shift_exp.rst +++ b/doc/src/angle_cosine_shift_exp.rst @@ -9,7 +9,6 @@ angle_style cosine/shift/exp/omp command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/shift/exp @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/shift/exp @@ -56,10 +54,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`\theta` (angle) * :math:`A` (real number) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -78,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/angle_cosine_squared.rst b/doc/src/angle_cosine_squared.rst index ee9258dda8..722b098f54 100644 --- a/doc/src/angle_cosine_squared.rst +++ b/doc/src/angle_cosine_squared.rst @@ -9,7 +9,6 @@ angle_style cosine/squared/omp command Syntax """""" - .. code-block:: LAMMPS angle_style cosine/squared @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cosine/squared @@ -32,7 +30,6 @@ The *cosine/squared* angle style uses the potential E = K [\cos(\theta) - \cos(\theta_0)]^2 - where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. @@ -47,10 +44,8 @@ or :doc:`read_restart <read_restart>` commands: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -69,14 +64,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/angle_cross.rst b/doc/src/angle_cross.rst index eb5865c060..4fa95481ac 100644 --- a/doc/src/angle_cross.rst +++ b/doc/src/angle_cross.rst @@ -6,7 +6,6 @@ angle_style cross command Syntax """""" - .. code-block:: LAMMPS angle_style cross @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style cross @@ -54,9 +52,8 @@ internally; hence the units of :math:`K_{BS0}` and :math:`K_{BS1}` are in energy Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_YAFF package. See the :doc:`Build package <Build_package>` doc +USER_YAFF package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands diff --git a/doc/src/angle_dipole.rst b/doc/src/angle_dipole.rst index cfa4313b30..8cd171c35e 100644 --- a/doc/src/angle_dipole.rst +++ b/doc/src/angle_dipole.rst @@ -9,7 +9,6 @@ angle_style dipole/omp command Syntax """""" - .. code-block:: LAMMPS angle_style dipole @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style dipole @@ -40,14 +38,12 @@ and the reference (bond) vector :math:`\vec{r_{ij}}`: \cos\gamma = \frac{\vec{\mu_j}\cdot\vec{r_{ij}}}{\mu_j\,r_{ij}} - The *dipole* angle style uses the potential: .. math:: E = K (\cos\gamma - \cos\gamma_0)^2 - where :math:`K` is a rigidity constant and gamma0 is an equilibrium (reference) angle. @@ -59,7 +55,6 @@ potential using the 'chain rule' as in appendix C.3 of \vec{T_j} = \frac{2K(\cos\gamma - \cos\gamma_0)}{\mu_j\,r_{ij}}\, \vec{r_{ij}} \times \vec{\mu_j} - Example: if :math:`\gamma_0` is set to 0 degrees, the torque generated by the potential will tend to align the dipole along the reference direction defined by the (bond) vector :math:`\vec{r_{ij}}` (in other words, :math:`\vec{\mu_j}` is @@ -74,7 +69,6 @@ couple generating a torque equivalent to the opposite of :math:`\vec{T_j}`: -\vec{T_j} & = \vec{r_{ij}} \times \vec{F_i} \\ \vec{F_j} & = -\vec{F_i} - where :math:`\vec{F_i}` and :math:`\vec{F_j}` are applied on atoms :math:`i` and :math:`j`, respectively. @@ -86,10 +80,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`K` (energy) * :math:`\gamma_0` (degrees) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -111,7 +103,6 @@ instructions on how to use the accelerated styles effectively. Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -140,20 +131,14 @@ Related commands **Default:** none - ---------- - .. _Orsi: - - **(Orsi)** Orsi & Essex, The ELBA force field for coarse-grain modeling of lipid membranes, PloS ONE 6(12): e28637, 2011. .. _Allen1: - - **(Allen)** Allen & Tildesley, Computer Simulation of Liquids, Clarendon Press, Oxford, 1987. diff --git a/doc/src/angle_fourier.rst b/doc/src/angle_fourier.rst index d290e2d1f7..a2008f731c 100644 --- a/doc/src/angle_fourier.rst +++ b/doc/src/angle_fourier.rst @@ -9,7 +9,6 @@ angle_style fourier/omp command Syntax """""" - .. code-block:: LAMMPS angle_style fourier @@ -31,7 +30,6 @@ The *fourier* angle style uses the potential E = K [C_0 + C_1 \cos ( \theta) + C_2 \cos( 2 \theta) ] - The following coefficients must be defined for each angle type via the :doc:`angle_coeff <angle_coeff>` command as in the example above, or in the data file or restart files read by the :doc:`read_data <read_data>` @@ -42,10 +40,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`C_1` (real) * :math:`C_2` (real) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -64,16 +60,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package <Build_package>` doc +USER_MISC package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands diff --git a/doc/src/angle_fourier_simple.rst b/doc/src/angle_fourier_simple.rst index d19dd19753..795142ccaa 100644 --- a/doc/src/angle_fourier_simple.rst +++ b/doc/src/angle_fourier_simple.rst @@ -9,7 +9,6 @@ angle_style fourier/simple/omp command Syntax """""" - .. code-block:: LAMMPS angle_style fourier/simple @@ -31,7 +30,6 @@ The *fourier/simple* angle style uses the potential E = K [ 1.0 + c \cos ( n \theta) ] - The following coefficients must be defined for each angle type via the :doc:`angle_coeff <angle_coeff>` command as in the example above, or in the data file or restart files read by the :doc:`read_data <read_data>` @@ -41,10 +39,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`c` (real) * :math:`n` (real) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -63,16 +59,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package <Build_package>` doc +USER_MISC package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands diff --git a/doc/src/angle_harmonic.rst b/doc/src/angle_harmonic.rst index 6b9ed776f5..4110f01d9b 100644 --- a/doc/src/angle_harmonic.rst +++ b/doc/src/angle_harmonic.rst @@ -15,7 +15,6 @@ angle_style harmonic/omp command Syntax """""" - .. code-block:: LAMMPS angle_style harmonic @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style harmonic @@ -38,7 +36,6 @@ The *harmonic* angle style uses the potential E = K (\theta - \theta_0)^2 - where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. @@ -53,10 +50,8 @@ or :doc:`read_restart <read_restart>` commands: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of :math:`K` are in energy/radian\^2. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -75,14 +70,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/angle_hybrid.rst b/doc/src/angle_hybrid.rst index f685beacc8..c84b351132 100644 --- a/doc/src/angle_hybrid.rst +++ b/doc/src/angle_hybrid.rst @@ -6,7 +6,6 @@ angle_style hybrid command Syntax """""" - .. code-block:: LAMMPS angle_style hybrid style1 style2 ... @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style hybrid harmonic cosine @@ -36,7 +34,7 @@ command or in the data file. In the :doc:`angle_coeff <angle_coeff>` commands, the name of an angle style must be added after the angle type, with the remaining coefficients being those -appropriate to that style. In the example above, the 2 angle\_coeff +appropriate to that style. In the example above, the 2 angle_coeff commands set angles of angle type 1 to be computed with a *harmonic* potential with coefficients 80.0, 30.0 for :math:`K`, :math:`\theta_0`. All other angle types :math:`(2 - N)` are computed with a *cosine* potential with coefficient @@ -47,7 +45,6 @@ If angle coefficients are specified in the data file read via the E.g. "harmonic" or "cosine", must be added after the angle type, for each line in the "Angle Coeffs" section, e.g. - .. parsed-literal:: Angle Coeffs @@ -63,7 +60,6 @@ each line after the angle type. For lines in the BondBond (or 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. - .. parsed-literal:: BondBond Coeffs @@ -81,14 +77,11 @@ in place of an angle style, either in a input script :doc:`angle_coeff <angle_co command or in the data file, if you desire to turn off interactions for specific angle types. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/angle_mm3.rst b/doc/src/angle_mm3.rst index 6d6c6d874c..cc6ee120cd 100644 --- a/doc/src/angle_mm3.rst +++ b/doc/src/angle_mm3.rst @@ -6,7 +6,6 @@ angle_style mm3 command Syntax """""" - .. code-block:: LAMMPS angle_style mm3 @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style mm3 @@ -30,7 +28,6 @@ as defined in :ref:`(Allinger) <mm3-allinger1989>` E = K (\theta - \theta_0)^2 \left[ 1 - 0.014(\theta - \theta_0) + 5.6(10)^{-5} (\theta - \theta_0)^2 - 7.0(10)^{-7} (\theta - \theta_0)^3 + 9(10)^{-10} (\theta - \theta_0)^4 \right] - where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a prefactor. The anharmonic prefactors have units :math:`\deg^{-n}`, for example :math:`-0.014 \deg^{-1}`, :math:`5.6 \cdot 10^{-5} \deg^{-2}`, ... @@ -49,9 +46,8 @@ internally; hence the units of :math:`K` are in energy/radian\^2. Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_YAFF package. See the :doc:`Build package <Build_package>` doc +USER_YAFF package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands diff --git a/doc/src/angle_none.rst b/doc/src/angle_none.rst index e848391932..eea4f2f951 100644 --- a/doc/src/angle_none.rst +++ b/doc/src/angle_none.rst @@ -6,7 +6,6 @@ angle_style none command Syntax """""" - .. code-block:: LAMMPS angle_style none @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style none diff --git a/doc/src/angle_quartic.rst b/doc/src/angle_quartic.rst index bbf1dd618e..4559389a2a 100644 --- a/doc/src/angle_quartic.rst +++ b/doc/src/angle_quartic.rst @@ -9,7 +9,6 @@ angle_style quartic/omp command Syntax """""" - .. code-block:: LAMMPS angle_style quartic @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style quartic @@ -32,7 +30,6 @@ The *quartic* angle style uses the potential E = K_2 (\theta - \theta_0)^2 + K_3 (\theta - \theta_0)^3 + K_4 (\theta - \theta_0)^4 - where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. @@ -49,10 +46,8 @@ or :doc:`read_restart <read_restart>` commands: :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of :math:`K` are in energy/radian\^2. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -71,16 +66,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package <Build_package>` doc +USER_MISC package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands diff --git a/doc/src/angle_sdk.rst b/doc/src/angle_sdk.rst index c15fd635b7..5601e4f245 100644 --- a/doc/src/angle_sdk.rst +++ b/doc/src/angle_sdk.rst @@ -9,7 +9,6 @@ angle_style sdk/omp command Syntax """""" - .. code-block:: LAMMPS angle_style sdk @@ -19,7 +18,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style sdk @@ -32,15 +30,14 @@ The *sdk* angle style is a combination of the harmonic angle potential, .. math:: - E = K (\theta - \theta_0)^2 - + E = K (\theta - \theta_0)^2 where :math:`\theta_0` is the equilibrium value of the angle and :math:`K` a prefactor, with the *repulsive* part of the non-bonded *lj/sdk* pair style between the atoms 1 and 3. This angle potential is intended for coarse grained MD simulations with the CMM parameterization 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 is included in :math:`K`. @@ -53,12 +50,10 @@ The following coefficients must be defined for each angle type via the :math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of :math:`K` are in energy/radian\^2. The also required *lj/sdk* parameters will be extracted automatically -from the pair\_style. - +from the pair_style. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -77,14 +72,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the USER-CGSDK package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/angle_style.rst b/doc/src/angle_style.rst index 3e22113d85..91232a6b6c 100644 --- a/doc/src/angle_style.rst +++ b/doc/src/angle_style.rst @@ -6,7 +6,6 @@ angle_style command Syntax """""" - .. code-block:: LAMMPS angle_style style @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style harmonic @@ -43,7 +41,7 @@ files which means angle_style and :doc:`angle_coeff <angle_coeff>` commands do not need to be re-specified in an input script that restarts a simulation. See the :doc:`read_restart <read_restart>` command for details on how to do this. The one exception is that -angle\_style *hybrid* only stores the list of sub-styles in the restart +angle_style *hybrid* only stores the list of sub-styles in the restart file; angle coefficients need to be re-specified. .. note:: @@ -56,16 +54,14 @@ file; angle coefficients need to be re-specified. In the formulas listed for each angle style, *theta* is the angle between the 3 atoms in the angle. - ---------- - Here is an alphabetic list of angle styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated :doc:`angle_coeff <angle_coeff>` command. Click on the style to display the formula it computes, any additional -arguments specified in the angle\_style command, and coefficients +arguments specified in the angle_style command, and coefficients specified by the associated :doc:`angle_coeff <angle_coeff>` command. There are also additional accelerated pair styles included in the @@ -97,15 +93,12 @@ of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`sdk <angle_sdk>` - harmonic angle with repulsive SDK pair style between 1-3 atoms * :doc:`table <angle_table>` - tabulated by angle - ---------- - Restrictions """""""""""" - -Angle styles can only be set for atom\_styles that allow angles to be +Angle styles can only be set for atom_styles that allow angles to be defined. Most angle styles are part of the MOLECULE package. They are only @@ -120,7 +113,6 @@ Related commands Default """"""" - .. code-block:: LAMMPS angle_style none diff --git a/doc/src/angle_table.rst b/doc/src/angle_table.rst index f63cf167d9..729d890d67 100644 --- a/doc/src/angle_table.rst +++ b/doc/src/angle_table.rst @@ -9,7 +9,6 @@ angle_style table/omp command Syntax """""" - .. code-block:: LAMMPS angle_style table style N @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style table linear 1000 @@ -59,14 +57,11 @@ The filename specifies a file containing tabulated energy and derivative values. The keyword specifies a section of the file. The format of this file is described below. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # Angle potential for harmonic (one or more comment or blank lines) @@ -92,7 +87,7 @@ keyword followed by one or more numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* specified in the :doc:`angle_style table <angle_style>` command. Let -Ntable = *N* in the angle\_style command, and Nfile = "N" in the +Ntable = *N* in the angle_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and derivative @@ -129,10 +124,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -151,24 +144,21 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Restart info:** -This angle style writes the settings for the "angle\_style table" -command to :doc:`binary restart files <restart>`, so a angle\_style +This angle style writes the settings for the "angle_style table" +command to :doc:`binary restart files <restart>`, so a angle_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file, since it is tabulated in the potential files. Thus, -angle\_coeff commands do need to be specified in the restart input +angle_coeff commands do need to be specified in the restart input script. Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/angle_zero.rst b/doc/src/angle_zero.rst index e5dab4e3a0..22b2e95c04 100644 --- a/doc/src/angle_zero.rst +++ b/doc/src/angle_zero.rst @@ -6,7 +6,6 @@ angle_style zero command Syntax """""" - .. code-block:: LAMMPS angle_style zero *nocoeff* @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS angle_style zero diff --git a/doc/src/angles.rst b/doc/src/angles.rst index 79c52a5525..c940689d4d 100644 --- a/doc/src/angles.rst +++ b/doc/src/angles.rst @@ -1,7 +1,6 @@ Angle Styles ############ - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/atom_modify.rst b/doc/src/atom_modify.rst index 147727dd66..c94ca65c1c 100644 --- a/doc/src/atom_modify.rst +++ b/doc/src/atom_modify.rst @@ -6,16 +6,15 @@ atom_modify command Syntax """""" - .. code-block:: LAMMPS atom_modify keyword values ... * one or more keyword/value pairs may be appended * keyword = *id* or *map* or *first* or *sort* - + .. parsed-literal:: - + *id* value = *yes* or *no* *map* value = *yes* or *array* or *hash* *first* value = group-ID = group whose atoms will appear first in internal atom lists @@ -23,12 +22,9 @@ Syntax Nfreq = sort atoms spatially every this many time steps binsize = bin size for spatial sorting (distance units) - - Examples """""""" - .. code-block:: LAMMPS atom_modify map yes @@ -64,8 +60,8 @@ The only reason not to use atom IDs is if you are running an atomic simulation so large that IDs cannot be uniquely assigned. For a default LAMMPS build this limit is 2\^31 or about 2 billion atoms. However, even in this case, you can use 64-bit atom IDs, allowing 2\^63 -or about 9e18 atoms, if you build LAMMPS with the - DLAMMPS\_BIGBIG -switch. This is described on the :doc:`Build\_settings <Build_settings>` +or about 9e18 atoms, if you build LAMMPS with the - DLAMMPS_BIGBIG +switch. This is described on the :doc:`Build_settings <Build_settings>` doc page. If atom IDs are not used, they must be specified as 0 for all atoms, e.g. in a data or restart file. @@ -112,7 +108,7 @@ this command. Note that specifying "all" as the group-ID effectively turns off the *first* option. It is OK to use the *first* keyword with a group that has not yet been -defined, e.g. to use the atom\_modify first command at the beginning of +defined, e.g. to use the atom_modify first command at the beginning of your input script. LAMMPS does not use the group until a simulation is run. @@ -160,7 +156,6 @@ cache locality will be undermined. Restrictions """""""""""" - The *first* and *sort* options cannot be used together. Since sorting is on by default, it will be turned off if the *first* keyword is used with a group-ID that is not "all". @@ -179,12 +174,8 @@ frequency of 1000 and a binsize of 0.0, which means the neighbor cutoff will be used to set the bin size. If no neighbor cutoff is defined, sorting will be turned off. - ---------- - .. _Meloni: - - **(Meloni)** Meloni, Rosati and Colombo, J Chem Phys, 126, 121102 (2007). diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index 7ae152851f..df00c65f01 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -6,15 +6,14 @@ atom_style command Syntax """""" - .. code-block:: LAMMPS atom_style style args * style = *angle* or *atomic* or *body* or *bond* or *charge* or *dipole* or *dpd* or *edpd* or *mdpd* or *tdpd* or *electron* or *ellipsoid* or *full* or *line* or *meso* or *molecular* or *peri* or *smd* or *sphere* or *spin* or *tri* or *template* or *hybrid* - + .. parsed-literal:: - + args = none for any style except the following *body* args = bstyle bstyle-args bstyle = style of body particles @@ -28,11 +27,9 @@ Syntax * accelerated styles (with same args) = *angle/kk* or *atomic/kk* or *bond/kk* or *charge/kk* or *full/kk* or *molecular/kk* - Examples """""""" - .. code-block:: LAMMPS atom_style atomic @@ -122,7 +119,7 @@ quantities. +--------------+-----------------------------------------------------+--------------------------------------+ | *tri* | corner points, angular momentum | rigid bodies | +--------------+-----------------------------------------------------+--------------------------------------+ -| *wavepacket* | charge, spin, eradius, etag, cs\_re, cs\_im | AWPMD | +| *wavepacket* | charge, spin, eradius, etag, cs_re, cs_im | AWPMD | +--------------+-----------------------------------------------------+--------------------------------------+ .. note:: @@ -161,7 +158,7 @@ For the *dipole* style, a point dipole is defined for each point particle. Note that if you wish the particles to be finite-size spheres as in a Stockmayer potential for a dipolar fluid, so that the particles can rotate due to dipole-dipole interactions, then you need -to use atom\_style hybrid sphere dipole, which will assign both a +to use atom_style hybrid sphere dipole, which will assign both a diameter and dipole moment to each particle. For the *electron* style, the particles representing electrons are 3d @@ -174,14 +171,14 @@ per-particle mass and volume. The *dpd* style is for dissipative particle dynamics (DPD) particles. Note that it is part of the USER-DPD package, and is not for use with the :doc:`pair_style dpd or dpd/stat <pair_dpd>` commands, which can -simply use atom\_style atomic. Atom\_style dpd extends DPD particle +simply use atom_style atomic. Atom_style dpd extends DPD particle properties with internal temperature (dpdTheta), internal conductive energy (uCond), internal mechanical energy (uMech), and internal chemical energy (uChem). The *edpd* style is for energy-conserving dissipative particle -dynamics (eDPD) particles which store a temperature (edpd\_temp), and -heat capacity(edpd\_cv). +dynamics (eDPD) particles which store a temperature (edpd_temp), and +heat capacity(edpd_cv). The *mdpd* style is for many-body dissipative particle dynamics (mDPD) particles which store a density (rho) for considering @@ -189,7 +186,7 @@ density-dependent many-body interactions. The *tdpd* style is for transport dissipative particle dynamics (tDPD) particles which store a set of chemical concentration. An integer -"cc\_species" is required to specify the number of chemical species +"cc_species" is required to specify the number of chemical species involved in a tDPD system. The *meso* style is for smoothed particle hydrodynamics (SPH) @@ -208,7 +205,7 @@ Those spins have a norm (their magnetic moment) and a direction. The *wavepacket* style is similar to *electron*\ , but the electrons may 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 have identical *etag* values. @@ -235,7 +232,7 @@ can be advantageous for large-scale coarse-grained systems. .. note:: When using the *template* style with a :doc:`molecule template <molecule>` that contains multiple molecules, you should - insure the atom types, bond types, angle\_types, etc in all the + insure the atom types, bond types, angle_types, etc in all the molecules are consistent. E.g. if one molecule represents H2O and another CO2, then you probably do not want each molecule file to define 2 atom types and a single bond type, because they will conflict @@ -259,13 +256,11 @@ orientation and position can be time integrated due to forces and torques. Note that there may be additional arguments required along with the -*bstyle* specification, in the atom\_style body command. These +*bstyle* specification, in the atom_style body command. These arguments are described on the :doc:`Howto body <Howto_body>` doc page. - ---------- - Typically, simulations require only a single (non-hybrid) atom style. If some atoms in the simulation do not have all the properties defined by a particular style, use the simplest style that defines all the @@ -276,7 +271,7 @@ If some atoms have bonds, but others do not, use the *bond* style. The only scenario where the *hybrid* style is needed is if there is no single style which defines all needed properties of all atoms. For example, as mentioned above, if you want dipolar particles which will -rotate due to torque, you need to use "atom\_style hybrid sphere +rotate due to torque, you need to use "atom_style hybrid sphere dipole". When a hybrid style is used, atoms store and communicate the union of all quantities implied by the individual styles. @@ -287,10 +282,8 @@ per-atom basis. LAMMPS can be extended with new atom styles as well as new body styles; see the :doc:`Modify <Modify>` doc page. - ---------- - Styles with a *kk* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed in on @@ -315,7 +308,6 @@ instructions on how to use the accelerated styles effectively. Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a :doc:`read_data <read_data>` or :doc:`create_box <create_box>` command. @@ -359,15 +351,11 @@ Related commands Default """"""" -atom\_style atomic - +atom_style atomic ---------- - .. _Grime: - - **(Grime)** Grime and Voth, to appear in J Chem Theory & Computation (2014). diff --git a/doc/src/balance.rst b/doc/src/balance.rst index 1c667781af..5e631fdd27 100644 --- a/doc/src/balance.rst +++ b/doc/src/balance.rst @@ -6,7 +6,6 @@ balance command Syntax """""" - .. parsed-literal:: balance thresh style args ... keyword args ... @@ -14,9 +13,9 @@ Syntax * 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*\ ) * style = *x* or *y* or *z* or *shift* or *rcb* - + .. parsed-literal:: - + *x* args = *uniform* or Px-1 numbers between 0 and 1 *uniform* = evenly spaced cuts between processors in x dimension numbers = Px-1 ascending values between 0 and 1, Px - # of processors in x dimension @@ -37,9 +36,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *weight* or *out* - + .. parsed-literal:: - + *weight* style args = use weighted particle counts for the balancing *style* = *group* or *neigh* or *time* or *var* or *store* *group* args = Ngroup group1 weight1 group2 weight2 ... @@ -57,13 +56,10 @@ Syntax *out* arg = filename filename = write each processor's sub-domain to a file - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS balance 0.9 x uniform y 0.4 0.5 0.6 balance 1.2 shift xz 5 1.1 @@ -168,10 +164,8 @@ fractions of the box length) are also printed. :doc:`kspace_style <kspace_style>` command. Thus you should benchmark the run times of a simulation before and after balancing. - ---------- - 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 described in detail below. There are 2 kinds of styles. @@ -193,7 +187,6 @@ sub-box for each of 16 processors); the middle diagram is after a .. image:: JPG/balance_rcb_small.jpg :target: JPG/balance_rcb.jpg - The *rcb* style is a "tiling" method which does not produce a logical 3d grid of processors. Rather it tiles the simulation domain with rectangular sub-boxes of varying size and shape in an irregular @@ -204,7 +197,7 @@ The "grid" methods can be used with either of the :doc:`comm_style <comm_style>` command options, *brick* or *tiled*\ . The "tiling" methods can only be used with :doc:`comm_style tiled <comm_style>`. Note that it can be useful to use a "grid" method with :doc:`comm_style tiled <comm_style>` to return the domain -partitioning to a logical 3d grid of processors so that "comm\_style +partitioning to a logical 3d grid of processors so that "comm_style brick" can afterwords be specified for subsequent :doc:`run <run>` commands. @@ -220,10 +213,8 @@ When a "tiling" method is specified, the current domain partitioning ("grid" or "tiled") is ignored, and a new partitioning is computed from scratch. - ---------- - 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 specified together, one after the other, but they cannot be used with @@ -237,7 +228,7 @@ that specify the position of the cutting planes. This requires knowing Ps = Px or Py or Pz = the number of processors assigned by LAMMPS to the relevant dimension. This assignment is made (and the Px, Py, Pz values printed out) when the simulation box is created by -the "create\_box" or "read\_data" or "read\_restart" command and is +the "create_box" or "read_data" or "read_restart" command and is influenced by the settings of the :doc:`processors <processors>` command. @@ -250,10 +241,8 @@ there are 2 processors in the x dimension, you specify a single value such as 0.75, which would make the left processor's sub-domain 3x larger than the right processor's sub-domain. - ---------- - The *shift* style invokes a "grid" method for balancing, as described above. It changes the positions of cutting planes between processors in an iterative fashion, seeking to reduce the imbalance @@ -307,10 +296,8 @@ the balance procedure ends. the same number of iterations to converge even if the cutting plane is initially close to the target value. - ---------- - The *rcb* style invokes a "tiled" method for balancing, as described above. It performs a recursive coordinate bisectioning (RCB) of the simulation domain. The basic idea is as follows. @@ -344,14 +331,12 @@ box in two. The recursion continues until every processor is assigned a sub-box of the entire simulation domain, and owns the (weighted) particles in that sub-box. - ---------- - -.. _weighted\_balance: +.. _weighted_balance: This sub-section describes how to perform weighted load balancing -using the *weight* keyword. +using the *weight* keyword. By default, all particles have a weight of 1.0, which means each particle is assumed to require the same amount of computation during a @@ -477,16 +462,14 @@ velocity, the volume of its Voronoi cell, etc. The *store* weight style does not compute a weight factor. Instead it stores the current accumulated weights in a custom per-atom property -specified by *name*\ . This must be a property defined as *d\_name* via +specified by *name*\ . This must be a property defined as *d_name* via the :doc:`fix property/atom <fix_property_atom>` command. Note that these custom per-atom properties can be output in a :doc:`dump <dump>` file, so this is a way to examine, debug, or visualize the per-particle weights computed during the load-balancing operation. - ---------- - The *out* keyword writes a text file to the specified *filename* with the results of the balancing operation. The file contains the bounds of the sub-domain for each processor after the balancing operation @@ -495,7 +478,6 @@ completes. The format of the file is compatible with the visualizing mesh files. An example is shown here for a balancing by 4 processors for a 2d problem: - .. parsed-literal:: ITEM: TIMESTEP @@ -543,14 +525,11 @@ rectangle for each processor (1 to 4). For a 3d problem, the syntax is similar with 8 vertices listed for each processor, instead of 4, and "SQUARES" replaced by "CUBES". - ---------- - Restrictions """""""""""" - For 2d simulations, the *z* style cannot be used. Nor can a "z" appear in *dimstr* for the *shift* style. @@ -563,6 +542,6 @@ Related commands :doc:`group <group>`, :doc:`processors <processors>`, :doc:`fix balance <fix_balance>`, :doc:`comm_style <comm_style>` -.. _pizza: http://pizza.sandia.gov +.. _pizza: https://pizza.sandia.gov **Default:** none diff --git a/doc/src/bond_class2.rst b/doc/src/bond_class2.rst index 7b07c8a69a..3aee22dbf4 100644 --- a/doc/src/bond_class2.rst +++ b/doc/src/bond_class2.rst @@ -12,7 +12,6 @@ bond_style class2/kk command Syntax """""" - .. code-block:: LAMMPS bond_style class2 @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style class2 @@ -35,7 +33,6 @@ The *class2* bond style uses the potential E = K_2 (r - r_0)^2 + K_3 (r - r_0)^3 + K_4 (r - r_0)^4 - where :math:`r_0` is the equilibrium bond distance. See :ref:`(Sun) <bond-Sun>` for a description of the COMPASS class2 force field. @@ -50,10 +47,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`K_3` (energy/distance\^3) * :math:`K_4` (energy/distance\^4) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -72,14 +67,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This 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 info. @@ -91,12 +83,8 @@ Related commands **Default:** none - ---------- - .. _bond-Sun: - - **(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/src/bond_coeff.rst b/doc/src/bond_coeff.rst index 157403a301..416190a367 100644 --- a/doc/src/bond_coeff.rst +++ b/doc/src/bond_coeff.rst @@ -6,7 +6,6 @@ bond_coeff command Syntax """""" - .. code-block:: LAMMPS bond_coeff N args @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_coeff 5 80.0 1.2 @@ -42,48 +40,41 @@ leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -Note that using a bond\_coeff command can override a previous setting +Note that using a bond_coeff command can override a previous setting for the same bond type. For example, these commands set the coeffs for all bond types, then overwrite the coeffs for just bond type 2: - .. code-block:: LAMMPS bond_coeff * 100.0 1.2 bond_coeff 2 200.0 1.2 A line in a data file that specifies bond coefficients uses the exact -same format as the arguments of the bond\_coeff command in an input +same format as the arguments of the bond_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, under the "Bond Coeffs" section of a data file, the line that corresponds to the 1st example above would be listed as - .. parsed-literal:: 5 80.0 1.2 - ---------- - The list of all bond styles defined in LAMMPS is given on the :doc:`bond_style <bond_style>` doc page. They are also listed in more compact form on the :doc:`Commands bond <Commands_bond>` doc page. On either of those pages, click on the style to display the formula it computes and its coefficients as specified by the associated -bond\_coeff command. - +bond_coeff command. ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a :doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`, or :doc:`create_box <create_box>` command. diff --git a/doc/src/bond_fene.rst b/doc/src/bond_fene.rst index a36db3a170..3ba9672294 100644 --- a/doc/src/bond_fene.rst +++ b/doc/src/bond_fene.rst @@ -15,7 +15,6 @@ bond_style fene/omp command Syntax """""" - .. code-block:: LAMMPS bond_style fene @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style fene @@ -38,7 +36,6 @@ The *fene* bond style uses the potential E = -0.5 K R_0^2 \ln \left[ 1 - \left(\frac{r}{R_0}\right)^2\right] + 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] + \epsilon - to define a finite extensible nonlinear elastic (FENE) potential :ref:`(Kremer) <fene-Kremer>`, used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. The @@ -55,10 +52,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`\epsilon` (energy) * :math:`\sigma` (distance) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -77,14 +72,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This 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 info. @@ -100,12 +92,8 @@ Related commands **Default:** none - ---------- - .. _fene-Kremer: - - **(Kremer)** Kremer, Grest, J Chem Phys, 92, 5057 (1990). diff --git a/doc/src/bond_fene_expand.rst b/doc/src/bond_fene_expand.rst index 8a05e141d7..032b726121 100644 --- a/doc/src/bond_fene_expand.rst +++ b/doc/src/bond_fene_expand.rst @@ -9,7 +9,6 @@ bond_style fene/expand/omp command Syntax """""" - .. code-block:: LAMMPS bond_style fene/expand @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style fene/expand @@ -32,7 +30,6 @@ The *fene/expand* bond style uses the potential E = -0.5 K R_0^2 \ln \left[1 -\left( \frac{\left(r - \Delta\right)}{R_0}\right)^2 \right] + 4 \epsilon \left[ \left(\frac{\sigma}{\left(r - \Delta\right)}\right)^{12} - \left(\frac{\sigma}{\left(r - \Delta\right)}\right)^6 \right] + \epsilon - to define a finite extensible nonlinear elastic (FENE) potential :ref:`(Kremer) <feneexpand-Kremer>`, used for bead-spring polymer models. The first term is attractive, the 2nd Lennard-Jones term is repulsive. @@ -53,10 +50,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`\sigma` (distance) * :math:`\Delta` (distance) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -75,14 +70,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This 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 info. @@ -98,12 +90,8 @@ Related commands **Default:** none - ---------- - .. _feneexpand-Kremer: - - **(Kremer)** Kremer, Grest, J Chem Phys, 92, 5057 (1990). diff --git a/doc/src/bond_gromos.rst b/doc/src/bond_gromos.rst index 3b935568bb..ad1b143a24 100644 --- a/doc/src/bond_gromos.rst +++ b/doc/src/bond_gromos.rst @@ -9,7 +9,6 @@ bond_style gromos/omp command Syntax """""" - .. code-block:: LAMMPS bond_style gromos @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style gromos @@ -32,7 +30,6 @@ The *gromos* bond style uses the potential E = K (r^2 - r_0^2)^2 - where :math:`r_0` is the equilibrium bond distance. Note that the usual 1/4 factor is included in :math:`K`. @@ -44,10 +41,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`K` (energy/distance\^4) * :math:`r_0` (distance) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -66,14 +61,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This 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 info. diff --git a/doc/src/bond_harmonic.rst b/doc/src/bond_harmonic.rst index 06af4037f6..befab173d6 100644 --- a/doc/src/bond_harmonic.rst +++ b/doc/src/bond_harmonic.rst @@ -15,7 +15,6 @@ bond_style harmonic/omp command Syntax """""" - .. code-block:: LAMMPS bond_style harmonic @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style harmonic @@ -38,7 +36,6 @@ The *harmonic* bond style uses the potential E = K (r - r_0)^2 - where :math:`r_0` is the equilibrium bond distance. Note that the usual 1/2 factor is included in :math:`K`. @@ -50,10 +47,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`K` (energy/distance\^2) * :math:`r_0` (distance) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -72,14 +67,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This 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 info. diff --git a/doc/src/bond_harmonic_shift.rst b/doc/src/bond_harmonic_shift.rst index 26373790a2..a044797c6f 100644 --- a/doc/src/bond_harmonic_shift.rst +++ b/doc/src/bond_harmonic_shift.rst @@ -9,7 +9,6 @@ bond_style harmonic/shift/omp command Syntax """""" - .. code-block:: LAMMPS bond_style harmonic/shift @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style harmonic/shift @@ -33,7 +31,6 @@ the potential E = \frac{U_{\text{min}}}{(r_0-r_c)^2} \left[ (r-r_0)^2-(r_c-r_0)^2 \right] - where :math:`r_0` is the equilibrium bond distance, and :math:`r_c` the critical distance. The potential is :math:`-U_{\text{min}}` at :math:`r0` and zero at :math:`r_c`. The spring constant is :math:`k = U_{\text{min}} / [ 2 (r_0-r_c)^2]`. @@ -49,10 +46,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`r_c` (distance) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -71,14 +66,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/bond_harmonic_shift_cut.rst b/doc/src/bond_harmonic_shift_cut.rst index 4a2dcbb4b2..64a7ae2e3d 100644 --- a/doc/src/bond_harmonic_shift_cut.rst +++ b/doc/src/bond_harmonic_shift_cut.rst @@ -9,7 +9,6 @@ bond_style harmonic/shift/cut/omp command Syntax """""" - .. code-block:: LAMMPS bond_style harmonic/shift/cut @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style harmonic/shift/cut @@ -33,7 +31,6 @@ uses the potential E = \frac{U_{\text{min}}}{(r_0-r_c)^2} \left[ (r-r_0)^2-(r_c-r_0)^2 \right] - where :math:`r_0` is the equilibrium bond distance, and rc the critical distance. The bond potential is zero for distances :math:`r > r_c`. The potential is :math:`-U_{\text{min}}` at :math:`r_0` and zero at :math:`r_c`. The spring constant is :math:`k = U_{\text{min}} / [ 2 (r_0-r_c)^2]`. @@ -47,10 +44,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`r_0` (distance) * :math:`r_c` (distance) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -69,14 +64,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/bond_hybrid.rst b/doc/src/bond_hybrid.rst index 6b8175858f..74bd39988b 100644 --- a/doc/src/bond_hybrid.rst +++ b/doc/src/bond_hybrid.rst @@ -6,7 +6,6 @@ bond_style hybrid command Syntax """""" - .. code-block:: LAMMPS bond_style hybrid style1 style2 ... @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block: LAMMPS bond_style hybrid harmonic fene @@ -34,9 +32,9 @@ be computed with a *harmonic* potential. The assignment of bond type to style is made via the :doc:`bond_coeff <bond_coeff>` command or in the data file. -In the bond\_coeff commands, the name of a bond style must be added +In the bond_coeff commands, the name of a bond style must be added after the bond type, with the remaining coefficients being those -appropriate to that style. In the example above, the 2 bond\_coeff +appropriate to that style. In the example above, the 2 bond_coeff commands set bonds of bond type 1 to be computed with a *harmonic* potential with coefficients 80.0, 1.2 for :math:`K`, :math:`r_0`. All other bond types (2-N) are computed with a *fene* potential with coefficients 30.0, @@ -47,7 +45,6 @@ If bond coefficients are specified in the data file read via the E.g. "harmonic" or "fene" must be added after the bond type, for each line in the "Bond Coeffs" section, e.g. - .. parsed-literal:: Bond Coeffs @@ -57,25 +54,22 @@ line in the "Bond Coeffs" section, e.g. ... A bond style of *none* with no additional coefficients can be used in -place of a bond style, either in a input script bond\_coeff command or +place of a bond style, either in a input script bond_coeff command or in the data file, if you desire to turn off interactions for specific bond types. - ---------- - Restrictions """""""""""" - 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 info. Unlike other bond styles, the hybrid bond style does not store bond coefficient info for individual sub-styles in a :doc:`binary restart files <restart>`. Thus when restarting a simulation from a restart -file, you need to re-specify bond\_coeff commands. +file, you need to re-specify bond_coeff commands. Related commands """""""""""""""" diff --git a/doc/src/bond_mm3.rst b/doc/src/bond_mm3.rst index e7baa78ea0..8ea79d9139 100644 --- a/doc/src/bond_mm3.rst +++ b/doc/src/bond_mm3.rst @@ -6,7 +6,6 @@ bond_style mm3 command Syntax """""" - .. code-block:: LAMMPS bond_style mm3 @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style mm3 @@ -30,7 +28,6 @@ as defined in :ref:`(Allinger) <mm3-allinger1989>` E = K (r - r_0)^2 \left[ 1 - 2.55(r-r_0) + (7/12) 2.55^2(r-r_0)^2 \right] - where :math:`r_0` is the equilibrium value of the bond, and :math:`K` is a prefactor. The anharmonic prefactors have units angstrom\^(-n): -2.55 angstrom\^(-1) and (7/12)2.55\^2 angstrom\^(-2). The code takes @@ -49,9 +46,8 @@ or :doc:`read_restart <read_restart>` commands: Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the -USER\_YAFF package. See the :doc:`Build package <Build_package>` doc +USER_YAFF package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands @@ -61,13 +57,9 @@ Related commands **Default:** none - ---------- - .. _mm3-allinger1989: - - **(Allinger)** Allinger, Yuh, Lii, JACS, 111(23), 8551-8566 (1989), diff --git a/doc/src/bond_morse.rst b/doc/src/bond_morse.rst index 13f24855f3..5cc30bcdf9 100644 --- a/doc/src/bond_morse.rst +++ b/doc/src/bond_morse.rst @@ -9,7 +9,6 @@ bond_style morse/omp command Syntax """""" - .. code-block:: LAMMPS bond_style morse @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style morse @@ -32,7 +30,6 @@ The *morse* bond style uses the potential E = D \left[ 1 - e^{-\alpha (r - r_0)} \right]^2 - where :math:`r_0` is the equilibrium bond distance, :math:`\alpha` is a stiffness parameter, and :math:`D` determines the depth of the potential well. @@ -45,10 +42,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`\alpha` (inverse distance) * :math:`r_0` (distance) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -67,14 +62,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This 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 info. diff --git a/doc/src/bond_none.rst b/doc/src/bond_none.rst index ac838581be..3712ef08d5 100644 --- a/doc/src/bond_none.rst +++ b/doc/src/bond_none.rst @@ -6,7 +6,6 @@ bond_style none command Syntax """""" - .. code-block:: LAMMPS bond_style none @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-blocK:: LAMMPS bond_style none diff --git a/doc/src/bond_nonlinear.rst b/doc/src/bond_nonlinear.rst index 4f8a0c881e..05ed28fffe 100644 --- a/doc/src/bond_nonlinear.rst +++ b/doc/src/bond_nonlinear.rst @@ -9,7 +9,6 @@ bond_style nonlinear/omp command Syntax """""" - .. code-block:: LAMMPS bond_style nonlinear @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style nonlinear @@ -32,7 +30,6 @@ The *nonlinear* bond style uses the potential E = \frac{\epsilon (r - r_0)^2}{ [ \lambda^2 - (r - r_0)^2 ]} - to define an anharmonic spring :ref:`(Rector) <Rector>` of equilibrium length :math:`r_0` and maximum extension lamda. @@ -45,10 +42,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`r_0` (distance) * :math:`\lambda` (distance) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -67,14 +62,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This 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 info. @@ -86,12 +78,8 @@ Related commands **Default:** none - ---------- - .. _Rector: - - **(Rector)** Rector, Van Swol, Henderson, Molecular Physics, 82, 1009 (1994). diff --git a/doc/src/bond_oxdna.rst b/doc/src/bond_oxdna.rst index 2b7ba54708..8e69b298bf 100644 --- a/doc/src/bond_oxdna.rst +++ b/doc/src/bond_oxdna.rst @@ -12,7 +12,6 @@ bond_style oxrna2/fene command Syntax """""" - .. code-block:: LAMMPS bond_style oxdna/fene @@ -24,7 +23,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style oxdna/fene @@ -45,7 +43,6 @@ The *oxdna/fene* , *oxdna2/fene* and *oxrna2/fene* bond styles use the potential E = - \frac{\epsilon}{2} \ln \left[ 1 - \left(\frac{r-r_0}{\Delta}\right)^2\right] - to define a modified finite extensible nonlinear elastic (FENE) potential :ref:`(Ouldridge) <Ouldridge0>` to model the connectivity of the phosphate backbone in the oxDNA/oxRNA force field for coarse-grained @@ -69,11 +66,11 @@ commands: coaxial stacking interaction *oxdna/coaxstk* as well as hydrogen-bonding interaction *oxdna/hbond* (see also documentation of :doc:`pair_style oxdna/excv <pair_oxdna>`). For the oxDNA2 - :ref:`(Snodin) <Snodin0>` bond style the analogous pair styles + :ref:`(Snodin) <Snodin0>` bond style the analogous pair styles *oxdna2/excv* , *oxdna2/stk* , *oxdna2/xstk* , *oxdna2/coaxstk* , - *oxdna2/hbond* and an additional Debye-Hueckel pair style + *oxdna2/hbond* and an additional Debye-Hueckel pair style *oxdna2/dh* have to be defined. The same applies to the oxRNA2 - :ref:`(Sulc1) <Sulc01>` styles. + :ref:`(Sulc1) <Sulc01>` styles. The coefficients in the above example have to be kept fixed and cannot be changed without reparameterizing the entire model. @@ -83,27 +80,24 @@ setup tool which creates single straight or helical DNA strands, DNA/RNA duplexes or arrays of DNA/RNA duplexes can be found in examples/USER/cgdna/util/. -Please cite :ref:`(Henrich) <Henrich0>` in any publication that uses -this implementation. The article contains general information -on the model, its implementation and performance as well as the structure of +Please cite :ref:`(Henrich) <Henrich0>` in any publication that uses +this implementation. The article contains general information +on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found `here <PDF/USER-CGDNA.pdf>`_. -Please cite also the relevant oxDNA/oxRNA publications. These are -:ref:`(Ouldridge) <Ouldridge0>` and -:ref:`(Ouldridge-DPhil) <Ouldridge-DPhil0>` for oxDNA, -:ref:`(Snodin) <Snodin0>` for oxDNA2, -:ref:`(Sulc1) <Sulc01>` for oxRNA2 -and for sequence-specific hydrogen-bonding and stacking interactions +Please cite also the relevant oxDNA/oxRNA publications. These are +:ref:`(Ouldridge) <Ouldridge0>` and +:ref:`(Ouldridge-DPhil) <Ouldridge-DPhil0>` for oxDNA, +:ref:`(Snodin) <Snodin0>` for oxDNA2, +:ref:`(Sulc1) <Sulc01>` for oxRNA2 +and for sequence-specific hydrogen-bonding and stacking interactions :ref:`(Sulc2) <Sulc02>`. - ---------- - Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -111,14 +105,13 @@ USER-CGDNA package and the MOLECULE and ASPHERE package. See the Related commands """""""""""""""" -:doc:`pair_style oxdna/excv <pair_oxdna>`, :doc:`pair_style oxdna2/excv <pair_oxdna2>`, :doc:`pair_style oxrna2/excv <pair_oxrna2>`, +:doc:`pair_style oxdna/excv <pair_oxdna>`, :doc:`pair_style oxdna2/excv <pair_oxdna2>`, :doc:`pair_style oxrna2/excv <pair_oxrna2>`, :doc:`bond_coeff <bond_coeff>`, :doc:`fix nve/dotc/langevin <fix_nve_dotc_langevin>` **Default:** none - ---------- .. _Henrich0: diff --git a/doc/src/bond_quartic.rst b/doc/src/bond_quartic.rst index 89b1a0a131..1321e01586 100644 --- a/doc/src/bond_quartic.rst +++ b/doc/src/bond_quartic.rst @@ -9,7 +9,6 @@ bond_style quartic/omp command Syntax """""" - .. code-block:: LAMMPS bond_style quartic @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style quartic @@ -50,7 +48,7 @@ or :doc:`read_restart <read_restart>` commands: This potential was constructed to mimic the FENE bond potential for coarse-grained polymer chains. When monomers with :math:`\sigma = \epsilon = 1.0` are used, the following choice of parameters gives a quartic potential that -looks nearly like the FENE potential: +looks nearly like the FENE potential: .. math:: @@ -59,7 +57,7 @@ looks nearly like the FENE potential: B_2 &= 0.25 \\ R_c &= 1.3 \\ U_0 &= 34.6878 - + Different parameters can be specified using the :doc:`bond_coeff <bond_coeff>` command, but you will need to choose them carefully so they form a suitable bond potential. @@ -83,16 +81,13 @@ Note that when bonds are dumped to a file via the :doc:`dump local <dump>` comma :doc:`delete_bonds <delete_bonds>` command can also be used to query the status of broken bonds or permanently delete them, e.g.: - .. code-block:: LAMMPS delete_bonds all stats delete_bonds all bond 0 remove - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -111,14 +106,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This 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 info. diff --git a/doc/src/bond_style.rst b/doc/src/bond_style.rst index a0908606e4..52cc761da1 100644 --- a/doc/src/bond_style.rst +++ b/doc/src/bond_style.rst @@ -6,7 +6,6 @@ bond_style command Syntax """""" - .. code-block:: LAMMPS bond_style style args @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style harmonic @@ -49,10 +47,10 @@ The coefficients associated with a bond style can be specified in a data or restart file or via the :doc:`bond_coeff <bond_coeff>` command. All bond potentials store their coefficient data in binary restart -files which means bond\_style and :doc:`bond_coeff <bond_coeff>` commands +files which means bond_style and :doc:`bond_coeff <bond_coeff>` commands do not need to be re-specified in an input script that restarts a simulation. See the :doc:`read_restart <read_restart>` command for -details on how to do this. The one exception is that bond\_style +details on how to do this. The one exception is that bond_style *hybrid* only stores the list of sub-styles in the restart file; bond coefficients need to be re-specified. @@ -66,16 +64,14 @@ coefficients need to be re-specified. In the formulas listed for each bond style, *r* is the distance between the 2 atoms in the bond. - ---------- - Here is an alphabetic list of bond styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated :doc:`bond_coeff <bond_coeff>` command. Click on the style to display the formula it computes, any additional -arguments specified in the bond\_style command, and coefficients +arguments specified in the bond_style command, and coefficients specified by the associated :doc:`bond_coeff <bond_coeff>` command. There are also additional accelerated pair styles included in the @@ -104,14 +100,11 @@ accelerated styles exist. * :doc:`quartic <bond_quartic>` - breakable quartic bond * :doc:`table <bond_table>` - tabulated by bond length - ---------- - Restrictions """""""""""" - Bond styles can only be set for atom styles that allow bonds to be defined. diff --git a/doc/src/bond_table.rst b/doc/src/bond_table.rst index 79ad429222..445face231 100644 --- a/doc/src/bond_table.rst +++ b/doc/src/bond_table.rst @@ -9,7 +9,6 @@ bond_style table/omp command Syntax """""" - .. code-block:: LAMMPS bond_style table style N @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style table linear 1000 @@ -59,14 +57,11 @@ The filename specifies a file containing tabulated energy and force values. The keyword specifies a section of the file. The format of this file is described below. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # Bond potential for harmonic (one or more comment or blank lines) @@ -127,10 +122,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -149,24 +142,21 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Restart info:** -This bond style writes the settings for the "bond\_style table" -command to :doc:`binary restart files <restart>`, so a bond\_style +This bond style writes the settings for the "bond_style table" +command to :doc:`binary restart files <restart>`, so a bond_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file, since it is tabulated in the potential files. Thus, -bond\_coeff commands do need to be specified in the restart input +bond_coeff commands do need to be specified in the restart input script. Restrictions """""""""""" - 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 info. diff --git a/doc/src/bond_write.rst b/doc/src/bond_write.rst index f7055d42aa..5f93e41da0 100644 --- a/doc/src/bond_write.rst +++ b/doc/src/bond_write.rst @@ -6,7 +6,6 @@ bond_write command Syntax """""" - .. code-block:: LAMMPS bond_write btype N inner outer file keyword itype jtype @@ -21,7 +20,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_write 1 500 0.5 3.5 table.txt Harmonic_1 @@ -54,7 +52,6 @@ and a force (in force units). Restrictions """""""""""" - All force field coefficients for bond and other kinds of interactions must be set before this command can be invoked. diff --git a/doc/src/bond_zero.rst b/doc/src/bond_zero.rst index 329cd9d13a..42df0472a1 100644 --- a/doc/src/bond_zero.rst +++ b/doc/src/bond_zero.rst @@ -6,7 +6,6 @@ bond_style zero command Syntax """""" - .. code-block:: LAMMPS bond_style zero [nocoeff] @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS bond_style zero @@ -35,7 +33,7 @@ atoms listed in the data file read by the :doc:`read_data <read_data>` command. If no bond style is defined, this command cannot be used. The optional *nocoeff* flag allows to read data files with a BondCoeff -section for any bond style. Similarly, any bond\_coeff commands +section for any bond style. Similarly, any bond_coeff commands will only be checked for the bond type number and the rest ignored. Note that the :doc:`bond_coeff <bond_coeff>` command must be used for diff --git a/doc/src/bonds.rst b/doc/src/bonds.rst index 3019e0c177..4118e153e9 100644 --- a/doc/src/bonds.rst +++ b/doc/src/bonds.rst @@ -1,7 +1,6 @@ Bond Styles ########### - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/boundary.rst b/doc/src/boundary.rst index baf843426e..7e5ce7d1ae 100644 --- a/doc/src/boundary.rst +++ b/doc/src/boundary.rst @@ -6,27 +6,23 @@ boundary command Syntax """""" - .. parsed-literal:: boundary x y z * x,y,z = *p* or *s* or *f* or *m*\ , one or two letters - + .. parsed-literal:: - + *p* is periodic *f* is non-periodic and fixed *s* is non-periodic and shrink-wrapped *m* is non-periodic and shrink-wrapped with a minimum value - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS boundary p p f boundary p fs p @@ -97,7 +93,6 @@ triclinic representations. Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a :doc:`read_data <read_data>` or :doc:`create_box <create_box>` command or :doc:`read_restart <read_restart>` command. See the @@ -115,7 +110,6 @@ of lost atoms. Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS boundary p p p diff --git a/doc/src/box.rst b/doc/src/box.rst index 052057bb90..86638971c0 100644 --- a/doc/src/box.rst +++ b/doc/src/box.rst @@ -6,25 +6,21 @@ box command Syntax """""" - .. parsed-literal:: box keyword value ... * one or more keyword/value pairs may be appended * keyword = *tilt* - + .. parsed-literal:: - + *tilt* value = *small* or *large* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS box tilt large box tilt small @@ -58,7 +54,6 @@ error. Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a :doc:`read_data <read_data>` or :doc:`create_box <create_box>` command or :doc:`read_restart <read_restart>` command. diff --git a/doc/src/change_box.rst b/doc/src/change_box.rst index b9bed3a0d6..2ab70ddec8 100644 --- a/doc/src/change_box.rst +++ b/doc/src/change_box.rst @@ -6,16 +6,15 @@ change_box command Syntax """""" - .. code-block:: LAMMPS change_box group-ID parameter args ... keyword args ... * group-ID = ID of group of atoms to (optionally) displace * one or more parameter/arg pairs may be appended - + .. parsed-literal:: - + parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* or *boundary* or *ortho* or *triclinic* or *set* or *remap* *x*\ , *y*\ , *z* args = style value(s) style = *final* or *delta* or *scale* or *volume* @@ -45,19 +44,16 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - + .. parsed-literal:: - + *units* value = *lattice* or *box* lattice = distances are defined in lattice units box = distances are defined in simulation box units - - Examples """""""" - .. code-block:: LAMMPS change_box all xy final -2.0 z final 0.0 5.0 boundary p p f remap units box @@ -106,14 +102,13 @@ new owning processors. .. note:: - This means that you cannot use the change\_box command to enlarge + This means that you cannot use the change_box command to enlarge a shrink-wrapped box, e.g. to make room to insert more atoms via the :doc:`create_atoms <create_atoms>` command, because the simulation box - will be re-shrink-wrapped before the change\_box command completes. + will be re-shrink-wrapped before the change_box command completes. Instead you could do something like this, assuming the simulation box is non-periodic and atoms extend from 0 to 20 in all dimensions: - .. code-block:: LAMMPS change_box all x final -10 20 @@ -125,7 +120,7 @@ new owning processors. .. note:: - Unlike the earlier "displace\_box" version of this command, atom + Unlike the earlier "displace_box" version of this command, atom remapping is NOT performed by default. This command allows remapping to be done in a more general way, exactly when you specify it (zero or more times) in the sequence of transformations. Thus if you do not @@ -166,10 +161,8 @@ new owning processors. transformations. For more information on the allowed limits for box skew see the discussion on triclinic boxes on :doc:`Howto triclinic <Howto_triclinic>` doc page. - ---------- - For the *x*\ , *y*\ , and *z* parameters, this is the meaning of their styles and values. @@ -194,7 +187,6 @@ used following a keyword that changed the volume, which is any of the style, then both it and the current keyword apply to the keyword preceding "key". I.e. this sequence of keywords is allowed: - .. code-block:: LAMMPS change_box all x scale 1.1 y volume z volume @@ -206,7 +198,6 @@ preceding keyword was invoked. If the following command is used, then the z box length will shrink by the same 1.1 factor the x box length was increased by: - .. code-block:: LAMMPS change_box all x scale 1.1 z volume @@ -216,7 +207,6 @@ shrink by sqrt(1.1) to keep the volume constant. In this case, the y,z box lengths shrink so as to keep their relative aspect ratio constant: - .. code-block:: LAMMPS change_box all x scale 1.1 y volume z volume @@ -225,7 +215,6 @@ If the following command is used, then the final box will be a factor of 10% larger in x and y, and a factor of 21% smaller in z, so as to keep the volume constant: - .. code-block:: LAMMPS change_box all x scale 1.1 z volume y scale 1.1 z volume @@ -242,10 +231,8 @@ keep the volume constant: For the *scale* and *volume* styles, the box length is expanded or compressed around its mid point. - ---------- - For the *xy*\ , *xz*\ , and *yz* parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume. @@ -269,10 +256,8 @@ example), then configurations with tilt = ..., -15, -5, 5, 15, 25, ... are all equivalent. Any tilt factor specified by this command must be within these limits. - ---------- - The *boundary* keyword takes arguments that have exactly the same meaning as they do for the :doc:`boundary <boundary>` command. In each dimension, a single letter assigns the same style to both the lower @@ -295,13 +280,11 @@ command. This command allows the boundary conditions to be changed later in your input script. Also note that the :doc:`read_restart <read_restart>` will change boundary conditions to match what is stored in the restart file. So if you wish to change -them, you should use the change\_box command after the read\_restart +them, you should use the change_box command after the read_restart command. - ---------- - The *ortho* and *triclinic* keywords convert the simulation box to be orthogonal or triclinic (non-orthogonal). @@ -318,16 +301,14 @@ be toggled to triclinic, and then a :doc:`non-equilibrium MD (NEMD) simulation < If the simulation box is currently triclinic and has non-zero tilt in xy, yz, or xz, then it cannot be converted to an orthogonal box. - ---------- - The *set* keyword saves the current box size/shape. This can be useful if you wish to use the *remap* keyword more than once or if you wish it to be applied to an intermediate box size/shape in a sequence of keyword operations. Note that the box size/shape is saved before any of the keywords are processed, i.e. the box size/shape at the time -the create\_box command is encountered in the input script. +the create_box command is encountered in the input script. The *remap* keyword remaps atom coordinates from the last saved box size/shape to the current box state. For example, if you stretch the @@ -343,10 +324,8 @@ including this one, have been processed. Only atoms in the specified group are remapped. - ---------- - The *units* keyword determines the meaning of the distance units used to define various arguments. A *box* value selects standard distance units as defined by the :doc:`units <units>` command, e.g. Angstroms for @@ -354,20 +333,17 @@ units = real or metal. A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice <lattice>` command must have been previously used to define the lattice spacing. - ---------- - Restrictions """""""""""" - If you use the *ortho* or *triclinic* keywords, then at the point in the input script when this command is issued, no :doc:`dumps <dump>` can be active, nor can a :doc:`fix deform <fix_deform>` be active. This is because these commands test whether the simulation box is orthogonal when they are first issued. Note that these commands can be used in -your script before a change\_box command is issued, so long as an +your script before a change_box command is issued, so long as an :doc:`undump <undump>` or :doc:`unfix <unfix>` command is also used to turn them off. diff --git a/doc/src/clear.rst b/doc/src/clear.rst index b8cb8b7410..6c4ef9a22c 100644 --- a/doc/src/clear.rst +++ b/doc/src/clear.rst @@ -6,7 +6,6 @@ clear command Syntax """""" - .. parsed-literal:: clear @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. parsed-literal:: (commands for 1st simulation) diff --git a/doc/src/comm_modify.rst b/doc/src/comm_modify.rst index 839b179e8b..9a2ae60f1e 100644 --- a/doc/src/comm_modify.rst +++ b/doc/src/comm_modify.rst @@ -6,16 +6,15 @@ comm_modify command Syntax """""" - .. code-block:: LAMMPS comm_modify keyword value ... * zero or more keyword/value pairs may be appended * keyword = *mode* or *cutoff* or *cutoff/multi* or *group* or *vel* - + .. parsed-literal:: - + *mode* value = *single* or *multi* = communicate atoms within a single or multiple distances *cutoff* value = Rcut (distance units) = communicate atoms from this far away *cutoff/multi* type value @@ -24,12 +23,9 @@ Syntax *group* value = group-ID = only communicate atoms in the group *vel* value = *yes* or *no* = do or do not communicate velocity info with ghost atoms - - Examples """""""" - .. code-block:: LAMMPS comm_modify mode multi @@ -53,9 +49,9 @@ processors and stored as properties of ghost atoms. you specify a :doc:`comm_style <comm_style>` or :doc:`read_restart <read_restart>` command, all communication settings are restored to their default or stored values, including those - previously reset by a comm\_modify command. Thus if your input script - specifies a comm\_style or read\_restart command, you should use the - comm\_modify command after it. + previously reset by a comm_modify command. Thus if your input script + specifies a comm_style or read_restart command, you should use the + comm_modify command after it. The *mode* keyword determines whether a single or multiple cutoff distances are used to determine which atoms to communicate. @@ -86,7 +82,7 @@ printed. Specifying a cutoff value of 0.0 will reset any previous value to the default. If bonded interactions exist and equilibrium bond length information is available, then also a heuristic based on that bond length is computed. It is used as communication cutoff, if there is no pair -style present and no *comm\_modify cutoff* command used. Otherwise a +style present and no *comm_modify cutoff* command used. Otherwise a warning is printed, if this bond based estimate is larger than the communication cutoff used. A @@ -165,7 +161,6 @@ that boundary (e.g. due to dilation or shear). Restrictions """""""""""" - Communication mode *multi* is currently only available for :doc:`comm_style <comm_style>` *brick*\ . diff --git a/doc/src/comm_style.rst b/doc/src/comm_style.rst index 37184794c1..2137378547 100644 --- a/doc/src/comm_style.rst +++ b/doc/src/comm_style.rst @@ -6,7 +6,6 @@ comm_style command Syntax """""" - .. code-block:: LAMMPS comm_style style @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS comm_style brick @@ -57,7 +55,6 @@ commands. The decomposition can be changed via the Restrictions """""""""""" - Communication style *tiled* cannot be used with *triclinic* simulation cells. diff --git a/doc/src/commands_list.rst b/doc/src/commands_list.rst index 1b1691cefd..349d388923 100644 --- a/doc/src/commands_list.rst +++ b/doc/src/commands_list.rst @@ -1,7 +1,6 @@ Commands ######## - .. toctree:: :maxdepth: 1 diff --git a/doc/src/compute.rst b/doc/src/compute.rst index fd3c08c626..0726a502bc 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -6,7 +6,6 @@ compute command Syntax """""" - .. parsed-literal:: compute ID group-ID style args @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp compute newtemp flow temp/partial 1 1 0 @@ -43,10 +41,8 @@ various LAMMPS output options, many of which involve computes. The ID of a compute can only contain alphanumeric characters and underscores. - ---------- - Computes calculate one of three styles of quantities: global, per-atom, or local. A global quantity is one or more system-wide values, e.g. the temperature of the system. A per-atom quantity is @@ -76,11 +72,11 @@ discussed below, it can be referenced via the following bracket notation, where ID is the ID of the compute: +-------------+--------------------------------------------+ -| c\_ID | entire scalar, vector, or array | +| c_ID | entire scalar, vector, or array | +-------------+--------------------------------------------+ -| c\_ID[I] | one element of vector, one column of array | +| c_ID[I] | one element of vector, one column of array | +-------------+--------------------------------------------+ -| c\_ID[I][J] | one element of array | +| c_ID[I][J] | one element of array | +-------------+--------------------------------------------+ In other words, using one bracket reduces the dimension of the @@ -92,14 +88,12 @@ vector or array. Note that commands and :doc:`variables <variable>` which use compute quantities typically do not allow for all kinds, e.g. a command may require a vector of values, not a scalar. This means there is no -ambiguity about referring to a compute quantity as c\_ID even if it +ambiguity about referring to a compute quantity as c_ID even if it produces, for example, both a scalar and vector. The doc pages for various commands explain the details. - ---------- - In LAMMPS, the values generated by a compute can be used in several ways: @@ -115,7 +109,6 @@ ways: command. Or the per-atom values can be referenced in an :doc:`atom-style variable <variable>`. * Local values can be reduced by the :doc:`compute reduce <compute_reduce>` command, or histogrammed by the :doc:`fix ave/histo <fix_ave_histo>` command, or output by the :doc:`dump local <dump>` command. - The results of computes that calculate global quantities can be either "intensive" or "extensive" values. Intensive means the value is independent of the number of atoms in the simulation, @@ -123,23 +116,20 @@ e.g. temperature. Extensive means the value scales with the number of atoms in the simulation, e.g. total rotational kinetic energy. :doc:`Thermodynamic output <thermo_style>` will normalize extensive values by the number of atoms in the system, depending on the -"thermo\_modify norm" setting. It will not normalize intensive values. +"thermo_modify norm" setting. It will not normalize intensive values. If a compute value is accessed in another way, e.g. by a :doc:`variable <variable>`, you may want to know whether it is an intensive or extensive value. See the doc page for individual computes for further info. - ---------- - LAMMPS creates its own computes internally for thermodynamic output. -Three computes are always created, named "thermo\_temp", -"thermo\_press", and "thermo\_pe", as if these commands had been invoked +Three computes are always created, named "thermo_temp", +"thermo_press", and "thermo_pe", as if these commands had been invoked in the input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute thermo_temp all temp compute thermo_press all pressure thermo_temp @@ -166,10 +156,8 @@ Code for new computes can be added to LAMMPS; see the :doc:`Modify <Modify>` doc page for details. The results of their calculations accessed in the various ways described above. - ---------- - Each compute style has its own doc page which describes its arguments and what it does. Here is an alphabetic list of compute styles available in LAMMPS. They are also listed in more compact form on the diff --git a/doc/src/compute_ackland_atom.rst b/doc/src/compute_ackland_atom.rst index f1cabdc3a3..33e0b6cf15 100644 --- a/doc/src/compute_ackland_atom.rst +++ b/doc/src/compute_ackland_atom.rst @@ -6,7 +6,6 @@ compute ackland/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID ackland/atom keyword/value @@ -15,18 +14,15 @@ Syntax * ackland/atom = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *legacy* - + .. parsed-literal:: - + *legacy* yes/no = use (\ *yes*\ ) or do not use (\ *no*\ ) legacy ackland algorithm implementation - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ackland/atom compute 1 all ackland/atom legacy yes @@ -72,7 +68,6 @@ LAMMPS output options. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -88,12 +83,8 @@ Default """"""" The keyword *legacy* defaults to *no*\ . - ---------- - .. _Ackland: - - **(Ackland)** Ackland, Jones, Phys Rev B, 73, 054104 (2006). diff --git a/doc/src/compute_adf.rst b/doc/src/compute_adf.rst index f403f5e5bf..c0d754d883 100644 --- a/doc/src/compute_adf.rst +++ b/doc/src/compute_adf.rst @@ -6,7 +6,6 @@ compute adf command Syntax """""" - .. parsed-literal:: compute ID group-ID adf Nbin itype1 jtype1 ktype1 Rjinner1 Rjouter1 Rkinner1 Rkouter1 ... @@ -23,19 +22,16 @@ Syntax * RkouterN = outer radius of K atom shell for Nth ADF histogram (distance units) * zero or one keyword/value pairs may be appended * keyword = *ordinate* - + .. parsed-literal:: - + *ordinate* value = *degree* or *radian* or *cosine* Choose the ordinate parameter for the histogram - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid adf 32 1 1 1 0.0 1.2 0.0 1.2 & 1 1 2 0.0 1.2 0.0 1.5 & @@ -43,7 +39,7 @@ Examples 2 1 1 0.0 1.2 0.0 1.2 & 2 1 2 0.0 1.5 2.0 3.5 & 2 2 2 2.0 3.5 2.0 3.5 - compute 1 fluid adf 32 1\*2 1\*2 1\*2 0.5 3.5 + compute 1 fluid adf 32 1*2 1*2 1*2 0.5 3.5 compute 1 fluid adf 32 Description @@ -68,7 +64,7 @@ neighbor atom in each requested ADF. those pairs will not be included in the ADF. This does not apply when using long-range coulomb interactions (\ *coul/long*\ , *coul/msm*\ , *coul/wolf* or similar. One way to get around this would be to set - special\_bond scaling factors to very tiny numbers that are not exactly + special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and use the :doc:`rerun <rerun>` command to compute the ADF for snapshots in the dump file. The rerun script can use a @@ -110,7 +106,7 @@ in the range of types represented by *ktypeN*\ . If no *itypeN*\ , *jtypeN*\ , *ktypeN* settings are specified, then LAMMPS will generate a single ADF for all atoms in the group. The inner cutoff is set to zero and the outer cutoff is set -to the force cutoff. If no pair\_style is specified, there is no +to the force cutoff. If no pair_style is specified, there is no force cutoff and LAMMPS will give an error message. Note that in most cases, generating an ADF for all atoms is not a good thing. Such an ADF is both uninformative and @@ -172,11 +168,10 @@ The simplest way to output the results of the compute adf calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myADF all adf 32 2 2 2 0.5 3.5 0.5 3.5 - fix 1 all ave/time 100 1 100 c_myADF[\*] file tmp.adf mode vector + fix 1 all ave/time 100 1 100 c_myADF[*] file tmp.adf mode vector **Output info:** @@ -208,7 +203,6 @@ angles per atom satisfying the ADF criteria. Restrictions """""""""""" - The ADF is not computed for neighbors outside the force cutoff, since processors (in parallel) don't know about atom coordinates for atoms further away than that distance. If you want an ADF for larger diff --git a/doc/src/compute_angle.rst b/doc/src/compute_angle.rst index 155b387d4e..60f929197c 100644 --- a/doc/src/compute_angle.rst +++ b/doc/src/compute_angle.rst @@ -6,7 +6,6 @@ compute angle command Syntax """""" - .. parsed-literal:: compute ID group-ID angle @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all angle @@ -26,8 +24,8 @@ Description """"""""""" Define a computation that extracts the angle energy calculated by each -of the angle sub-styles used in the "angle\_style -hybrid" angle\_hybrid.html command. These values are made accessible +of the angle sub-styles used in the "angle_style +hybrid" angle_hybrid.html command. These values are made accessible for output or further processing by other commands. The group specified for this command is ignored. @@ -37,7 +35,7 @@ energy contributed by one or more of the hybrid sub-styles. **Output info:** This compute calculates a global vector of length N where N is the -number of sub\_styles defined by the :doc:`angle_style hybrid <angle_style>` command, which can be accessed by indices +number of sub_styles defined by the :doc:`angle_style hybrid <angle_style>` command, which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output <Howto_output>` doc page for an overview of LAMMPS output options. diff --git a/doc/src/compute_angle_local.rst b/doc/src/compute_angle_local.rst index 923233fcfc..fe0af199e2 100644 --- a/doc/src/compute_angle_local.rst +++ b/doc/src/compute_angle_local.rst @@ -6,7 +6,6 @@ compute angle/local command Syntax """""" - .. parsed-literal:: compute ID group-ID angle/local value1 value2 ... keyword args ... @@ -14,30 +13,27 @@ Syntax * ID, group-ID are documented in :doc:`compute <compute>` command * angle/local = style name of this compute command * one or more values may be appended -* value = *theta* or *eng* or *v\_name* - +* value = *theta* or *eng* or *v_name* + .. parsed-literal:: - + *theta* = tabulate angles *eng* = tabulate angle energies *v_name* = equal-style variable with name (see below) * zero or more keyword/args pairs may be appended * keyword = *set* - + .. parsed-literal:: - + *set* args = theta name theta = only currently allowed arg name = name of variable to set with theta - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all angle/local theta compute 1 all angle/local eng theta @@ -55,9 +51,9 @@ The value *theta* is the angle for the 3 atoms in the interaction. The value *eng* is the interaction energy for the angle. -The value *v\_name* can be used together with the *set* keyword to +The value *v_name* can be used together with the *set* keyword to compute a user-specified function of the angle theta. The *name* -specified for the *v\_name* value is the name of an :doc:`equal-style variable <variable>` which should evaluate a formula based on a +specified for the *v_name* value is the name of an :doc:`equal-style variable <variable>` which should evaluate a formula based on a variable which will store the angle theta. This other variable must be an :doc:`internal-style variable <variable>` defined in the input script; its initial numeric value can be anything. It must be an @@ -72,12 +68,11 @@ As an example, these commands can be added to the bench/in.rhodo script to compute the cosine and cosine\^2 of every angle in the system and output the statistics in various ways: - -.. parsed-literal:: +.. code-block:: LAMMPS variable t internal 0.0 variable cos equal cos(v_t) - variable cossq equal cos(v_t)\*cos(v_t) + variable cossq equal cos(v_t)*cos(v_t) compute 1 all property/local aatom1 aatom2 aatom3 atype compute 2 all angle/local eng theta v_cos v_cossq set theta t @@ -96,10 +91,8 @@ with thermo output. And the :doc:`fix ave/histo <fix_ave_histo>` command will histogram the cosine(angle) values and write them to a file. - ---------- - The local data stored by this command is generated by looping over all the atoms owned on a processor and their angles. An angle will only be included if all 3 atoms in the angle are in the specified compute @@ -120,8 +113,7 @@ command in a consistent way. Here is an example of how to do this: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local atype aatom1 aatom2 aatom3 compute 2 all angle/local theta eng diff --git a/doc/src/compute_angmom_chunk.rst b/doc/src/compute_angmom_chunk.rst index b800c91303..eb5e8fd013 100644 --- a/doc/src/compute_angmom_chunk.rst +++ b/doc/src/compute_angmom_chunk.rst @@ -6,7 +6,6 @@ compute angmom/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID angmom/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid angmom/chunk molchunk @@ -64,12 +62,11 @@ The simplest way to output the results of the compute angmom/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all angmom/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** diff --git a/doc/src/compute_basal_atom.rst b/doc/src/compute_basal_atom.rst index ed10a2ffd5..ac628d2b6d 100644 --- a/doc/src/compute_basal_atom.rst +++ b/doc/src/compute_basal_atom.rst @@ -6,7 +6,6 @@ compute basal/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID basal/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all basal/atom @@ -59,7 +57,6 @@ components of a unit vector. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -74,12 +71,8 @@ Related commands **Default:** none - ---------- - .. _Barrett: - - **(Barrett)** Barrett, Tschopp, El Kadiri, Scripta Mat. 66, p.666 (2012). diff --git a/doc/src/compute_body_local.rst b/doc/src/compute_body_local.rst index 47fe6de85b..395a8ebf91 100644 --- a/doc/src/compute_body_local.rst +++ b/doc/src/compute_body_local.rst @@ -6,7 +6,6 @@ compute body/local command Syntax """""" - .. parsed-literal:: compute ID group-ID body/local input1 input2 ... @@ -15,20 +14,17 @@ Syntax * body/local = style name of this compute command * one or more keywords may be appended * keyword = *id* or *type* or *integer* - + .. parsed-literal:: - + *id* = atom ID of the body particle *type* = atom type of the body particle *integer* = 1,2,3,etc = index of fields defined by body style - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all body/local type 1 2 3 compute 1 all body/local 3 6 @@ -65,7 +61,7 @@ group. For a body particle, the *integer* keywords refer to fields calculated by the body style for each sub-particle. The body style, as specified by the :doc:`atom_style body <atom_style>`, determines how many fields -exist and what they are. See the :doc:`Howto\_body <Howto_body>` doc +exist and what they are. See the :doc:`Howto_body <Howto_body>` doc page for details of the different styles. Here is an example of how to output body information using the :doc:`dump local <dump>` command with this compute. If fields 1,2,3 for the @@ -73,8 +69,7 @@ body sub-particles are x,y,z coordinates, then the dump file will be formatted similar to the output of a :doc:`dump atom or custom <dump>` command. - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all body/local type 1 2 3 dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_1[4] diff --git a/doc/src/compute_bond.rst b/doc/src/compute_bond.rst index ee95e29de8..59ac05630a 100644 --- a/doc/src/compute_bond.rst +++ b/doc/src/compute_bond.rst @@ -6,7 +6,6 @@ compute bond command Syntax """""" - .. parsed-literal:: compute ID group-ID bond @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all bond @@ -37,7 +35,7 @@ or more of the hybrid sub-styles. **Output info:** This compute calculates a global vector of length N where N is the -number of sub\_styles defined by the :doc:`bond_style hybrid <bond_style>` command, which can be accessed by indices 1-N. +number of sub_styles defined by the :doc:`bond_style hybrid <bond_style>` command, which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output <Howto_output>` doc page for an overview of LAMMPS output options. diff --git a/doc/src/compute_bond_local.rst b/doc/src/compute_bond_local.rst index cc2f929af9..32d756d52a 100644 --- a/doc/src/compute_bond_local.rst +++ b/doc/src/compute_bond_local.rst @@ -6,7 +6,6 @@ compute bond/local command Syntax """""" - .. parsed-literal:: compute ID group-ID bond/local value1 value2 ... keyword args ... @@ -14,7 +13,7 @@ Syntax * ID, group-ID are documented in :doc:`compute <compute>` command * bond/local = style name of this compute command * one or more values may be appended -* value = *dist* or *engpot* or *force* or *fx* or *fy* or *fz* or *engvib* or *engrot* or *engtrans* or *omega* or *velvib* or *v\_name* +* value = *dist* or *engpot* or *force* or *fx* or *fy* or *fz* or *engvib* or *engrot* or *engtrans* or *omega* or *velvib* or *v_name* .. parsed-literal:: @@ -39,15 +38,10 @@ Syntax dist = only currently allowed arg name = name of variable to set with distance (dist) - - - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all bond/local engpot compute 1 all bond/local dist engpot force @@ -112,9 +106,9 @@ two atoms in the bond towards each other. A negative value means the 2 atoms are moving toward each other; a positive value means they are moving apart. -The value *v\_name* can be used together with the *set* keyword to +The value *v_name* can be used together with the *set* keyword to compute a user-specified function of the bond distance. The *name* -specified for the *v\_name* value is the name of an :doc:`equal-style variable <variable>` which should evaluate a formula based on a +specified for the *v_name* value is the name of an :doc:`equal-style variable <variable>` which should evaluate a formula based on a variable which will store the bond distance. This other variable must be an :doc:`internal-style variable <variable>` defined in the input script; its initial numeric value can be anything. It must be an @@ -126,11 +120,10 @@ As an example, these commands can be added to the bench/in.rhodo script to compute the distance\^2 of every bond in the system and output the statistics in various ways: - -.. parsed-literal:: +.. code-block:: LAMMPS variable d internal 0.0 - variable dsq equal v_d\*v_d + variable dsq equal v_d*v_d compute 1 all property/local batom1 batom2 btype compute 2 all bond/local engpot dist v_dsq set dist d @@ -148,10 +141,8 @@ those quantities via the :doc:`compute reduce <compute_reduce>` command with thermo output. And the :doc:`fix ave/histo <fix_ave_histo>` command will histogram the distance\^2 values and write them to a file. - ---------- - The local data stored by this command is generated by looping over all the atoms owned on a processor and their bonds. A bond will only be included if both atoms in the bond are in the specified compute group. @@ -172,12 +163,11 @@ command in a consistent way. Here is an example of how to do this: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local btype batom1 batom2 compute 2 all bond/local dist engpot - dump 1 all local 1000 tmp.dump index c_1[\*] c_2[\*] + dump 1 all local 1000 tmp.dump index c_1[*] c_2[*] **Output info:** diff --git a/doc/src/compute_centro_atom.rst b/doc/src/compute_centro_atom.rst index 6e706d9f97..312582eb90 100644 --- a/doc/src/compute_centro_atom.rst +++ b/doc/src/compute_centro_atom.rst @@ -6,7 +6,6 @@ compute centro/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID centro/atom lattice keyword value ... @@ -23,13 +22,10 @@ Syntax *no* = do not calculate 3 symmetry axes *yes* = calculate 3 symmetry axes - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all centro/atom fcc @@ -56,7 +52,6 @@ This parameter is computed using the following formula from CS = \sum_{i = 1}^{N/2} | \vec{R}_i + \vec{R}_{i+N/2} |^2 - where the :math:`N` nearest neighbors of each atom are identified and :math:`\vec{R}_i` and :math:`\vec{R}_{i+N/2}` are vectors from the central atom to a particular pair of nearest neighbors. There are @@ -130,7 +125,6 @@ Here are typical centro-symmetry values, from a nanoindentation simulation into gold (FCC). These were provided by Jon Zimmerman (Sandia): - .. parsed-literal:: Bulk lattice = 0 @@ -141,7 +135,6 @@ simulation into gold (FCC). These were provided by Jon Zimmerman These values are \*not\* normalized by the square of the lattice parameter. If they were, normalized values would be: - .. parsed-literal:: Bulk lattice = 0 @@ -167,12 +160,8 @@ Default The default value for the optional keyword is axes = no. - ---------- - .. _Kelchner: - - **(Kelchner)** Kelchner, Plimpton, Hamilton, Phys Rev B, 58, 11085 (1998). diff --git a/doc/src/compute_chunk_atom.rst b/doc/src/compute_chunk_atom.rst index 354aa44d5b..ead17e3f7c 100644 --- a/doc/src/compute_chunk_atom.rst +++ b/doc/src/compute_chunk_atom.rst @@ -6,16 +6,15 @@ compute chunk/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID chunk/atom style args keyword values ... * ID, group-ID are documented in :doc:`compute <compute>` command * chunk/atom = style name of this compute command - + .. parsed-literal:: - + style = *bin/1d* or *bin/2d* or *bin/3d* or *bin/sphere* or *type* or *molecule* or c_ID, c_ID[I], f_ID, f_ID[I], v_name *bin/1d* args = dim origin delta dim = *x* or *y* or *z* @@ -51,9 +50,9 @@ Syntax * zero or more keyword/values pairs may be appended * keyword = *region* or *nchunk* or *static* or *compress* or *bound* or *discard* or *pbc* or *units* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region atoms must be in to be part of a chunk *nchunk* value = *once* or *every* @@ -82,13 +81,10 @@ Syntax yes = use periodic distance for bin/sphere and bin/cylinder styles *units* value = *box* or *lattice* or *reduced* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all chunk/atom type compute 1 all chunk/atom bin/1d z lower 0.02 units reduced @@ -141,19 +137,15 @@ timesteps it specifies, while it accumulates per-chunk averages. The details are described below. - ---------- - The different chunk styles operate as follows. For each style, how it calculates *Nchunk* and assigns chunk IDs to atoms is explained. Note that using the optional keywords can change both of those actions, as described further below where the keywords are discussed. - ---------- - The *binning* styles perform a spatial binning of atoms, and assign an atom the chunk ID corresponding to the bin number it is in. *Nchunk* is set to the number of bins, which can change if the simulation box @@ -241,18 +233,14 @@ have moved outside the bounds of all bins. If an atom is not inside any bin, the *discard* keyword is used to determine how a chunk ID is assigned to the atom. - ---------- - The *type* style uses the atom type as the chunk ID. *Nchunk* is set to the number of atom types defined for the simulation, e.g. via the :doc:`create_box <create_box>` or :doc:`read_data <read_data>` commands. - ---------- - The *molecule* style uses the molecule ID of each atom as its chunk ID. *Nchunk* is set to the largest chunk ID. Note that this excludes molecule IDs for atoms which are not in the specified group or @@ -269,10 +257,8 @@ solvent atoms, have an out-of-range chunk ID. These atoms are discarded (not assigned to any chunk) or assigned to *Nchunk*\ , depending on the value of the *discard* keyword. - ---------- - The *compute/fix/variable* styles set the chunk ID of each atom based on a quantity calculated and stored by a compute, fix, or variable. In each case, it must be a per-atom quantity. In each case the @@ -308,10 +294,8 @@ invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to treat as a chunk ID. - ---------- - Normally, *Nchunk* = the number of chunks, is re-calculated every time this fix is invoked, though the value may or may not change. As explained below, the *nchunk* keyword can be set to *once* which means @@ -335,10 +319,8 @@ the same compute chunk/atom compute. However, the time windows they induce for holding *Nchunk* constant must be identical, else an error will be generated. - ---------- - The various optional keywords operate as follows. Note that some of them function differently or are ignored by different chunk styles. Some of them also have different default values, depending on @@ -348,10 +330,8 @@ The *region* keyword applies to all chunk styles. If used, an atom must be in both the specified group and the specified geometric :doc:`region <region>` to be assigned to a chunk. - ---------- - The *nchunk* keyword applies to all chunk styles. It specifies how often *Nchunk* is recalculated, which in turn can affect the chunk IDs assigned to individual atoms. @@ -368,10 +348,8 @@ chunk style and other system and keyword settings. They attempt to represent typical use cases for the various chunk styles. The *nchunk* value can always be set explicitly if desired. - ---------- - The *limit* keyword can be used to limit the calculated value of *Nchunk* = the number of chunks. The limit is applied each time *Nchunk* is calculated, which also limits the chunk IDs assigned to @@ -423,10 +401,8 @@ assigned to them. Note that in this case, all atoms will end up with chunk IDs <= *Nc*\ , and their original values (e.g. molecule ID or compute/fix/variable value) will also have been <= *Nc*\ . - ---------- - The *ids* keyword applies to all chunk styles. If the setting is *once* then the chunk IDs assigned to atoms the first time this compute is invoked will be permanent, and never be re-computed. @@ -449,10 +425,8 @@ re-calculated on any timestep this compute is invoked. quantities will also have the same ID, and thus be initialized correctly with chunk IDs from the restart file. - ---------- - The *compress* keyword applies to all chunk styles and affects how *Nchunk* is calculated, which in turn affects the chunk IDs assigned to each atom. It is useful for converting a "sparse" set of chunk IDs @@ -504,10 +478,8 @@ conjunction with the :doc:`compute property/chunk <compute_property_chunk>` comm can affect these costs, depending on which keyword is used first. So use this option with care. - ---------- - The *discard* keyword applies to all chunk styles. It affects what chunk IDs are assigned to atoms that do not match one of the valid chunk IDs from 1 to *Nchunk*\ . Note that it does not apply to atoms @@ -585,10 +557,8 @@ than *rmin*\ , it will be assigned to the first bin. If the distance of the atom from the origin is greater than *rmax*\ , it will be assigned to the last bin. - ---------- - The *bound* keyword only applies to the *bin/1d*\ , *bin/2d*\ , *bin/3d* styles and to the axis dimension of the *bin/cylinder* style; otherwise it is ignored. It can be used one or more times to limit @@ -648,10 +618,8 @@ are scaled by the lattice spacing or reduced value of the 1st dimension perpendicular to the cylinder axis. E.g. y for an x-axis cylinder, x for a y-axis cylinder, and x for a z-axis cylinder. - ---------- - **Output info:** This compute calculates a per-atom vector, which can be accessed by @@ -666,7 +634,6 @@ belonging to a chunk. Restrictions """""""""""" - Even if the *nchunk* keyword is set to *once*\ , the chunk IDs assigned to each atom are not stored in a restart files. This means you cannot expect those assignments to persist in a restarted simulation. diff --git a/doc/src/compute_chunk_spread_atom.rst b/doc/src/compute_chunk_spread_atom.rst index a1b5cf45e5..d486da4e3e 100644 --- a/doc/src/compute_chunk_spread_atom.rst +++ b/doc/src/compute_chunk_spread_atom.rst @@ -6,7 +6,6 @@ compute chunk/spread/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID chunk/spread/atom chunkID input1 input2 ... @@ -15,22 +14,19 @@ Syntax * chunk/spread/atom = style name of this compute command * chunkID = ID of :doc:`compute chunk/atom <compute_chunk_atom>` command * one or more inputs can be listed -* input = c\_ID, c\_ID[N], f\_ID, f\_ID[N] - +* input = c_ID, c_ID[N], f_ID, f_ID[N] + .. parsed-literal:: - + c_ID = global vector calculated by a compute with ID c_ID[I] = Ith column of global array calculated by a compute with ID, I can include wildcard (see below) f_ID = global vector calculated by a fix with ID f_ID[I] = Ith column of global array calculated by a fix with ID, I can include wildcard (see below) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all chunk/spread/atom mychunk c_com[*] c_gyration @@ -85,10 +81,8 @@ or fix. does not check that it is per-chunk data. It only checks that the fix produces a global vector or array. - ---------- - Each listed input is operated on independently. If a bracketed index I is used, it can be specified using a wildcard @@ -105,23 +99,19 @@ had been listed one by one. E.g. these 2 compute chunk/spread/atom commands are equivalent, since the :doc:`compute com/chunk <compute_com_chunk>` command creates a per-atom array with 3 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute com all com/chunk mychunk compute 10 all chunk/spread/atom mychunk c_com[*] compute 10 all chunk/spread/atom mychunk c_com[1] c_com[2] c_com[3] - ---------- - Here is an example of writing a dump file the with the center-of-mass (COM) for the chunk each atom is in. The commands below can be added to the bench/in.chain script. - -.. parsed-literal:: +.. code-block:: LAMMPS compute cmol all chunk/atom molecule compute com all com/chunk cmol @@ -134,14 +124,13 @@ forces for the :doc:`fix addforce <fix_addforce>` command. In this example the forces act to pull atoms of an extended polymer chain towards its COM in an attractive manner. - -.. parsed-literal:: +.. code-block:: LAMMPS compute prop all property/atom xu yu zu variable k equal 0.1 - variable fx atom v_k\*(c_comchunk[1]-c_prop[1]) - variable fy atom v_k\*(c_comchunk[2]-c_prop[2]) - variable fz atom v_k\*(c_comchunk[3]-c_prop[3]) + variable fx atom v_k*(c_comchunk[1]-c_prop[1]) + variable fy atom v_k*(c_comchunk[2]-c_prop[2]) + variable fz atom v_k*(c_comchunk[3]-c_prop[3]) fix 3 all addforce v_fx v_fy v_fz Note that :doc:`compute property/atom <compute_property_atom>` is used @@ -155,7 +144,6 @@ bench/in.chain script. Thermo output is shown for 1000 steps, where the last column is the average radius of gyration over all 320 chains in the 32000 atom system: - .. parsed-literal:: compute gyr all gyration/chunk cmol @@ -174,10 +162,8 @@ in the 32000 atom system: 900 22.59128 5.0247538 4.5611513 1000 22.586832 4.94697 4.5238362 - ---------- - Here is an example for using one set of chunks, defined for molecules, to compute the dipole moment vector for each chunk. E.g. for water molecules. Then spreading those values to each atom in each chunk. @@ -185,14 +171,13 @@ Then defining a second set of chunks based on spatial bins. And finally, using the :doc:`fix ave/chunk <fix_ave_chunk>` command to calculate an average dipole moment vector per spatial bin. - -.. parsed-literal:: +.. code-block:: LAMMPS compute cmol all chunk/atom molecule compute dipole all dipole/chunk cmol compute spread all chunk/spread/atom cmol c_dipole[1] c_dipole[2] c_dipole[3] compute cspatial all chunk/atom bin/1d z lower 0.1 units reduced - fix ave all ave/chunk 100 10 1000 cspatial c_spread[\*] + fix ave all ave/chunk 100 10 1000 cspatial c_spread[*] Note that the :doc:`fix ave/chunk <fix_ave_chunk>` command requires per-atom values as input. That is why the compute chunk/spread/atom @@ -201,10 +186,8 @@ If a molecule straddles bin boundaries, each of its atoms contributes in a weighted manner to the average dipole moment of the spatial bin it is in. - ---------- - **Output info:** This compute calculates a per-atom vector or array, which can be diff --git a/doc/src/compute_cluster_atom.rst b/doc/src/compute_cluster_atom.rst index 908974de38..d9742a4a4b 100644 --- a/doc/src/compute_cluster_atom.rst +++ b/doc/src/compute_cluster_atom.rst @@ -12,7 +12,6 @@ compute aggregate/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID cluster/atom cutoff @@ -26,8 +25,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all cluster/atom 3.5 compute 1 all fragment/atom @@ -84,7 +82,7 @@ multiple compute/dump commands, each of a *cluster/atom* or those pairs will not be included when computing the clusters. This does not apply when using long-range coulomb (\ *coul/long*\ , *coul/msm*\ , *coul/wolf* or similar. One way to get around this would be to set - special\_bond scaling factors to very tiny numbers that are not exactly + special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and use the :doc:`rerun <rerun>` command to compute the clusters for snapshots in the dump file. The rerun script can use a diff --git a/doc/src/compute_cna_atom.rst b/doc/src/compute_cna_atom.rst index f270891d82..27bff636a2 100644 --- a/doc/src/compute_cna_atom.rst +++ b/doc/src/compute_cna_atom.rst @@ -6,7 +6,6 @@ compute cna/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID cna/atom cutoff @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all cna/atom 3.08 @@ -57,7 +55,6 @@ obtain a good cutoff distance: r_{c}^{bcc} = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\ r_{c}^{hcp} = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a} - where a is the lattice constant for the crystal structure concerned and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a for HCP crystals. @@ -70,7 +67,6 @@ following relation should also be satisfied: r_c + r_s > 2*{\rm cutoff} - where :math:`r_c` is the cutoff distance of the potential, :math:`r_s` is the skin distance as specified by the :doc:`neighbor <neighbor>` command, and @@ -104,18 +100,12 @@ Related commands **Default:** none - ---------- - .. _Faken: - - **(Faken)** Faken, Jonsson, Comput Mater Sci, 2, 279 (1994). .. _Tsuzuki1: - - **(Tsuzuki)** Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007). diff --git a/doc/src/compute_cnp_atom.rst b/doc/src/compute_cnp_atom.rst index 42e187ba69..c87082dc07 100644 --- a/doc/src/compute_cnp_atom.rst +++ b/doc/src/compute_cnp_atom.rst @@ -6,7 +6,6 @@ compute cnp/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID cnp/atom cutoff @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all cnp/atom 3.08 @@ -44,7 +42,6 @@ This parameter is computed using the following formula from Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} | \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} |^2 - where the index *j* goes over the :math:`n_i` nearest neighbors of atom *i*\ , and the index *k* goes over the :math:`n_{ij}` common nearest neighbors between atom *i* and atom *j*\ . :math:`\vec{R}_{ik}` and @@ -65,7 +62,6 @@ obtain a good cutoff distance: r_{c}^{bcc} = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\ r_{c}^{hcp} = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a} - where a is the lattice constant for the crystal structure concerned and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a for HCP crystals. @@ -78,7 +74,6 @@ following relation should also be satisfied: r_c + r_s > 2*{\rm cutoff} - where :math:`r_c` is the cutoff distance of the potential, :math:`r_s` is the skin distance as specified by the :doc:`neighbor <neighbor>` command, and @@ -101,7 +96,6 @@ LAMMPS output options. The per-atom vector values will be real positive numbers. Some typical CNP values: - .. parsed-literal:: FCC lattice = 0.0 @@ -115,7 +109,6 @@ values: Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -127,12 +120,8 @@ Related commands **Default:** none - ---------- - .. _Tsuzuki2: - - **(Tsuzuki)** Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007). diff --git a/doc/src/compute_com.rst b/doc/src/compute_com.rst index a77d00a004..af36b34b2b 100644 --- a/doc/src/compute_com.rst +++ b/doc/src/compute_com.rst @@ -6,7 +6,6 @@ compute com command Syntax """""" - .. parsed-literal:: compute ID group-ID com @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all com diff --git a/doc/src/compute_com_chunk.rst b/doc/src/compute_com_chunk.rst index 0d210fb113..dd27702652 100644 --- a/doc/src/compute_com_chunk.rst +++ b/doc/src/compute_com_chunk.rst @@ -6,7 +6,6 @@ compute com/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID com/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid com/chunk molchunk @@ -62,12 +60,11 @@ The simplest way to output the results of the compute com/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all com/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** diff --git a/doc/src/compute_contact_atom.rst b/doc/src/compute_contact_atom.rst index 3c88f66ea5..b8b3c695d6 100644 --- a/doc/src/compute_contact_atom.rst +++ b/doc/src/compute_contact_atom.rst @@ -6,7 +6,6 @@ compute contact/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID contact/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all contact/atom @@ -49,7 +47,6 @@ above. Restrictions """""""""""" - This compute requires that atoms store a radius as defined by the :doc:`atom_style sphere <atom_style>` command. diff --git a/doc/src/compute_coord_atom.rst b/doc/src/compute_coord_atom.rst index b46af08d63..c51ea212f0 100644 --- a/doc/src/compute_coord_atom.rst +++ b/doc/src/compute_coord_atom.rst @@ -6,7 +6,6 @@ compute coord/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID coord/atom cstyle args ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`compute <compute>` command * coord/atom = style name of this compute command * cstyle = *cutoff* or *orientorder* - + .. parsed-literal:: - + *cutoff* args = cutoff [group group2-ID] typeN cutoff = distance within which to count coordination neighbors (distance units) group *group2-ID* = select group-ID to restrict which atoms to consider for coordination number (optional) @@ -25,17 +24,14 @@ Syntax orientorderID = ID of an orientorder/atom compute threshold = minimum value of the product of two "connected" atoms - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all coord/atom cutoff 2.0 compute 1 all coord/atom cutoff 6.0 1 2 - compute 1 all coord/atom cutoff 6.0 2\*4 5\*8 \* + compute 1 all coord/atom cutoff 6.0 2*4 5*8 * compute 1 solute coord/atom cutoff 2.0 group solvent compute 1 all coord/atom orientorder 2 0.5 @@ -82,10 +78,10 @@ identify crystal-like atoms in a system, as discussed in :ref:`ten Wolde <tenWol The ID of the previously specified :doc:`compute orientorder/atom <compute_orientorder_atom>` command is specified as *orientorderID*\ . The compute must invoke its *components* option to -calculate components of the *Ybar\_lm* vector for each atoms, as +calculate components of the *Ybar_lm* vector for each atoms, as described in its documentation. Note that orientorder/atom compute defines its own criteria for identifying neighboring atoms. If the -scalar product (*Ybar\_lm(i)*,*Ybar\_lm(j)*), calculated by the +scalar product (*Ybar_lm(i)*,*Ybar_lm(j)*), calculated by the orientorder/atom compute is larger than the specified *threshold*\ , then I and J are connected, and the coordination value of I is incremented by one. @@ -145,13 +141,9 @@ Default group = all - ---------- - .. _tenWolde1: - - **(tenWolde)** P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, J. Chem. Phys. 104, 9932 (1996). diff --git a/doc/src/compute_damage_atom.rst b/doc/src/compute_damage_atom.rst index b39076c17d..ab17584ccd 100644 --- a/doc/src/compute_damage_atom.rst +++ b/doc/src/compute_damage_atom.rst @@ -6,7 +6,6 @@ compute damage/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID damage/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all damage/atom @@ -54,7 +52,6 @@ The per-atom vector values are unitless numbers (damage) >= 0.0. Restrictions """""""""""" - This compute is part of the PERI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_dihedral.rst b/doc/src/compute_dihedral.rst index c8d4e14d7e..ed87b727ec 100644 --- a/doc/src/compute_dihedral.rst +++ b/doc/src/compute_dihedral.rst @@ -6,7 +6,6 @@ compute dihedral command Syntax """""" - .. parsed-literal:: compute ID group-ID dihedral @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all dihedral @@ -36,7 +34,7 @@ total energy contributed by one or more of the hybrid sub-styles. **Output info:** This compute calculates a global vector of length N where N is the -number of sub\_styles defined by the :doc:`dihedral_style hybrid <dihedral_style>` command. which can be accessed by indices +number of sub_styles defined by the :doc:`dihedral_style hybrid <dihedral_style>` command. which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output <Howto_output>` doc page for an overview of LAMMPS output options. diff --git a/doc/src/compute_dihedral_local.rst b/doc/src/compute_dihedral_local.rst index a1dab677ee..6fd1401292 100644 --- a/doc/src/compute_dihedral_local.rst +++ b/doc/src/compute_dihedral_local.rst @@ -6,7 +6,6 @@ compute dihedral/local command Syntax """""" - .. parsed-literal:: compute ID group-ID dihedral/local value1 value2 ... keyword args ... @@ -14,29 +13,26 @@ Syntax * ID, group-ID are documented in :doc:`compute <compute>` command * dihedral/local = style name of this compute command * one or more values may be appended -* value = *phi* or *v\_name* - +* value = *phi* or *v_name* + .. parsed-literal:: - + *phi* = tabulate dihedral angles *v_name* = equal-style variable with name (see below) * zero or more keyword/args pairs may be appended * keyword = *set* - + .. parsed-literal:: - + *set* args = phi name phi = only currently allowed arg name = name of variable to set with phi - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all dihedral/local phi @@ -53,9 +49,9 @@ by the group parameter as explained below. The value *phi* is the dihedral angle, as defined in the diagram on the :doc:`dihedral_style <dihedral_style>` doc page. -The value *v\_name* can be used together with the *set* keyword to +The value *v_name* can be used together with the *set* keyword to compute a user-specified function of the dihedral angle phi. The -*name* specified for the *v\_name* value is the name of an :doc:`equal-style variable <variable>` which should evaluate a formula based on a +*name* specified for the *v_name* value is the name of an :doc:`equal-style variable <variable>` which should evaluate a formula based on a variable which will store the angle phi. This other variable must be an :doc:`internal-style variable <variable>` defined in the input script; its initial numeric value can be anything. It must be an @@ -70,12 +66,11 @@ As an example, these commands can be added to the bench/in.rhodo script to compute the cosine and cosine\^2 of every dihedral angle in the system and output the statistics in various ways: - -.. parsed-literal:: +.. code-block:: LAMMPS variable p internal 0.0 variable cos equal cos(v_p) - variable cossq equal cos(v_p)\*cos(v_p) + variable cossq equal cos(v_p)*cos(v_p) compute 1 all property/local datom1 datom2 datom3 datom4 dtype compute 2 all dihedral/local phi v_cos v_cossq set phi p @@ -94,10 +89,8 @@ with thermo output. And the :doc:`fix ave/histo <fix_ave_histo>` command will histogram the cosine(angle) values and write them to a file. - ---------- - The local data stored by this command is generated by looping over all the atoms owned on a processor and their dihedrals. A dihedral will only be included if all 4 atoms in the dihedral are in the specified @@ -114,8 +107,7 @@ command in a consistent way. Here is an example of how to do this: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local dtype datom1 datom2 datom3 datom4 compute 2 all dihedral/local phi diff --git a/doc/src/compute_dilatation_atom.rst b/doc/src/compute_dilatation_atom.rst index cc64634397..46ebef8220 100644 --- a/doc/src/compute_dilatation_atom.rst +++ b/doc/src/compute_dilatation_atom.rst @@ -6,7 +6,6 @@ compute dilatation/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID dilatation/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all dilatation/atom @@ -57,7 +55,6 @@ The per-atom vector values are unitless numbers (theta) >= 0.0. Restrictions """""""""""" - This compute is part of the PERI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_dipole_chunk.rst b/doc/src/compute_dipole_chunk.rst index 44875e48d8..f08b1d67d9 100644 --- a/doc/src/compute_dipole_chunk.rst +++ b/doc/src/compute_dipole_chunk.rst @@ -6,7 +6,6 @@ compute dipole/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID dipole/chunk chunkID charge-correction @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid dipole/chunk molchunk compute dw water dipole/chunk 1 geometry @@ -67,12 +65,11 @@ The simplest way to output the results of the compute com/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all dipole/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** diff --git a/doc/src/compute_displace_atom.rst b/doc/src/compute_displace_atom.rst index 2d7cdfed3f..9e1488cdf1 100644 --- a/doc/src/compute_displace_atom.rst +++ b/doc/src/compute_displace_atom.rst @@ -6,7 +6,6 @@ compute displace/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID displace/atom @@ -15,18 +14,15 @@ Syntax * displace/atom = style name of this compute command * zero or more keyword/arg pairs may be appended * keyword = *refresh* - + .. parsed-literal:: - + *replace* arg = name of per-atom variable - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all displace/atom compute 1 all displace/atom refresh myVar @@ -65,11 +61,9 @@ the compute command was issued. The value of the displacement will be quantities will also have the same ID, and thus be initialized correctly with time=0 atom coordinates from the restart file. - ---------- - -The *refresh* option can be used in conjunction with the "dump\_modify +The *refresh* option can be used in conjunction with the "dump_modify refresh" command to generate incremental dump files. The definition and motivation of an incremental dump file is as @@ -88,8 +82,7 @@ a distance *Dhop*\ . For any snapshot we only want to output atoms that have hopped since the last snapshot. This can be accomplished with something like the following commands: - -.. parsed-literal:: +.. code-block:: LAMMPS write_dump all custom tmp.dump id type x y z # see comment below @@ -102,11 +95,11 @@ something like the following commands: The :doc:`dump_modify thresh <dump_modify>` command will only output atoms that have displaced more than 0.6 Angstroms on each snapshot -(assuming metal units). The dump\_modify *refresh* option triggers a +(assuming metal units). The dump_modify *refresh* option triggers a call to this compute at the end of every dump. The *refresh* argument for this compute is the ID of an :doc:`atom-style variable <variable>` which calculates a Boolean value (0 or 1) -based on the same criterion used by dump\_modify thresh. This compute +based on the same criterion used by dump_modify thresh. This compute evaluates the atom-style variable. For each atom that returns 1 (true), the original (reference) coordinates of the atom (stored by this compute) are updated. @@ -119,17 +112,15 @@ Note that in the first snapshot of a subsequent run, no atoms will be typically be output. That is because the initial displacement for all atoms is 0.0. If an initial dump snapshot is desired, containing the initial reference positions of all atoms, one way to do this is -illustrated above. An initial write\_dump command can be used before +illustrated above. An initial write_dump command can be used before the first run. It will contain the positions of all the atoms, Options in the :doc:`dump_modify <dump_modify>` command above will append new output to that same file and delay the output until a later timestep. The *delay* setting avoids a second time = 0 snapshot which would be empty. - ---------- - **Output info:** This compute calculates a per-atom array with 4 columns, which can be diff --git a/doc/src/compute_dpd.rst b/doc/src/compute_dpd.rst index cb3008a73c..c106522b57 100644 --- a/doc/src/compute_dpd.rst +++ b/doc/src/compute_dpd.rst @@ -6,7 +6,6 @@ compute dpd command Syntax """""" - .. parsed-literal:: compute ID group-ID dpd @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all dpd @@ -38,19 +36,16 @@ relations: .. math:: - U^{cond} = & \displaystyle\sum_{i=1}^{N} u_{i}^{cond} \\ + U^{cond} = & \displaystyle\sum_{i=1}^{N} u_{i}^{cond} \\ U^{mech} = & \displaystyle\sum_{i=1}^{N} u_{i}^{mech} \\ U^{chem} = & \displaystyle\sum_{i=1}^{N} u_{i}^{chem} \\ U = & \displaystyle\sum_{i=1}^{N} (u_{i}^{cond} + u_{i}^{mech} + u_{i}^{chem}) \\ \theta_{avg} = & (\frac{1}{N}\displaystyle\sum_{i=1}^{N} \frac{1}{\theta_{i}})^{-1} \\ - where :math:`N` is the number of particles in the system - ---------- - **Output info:** This compute calculates a global vector of length 5 (:math:`U^{cond}`, @@ -64,7 +59,6 @@ The vector values will be in energy and temperature :doc:`units <units>`. Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -79,14 +73,10 @@ Related commands **Default:** none - ---------- - .. _Larentzos1: - - **(Larentzos)** J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research diff --git a/doc/src/compute_dpd_atom.rst b/doc/src/compute_dpd_atom.rst index 215e16a9c9..d1a683db87 100644 --- a/doc/src/compute_dpd_atom.rst +++ b/doc/src/compute_dpd_atom.rst @@ -6,7 +6,6 @@ compute dpd/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID dpd/atom @@ -17,7 +16,9 @@ Syntax Examples """""""" -compute 1 all dpd/atom +.. code-block:: LAMMPS + + compute 1 all dpd/atom Description """"""""""" @@ -48,7 +49,6 @@ and temperature (:math:`theta`) :doc:`units <units>`. Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -62,14 +62,10 @@ Related commands **Default:** none - ---------- - .. _Larentzos2: - - **(Larentzos)** J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research diff --git a/doc/src/compute_edpd_temp_atom.rst b/doc/src/compute_edpd_temp_atom.rst index f71e04a2c2..8670e70b48 100644 --- a/doc/src/compute_edpd_temp_atom.rst +++ b/doc/src/compute_edpd_temp_atom.rst @@ -6,7 +6,6 @@ compute edpd/temp/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID edpd/temp/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all edpd/temp/atom @@ -45,7 +43,6 @@ The per-atom vector values will be in temperature :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-MESODPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -56,20 +53,14 @@ Related commands **Default:** none - ---------- - .. _Espanol1997: - - **(Espanol1997)** Espanol, Europhys Lett, 40(6): 631-636 (1997). DOI: 10.1209/epl/i1997-00515-8 .. _Li2014a: - - **(Li2014)** Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, 265: 113-127 (2014). DOI: 10.1016/j.jcp.2014.02.003. diff --git a/doc/src/compute_entropy_atom.rst b/doc/src/compute_entropy_atom.rst index 9b4bb5f62b..85a180df74 100644 --- a/doc/src/compute_entropy_atom.rst +++ b/doc/src/compute_entropy_atom.rst @@ -6,7 +6,6 @@ compute entropy/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID entropy/atom sigma cutoff keyword value ... @@ -26,13 +25,10 @@ Syntax cutoff2 = cutoff for the averaging over neighbors *local* values = *yes* or *no* = use the local density around each atom to normalize the g(r) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all entropy/atom 0.25 5. compute 1 all entropy/atom 0.25 5. avg yes 5. @@ -57,7 +53,6 @@ This parameter for atom i is computed using the following formula from s_S^i=-2\pi\rho k_B \int\limits_0^{r_m} \left [ g(r) \ln g(r) - g(r) + 1 \right ] r^2 dr - where r is a distance, g(r) is the radial distribution function of atom i and rho is the density of the system. The g(r) computed for each atom i can be noisy and therefore it is smoothed using: @@ -66,7 +61,6 @@ atom i can be noisy and therefore it is smoothed using: g_m^i(r) = \frac{1}{4 \pi \rho r^2} \sum\limits_{j} \frac{1}{\sqrt{2 \pi \sigma^2}} e^{-(r-r_{ij})^2/(2\sigma^2)} - where the sum in j goes through the neighbors of atom i, and :math:`\sigma` is a parameter to control the smoothing. @@ -80,7 +74,6 @@ averages the parameter over the neighbors of atom i according to: \left< s_S^i \right> = \frac{\sum_j s_S^j + s_S^i}{N + 1} - where the sum j goes over the neighbors of atom i and N is the number of neighbors. This procedure provides a sharper distinction between order and disorder environments. In this case the input parameter @@ -91,10 +84,9 @@ If the *avg yes* option is used, the effective cutoff of the neighbor list should be *cutoff*\ +\ *cutoff2* and therefore it might be necessary to increase the skin of the neighbor list with: - .. parsed-literal:: - neighbor skin bin + neighbor <skin distance> bin See :doc:`neighbor <neighbor>` for details. @@ -107,14 +99,12 @@ inhomogeneous systems such as those that have surfaces. Here are typical input parameters for fcc aluminum (lattice constant 4.05 Angstroms), - .. parsed-literal:: compute 1 all entropy/atom 0.25 5.7 avg yes 3.7 and for bcc sodium (lattice constant 4.23 Angstroms), - .. parsed-literal:: compute 1 all entropy/atom 0.25 7.3 avg yes 5.1 @@ -133,7 +123,6 @@ ordered environments. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -148,18 +137,12 @@ Default The default values for the optional keywords are avg = no and local = no. - ---------- - .. _Piaggi: - - **(Piaggi)** Piaggi and Parrinello, J Chem Phys, 147, 114112 (2017). .. _Nettleton: - - **(Nettleton)** Nettleton and Green, J Chem Phys, 29, 6 (1958). diff --git a/doc/src/compute_erotate_asphere.rst b/doc/src/compute_erotate_asphere.rst index 9ba2edb1a6..ab0c1fe59b 100644 --- a/doc/src/compute_erotate_asphere.rst +++ b/doc/src/compute_erotate_asphere.rst @@ -6,7 +6,6 @@ compute erotate/asphere command Syntax """""" - .. parsed-literal:: compute ID group-ID erotate/asphere @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all erotate/asphere @@ -55,7 +53,6 @@ scalar value will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute requires that ellipsoidal particles atoms store a shape and quaternion orientation and angular momentum as defined by the :doc:`atom_style ellipsoid <atom_style>` command. diff --git a/doc/src/compute_erotate_rigid.rst b/doc/src/compute_erotate_rigid.rst index 9fbea18529..f07751eff5 100644 --- a/doc/src/compute_erotate_rigid.rst +++ b/doc/src/compute_erotate_rigid.rst @@ -6,7 +6,6 @@ compute erotate/rigid command Syntax """""" - .. parsed-literal:: compute ID group-ID erotate/rigid fix-ID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all erotate/rigid myRigid @@ -53,7 +51,6 @@ scalar value will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_erotate_sphere.rst b/doc/src/compute_erotate_sphere.rst index 61e3b5c1dc..17656ef0be 100644 --- a/doc/src/compute_erotate_sphere.rst +++ b/doc/src/compute_erotate_sphere.rst @@ -6,7 +6,6 @@ compute erotate/sphere command Syntax """""" - .. parsed-literal:: compute ID group-ID erotate/sphere @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all erotate/sphere @@ -50,7 +48,6 @@ scalar value will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute requires that atoms store a radius and angular velocity (omega) as defined by the :doc:`atom_style sphere <atom_style>` command. diff --git a/doc/src/compute_erotate_sphere_atom.rst b/doc/src/compute_erotate_sphere_atom.rst index 94cc5948e7..f7450be9c2 100644 --- a/doc/src/compute_erotate_sphere_atom.rst +++ b/doc/src/compute_erotate_sphere_atom.rst @@ -6,7 +6,6 @@ compute erotate/sphere/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID erotate/sphere/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all erotate/sphere/atom diff --git a/doc/src/compute_event_displace.rst b/doc/src/compute_event_displace.rst index a99f77ec52..679e455465 100644 --- a/doc/src/compute_event_displace.rst +++ b/doc/src/compute_event_displace.rst @@ -6,7 +6,6 @@ compute event/displace command Syntax """""" - .. parsed-literal:: compute ID group-ID event/displace threshold @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all event/displace 0.5 @@ -58,7 +56,6 @@ scalar value will be a 0 or 1 as explained above. Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_fep.rst b/doc/src/compute_fep.rst index 84b62a7f4a..4700817609 100644 --- a/doc/src/compute_fep.rst +++ b/doc/src/compute_fep.rst @@ -6,7 +6,6 @@ compute fep command Syntax """""" - .. parsed-literal:: compute ID group-ID fep temp attribute args ... keyword value ... @@ -16,9 +15,9 @@ Syntax * temp = external temperature (as specified for constant-temperature run) * one or more attributes with args may be appended * attribute = *pair* or *atom* - + .. parsed-literal:: - + *pair* args = pstyle pparam I J v_delta pstyle = pair style name, e.g. lj/cut pparam = parameter to perturb @@ -31,9 +30,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *tail* or *volume* - + .. parsed-literal:: - + *tail* value = *no* or *yes* *no* = ignore tail correction to pair energies (usually small in fep) *yes* = include tail correction to pair energies @@ -41,15 +40,12 @@ Syntax *no* = ignore volume changes (e.g. in *NVE* or *NVT* trajectories) *yes* = include volume changes (e.g. in *NpT* trajectories) - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - compute 1 all fep 298 pair lj/cut epsilon 1 \* v_delta pair lj/cut sigma 1 \* v_delta volume yes + compute 1 all fep 298 pair lj/cut epsilon 1 * v_delta pair lj/cut sigma 1 * v_delta volume yes compute 1 all fep 300 atom charge 2 v_delta Description @@ -151,10 +147,8 @@ the reference and perturbed states, or along the alchemical transformation route. This compute command does not change bond lengths or other internal coordinates :ref:`(Boresch, Karplus) <BoreschKarplus>`. - ---------- - The *pair* attribute enables various parameters of potentials defined by the :doc:`pair_style <pair_style>` and :doc:`pair_coeff <pair_coeff>` commands to be changed, if the pair style supports it. @@ -247,30 +241,26 @@ used, then the *pstyle* will be a sub-style name. You must specify I,J arguments that correspond to type pair values defined (via the :doc:`pair_coeff <pair_coeff>` command) for that sub-style. -The *v\_name* argument for keyword *pair* is the name of an +The *v_name* argument for keyword *pair* is the name of an :doc:`equal-style variable <variable>` which will be evaluated each time -this compute is invoked. It should be specified as v\_name, where name +this compute is invoked. It should be specified as v_name, where name is the variable name. - ---------- - The *atom* attribute enables atom properties to be changed. The *aparam* argument is the name of the parameter to change. This is the current list of atom parameters that can be used with this compute: * charge = charge on particle -The *v\_name* argument for keyword *pair* is the name of an +The *v_name* argument for keyword *pair* is the name of an :doc:`equal-style variable <variable>` which will be evaluated each time -this compute is invoked. It should be specified as v\_name, where name +this compute is invoked. It should be specified as v_name, where name is the variable name. - ---------- - The *tail* keyword controls the calculation of the tail correction to "van der Waals" pair energies beyond the cutoff, if this has been activated via the :doc:`pair_modify <pair_modify>` command. If the @@ -289,14 +279,13 @@ trajectories during which the volume fluctuates or changes :ref:`(Allen and Tild ---------- - **Output info:** This compute calculates a global vector of length 3 which contains the -energy difference ( :math:`U_1-U_0` ) as c\_ID[1], the +energy difference ( :math:`U_1-U_0` ) as c_ID[1], the Boltzmann factor :math:`\exp(-(U_1-U_0)/kT)`, or -:math:`V \exp(-(U_1-U_0)/kT)`, as c\_ID[2] and the -volume of the simulation box :math:`V` as c\_ID[3]. :math:`U_1` is the +:math:`V \exp(-(U_1-U_0)/kT)`, as c_ID[2] and the +volume of the simulation box :math:`V` as c_ID[3]. :math:`U_1` is the pair potential energy obtained with the perturbed parameters and :math:`U_0` is the pair potential energy obtained with the unperturbed parameters. The energies include kspace terms if these @@ -311,7 +300,6 @@ The values calculated by this compute are "extensive". Restrictions """""""""""" - This compute is distributed as the USER-FEP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -326,10 +314,8 @@ Default The option defaults are *tail* = *no*\ , *volume* = *no*\ . - ---------- - .. _Pearlman: **(Pearlman)** Pearlman, J Chem Phys, 98, 1487 (1994) diff --git a/doc/src/compute_global_atom.rst b/doc/src/compute_global_atom.rst index 01e1d8650a..e9adb0317b 100644 --- a/doc/src/compute_global_atom.rst +++ b/doc/src/compute_global_atom.rst @@ -6,17 +6,16 @@ compute global/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID style index input1 input2 ... * ID, group-ID are documented in :doc:`compute <compute>` command * global/atom = style name of this compute command -* index = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* index = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID f_ID = per-atom vector calculated by a fix with ID @@ -24,26 +23,23 @@ Syntax v_name = per-atom vector calculated by an atom-style variable with name * one or more inputs can be listed -* input = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* input = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = global vector calculated by a compute with ID c_ID[I] = Ith column of global array calculated by a compute with ID, I can include wildcard (see below) f_ID = global vector calculated by a fix with ID f_ID[I] = Ith column of global array calculated by a fix with ID, I can include wildcard (see below) v_name = global vector calculated by a vector-style variable with name - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - compute 1 all global/atom c_chunk c_com[1\] c_com[2\] c_com[3\] - compute 1 all global/atom c_chunk c_com[\*\] + compute 1 all global/atom c_chunk c_com[1] c_com[2] c_com[3] + compute 1 all global/atom c_chunk c_com[*] Description """"""""""" @@ -84,17 +80,16 @@ of each atom from the center-of-mass of the molecule it is in, and dump those values to a dump file. In this case, each molecule is a chunk. - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all com/chunk cc1 compute prop all property/atom xu yu zu - compute glob all global/atom c_cc1 c_myChunk[\*] + compute glob all global/atom c_cc1 c_myChunk[*] variable dx atom c_prop[1]-c_glob[1] variable dy atom c_prop[2]-c_glob[2] variable dz atom c_prop[3]-c_glob[3] - variable dist atom sqrt(v_dx\*v_dx+v_dy\*v_dy+v_dz\*v_dz) + variable dist atom sqrt(v_dx*v_dx+v_dy*v_dy+v_dz*v_dz) dump 1 all custom 100 tmp.dump id xu yu zu c_glob[1] c_glob[2] c_glob[3] & v_dx v_dy v_dz v_dist dump_modify 1 sort id @@ -102,10 +97,8 @@ chunk. You can add these commands to the bench/in.chain script to see how they work. - ---------- - Note that for input values from a compute or fix, the bracketed index I can be specified using a wildcard asterisk with the index to effectively specify multiple values. This takes the form "\*" or "\*n" @@ -121,18 +114,15 @@ had been listed one by one. E.g. these 2 compute global/atom commands are equivalent, since the :doc:`compute com/chunk <compute_com_chunk>` command creates a global array with 3 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute com all com/chunk cc1 compute 1 all global/atom c_cc1 c_com[1] c_com[2] c_com[3] - compute 1 all global/atom c_cc1 c_com[\*] - + compute 1 all global/atom c_cc1 c_com[*] ---------- - This section explains the *index* parameter. Note that it must reference per-atom values, as contrasted with the *input* values which must reference global values. @@ -175,10 +165,8 @@ invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to use as *index*\ . - ---------- - This section explains the kinds of *input* values that can be used. Note that inputs reference global values, as contrasted with the *index* parameter which must reference per-atom values. @@ -215,10 +203,8 @@ evaluated, so this is a very general means of generating a vector of global quantities which the *index* parameter will reference for assignment of global values to atoms. - ---------- - **Output info:** If a single input is specified this compute produces a per-atom diff --git a/doc/src/compute_group_group.rst b/doc/src/compute_group_group.rst index 76766ce755..ba29090d5e 100644 --- a/doc/src/compute_group_group.rst +++ b/doc/src/compute_group_group.rst @@ -6,7 +6,6 @@ compute group/group command Syntax """""" - .. parsed-literal:: compute ID group-ID group/group group2-ID keyword value ... @@ -16,21 +15,18 @@ Syntax * group2-ID = group ID of second (or same) group * zero or more keyword/value pairs may be appended * keyword = *pair* or *kspace* or *boundary* or *molecule* - + .. parsed-literal:: - + *pair* value = *yes* or *no* *kspace* value = *yes* or *no* *boundary* value = *yes* or *no* *molecule* value = *off* or *inter* or *intra* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 lower group/group upper compute 1 lower group/group upper kspace yes @@ -93,10 +89,8 @@ that included in the regular Ewald and PPPM routines. This compute does not calculate any bond or angle or dihedral or improper interactions between atoms in the two groups. - ---------- - The pairwise contributions to the group-group interactions are calculated by looping over a neighbor list. The Kspace contribution to the group-group interactions require essentially the same amount of @@ -115,7 +109,7 @@ frequently. means those pairs will not be included in the group/group interaction. This does not apply when using long-range coulomb interactions (\ *coul/long*\ , *coul/msm*\ , *coul/wolf* or similar. One way to get - around this would be to set special\_bond scaling factors to very tiny + around this would be to set special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and use the :doc:`rerun <rerun>` command to compute the group/group interactions for snapshots in the dump file. @@ -132,10 +126,8 @@ The individual contributions can be summed in a This `document <PDF/kspace.pdf>`_ describes how the long-range group-group calculations are performed. - ---------- - **Output info:** This compute calculates a global scalar (the energy) and a global @@ -151,7 +143,6 @@ The vector values will be in force :doc:`units <units>`. Restrictions """""""""""" - Not all pair styles can be evaluated in a pairwise mode as required by this compute. For example, 3-body and other many-body potentials, such as :doc:`Tersoff <pair_tersoff>` and @@ -171,12 +162,8 @@ Default The option defaults are pair = yes, kspace = no, boundary = yes, molecule = off. - ---------- - .. _Bogusz: - - Bogusz et al, J Chem Phys, 108, 7070 (1998) diff --git a/doc/src/compute_gyration.rst b/doc/src/compute_gyration.rst index fa3b6acbc5..42ca1e53e5 100644 --- a/doc/src/compute_gyration.rst +++ b/doc/src/compute_gyration.rst @@ -6,7 +6,6 @@ compute gyration command Syntax """""" - .. parsed-literal:: compute ID group-ID gyration @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 molecule gyration @@ -36,7 +34,6 @@ the square root of the Rg\^2 value in this formula {R_g}^2 = \frac{1}{M} \sum_i m_i (r_i - r_{cm})^2 - where :math:`M` is the total mass of the group, :math:`r_{cm}` is the center-of-mass position of the group, and the sum is over all atoms in the group. diff --git a/doc/src/compute_gyration_chunk.rst b/doc/src/compute_gyration_chunk.rst index 987cb7fa4c..2ba632ded1 100644 --- a/doc/src/compute_gyration_chunk.rst +++ b/doc/src/compute_gyration_chunk.rst @@ -6,7 +6,6 @@ compute gyration/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID gyration/chunk chunkID keyword value ... @@ -16,18 +15,15 @@ Syntax * chunkID = ID of :doc:`compute chunk/atom <compute_chunk_atom>` command * zero or more keyword/value pairs may be appended * keyword = *tensor* - + .. parsed-literal:: - + *tensor* value = none - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 molecule gyration/chunk molchunk compute 2 molecule gyration/chunk molchunk tensor @@ -56,7 +52,6 @@ formula {R_g}^2 = \frac{1}{M} \sum_i m_i (r_i - r_{cm})^2 - where :math:`M` is the total mass of the chunk, :math:`r_{cm}` is the center-of-mass position of the chunk, and the sum is over all atoms in the chunk. @@ -91,8 +86,7 @@ The simplest way to output the results of the compute gyration/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all gyration/chunk cc1 diff --git a/doc/src/compute_gyration_shape.rst b/doc/src/compute_gyration_shape.rst index 96c0346926..81fc628a21 100644 --- a/doc/src/compute_gyration_shape.rst +++ b/doc/src/compute_gyration_shape.rst @@ -6,7 +6,6 @@ compute gyration/shape command Syntax """""" - .. parsed-literal:: compute ID group-ID gyration/shape compute-ID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 molecule gyration/shape pe @@ -37,11 +35,10 @@ and the relative shape anisotropy, k: c = & l_z - 0.5(l_y+l_x) \\ b = & l_y - l_x \\ - k = & \frac{3}{2} \frac{l_x^2+l_y^2+l_z^2}{(l_x+l_y+l_z)^2} - \frac{1}{2} + k = & \frac{3}{2} \frac{l_x^2+l_y^2+l_z^2}{(l_x+l_y+l_z)^2} - \frac{1}{2} - -where :math:`l_x` <= :math:`l_y` <= :math:`l_z` are the three eigenvalues of the gyration tensor. A general description -of these parameters is provided in :ref:`(Mattice) <Mattice1>` while an application to polymer systems +where :math:`l_x` <= :math:`l_y` <= :math:`l_z` are the three eigenvalues of the gyration tensor. A general description +of these parameters is provided in :ref:`(Mattice) <Mattice1>` while an application to polymer systems can be found in :ref:`(Theodorou) <Theodorou1>`. The asphericity is always non-negative and zero only when the three principal moments are equal. This zero condition is met when the distribution of particles @@ -82,7 +79,6 @@ distance\^2 :doc:`units <units>` while the sixth one is dimensionless. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -93,18 +89,12 @@ Related commands **Default:** none - ---------- - .. _Mattice1: - - **(Mattice)** Mattice, Suter, Conformational Theory of Large Molecules, Wiley, New York, 1994. .. _Theodorou1: - - **(Theodorou)** Theodorou, Suter, Macromolecules, 18, 1206 (1985). diff --git a/doc/src/compute_gyration_shape_chunk.rst b/doc/src/compute_gyration_shape_chunk.rst index 72fec2ddc7..50dd4822ce 100644 --- a/doc/src/compute_gyration_shape_chunk.rst +++ b/doc/src/compute_gyration_shape_chunk.rst @@ -6,7 +6,6 @@ compute gyration/shape/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID gyration/shape/chunk compute-ID @@ -18,16 +17,15 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 molecule gyration/shape/chunk pe Description """"""""""" -Define a computation that calculates the eigenvalues of the gyration tensor and -three shape parameters of multiple chunks of atoms. The computation includes +Define a computation that calculates the eigenvalues of the gyration tensor and +three shape parameters of multiple chunks of atoms. The computation includes all effects due to atoms passing through periodic boundaries. The three computed shape parameters are the asphericity, b, the acylindricity, c, @@ -37,13 +35,12 @@ and the relative shape anisotropy, k: c = & l_z - 0.5(l_y+l_x) \\ b = & l_y - l_x \\ - k = & \frac{3}{2} \frac{l_x^2+l_y^2+l_z^2}{(l_x+l_y+l_z)^2} - \frac{1}{2} + k = & \frac{3}{2} \frac{l_x^2+l_y^2+l_z^2}{(l_x+l_y+l_z)^2} - \frac{1}{2} - -where :math:`l_x` <= :math:`l_y` <= :math`l_z` are the three eigenvalues of the gyration tensor. A general description -of these parameters is provided in :ref:`(Mattice) <Mattice2>` while an application to polymer systems -can be found in :ref:`(Theodorou) <Theodorou2>`. The asphericity is always non-negative and zero -only when the three principal moments are equal. This zero condition is met when the distribution +where :math:`l_x` <= :math:`l_y` <= :math`l_z` are the three eigenvalues of the gyration tensor. A general description +of these parameters is provided in :ref:`(Mattice) <Mattice2>` while an application to polymer systems +can be found in :ref:`(Theodorou) <Theodorou2>`. The asphericity is always non-negative and zero +only when the three principal moments are equal. This zero condition is met when the distribution of particles is spherically symmetric (hence the name asphericity) but also whenever the particle distribution is symmetric with respect to the three coordinate axes, e.g., when the particles are distributed uniformly on a cube, tetrahedron or other Platonic @@ -69,7 +66,7 @@ The tensor keyword must be specified in the compute gyration/chunk command. **Output info:** -This compute calculates a global array with six columns, +This compute calculates a global array with six columns, which can be accessed by indices 1-6. The first three columns are the eigenvalues of the gyration tensor followed by the asphericity, the acylindricity and the relative shape anisotropy. The computed values can be used by any command @@ -83,7 +80,6 @@ distance\^2 :doc:`units <units>` while the sixth one is dimensionless. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -95,18 +91,12 @@ Related commands **Default:** none - ---------- - .. _Mattice2: - - **(Mattice)** Mattice, Suter, Conformational Theory of Large Molecules, Wiley, New York, 1994. .. _Theodorou2: - - **(Theodorou)** Theodorou, Suter, Macromolecules, 18, 1206 (1985). diff --git a/doc/src/compute_heat_flux.rst b/doc/src/compute_heat_flux.rst index 2122c3acd0..1b28c08ae5 100644 --- a/doc/src/compute_heat_flux.rst +++ b/doc/src/compute_heat_flux.rst @@ -6,7 +6,6 @@ compute heat/flux command Syntax """""" - .. parsed-literal:: compute ID group-ID heat/flux ke-ID pe-ID stress-ID @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute myFlux all heat/flux myKE myPE myStress @@ -88,7 +86,6 @@ included in the calculation. or :doc:`compute centroid/stress/atom virial <compute_stress_atom>` so as not to include a kinetic energy term in the heat flux. - .. warning:: The compute *heat/flux* has been reported to produce unphysical @@ -106,10 +103,8 @@ to the thermal conductivity :math:`\kappa`: .. math:: \kappa = \frac{V}{k_B T^2} \int_0^\infty \langle J_x(0) J_x(t) \rangle \, \mathrm{d} t = \frac{V}{3 k_B T^2} \int_0^\infty \langle \mathbf{J}(0) \cdot \mathbf{J}(t) \rangle \, \mathrm{d}t - ---------- - The heat flux can be output every so many timesteps (e.g. via the :doc:`thermo_style custom <thermo_style>` command). Then as a post-processing operation, an auto-correlation can be performed, its @@ -122,10 +117,8 @@ the auto-correlation. The trap() function in the An example LAMMPS input script for solid Ar is appended below. The result should be: average conductivity ~0.29 in W/mK. - ---------- - **Output info:** This compute calculates a global vector of length 6. @@ -166,12 +159,9 @@ Related commands **Default:** none - ---------- - - -.. parsed-literal:: +.. code-block:: LAMMPS # Sample LAMMPS input script for thermal conductivity of solid Ar @@ -181,7 +171,7 @@ Related commands variable dt equal 4.0 variable p equal 200 # correlation length variable s equal 10 # sample interval - variable d equal $p\*$s # dump interval + variable d equal $p*$s # dump interval # convert from LAMMPS real units to SI @@ -189,7 +179,7 @@ Related commands variable kCal2J equal 4186.0/6.02214e23 variable A2m equal 1.0e-10 variable fs2s equal 1.0e-15 - variable convert equal ${kCal2J}\*${kCal2J}/${fs2s}/${A2m} + variable convert equal ${kCal2J}*${kCal2J}/${fs2s}/${A2m} # setup problem @@ -201,7 +191,7 @@ Related commands create_atoms 1 box mass 1 39.948 pair_style lj/cut 13.0 - pair_coeff \* \* 0.2381 3.405 + pair_coeff * * 0.2381 3.405 timestep ${dt} thermo $d @@ -226,28 +216,22 @@ Related commands variable Jz equal c_flux[3]/vol fix JJ all ave/correlate $s $p $d & c_flux[1] c_flux[2] c_flux[3] type auto file J0Jt.dat ave running - variable scale equal ${convert}/${kB}/$T/$T/$V\*$s\*${dt} - variable k11 equal trap(f_JJ[3])\*${scale} - variable k22 equal trap(f_JJ[4])\*${scale} - variable k33 equal trap(f_JJ[5])\*${scale} + variable scale equal ${convert}/${kB}/$T/$T/$V*$s*${dt} + variable k11 equal trap(f_JJ[3])*${scale} + variable k22 equal trap(f_JJ[4])*${scale} + variable k33 equal trap(f_JJ[5])*${scale} thermo_style custom step temp v_Jx v_Jy v_Jz v_k11 v_k22 v_k33 run 100000 variable k equal (v_k11+v_k22+v_k33)/3.0 variable ndens equal count(all)/vol print "average conductivity: $k[W/mK] @ $T K, ${ndens} /A\^3" - ---------- - .. _Surblys2: - - **(Surblys)** Surblys, Matsubara, Kikugawa, Ohara, Phys Rev E, 99, 051301(R) (2019). .. _Boone: - - **(Boone)** Boone, Babaei, Wilmer, J Chem Theory Comput, 15, 5579--5587 (2019). diff --git a/doc/src/compute_hexorder_atom.rst b/doc/src/compute_hexorder_atom.rst index 45560a2aff..31f7dbe662 100644 --- a/doc/src/compute_hexorder_atom.rst +++ b/doc/src/compute_hexorder_atom.rst @@ -6,7 +6,6 @@ compute hexorder/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID hexorder/atom keyword values ... @@ -14,21 +13,18 @@ Syntax * ID, group-ID are documented in :doc:`compute <compute>` command * hexorder/atom = style name of this compute command * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *degree* or *nnn* or *cutoff* *cutoff* value = distance cutoff *nnn* value = number of nearest neighbors *degree* value = degree *n* of order parameter - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all hexorder/atom compute 1 all hexorder/atom degree 4 nnn 4 cutoff 1.2 @@ -46,7 +42,6 @@ is a complex number (stored as two real numbers) defined as follows: q_n = \frac{1}{nnn}\sum_{j = 1}^{nnn} e^{n i \theta({\bf r}_{ij})} - where the sum is over the *nnn* nearest neighbors of the central atom. The angle :math:`\theta` is formed by the bond vector :math:`r_{ij}` and the *x* axis. @@ -126,12 +121,8 @@ Default The option defaults are *cutoff* = pair style cutoff, *nnn* = 6, *degree* = 6 - ---------- - .. _Nelson: - - **(Nelson)** Nelson, Halperin, Phys Rev B, 19, 2457 (1979). diff --git a/doc/src/compute_hma.rst b/doc/src/compute_hma.rst index e1b1d3e3a9..e00fdde841 100644 --- a/doc/src/compute_hma.rst +++ b/doc/src/compute_hma.rst @@ -6,7 +6,6 @@ compute hma command Syntax """""" - .. parsed-literal:: compute ID group-ID hma temp-ID keyword ... @@ -23,13 +22,10 @@ Syntax *p* = compute will return pressure. the following keyword must be the difference between the harmonic pressure and lattice pressure as described below *cv* = compute will return the heat capacity - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 2 all hma 1 u compute 2 all hma 1 anharmonic u p 0.9 @@ -62,22 +58,20 @@ summation should work fine, while :doc:`pair_style lj/cut <pair_lj>` will perform poorly unless the potential is shifted (via :doc:`pair_modify <pair_modify>` shift) or the cutoff is large. Furthermore, computation of the heat capacity with this compute is -restricted to those that implement the *single\_hessian* method in Pair. -Implementing *single\_hessian* in additional pair styles is simple. +restricted to those that implement the *single_hessian* method in Pair. +Implementing *single_hessian* in additional pair styles is simple. Please contact Andrew Schultz (ajs42 at buffalo.edu) and David Kofke (kofke at buffalo.edu) if your desired pair style does not have this method. This is the list of pair styles that currently implement -*single\_hessian*: +*single_hessian*: * :doc:`pair_style lj/smooth/linear <pair_lj_smooth_linear>` - In this method, the analytically known harmonic behavior of a crystal is removed from the traditional ensemble averages, which leads to an accurate and precise measurement of the anharmonic contributions without contamination by noise produced by the already-known harmonic behavior. A detailed description of this method can be found in (:ref:`Moustafa <hma-Moustafa>`). The potential energy is computed by the formula: - .. math:: \left< U\right>_{HMA} = \frac{d}{2} (N-1) k_B T + \left< U + \frac{1}{2} F\bullet\Delta r \right> @@ -90,7 +84,6 @@ pair, bond, angle, dihedral, improper, kspace (long-range), and fix energies. The pressure is computed by the formula: - .. math:: \left< P\right>_{HMA} = \Delta \hat P + \left< P_{vir} + \frac{\beta \Delta \hat P - \rho}{d(N-1)} F\bullet\Delta r \right> @@ -105,7 +98,6 @@ pressure is sensitive to :math:`\Delta \hat P`; the precision tends to be best when :math:`\Delta \hat P` is the actual the difference between the lattice pressure and harmonic pressure. - .. math:: \left<C_V \right>_{HMA} = \frac{d}{2} (N-1) k_B + \frac{1}{k_B T^2} \left( \left< @@ -121,8 +113,7 @@ round-off error when computing :math:`C_V`. To address this, the *anharmonic* keyword can be passed and/or the output format can be specified with more digits. - -.. parsed-literal:: +.. code-block:: LAMMPS thermo_modify format float '%22.15e' @@ -145,8 +136,7 @@ should be avoided as its extra forces interfere with the HMA implementation. The following example illustrates the placement of this command in the input script: - -.. parsed-literal:: +.. code-block:: LAMMPS min_style cg minimize 1e-35 1e-15 50000 500000 @@ -178,7 +168,6 @@ scalar value will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is enabled only if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -190,18 +179,14 @@ Related commands :doc:`compute pe <compute_pe>`, :doc:`compute pressure <compute_pressure>` :doc:`dynamical matrix <dynamical_matrix>` provides a finite difference -formulation of the hessian provided by Pair's single\_hessian, which is used by +formulation of the hessian provided by Pair's single_hessian, which is used by this compute. **Default:** none - ---------- - .. _hma-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>`_ diff --git a/doc/src/compute_improper.rst b/doc/src/compute_improper.rst index e7fb761958..0a264a74e7 100644 --- a/doc/src/compute_improper.rst +++ b/doc/src/compute_improper.rst @@ -6,7 +6,6 @@ compute improper command Syntax """""" - .. parsed-literal:: compute ID group-ID improper @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all improper @@ -36,7 +34,7 @@ total energy contributed by one or more of the hybrid sub-styles. **Output info:** This compute calculates a global vector of length N where N is the -number of sub\_styles defined by the :doc:`improper_style hybrid <improper_style>` command. which can be accessed by indices +number of sub_styles defined by the :doc:`improper_style hybrid <improper_style>` command. which can be accessed by indices 1-N. These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output <Howto_output>` doc page for an overview of LAMMPS output options. diff --git a/doc/src/compute_improper_local.rst b/doc/src/compute_improper_local.rst index 71286d5c9d..7a14daf161 100644 --- a/doc/src/compute_improper_local.rst +++ b/doc/src/compute_improper_local.rst @@ -6,7 +6,6 @@ compute improper/local command Syntax """""" - .. parsed-literal:: compute ID group-ID improper/local value1 value2 ... @@ -15,18 +14,15 @@ Syntax * improper/local = style name of this compute command * one or more values may be appended * value = *chi* - + .. parsed-literal:: - + *chi* = tabulate improper angles - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all improper/local chi @@ -58,8 +54,7 @@ command in a consistent way. Here is an example of how to do this: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local itype iatom1 iatom2 iatom3 iatom4 compute 2 all improper/local chi diff --git a/doc/src/compute_inertia_chunk.rst b/doc/src/compute_inertia_chunk.rst index b592fe828f..f667929807 100644 --- a/doc/src/compute_inertia_chunk.rst +++ b/doc/src/compute_inertia_chunk.rst @@ -6,7 +6,6 @@ compute inertia/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID inertia/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid inertia/chunk molchunk @@ -63,12 +61,11 @@ The simplest way to output the results of the compute inertia/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all inertia/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** diff --git a/doc/src/compute_ke.rst b/doc/src/compute_ke.rst index e93d493b97..d98d39247c 100644 --- a/doc/src/compute_ke.rst +++ b/doc/src/compute_ke.rst @@ -6,7 +6,6 @@ compute ke command Syntax """""" - .. parsed-literal:: compute ID group-ID ke @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ke diff --git a/doc/src/compute_ke_atom.rst b/doc/src/compute_ke_atom.rst index 37f08e83d8..42294dbca1 100644 --- a/doc/src/compute_ke_atom.rst +++ b/doc/src/compute_ke_atom.rst @@ -6,7 +6,6 @@ compute ke/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID ke/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ke/atom diff --git a/doc/src/compute_ke_atom_eff.rst b/doc/src/compute_ke_atom_eff.rst index d9cfbf8c94..7aa89d0dfc 100644 --- a/doc/src/compute_ke_atom_eff.rst +++ b/doc/src/compute_ke_atom_eff.rst @@ -6,7 +6,6 @@ compute ke/atom/eff command Syntax """""" - .. parsed-literal:: compute ID group-ID ke/atom/eff @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS compute 1 all ke/atom/eff @@ -53,7 +51,6 @@ of freedom in eFF. thermodynamic output by using the :doc:`thermo_modify <thermo_modify>` command, as shown in the following example: - .. code-block:: LAMMPS compute effTemp all temp/eff @@ -75,7 +72,6 @@ The per-atom vector values will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_ke_eff.rst b/doc/src/compute_ke_eff.rst index ab3f37ef81..f1cffebc56 100644 --- a/doc/src/compute_ke_eff.rst +++ b/doc/src/compute_ke_eff.rst @@ -6,7 +6,6 @@ compute ke/eff command Syntax """""" - .. parsed-literal:: compute ID group-ID ke/eff @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ke/eff @@ -45,7 +43,7 @@ energy, calculated by the simple formula above. For thermodynamic output, the *ke* keyword infers kinetic energy from the temperature of the system with :math:`\frac{1}{2} k_B T` of energy for each degree of freedom. For the eFF temperature computation via the :doc:`compute -temp\_eff <compute_temp_eff>` command, these are the same. But +temp_eff <compute_temp_eff>` command, these are the same. But different computes that calculate temperature can subtract out different non-thermal components of velocity and/or include other degrees of freedom. @@ -58,7 +56,7 @@ freedom. :doc:`thermo_modify <thermo_modify>` command, as shown in the following example: -.. parsed-literal:: +.. code-block:: LAMMPS compute effTemp all temp/eff thermo_style custom step etotal pe ke temp press @@ -79,7 +77,6 @@ scalar value will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_ke_rigid.rst b/doc/src/compute_ke_rigid.rst index 3edb69f2a1..fd4706de19 100644 --- a/doc/src/compute_ke_rigid.rst +++ b/doc/src/compute_ke_rigid.rst @@ -6,7 +6,6 @@ compute ke/rigid command Syntax """""" - .. parsed-literal:: compute ID group-ID ke/rigid fix-ID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ke/rigid myRigid @@ -52,7 +50,6 @@ scalar value will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_meso_e_atom.rst b/doc/src/compute_meso_e_atom.rst index b805121b20..ad8e46cafb 100644 --- a/doc/src/compute_meso_e_atom.rst +++ b/doc/src/compute_meso_e_atom.rst @@ -6,7 +6,6 @@ compute meso/e/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID meso/e/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all meso/e/atom @@ -50,7 +48,6 @@ The per-atom vector values will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_meso_rho_atom.rst b/doc/src/compute_meso_rho_atom.rst index 1f525c1d25..d4611c5cb7 100644 --- a/doc/src/compute_meso_rho_atom.rst +++ b/doc/src/compute_meso_rho_atom.rst @@ -6,7 +6,6 @@ compute meso/rho/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID meso/rho/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all meso/rho/atom @@ -50,7 +48,6 @@ The per-atom vector values will be in mass/volume :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_meso_t_atom.rst b/doc/src/compute_meso_t_atom.rst index 7969953128..e44425a65c 100644 --- a/doc/src/compute_meso_t_atom.rst +++ b/doc/src/compute_meso_t_atom.rst @@ -6,7 +6,6 @@ compute meso/t/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID meso/t/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all meso/t/atom @@ -32,7 +30,9 @@ The internal temperature is the ratio of internal energy over the heat capacity associated with the internal degrees of freedom of a mesoscopic particles, e.g. a Smooth-Particle Hydrodynamics particle. -T\_\ *int* = E\_\ *int* / C\_\ *V, int* +.. math:: + + T_{int} = E_{int} / C_{V,int} See `this PDF guide <USER/sph/SPH_LAMMPS_userguide.pdf>`_ to using SPH in LAMMPS. @@ -52,7 +52,6 @@ The per-atom vector values will be in temperature :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_modify.rst b/doc/src/compute_modify.rst index d857472256..3b8f613744 100644 --- a/doc/src/compute_modify.rst +++ b/doc/src/compute_modify.rst @@ -6,7 +6,6 @@ compute_modify command Syntax """""" - .. code-block:: LAMMPS compute_modify compute-ID keyword value ... @@ -14,9 +13,9 @@ Syntax * compute-ID = ID of the compute to modify * one or more keyword/value pairs may be listed * keyword = *extra/dof* or *extra* or *dynamic/dof* or *dynamic* - + .. parsed-literal:: - + *extra/dof* value = N N = # of extra degrees of freedom to subtract *extra* syntax is identical to *extra/dof*\ , will be disabled at some point @@ -24,12 +23,9 @@ Syntax yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature *dynamic* syntax is identical to *dynamic/dof*\ , will be disabled at some point - - Examples """""""" - .. code-block:: LAMMPS compute_modify myTemp extra/dof 0 diff --git a/doc/src/compute_momentum.rst b/doc/src/compute_momentum.rst index 32e325a103..af968efb59 100644 --- a/doc/src/compute_momentum.rst +++ b/doc/src/compute_momentum.rst @@ -6,7 +6,6 @@ compute momentum command Syntax """""" - .. parsed-literal:: compute ID group-ID momentum @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all momentum @@ -44,7 +42,6 @@ value will be in mass\*velocity :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_msd.rst b/doc/src/compute_msd.rst index 8ced34f66d..94ab6a1579 100644 --- a/doc/src/compute_msd.rst +++ b/doc/src/compute_msd.rst @@ -6,7 +6,6 @@ compute msd command Syntax """""" - .. parsed-literal:: compute ID group-ID msd keyword values ... @@ -15,19 +14,16 @@ Syntax * msd = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *com* or *average* - + .. parsed-literal:: - + *com* value = *yes* or *no* *average* value = *yes* or *no* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all msd compute 1 upper msd com yes average yes @@ -116,7 +112,7 @@ Restrictions Related commands """""""""""""""" -:doc:`compute msd/nongauss <compute_msd_nongauss>`, :doc:`compute displace\_atom <compute_displace_atom>`, :doc:`fix store/state <fix_store_state>`, :doc:`compute msd/chunk <compute_msd_chunk>` +:doc:`compute msd/nongauss <compute_msd_nongauss>`, :doc:`compute displace_atom <compute_displace_atom>`, :doc:`fix store/state <fix_store_state>`, :doc:`compute msd/chunk <compute_msd_chunk>` Default """"""" diff --git a/doc/src/compute_msd_chunk.rst b/doc/src/compute_msd_chunk.rst index 9cf2b0bc8a..9a9a926030 100644 --- a/doc/src/compute_msd_chunk.rst +++ b/doc/src/compute_msd_chunk.rst @@ -6,7 +6,6 @@ compute msd/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID msd/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all msd/chunk molchunk @@ -101,12 +99,11 @@ The simplest way to output the results of the compute msd/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all msd/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** diff --git a/doc/src/compute_msd_nongauss.rst b/doc/src/compute_msd_nongauss.rst index 8168d25ca6..2dfc00fb68 100644 --- a/doc/src/compute_msd_nongauss.rst +++ b/doc/src/compute_msd_nongauss.rst @@ -6,7 +6,6 @@ compute msd/nongauss command Syntax """""" - .. parsed-literal:: compute ID group-ID msd/nongauss keyword values ... @@ -15,18 +14,15 @@ Syntax * msd/nongauss = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *com* - + .. parsed-literal:: - + *com* value = *yes* or *no* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all msd/nongauss compute 1 upper msd/nongauss com yes @@ -50,7 +46,6 @@ group. The 3rd component is the nonGaussian diffusion parameter NGP = NGP(t) = 3<(r(t)-r(0))^4>/(5<(r(t)-r(0))^2>^2) - 1 - The NGP is a commonly used quantity in studies of dynamical heterogeneity. Its minimum theoretical value (-0.4) occurs when all atoms have the same displacement magnitude. NGP=0 for Brownian @@ -78,7 +73,6 @@ the 3rd is dimensionless. Restrictions """""""""""" - This compute is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_omega_chunk.rst b/doc/src/compute_omega_chunk.rst index 66e21a2ae4..73895b585c 100644 --- a/doc/src/compute_omega_chunk.rst +++ b/doc/src/compute_omega_chunk.rst @@ -6,7 +6,6 @@ compute omega/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID omega/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid omega/chunk molchunk @@ -64,12 +62,11 @@ The simplest way to output the results of the compute omega/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all omega/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** diff --git a/doc/src/compute_orientorder_atom.rst b/doc/src/compute_orientorder_atom.rst index b864db82a7..7b894b886e 100644 --- a/doc/src/compute_orientorder_atom.rst +++ b/doc/src/compute_orientorder_atom.rst @@ -6,7 +6,6 @@ compute orientorder/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID orientorder/atom keyword values ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`compute <compute>` command * orientorder/atom = style name of this compute command * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *cutoff* or *nnn* or *degrees* or *components* *cutoff* value = distance cutoff *nnn* value = number of nearest neighbors @@ -25,13 +24,10 @@ Syntax *wl/hat* value = yes or no *components* value = ldegree - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all orientorder/atom compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5 @@ -104,7 +100,7 @@ can be reproduced with this keyword. The optional keyword *components* will output the components of the normalized complex vector :math:`\bar{Y}_{lm}` of degree *ldegree*\ , which must be explicitly included in the keyword *degrees*\ . This option can be used -in conjunction with :doc:`compute coord\_atom <compute_coord_atom>` to +in conjunction with :doc:`compute coord_atom <compute_coord_atom>` to calculate the ten Wolde's criterion to identify crystal-like particles, as discussed in :ref:`ten Wolde <tenWolde2>`. @@ -171,10 +167,8 @@ The option defaults are *cutoff* = pair style cutoff, *nnn* = 12, *degrees* = 5 4 6 8 10 12 i.e. :math:`Q_4`, :math:`Q_6`, :math:`Q_8`, :math:`Q_{10}`, and :math:`Q_{12}`, *wl* = no, *wl/hat* = no, and *components* off - ---------- - .. _Steinhardt: **(Steinhardt)** P. Steinhardt, D. Nelson, and M. Ronchetti, @@ -187,6 +181,5 @@ J. Chem. Phys. 138, 044501 (2013). .. _tenWolde2: - **(tenWolde)** P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, J. Chem. Phys. 104, 9932 (1996). diff --git a/doc/src/compute_pair.rst b/doc/src/compute_pair.rst index 87ea8bda58..40c758ebf0 100644 --- a/doc/src/compute_pair.rst +++ b/doc/src/compute_pair.rst @@ -6,7 +6,6 @@ compute pair command Syntax """""" - .. parsed-literal:: compute ID group-ID pair pstyle [nstyle] [evalue] @@ -17,12 +16,10 @@ Syntax * nsub = *n*\ -instance of a sub-style, if a pair style is used multiple times in a hybrid style * *evalue* = *epair* or *evdwl* or *ecoul* or blank (optional) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pair gauss compute 1 all pair lj/cut/coul/cut ecoul diff --git a/doc/src/compute_pair_local.rst b/doc/src/compute_pair_local.rst index 7808253576..31030cd97e 100644 --- a/doc/src/compute_pair_local.rst +++ b/doc/src/compute_pair_local.rst @@ -6,7 +6,6 @@ compute pair/local command Syntax """""" - .. parsed-literal:: compute ID group-ID pair/local value1 value2 ... keyword args ... @@ -15,9 +14,9 @@ Syntax * pair/local = style name of this compute command * one or more values may be appended * value = *dist* or *eng* or *force* or *fx* or *fy* or *fz* or *pN* - + .. parsed-literal:: - + *dist* = pairwise distance *eng* = pairwise energy *force* = pairwise force @@ -26,18 +25,15 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *cutoff* - + .. parsed-literal:: - + *cutoff* arg = *type* or *radius* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pair/local eng compute 1 all pair/local dist eng force @@ -119,8 +115,7 @@ command in a consistent way. Here is an example of how to do this: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local patom1 patom2 compute 2 all pair/local dist eng force diff --git a/doc/src/compute_pe.rst b/doc/src/compute_pe.rst index e8075a361a..813b577490 100644 --- a/doc/src/compute_pe.rst +++ b/doc/src/compute_pe.rst @@ -6,7 +6,6 @@ compute pe command Syntax """""" - .. parsed-literal:: compute ID group-ID pe keyword ... @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pe compute molPE all pe bond angle dihedral improper @@ -56,20 +54,17 @@ potential energy. The :doc:`fix_modify energy yes <fix_modify>` command must also be specified if a fix is to contribute potential energy to this command. -A compute of this style with the ID of "thermo\_pe" is created when +A compute of this style with the ID of "thermo_pe" is created when LAMMPS starts up, as if this command were in the input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute thermo_pe all pe -See the "thermo\_style" command for more details. - +See the "thermo_style" command for more details. ---------- - **Output info:** This compute calculates a global scalar (the potential energy). This diff --git a/doc/src/compute_pe_atom.rst b/doc/src/compute_pe_atom.rst index abc504a56b..b616cecd89 100644 --- a/doc/src/compute_pe_atom.rst +++ b/doc/src/compute_pe_atom.rst @@ -6,7 +6,6 @@ compute pe/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID pe/atom keyword ... @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pe/atom compute 1 all pe/atom pair @@ -74,8 +72,7 @@ As an example of per-atom potential energy compared to total potential energy, these lines in an input script should yield the same result in the last 2 columns of thermo output: - -.. parsed-literal:: +.. code-block:: LAMMPS compute peratom all pe/atom compute pe all reduce sum c_peratom @@ -99,7 +96,6 @@ The per-atom vector values will be in energy :doc:`units <units>`. Restrictions """""""""""" - Related commands """""""""""""""" @@ -107,12 +103,8 @@ Related commands **Default:** none - ---------- - .. _Heyes1: - - **(Heyes)** Heyes, Phys Rev B 49, 755 (1994), diff --git a/doc/src/compute_plasticity_atom.rst b/doc/src/compute_plasticity_atom.rst index 8c9515941f..939017f5e9 100644 --- a/doc/src/compute_plasticity_atom.rst +++ b/doc/src/compute_plasticity_atom.rst @@ -6,7 +6,6 @@ compute plasticity/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID plasticity/atom @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all plasticity/atom @@ -33,7 +31,7 @@ The plasticity for a Peridynamic particle is the so-called consistency parameter (lambda). For elastic deformation lambda = 0, otherwise lambda > 0 for plastic deformation. For details, see :ref:`(Mitchell) <Mitchell>` and the PDF doc included in the LAMMPS -distribution in `doc/PDF/PDLammps\_EPS.pdf <PDF/PDLammps_EPS.pdf>`_. +distribution in `doc/PDF/PDLammps_EPS.pdf <PDF/PDLammps_EPS.pdf>`_. This command can be invoked for one of the Peridynamic :doc:`pair styles <pair_peri>`: peri/eps. @@ -52,7 +50,6 @@ The per-atom vector values are unitless numbers (lambda) >= 0.0. Restrictions """""""""""" - This compute is part of the PERI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -64,14 +61,10 @@ Related commands **Default:** none - ---------- - .. _Mitchell: - - **(Mitchell)** Mitchell, "A non-local, ordinary-state-based viscoelasticity model for peridynamics", Sandia National Lab Report, 8064:1-28 (2011). diff --git a/doc/src/compute_pressure.rst b/doc/src/compute_pressure.rst index ea7b238db0..7366fa6d3d 100644 --- a/doc/src/compute_pressure.rst +++ b/doc/src/compute_pressure.rst @@ -6,7 +6,6 @@ compute pressure command Syntax """""" - .. parsed-literal:: compute ID group-ID pressure temp-ID keyword ... @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS compute 1 all pressure thermo_temp @@ -41,7 +39,6 @@ The pressure is computed by the formula P = \frac{N k_B T}{V} + \frac{\sum_{i}^{N'} r_i \bullet f_i}{dV} - where *N* is the number of atoms in the system (see discussion of DOF below), :math:`k_B` is the Boltzmann constant, *T* is the temperature, d is the dimensionality of the system (2 or 3 for 2d/3d), and *V* is the @@ -66,10 +63,9 @@ second term uses components of the virial tensor: .. math:: - P_{IJ} = \frac{\sum_{k}^{N} m_k v_{k_I} v_{k_J}}{V} + + P_{IJ} = \frac{\sum_{k}^{N} m_k v_{k_I} v_{k_J}}{V} + \frac{\sum_{k}^{N'} r_{k_I} f_{k_J}}{V} - If no extra keywords are listed, the entire equations above are calculated. This includes a kinetic energy (temperature) term and the virial as the sum of pair, bond, angle, dihedral, improper, kspace @@ -104,21 +100,18 @@ Also note that the N in the first formula above is really degrees-of-freedom divided by d = dimensionality, where the DOF value is calculated by the temperature compute. See the various :doc:`compute temperature <compute>` styles for details. -A compute of this style with the ID of "thermo\_press" is created when +A compute of this style with the ID of "thermo_press" is created when LAMMPS starts up, as if this command were in the input script: - .. code-block:: LAMMPS compute thermo_press all pressure thermo_temp -where "thermo\_temp" is the ID of a similarly defined compute of style -"temp". See the "thermo\_style" command for more details. - +where "thermo_temp" is the ID of a similarly defined compute of style +"temp". See the "thermo_style" command for more details. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -137,10 +130,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Output info:** This compute calculates a global scalar (the pressure) and a global @@ -165,12 +156,8 @@ Related commands **Default:** none - ---------- - .. _Thompson1: - - **(Thompson)** Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009). diff --git a/doc/src/compute_pressure_cylinder.rst b/doc/src/compute_pressure_cylinder.rst index 9c20e55a39..104e68d533 100644 --- a/doc/src/compute_pressure_cylinder.rst +++ b/doc/src/compute_pressure_cylinder.rst @@ -6,7 +6,6 @@ compute pressure/cylinder command Syntax """""" - .. parsed-literal:: compute ID group-ID pressure/cylinder zlo zhi Rmax bin_width @@ -16,13 +15,12 @@ Syntax * zlo = minimum z-boundary for cylinder * zhi = maximum z-boundary for cylinder * Rmax = maximum radius to perform calculation to -* bin\_width = width of radial bins to use for calculation +* bin_width = width of radial bins to use for calculation Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pressure/cylinder -10.0 10.0 15.0 0.25 @@ -33,19 +31,19 @@ Define a computation that calculates the pressure tensor of a system in cylindrical coordinates, as discussed in :ref:`(Addington) <Addington1>`. This is useful for systems with a single axis of rotational symmetry, such as cylindrical micelles or carbon nanotubes. The compute splits the -system into radial, cylindrical-shell-type bins of width bin\_width, -centered at x=0,y=0, and calculates the radial (P\_rhorho), azimuthal -(P\_phiphi), and axial (P\_zz) components of the configurational pressure +system into radial, cylindrical-shell-type bins of width bin_width, +centered at x=0,y=0, and calculates the radial (P_rhorho), azimuthal +(P_phiphi), and axial (P_zz) components of the configurational pressure tensor. The local density is also calculated for each bin, so that the -true pressure can be recovered as P\_kin+P\_conf=density\*k\*T+P\_conf. The +true pressure can be recovered as P_kin+P_conf=density\*k\*T+P_conf. The output is a global array with 5 columns; one each for bin radius, local -number density, P\_rhorho, P\_phiphi, and P\_zz. The number of rows is -governed by the values of Rmax and bin\_width. Pressure tensor values are +number density, P_rhorho, P_phiphi, and P_zz. The number of rows is +governed by the values of Rmax and bin_width. Pressure tensor values are output in pressure units. **Output info:** -This compute calculates a global array with 5 columns and Rmax/bin\_width +This compute calculates a global array with 5 columns and Rmax/bin_width rows. The output columns are: R (distance units), number density (inverse volume units), configurational radial pressure (pressure units), configurational azimuthal pressure (pressure units), and configurational @@ -59,7 +57,6 @@ inverse volume :doc:`units <units>`. Restrictions """""""""""" - This compute currently calculates the pressure tensor contributions for pair styles only (i.e. no bond, angle, dihedral, etc. contributions and in the presence of bonded interactions, the result will be incorrect @@ -67,7 +64,7 @@ due to exclusions for special bonds) and requires pair-wise force calculations not available for most many-body pair styles. K-space calculations are also excluded. Note that this pressure compute outputs the configurational terms only; the kinetic contribution is not included -and may be calculated from the number density output by P\_kin=density\*k\*T. +and may be calculated from the number density output by P_kin=density\*k\*T. This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -80,12 +77,8 @@ Related commands **Default:** none - ---------- - .. _Addington1: - - **(Addington)** Addington, Long, Gubbins, J Chem Phys, 149, 084109 (2018). diff --git a/doc/src/compute_pressure_uef.rst b/doc/src/compute_pressure_uef.rst index e674950c32..07302ba46d 100644 --- a/doc/src/compute_pressure_uef.rst +++ b/doc/src/compute_pressure_uef.rst @@ -6,7 +6,6 @@ compute pressure/uef command Syntax """""" - .. parsed-literal:: compute ID group-ID pressure/uef temp-ID keyword ... @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pressure/uef my_temp_uef compute 2 all pressure/uef my_temp_uef virial @@ -43,7 +41,6 @@ The keywords and output information are documented in Restrictions """""""""""" - This fix is part of the USER-UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index 5aa9ead974..1643be8699 100644 --- a/doc/src/compute_property_atom.rst +++ b/doc/src/compute_property_atom.rst @@ -6,7 +6,6 @@ compute property/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID property/atom input1 input2 ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`compute <compute>` command * property/atom = style name of this compute command * input = one or more atom attributes - + .. parsed-literal:: - + possible attributes = id, mol, proc, type, mass, x, y, z, xs, ys, zs, xu, yu, zu, ix, iy, iz, vx, vy, vz, fx, fy, fz, @@ -36,9 +35,8 @@ Syntax rho, drho, e, de, cv, i_name, d_name - .. parsed-literal:: - + id = atom ID mol = molecule ID proc = ID of processor that owns atom @@ -66,25 +64,22 @@ Syntax corner123x, corner123y, corner123z = corner points of triangle nbonds = number of bonds assigned to an atom - .. parsed-literal:: - + PERI package per-atom properties: vfrac = ??? s0 = ??? - .. parsed-literal:: - + USER-EFF and USER-AWPMD package per-atom properties: spin = electron spin eradius = electron radius ervel = electron radial velocity erforce = electron radial force - .. parsed-literal:: - + USER-SPH package per-atom properties: rho = ??? drho = ??? @@ -92,20 +87,16 @@ Syntax de = ??? cv = ??? - .. parsed-literal:: - + :doc:`fix property/atom <fix_property_atom>` per-atom properties: i_name = custom integer vector with name d_name = custom integer vector with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/atom xs vx fx mux compute 2 all property/atom type @@ -156,11 +147,11 @@ two atoms in the bond. Thus a bond between atoms I,J may be tallied for either atom I or atom J. If :doc:`newton bond off <newton>` is set, it will be tallied with both atom I and atom J. -The *i\_name* and *d\_name* attributes refer to custom integer and +The *i_name* and *d_name* attributes refer to custom integer and floating-point properties that have been added to each atom via the :doc:`fix property/atom <fix_property_atom>` command. When that command is used specific names are given to each attribute which are what is -specified as the "name" portion of *i\_name* or *d\_name*. +specified as the "name" portion of *i_name* or *d_name*. **Output info:** diff --git a/doc/src/compute_property_chunk.rst b/doc/src/compute_property_chunk.rst index cd9750f96e..ed49833a48 100644 --- a/doc/src/compute_property_chunk.rst +++ b/doc/src/compute_property_chunk.rst @@ -6,7 +6,6 @@ compute property/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID property/chunk chunkID input1 input2 ... @@ -14,21 +13,18 @@ Syntax * ID, group-ID are documented in :doc:`compute <compute>` command * property/chunk = style name of this compute command * input = one or more attributes - + .. parsed-literal:: - + attributes = count, id, coord1, coord2, coord3 count = # of atoms in chunk id = original chunk IDs before compression by :doc:`compute chunk/atom <compute_chunk_atom>` coord123 = coordinates for spatial bins calculated by :doc:`compute chunk/atom <compute_chunk_atom>` - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/chunk count compute 1 all property/chunk ID coord1 @@ -85,13 +81,12 @@ The simplest way to output the results of the compute property/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk1 all property/chunk cc1 count compute myChunk2 all com/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk1 c_myChunk2[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk1 c_myChunk2[*] file tmp.out mode vector **Output info:** diff --git a/doc/src/compute_property_local.rst b/doc/src/compute_property_local.rst index 2e01958194..4e29bb7fc0 100644 --- a/doc/src/compute_property_local.rst +++ b/doc/src/compute_property_local.rst @@ -6,7 +6,6 @@ compute property/local command Syntax """""" - .. parsed-literal:: compute ID group-ID property/local attribute1 attribute2 ... keyword args ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`compute <compute>` command * property/local = style name of this compute command * one or more attributes may be appended - + .. parsed-literal:: - + possible attributes = natom1 natom2 ntype1 ntype2 patom1 patom2 ptype1 ptype2 batom1 batom2 btype @@ -24,9 +23,8 @@ Syntax datom1 datom2 datom3 datom4 dtype iatom1 iatom2 iatom3 iatom4 itype - .. parsed-literal:: - + natom1, natom2 = IDs of 2 atoms in each pair (within neighbor cutoff) ntype1, ntype2 = type of 2 atoms in each pair (within neighbor cutoff) patom1, patom2 = IDs of 2 atoms in each pair (within force cutoff) @@ -42,18 +40,15 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *cutoff* - + .. parsed-literal:: - + *cutoff* arg = *type* or *radius* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local btype batom1 batom2 compute 1 all property/local atype aatom2 diff --git a/doc/src/compute_ptm_atom.rst b/doc/src/compute_ptm_atom.rst index 503c8df168..112ed1ea6a 100644 --- a/doc/src/compute_ptm_atom.rst +++ b/doc/src/compute_ptm_atom.rst @@ -6,7 +6,6 @@ compute ptm/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID ptm/atom structures threshold group2-ID @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ptm/atom default 0.1 all compute 1 all ptm/atom fcc-hcp-dcub-dhex 0.15 all @@ -68,7 +66,6 @@ The deviation is calculated as: \text{RMSD}(\mathbf{u}, \mathbf{v}) = \min_{s, \mathbf{Q}} \sqrt{\frac{1}{N} \sum\limits_{i=1}^{N} {\left|\left| s[\vec{u_i} - \overline{\mathbf{u}}] - \mathbf{Q} \vec{v_i} \right|\right|}^2} - Here, u and v contain the coordinates of the local and ideal structures respectively, s is a scale factor, and Q is a rotation. The best match is identified by the lowest RMSD value, using the optimal scaling, rotation, and correspondence between the @@ -108,13 +105,12 @@ The type is a number from -1 to 8. The rmsd is a positive real number. The interatomic distance is computed from the scale factor in the RMSD equation. The (qw,qx,qy,qz) parameters represent the orientation of the local structure in quaternion form. The reference coordinates for each template (from which the -orientation is determined) can be found in the *ptm\_constants.h* file in the PTM source directory. +orientation is determined) can be found in the *ptm_constants.h* file in the PTM source directory. For atoms that are not within the compute group-ID, all values are set to zero. Restrictions """""""""""" - This fix is part of the USER-PTM package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -126,12 +122,8 @@ Related commands **Default:** none - ---------- - .. _Larsen: - - **(Larsen)** Larsen, Schmidt, Schiotz, Modelling Simul Mater Sci Eng, 24, 055007 (2016). diff --git a/doc/src/compute_rdf.rst b/doc/src/compute_rdf.rst index b35aa54e09..5f426ffb51 100644 --- a/doc/src/compute_rdf.rst +++ b/doc/src/compute_rdf.rst @@ -6,7 +6,6 @@ compute rdf command Syntax """""" - .. parsed-literal:: compute ID group-ID rdf Nbin itype1 jtype1 itype2 jtype2 ... keyword/value ... @@ -18,25 +17,22 @@ Syntax * jtypeN = distribution atom type for Nth RDF histogram (see asterisk form below) * zero or more keyword/value pairs may be appended * keyword = *cutoff* - + .. parsed-literal:: - + *cutoff* value = Rcut Rcut = cutoff distance for RDF computation (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all rdf 100 compute 1 all rdf 100 1 1 - compute 1 all rdf 100 \* 3 cutoff 5.0 + compute 1 all rdf 100 * 3 cutoff 5.0 compute 1 fluid rdf 500 1 1 1 2 2 1 2 2 - compute 1 fluid rdf 500 1\*3 2 5 \*10 cutoff 3.5 + compute 1 fluid rdf 500 1*3 2 5 *10 cutoff 3.5 Description """"""""""" @@ -61,7 +57,7 @@ shell of distances in 3d and a thin ring of distances in 2d. those pairs will not be included in the RDF. This does not apply when using long-range coulomb interactions (\ *coul/long*\ , *coul/msm*\ , *coul/wolf* or similar. One way to get around this would be to set - special\_bond scaling factors to very tiny numbers that are not exactly + special_bond scaling factors to very tiny numbers that are not exactly zero (e.g. 1.0e-50). Another workaround is to write a dump file, and use the :doc:`rerun <rerun>` command to compute the RDF for snapshots in the dump file. The rerun script can use a @@ -78,7 +74,7 @@ distance specified. Normally, you should only use the *cutoff* keyword if no pair style is defined, e.g. the :doc:`rerun <rerun>` command is being used to post-process a dump file of snapshots. Or if you really want the RDF - for distances beyond the pair\_style force cutoff and cannot easily + for distances beyond the pair_style force cutoff and cannot easily post-process a dump file to calculate it. This is because using the *cutoff* keyword incurs extra computation and possibly communication, which may slow down your simulation. If you specify a *Rcut* <= force @@ -151,11 +147,10 @@ The simplest way to output the results of the compute rdf calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myRDF all rdf 50 - fix 1 all ave/time 100 1 100 c_myRDF[\*] file tmp.rdf mode vector + fix 1 all ave/time 100 1 100 c_myRDF[*] file tmp.rdf mode vector **Output info:** @@ -179,7 +174,6 @@ also numbers >= 0.0. Restrictions """""""""""" - The RDF is not computed for distances longer than the force cutoff, since processors (in parallel) don't know about atom coordinates for atoms further away than that distance. If you want an RDF for larger diff --git a/doc/src/compute_reduce.rst b/doc/src/compute_reduce.rst index cfd7b27614..7599343d2e 100644 --- a/doc/src/compute_reduce.rst +++ b/doc/src/compute_reduce.rst @@ -9,26 +9,25 @@ compute reduce/region command Syntax """""" - .. parsed-literal:: compute ID group-ID style arg mode input1 input2 ... keyword args ... * ID, group-ID are documented in :doc:`compute <compute>` command * style = *reduce* or *reduce/region* - + .. parsed-literal:: - + *reduce* arg = none *reduce/region* arg = region-ID region-ID = ID of region to use for choosing atoms * mode = *sum* or *min* or *max* or *ave* or *sumsq* or *avesq* * one or more inputs can be listed -* input = x, y, z, vx, vy, vz, fx, fy, fz, c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* input = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) c_ID = per-atom or local vector calculated by a compute with ID c_ID[I] = Ith column of per-atom or local array calculated by a compute with ID, I can include wildcard (see below) @@ -38,20 +37,17 @@ Syntax * zero or more keyword/args pairs may be appended * keyword = *replace* - + .. parsed-literal:: - + *replace* args = vec1 vec2 vec1 = reduced value from this input vector will be replaced vec2 = replace it with vec1[N] where N is index of max/min value from vec2 - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all reduce sum c_force compute 1 all reduce/region subbox sum c_force @@ -112,18 +108,15 @@ had been listed one by one. E.g. these 2 compute reduce commands are equivalent, since the :doc:`compute stress/atom <compute_stress_atom>` command creates a per-atom array with 6 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myPress all stress/atom NULL - compute 2 all reduce min c_myPress[\*] + compute 2 all reduce min c_myPress[*] compute 2 all reduce min c_myPress[1] c_myPress[2] c_myPress[3] & c_myPress[4] c_myPress[5] c_myPress[6] - ---------- - The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as inputs to this fix by using the :doc:`compute property/atom <compute_property_atom>` command and then specifying @@ -160,10 +153,8 @@ invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to reduce. - ---------- - If the *replace* keyword is used, two indices *vec1* and *vec2* are specified, where each index ranges from 1 to the # of input values. The replace keyword can only be used if the *mode* is *min* or *max*\ . @@ -175,8 +166,7 @@ stored index is used to select the Nth element of the *vec1* vector. Thus, for example, if you wish to use this compute to find the bond with maximum stretch, you can do it as follows: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local batom1 batom2 compute 2 all bond/local dist @@ -191,10 +181,8 @@ information in this context, the *replace* keywords will extract the atom IDs for the two atoms in the bond of maximum stretch. These atom IDs and the bond stretch will be printed with thermodynamic output. - ---------- - If a single input is specified this compute produces a global scalar value. If multiple inputs are specified, this compute produces a global vector of values, the length of which is equal to the number of @@ -206,10 +194,8 @@ scales linearly with the number of atoms involved. If normalized values are desired, this compute can be accessed by the :doc:`thermo_style custom <thermo_style>` command with :doc:`thermo_modify norm yes <thermo_modify>` set as an option. Or it can be accessed by a :doc:`variable <variable>` that divides by the appropriate atom count. - ---------- - **Output info:** This compute calculates a global scalar if a single input value is diff --git a/doc/src/compute_reduce_chunk.rst b/doc/src/compute_reduce_chunk.rst index 8f850a32c2..34619efd06 100644 --- a/doc/src/compute_reduce_chunk.rst +++ b/doc/src/compute_reduce_chunk.rst @@ -6,7 +6,6 @@ compute reduce/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID reduce/chunk chunkID mode input1 input2 ... @@ -16,23 +15,20 @@ Syntax * chunkID = ID of :doc:`compute chunk/atom <compute_chunk_atom>` command * mode = *sum* or *min* or *max* * one or more inputs can be listed -* input = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_ID - +* input = c_ID, c_ID[N], f_ID, f_ID[N], v_ID + .. parsed-literal:: - + c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) f_ID = per-atom vector calculated by a fix with ID f_ID[I] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below) v_name = per-atom vector calculated by an atom-style variable with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all reduce/chunk/atom mychunk min c_cluster @@ -91,17 +87,14 @@ had been listed one by one. E.g. these 2 compute reduce/chunk commands are equivalent, since the :doc:`compute property/chunk <compute_property_chunk>` command creates a per-atom array with 3 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute prop all property/atom vx vy vz - compute 10 all reduce/chunk mychunk max c_prop[\*] + compute 10 all reduce/chunk mychunk max c_prop[*] compute 10 all reduce/chunk mychunk max c_prop[1] c_prop[2] c_prop[3] - ---------- - Here is an example of using this compute, in conjunction with the compute chunk/spread/atom command to identify self-assembled micelles. The commands below can be added to the examples/in.micelle script. @@ -118,8 +111,7 @@ attraction induced by the hydrophobicity. The output of the chunk/reduce command will be a cluster ID per chunk (molecule). Molecules with the same cluster ID are in the same micelle. - -.. parsed-literal:: +.. code-block:: LAMMPS group phobic type 4 # specific to in.micelle model compute cluster phobic cluster/atom 2.0 @@ -128,8 +120,7 @@ Molecules with the same cluster ID are in the same micelle. This per-chunk info could be output in at least two ways: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 10 all ave/time 1000 1 1000 c_reduce file tmp.phobic mode vector @@ -147,8 +138,7 @@ The result from compute chunk/spread/atom can be used to define a new set of chunks, where all the atoms in all the molecules in the same micelle are assigned to the same chunk, i.e. one chunk per micelle. - -.. parsed-literal:: +.. code-block:: LAMMPS compute micelle all chunk/atom c_spread compress yes @@ -158,8 +148,7 @@ doc page. E.g. count the number of atoms in each micelle, calculate its center or mass, shape (moments of inertia), radius of gyration, etc. - -.. parsed-literal:: +.. code-block:: LAMMPS compute prop all property/chunk micelle count fix 20 all ave/time 1000 1 1000 c_prop file tmp.micelle mode vector @@ -169,10 +158,8 @@ with its count of atoms, plus a first line for a chunk with all the solvent atoms. By the time 50000 steps have elapsed there are a handful of large micelles. - ---------- - **Output info:** This compute calculates a global vector if a single input value is diff --git a/doc/src/compute_rigid_local.rst b/doc/src/compute_rigid_local.rst index d7e9d4dcdd..4fc0f3c2dd 100644 --- a/doc/src/compute_rigid_local.rst +++ b/doc/src/compute_rigid_local.rst @@ -6,7 +6,6 @@ compute rigid/local command Syntax """""" - .. parsed-literal:: compute ID group-ID rigid/local rigidID input1 input2 ... @@ -15,9 +14,9 @@ Syntax * rigid/local = style name of this compute command * rigidID = ID of fix rigid/small command or one of its variants * input = one or more rigid body attributes - + .. parsed-literal:: - + possible attributes = id, mol, mass, x, y, z, xu, yu, zu, ix, iy, iz vx, vy, vz, fx, fy, fz, @@ -40,13 +39,10 @@ Syntax tqx,tqy,tqz = torque on body inertiax,inertiay,inertiaz = diagonalized moments of inertia of body - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all rigid/local myRigid mol x y z @@ -91,16 +87,13 @@ vector or array from one timestep to the next. Here is an example of how to use this compute to dump rigid body info to a file: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all rigid/local myRigid mol x y z fx fy fz dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_1[4] c_1[5] c_1[6] c_1[7] - ---------- - This section explains the rigid body attributes that can be specified. The *id* attribute is the atom-ID of the atom which owns the rigid body, which is @@ -155,10 +148,8 @@ diagonalized inertia tensor for the body, i.e the 3 moments of inertia for the body around its principal axes, as computed internally by LAMMPS. - ---------- - **Output info:** This compute calculates a local vector or local array depending on the @@ -188,7 +179,6 @@ corresponding attribute is in: Restrictions """""""""""" - This compute is part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_saed.rst b/doc/src/compute_saed.rst index 2a9c05f218..cad4bc1b93 100644 --- a/doc/src/compute_saed.rst +++ b/doc/src/compute_saed.rst @@ -6,7 +6,6 @@ compute saed command Syntax """""" - .. parsed-literal:: compute ID group-ID saed lambda type1 type2 ... typeN keyword value ... @@ -16,10 +15,10 @@ Syntax * lambda = wavelength of incident radiation (length units) * type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) * zero or more keyword/value pairs may be appended -* keyword = *Kmax* or *Zone* or *dR\_Ewald* or *c* or *manual* or *echo* - +* keyword = *Kmax* or *Zone* or *dR_Ewald* or *c* or *manual* or *echo* + .. parsed-literal:: - + *Kmax* value = Maximum distance explored from reciprocal space origin (inverse length units) *Zone* values = z1 z2 z3 @@ -34,13 +33,10 @@ Syntax based on the values of the *c* parameters *echo* = flag to provide extra output for debugging purposes - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5 compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo @@ -64,7 +60,6 @@ is computed from the structure factor F using the equations: I = & \frac{F^{*}F}{N} \\ F(\mathbf{k}) = & \sum_{j=1}^{N}f_j(\theta)exp(2\pi i \mathbf{k} \cdot \mathbf{r}_j) - Here, K is the location of the reciprocal lattice node, :math:`r_j` is the position of each atom, :math:`f_j` are atomic scattering factors. @@ -95,7 +90,7 @@ unless small spacing parameters <0.05 Angstrom\^(-1) are implemented. Meshes with manual spacing do not require a periodic boundary. The limits of the reciprocal lattice mesh are determined by the use of -the *Kmax*\ , *Zone*\ , and *dR\_Ewald* parameters. The rectilinear mesh +the *Kmax*\ , *Zone*\ , and *dR_Ewald* parameters. The rectilinear mesh created about the origin of reciprocal space is terminated at the boundary of a sphere of radius *Kmax* centered at the origin. If *Zone* parameters z1=z2=z3=0 are used, diffraction intensities are @@ -104,7 +99,7 @@ greatly increase the cost of computation. Otherwise, *Zone* parameters will denote the z1=h, z2=k, and z3=l (in a global since) zone axis of an intersecting Ewald sphere. Diffraction intensities will only be computed at the intersection of the reciprocal lattice -mesh and a *dR\_Ewald* thick surface of the Ewald sphere. See the +mesh and a *dR_Ewald* thick surface of the Ewald sphere. See the example 3D intensity data and the intersection of a [010] zone axis in the below image. @@ -124,7 +119,6 @@ The analytic approximation is computed using the formula f_j\left ( \frac{sin(\theta)}{\lambda} \right )=\sum_{i}^{5} a_i exp\left ( -b_i \frac{sin^{2}(\theta)}{\lambda^{2}} \right ) - Coefficients parameterized by :ref:`(Fox) <Fox>` are assigned for each atom type designating the chemical symbol and charge of each atom type. Valid chemical symbols for compute saed are: @@ -250,44 +244,35 @@ All array values calculated by this compute are "intensive". Restrictions """""""""""" - This compute is part of the USER-DIFFRACTION package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. -The compute\_saed command does not work for triclinic cells. +The compute_saed command does not work for triclinic cells. Related commands """""""""""""""" -:doc:`fix saed\_vtk <fix_saed_vtk>`, :doc:`compute xrd <compute_xrd>` +:doc:`fix saed_vtk <fix_saed_vtk>`, :doc:`compute xrd <compute_xrd>` Default """"""" -The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR\_Ewald = +The option defaults are Kmax = 1.70, Zone 1 0 0, c 1 1 1, dR_Ewald = 0.01. - ---------- - .. _saed-Coleman: - - **(Coleman)** Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013). .. _Brown: - - **(Brown)** Brown et al. International Tables for Crystallography Volume C: Mathematical and Chemical Tables, 554-95 (2004). .. _Fox: - - **(Fox)** Fox, O'Keefe, Tabbernor, Acta Crystallogr. A, 45, 786-93 (1989). diff --git a/doc/src/compute_slice.rst b/doc/src/compute_slice.rst index 4ed35eb0ff..c8211269bc 100644 --- a/doc/src/compute_slice.rst +++ b/doc/src/compute_slice.rst @@ -6,7 +6,6 @@ compute slice command Syntax """""" - .. parsed-literal:: compute ID group-ID slice Nstart Nstop Nskip input1 input2 ... @@ -16,23 +15,20 @@ Syntax * Nstart = starting index within input vector(s) * Nstop = stopping index within input vector(s) * Nskip = extract every Nskip elements from input vector(s) -* input = c\_ID, c\_ID[N], f\_ID, f\_ID[N] - +* input = c_ID, c_ID[N], f_ID, f_ID[N] + .. parsed-literal:: - + c_ID = global vector calculated by a compute with ID c_ID[I] = Ith column of global array calculated by a compute with ID f_ID = global vector calculated by a fix with ID f_ID[I] = Ith column of global array calculated by a fix with ID v_name = vector calculated by an vector-style variable with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all slice 1 100 10 c_msdmol[4] compute 1 all slice 301 400 1 c_msdmol[4] v_myVec @@ -91,10 +87,8 @@ even if the length of the vector is 1. If multiple inputs are specified, then a global array of values is produced, with the number of columns equal to the number of inputs specified. - ---------- - **Output info:** This compute calculates a global vector if a single input value is diff --git a/doc/src/compute_smd_contact_radius.rst b/doc/src/compute_smd_contact_radius.rst index 5ac0cc1de7..01c543af38 100644 --- a/doc/src/compute_smd_contact_radius.rst +++ b/doc/src/compute_smd_contact_radius.rst @@ -6,7 +6,6 @@ compute smd/contact/radius command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/contact/radius @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/contact/radius @@ -29,7 +27,7 @@ Define a computation which outputs the contact radius, i.e., the radius used to prevent particles from penetrating each other. The contact radius is used only to prevent particles belonging to different physical bodies from penetrating each other. It is used by -the contact pair styles, e.g., smd/hertz and smd/tri\_surface. +the contact pair styles, e.g., smd/hertz and smd/tri_surface. See `this PDF guide <PDF/SMD_LAMMPS_userguide.pdf>`_ to using Smooth Mach Dynamics in LAMMPS. @@ -49,13 +47,12 @@ The per-particle vector values will be in distance :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" -:doc:`dump custom <dump>` smd/hertz smd/tri\_surface +:doc:`dump custom <dump>` smd/hertz smd/tri_surface **Default:** none diff --git a/doc/src/compute_smd_damage.rst b/doc/src/compute_smd_damage.rst index 235f6f63cc..3f02ac5c74 100644 --- a/doc/src/compute_smd_damage.rst +++ b/doc/src/compute_smd_damage.rst @@ -6,7 +6,6 @@ compute smd/damage command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/damage @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/damage @@ -42,13 +40,12 @@ The per-particle values are dimensionless an in the range of zero to one. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the "Build Related commands """""""""""""""" -:doc:`smd/plastic\_strain <compute_smd_plastic_strain>`, :doc:`smd/tlsph\_stress <compute_smd_tlsph_stress>` +:doc:`smd/plastic_strain <compute_smd_plastic_strain>`, :doc:`smd/tlsph_stress <compute_smd_tlsph_stress>` **Default:** none diff --git a/doc/src/compute_smd_hourglass_error.rst b/doc/src/compute_smd_hourglass_error.rst index d7c3764088..56b8a81c01 100644 --- a/doc/src/compute_smd_hourglass_error.rst +++ b/doc/src/compute_smd_hourglass_error.rst @@ -6,7 +6,6 @@ compute smd/hourglass/error command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/hourglass/error @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/hourglass/error @@ -52,7 +50,6 @@ The per-particle vector values will are dimensionless. See Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -61,7 +58,7 @@ tlsph pair style. **Related Commands:** -:doc:`smd/tlsph\_defgrad <compute_smd_tlsph_defgrad>` +:doc:`smd/tlsph_defgrad <compute_smd_tlsph_defgrad>` Default """"""" diff --git a/doc/src/compute_smd_internal_energy.rst b/doc/src/compute_smd_internal_energy.rst index 5aa618a031..7613d5bb3e 100644 --- a/doc/src/compute_smd_internal_energy.rst +++ b/doc/src/compute_smd_internal_energy.rst @@ -6,7 +6,6 @@ compute smd/internal/energy command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/internal/energy @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/internal/energy @@ -43,7 +41,6 @@ The per-particle vector values will be given in :doc:`units <units>` of energy. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. This compute can only be used for particles which interact via the updated Lagrangian diff --git a/doc/src/compute_smd_plastic_strain.rst b/doc/src/compute_smd_plastic_strain.rst index 3330a34dd0..772169310f 100644 --- a/doc/src/compute_smd_plastic_strain.rst +++ b/doc/src/compute_smd_plastic_strain.rst @@ -6,7 +6,6 @@ compute smd/plastic/strain command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/plastic/strain @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/plastic/strain @@ -44,7 +42,6 @@ The per-particle values will be given dimensionless. See :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. This compute can only be used for particles which interact via the updated Lagrangian diff --git a/doc/src/compute_smd_plastic_strain_rate.rst b/doc/src/compute_smd_plastic_strain_rate.rst index b3157bec12..7b0480a211 100644 --- a/doc/src/compute_smd_plastic_strain_rate.rst +++ b/doc/src/compute_smd_plastic_strain_rate.rst @@ -6,7 +6,6 @@ compute smd/plastic/strain/rate command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/plastic/strain/rate @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/plastic/strain/rate @@ -44,7 +42,6 @@ The per-particle values will be given in :doc:`units <units>` of one over time. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. This compute can only be used for particles which interact via the updated Lagrangian diff --git a/doc/src/compute_smd_rho.rst b/doc/src/compute_smd_rho.rst index f6e4c9b764..50c74b8c26 100644 --- a/doc/src/compute_smd_rho.rst +++ b/doc/src/compute_smd_rho.rst @@ -6,7 +6,6 @@ compute smd/rho command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/rho @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/rho @@ -45,7 +43,6 @@ The per-particle values will be in :doc:`units <units>` of mass over volume. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_smd_tlsph_defgrad.rst b/doc/src/compute_smd_tlsph_defgrad.rst index 7ef38db492..c599b82709 100644 --- a/doc/src/compute_smd_tlsph_defgrad.rst +++ b/doc/src/compute_smd_tlsph_defgrad.rst @@ -6,7 +6,6 @@ compute smd/tlsph/defgrad command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/defgrad @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/defgrad @@ -48,7 +46,6 @@ entry is the determinant of the deformation gradient. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. TThis compute can only be used for particles which interact via the total Lagrangian SPH diff --git a/doc/src/compute_smd_tlsph_dt.rst b/doc/src/compute_smd_tlsph_dt.rst index 4213448101..7835f0642d 100644 --- a/doc/src/compute_smd_tlsph_dt.rst +++ b/doc/src/compute_smd_tlsph_dt.rst @@ -6,7 +6,6 @@ compute smd/tlsph/dt command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/dt @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/dt @@ -49,7 +47,6 @@ The per-particle values will be given in :doc:`units <units>` of time. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_smd_tlsph_num_neighs.rst b/doc/src/compute_smd_tlsph_num_neighs.rst index afd398e8a2..202f1640d6 100644 --- a/doc/src/compute_smd_tlsph_num_neighs.rst +++ b/doc/src/compute_smd_tlsph_num_neighs.rst @@ -6,7 +6,6 @@ compute smd/tlsph/num/neighs command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/num/neighs @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/num/neighs @@ -44,7 +42,6 @@ The per-particle values are dimensionless. See :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_smd_tlsph_shape.rst b/doc/src/compute_smd_tlsph_shape.rst index 9787d8304c..f4ed10a232 100644 --- a/doc/src/compute_smd_tlsph_shape.rst +++ b/doc/src/compute_smd_tlsph_shape.rst @@ -6,7 +6,6 @@ compute smd/tlsph/shape command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/shape @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/shape @@ -51,7 +49,6 @@ particle relative to its initial state. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_smd_tlsph_strain.rst b/doc/src/compute_smd_tlsph_strain.rst index 5382382773..24c5937462 100644 --- a/doc/src/compute_smd_tlsph_strain.rst +++ b/doc/src/compute_smd_tlsph_strain.rst @@ -6,7 +6,6 @@ compute smd/tlsph/strain command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/strain @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/strain @@ -47,7 +45,6 @@ zz, xy, xz, yz components of the symmetric strain tensor. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_smd_tlsph_strain_rate.rst b/doc/src/compute_smd_tlsph_strain_rate.rst index fd489d4f29..0eb68432c1 100644 --- a/doc/src/compute_smd_tlsph_strain_rate.rst +++ b/doc/src/compute_smd_tlsph_strain_rate.rst @@ -6,7 +6,6 @@ compute smd/tlsph/strain/rate command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/strain/rate @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/strain/rate @@ -46,7 +44,6 @@ zz, xy, xz, yz components of the symmetric strain rate tensor. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_smd_tlsph_stress.rst b/doc/src/compute_smd_tlsph_stress.rst index 7060144cfd..10d01ea9c0 100644 --- a/doc/src/compute_smd_tlsph_stress.rst +++ b/doc/src/compute_smd_tlsph_stress.rst @@ -6,7 +6,6 @@ compute smd/tlsph/stress command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/tlsph/stress @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/tlsph/stress @@ -48,7 +46,6 @@ invariant of the stress tensor, i.e., the von Mises equivalent stress. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_smd_triangle_vertices.rst b/doc/src/compute_smd_triangle_vertices.rst index 9b92a896cb..ad33df3ef8 100644 --- a/doc/src/compute_smd_triangle_vertices.rst +++ b/doc/src/compute_smd_triangle_vertices.rst @@ -6,7 +6,6 @@ compute smd/triangle/vertices command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/triangle/vertices @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/triangle/mesh/vertices @@ -26,7 +24,7 @@ Description """"""""""" Define a computation that returns the coordinates of the vertices -corresponding to the triangle-elements of a mesh created by the :doc:`fix smd/wall\_surface <fix_smd_wall_surface>`. +corresponding to the triangle-elements of a mesh created by the :doc:`fix smd/wall_surface <fix_smd_wall_surface>`. See `this PDF guide <PDF/SMD_LAMMPS_userguide.pdf>`_ to using Smooth Mach Dynamics in LAMMPS. @@ -43,10 +41,10 @@ The per-particle vector has nine entries, (x1/y1/z1), (x2/y2/z2), and each triangle. It is only meaningful to use this compute for a group of particles -which is created via the :doc:`fix smd/wall\_surface <fix_smd_wall_surface>` command. +which is created via the :doc:`fix smd/wall_surface <fix_smd_wall_surface>` command. -The output of this compute can be used with the dump2vtk\_tris tool to -generate a VTK representation of the smd/wall\_surface mesh for +The output of this compute can be used with the dump2vtk_tris tool to +generate a VTK representation of the smd/wall_surface mesh for visualization purposes. The values will be given in :doc:`units <units>` of distance. @@ -54,7 +52,6 @@ The values will be given in :doc:`units <units>` of distance. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -62,6 +59,6 @@ Related commands """""""""""""""" :doc:`fix smd/move/tri/surf <fix_smd_move_triangulated_surface>`, -:doc:`fix smd/wall\_surface <fix_smd_wall_surface>` +:doc:`fix smd/wall_surface <fix_smd_wall_surface>` **Default:** none diff --git a/doc/src/compute_smd_ulsph_num_neighs.rst b/doc/src/compute_smd_ulsph_num_neighs.rst index baa53f4eda..70824fc517 100644 --- a/doc/src/compute_smd_ulsph_num_neighs.rst +++ b/doc/src/compute_smd_ulsph_num_neighs.rst @@ -6,7 +6,6 @@ compute smd/ulsph/num/neighs command Syntax """""" - .. code-block:: LAMMPS compute ID group-ID smd/ulsph/num/neighs @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS compute 1 all smd/ulsph/num/neighs @@ -44,7 +42,6 @@ The per-particle values will be given dimensionless, see :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. This compute can only be used for particles which interact with the updated Lagrangian diff --git a/doc/src/compute_smd_ulsph_strain.rst b/doc/src/compute_smd_ulsph_strain.rst index 9f5a952778..dbf6751bf7 100644 --- a/doc/src/compute_smd_ulsph_strain.rst +++ b/doc/src/compute_smd_ulsph_strain.rst @@ -6,7 +6,6 @@ compute smd/ulsph/strain command Syntax """""" - .. code-block:: LAMMPS compute ID group-ID smd/ulsph/strain @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS compute 1 all smd/ulsph/strain @@ -47,7 +45,6 @@ The per-particle tensor values will be given dimensionless, see Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. This compute can only be used for particles which interact with the updated Lagrangian diff --git a/doc/src/compute_smd_ulsph_strain_rate.rst b/doc/src/compute_smd_ulsph_strain_rate.rst index 0145e86f7e..7f911e9332 100644 --- a/doc/src/compute_smd_ulsph_strain_rate.rst +++ b/doc/src/compute_smd_ulsph_strain_rate.rst @@ -6,7 +6,6 @@ compute smd/ulsph/strain/rate command Syntax """""" - .. code-block:: LAMMPS compute ID group-ID smd/ulsph/strain/rate @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS compute 1 all smd/ulsph/strain/rate @@ -47,7 +45,6 @@ zz, xy, xz, yz components of the symmetric strain rate tensor. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_smd_ulsph_stress.rst b/doc/src/compute_smd_ulsph_stress.rst index 9295112478..c74b37508a 100644 --- a/doc/src/compute_smd_ulsph_stress.rst +++ b/doc/src/compute_smd_ulsph_stress.rst @@ -6,7 +6,6 @@ compute smd/ulsph/stress command Syntax """""" - .. code-block:: LAMMPS compute ID group-ID smd/ulsph/stress @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS compute 1 all smd/ulsph/stress @@ -47,7 +45,6 @@ stress tensor, i.e., the von Mises equivalent stress. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. This compute can only be used for particles which interact with the updated Lagrangian diff --git a/doc/src/compute_smd_vol.rst b/doc/src/compute_smd_vol.rst index caae817ff1..abcc6fca22 100644 --- a/doc/src/compute_smd_vol.rst +++ b/doc/src/compute_smd_vol.rst @@ -6,7 +6,6 @@ compute smd/vol command Syntax """""" - .. parsed-literal:: compute ID group-ID smd/vol @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all smd/vol @@ -47,7 +45,6 @@ per-particle volumes of the group for which the fix is defined. Restrictions """""""""""" - This compute is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index 0fe8acde0c..83e28b913b 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -15,12 +15,11 @@ compute snap command Syntax """""" - .. parsed-literal:: compute ID group-ID sna/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... compute ID group-ID snad/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... - compute ID group-ID snav/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... + compute ID group-ID snav/atom rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... compute ID group-ID snap rcutfac rfac0 twojmax R_1 R_2 ... w_1 w_2 ... keyword values ... * ID, group-ID are documented in :doc:`compute <compute>` command @@ -28,13 +27,13 @@ Syntax * rcutfac = scale factor applied to all cutoff radii (positive real) * rfac0 = parameter in distance to angle conversion (0 < rcutfac < 1) * twojmax = band limit for bispectrum components (non-negative integer) -* R\_1, R\_2,... = list of cutoff radii, one for each type (distance units) -* w\_1, w\_2,... = list of neighbor weights, one for each type +* R_1, R_2,... = list of cutoff radii, one for each type (distance units) +* w_1, w_2,... = list of neighbor weights, one for each type * zero or more keyword/value pairs may be appended * keyword = *rmin0* or *switchflag* or *bzeroflag* or *quadraticflag* - + .. parsed-literal:: - + *rmin0* value = parameter in distance to angle conversion (distance units) *switchflag* value = *0* or *1* *0* = do not use switching function @@ -49,8 +48,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute b all sna/atom 1.4 0.99363 6 2.0 2.4 0.75 1.0 rmin0 0.0 compute db all sna/atom 1.4 0.95 6 2.0 1.0 @@ -63,8 +61,8 @@ Description Define a computation that calculates a set of quantities related to the bispectrum components of the atoms in a group. These computes are used primarily for calculating the dependence of energy, force, and -stress components on the linear coefficients in the -:doc:`snap pair\_style <pair_snap>`, which is useful when training a +stress components on the linear coefficients in the +:doc:`snap pair_style <pair_snap>`, which is useful when training a SNAP potential to match target data. Bispectrum components of an atom are order parameters characterizing @@ -73,25 +71,24 @@ mathematical definition is given in the paper by Thompson et al. :ref:`(Thompson) <Thompson20141>` The position of a neighbor atom *i'* relative to a central atom *i* is -a point within the 3D ball of radius *R\_ii' = rcutfac\*(R\_i + R\_i')* +a point within the 3D ball of radius *R_ii' = rcutfac\*(R_i + R_i')* Bartok et al. :ref:`(Bartok) <Bartok20101>`, proposed mapping this 3D ball onto the 3-sphere, the surface of the unit ball in a four-dimensional -space. The radial distance *r* within *R\_ii'* is mapped on to a third +space. The radial distance *r* within *R_ii'* is mapped on to a third polar angle *theta0* defined by, .. math:: \theta_0 = {\tt rfac0} \frac{r-r_{min0}}{R_{ii'}-r_{min0}} \pi - In this way, all possible neighbor positions are mapped on to a subset of the 3-sphere. Points south of the latitude *theta0max=rfac0\*Pi* are excluded. The natural basis for functions on the 3-sphere is formed by the 4D -hyperspherical harmonics *U\^j\_m,m'(theta, phi, theta0).* These -functions are better known as *D\^j\_m,m',* the elements of the Wigner +hyperspherical harmonics *U\^j_m,m'(theta, phi, theta0).* These +functions are better known as *D\^j_m,m',* the elements of the Wigner *D*\ -matrices :ref:`(Meremianin <Meremianin2006>`, :ref:`Varshalovich) <Varshalovich1987>`. @@ -103,22 +100,20 @@ coefficient as .. math:: - u^j_{m,m'} = U^j_{m,m'}(0,0,0) + \sum_{r_{ii'} < R_{ii'}}{f_c(r_{ii'}) w_{i'} U^j_{m,m'}(\theta_0,\theta,\phi)} + u^j_{m,m'} = U^j_{m,m'}(0,0,0) + \sum_{r_{ii'} < R_{ii'}}{f_c(r_{ii'}) w_{i'} U^j_{m,m'}(\theta_0,\theta,\phi)} - -The *w\_i'* neighbor weights are dimensionless numbers that are chosen +The *w_i'* neighbor weights are dimensionless numbers that are chosen to distinguish atoms of different types, while the central atom is arbitrarily assigned a unit weight. The function *fc(r)* ensures that the contribution of each neighbor atom goes smoothly to zero at -*R\_ii'*: +*R_ii'*: .. math:: f_c(r) = & \frac{1}{2}(\cos(\pi \frac{r-r_{min0}}{R_{ii'}-r_{min0}}) + 1), r \leq R_{ii'} \\ = & 0, r > R_{ii'} - -The expansion coefficients *u\^j\_m,m'* are complex-valued and they are +The expansion coefficients *u\^j_m,m'* are complex-valued and they are not directly useful as descriptors, because they are not invariant under rotation of the polar coordinate frame. However, the following scalar triple products of expansion coefficients can be shown to be @@ -126,15 +121,14 @@ real-valued and invariant under rotation :ref:`(Bartok) <Bartok20101>`. .. math:: - B_{j_1,j_2,j} = + B_{j_1,j_2,j} = \sum_{m_1,m'_1=-j_1}^{j_1}\sum_{m_2,m'_2=-j_2}^{j_2}\sum_{m,m'=-j}^{j} (u^j_{m,m'})^* H {\scriptscriptstyle \begin{array}{l} {j} {m} {m'} \\ {j_1} {m_1} {m'_1} \\ {j_2} {m_2} {m'_2} \end{array}} u^{j_1}_{m_1,m'_1} u^{j_2}_{m_2,m'_2} - -The constants *H\^jmm'\_j1m1m1'\_j2m2m2'* are coupling coefficients, +The constants *H\^jmm'_j1m1m1'_j2m2m2'* are coupling coefficients, analogous to Clebsch-Gordan coefficients for rotations on the 2-sphere. These invariants are the components of the bispectrum and these are the quantities calculated by the compute *sna/atom*\ . They @@ -154,7 +148,6 @@ summed separately for each atom type: -\sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j} }}{\partial {\bf r}_i} - The sum is over all atoms *i'* of atom type *I*\ . For each atom *i*\ , this compute evaluates the above expression for each direction, each atom type, and each bispectrum component. See section below on output @@ -167,7 +160,6 @@ derivatives: -{\bf r}_i \otimes \sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j}}}{\partial {\bf r}_i} - Again, the sum is over all atoms *i'* of atom type *I*\ . For each atom *i*\ , this compute evaluates the above expression for each of the six virial components, each atom type, and each bispectrum component. See @@ -175,7 +167,7 @@ section below on output for a detailed explanation. Compute *snap* calculates a global array contains information related to all three of the above per-atom computes *sna/atom*\ , *snad/atom*\ , -and *snav/atom*\ . The first row of the array contains the summation of +and *snav/atom*\ . The first row of the array contains the summation of *sna/atom* over all atoms, but broken out by type. The last six rows of the array contain the summation of *snav/atom* over all atoms, broken out by type. In between these are 3\*\ *N* rows containing the same values @@ -184,13 +176,12 @@ broken out by type). The element in the last column of each row contains the potential energy, force, or stress, according to the row. These quantities correspond to the user-specified reference potential that must be subtracted from the target data when fitting SNAP. -The potential energy calculation uses the built in compute *thermo\_pe*. -The stress calculation uses a compute called *snap\_press* that is +The potential energy calculation uses the built in compute *thermo_pe*. +The stress calculation uses a compute called *snap_press* that is automatically created behind the scenes, according to the following command: - -.. parsed-literal:: +.. code-block:: LAMMPS compute snap_press all pressure NULL virial @@ -259,7 +250,6 @@ of columns and the identity of the bispectrum component contained in each column depend of the value of *twojmax*\ , as described by the following piece of python code: - .. parsed-literal:: for j1 in range(0,twojmax+1): @@ -288,12 +278,12 @@ block contains six sub-blocks corresponding to the *xx*\ , *yy*\ , *zz*\ , notation. Each of these sub-blocks contains one column for each bispectrum component, the same as for compute *sna/atom* -Compute *snap* evaluates a global array. +Compute *snap* evaluates a global array. The columns are arranged into *ntypes* blocks, listed in order of atom type *I*\ . Each block contains one column for each bispectrum component, the same as for compute *sna/atom*\ . A final column contains the corresponding energy, force component -on an atom, or virial stress component. The rows of the array appear +on an atom, or virial stress component. The rows of the array appear in the following order: * 1 row: *sna/atom* quantities summed for all atoms of type *I* @@ -329,7 +319,6 @@ page for an overview of LAMMPS output options. Restrictions """""""""""" - These computes are part of the SNAP package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -344,32 +333,22 @@ Default The optional keyword defaults are *rmin0* = 0, *switchflag* = 1, *bzeroflag* = 1, *quadraticflag* = 0, - ---------- - .. _Thompson20141: - - **(Thompson)** Thompson, Swiler, Trott, Foiles, Tucker, under review, preprint available at `arXiv:1409.3880 <http://arxiv.org/abs/1409.3880>`_ .. _Bartok20101: - - **(Bartok)** Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). .. _Meremianin2006: - - **(Meremianin)** Meremianin, J. Phys. A, 39, 3099 (2006). .. _Varshalovich1987: - - **(Varshalovich)** Varshalovich, Moskalev, Khersonskii, Quantum Theory of Angular Momentum, World Scientific, Singapore (1987). diff --git a/doc/src/compute_spin.rst b/doc/src/compute_spin.rst index 034d2ab685..49243e9650 100644 --- a/doc/src/compute_spin.rst +++ b/doc/src/compute_spin.rst @@ -6,7 +6,6 @@ compute spin command Syntax """""" - .. code-block:: LAMMPS compute ID group-ID spin @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS compute out_mag all spin @@ -37,11 +35,9 @@ This compute calculates the following 6 magnetic quantities: * The sixth one is referred to as the spin temperature, according to the work of :ref:`(Nurdin) <Nurdin1>`. - The simplest way to output the results of the compute spin calculation is to define some of the quantities as variables, and to use the thermo and -thermo\_style commands, for example: - +thermo_style commands, for example: .. code-block:: LAMMPS @@ -56,7 +52,7 @@ thermo\_style commands, for example: This series of commands evaluates the total magnetization along z, the norm of the total magnetization, and the magnetic temperature. Three variables are -assigned to those quantities. The thermo and thermo\_style commands print them +assigned to those quantities. The thermo and thermo_style commands print them every 10 timesteps. **Output info:** @@ -67,9 +63,8 @@ metal units (:doc:`units <units>`). Restrictions """""""""""" - The *spin* compute is part of the SPIN package. This compute is only -enabled if LAMMPS was built with this package. See the :doc:`Build package <Build_package>` doc page for more info. The atom\_style +enabled if LAMMPS was built with this package. See the :doc:`Build package <Build_package>` doc page for more info. The atom_style has to be "spin" for this compute to be valid. **Related commands:** @@ -80,12 +75,8 @@ none none - ---------- - .. _Nurdin1: - - **(Nurdin)** Nurdin and Schotte Phys Rev E, 61(4), 3579 (2000) diff --git a/doc/src/compute_stress_atom.rst b/doc/src/compute_stress_atom.rst index e87b49428e..48e8b9c69c 100644 --- a/doc/src/compute_stress_atom.rst +++ b/doc/src/compute_stress_atom.rst @@ -8,7 +8,6 @@ compute centroid/stress/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID style temp-ID keyword ... @@ -22,8 +21,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 mobile stress/atom NULL compute 1 mobile stress/atom myRamp @@ -177,10 +175,8 @@ subtracting a background streaming velocity. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. - ---------- - Note that as defined in the formula, per-atom stress is the negative of the per-atom pressure tensor. It is also really a stress\*volume formulation, meaning the computed quantity is in units of @@ -199,12 +195,11 @@ is the total pressure of the system. These lines in an input script for a 3d system should yield that result. I.e. the last 2 columns of thermo output will be the same: - -.. parsed-literal:: +.. code-block:: LAMMPS compute peratom all stress/atom NULL compute p all reduce sum c_peratom[1] c_peratom[2] c_peratom[3] - variable press equal -(c_p[1]+c_p[2]+c_p[3])/(3\*vol) + variable press equal -(c_p[1]+c_p[2]+c_p[3])/(3*vol) thermo_style custom step temp etotal press v_press .. note:: @@ -245,30 +240,20 @@ Related commands **Default:** none - ---------- - .. _Heyes2: - - **(Heyes)** Heyes, Phys Rev B, 49, 755 (1994). .. _Sirk1: - - **(Sirk)** Sirk, Moore, Brown, J Chem Phys, 138, 064505 (2013). .. _Thompson2: - - **(Thompson)** Thompson, Plimpton, Mattson, J Chem Phys, 131, 154107 (2009). .. _Surblys1: - - **(Surblys)** Surblys, Matsubara, Kikugawa, Ohara, Phys Rev E, 99, 051301(R) (2019). diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index 0d721db3fe..83a8374702 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -9,7 +9,6 @@ compute stress/mop/profile command Syntax """""" - .. parsed-literal:: compute ID group-ID style dir args keywords ... @@ -20,7 +19,6 @@ Syntax * args = argument specific to the compute style * keywords = *kin* or *conf* or *total* (one of more can be specified) - .. parsed-literal:: *stress/mop* args = pos @@ -74,14 +72,14 @@ corrections to the pressure added by the :doc:`pair_modify tail yes <pair_modify Compute *stress/mop* calculates a global vector (indices starting at 1), with 3 values for each declared keyword (in the order the keywords have been declared). For each keyword, the stress tensor components are ordered as -follows: stress\_dir,x, stress\_dir,y, and stress\_dir,z. +follows: stress_dir,x, stress_dir,y, and stress_dir,z. Compute *stress/mop/profile* instead calculates a global array, with 1 column giving the position of the planes where the stress tensor was computed, and with 3 columns of values for each declared keyword (in the order the keywords have been declared). For each keyword, the profiles of stress -tensor components are ordered as follows: stress\_dir,x; stress\_dir,y; -and stress\_dir,z. +tensor components are ordered as follows: stress_dir,x; stress_dir,y; +and stress_dir,z. The values are in pressure :doc:`units <units>`. @@ -90,7 +88,6 @@ The values produced by this compute can be accessed by various :doc:`output comm Restrictions """""""""""" - These styles are part of the USER-MISC package. They are only enabled if LAMMPS is built with that package. See the :doc:`Build package <Build_package>` doc page on for more info. @@ -110,13 +107,9 @@ Related commands **Default:** none - ---------- - .. _mop-todd: - - **(Todd)** B. D. Todd, Denis J. Evans, and Peter J. Daivis: "Pressure tensor for inhomogeneous fluids", Phys. Rev. E 52, 1627 (1995). diff --git a/doc/src/compute_tally.rst b/doc/src/compute_tally.rst index a5973a038a..f49c872306 100644 --- a/doc/src/compute_tally.rst +++ b/doc/src/compute_tally.rst @@ -18,7 +18,6 @@ compute stress/tally command Syntax """""" - .. parsed-literal:: compute ID group-ID style group2-ID @@ -30,8 +29,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 lower force/tally upper compute 1 left pe/tally right @@ -53,10 +51,8 @@ and intramolecular energies. Something that would otherwise be impossible without integrating this as a core functionality into the based classes of LAMMPS. - ---------- - The pairwise contributions are computing via a callback that the compute registers with the non-bonded pairwise force computation. This limits the use to systems that have no bonds, no Kspace, and no @@ -65,10 +61,8 @@ have to compute forces or energies a second time and thus can be much more efficient. The callback mechanism allows to write more complex pairwise property computations. - ---------- - **Output info:** Compute *pe/tally* calculates a global scalar (the energy) and a per @@ -92,7 +86,6 @@ Both the scalar and vector values calculated by this compute are Restrictions """""""""""" - This compute is part of the USER-TALLY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -109,7 +102,7 @@ The computes in this package are not compatible with dynamic groups. Related commands """""""""""""""" -*compute group/group*\ \_compute\_group\_group.html, *compute -heat/flux*\ \_compute\_heat\_flux.html +*compute group/group*\ _compute_group_group.html, *compute +heat/flux*\ _compute_heat_flux.html **Default:** none diff --git a/doc/src/compute_tdpd_cc_atom.rst b/doc/src/compute_tdpd_cc_atom.rst index ba1a9d5d0f..00eee60f62 100644 --- a/doc/src/compute_tdpd_cc_atom.rst +++ b/doc/src/compute_tdpd_cc_atom.rst @@ -6,7 +6,6 @@ compute tdpd/cc/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID tdpd/cc/atom index @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all tdpd/cc/atom 2 @@ -47,7 +45,6 @@ per unit mass. Restrictions """""""""""" - This compute is part of the USER-MESODPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -58,13 +55,9 @@ Related commands **Default:** none - ---------- - .. _Li2015a: - - **(Li2015)** Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, 143: 014101 (2015). DOI: 10.1063/1.4923254 diff --git a/doc/src/compute_temp.rst b/doc/src/compute_temp.rst index e485b982f2..9232191472 100644 --- a/doc/src/compute_temp.rst +++ b/doc/src/compute_temp.rst @@ -9,7 +9,6 @@ compute temp/kk command Syntax """""" - .. parsed-literal:: compute ID group-ID temp @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp compute myTemp mobile temp @@ -56,24 +54,21 @@ atoms that include these constraints will be computed correctly. If needed, the subtracted degrees-of-freedom can be altered using the *extra* option of the :doc:`compute_modify <compute_modify>` command. -A compute of this style with the ID of "thermo\_temp" is created when +A compute of this style with the ID of "thermo_temp" is created when LAMMPS starts up, as if this command were in the input script: - -.. parsed-literal:: +.. code-block:: LAMMPS compute thermo_temp all temp -See the "thermo\_style" command for more details. +See the "thermo_style" command for more details. See the :doc:`Howto thermostat <Howto_thermostat>` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -92,10 +87,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global diff --git a/doc/src/compute_temp_asphere.rst b/doc/src/compute_temp_asphere.rst index eef88ebe86..46fadc2ff5 100644 --- a/doc/src/compute_temp_asphere.rst +++ b/doc/src/compute_temp_asphere.rst @@ -6,7 +6,6 @@ compute temp/asphere command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/asphere keyword value ... @@ -15,22 +14,19 @@ Syntax * temp/asphere = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *bias* or *dof* - + .. parsed-literal:: - + *bias* value = bias-ID bias-ID = ID of a temperature compute that removes a velocity bias *dof* value = *all* or *rotate* all = compute temperature of translational and rotational degrees of freedom rotate = compute temperature of just rotational degrees of freedom - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/asphere compute myTemp mobile temp/asphere bias tempCOM @@ -107,10 +103,8 @@ See the :doc:`Howto thermostat <Howto_thermostat>` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - The keyword/value option pairs are used in the following ways. For the *bias* keyword, *bias-ID* refers to the ID of a temperature @@ -127,10 +121,8 @@ that includes both translational and rotational degrees of freedom. A setting of *rotate* calculates a temperature that includes only rotational degrees of freedom. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global @@ -148,7 +140,6 @@ vector values will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_temp_body.rst b/doc/src/compute_temp_body.rst index df9ff29f2d..75477eff36 100644 --- a/doc/src/compute_temp_body.rst +++ b/doc/src/compute_temp_body.rst @@ -6,7 +6,6 @@ compute temp/body command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/body keyword value ... @@ -15,22 +14,19 @@ Syntax * temp/body = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *bias* or *dof* - + .. parsed-literal:: - + *bias* value = bias-ID bias-ID = ID of a temperature compute that removes a velocity bias *dof* value = *all* or *rotate* all = compute temperature of translational and rotational degrees of freedom rotate = compute temperature of just rotational degrees of freedom - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/body compute myTemp mobile temp/body bias tempCOM @@ -87,10 +83,8 @@ See the :doc:`Howto thermostat <Howto_thermostat>` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - The keyword/value option pairs are used in the following ways. For the *bias* keyword, *bias-ID* refers to the ID of a temperature @@ -107,10 +101,8 @@ that includes both translational and rotational degrees of freedom. A setting of *rotate* calculates a temperature that includes only rotational degrees of freedom. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global @@ -128,7 +120,6 @@ vector values will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_temp_chunk.rst b/doc/src/compute_temp_chunk.rst index a23ddd0c6d..89bef3a327 100644 --- a/doc/src/compute_temp_chunk.rst +++ b/doc/src/compute_temp_chunk.rst @@ -6,7 +6,6 @@ compute temp/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/chunk chunkID value1 value2 ... keyword value ... @@ -16,18 +15,18 @@ Syntax * chunkID = ID of :doc:`compute chunk/atom <compute_chunk_atom>` command * zero or more values can be listed as value1,value2,etc * value = *temp* or *kecom* or *internal* - + .. parsed-literal:: - + temp = temperature of each chunk kecom = kinetic energy of each chunk based on velocity of center of mass internal = internal kinetic energy of each chunk * zero or more keyword/value pairs may be appended * keyword = *com* or *bias* or *adof* or *cdof* - + .. parsed-literal:: - + *com* value = *yes* or *no* yes = subtract center-of-mass velocity from each chunk before calculating temperature no = do not subtract center-of-mass velocity @@ -38,13 +37,10 @@ Syntax *cdof* value = dof_per_chunk dof_per_chunk = define this many degrees-of-freedom per chunk - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid temp/chunk molchunk compute 1 fluid temp/chunk molchunk temp internal @@ -116,10 +112,8 @@ chunk. The interal KE is summed over the atoms in the chunk using an internal "thermal" velocity for each atom, which is its velocity minus the center-of-mass velocity of the chunk. - ---------- - Note that currently the global and per-chunk temperatures calculated by this compute only include translational degrees of freedom for each atom. No rotational degrees of freedom are included for finite-size @@ -155,17 +149,14 @@ calculating the temperature; fix ave/chunk does not. The simplest way to output the per-chunk results of the compute temp/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all temp/chunk cc1 temp fix 1 all ave/time 100 1 100 c_myChunk file tmp.out mode vector - ---------- - The keyword/value option pairs are used in the following ways. The *com* keyword can be used with a value of *yes* to subtract the @@ -208,10 +199,8 @@ set to the remaining degrees of freedom for the entire molecule (entire chunk in this case), e.g. 6 for 3d, or 3 for 2d, for a rigid molecule. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global @@ -240,7 +229,6 @@ energy :doc:`units <units>` for the *kecom* and *internal* values. Restrictions """""""""""" - The *com* and *bias* keywords cannot be used together. Related commands diff --git a/doc/src/compute_temp_com.rst b/doc/src/compute_temp_com.rst index edc7adb3bf..b21db2ac27 100644 --- a/doc/src/compute_temp_com.rst +++ b/doc/src/compute_temp_com.rst @@ -6,7 +6,6 @@ compute temp/com command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/com @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/com compute myTemp mobile temp/com diff --git a/doc/src/compute_temp_cs.rst b/doc/src/compute_temp_cs.rst index fa4949fa78..f3c82c2b1a 100644 --- a/doc/src/compute_temp_cs.rst +++ b/doc/src/compute_temp_cs.rst @@ -6,7 +6,6 @@ compute temp/cs command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/cs group1 group2 @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute oxygen_c-s all temp/cs O_core O_shell compute core_shells all temp/cs cores shells @@ -102,7 +100,6 @@ vector values will be in energy :doc:`units <units>`. Restrictions """""""""""" - The number of core/shell pairs contributing to the temperature is assumed to be constant for the duration of the run. No fixes should be used which generate new molecules or atoms during a simulation. @@ -114,13 +111,9 @@ Related commands **Default:** none - ---------- - .. _MitchellFinchham1: - - **(Mitchell and Finchham)** Mitchell, Finchham, J Phys Condensed Matter, 5, 1031-1038 (1993). diff --git a/doc/src/compute_temp_deform.rst b/doc/src/compute_temp_deform.rst index d470b24bdc..d73670485b 100644 --- a/doc/src/compute_temp_deform.rst +++ b/doc/src/compute_temp_deform.rst @@ -6,7 +6,6 @@ compute temp/deform command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/deform @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute myTemp all temp/deform diff --git a/doc/src/compute_temp_deform_eff.rst b/doc/src/compute_temp_deform_eff.rst index 46292fcfc1..b5d6659573 100644 --- a/doc/src/compute_temp_deform_eff.rst +++ b/doc/src/compute_temp_deform_eff.rst @@ -6,7 +6,6 @@ compute temp/deform/eff command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/deform/eff @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute myTemp all temp/deform/eff @@ -62,7 +60,6 @@ vector values will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_temp_drude.rst b/doc/src/compute_temp_drude.rst index 706ee32beb..8cb9849a24 100644 --- a/doc/src/compute_temp_drude.rst +++ b/doc/src/compute_temp_drude.rst @@ -6,7 +6,6 @@ compute temp/drude command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/drude @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute TDRUDE all temp/drude @@ -69,10 +67,9 @@ are "extensive". Restrictions """""""""""" - The number of degrees of freedom contributing to the temperature is assumed to be constant for the duration of the run unless the -*fix\_modify* command sets the option *dynamic yes*\ . +*fix_modify* command sets the option *dynamic yes*\ . Related commands """""""""""""""" diff --git a/doc/src/compute_temp_eff.rst b/doc/src/compute_temp_eff.rst index 06cdfbb8f0..84a2028920 100644 --- a/doc/src/compute_temp_eff.rst +++ b/doc/src/compute_temp_eff.rst @@ -6,7 +6,6 @@ compute temp/eff command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/eff @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/eff compute myTemp mobile temp/eff @@ -53,8 +51,7 @@ densities two to five times the density of liquid H2 ranges from :doc:`thermo_modify <thermo_modify>` command, as shown in the following example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute effTemp all temp/eff thermo_style custom step etotal pe ke temp press @@ -91,7 +88,6 @@ the simulation. Restrictions """""""""""" - This compute is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_temp_partial.rst b/doc/src/compute_temp_partial.rst index a01abd49a0..e2fd36f35a 100644 --- a/doc/src/compute_temp_partial.rst +++ b/doc/src/compute_temp_partial.rst @@ -6,7 +6,6 @@ compute temp/partial command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/partial xflag yflag zflag @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute newT flow temp/partial 1 1 0 @@ -69,10 +67,8 @@ See the :doc:`Howto thermostat <Howto_thermostat>` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -91,10 +87,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global diff --git a/doc/src/compute_temp_profile.rst b/doc/src/compute_temp_profile.rst index 9ecf985596..53870fa300 100644 --- a/doc/src/compute_temp_profile.rst +++ b/doc/src/compute_temp_profile.rst @@ -6,7 +6,6 @@ compute temp/profile command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/profile xflag yflag zflag binstyle args @@ -15,9 +14,9 @@ Syntax * temp/profile = style name of this compute command * xflag,yflag,zflag = 0/1 for whether to exclude/include this dimension * binstyle = *x* or *y* or *z* or *xy* or *yz* or *xz* or *xyz* - + .. parsed-literal:: - + *x* arg = Nx *y* arg = Ny *z* arg = Nz @@ -29,18 +28,15 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *out* - + .. parsed-literal:: - + *out* value = *tensor* or *bin* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute myTemp flow temp/profile 1 1 1 x 10 compute myTemp flow temp/profile 1 1 1 x 10 out bin @@ -169,7 +165,6 @@ temperature :doc:`units <units>`. Restrictions """""""""""" - You should not use too large a velocity-binning grid, especially in 3d. In the current implementation, the binned velocity averages are summed across all processors, so this will be inefficient if the grid @@ -186,12 +181,8 @@ Default The option default is out = tensor. - ---------- - .. _Evans1: - - **(Evans)** Evans and Morriss, Phys Rev Lett, 56, 2172-2175 (1986). diff --git a/doc/src/compute_temp_ramp.rst b/doc/src/compute_temp_ramp.rst index 1fae6bb419..4ac22bdfef 100644 --- a/doc/src/compute_temp_ramp.rst +++ b/doc/src/compute_temp_ramp.rst @@ -6,7 +6,6 @@ compute temp/ramp command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/ramp vdim vlo vhi dim clo chi keyword value ... @@ -20,7 +19,6 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - .. parsed-literal:: *units* value = *lattice* or *box* @@ -28,8 +26,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 2nd middle temp/ramp vx 0 8 y 2 12 units lattice diff --git a/doc/src/compute_temp_region.rst b/doc/src/compute_temp_region.rst index b896863756..e207d75d9f 100644 --- a/doc/src/compute_temp_region.rst +++ b/doc/src/compute_temp_region.rst @@ -6,7 +6,6 @@ compute temp/region command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/region region-ID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute mine flow temp/region boundary diff --git a/doc/src/compute_temp_region_eff.rst b/doc/src/compute_temp_region_eff.rst index 9026d15d67..a05cc5597c 100644 --- a/doc/src/compute_temp_region_eff.rst +++ b/doc/src/compute_temp_region_eff.rst @@ -6,7 +6,6 @@ compute temp/region/eff command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/region/eff region-ID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute mine flow temp/region/eff boundary @@ -54,7 +52,6 @@ vector values will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_temp_rotate.rst b/doc/src/compute_temp_rotate.rst index 697444c6ed..7d3ed4d63d 100644 --- a/doc/src/compute_temp_rotate.rst +++ b/doc/src/compute_temp_rotate.rst @@ -6,7 +6,6 @@ compute temp/rotate command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/rotate @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute Tbead bead temp/rotate @@ -85,7 +83,6 @@ vector values will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_temp_sphere.rst b/doc/src/compute_temp_sphere.rst index 64fc371b50..f0cd4c3ba0 100644 --- a/doc/src/compute_temp_sphere.rst +++ b/doc/src/compute_temp_sphere.rst @@ -6,7 +6,6 @@ compute temp/sphere command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/sphere keyword value ... @@ -15,22 +14,19 @@ Syntax * temp/sphere = style name of this compute command * zero or more keyword/value pairs may be appended * keyword = *bias* or *dof* - + .. parsed-literal:: - + *bias* value = bias-ID bias-ID = ID of a temperature compute that removes a velocity bias *dof* value = *all* or *rotate* all = compute temperature of translational and rotational degrees of freedom rotate = compute temperature of just rotational degrees of freedom - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/sphere compute myTemp mobile temp/sphere bias tempCOM @@ -94,10 +90,8 @@ See the :doc:`Howto thermostat <Howto_thermostat>` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - The keyword/value option pairs are used in the following ways. For the *bias* keyword, *bias-ID* refers to the ID of a temperature @@ -114,10 +108,8 @@ that includes both translational and rotational degrees of freedom. A setting of *rotate* calculates a temperature that includes only rotational degrees of freedom. - ---------- - **Output info:** This compute calculates a global scalar (the temperature) and a global @@ -135,7 +127,6 @@ vector values will be in energy :doc:`units <units>`. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the :doc:`atom_style sphere <atom_style>` command. diff --git a/doc/src/compute_temp_uef.rst b/doc/src/compute_temp_uef.rst index ca554c2314..2ce288a66f 100644 --- a/doc/src/compute_temp_uef.rst +++ b/doc/src/compute_temp_uef.rst @@ -6,7 +6,6 @@ compute temp/uef command Syntax """""" - .. parsed-literal:: compute ID group-ID temp/uef @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all temp/uef compute 2 sel temp/uef @@ -40,7 +38,6 @@ documentation for :doc:`compute temp <compute_temp>`. Restrictions """""""""""" - This fix is part of the USER-UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_ti.rst b/doc/src/compute_ti.rst index 9ac5cc5bc3..79fc56178c 100644 --- a/doc/src/compute_ti.rst +++ b/doc/src/compute_ti.rst @@ -6,7 +6,6 @@ compute ti command Syntax """""" - .. parsed-literal:: compute ID group ti keyword args ... @@ -15,9 +14,9 @@ Syntax * ti = style name of this compute command * one or more attribute/arg pairs may be appended * keyword = pair style (lj/cut, gauss, born, etc) or *tail* or *kspace* - + .. parsed-literal:: - + pair style args = atype v_name1 v_name2 atype = atom type (see asterisk form below) v_name1 = variable with name1 that is energy scale factor and function of lambda @@ -31,16 +30,13 @@ Syntax v_name1 = variable with name1 that is K-Space scale factor and function of lambda v_name2 = variable with name2 that is derivative of v_name1 with respect to lambda - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all ti lj/cut 1 v_lj v_dlj coul/long 2 v_c v_dc kspace 1 v_ks v_dks - compute 1 all ti lj/cut 1\*3 v_lj v_dlj coul/long \* v_c v_dc kspace \* v_ks v_dks + compute 1 all ti lj/cut 1*3 v_lj v_dlj coul/long * v_c v_dc kspace * v_ks v_dks Description """"""""""" @@ -62,17 +58,15 @@ to 1 (or vice versa) over the course of a :doc:`run <run>`. The time-dependent adjustment is what the :doc:`fix adapt <fix_adapt>` command does. -Assume that the unscaled energy of a pair\_style or kspace\_style is +Assume that the unscaled energy of a pair_style or kspace_style is given by U. Then the scaled energy is - .. parsed-literal:: Us = f(lambda) U where f() is some function of lambda. What this compute calculates is - .. parsed-literal:: dUs / d(lambda) = U df(lambda)/dlambda = Us / f(lambda) df(lambda)/dlambda @@ -91,9 +85,9 @@ leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -You also specify two functions, as :doc:`equal-style variables <variable>`. The first is specified as *v\_name1*, where +You also specify two functions, as :doc:`equal-style variables <variable>`. The first is specified as *v_name1*, where *name1* is the name of the variable, and is f(lambda) in the notation -above. The second is specified as *v\_name2*, where *name2* is the +above. The second is specified as *v_name2*, where *name2* is the name of the variable, and is df(lambda) / dlambda in the notation above. I.e. it is the analytic derivative of f() with respect to lambda. Note that the *name1* variable is also typically given as an @@ -117,10 +111,8 @@ command. More details about the exact functional forms for the computation of du/dl can be found in the paper by :ref:`Eike <Eike>`. - ---------- - **Output info:** This compute calculates a global scalar, namely dUs/dlambda. This @@ -135,7 +127,6 @@ The scalar value will be in energy :doc:`units <units>`. Restrictions """""""""""" - This compute is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -146,12 +137,8 @@ Related commands **Default:** none - ---------- - .. _Eike: - - **(Eike)** Eike and Maginn, Journal of Chemical Physics, 124, 164503 (2006). diff --git a/doc/src/compute_torque_chunk.rst b/doc/src/compute_torque_chunk.rst index ae4d5f120c..258ce03aa0 100644 --- a/doc/src/compute_torque_chunk.rst +++ b/doc/src/compute_torque_chunk.rst @@ -6,7 +6,6 @@ compute torque/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID torque/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid torque/chunk molchunk @@ -63,12 +61,11 @@ The simplest way to output the results of the compute torque/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all torque/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** diff --git a/doc/src/compute_vacf.rst b/doc/src/compute_vacf.rst index a10299d5e1..ce2757c115 100644 --- a/doc/src/compute_vacf.rst +++ b/doc/src/compute_vacf.rst @@ -6,7 +6,6 @@ compute vacf command Syntax """""" - .. parsed-literal:: compute ID group-ID vacf @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all vacf compute 1 upper vacf @@ -43,12 +41,11 @@ The integral of the VACF versus time is proportional to the diffusion coefficient of the diffusing atoms. This can be computed in the following manner, using the :doc:`variable trap() <variable>` function: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 2 all vacf fix 5 all vector 1 c_2[4] - variable diff equal dt\*trap(f_5) + variable diff equal dt*trap(f_5) thermo_style custom step v_diff .. note:: diff --git a/doc/src/compute_vcm_chunk.rst b/doc/src/compute_vcm_chunk.rst index 338265374b..415038d7c2 100644 --- a/doc/src/compute_vcm_chunk.rst +++ b/doc/src/compute_vcm_chunk.rst @@ -6,7 +6,6 @@ compute vcm/chunk command Syntax """""" - .. parsed-literal:: compute ID group-ID vcm/chunk chunkID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 fluid vcm/chunk molchunk @@ -53,12 +51,11 @@ The simplest way to output the results of the compute vcm/chunk calculation to a file is to use the :doc:`fix ave/time <fix_ave_time>` command, for example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 all chunk/atom molecule compute myChunk all vcm/chunk cc1 - fix 1 all ave/time 100 1 100 c_myChunk[\*] file tmp.out mode vector + fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector **Output info:** diff --git a/doc/src/compute_voronoi_atom.rst b/doc/src/compute_voronoi_atom.rst index 0e75db4999..a5d99d5de9 100644 --- a/doc/src/compute_voronoi_atom.rst +++ b/doc/src/compute_voronoi_atom.rst @@ -6,7 +6,6 @@ compute voronoi/atom command Syntax """""" - .. parsed-literal:: compute ID group-ID voronoi/atom keyword arg ... @@ -14,11 +13,11 @@ Syntax * ID, group-ID are documented in :doc:`compute <compute>` command * voronoi/atom = style name of this compute command * zero or more keyword/value pairs may be appended -* keyword = *only\_group* or *surface* or *radius* or *edge\_histo* or *edge\_threshold* - or *face\_threshold* or *neighbors* or *peratom* - +* keyword = *only_group* or *surface* or *radius* or *edge_histo* or *edge_threshold* + or *face_threshold* or *neighbors* or *peratom* + .. parsed-literal:: - + *only_group* = no arg *occupation* = no arg *surface* arg = sgroup-ID @@ -35,13 +34,10 @@ Syntax *neighbors* value = *yes* or *no* = store list of all neighbors or no *peratom* value = *yes* or *no* = per-atom quantities accessible or no - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all voronoi/atom compute 2 precipitate voronoi/atom surface matrix @@ -67,11 +63,9 @@ plus any exterior faces (see note below). If the *peratom* keyword is set to "no", the per-atom quantities are still calculated, but they are not accessible. - ---------- - -If the *only\_group* keyword is specified the tessellation is performed +If the *only_group* keyword is specified the tessellation is performed only with respect to the atoms contained in the compute group. This is equivalent to deleting all atoms not contained in the group prior to evaluating the tessellation. @@ -86,24 +80,23 @@ In the example above, a precipitate embedded in a matrix, only atoms at the surface of the precipitate will have non-zero surface area, and only the outward facing facets of the Voronoi cells are counted (the hull of the precipitate). The total surface area of the precipitate -can be obtained by running a "reduce sum" compute on c\_2[3] +can be obtained by running a "reduce sum" compute on c_2[3] If the *radius* keyword is specified with an atom style variable as the argument, a poly-disperse Voronoi tessellation is performed. Examples for radius variables are +.. code-block:: LAMMPS -.. parsed-literal:: - - variable r1 atom (type==1)\*0.1+(type==2)\*0.4 + variable r1 atom (type==1)*0.1+(type==2)*0.4 compute radius all property/atom radius variable r2 atom c_radius -Here v\_r1 specifies a per-type radius of 0.1 units for type 1 atoms -and 0.4 units for type 2 atoms, and v\_r2 accesses the radius property -present in atom\_style sphere for granular models. +Here v_r1 specifies a per-type radius of 0.1 units for type 1 atoms +and 0.4 units for type 2 atoms, and v_r2 accesses the radius property +present in atom_style sphere for granular models. -The *edge\_histo* keyword activates the compilation of a histogram of +The *edge_histo* keyword activates the compilation of a histogram of number of edges on the faces of the Voronoi cells in the compute group. The argument *maxedge* of the this keyword is the largest number of edges on a single Voronoi cell face expected to occur in the @@ -113,7 +106,7 @@ faces with more than *maxedge* edges. Since the polygon with the smallest amount of edges is a triangle, entries 1 and 2 of the vector will always be zero. -The *edge\_threshold* and *face\_threshold* keywords allow the +The *edge_threshold* and *face_threshold* keywords allow the suppression of edges below a given minimum length and faces below a given minimum area. Ultra short edges and ultra small faces can occur as artifacts of the Voronoi tessellation. These keywords will affect @@ -146,19 +139,16 @@ overview of LAMMPS output options. More specifically, the array can be accessed by a :doc:`dump local <dump>` command to write a file containing all the Voronoi neighbors in a system: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 6 all voronoi/atom neighbors yes dump d2 all local 1 dump.neighbors index c_6[1] c_6[2] c_6[3] -If the *face\_threshold* keyword is used, then only faces +If the *face_threshold* keyword is used, then only faces with areas greater than the threshold are stored. - ---------- - The Voronoi calculation is performed by the freely available `Voro++ package <voronoi_>`_, written by Chris Rycroft at UC Berkeley and LBL, which must be installed on your system when building LAMMPS for use with this compute. See instructions on obtaining and installing the @@ -166,8 +156,6 @@ Voro++ software in the src/VORONOI/README file. .. _voronoi: http://math.lbl.gov/voro++/ - - .. note:: The calculation of Voronoi volumes is performed by each @@ -211,7 +199,7 @@ per-atom values from a compute as input. See the :doc:`Howto output <Howto_outp options. If the *peratom* keyword is set to "no", the per-atom array is still created, but it is not accessible. -If the *edge\_histo* keyword is used, then this compute generates a +If the *edge_histo* keyword is used, then this compute generates a global vector of length *maxedge*\ +1, containing a histogram of the number of edges per face. @@ -235,7 +223,6 @@ The Voronoi face area will be in distance :doc:`units <units>` squared. Restrictions """""""""""" - This compute is part of the VORONOI package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/compute_xrd.rst b/doc/src/compute_xrd.rst index d95fad79e4..29b1e9ebd0 100644 --- a/doc/src/compute_xrd.rst +++ b/doc/src/compute_xrd.rst @@ -6,7 +6,6 @@ compute xrd command Syntax """""" - .. parsed-literal:: compute ID group-ID xrd lambda type1 type2 ... typeN keyword value ... @@ -17,9 +16,9 @@ Syntax * type1 type2 ... typeN = chemical symbol of each atom type (see valid options below) * zero or more keyword/value pairs may be appended * keyword = *2Theta* or *c* or *LP* or *manual* or *echo* - + .. parsed-literal:: - + *2Theta* values = Min2Theta Max2Theta Min2Theta,Max2Theta = minimum and maximum 2 theta range to explore (radians or degrees) @@ -32,13 +31,10 @@ Syntax based on the values of the *c* parameters *echo* = flag to provide extra output for debugging purposes - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all xrd 1.541838 Al O 2Theta 0.087 0.87 c 1 1 1 LP 1 echo compute 2 all xrd 1.541838 Al O 2Theta 10 100 c 0.05 0.05 0.05 LP 1 manual @@ -111,7 +107,7 @@ The analytic approximation is computed using the formula .. math:: - f_j\left ( \frac{sin(\theta)}{\lambda} \right )=\sum_{i}^{4} + f_j\left ( \frac{sin(\theta)}{\lambda} \right )=\sum_{i}^{4} a_i exp\left ( -b_i \frac{sin^{2}(\theta)}{\lambda^{2}} \right )+c Coefficients parameterized by :ref:`(Peng) <Peng>` are assigned for each @@ -226,11 +222,10 @@ All array values calculated by this compute are "intensive". Restrictions """""""""""" - This compute is part of the USER-DIFFRACTION package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. -The compute\_xrd command does not work for triclinic cells. +The compute_xrd command does not work for triclinic cells. Related commands """""""""""""""" @@ -244,27 +239,19 @@ Default The option defaults are 2Theta = 1 179 (degrees), c = 1 1 1, LP = 1, no manual flag, no echo flag. - ---------- - .. _xrd-Coleman: - - **(Coleman)** Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013). .. _Colliex: - - **(Colliex)** Colliex et al. International Tables for Crystallography Volume C: Mathematical and Chemical Tables, 249-429 (2004). .. _Peng: - - **(Peng)** Peng, Ren, Dudarev, Whelan, Acta Crystallogr. A, 52, 257-76 (1996). diff --git a/doc/src/computes.rst b/doc/src/computes.rst index 1c1819a444..8d53b6cf06 100644 --- a/doc/src/computes.rst +++ b/doc/src/computes.rst @@ -1,7 +1,6 @@ Computes ######## - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index bb3e7ba775..2e0b079e09 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -6,16 +6,15 @@ create_atoms command Syntax """""" - .. code-block:: LAMMPS create_atoms type style args keyword values ... * type = atom type (1-Ntypes) of atoms to create (offset for molecule creation) * style = *box* or *region* or *single* or *random* - + .. parsed-literal:: - + *box* args = none *region* args = region-ID region-ID = particles will only be created if contained in the region @@ -28,9 +27,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *mol* or *basis* or *ratio* or *subset* or *remap* or *var* or *set* or *rotate* or *units* - + .. code-block:: LAMMPS - + *mol* value = template-ID seed template-ID = ID of molecule template specified in a separate :doc:`molecule <molecule>` command seed = random # seed (positive integer) @@ -55,12 +54,9 @@ Syntax *lattice* = the geometry is defined in lattice units *box* = the geometry is defined in simulation box units - - Examples """""""" - .. code-block:: LAMMPS create_atoms 1 box @@ -92,7 +88,7 @@ the specified atom *type*\ . E.g. if *type* = 2, and the file specifies atom types 1,2,3, then each created molecule will have atom types 3,4,5. -For the *box* style, the create\_atoms command fills the entire +For the *box* style, the create_atoms command fills the entire simulation box with particles on the lattice. If your simulation box is periodic, you should insure its size is a multiple of the lattice spacings, to avoid unwanted atom overlaps at the box boundaries. If @@ -140,11 +136,11 @@ outside a geometric boundary. Note that this command adds particles to those that already exist. This means it can be used to add particles to a system previously read -in from a data or restart file. Or the create\_atoms command can be +in from a data or restart file. Or the create_atoms command can be used multiple times, to add multiple sets of particles to the simulation. For example, grain boundaries can be created, by -interleaving create\_atoms with :doc:`lattice <lattice>` commands -specifying different orientations. By using the create\_atoms command +interleaving create_atoms with :doc:`lattice <lattice>` commands +specifying different orientations. By using the create_atoms command in conjunction with the :doc:`delete_atoms <delete_atoms>` command, reasonably complex geometries can be created, or a protein can be solvated with a surrounding box of water molecules. @@ -161,16 +157,14 @@ used to remove overlapping atoms or molecules. LAMMPS. This is true even if you are using shrink-wrapped box boundaries, as specified by the :doc:`boundary <boundary>` command. However, you can first use the :doc:`change_box <change_box>` command to - temporarily expand the box, then add atoms via create\_atoms, then - finally use change\_box command again if needed to re-shrink-wrap the + temporarily expand the box, then add atoms via create_atoms, then + finally use change_box command again if needed to re-shrink-wrap the new atoms. See the :doc:`change_box <change_box>` doc page for an - example of how to do this, using the create\_atoms *single* style to + example of how to do this, using the create_atoms *single* style to insert a new atom outside the current simulation box. - ---------- - Individual atoms are inserted by this command, unless the *mol* keyword is used. It specifies a *template-ID* previously defined using the :doc:`molecule <molecule>` command, which reads a file that @@ -201,17 +195,15 @@ not overlap, regardless of their relative orientations. .. note:: If the :doc:`create_box <create_box>` command is used to create - the simulation box, followed by the create\_atoms command with its + the simulation box, followed by the create_atoms command with its *mol* option for adding molecules, then you typically need to use the optional keywords allowed by the :doc:`create_box <create_box>` command for extra bonds (angles,etc) or extra special neighbors. This is because by default, the :doc:`create_box <create_box>` command sets up a non-molecular system which doesn't allow molecules to be added. - ---------- - This is the meaning of the other allowed keywords. The *basis* keyword is only used when atoms (not molecules) are being @@ -268,7 +260,6 @@ the sinusoid would appear to be "smoother". Also note the use of the converts lattice spacings to distance. Click on the image for a larger version. - .. code-block:: LAMMPS dimension 2 @@ -304,14 +295,12 @@ the :doc:`units <units>` command, e.g. Angstroms for units = real or metal. A *lattice* value means the distance units are in lattice spacings. - ---------- - Atom IDs are assigned to created atoms in the following way. The collection of created atoms are assigned consecutive IDs that start immediately following the largest atom ID existing before the -create\_atoms command was invoked. This is done by the processor's +create_atoms command was invoked. This is done by the processor's communicating the number of atoms they each own, the first processor numbering its atoms from 1 to N1, the second processor from N1+1 to N2, etc. Where N1 = number of atoms owned by the first processor, N2 @@ -358,14 +347,11 @@ and thus also set the mass for the particle to 1.0. The :doc:`set <set>` command can be used to override many of these default settings. - ---------- - Restrictions """""""""""" - An :doc:`atom_style <atom_style>` must be previously defined to use this command. diff --git a/doc/src/create_bonds.rst b/doc/src/create_bonds.rst index 04749f0289..b69fd909f0 100644 --- a/doc/src/create_bonds.rst +++ b/doc/src/create_bonds.rst @@ -6,14 +6,12 @@ create_bonds command Syntax """""" - .. code-block:: LAMMPS create_bonds style args ... keyword value ... * style = *many* or *single/bond* or *single/angle* or *single/dihedral* - .. parsed-literal:: *many* args = group-ID group2-ID btype rmin rmax @@ -42,12 +40,9 @@ Syntax *special* value = *yes* or *no* - - Examples """""""" - .. code-block:: LAMMPS create_bonds many all all 1 1.0 1.2 @@ -105,10 +100,8 @@ data file for a complex system of molecules. "extra/bond/per/atom" arguments. And similarly for angles, dihedrals and impropers. See the doc pages for these 2 commands for details. - ---------- - The *many* style will create bonds between pairs of atoms I,J where I is in one of the two specified groups, and J is in the other. The two groups can be the same, e.g. group "all". The created bonds will be @@ -121,7 +114,7 @@ apart such that *rmin* <= D <= *rmax*\ . The following settings must have been made in an input script before this style is used: -* special\_bonds weight for 1-2 interactions must be 0.0 +* special_bonds weight for 1-2 interactions must be 0.0 * a :doc:`pair_style <pair_style>` must be defined * no :doc:`kspace_style <kspace_style>` defined * minimum :doc:`pair_style <pair_style>` cutoff + :doc:`neighbor <neighbor>` skin >= *rmax* @@ -146,10 +139,8 @@ executes, e.g. if you wish to use long-range Coulombic interactions via the :doc:`kspace_style <kspace_style>` command for your subsequent simulation. - ---------- - The *single/bond* style creates a single bond of type *btype* between two atoms with IDs *batom1* and *batom2*\ . *Btype* must be a value between 1 and the number of bond types defined. @@ -176,10 +167,8 @@ read by the :doc:`read_data <read_data>` command. I.e. the 4 atoms are ordered linearly within the improper. *itype* must be a value between 1 and the number of improper types defined. - ---------- - The keyword *special* controls whether an internal list of special bonds is created after one or more bonds, or a single angle, dihedral or improper is added to the system. @@ -197,7 +186,6 @@ the same time, by using this command repeatedly, it is more efficient to only trigger the internal list to be created once, after the last bond (or angle, or dihedral, or improper) is added: - .. code-block:: LAMMPS create_bonds single/bond 5 52 98 special no @@ -211,14 +199,11 @@ bond (angle, dihedral, improper) is added, before performing a simulation. Otherwise pairwise interactions will not be properly excluded or weighted. LAMMPS does NOT check that you have done this correctly. - ---------- - Restrictions """""""""""" - This command cannot be used with molecular systems defined using molecule template files via the :doc:`molecule <molecule>` and :doc:`atom_style template <atom_style>` commands. diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index ee58323ae9..917a4b3b0a 100644 --- a/doc/src/create_box.rst +++ b/doc/src/create_box.rst @@ -6,7 +6,6 @@ create_box command Syntax """""" - .. code-block:: LAMMPS create_box N region-ID keyword value ... @@ -15,9 +14,9 @@ Syntax * region-ID = ID of region to use as simulation domain * zero or more keyword/value pairs may be appended * keyword = *bond/types* or *angle/types* or *dihedral/types* or *improper/types* or *extra/bond/per/atom* or *extra/angle/per/atom* or *extra/dihedral/per/atom* or *extra/improper/per/atom* - + .. parsed-literal:: - + *bond/types* value = # of bond types *angle/types* value = # of angle types *dihedral/types* value = # of dihedral types @@ -28,12 +27,9 @@ Syntax *extra/improper/per/atom* value = # of impropers per atom *extra/special/per/atom* value = # of special neighbors per atom - - Examples """""""" - .. code-block:: LAMMPS create_box 2 mybox @@ -67,7 +63,7 @@ positive or negative values and are called "tilt factors" because they are the amount of displacement applied to faces of an originally orthogonal box to transform it into the parallelepiped. -By default, a *prism* region used with the create\_box command must +By default, a *prism* region used with the create_box command must have tilt factors (xy,xz,yz) that do not skew the box more than half the distance of the parallel box length. For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor must be @@ -119,10 +115,8 @@ using the :doc:`change box <change_box>` command with its *ortho* and a parallel simulation to lose atoms the first time that LAMMPS shrink-wraps the box around the atoms. - ---------- - The optional keywords can be used to create a system that allows for bond (angle, dihedral, improper) interactions, or for molecules with special 1-2,1-3,1-4 neighbors to be added later. These optional @@ -130,7 +124,7 @@ keywords serve the same purpose as the analogous keywords that can be used in a data file which are recognized by the :doc:`read_data <read_data>` command when it sets up a system. -Note that if these keywords are not used, then the create\_box command +Note that if these keywords are not used, then the create_box command creates an atomic (non-molecular) simulation that does not allow bonds between pairs of atoms to be defined, or a :doc:`bond potential <bond_style>` to be specified, or for molecules with special neighbors to be added to the system by commands such as @@ -139,20 +133,17 @@ or :doc:`fix pour <fix_pour>`. As an example, see the examples/deposit/in.deposit.molecule script, which deposits molecules onto a substrate. Initially there are no -molecules in the system, but they are added later by the :doc:`fix deposit <fix_deposit>` command. The create\_box command in the +molecules in the system, but they are added later by the :doc:`fix deposit <fix_deposit>` command. The create_box command in the script uses the bond/types and extra/bond/per/atom keywords to allow this. If the added molecule contained more than 1 special bond (allowed by default), an extra/special/per/atom keyword would also need to be specified. - ---------- - Restrictions """""""""""" - An :doc:`atom_style <atom_style>` and :doc:`region <region>` must have been previously defined to use this command. diff --git a/doc/src/delete_atoms.rst b/doc/src/delete_atoms.rst index 7ad9c75550..d695603ded 100644 --- a/doc/src/delete_atoms.rst +++ b/doc/src/delete_atoms.rst @@ -6,15 +6,14 @@ delete_atoms command Syntax """""" - .. code-block:: LAMMPS delete_atoms style args keyword value ... * style = *group* or *region* or *overlap* or *porosity* - + .. parsed-literal:: - + *group* args = group-ID *region* args = region-ID *overlap* args = cutoff group1-ID group2-ID @@ -28,19 +27,16 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *compress* or *bond* or *mol* - + .. parsed-literal:: - + *compress* value = *no* or *yes* *bond* value = *no* or *yes* *mol* value = *no* or *yes* - - Examples """""""" - .. code-block:: LAMMPS delete_atoms group edge @@ -139,7 +135,6 @@ part of molecules. Restrictions """""""""""" - The *overlap* styles requires inter-processor communication to acquire ghost atoms and build a neighbor list. This means that your system must be ready to perform a simulation before using this command (force diff --git a/doc/src/delete_bonds.rst b/doc/src/delete_bonds.rst index 37c52f8aff..9c42b5a2a0 100644 --- a/doc/src/delete_bonds.rst +++ b/doc/src/delete_bonds.rst @@ -6,16 +6,15 @@ delete_bonds command Syntax """""" - .. code-block:: LAMMPS delete_bonds group-ID style arg keyword ... * group-ID = group ID * style = *multi* or *atom* or *bond* or *angle* or *dihedral* or *improper* or *stats* - + .. parsed-literal:: - + *multi* arg = none *atom* arg = an atom type or range of types (see below) *bond* arg = a bond type or range of types (see below) @@ -27,11 +26,9 @@ Syntax * zero or more keywords may be appended * keyword = *any* or *undo* or *remove* or *special* - Examples """""""" - .. code-block:: LAMMPS delete_bonds frozen multi remove @@ -89,9 +86,9 @@ of all interactions in the specified group is simply reported. This is useful for diagnostic purposes if bonds have been turned off by a bond-breaking potential during a previous run. -The default behavior of the delete\_bonds command is to turn off +The default behavior of the delete_bonds command is to turn off interactions by toggling their type to a negative value, but not to -permanently remove the interaction. E.g. a bond\_type of 2 is set to +permanently remove the interaction. E.g. a bond_type of 2 is set to -2. The neighbor list creation routines will not include such an interaction in their interaction lists. The default is also to not alter the list of 1-2, 1-3, 1-4 neighbors computed by the @@ -108,7 +105,7 @@ interaction. Instead, if any of the atoms in the interaction are in the specified group, it will be turned off (or on if the *undo* keyword is used). -The *undo* keyword inverts the delete\_bonds command so that the +The *undo* keyword inverts the delete_bonds command so that the specified bonds, angles, etc are turned on if they are currently turned off. This means a negative value is toggled to positive. For example, for style *angle*\ , if *type* is specified as 2, then all @@ -116,14 +113,14 @@ angles with current type = -2, are reset to type = 2. Note that the :doc:`fix shake <fix_shake>` command also sets bond and angle types negative, so this option should not be used on those interactions. -The *remove* keyword is invoked at the end of the delete\_bonds +The *remove* keyword is invoked at the end of the delete_bonds operation. It causes turned-off bonds (angles, etc) to be removed from each atom's data structure and then adjusts the global bond (angle, etc) counts accordingly. Removal is a permanent change; removed bonds cannot be turned back on via the *undo* keyword. Removal does not alter the pairwise 1-2, 1-3, 1-4 weighting list. -The *special* keyword is invoked at the end of the delete\_bonds +The *special* keyword is invoked at the end of the delete_bonds operation, after (optional) removal. It re-computes the pairwise 1-2, 1-3, 1-4 weighting list. The weighting list computation treats turned-off bonds the same as turned-on. Thus, turned-off bonds must @@ -131,12 +128,11 @@ be removed if you wish to change the weighting list. Note that the choice of *remove* and *special* options affects how 1-2, 1-3, 1-4 pairwise interactions will be computed across bonds that -have been modified by the delete\_bonds command. +have been modified by the delete_bonds command. Restrictions """""""""""" - This command requires inter-processor communication to acquire ghost atoms, to coordinate the deleting of bonds, angles, etc between atoms shared by multiple processors. This means that your system must be diff --git a/doc/src/dielectric.rst b/doc/src/dielectric.rst index f5cbf56a0f..bd4f4dff56 100644 --- a/doc/src/dielectric.rst +++ b/doc/src/dielectric.rst @@ -6,7 +6,6 @@ dielectric command Syntax """""" - .. parsed-literal:: dielectric value @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dielectric 2.0 @@ -44,7 +42,6 @@ Related commands Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS dielectric 1.0 diff --git a/doc/src/dihedral_charmm.rst b/doc/src/dihedral_charmm.rst index 56eba0fe02..38cb18d172 100644 --- a/doc/src/dihedral_charmm.rst +++ b/doc/src/dihedral_charmm.rst @@ -18,7 +18,6 @@ dihedral_style charmmfsw command Syntax """""" - .. code-block:: LAMMPS dihedral_style style @@ -28,7 +27,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style charmm @@ -46,7 +44,6 @@ The *charmm* and *charmmfsw* dihedral styles use the potential E = K [ 1 + \cos (n \phi - d) ] - See :ref:`(MacKerell) <dihedral-MacKerell>` for a description of the CHARMM force field. This dihedral style can also be used for the AMBER force field (see comment on weighting factors below). See @@ -93,12 +90,12 @@ the ring in the opposite direction and thus the weighting factor is Note that this dihedral weighting factor is unrelated to the scaling factor specified by the :doc:`special bonds <special_bonds>` command which applies to all 1-4 interactions in the system. For CHARMM force -fields, the special\_bonds 1-4 interaction scaling factor should be set +fields, the special_bonds 1-4 interaction scaling factor should be set to 0.0. Since the corresponding 1-4 non-bonded interactions are computed with the dihedral. This means that if any of the weighting factors defined as dihedral coefficients (4th coeff above) are non-zero, then you must use a pair style with "lj/charmm" and set the -special\_bonds 1-4 scaling factor to 0.0 (which is the +special_bonds 1-4 scaling factor to 0.0 (which is the default). Otherwise 1-4 non-bonded interactions in dihedrals will be computed twice. @@ -113,11 +110,11 @@ i.e. within the outer cutoff specified for the pair style. The :doc:`pair_style lj/charmmfsw/coul/long <pair_charmm>` commands. Use the *charmm* style with the older :doc:`pair_style <pair_charmm>` commands that have just "charmm" in their style name. See the -discussion on the :doc:`CHARMM pair\_style <pair_charmm>` doc page for +discussion on the :doc:`CHARMM pair_style <pair_charmm>` doc page for details. Note that for AMBER force fields, which use pair styles with "lj/cut", -the special\_bonds 1-4 scaling factor should be set to the AMBER +the special_bonds 1-4 scaling factor should be set to the AMBER defaults (1/2 and 5/6) and all the dihedral weighting factors (4th coeff above) must be set to 0.0. In this case, you can use any pair style you wish, since the dihedral does not need any Lennard-Jones @@ -126,10 +123,8 @@ interactions. Likewise the *charmm* or *charmmfsw* styles are identical in this case since no 1-4 non-bonded interactions are computed. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -148,15 +143,12 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - -When using run\_style :doc:`respa <run_style>`, these dihedral styles +When using run_style :doc:`respa <run_style>`, these dihedral styles must be assigned to the same r-RESPA level as *pair* or *outer*\ . When used in combination with CHARMM pair styles, the 1-4 @@ -175,20 +167,14 @@ Related commands **Default:** none - ---------- - .. _dihedral-Cornell: - - **(Cornell)** Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). .. _dihedral-MacKerell: - - **(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem B, 102, 3586 (1998). diff --git a/doc/src/dihedral_class2.rst b/doc/src/dihedral_class2.rst index f079314129..034020429b 100644 --- a/doc/src/dihedral_class2.rst +++ b/doc/src/dihedral_class2.rst @@ -12,7 +12,6 @@ dihedral_style class2/kk command Syntax """""" - .. code-block:: LAMMPS dihedral_style class2 @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style class2 @@ -48,7 +46,6 @@ The *class2* dihedral style uses the potential E_{aat} = & M (\theta_{ijk} - \theta_1) (\theta_{jkl} - \theta_2) \cos (\phi) \\ E_{bb13} = & N (r_{ij} - r_1) (r_{kl} - r_3) - where :math:`E_d` is the dihedral term, :math:`E_{mbt}` is a middle-bond-torsion term, :math:`E_{ebt}` is an end-bond-torsion term, :math:`E_{at}` is an angle-torsion term, :math:`E_{aat}` is an angle-angle-torsion term, and :math:`E_{bb13}` is a bond-bond-13 term. @@ -155,10 +152,8 @@ listed under a *BondBond13 Coeffs* heading and you must leave out the * :math:`r_1` (distance) * :math:`r_3` (distance) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -177,14 +172,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the CLASS2 package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -196,12 +188,8 @@ Related commands **Default:** none - ---------- - .. _dihedral-Sun: - - **(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/src/dihedral_coeff.rst b/doc/src/dihedral_coeff.rst index 491546d9e0..d72a299416 100644 --- a/doc/src/dihedral_coeff.rst +++ b/doc/src/dihedral_coeff.rst @@ -6,7 +6,6 @@ dihedral_coeff command Syntax """""" - .. code-block:: LAMMPS dihedral_coeff N args @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_coeff 1 80.0 1 3 @@ -41,24 +39,22 @@ leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -Note that using a dihedral\_coeff command can override a previous setting +Note that using a dihedral_coeff command can override a previous setting for the same dihedral type. For example, these commands set the coeffs for all dihedral types, then overwrite the coeffs for just dihedral type 2: - .. code-block:: LAMMPS dihedral_coeff * 80.0 1 3 dihedral_coeff 2 200.0 1 3 A line in a data file that specifies dihedral coefficients uses the exact -same format as the arguments of the dihedral\_coeff command in an input +same format as the arguments of the dihedral_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, under the "Dihedral Coeffs" section of a data file, the line that corresponds to the 1st example above would be listed as - .. parsed-literal:: 1 80.0 1 3 @@ -79,26 +75,21 @@ page for details. to define *K* appropriately to account for this difference if necessary. - ---------- - The list of all dihedral styles defined in LAMMPS is given on the :doc:`dihedral_style <dihedral_style>` doc page. They are also listed in more compact form on the :ref:`Commands dihedral <dihedral>` doc page. On either of those pages, click on the style to display the formula it computes and its coefficients as specified by the associated -dihedral\_coeff command. - +dihedral_coeff command. ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a :doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`, or :doc:`create_box <create_box>` command. diff --git a/doc/src/dihedral_cosine_shift_exp.rst b/doc/src/dihedral_cosine_shift_exp.rst index e866b79170..4ce537409c 100644 --- a/doc/src/dihedral_cosine_shift_exp.rst +++ b/doc/src/dihedral_cosine_shift_exp.rst @@ -9,7 +9,6 @@ dihedral_style cosine/shift/exp/omp command Syntax """""" - .. code-block:: LAMMPS dihedral_style cosine/shift/exp @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style cosine/shift/exp @@ -32,7 +30,6 @@ The *cosine/shift/exp* dihedral style uses the potential E = -U_{min}\frac{e^{-a U(\theta,\theta_0)}-1}{e^a-1} \quad\mbox{with}\quad U(\theta,\theta_0)=-0.5 \left(1+\cos(\theta-\theta_0) \right) - where :math:`U_{min}`, :math:`\theta`, and :math:`a` are defined for each dihedral type. @@ -57,10 +54,8 @@ commands: * :math:`\theta` (angle) * :math:`a` (real number) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -79,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/dihedral_fourier.rst b/doc/src/dihedral_fourier.rst index 58f7ec9cb0..ad5f1f6586 100644 --- a/doc/src/dihedral_fourier.rst +++ b/doc/src/dihedral_fourier.rst @@ -12,7 +12,6 @@ dihedral_style fourier/omp command Syntax """""" - .. code-block:: LAMMPS dihedral_style fourier @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style fourier @@ -35,7 +33,6 @@ The *fourier* dihedral style uses the potential: E = \sum_{i=1,m} K_i [ 1.0 + \cos ( n_i \phi - d_i ) ] - The following coefficients must be defined for each dihedral type via the :doc:`dihedral_coeff <dihedral_coeff>` command as in the example above, or in the data file or restart files read by the :doc:`read_data <read_data>` @@ -70,16 +67,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package <Build_package>` doc +USER_MISC package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands diff --git a/doc/src/dihedral_harmonic.rst b/doc/src/dihedral_harmonic.rst index 665d055269..703b96cf95 100644 --- a/doc/src/dihedral_harmonic.rst +++ b/doc/src/dihedral_harmonic.rst @@ -15,7 +15,6 @@ dihedral_style harmonic/omp command Syntax """""" - .. code-block:: LAMMPS dihedral_style harmonic @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style harmonic @@ -38,7 +36,6 @@ The *harmonic* dihedral style uses the potential E = K [ 1 + d \cos (n \phi) ] - The following coefficients must be defined for each dihedral type via the :doc:`dihedral_coeff <dihedral_coeff>` command as in the example above, or in the data file or restart files read by the :doc:`read_data <read_data>` @@ -61,11 +58,8 @@ or :doc:`read_restart <read_restart>` commands: * Some force fields let :math:`n` be positive or negative which corresponds to :math:`d = 1` or :math:`d = -1` for the harmonic style. - - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -84,14 +78,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/dihedral_helix.rst b/doc/src/dihedral_helix.rst index 870331944d..00c0006e98 100644 --- a/doc/src/dihedral_helix.rst +++ b/doc/src/dihedral_helix.rst @@ -9,7 +9,6 @@ dihedral_style helix/omp command Syntax """""" - .. code-block:: LAMMPS dihedral_style helix @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style helix @@ -30,10 +28,9 @@ The *helix* dihedral style uses the potential .. math:: - E = A [1 - \cos(\theta)] + B [1 + \cos(3 \theta)] + + E = A [1 - \cos(\theta)] + B [1 + \cos(3 \theta)] + C [1 + \cos(\theta + \frac{\pi}{4})] - This coarse-grain dihedral potential is described in :ref:`(Guo) <Guo>`. For dihedral angles in the helical region, the energy function is represented by a standard potential consisting of three minima, one @@ -52,10 +49,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`B` (energy) * :math:`C` (energy) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -74,14 +69,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -93,12 +85,8 @@ Related commands **Default:** none - ---------- - .. _Guo: - - **(Guo)** Guo and Thirumalai, Journal of Molecular Biology, 263, 323-43 (1996). diff --git a/doc/src/dihedral_hybrid.rst b/doc/src/dihedral_hybrid.rst index a2c962fab3..9fe4478f67 100644 --- a/doc/src/dihedral_hybrid.rst +++ b/doc/src/dihedral_hybrid.rst @@ -6,7 +6,6 @@ dihedral_style hybrid command Syntax """""" - .. code-block:: LAMMPS dihedral_style hybrid style1 style2 ... @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style hybrid harmonic helix @@ -34,10 +32,10 @@ boundary (of dihedral type 2) could be computed with a *helix* potential. The assignment of dihedral type to style is made via the :doc:`dihedral_coeff <dihedral_coeff>` command or in the data file. -In the dihedral\_coeff commands, the name of a dihedral style must be +In the dihedral_coeff commands, the name of a dihedral style must be added after the dihedral type, with the remaining coefficients being those appropriate to that style. In the example above, the 2 -dihedral\_coeff commands set dihedrals of dihedral type 1 to be +dihedral_coeff commands set dihedrals of dihedral type 1 to be computed with a *harmonic* potential with coefficients 6.0, 1, 3 for K, d, n. All other dihedral types (2-N) are computed with a *helix* potential with coefficients 10, 10, 10 for A, B, C. @@ -47,7 +45,6 @@ If dihedral coefficients are specified in the data file read via the E.g. "harmonic" or "helix", must be added after the dihedral type, for each line in the "Dihedral Coeffs" section, e.g. - .. parsed-literal:: Dihedral Coeffs @@ -64,7 +61,6 @@ lines in the AngleTorsion (or EndBondTorsion, etc) section of the data file for dihedral types that are not *class2*\ , you must use an dihedral style of *skip* as a placeholder, e.g. - .. parsed-literal:: AngleTorsion Coeffs @@ -78,25 +74,22 @@ input script, since AngleTorsion (or EndBondTorsion, etc) coefficients need not be specified at all for dihedral types that are not *class2*\ . A dihedral style of *none* with no additional coefficients can be used -in place of a dihedral style, either in a input script dihedral\_coeff +in place of a dihedral style, either in a input script dihedral_coeff command or in the data file, if you desire to turn off interactions for specific dihedral types. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. Unlike other dihedral styles, the hybrid dihedral style does not store dihedral coefficient info for individual sub-styles in a :doc:`binary restart files <restart>`. Thus when restarting a simulation from a -restart file, you need to re-specify dihedral\_coeff commands. +restart file, you need to re-specify dihedral_coeff commands. Related commands """""""""""""""" diff --git a/doc/src/dihedral_multi_harmonic.rst b/doc/src/dihedral_multi_harmonic.rst index 8edd7bcd26..11d4419202 100644 --- a/doc/src/dihedral_multi_harmonic.rst +++ b/doc/src/dihedral_multi_harmonic.rst @@ -9,7 +9,6 @@ dihedral_style multi/harmonic/omp command Syntax """""" - .. code-block:: LAMMPS dihedral_style multi/harmonic @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style multi/harmonic @@ -32,7 +30,6 @@ The *multi/harmonic* dihedral style uses the potential E = \sum_{n=1,5} A_n \cos^{n-1}(\phi) - The following coefficients must be defined for each dihedral type via the :doc:`dihedral_coeff <dihedral_coeff>` command as in the example above, or in the data file or restart files read by the :doc:`read_data <read_data>` @@ -44,10 +41,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`A_4` (energy) * :math:`A_5` (energy) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -66,14 +61,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/dihedral_nharmonic.rst b/doc/src/dihedral_nharmonic.rst index c34c523368..9ce464f5f6 100644 --- a/doc/src/dihedral_nharmonic.rst +++ b/doc/src/dihedral_nharmonic.rst @@ -9,7 +9,6 @@ dihedral_style nharmonic/omp command Syntax """""" - .. code-block:: LAMMPS dihedral_style nharmonic @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style nharmonic @@ -32,7 +30,6 @@ The *nharmonic* dihedral style uses the potential: E = \sum_{n=1,n} A_n \cos^{n-1}(\phi) - The following coefficients must be defined for each dihedral type via the :doc:`dihedral_coeff <dihedral_coeff>` command as in the example above, or in the data file or restart files read by the :doc:`read_data <read_data>` @@ -44,10 +41,8 @@ or :doc:`read_restart <read_restart>` commands: * ... * :math:`A_n` (energy) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -66,16 +61,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package <Build_package>` doc +USER_MISC package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands diff --git a/doc/src/dihedral_none.rst b/doc/src/dihedral_none.rst index d4520595d4..eda8d1c39e 100644 --- a/doc/src/dihedral_none.rst +++ b/doc/src/dihedral_none.rst @@ -6,7 +6,6 @@ dihedral_style none command Syntax """""" - .. code-block:: LAMMPS dihedral_style none @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style none diff --git a/doc/src/dihedral_opls.rst b/doc/src/dihedral_opls.rst index a22bd8b8ab..b123a1c64b 100644 --- a/doc/src/dihedral_opls.rst +++ b/doc/src/dihedral_opls.rst @@ -15,7 +15,6 @@ dihedral_style opls/omp command Syntax """""" - .. code-block:: LAMMPS dihedral_style opls @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style opls @@ -41,7 +39,6 @@ The *opls* dihedral style uses the potential E = & \frac{1}{2} K_1 [1 + \cos(\phi)] + \frac{1}{2} K_2 [1 - \cos(2 \phi)] + \\ & \frac{1}{2} K_3 [1 + \cos(3 \phi)] + \frac{1}{2} K_4 [1 - \cos(4 \phi)] - Note that the usual 1/2 factor is not included in the K values. This dihedral potential is used in the OPLS force field and is @@ -57,10 +54,8 @@ or :doc:`read_restart <read_restart>` commands: * :math:`K_3` (energy) * :math:`K_4` (energy) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -79,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -98,12 +90,8 @@ Related commands **Default:** none - ---------- - .. _Watkins: - - **(Watkins)** Watkins and Jorgensen, J Phys Chem A, 105, 4118-4125 (2001). diff --git a/doc/src/dihedral_quadratic.rst b/doc/src/dihedral_quadratic.rst index 07d7eb0634..bdc5f79559 100644 --- a/doc/src/dihedral_quadratic.rst +++ b/doc/src/dihedral_quadratic.rst @@ -9,7 +9,6 @@ dihedral_style quadratic/omp command Syntax """""" - .. code-block:: LAMMPS dihedral_style quadratic @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style quadratic @@ -30,8 +28,7 @@ The *quadratic* dihedral style uses the potential: .. math:: - E = K (\phi - \phi_0)^2 - + E = K (\phi - \phi_0)^2 This dihedral potential can be used to keep a dihedral in a predefined value (cis=zero, right-hand convention is used). @@ -45,10 +42,8 @@ commands: * :math:`K` (energy/radian\^2) * :math:`\phi_0` (degrees) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -67,16 +62,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package <Build_package>` doc +USER_MISC package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands diff --git a/doc/src/dihedral_spherical.rst b/doc/src/dihedral_spherical.rst index 784a12c65e..67919aa77f 100644 --- a/doc/src/dihedral_spherical.rst +++ b/doc/src/dihedral_spherical.rst @@ -6,7 +6,6 @@ dihedral_style spherical command Syntax """""" - .. code-block:: LAMMPS dihedral_style spherical @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_coeff 1 1 286.1 1 124 1 1 90.0 0 1 90.0 0 @@ -37,7 +35,6 @@ The *spherical* dihedral style uses the potential: \Theta_{1i}(\theta_1) & = v_i - \mathrm{cos}((\theta_1-b_i)L_i) \\ \Theta_{2i}(\theta_2) & = w_i - \mathrm{cos}((\theta_2-c_i)M_i) - For this dihedral style, the energy can be any function that combines the 4-body dihedral-angle (:math:`\phi`) and the two 3-body bond-angles (:math:`\theta_1`, :math:`\theta_2`). @@ -86,16 +83,13 @@ the Dihedral Coeffs section of a data file read by the * :math:`c_n` (degrees, typically 0.0 or 90.0) * :math:`w_n` (typically 0.0 or 1.0) - ---------- - Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package <Build_package>` doc +USER_MISC package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands diff --git a/doc/src/dihedral_style.rst b/doc/src/dihedral_style.rst index 59a28d034c..bf3cf4902a 100644 --- a/doc/src/dihedral_style.rst +++ b/doc/src/dihedral_style.rst @@ -6,7 +6,6 @@ dihedral_style command Syntax """""" - .. code-block:: LAMMPS dihedral_style style @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style harmonic @@ -40,11 +38,11 @@ a data or restart file or via the :doc:`dihedral_coeff <dihedral_coeff>` command. All dihedral potentials store their coefficient data in binary restart -files which means dihedral\_style and +files which means dihedral_style and :doc:`dihedral_coeff <dihedral_coeff>` commands do not need to be re-specified in an input script that restarts a simulation. See the :doc:`read_restart <read_restart>` command for details on how to do -this. The one exception is that dihedral\_style *hybrid* only stores +this. The one exception is that dihedral_style *hybrid* only stores the list of sub-styles in the restart file; dihedral coefficients need to be re-specified. @@ -82,16 +80,14 @@ coefficients you specify. :doc:`dihedral_coeff <dihedral_coeff>` command to account for this difference if necessary. - ---------- - Here is an alphabetic list of dihedral styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated :doc:`dihedral_coeff <dihedral_coeff>` command. Click on the style to display the formula it computes, any additional -arguments specified in the dihedral\_style command, and coefficients +arguments specified in the dihedral_style command, and coefficients specified by the associated :doc:`dihedral_coeff <dihedral_coeff>` command. @@ -119,14 +115,11 @@ more of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`table <dihedral_table>` - tabulated dihedral * :doc:`table/cut <dihedral_table_cut>` - tabulated dihedral with analytic cutoff - ---------- - Restrictions """""""""""" - Dihedral styles can only be set for atom styles that allow dihedrals to be defined. @@ -142,4 +135,4 @@ Related commands Default """"""" -dihedral\_style none +dihedral_style none diff --git a/doc/src/dihedral_table.rst b/doc/src/dihedral_table.rst index a29e784ef5..112716a240 100644 --- a/doc/src/dihedral_table.rst +++ b/doc/src/dihedral_table.rst @@ -9,7 +9,6 @@ dihedral_style table/omp command Syntax """""" - .. code-block:: LAMMPS dihedral_style table style Ntable @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS dihedral_style table spline 400 @@ -64,15 +62,12 @@ The filename specifies a file containing tabulated energy and derivative values. The keyword specifies a section of the file. The format of this file is described below. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments). It can begin with one or more comment or blank lines. - .. parsed-literal:: # Table of the potential and its negative derivative @@ -132,7 +127,7 @@ strange numerical behavior can occur in the large remaining gap. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the N specified in the :doc:`dihedral_style table <dihedral_style>` command. -Let *Ntable* is the number of table entries requested dihedral\_style +Let *Ntable* is the number of table entries requested dihedral_style command, and let *Nfile* be the parameter following "N" in the tabulated file ("30" in the sparse example above). What LAMMPS does is a preliminary interpolation by creating splines using the *Nfile* @@ -180,10 +175,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -204,18 +197,17 @@ instructions on how to use the accelerated styles effectively. **Restart info:** -This dihedral style writes the settings for the "dihedral\_style table" -command to :doc:`binary restart files <restart>`, so a dihedral\_style +This dihedral style writes the settings for the "dihedral_style table" +command to :doc:`binary restart files <restart>`, so a dihedral_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file, since it is tabulated in the potential files. Thus, -dihedral\_coeff commands do need to be specified in the restart input +dihedral_coeff commands do need to be specified in the restart input script. Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/dihedral_table_cut.rst b/doc/src/dihedral_table_cut.rst index 81ebcacaef..ae2fcd1f77 100644 --- a/doc/src/dihedral_table_cut.rst +++ b/doc/src/dihedral_table_cut.rst @@ -6,7 +6,6 @@ dihedral_style table/cut command Syntax """""" - .. code-block:: LAMMPS dihedral_style table/cut style Ntable @@ -70,7 +69,6 @@ cutoff function: f(\theta) & = K \qquad\qquad\qquad\qquad\qquad\qquad \theta < \theta_1 \\ f(\theta) & = K \left(1-\frac{(\theta - \theta_1)^2}{(\theta_2 - \theta_1)^2}\right) \qquad \theta_1 < \theta < \theta_2 - The cutoff specifies an prefactor to the cutoff function. While this value would ordinarily equal 1 there may be situations where the value should change. @@ -85,15 +83,12 @@ The filename specifies a file containing tabulated energy and derivative values. The keyword specifies a section of the file. The format of this file is described below. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments). It can begin with one or more comment or blank lines. - .. parsed-literal:: # Table of the potential and its negative derivative @@ -153,7 +148,7 @@ strange numerical behavior can occur in the large remaining gap. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the N specified in the :doc:`dihedral_style table <dihedral_style>` command. -Let *Ntable* is the number of table entries requested dihedral\_style +Let *Ntable* is the number of table entries requested dihedral_style command, and let *Nfile* be the parameter following "N" in the tabulated file ("30" in the sparse example above). What LAMMPS does is a preliminary interpolation by creating splines using the *Nfile* @@ -203,18 +198,17 @@ that matches the specified keyword. **Restart info:** -This dihedral style writes the settings for the "dihedral\_style table/cut" -command to :doc:`binary restart files <restart>`, so a dihedral\_style +This dihedral style writes the settings for the "dihedral_style table/cut" +command to :doc:`binary restart files <restart>`, so a dihedral_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart file, since it is tabulated in the potential files. Thus, -dihedral\_coeff commands do need to be specified in the restart input +dihedral_coeff commands do need to be specified in the restart input script. Restrictions """""""""""" - This dihedral style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -228,6 +222,4 @@ Related commands .. _dihedralcut-Salerno: - - **(Salerno)** Salerno, Bernstein, J Chem Theory Comput, --, ---- (2018). diff --git a/doc/src/dihedral_zero.rst b/doc/src/dihedral_zero.rst index be900ef13d..7d8dcd496a 100644 --- a/doc/src/dihedral_zero.rst +++ b/doc/src/dihedral_zero.rst @@ -6,7 +6,6 @@ dihedral_style zero command Syntax """""" - .. code-block:: LAMMPS dihedral_style zero [nocoeff] @@ -34,7 +33,7 @@ command. If no dihedral style is defined, this command cannot be used. The optional *nocoeff* flag allows to read data files with a DihedralCoeff -section for any dihedral style. Similarly, any dihedral\_coeff commands +section for any dihedral style. Similarly, any dihedral_coeff commands will only be checked for the dihedral type number and the rest ignored. Note that the :doc:`dihedral_coeff <dihedral_coeff>` command must be diff --git a/doc/src/dihedrals.rst b/doc/src/dihedrals.rst index bab913f1c2..f56e323427 100644 --- a/doc/src/dihedrals.rst +++ b/doc/src/dihedrals.rst @@ -1,7 +1,6 @@ Dihedral Styles ############### - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/dimension.rst b/doc/src/dimension.rst index 0f4fc329d6..be711815a6 100644 --- a/doc/src/dimension.rst +++ b/doc/src/dimension.rst @@ -6,7 +6,6 @@ dimension command Syntax """""" - .. parsed-literal:: dimension N @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dimension 2 @@ -43,7 +41,6 @@ additional instructions on how to run 2d simulations. Restrictions """""""""""" - This command must be used before the simulation box is defined by a :doc:`read_data <read_data>` or :doc:`create_box <create_box>` command. @@ -55,7 +52,6 @@ Related commands Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS dimension 3 diff --git a/doc/src/displace_atoms.rst b/doc/src/displace_atoms.rst index 57e6ac9986..efc6f9230b 100644 --- a/doc/src/displace_atoms.rst +++ b/doc/src/displace_atoms.rst @@ -6,16 +6,15 @@ displace_atoms command Syntax """""" - .. code-block:: LAMMPS displace_atoms group-ID style args keyword value ... * group-ID = ID of group of atoms to displace * style = *move* or *ramp* or *random* or *rotate* - + .. parsed-literal:: - + *move* args = delx dely delz delx,dely,delz = distance to displace in each dimension (distance units) any of delx,dely,delz can be a variable (see below) @@ -33,18 +32,15 @@ Syntax theta = angle of rotation (degrees) * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *units* value = *box* or *lattice* - - Examples """""""" - .. code-block:: LAMMPS displace_atoms top move 0 -5 0 units box @@ -63,7 +59,7 @@ The *move* style displaces the group of atoms by the specified 3d displacement vector. Any of the 3 quantities defining the vector components can be specified as an equal-style or atom-style :doc:`variable <variable>`. If the value is a variable, it should be -specified as v\_name, where name is the variable name. In this case, +specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its value(s) used for the displacement(s). The scale factor implied by the *units* keyword will also be applied to the variable result. @@ -113,10 +109,8 @@ style are determined by the setting of *box* or *lattice* for the :doc:`lattice <lattice>` command must have been previously used to define the lattice spacing. - ---------- - .. note:: Care should be taken not to move atoms on top of other atoms. @@ -139,14 +133,11 @@ define the lattice spacing. the simulation box may not end up as optimal as the initial mapping attempted to be. - ---------- - Restrictions """""""""""" - For a 2d simulation, only rotations around the a vector parallel to the z-axis are allowed. diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 89a0c53e30..c842d5fafe 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -30,7 +30,6 @@ dump command Syntax """""" - .. parsed-literal:: dump ID group-ID style N file args @@ -42,9 +41,9 @@ Syntax * N = dump every this many timesteps * file = name of file to write dump info to * args = list of arguments for a particular style - + .. parsed-literal:: - + *atom* args = none *atom/gz* args = none *atom/mpiio* args = none @@ -69,9 +68,9 @@ Syntax *xyz/mpiio* args = none * *custom* or *custom/gz* or *custom/mpiio* or *netcdf* or *netcdf/mpiio* args = list of atom attributes - + .. parsed-literal:: - + possible attributes = id, mol, proc, procp1, type, element, mass, x, y, z, xs, ys, zs, xu, yu, zu, xsu, ysu, zsu, ix, iy, iz, @@ -81,9 +80,8 @@ Syntax angmomx, angmomy, angmomz, tqx, tqy, tqz, c_ID, c_ID[N], f_ID, f_ID[N], v_name - .. parsed-literal:: - + id = atom ID mol = molecule ID proc = ID of processor that owns atom @@ -114,9 +112,9 @@ Syntax i_name = per-atom integer vector with name, managed by fix property/atom * *local* args = list of local attributes - + .. parsed-literal:: - + possible attributes = index, c_ID, c_ID[I], f_ID, f_ID[I] index = enumeration of local values c_ID = local vector calculated by a compute with ID @@ -124,24 +122,21 @@ Syntax f_ID = local vector calculated by a fix with ID f_ID[I] = Ith column of local array calculated by a fix with ID, I can include wildcard (see below) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump myDump all atom 100 dump.atom dump myDump all atom/mpiio 100 dump.atom.mpiio dump myDump all atom/gz 100 dump.atom.gz dump 2 subgroup atom 50 dump.run.bin dump 2 subgroup atom 50 dump.run.mpiio.bin - dump 4a all custom 100 dump.myforce.\* id type x y vx fx + dump 4a all custom 100 dump.myforce.* id type x y vx fx dump 4b flow custom 100 dump.%.myforce id type c_myF[3] v_ke dump 4b flow custom 100 dump.%.myforce id type c_myF[\*] v_ke - dump 2 inner cfg 10 dump.snap.\*.cfg mass type xs ys zs vx vy vz - dump snap all cfg 100 dump.config.\*.cfg mass type xs ys zs id type c_Stress[2] + dump 2 inner cfg 10 dump.snap.*.cfg mass type xs ys zs vx vy vz + dump snap all cfg 100 dump.config.*.cfg mass type xs ys zs id type c_Stress[2] dump 1 all xtc 1000 file.xtc Description @@ -216,10 +211,8 @@ The precision of values output to text-based dump files can be controlled by the :doc:`dump_modify format <dump_modify>` command and its options. - ---------- - The *style* keyword determines what atom quantities are written to the file and in what format. Settings made via the :doc:`dump_modify <dump_modify>` command can also alter the format of @@ -228,7 +221,7 @@ individual values and the file itself. The *atom*\ , *local*\ , and *custom* styles create files in a simple text format that is self-explanatory when viewing a dump file. Some of the LAMMPS post-processing tools described on the :doc:`Tools <Tools>` doc -page, including `Pizza.py <http://www.sandia.gov/~sjplimp/pizza.html>`_, +page, including `Pizza.py <https://pizza.sandia.gov>`_, work with this format, as does the :doc:`rerun <rerun>` command. For post-processing purposes the *atom*\ , *local*\ , and *custom* text @@ -237,7 +230,6 @@ files are self-describing in the following sense. The dimensions of the simulation box are included in each snapshot. For an orthogonal simulation box this information is formatted as: - .. parsed-literal:: ITEM: BOX BOUNDS xx yy zz @@ -258,7 +250,6 @@ bounding box which encloses the triclinic simulation box is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic box, formatted as follows: - .. parsed-literal:: ITEM: BOX BOUNDS xy xz yz xx yy zz @@ -271,10 +262,10 @@ the 3 tilt factors will be included on each of the 3 following lines. This bounding box is convenient for many visualization programs. The meaning of the 6 character flags for "xx yy zz" is the same as above. -Note that the first two numbers on each line are now xlo\_bound instead +Note that the first two numbers on each line are now xlo_bound instead of xlo, etc, since they represent a bounding box. See the :doc:`Howto triclinic <Howto_triclinic>` doc page for a geometric description of triclinic boxes, as defined by LAMMPS, simple formulas for how the -6 bounding box extents (xlo\_bound,xhi\_bound,etc) are calculated from +6 bounding box extents (xlo_bound,xhi_bound,etc) are calculated from the triclinic parameters, and how to transform those parameters to and from other commonly used triclinic representations. @@ -289,7 +280,7 @@ scaled format (from 0 to 1). I.e. an x value of 0.25 means the atom is at a location 1/4 of the distance from xlo to xhi of the box boundaries. The format can be changed to unscaled coords via the :doc:`dump_modify <dump_modify>` settings. Image flags can also be -added for each atom via dump\_modify. +added for each atom via dump_modify. Style *custom* allows you to specify a list of atom attributes to be written to the dump file for each atom. Possible attributes are @@ -314,7 +305,7 @@ be cut and pasted directly into a data file read by the Style *cfg* has the same command syntax as style *custom* and writes extended CFG format files, as used by the -`AtomEye <http://mt.seas.upenn.edu/Archive/Graphics/A>`_ visualization +`AtomEye <http://li.mit.edu/Archive/Graphics/A/>`_ visualization package. Since the extended CFG format uses a single snapshot of the system per file, a wildcard "\*" must be included in the filename, as discussed below. The list of atom attributes for style *cfg* must @@ -378,10 +369,8 @@ Note that *atom*\ , *custom*\ , *dcd*\ , *xtc*\ , and *xyz* style dump files can be read directly by `VMD <http://www.ks.uiuc.edu/Research/vmd>`_, a popular molecular viewing program. - ---------- - Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be @@ -436,8 +425,7 @@ library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g. - -.. parsed-literal:: +.. code-block:: bash make yes-mpiio # installs the MPIIO package make mpi # build LAMMPS for your platform @@ -474,10 +462,8 @@ be about 3x smaller than the text version, but will also take longer to write. This option is not available for the *dcd* and *xtc* styles. - ---------- - Note that in the discussion which follows, for styles which can reference values from a compute or fix, like the *custom*\ , *cfg*\ , or *local* styles, the bracketed index I can be specified using a @@ -495,18 +481,15 @@ had been listed one by one. E.g. these 2 dump commands are equivalent, since the :doc:`compute stress/atom <compute_stress_atom>` command creates a per-atom array with 6 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myPress all stress/atom NULL - dump 2 all custom 100 tmp.dump id myPress[\*] + dump 2 all custom 100 tmp.dump id myPress[*] dump 2 all custom 100 tmp.dump id myPress[1] myPress[2] myPress[3] & myPress[4] myPress[5] myPress[6] - ---------- - This section explains the local attributes that can be specified as part of the *local* style. @@ -519,7 +502,7 @@ between processor, there is no guarantee that the same index will be used for the same info (e.g. a particular bond) in successive snapshots. -The *c\_ID* and *c\_ID[I]* attributes allow local vectors or arrays +The *c_ID* and *c_ID[I]* attributes allow local vectors or arrays calculated by a :doc:`compute <compute>` to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input script. See the @@ -532,20 +515,20 @@ opposed to local quantities, cannot be output in a dump local command. Instead, global quantities can be output by the :doc:`thermo_style custom <thermo_style>` command, and per-atom quantities can be output by the dump custom command. -If *c\_ID* is used as a attribute, then the local vector calculated by -the compute is printed. If *c\_ID[I]* is used, then I must be in the +If *c_ID* is used as a attribute, then the local vector calculated by +the compute is printed. If *c_ID[I]* is used, then I must be in the range from 1-M, which will print the Ith column of the local array with M columns calculated by the compute. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple values. -The *f\_ID* and *f\_ID[I]* attributes allow local vectors or arrays +The *f_ID* and *f_ID[I]* attributes allow local vectors or arrays calculated by a :doc:`fix <fix>` to be output. The ID in the attribute should be replaced by the actual ID of the fix that has been defined previously in the input script. -If *f\_ID* is used as a attribute, then the local vector calculated by -the fix is printed. If *f\_ID[I]* is used, then I must be in the +If *f_ID* is used as a attribute, then the local vector calculated by +the fix is printed. If *f_ID[I]* is used, then I must be in the range from 1-M, which will print the Ith column of the local with M columns calculated by the fix. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple @@ -554,17 +537,14 @@ values. Here is an example of how to dump bond info for a system, including the distance and energy of each bond: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all property/local batom1 batom2 btype compute 2 all bond/local dist eng dump 1 all local 1000 tmp.dump index c_1[1] c_1[2] c_1[3] c_2[1] c_2[2] - ---------- - This section explains the atom attributes that can be specified as part of the *custom* and *cfg* styles. @@ -632,7 +612,7 @@ The *tqx*\ , *tqy*\ , *tqz* attributes are for finite-size particles that can sustain a rotational torque due to interactions with other particles. -The *c\_ID* and *c\_ID[I]* attributes allow per-atom vectors or arrays +The *c_ID* and *c_ID[I]* attributes allow per-atom vectors or arrays calculated by a :doc:`compute <compute>` to be output. The ID in the attribute should be replaced by the actual ID of the compute that has been defined previously in the input script. See the @@ -646,14 +626,14 @@ command. Instead, global quantities can be output by the :doc:`thermo_style custom <thermo_style>` command, and local quantities can be output by the dump local command. -If *c\_ID* is used as a attribute, then the per-atom vector calculated -by the compute is printed. If *c\_ID[I]* is used, then I must be in +If *c_ID* is used as a attribute, then the per-atom vector calculated +by the compute is printed. If *c_ID[I]* is used, then I must be in the range from 1-M, which will print the Ith column of the per-atom array with M columns calculated by the compute. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple values. -The *f\_ID* and *f\_ID[I]* attributes allow vector or array per-atom +The *f_ID* and *f_ID[I]* attributes allow vector or array per-atom quantities calculated by a :doc:`fix <fix>` to be output. The ID in the attribute should be replaced by the actual ID of the fix that has been defined previously in the input script. The :doc:`fix ave/atom <fix_ave_atom>` command is one that calculates per-atom @@ -662,14 +642,14 @@ any :doc:`compute <compute>`, :doc:`fix <fix>`, or atom-style :doc:`variable <variable>`, this allows those time-averaged results to be written to a dump file. -If *f\_ID* is used as a attribute, then the per-atom vector calculated -by the fix is printed. If *f\_ID[I]* is used, then I must be in the +If *f_ID* is used as a attribute, then the per-atom vector calculated +by the fix is printed. If *f_ID[I]* is used, then I must be in the range from 1-M, which will print the Ith column of the per-atom array with M columns calculated by the fix. See the discussion above for how I can be specified with a wildcard asterisk to effectively specify multiple values. -The *v\_name* attribute allows per-atom vectors calculated by a +The *v_name* attribute allows per-atom vectors calculated by a :doc:`variable <variable>` to be output. The name in the attribute should be replaced by the actual name of the variable that has been defined previously in the input script. Only an atom-style variable @@ -680,7 +660,7 @@ invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of creating quantities to output to a dump file. -The *d\_name* and *i\_name* attributes allow to output custom per atom +The *d_name* and *i_name* attributes allow to output custom per atom floating point or integer properties that are managed by :doc:`fix property/atom <fix_property_atom>`. @@ -688,16 +668,13 @@ See the :doc:`Modify <Modify>` doc page for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities which could then be output into dump files. - ---------- - Restrictions """""""""""" - To write gzipped dump files, you must either compile LAMMPS with the --DLAMMPS\_GZIP option or use the styles from the COMPRESS package. +-DLAMMPS_GZIP option or use the styles from the COMPRESS package. See the :doc:`Build settings <Build_settings>` doc page for details. The *atom/gz*\ , *cfg/gz*\ , *custom/gz*\ , and *xyz/gz* styles are part of @@ -716,7 +693,7 @@ LAMMPS was built with that package. See the :doc:`Build package <Build_package> Related commands """""""""""""""" -:doc:`dump atom/adios <dump_adios>`, :doc:`dump custom/adios <dump_adios>`, +:doc:`dump atom/adios <dump_adios>`, :doc:`dump custom/adios <dump_adios>`, :doc:`dump h5md <dump_h5md>`, :doc:`dump image <dump_image>`, :doc:`dump molfile <dump_molfile>`, :doc:`dump_modify <dump_modify>`, :doc:`undump <undump>` diff --git a/doc/src/dump_adios.rst b/doc/src/dump_adios.rst index e891a5e42e..e1b0fe000a 100644 --- a/doc/src/dump_adios.rst +++ b/doc/src/dump_adios.rst @@ -1,5 +1,5 @@ -.. index:: dump atom/adios -.. index:: dump custom/adios +.. index:: dump atom/adios +.. index:: dump custom/adios dump atom/adios command ========================= @@ -10,7 +10,6 @@ dump custom/adios command Syntax """""" - .. parsed-literal:: dump ID group-ID atom/adios N file.bp @@ -24,12 +23,10 @@ Syntax * file.bp = name of file/stream to write to * args = same options as in :doc:`\ *dump custom*\ <dump>` command - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump adios1 all atom/adios 100 atoms.bp dump 4a all custom/adios 100 dump_adios.bp id v_p x y z @@ -45,42 +42,34 @@ ADIOS-BP files are binary, portable and self-describing. .. _adios: https://github.com/ornladios/ADIOS2 - - -**Use from write\_dump:** +**Use from write_dump:** It is possible to use these dump styles with the :doc:`write_dump <write_dump>` command. In this case, the sub-intervals -must not be set at all. The write\_dump command can be used to +must not be set at all. The write_dump command can be used to create a new file at each individual dump. - -.. parsed-literal:: +.. code-block:: LAMMPS dump 4 all atom/adios 100 dump.bp write_dump all atom/adios singledump.bp - ---------- - Restrictions """""""""""" - The number of atoms per snapshot CAN change with the adios style. When using the ADIOS tool 'bpls' to list the content of a .bp file, -bpls will print *\__* for the size of the output table indicating that +bpls will print *__* for the size of the output table indicating that its size is changing every step. The *atom/adios* and *custom/adios* dump styles are part of the USER-ADIOS package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. - ---------- - Related commands """""""""""""""" diff --git a/doc/src/dump_cfg_uef.rst b/doc/src/dump_cfg_uef.rst index 02e40b7b67..fdefad62ff 100644 --- a/doc/src/dump_cfg_uef.rst +++ b/doc/src/dump_cfg_uef.rst @@ -6,7 +6,6 @@ dump cfg/uef command Syntax """""" - .. parsed-literal:: dump ID group-ID cfg/uef N file mass type xs ys zs args @@ -15,18 +14,15 @@ Syntax * group-ID = ID of the group of atoms to be dumped * N = dump every this many timesteps * file = name of file to write dump info to - + .. parsed-literal:: - + args = same as args for :doc:`dump custom <dump>` - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump 1 all cfg/uef 10 dump.\*.cfg mass type xs ys zs dump 2 all cfg/uef 100 dump.\*.cfg mass type xs ys zs id c_stress @@ -46,7 +42,6 @@ reference frame as the atomic positions. Restrictions """""""""""" - This fix is part of the USER-UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/dump_h5md.rst b/doc/src/dump_h5md.rst index ee42cc54a6..de44572307 100644 --- a/doc/src/dump_h5md.rst +++ b/doc/src/dump_h5md.rst @@ -6,7 +6,6 @@ dump h5md command Syntax """""" - .. parsed-literal:: dump ID group-ID h5md N file.h5 args @@ -30,28 +29,22 @@ Syntax create_group value = *yes* or *no* author value = quoted string - - Note that at least one element must be specified and image may only be present if position is specified first. For the elements *position*\ , *velocity*\ , *force* and *species*\ , a -sub-interval may be specified to write the data only every N\_element -iterations of the dump (i.e. every N\*N\_element time steps). This is +sub-interval may be specified to write the data only every N_element +iterations of the dump (i.e. every N\*N_element time steps). This is specified by this option directly following the element declaration: - .. parsed-literal:: every N_element - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump h5md1 all h5md 100 dump_h5md.h5 position image dump h5md1 all h5md 100 dump_h5md.h5 position velocity every 10 @@ -65,17 +58,15 @@ Dump a snapshot of atom coordinates every N timesteps in the HDF5 files are binary, portable and self-describing. This dump style will write only one file, on the root node. -Several dumps may write to the same file, by using file\_from and +Several dumps may write to the same file, by using file_from and referring to a previously defined dump. Several groups may also be stored within the same file by defining several dumps. A dump that -refers (via *file\_from*) to an already open dump ID and that concerns -another particle group must specify *create\_group yes*. +refers (via *file_from*) to an already open dump ID and that concerns +another particle group must specify *create_group yes*. .. _h5md: http://nongnu.org/h5md/ - - -Each data element is written every N\*N\_element steps. For *image*\ , no +Each data element is written every N\*N_element steps. For *image*\ , no sub-interval is needed as it must be present at the same interval as *position*\ . *image* must be given after *position* in any case. The box information (edges in each dimension) is stored at the same @@ -88,32 +79,28 @@ every N steps. timesteps when neighbor lists are rebuilt, the coordinates of an atom written to a dump file may be slightly outside the simulation box. -**Use from write\_dump:** +**Use from write_dump:** It is possible to use this dump style with the :doc:`write_dump <write_dump>` command. In this case, the sub-intervals -must not be set at all. The write\_dump command can be used either to +must not be set at all. The write_dump command can be used either to create a new file or to add current data to an existing dump file by -using the *file\_from* keyword. +using the *file_from* keyword. Typically, the *species* data is fixed. The following two commands store the position data every 100 timesteps, with the image data, and store once the species data in the same file. - -.. parsed-literal:: +.. code-block:: LAMMPS dump h5md1 all h5md 100 dump.h5 position image write_dump all h5md dump.h5 file_from h5md1 species - ---------- - Restrictions """""""""""" - The number of atoms per snapshot cannot change with the h5md style. The position data is stored wrapped (box boundaries not enforced, see note above). Only orthogonal domains are currently supported. This is @@ -128,24 +115,16 @@ provided by the HDF5 library. .. _HDF5-ws: http://www.hdfgroup.org/HDF5/ - - - ---------- - Related commands """""""""""""""" :doc:`dump <dump>`, :doc:`dump_modify <dump_modify>`, :doc:`undump <undump>` - ---------- - -.. _h5md\_cpc: - - +.. _h5md_cpc: **(de Buyl)** de Buyl, Colberg and Hofling, H5MD: A structured, efficient, and portable file format for molecular data, diff --git a/doc/src/dump_image.rst b/doc/src/dump_image.rst index e7e6f0ee44..0477e5d718 100644 --- a/doc/src/dump_image.rst +++ b/doc/src/dump_image.rst @@ -9,7 +9,6 @@ dump movie command Syntax """""" - .. parsed-literal:: dump ID group-ID style N file color diameter keyword value ... @@ -23,9 +22,9 @@ Syntax * diameter = atom attribute that determines size of each atom * zero or more keyword/value pairs may be appended * keyword = *atom* or *adiam* or *bond* or *line* or *tri* or *body* or *fix* or *size* or *view* or *center* or *up* or *zoom* or *persp* or *box* or *axes* or *subbox* or *shiny* or *ssao* - + .. parsed-literal:: - + *atom* = yes/no = do or do not draw atoms *adiam* size = numeric value for atom diameter (distance units) *bond* values = color width = color and width of bonds @@ -83,12 +82,9 @@ Syntax seed = random # seed (positive integer) dfactor = strength of shading from 0.0 to 1.0 - - Examples """""""" - .. code-block:: LAMMPS dump d0 all image 100 dump.\*.jpg type type @@ -118,16 +114,21 @@ has been run, using the :doc:`rerun <rerun>` command to read snapshots from an existing dump file, and using these dump commands in the rerun script to generate the images/movie. -Here are two sample images, rendered as 1024x1024 JPEG files. Click -to see the full-size images: +Here are two sample images, rendered as 1024x1024 JPEG files. -.. image:: JPG/dump1_small.jpg +.. raw:: html + + Click to see the full-size images: + +.. |dump1| image:: JPG/dump1_small.jpg :target: JPG/dump1.jpg :width: 48% -.. image:: JPG/dump2_small.jpg +.. |dump2| image:: JPG/dump2_small.jpg :target: JPG/dump2.jpg :width: 48% +|dump1| |dump2| + Only atoms in the specified group are rendered in the image. The :doc:`dump_modify region and thresh <dump_modify>` commands can also alter what atoms are included in the image. @@ -139,7 +140,7 @@ created. The JPEG and PNG files are binary; PPM has a text mode header followed by binary data. JPEG images have lossy compression; PNG has lossless compression; and PPM files are uncompressed but can be compressed with gzip, if LAMMPS has been compiled with --DLAMMPS\_GZIP and a ".gz" suffix is used. +-DLAMMPS_GZIP and a ".gz" suffix is used. Similarly, the format of the resulting movie is chosen with the *movie* dump style. This is handled by the underlying FFmpeg converter @@ -150,7 +151,7 @@ framerate can be set using the :doc:`dump_modify <dump_modify>` command. To write out JPEG and PNG format files, you must build LAMMPS with support for the corresponding JPEG or PNG library. To convert images -into movies, LAMMPS has to be compiled with the -DLAMMPS\_FFMPEG +into movies, LAMMPS has to be compiled with the -DLAMMPS_FFMPEG flag. See the :doc:`Build settings <Build_settings>` doc page for details. @@ -160,10 +161,8 @@ details. timesteps when neighbor lists are rebuilt, the coordinates of an atom in the image may be slightly outside the simulation box. - ---------- - Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be @@ -187,10 +186,8 @@ Dump *movie* filenames on the other hand, must not have any wildcard character since only one file combining all images into a single movie will be written by the movie encoder. - ---------- - The *color* and *diameter* settings determine the color and size of atoms rendered in the image. They can be any atom attribute defined for the :doc:`dump custom <dump>` command, including *type* and @@ -221,12 +218,12 @@ diameter 1.0. This mapping can be changed by the :doc:`dump_modify adiam <dump_ If *element* is specified for the *color* and/or *diameter* setting, then the color and/or diameter of each atom is determined by which element it is, which in turn is specified by the element-to-type -mapping specified by the "dump\_modify element" command. By default +mapping specified by the "dump_modify element" command. By default every atom type is C (carbon). Every element has a color and diameter associated with it, which is the same as the colors and sizes used by the `AtomEye <atomeye_>`_ visualization package. -.. _atomeye: http://mt.seas.upenn.edu/Archive/Graphics/A +.. _atomeye: http://li.mit.edu/Archive/Graphics/A/ If other atom attributes are used for the *color* or *diameter* settings, they are interpreted in the following way. @@ -339,10 +336,8 @@ lines will be drawn as cylinders with that diameter, e.g. 1.0, which is in whatever distance :doc:`units <units>` the input script defines, e.g. Angstroms. - ---------- - The *tri* keyword can be used when :doc:`atom_style tri <atom_style>` is used to define particles as triangles, and will draw them as triangles or edges (3 lines) or both, depending on the setting for *tflag*\ . If @@ -363,10 +358,8 @@ default the mapping of types to colors is as follows: and repeats itself for types > 6. There is not yet an option to change this via the :doc:`dump_modify <dump_modify>` command. - ---------- - The *body* keyword can be used when :doc:`atom_style body <atom_style>` is used to define body particles with internal state (e.g. sub-particles), and will drawn them in a manner specific to the @@ -398,10 +391,8 @@ particle. By default the mapping of types to colors is as follows: and repeats itself for types > 6. There is not yet an option to change this via the :doc:`dump_modify <dump_modify>` command. - ---------- - The *fix* keyword can be used with a :doc:`fix <fix>` that produces objects to be drawn. @@ -424,24 +415,20 @@ the mapping of types to colors is as follows: and repeats itself for types > 6. There is not yet an option to change this via the :doc:`dump_modify <dump_modify>` command. - ---------- - The *size* keyword sets the width and height of the created images, i.e. the number of pixels in each direction. - ---------- - The *view*\ , *center*\ , *up*\ , *zoom*\ , and *persp* values determine how 3d simulation space is mapped to the 2d plane of the image. Basically they control how the simulation box appears in the image. All of the *view*\ , *center*\ , *up*\ , *zoom*\ , and *persp* values can be specified as numeric quantities, whose meaning is explained below. -Any of them can also be specified as an :doc:`equal-style variable <variable>`, by using v\_name as the value, where "name" is +Any of them can also be specified as an :doc:`equal-style variable <variable>`, by using v_name as the value, where "name" is the variable name. In this case the variable will be evaluated on the timestep each image is created to create a new value. If the equal-style variable is time-dependent, this is a means of changing @@ -478,7 +465,6 @@ plane perpendicular to the view vector implied by the *theta* and vector and user-specified up vector. Thus this internal vector is computed from the user-specified *up* vector as - .. parsed-literal:: up_internal = view cross (up cross view) @@ -506,10 +492,8 @@ perspective. The *persp* keyword is not yet supported as an option. - ---------- - The *box* keyword determines if and how the simulation box boundaries are rendered as thin cylinders in the image. If *no* is set, then the box boundaries are not drawn and the *diam* setting is ignored. If @@ -536,10 +520,8 @@ processor sub-domain are drawn, with a diameter that is a fraction of the shortest box length in x,y,z (for 3d) or x,y (for 2d). The color of the sub-domain boundaries can be set with the :doc:`dump_modify boxcolor <dump_modify>` command. - ---------- - The *shiny* keyword determines how shiny the objects rendered in the image will appear. The *sfactor* value must be a value 0.0 <= *sfactor* <= 1.0, where *sfactor* = 1 is a highly reflective surface @@ -553,28 +535,25 @@ cost of computing the image by roughly 2x. The strength of the effect can be scaled by the *dfactor* parameter. If *no* is set, no depth shading is performed. - ---------- - A series of JPEG, PNG, or PPM images can be converted into a movie file and then played as a movie using commonly available tools. Using dump style *movie* automates this step and avoids the intermediate step of writing (many) image snapshot file. But LAMMPS has to be -compiled with -DLAMMPS\_FFMPEG and an FFmpeg executable have to be +compiled with -DLAMMPS_FFMPEG and an FFmpeg executable have to be installed. To manually convert JPEG, PNG or PPM files into an animated GIF or MPEG or other movie file you can use: * a) Use the ImageMagick convert program. - + .. code-block:: bash - + % convert *.jpg foo.gif % convert -loop 1 *.ppm foo.mpg - Animated GIF files from ImageMagick are not optimized. You can use a program like gifsicle to optimize and thus massively shrink them. MPEG files created by ImageMagick are in MPEG-1 format with a rather @@ -596,19 +575,16 @@ MPEG or other movie file you can use: FFmpeg is a command line tool that is available on many platforms and allows extremely flexible encoding and decoding of movies. - .. code-block:: bash - + cat snap.*.jpg | ffmpeg -y -f image2pipe -c:v mjpeg -i - -b:v 2000k movie.m4v cat snap.*.ppm | ffmpeg -y -f image2pipe -c:v ppm -i - -b:v 2400k movie.avi - Front ends for FFmpeg exist for multiple platforms. For more information see the `FFmpeg homepage <http://www.ffmpeg.org/>`_ ---------- - Play the movie: * a) Use your browser to view an animated GIF movie. @@ -619,18 +595,18 @@ Play the movie: * b) Use the freely available mplayer or ffplay tool to view a movie. Both are available for multiple OSes and support a large variety of file formats and decoders. - + .. code-block:: bash - + % mplayer foo.mpg % ffplay bar.avi -* c) Use the `Pizza.py <http://www.sandia.gov/~sjplimp/pizza.html>`_ - `animate tool <http://www.sandia.gov/~sjplimp/pizza/doc/animate.html>`_, +* c) Use the `Pizza.py <https://pizza.sandia.gov>`_ + `animate tool <https://pizza.sandia.gov/doc/animate.html>`_, which works directly on a series of image files. - + .. code-block:: python - + a = animate("foo*.jpg") * d) QuickTime and other Windows- or MacOS-based media players can @@ -646,20 +622,17 @@ See the :doc:`Modify <Modify>` doc page for information on how to add new compute and fix styles to LAMMPS to calculate per-atom quantities which could then be output into dump files. - ---------- - Restrictions """""""""""" - -To write JPEG images, you must use the -DLAMMPS\_JPEG switch when +To write JPEG images, you must use the -DLAMMPS_JPEG switch when building LAMMPS and link with a JPEG library. To write PNG images, you -must use the -DLAMMPS\_PNG switch when building LAMMPS and link with a +must use the -DLAMMPS_PNG switch when building LAMMPS and link with a PNG library. -To write *movie* dumps, you must use the -DLAMMPS\_FFMPEG switch when +To write *movie* dumps, you must use the -DLAMMPS_FFMPEG switch when building LAMMPS and have the FFmpeg executable available on the machine where LAMMPS is being run. Typically it's name is lowercase, i.e. ffmpeg. @@ -672,7 +645,6 @@ errors and warnings printed by it. Those warnings and error messages will be printed to the screen only. Due to the way image data is communicated to FFmpeg, it will often print the message - .. parsed-literal:: pipe:: Input/output error @@ -684,7 +656,6 @@ and 2 format streams) have video bandwidth limits that can be crossed when rendering too large of image sizes. Typical warnings look like this: - .. parsed-literal:: [mpeg @ 0x98b5e0] packet too large, ignoring buffer limits to mux it diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index c035ea57a3..5f7f42b4be 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -6,7 +6,6 @@ dump_modify command Syntax """""" - .. code-block:: LAMMPS dump_modify dump-ID keyword values ... @@ -15,9 +14,9 @@ Syntax * one or more keyword/value pairs may be appended * these keywords apply to various dump styles * keyword = *append* or *at* or *buffer* or *delay* or *element* or *every* or *fileper* or *first* or *flush* or *format* or *image* or *label* or *maxfiles* or *nfile* or *pad* or *pbc* or *precision* or *region* or *refresh* or *scale* or *sfactor* or *sort* or *tfactor* or *thermo* or *thresh* or *time* or *units* or *unwrap* - + .. parsed-literal:: - + *append* arg = *yes* or *no* *at* arg = N N = index of frame written upon first dump @@ -68,9 +67,9 @@ Syntax * these keywords apply only to the *image* and *movie* :doc:`styles <dump_image>` * keyword = *acolor* or *adiam* or *amap* or *backcolor* or *bcolor* or *bdiam* or *boxcolor* or *color* or *bitrate* or *framerate* - + .. parsed-literal:: - + *acolor* args = type color type = atom type or range of types (see below) color = name of color or color1/color2/... @@ -115,12 +114,9 @@ Syntax *framerate* arg = fps fps = frames per second for movie - - Examples """""""" - .. code-block:: LAMMPS dump_modify 1 format line "%d %d %20.15g %g %g" scale yes @@ -143,21 +139,17 @@ As explained on the :doc:`dump <dump>` doc page, the *atom/mpiio*\ , syntax and in the format of the dump files they create, to the corresponding styles without "mpiio", except the single dump file they produce is written in parallel via the MPI-IO library. Thus if a -dump\_modify option below is valid for the *atom* style, it is also +dump_modify option below is valid for the *atom* style, it is also valid for the *atom/mpiio* style, and similarly for the other styles which allow for use of MPI-IO. - ---------- - These keywords apply to various dump styles, including the :doc:`dump image <dump_image>` and :doc:`dump movie <dump_image>` styles. The description gives details. - ---------- - The *append* keyword applies to all dump styles except *cfg* and *xtc* and *dcd*\ . It also applies only to text output files, not to binary or gzipped or image/movie files. If specified as *yes*\ , then dump @@ -165,23 +157,19 @@ snapshots are appended to the end of an existing dump file. If specified as *no*\ , then a new dump file will be created which will overwrite an existing file with the same name. - ---------- - The *at* keyword only applies to the *netcdf* dump style. It can only be used if the *append yes* keyword is also used. The *N* argument is the index of which frame to append to. A negative value can be specified for *N*\ , which means a frame counted from the end of the -file. The *at* keyword can only be used if the dump\_modify command is +file. The *at* keyword can only be used if the dump_modify command is before the first command that causes dump snapshots to be output, e.g. a :doc:`run <run>` or :doc:`minimize <minimize>` command. Once the dump file has been opened, this keyword has no further effect. - ---------- - The *buffer* keyword applies only to dump styles *atom*\ , *cfg*\ , *custom*\ , *local*\ , and *xyz*\ . It also applies only to text output files, not to binary or gzipped files. If specified as *yes*\ , which @@ -197,20 +185,16 @@ relatively expensive task of formatting the output for its own atoms. However it requires about twice the memory (per processor) for the extra buffering. - ---------- - The *delay* keyword applies to all dump styles. No snapshots will be output until the specified *Dstep* timestep or later. Specifying *Dstep* < 0 is the same as turning off the delay setting. This is a way to turn off unwanted output early in a simulation, for example, during an equilibration phase. - ---------- - The *element* keyword applies only to the dump *cfg*\ , *xyz*\ , and *image* styles. It associates element names (e.g. H, C, Fe) with LAMMPS atom types. See the list of element names at the bottom of @@ -229,19 +213,15 @@ In the case of *xyz* format dumps, there are no restrictions to what label can be used as an element name. Any white-space separated text will be accepted. -.. _atomeye: http://mt.seas.upenn.edu/Archive/Graphics/A - - - +.. _atomeye: http://li.mit.edu/Archive/Graphics/A/ ---------- - The *every* keyword changes the dump frequency originally specified by the :doc:`dump <dump>` command to a new value. The every keyword can be specified in one of two ways. It can be a numeric value in which case it must be > 0. Or it can be an :doc:`equal-style variable <variable>`, -which should be specified as v\_name, where name is the variable name. +which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which a dump snapshot will be written @@ -264,7 +244,6 @@ to the dump file. The *every* keyword cannot be used with the dump For example, the following commands will write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc: - .. code-block:: LAMMPS variable s equal logfreq(10,3,10) @@ -274,7 +253,6 @@ write snapshots at timesteps 0,10,20,30,100,200,300,1000,2000,etc: The following commands would write snapshots at the timesteps listed in file tmp.times: - .. code-block:: LAMMPS variable f file tmp.times @@ -292,13 +270,11 @@ in file tmp.times: from the file is not a value greater than the current timestep. Thus if you wanted output on steps 0,15,100 of a 100-timestep run, the file should contain the values 15,100,101 and you should also use the - dump\_modify first command. Any final value > 100 could be used in + dump_modify first command. Any final value > 100 could be used in place of 101. - ---------- - The *first* keyword determines whether a dump snapshot is written on the very first timestep after the dump command is invoked. This will always occur if the current timestep is a multiple of N, the frequency @@ -307,20 +283,16 @@ if this is not the case, a dump snapshot will only be written if the setting of this keyword is *yes*\ . If it is *no*\ , which is the default, then it will not be written. - ---------- - The *flush* keyword determines whether a flush operation is invoked after a dump snapshot is written to the dump file. A flush insures the output in that file is current (no buffering by the OS), even if LAMMPS halts before the simulation completes. Flushes cannot be performed with dump style *xtc*\ . - ---------- - The *format* keyword can be used to change the default numeric format output by the text-based dump styles: *atom*\ , *custom*\ , *cfg*\ , and *xyz* styles, and their MPIIO variants. Only the *line* or *none* @@ -360,7 +332,7 @@ settings, reverting all values to their default format. values. However, when specifying the *line* option or *format M string* option for those values, you should specify a format string appropriate for an 8-byte signed integer, e.g. one with "%ld", if - LAMMPS was compiled with the -DLAMMPS\_BIGBIG option for 8-byte IDs. + LAMMPS was compiled with the -DLAMMPS_BIGBIG option for 8-byte IDs. .. note:: @@ -371,7 +343,6 @@ settings, reverting all values to their default format. (large) integer, then you need to use an appropriate format. For example, these commands: - .. code-block:: LAMMPS compute 1 all property/local batom1 batom2 @@ -379,22 +350,18 @@ settings, reverting all values to their default format. dump_modify 1 format "%d %0.0f %0.0f" will output the two atom IDs for atoms in each bond as integers. If -the dump\_modify command were omitted, they would appear as +the dump_modify command were omitted, they would appear as floating-point values, assuming they were large integers (more than 6 digits). The "index" keyword should use the "%d" format since it is not generated by a compute or fix, and is stored internally as an integer. - ---------- - The *fileper* keyword is documented below with the *nfile* keyword. - ---------- - The *image* keyword applies only to the dump *atom* style. If the image value is *yes*\ , 3 flags are appended to each atom's coords which are the absolute box image of the atom in each dimension. For @@ -405,16 +372,13 @@ current coordinate. Note that for dump style *custom* these various values can be printed in the dump file by using the appropriate atom attributes in the dump command itself. - ---------- - The *label* keyword applies only to the dump *local* style. When it writes local information, such as bond or angle topology to a dump file, it will use the specified *label* to format the header. By default this includes 2 lines: - .. parsed-literal:: ITEM: NUMBER OF ENTRIES @@ -423,10 +387,8 @@ the header. By default this includes 2 lines: The word "ENTRIES" will be replaced with the string specified, e.g. BONDS or ANGLES. - ---------- - The *maxfiles* keyword can only be used when a '\*' wildcard is included in the dump file name, i.e. when writing a new file(s) for each snapshot. The specified *Fmax* is how many snapshots will be @@ -439,10 +401,8 @@ timestep something bad will happen, e.g. when LAMMPS will exit with an error. You can dump every timestep, and limit the number of dump files produced, even if you run for 1000s of steps. - ---------- - The *nfile* or *fileper* keywords can be used in conjunction with the "%" wildcard character in the specified dump file name, for all dump styles except the *dcd*\ , *image*\ , *movie*\ , *xtc*\ , and *xyz* styles @@ -463,10 +423,8 @@ file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the next 3 processors and write it to a dump file. - ---------- - The *pad* keyword only applies when the dump filename is specified with a wildcard "\*" character which becomes the timestep. If *pad* is 0, which is the default, the timestep is converted into a string of @@ -477,10 +435,8 @@ yield 0000100, 0012000, 2000000. This can be useful so that post-processing programs can easily read the files in ascending timestep order. - ---------- - The *pbc* keyword applies to all the dump styles. As explained on the :doc:`dump <dump>` doc page, atom coordinates in a dump file may be slightly outside the simulation box. This is because periodic @@ -492,24 +448,20 @@ snapshot is written, then restored to their original position. If it is set to *no* they will not be. The *no* setting is the default because it requires no extra computation. - ---------- - The *precision* keyword only applies to the dump *xtc* style. A specified value of N means that coordinates are stored to 1/N nanometer accuracy, e.g. for N = 1000, the coordinates are written to 1/1000 nanometer accuracy. - ---------- - The *refresh* keyword only applies to the dump *custom*\ , *cfg*\ , *image*\ , and *movie* styles. It allows an "incremental" dump file to be written, by refreshing a compute that is used as a threshold for determining which atoms are included in a dump snapshot. The -specified *c\_ID* gives the ID of the compute. It is prefixed by "c\_" +specified *c_ID* gives the ID of the compute. It is prefixed by "c\_" to indicate a compute, which is the only current option. At some point, other options may be added, e.g. fixes or variables. @@ -534,7 +486,6 @@ any snapshot we only want to output atoms that have hopped since the last snapshot. This can be accomplished with something the following commands: - .. code-block:: LAMMPS variable Dhop equal 0.6 @@ -552,7 +503,7 @@ Angstroms to be output on a given snapshot (assuming metal units). However, note that when an atom is output, we also need to update the reference position for that atom to its new coordinates. So that it will not be output in every snapshot thereafter. That reference -position is stored by :doc:`compute displace/atom <compute_displace_atom>`. So the dump\_modify +position is stored by :doc:`compute displace/atom <compute_displace_atom>`. So the dump_modify *refresh* option triggers a call to compute displace/atom at the end of every dump to perform that update. The *refresh check* option shown as part of the :doc:`compute displace/atom <compute_displace_atom>` command enables the compute @@ -560,23 +511,21 @@ to respond to the call from the dump command, and update the appropriate reference positions. This is done be defining an :doc:`atom-style variable <variable>`, *check* in this example, which calculates a Boolean value (0 or 1) for each atom, based on the same -criterion used by dump\_modify thresh. +criterion used by dump_modify thresh. See the :doc:`compute displace/atom <compute_displace_atom>` command for more details, including an example of how to produce output that includes an initial snapshot with the reference position of all atoms. Note that only computes with a *refresh* option will work with -dump\_modify refresh. See individual compute doc pages for details. +dump_modify refresh. See individual compute doc pages for details. Currently, only compute displace/atom supports this option. Others may be added at some point. If you use a compute that doesn't support -refresh operations, LAMMPS will not complain; dump\_modify refresh will +refresh operations, LAMMPS will not complain; dump_modify refresh will simply do nothing. - ---------- - The *region* keyword only applies to the dump *custom*\ , *cfg*\ , *image*\ , and *movie* styles. If specified, only atoms in the region will be written to the dump file or included in the image/movie. Only @@ -586,10 +535,8 @@ can be defined as the "inside" or "outside" of a geometric shape, and it can be the "union" or "intersection" of a series of simpler regions. - ---------- - The *scale* keyword applies only to the dump *atom* style. A scale value of *yes* means atom coords are written in normalized units from 0.0 to 1.0 in each box dimension. If the simulation box is triclinic @@ -597,10 +544,8 @@ value of *yes* means atom coords are written in normalized units from value of *no* means they are written in absolute distance units (e.g. Angstroms or sigma). - ---------- - The *sfactor* and *tfactor* keywords only apply to the dump *xtc* style. They allow customization of the unit conversion factors used when writing to XTC files. By default they are initialized for @@ -614,10 +559,8 @@ different units, since the compression algorithm used in XTC files is most effective when the typical magnitude of position data is between 10.0 and 0.1. - ---------- - The *sort* keyword determines whether lines of per-atom output in a snapshot are sorted or not. A sort value of *off* means they will typically be written in indeterminate order, either in serial or @@ -640,19 +583,15 @@ performed. output requires extra overhead in terms of CPU and communication cost, as well as memory, versus unsorted output. - ---------- - The *thermo* keyword only applies the dump *netcdf* style. It triggers writing of :doc:`thermo <thermo>` information to the dump file alongside per-atom data. The values included in the dump file are identical to the values specified by :doc:`thermo_style <thermo_style>`. - ---------- - The *thresh* keyword only applies to the dump *custom*\ , *cfg*\ , *image*\ , and *movie* styles. Multiple thresholds can be specified. Specifying *none* turns off all threshold criteria. If thresholds are @@ -677,7 +616,6 @@ the dump command was invoked to produce a snapshot. This is a way to only dump atoms whose attribute has changed (or not changed). Three examples follow. - .. code-block:: LAMMPS dump_modify ... thresh ix != LAST @@ -687,7 +625,6 @@ simulation box since the last dump. (Note that atoms that crossed once and then crossed back between the two dump timesteps would not be included.) - .. code-block:: LAMMPS region foo sphere 10 20 10 15 @@ -697,7 +634,6 @@ included.) This will dump atoms which crossed the boundary of the spherical region since the last dump. - .. code-block:: LAMMPS variable charge atom "(q > 0.5) || (q < -0.5)" @@ -714,16 +650,13 @@ In this context, XOR means that if either the attribute or value is 0.0 and the other is non-zero, then the result is "true" and the threshold criterion is met. Otherwise it is not met. - ---------- - The *time* keyword only applies to the dump *atom*\ , *custom*\ , and *local* styles (and their COMPRESS package versions *atom/gz*\ , *custom/gz* and *local/gz*\ ). If set to *yes*\ , each frame will will contain two extra lines before the "ITEM: TIMESTEP" entry: - .. parsed-literal:: ITEM: TIME @@ -735,16 +668,13 @@ This is to simplify post-processing of trajectories using a variable time step, e.g. when using :doc:`fix dt/reset <fix_dt_reset>`. The default setting is *no*\ . - ---------- - The *units* keyword only applies to the dump *atom*\ , *custom*\ , and *local* styles (and their COMPRESS package versions *atom/gz*\ , *custom/gz* and *local/gz*\ ). If set to *yes*\ , each individual dump file will contain two extra lines at the very beginning with: - .. parsed-literal:: ITEM: UNITS @@ -755,10 +685,8 @@ to the dump file and thus allows visualization and post-processing tools to determine the choice of units of the data in the dump file. The default setting is *no*\ . - ---------- - The *unwrap* keyword only applies to the dump *dcd* and *xtc* styles. If set to *yes*\ , coordinates will be written "unwrapped" by the image flags for each atom. Unwrapped means that if the atom has passed through @@ -767,19 +695,15 @@ the coordinate would be if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside the box size stored with the snapshot. - ---------- - These keywords apply only to the :doc:`dump image <dump_image>` and :doc:`dump movie <dump_image>` styles. Any keyword that affects an image, also affects a movie, since the movie is simply a collection of images. Some of the keywords only affect the :doc:`dump movie <dump_image>` style. The descriptions give details. - ---------- - The *acolor* keyword can be used with the :doc:`dump image <dump_image>` command, when its atom color setting is *type*\ , to set the color that atoms of each type will be drawn in the image. @@ -796,16 +720,14 @@ all types from 1 to N. A leading asterisk means all types from 1 to n The specified *color* can be a single color which is any of the 140 pre-defined colors (see below) or a color name defined by the -dump\_modify color option. Or it can be two or more colors separated +dump_modify color option. Or it can be two or more colors separated by a "/" character, e.g. red/green/blue. In the former case, that color is assigned to all the specified atom types. In the latter case, the list of colors are assigned in a round-robin fashion to each of the specified atom types. - ---------- - The *adiam* keyword can be used with the :doc:`dump image <dump_image>` command, when its atom diameter setting is *type*\ , to set the size that atoms of each type will be drawn in the image. The specified @@ -815,10 +737,8 @@ argument to specify a range of atom types. The specified *diam* is the size in whatever distance :doc:`units <units>` the input script is using, e.g. Angstroms. - ---------- - The *amap* keyword can be used with the :doc:`dump image <dump_image>` command, with its *atom* keyword, when its atom setting is an atom-attribute, to setup a color map. The color map is used to assign @@ -877,7 +797,7 @@ The *N* setting is how many entries follow. The format of the entries depends on whether the color map style is continuous, discrete or sequential. In all cases the *color* setting can be any of the 140 pre-defined colors (see below) or a color name defined by the -dump\_modify color option. +dump_modify color option. For continuous color maps, each entry has a *value* and a *color*\ . The *value* is either a number within the range of values or *min* or @@ -934,7 +854,6 @@ atoms in individual molecules with a different color. See the examples/pour/in.pour.2d.molecule input script for an example of how this is used. - .. code-block:: LAMMPS variable colors string & @@ -948,18 +867,14 @@ this is used. In this case, 10 colors are defined, and molecule IDs are mapped to one of the colors, even if there are 1000s of molecules. - ---------- - The *backcolor* sets the background color of the images. The color name can be any of the 140 pre-defined colors (see below) or a color -name defined by the dump\_modify color option. - +name defined by the dump_modify color option. ---------- - The *bcolor* keyword can be used with the :doc:`dump image <dump_image>` command, with its *bond* keyword, when its color setting is *type*\ , to set the color that bonds of each type will be drawn in the image. @@ -976,16 +891,14 @@ all types from 1 to N. A leading asterisk means all types from 1 to n The specified *color* can be a single color which is any of the 140 pre-defined colors (see below) or a color name defined by the -dump\_modify color option. Or it can be two or more colors separated +dump_modify color option. Or it can be two or more colors separated by a "/" character, e.g. red/green/blue. In the former case, that color is assigned to all the specified bond types. In the latter case, the list of colors are assigned in a round-robin fashion to each of the specified bond types. - ---------- - The *bdiam* keyword can be used with the :doc:`dump image <dump_image>` command, with its *bond* keyword, when its diam setting is *type*\ , to set the diameter that bonds of each type will be drawn in the image. @@ -995,10 +908,8 @@ the *type* argument to specify a range of bond types. The specified *diam* is the size in whatever distance :doc:`units <units>` you are using, e.g. Angstroms. - ---------- - The *bitrate* keyword can be used with the :doc:`dump movie <dump_image>` command to define the size of the resulting movie file and its quality via setting how many kbits per second are to be used for the movie file. Higher bitrates require less @@ -1012,26 +923,22 @@ older compression formats. Not all movie file formats supported by dump movie allow the bitrate to be set. If not, the setting is silently ignored. - ---------- - The *boxcolor* keyword sets the color of the simulation box drawn around the atoms in each image as well as the color of processor sub-domain boundaries. See the "dump image box" command for how to specify that a box be drawn via the *box* keyword, and the sub-domain boundaries via the *subbox* keyword. The color name can be any of the 140 pre-defined colors (see below) or a color name defined by the -dump\_modify color option. - +dump_modify color option. ---------- - The *color* keyword allows definition of a new color name, in addition to the 140-predefined colors (see below), and associates 3 red/green/blue RGB values with that color name. The color name can -then be used with any other dump\_modify keyword that takes a color +then be used with any other dump_modify keyword that takes a color name as a value. The RGB values should each be floating point values between 0.0 and 1.0 inclusive. @@ -1040,10 +947,8 @@ names are searched first, then the 140 pre-defined color names. This means you can also use the *color* keyword to overwrite one of the pre-defined color names with new RBG values. - ---------- - The *framerate* keyword can be used with the :doc:`dump movie <dump_image>` command to define the duration of the resulting movie file. Movie files written by the dump *movie* command have a default frame rate of 24 frames per second and the images generated @@ -1055,10 +960,8 @@ frame rate higher than 24 is not recommended, as it will result in simply dropping the rendered images. It is more efficient to dump images less frequently. - ---------- - Restrictions """""""""""" none @@ -1107,12 +1010,10 @@ The option defaults are * color = 140 color names are pre-defined as listed below * framerate = 24 - ---------- - These are the standard 109 element names that LAMMPS pre-defines for -use with the :doc:`dump image <dump_image>` and dump\_modify commands. +use with the :doc:`dump image <dump_image>` and dump_modify commands. * 1-10 = "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne" * 11-20 = "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca" @@ -1126,13 +1027,11 @@ use with the :doc:`dump image <dump_image>` and dump\_modify commands. * 91-100 = "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm" * 101-109 = "Md", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt" - ---------- - These are the 140 colors that LAMMPS pre-defines for use with the -:doc:`dump image <dump_image>` and dump\_modify commands. Additional -colors can be defined with the dump\_modify color command. The 3 +:doc:`dump image <dump_image>` and dump_modify commands. Additional +colors can be defined with the dump_modify color command. The 3 numbers listed for each name are the RGB (red/green/blue) values. Divide each value by 255 to get the equivalent 0.0 to 1.0 value. diff --git a/doc/src/dump_molfile.rst b/doc/src/dump_molfile.rst index fa9eb106c9..69bd8aa8c2 100644 --- a/doc/src/dump_molfile.rst +++ b/doc/src/dump_molfile.rst @@ -6,7 +6,6 @@ dump molfile command Syntax """""" - .. parsed-literal:: dump ID group-ID molfile N file format path @@ -19,15 +18,13 @@ Syntax * format = file format to be used * path = file path with plugins (optional) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump mf1 all molfile 10 melt1.xml hoomd - dump mf2 all molfile 10 melt2-\*.pdb pdb . + dump mf2 all molfile 10 melt2-*.pdb pdb . dump mf3 all molfile 50 melt3.xyz xyz .:/home/akohlmey/vmd/plugins/LINUX/molfile Description @@ -56,10 +53,8 @@ by this dump style: the number of atoms must not change, the atoms must be sorted, outside of the coordinates no change in atom properties (like type, mass, charge) will be recorded. - ---------- - The *format* keyword determines what format is used to write out the dump. For this to work, LAMMPS must be able to find and load a compatible molfile plugin that supports this format. Settings made via @@ -79,10 +74,8 @@ if it had not been wrapped back into the periodic box. Note that these coordinates may thus be far outside the box size stored with the snapshot. - ---------- - Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be @@ -94,14 +87,11 @@ an arbitrary timestep. N can be changed between runs by using the :doc:`dump_modify every <dump_modify>` command. The :doc:`dump_modify every <dump_modify>` command also allows a variable to be used to determine the sequence of timesteps on which dump files are written. - ---------- - Restrictions """""""""""" - The *molfile* dump style is part of the USER-MOLFILE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -125,10 +115,8 @@ application itself. The plugins are installed in the directory: with a set of header files that are compatible with VMD 1.9 and 1.9.1 (June 2012) - ---------- - Related commands """""""""""""""" diff --git a/doc/src/dump_netcdf.rst b/doc/src/dump_netcdf.rst index c03ea4ef1e..5627060452 100644 --- a/doc/src/dump_netcdf.rst +++ b/doc/src/dump_netcdf.rst @@ -9,7 +9,6 @@ dump netcdf/mpiio command Syntax """""" - .. parsed-literal:: dump ID group-ID netcdf N file args @@ -25,13 +24,12 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS dump 1 all netcdf 100 traj.nc type x y z vx vy vz dump_modify 1 append yes at -1 thermo yes dump 1 all netcdf/mpiio 1000 traj.nc id type x y z - dump 1 all netcdf 1000 traj.\*.nc id type x y z + dump 1 all netcdf 1000 traj.*.nc id type x y z Description """"""""""" @@ -63,29 +61,20 @@ by :doc:`thermo_style <thermo_style>`. .. _netcdf-home: http://www.unidata.ucar.edu/software/netcdf/ - - .. _pnetcdf-home: http://trac.mcs.anl.gov/projects/parallel-netcdf/ - - - ---------- - Restrictions """""""""""" - The *netcdf* and *netcdf/mpiio* dump styles are part of the USER-NETCDF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. - ---------- - Related commands """""""""""""""" diff --git a/doc/src/dump_vtk.rst b/doc/src/dump_vtk.rst index aab7d7809d..4f607c4fdd 100644 --- a/doc/src/dump_vtk.rst +++ b/doc/src/dump_vtk.rst @@ -6,7 +6,6 @@ dump vtk command Syntax """""" - .. parsed-literal:: dump ID group-ID vtk N file args @@ -21,11 +20,10 @@ Syntax Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - dump dmpvtk all vtk 100 dump\*.myforce.vtk id type vx fx - dump dmpvtp flow vtk 100 dump\*.%.displace.vtp id type c_myD[1] c_myD[2] c_myD[3] v_ke + dump dmpvtk all vtk 100 dump*.myforce.vtk id type vx fx + dump dmpvtp flow vtk 100 dump*.%.displace.vtp id type c_myD[1] c_myD[2] c_myD[3] v_ke Description """"""""""" @@ -74,13 +72,11 @@ determine the kind of output. For the *vtk* style, sorting is off by default. See the :doc:`dump_modify <dump_modify>` doc page for details. - ---------- - The dimensions of the simulation box are written to a separate file for each snapshot (either in legacy VTK or XML format depending on the -format of the main dump file) with the suffix *\_boundingBox* appended +format of the main dump file) with the suffix *_boundingBox* appended to the given dump filename. For an orthogonal simulation box this information is saved as a @@ -109,10 +105,8 @@ a wildcard "\*" must be included in the filename, as discussed below. Otherwise the dump files will get overwritten with the new snapshot each time. - ---------- - Dumps are performed on timesteps that are a multiple of N (including timestep 0) and on the last timestep of a minimization if the minimization converges. Note that this means a dump will not be @@ -140,8 +134,8 @@ in order with some post-processing tools. If a "%" character appears in the filename, then each of P processors writes a portion of the dump file, and the "%" character is replaced with the processor ID from 0 to P-1 preceded by an underscore character. -For example, tmp.dump%.vtp becomes tmp.dump\_0.vtp, tmp.dump\_1.vtp, ... -tmp.dump\_P-1.vtp, etc. This creates smaller files and can be a fast +For example, tmp.dump%.vtp becomes tmp.dump_0.vtp, tmp.dump_1.vtp, ... +tmp.dump_P-1.vtp, etc. This creates smaller files and can be a fast mode of output on parallel machines that support parallel I/O for output. By default, P = the number of processors meaning one file per @@ -156,19 +150,16 @@ processor 0 does write files. Note that using the "\*" and "%" characters together can produce a large number of small dump files! -If *dump\_modify binary* is used, the dump file (or files, if "\*" or +If *dump_modify binary* is used, the dump file (or files, if "\*" or "%" is also used) is written in binary format. A binary dump file will be about the same size as a text version, but will typically write out much faster. - ---------- - Restrictions """""""""""" - The *vtk* style does not support writing of gzipped dump files. The *vtk* dump style is part of the USER-VTK package. It is only diff --git a/doc/src/dynamical_matrix.rst b/doc/src/dynamical_matrix.rst index b5ba6f2bf4..c4ceed64e6 100644 --- a/doc/src/dynamical_matrix.rst +++ b/doc/src/dynamical_matrix.rst @@ -6,7 +6,6 @@ dynamical_matrix command Syntax """""" - .. code-block:: LAMMPS dynamical_matrix group-ID style gamma args keyword value ... @@ -15,19 +14,16 @@ Syntax * style = *regular* or *eskm* * gamma = finite different displacement length (distance units) * one or more keyword/arg pairs may be appended - + .. parsed-literal:: - + keyword = *file* or *binary* *file* name = name of output file for the dynamical matrix *binary* arg = *yes* or *no* or *gzip* - - Examples """""""" - .. code-block:: LAMMPS dynamical_matrix 1 regular 0.000001 @@ -51,7 +47,6 @@ matrix defined by \Phi_{ij}^{\alpha\beta} = \frac{\partial^2 U}{\partial x_{i,\alpha} \partial x_{j,\beta}} - The output for the dynamical matrix is printed three elements at a time. The three elements are the three :math:`\beta` elements for a respective i/:math:`\alpha`/j combination. Each line is printed in order of j @@ -78,7 +73,7 @@ Related commands :doc:`fix phonon <fix_phonon>` :doc:`compute hma <compute_hma>` uses an analytic formulation of the -Hessian provided by a pair_style's Pair::single\_hessian() function, +Hessian provided by a pair_style's Pair::single_hessian() function, if implemented. Default diff --git a/doc/src/echo.rst b/doc/src/echo.rst index 6ed4911b2c..6fc00aa1e6 100644 --- a/doc/src/echo.rst +++ b/doc/src/echo.rst @@ -6,7 +6,6 @@ echo command Syntax """""" - .. parsed-literal:: echo style @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS echo both echo log @@ -42,7 +40,6 @@ Restrictions Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS echo log diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 57a1b706b3..2182ce7460 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -6,7 +6,6 @@ fix command Syntax """""" - .. parsed-literal:: fix ID group-ID style args @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve fix 3 all nvt temp 300.0 300.0 0.01 @@ -77,10 +75,8 @@ continue on with its calculations in a restarted simulation. See the a fix in an input script that reads a restart file. See the doc pages for individual fixes for info on which ones can be restarted. - ---------- - Some fixes calculate one of three styles of quantities: global, per-atom, or local, which can be used by other commands or output as described below. A global quantity is one or more system-wide values, @@ -107,11 +103,11 @@ discussed below, it can be referenced via the following bracket notation, where ID is the ID of the fix: +-------------+--------------------------------------------+ -| f\_ID | entire scalar, vector, or array | +| f_ID | entire scalar, vector, or array | +-------------+--------------------------------------------+ -| f\_ID[I] | one element of vector, one column of array | +| f_ID[I] | one element of vector, one column of array | +-------------+--------------------------------------------+ -| f\_ID[I][J] | one element of array | +| f_ID[I][J] | one element of array | +-------------+--------------------------------------------+ In other words, using one bracket reduces the dimension of the @@ -123,14 +119,12 @@ or array. Note that commands and :doc:`variables <variable>` which use fix quantities typically do not allow for all kinds, e.g. a command may require a vector of values, not a scalar. This means there is no -ambiguity about referring to a fix quantity as f\_ID even if it +ambiguity about referring to a fix quantity as f_ID even if it produces, for example, both a scalar and vector. The doc pages for various commands explain the details. - ---------- - In LAMMPS, the values generated by a fix can be used in several ways: * Global values can be output via the :doc:`thermo_style custom <thermo_style>` or :doc:`fix ave/time <fix_ave_time>` command. @@ -142,7 +136,6 @@ In LAMMPS, the values generated by a fix can be used in several ways: command. Or the per-atom values can be referenced in an :doc:`atom-style variable <variable>`. * Local values can be reduced by the :doc:`compute reduce <compute_reduce>` command, or histogrammed by the :doc:`fix ave/histo <fix_ave_histo>` command. - See the :doc:`Howto output <Howto_output>` doc page for a summary of various LAMMPS output options, many of which involve fixes. @@ -153,16 +146,14 @@ e.g. temperature. Extensive means the value scales with the number of atoms in the simulation, e.g. total rotational kinetic energy. :doc:`Thermodynamic output <thermo_style>` will normalize extensive values by the number of atoms in the system, depending on the -"thermo\_modify norm" setting. It will not normalize intensive values. +"thermo_modify norm" setting. It will not normalize intensive values. If a fix value is accessed in another way, e.g. by a :doc:`variable <variable>`, you may want to know whether it is an intensive or extensive value. See the doc page for individual fixes for further info. - ---------- - Each fix style has its own doc page which describes its arguments and what it does, as listed below. Here is an alphabetic list of fix styles available in LAMMPS. They are also listed in more compact form @@ -396,7 +387,6 @@ accelerated styles exist. Restrictions """""""""""" - Some fix styles are part of specific packages. 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 individual fixes tell if it is part of a package. diff --git a/doc/src/fix_adapt.rst b/doc/src/fix_adapt.rst index 0e57ec98c1..eab8f92639 100644 --- a/doc/src/fix_adapt.rst +++ b/doc/src/fix_adapt.rst @@ -6,7 +6,6 @@ fix adapt command Syntax """""" - .. parsed-literal:: fix ID group-ID adapt N attribute args ... keyword value ... @@ -16,9 +15,9 @@ Syntax * N = adapt simulation settings every this many timesteps * one or more attribute/arg pairs may be appended * attribute = *pair* or *kspace* or *atom* - + .. parsed-literal:: - + *pair* args = pstyle pparam I J v_name pstyle = pair style name, e.g. lj/cut pparam = parameter to adapt over time @@ -37,9 +36,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *scale* or *reset* - + .. parsed-literal:: - + *scale* value = *no* or *yes* *no* = the variable value is the new setting *yes* = the variable value multiplies the original setting @@ -47,17 +46,14 @@ Syntax *no* = values will remain altered at the end of a run *yes* = reset altered values to their original values at the end of a run - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all adapt 1 pair soft a 1 1 v_prefactor - fix 1 all adapt 1 pair soft a 2\* 3 v_prefactor - fix 1 all adapt 1 pair lj/cut epsilon \* \* v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes + fix 1 all adapt 1 pair soft a 2* 3 v_prefactor + fix 1 all adapt 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes fix 1 all adapt 10 atom diameter v_size variable ramp_up equal "ramp(0.01,0.5)" @@ -102,10 +98,8 @@ themselves are actually altered by this fix. Make sure you use the *reset yes* option if you want the parameters to be restored to their initial values after the run. - ---------- - The *pair* keyword enables various parameters of potentials defined by the :doc:`pair_style <pair_style>` command to be changed, if the pair style supports it. Note that the :doc:`pair_style <pair_style>` and @@ -127,11 +121,11 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`born <pair_born>` | a,b,c | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`born/coul/long, born/coul/msm <pair_born>` | coulombic\_cutoff | type global | +| :doc:`born/coul/long, born/coul/msm <pair_born>` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`buck <pair_buck>` | a,c | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`buck/coul/long, buck/coul/msm <pair_buck>` | coulombic\_cutoff | type global | +| :doc:`buck/coul/long, buck/coul/msm <pair_buck>` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`buck/mdf <pair_mdf>` | a,c | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -141,11 +135,11 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`coul/debye <pair_coul>` | scale | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/dsf <pair_coul>` | coulombic\_cutoff | type global | +| :doc:`coul/dsf <pair_coul>` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/long, coul/msm <pair_coul>` | coulombic\_cutoff, scale | type pairs | +| :doc:`coul/long, coul/msm <pair_coul>` | coulombic_cutoff, scale | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/long/soft <pair_fep_soft>` | scale, lambda, coulombic\_cutoff | type pairs | +| :doc:`coul/long/soft <pair_fep_soft>` | scale, lambda, coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`eam, eam/alloy, eam/fs <pair_eam>` | scale | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -155,17 +149,17 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/class2 <pair_class2>` | epsilon,sigma | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/class2/coul/cut, lj/class2/coul/long <pair_class2>` | epsilon,sigma,coulombic\_cutoff | type pairs | +| :doc:`lj/class2/coul/cut, lj/class2/coul/long <pair_class2>` | epsilon,sigma,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut <pair_lj>` | epsilon,sigma | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm <pair_lj>` | epsilon,sigma,coulombic\_cutoff | type pairs | +| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm <pair_lj>` | epsilon,sigma,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft <pair_fep_soft>` | epsilon,sigma,lambda,coulombic\_cutoff | type pairs | +| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft <pair_fep_soft>` | epsilon,sigma,lambda,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut/coul/dsf <pair_lj>` | cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/cut/tip4p/cut <pair_lj>` | epsilon,sigma,coulombic\_cutoff | type pairs | +| :doc:`lj/cut/tip4p/cut <pair_lj>` | epsilon,sigma,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -177,7 +171,7 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lubricate <pair_lubricate>` | mu | global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`mie/cut <pair_mie>` | epsilon,sigma,gamma\_repulsive,gamma\_attractive | type pairs | +| :doc:`mie/cut <pair_mie>` | epsilon,sigma,gamma_repulsive,gamma_attractive | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`morse, morse/smooth/linear <pair_morse>` | D0,R0,alpha | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -185,19 +179,19 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`nm/cut <pair_nm>` | E0,R0,m,n | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`nm/cut/coul/cut, nm/cut/coul/long <pair_nm>` | E0,R0,m,n,coulombic\_cutoff | type pairs | +| :doc:`nm/cut/coul/cut, nm/cut/coul/long <pair_nm>` | E0,R0,m,n,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`reax/c <pair_reaxc>` | chi, eta, gamma | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/dmi <pair_spin_dmi>` | coulombic\_cutoff | type global | +| :doc:`spin/dmi <pair_spin_dmi>` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/exchange <pair_spin_exchange>` | coulombic\_cutoff | type global | +| :doc:`spin/exchange <pair_spin_exchange>` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/magelec <pair_spin_magelec>` | coulombic\_cutoff | type global | +| :doc:`spin/magelec <pair_spin_magelec>` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/neel <pair_spin_neel>` | coulombic\_cutoff | type global | +| :doc:`spin/neel <pair_spin_neel>` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`table <pair_table>` | table\_cutoff | type pairs | +| :doc:`table <pair_table>` | table_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`ufm <pair_ufm>` | epsilon,sigma | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -253,10 +247,10 @@ be a sub-style name. You must specify I,J arguments that correspond to type pair values defined (via the :doc:`pair_coeff <pair_coeff>` command) for that sub-style. -The *v\_name* argument for keyword *pair* is the name of an +The *v_name* argument for keyword *pair* is the name of an :doc:`equal-style variable <variable>` which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be -specified as v\_name, where name is the variable name. Equal-style +specified as v_name, where name is the variable name. Equal-style variables can specify formulas with various mathematical functions, and include :doc:`thermo_style <thermo_style>` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is @@ -270,16 +264,13 @@ For example, these commands would change the prefactor coefficient of the :doc:`pair_style soft <pair_soft>` potential from 10.0 to 30.0 in a linear fashion over the course of a simulation: - -.. parsed-literal:: +.. code-block:: LAMMPS variable prefactor equal ramp(10,30) - fix 1 all adapt 1 pair soft a \* \* v_prefactor - + fix 1 all adapt 1 pair soft a * * v_prefactor ---------- - The *bond* keyword uses the specified variable to change the value of a bond coefficient over time, very similar to how the *pair* keyword operates. The only difference is that now a bond coefficient for a @@ -293,9 +284,9 @@ from 1 to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -Currently *bond* does not support bond\_style hybrid nor bond\_style +Currently *bond* does not support bond_style hybrid nor bond_style hybrid/overlay as bond styles. The only bonds that currently are -working with fix\_adapt are +working with fix_adapt are +---------------------------------+-------+------------+ | :doc:`gromos <bond_gromos>` | k, r0 | type bonds | @@ -303,10 +294,8 @@ working with fix\_adapt are | :doc:`harmonic <bond_harmonic>` | k,r0 | type bonds | +---------------------------------+-------+------------+ - ---------- - The *kspace* keyword used the specified variable as a scale factor on the energy, forces, virial calculated by whatever K-Space solver is defined by the :doc:`kspace_style <kspace_style>` command. If the @@ -315,10 +304,8 @@ variable has a value of 1.0, then the solver is unaltered. The *kspace* keyword works this way whether the *scale* keyword is set to *no* or *yes*\ . - ---------- - The *atom* keyword enables various atom properties to be changed. The *aparam* argument is the name of the parameter to change. This is the current list of atom parameters that can be varied by this fix: @@ -326,10 +313,10 @@ current list of atom parameters that can be varied by this fix: * charge = charge on particle * diameter = diameter of particle -The *v\_name* argument of the *atom* keyword is the name of an +The *v_name* argument of the *atom* keyword is the name of an :doc:`equal-style variable <variable>` which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be -specified as v\_name, where name is the variable name. See the +specified as v_name, where name is the variable name. See the discussion above describing the formulas associated with equal-style variables. The new value is assigned to the corresponding attribute for all atoms in the fix group. @@ -349,17 +336,14 @@ For example, these commands would shrink the diameter of all granular particles in the "center" group from 1.0 to 0.1 in a linear fashion over the course of a 1000-step simulation: - -.. parsed-literal:: +.. code-block:: LAMMPS variable size equal ramp(1.0,0.1) fix 1 center adapt 10 atom diameter v_size - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_adapt_fep.rst b/doc/src/fix_adapt_fep.rst index 2ec43eb5fc..ee44d8904f 100644 --- a/doc/src/fix_adapt_fep.rst +++ b/doc/src/fix_adapt_fep.rst @@ -6,7 +6,6 @@ fix adapt/fep command Syntax """""" - .. parsed-literal:: fix ID group-ID adapt/fep N attribute args ... keyword value ... @@ -16,9 +15,9 @@ Syntax * N = adapt simulation settings every this many timesteps * one or more attribute/arg pairs may be appended * attribute = *pair* or *kspace* or *atom* - + .. parsed-literal:: - + *pair* args = pstyle pparam I J v_name pstyle = pair style name, e.g. lj/cut pparam = parameter to adapt over time @@ -33,9 +32,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *scale* or *reset* or *after* - + .. parsed-literal:: - + *scale* value = *no* or *yes* *no* = the variable value is the new setting *yes* = the variable value multiplies the original setting @@ -47,17 +46,14 @@ Syntax *no* = parameters are adapted at timestep N *yes* = parameters are adapted one timestep after N - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all adapt/fep 1 pair soft a 1 1 v_prefactor - fix 1 all adapt/fep 1 pair soft a 2\* 3 v_prefactor - fix 1 all adapt/fep 1 pair lj/cut epsilon \* \* v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes + fix 1 all adapt/fep 1 pair soft a 2* 3 v_prefactor + fix 1 all adapt/fep 1 pair lj/cut epsilon * * v_scale1 coul/cut scale 3 3 v_scale2 scale yes reset yes fix 1 all adapt/fep 10 atom diameter 1 v_size Description @@ -74,7 +70,6 @@ with two differences, * There is a new option *after* for better compatibility with "fix ave/time". - This version is suited for free energy calculations using :doc:`compute ti <compute_ti>` or :doc:`compute fep <compute_fep>`. @@ -106,10 +101,8 @@ such as "fix ave/time" is used to calculate averages at every N timesteps, all the contributions to the average will be obtained with the same values of the parameters. - ---------- - The *pair* keyword enables various parameters of potentials defined by the :doc:`pair_style <pair_style>` command to be changed, if the pair style supports it. Note that the :doc:`pair_style <pair_style>` and @@ -224,10 +217,10 @@ be a sub-style name. You must specify I,J arguments that correspond to type pair values defined (via the :doc:`pair_coeff <pair_coeff>` command) for that sub-style. -The *v\_name* argument for keyword *pair* is the name of an +The *v_name* argument for keyword *pair* is the name of an :doc:`equal-style variable <variable>` which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be -specified as v\_name, where name is the variable name. Equal-style +specified as v_name, where name is the variable name. Equal-style variables can specify formulas with various mathematical functions, and include :doc:`thermo_style <thermo_style>` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is @@ -241,16 +234,13 @@ For example, these commands would change the prefactor coefficient of the :doc:`pair_style soft <pair_soft>` potential from 10.0 to 30.0 in a linear fashion over the course of a simulation: - -.. parsed-literal:: +.. code-block:: LAMMPS variable prefactor equal ramp(10,30) - fix 1 all adapt 1 pair soft a \* \* v_prefactor - + fix 1 all adapt 1 pair soft a * * v_prefactor ---------- - The *kspace* keyword used the specified variable as a scale factor on the energy, forces, virial calculated by whatever K-Space solver is defined by the :doc:`kspace_style <kspace_style>` command. If the @@ -259,10 +249,8 @@ variable has a value of 1.0, then the solver is unaltered. The *kspace* keyword works this way whether the *scale* keyword is set to *no* or *yes*\ . - ---------- - The *atom* keyword enables various atom properties to be changed. The *aparam* argument is the name of the parameter to change. This is the current list of atom parameters that can be varied by this fix: @@ -274,10 +262,10 @@ The *I* argument indicates which atom types are affected. A wild-card asterisk can be used in place of or in conjunction with the I argument to set the coefficients for multiple atom types. -The *v\_name* argument of the *atom* keyword is the name of an +The *v_name* argument of the *atom* keyword is the name of an :doc:`equal-style variable <variable>` which will be evaluated each time this fix is invoked to set the parameter to a new value. It should be -specified as v\_name, where name is the variable name. See the +specified as v_name, where name is the variable name. See the discussion above describing the formulas associated with equal-style variables. The new value is assigned to the corresponding attribute for all atoms in the fix group. @@ -291,20 +279,17 @@ For example, these commands would shrink the diameter of all granular particles in the "center" group from 1.0 to 0.1 in a linear fashion over the course of a 1000-step simulation: - -.. parsed-literal:: +.. code-block:: LAMMPS variable size equal ramp(1.0,0.1) - fix 1 center adapt 10 atom diameter \* v_size + fix 1 center adapt 10 atom diameter * v_size For :doc:`rRESPA time integration <run_style>`, this fix changes parameters on the outermost rRESPA level. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_addforce.rst b/doc/src/fix_addforce.rst index f85c3f4925..a7403ef7ab 100644 --- a/doc/src/fix_addforce.rst +++ b/doc/src/fix_addforce.rst @@ -6,7 +6,6 @@ fix addforce command Syntax """""" - .. parsed-literal:: fix ID group-ID addforce fx fy fz keyword value ... @@ -14,16 +13,16 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * addforce = style name of this fix command * fx,fy,fz = force component values (force units) - + .. parsed-literal:: - + any of fx,fy,fz can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *every* or *region* or *energy* - + .. parsed-literal:: - + *every* value = Nevery Nevery = add force every this many timesteps *region* value = region-ID @@ -31,13 +30,10 @@ Syntax *energy* value = v_name v_name = variable with name that calculates the potential energy of each atom in the added force field - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix kick flow addforce 1.0 0.0 0.0 fix kick flow addforce 1.0 0.0 v_oscillate @@ -54,7 +50,7 @@ a channel. Any of the 3 quantities defining the force components can be specified as an equal-style or atom-style :doc:`variable <variable>`, namely *fx*\ , *fy*\ , *fz*\ . If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value(s) used to determine the force component. @@ -76,10 +72,8 @@ If the *region* keyword is used, the atom must also be in the specified geometric :doc:`region <region>` in order to have force added to it. - ---------- - Adding a force to atoms implies a change in their potential energy as they move due to the applied force field. For dynamics via the "run" command, this energy can be optionally added to the system's potential @@ -104,7 +98,7 @@ one or more variables, and you are performing energy minimization via the "minimize" command. The keyword specifies the name of an atom-style :doc:`variable <variable>` which is used to compute the energy of each atom as function of its position. Like variables used -for *fx*\ , *fy*\ , *fz*\ , the energy variable is specified as v\_name, +for *fx*\ , *fy*\ , *fz*\ , the energy variable is specified as v_name, where name is the variable name. Note that when the *energy* keyword is used during an energy @@ -115,10 +109,8 @@ were a spring-like F = kx, then the energy formula should be E = -0.5kx\^2. If you don't do this correctly, the minimization will not converge properly. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -137,11 +129,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_addtorque.rst b/doc/src/fix_addtorque.rst index f9a17cc3ef..2b5a7ce8ce 100644 --- a/doc/src/fix_addtorque.rst +++ b/doc/src/fix_addtorque.rst @@ -6,7 +6,6 @@ fix addtorque command Syntax """""" - .. parsed-literal:: fix ID group-ID addtorque Tx Ty Tz @@ -16,12 +15,10 @@ Syntax * Tx,Ty,Tz = torque component values (torque units) * any of Tx,Ty,Tz can be a variable (see below) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix kick bead addtorque 2.0 3.0 5.0 fix kick bead addtorque 0.0 0.0 v_oscillate @@ -37,13 +34,12 @@ the group such that: * the group would move as a rigid body in the absence of other forces. - This command can be used to drive a group of atoms into rotation. Any of the 3 quantities defining the torque components can be specified as an equal-style :doc:`variable <variable>`, namely *Tx*\ , *Ty*\ , *Tz*\ . If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the torque component. @@ -52,11 +48,9 @@ functions, and include :doc:`thermo_style <thermo_style>` command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent torque. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -91,7 +85,6 @@ the iteration count during the minimization. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_append_atoms.rst b/doc/src/fix_append_atoms.rst index ff3fea459f..6246787075 100644 --- a/doc/src/fix_append_atoms.rst +++ b/doc/src/fix_append_atoms.rst @@ -6,7 +6,6 @@ fix append/atoms command Syntax """""" - .. parsed-literal:: fix ID group-ID append/atoms face ... keyword value ... @@ -16,9 +15,9 @@ Syntax * face = *zhi* * zero or more keyword/value pairs may be appended * keyword = *basis* or *size* or *freq* or *temp* or *random* or *units* - + .. parsed-literal:: - + *basis* values = M itype M = which basis atom itype = atom type (1-N) to assign to this basis atom @@ -38,13 +37,10 @@ Syntax *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all append/atoms zhi size 5.0 freq 295 units lattice fix 4 all append/atoms zhi size 15.0 freq 5 units box @@ -88,11 +84,9 @@ A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice <lattice>` command must have been previously used to define the lattice spacings. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -103,7 +97,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_atc.rst b/doc/src/fix_atc.rst index 48ee5cb243..6903275310 100644 --- a/doc/src/fix_atc.rst +++ b/doc/src/fix_atc.rst @@ -6,14 +6,13 @@ fix atc command Syntax """""" - .. parsed-literal:: fix <fixID> <group> atc <type> <parameter_file> * fixID = name of fix * group = name of group fix is to be applied -* type = *thermal* or *two\_temperature* or *hardy* or *field* +* type = *thermal* or *two_temperature* or *hardy* or *field* .. parsed-literal:: @@ -22,14 +21,12 @@ Syntax *hardy* = on-the-fly post-processing using kernel localization functions (see "related" section for possible fields) *field* = on-the-fly post-processing using mesh-based localization functions (see "related" section for possible fields) -* parameter\_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file - +* parameter_file = name of the file with material parameters. Note: Neither hardy nor field requires a parameter file Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix AtC internal atc thermal Ar_thermal.dat fix AtC internal atc two_temperature Ar_ttm.mat @@ -39,15 +36,15 @@ Examples Description """"""""""" -This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the post-processing does not. After instantiating this fix, several other fix\_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. +This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. .. image:: JPG/atc_nanotube.jpg :align: center +The following coupling example is typical, but non-exhaustive: -.. parsed-literal:: +.. code-block:: LAMMPS - The following coupling example is typical, but non-exhaustive: # ... commands to create and initialize the MD system # initial fix to designate coupling type and group to apply it to @@ -74,8 +71,7 @@ This fix is the beginning to creating a coupled FE/MD simulation and/or an on-th likewise for this post-processing example: - -.. parsed-literal:: +.. code-block:: LAMMPS # ... commands to create and initialize the MD system @@ -87,7 +83,7 @@ likewise for this post-processing example: fix AtC kernel quartic_sphere 10.0 # create a uniform 1 x 1 x 1 mesh that covers region contain the group - # with periodicity this effectively creats a system average + # with periodicity this effectively creates a system average fix_modify AtC mesh create 1 1 1 box p p p # change from default lagrangian map to eulerian @@ -107,8 +103,7 @@ likewise for this post-processing example: the mesh's linear interpolation functions can be used as the localization function by using the field option: - -.. parsed-literal:: +.. code-block:: LAMMPS fix AtC internal atc field fix_modify AtC mesh create 1 1 1 box p p p @@ -116,11 +111,9 @@ by using the field option: Note coupling and post-processing can be combined in the same simulations using separate fixes. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. The :doc:`fix_modify <fix_modify>` options relevant to this fix are listed below. No global scalar or vector or @@ -132,8 +125,7 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - -Thermal and two\_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc. In addition, currently: +Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc. In addition, currently: * the coupling is restricted to thermal physics * the FE computations are done in serial on each processor. @@ -143,7 +135,7 @@ Related commands After specifying this fix in your input script, several other :doc:`fix_modify <fix_modify>` commands are used to setup the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions. -*fix\_modify* commands for setup: +*fix_modify* commands for setup: * `fix_modify AtC mesh create <USER/atc/man_mesh_create.html>`_ * `fix_modify AtC mesh quadrature <USER/atc/man_mesh_quadrature.html>`_ @@ -164,7 +156,7 @@ After specifying this fix in your input script, several other :doc:`fix_modify < * `fix_modify AtC internal_element_set <USER/atc/man_internal_element_set.html>`_ * `fix_modify AtC decomposition <USER/atc/man_decomposition.html>`_ -*fix\_modify* commands for boundary and initial conditions: +*fix_modify* commands for boundary and initial conditions: * `fix_modify AtC initial <USER/atc/man_initial.html>`_ * `fix_modify AtC fix <USER/atc/man_fix_nodes.html>`_ @@ -174,7 +166,7 @@ After specifying this fix in your input script, several other :doc:`fix_modify < * `fix_modify AtC source <USER/atc/man_source.html>`_ * `fix_modify AtC remove_source <USER/atc/man_remove_source.html>`_ -*fix\_modify* commands for control and filtering: +*fix_modify* commands for control and filtering: * `fix_modify AtC control <USER/atc/man_control.html>`_ * `fix_modify AtC control thermal <USER/atc/man_control_thermal.html>`_ @@ -190,7 +182,7 @@ After specifying this fix in your input script, several other :doc:`fix_modify < * `fix_modify AtC extrinsic exchange <USER/atc/man_extrinsic_exchange.html>`_ * `fix_modify AtC poisson_solver <USER/atc/man_poisson_solver.html>`_ -*fix\_modify* commands for output: +*fix_modify* commands for output: * `fix_modify AtC output <USER/atc/man_output.html>`_ * `fix_modify AtC output nodeset <USER/atc/man_output_nodeset.html>`_ @@ -201,7 +193,7 @@ After specifying this fix in your input script, several other :doc:`fix_modify < * `fix_modify AtC write_restart <USER/atc/man_write_restart.html>`_ * `fix_modify AtC read_restart <USER/atc/man_read_restart.html>`_ -*fix\_modify* commands for post-processing: +*fix_modify* commands for post-processing: * `fix_modify AtC kernel <USER/atc/man_hardy_kernel.html>`_ * `fix_modify AtC fields <USER/atc/man_hardy_fields.html>`_ @@ -213,7 +205,7 @@ After specifying this fix in your input script, several other :doc:`fix_modify < * `fix_modify AtC sample_frequency <USER/atc/man_sample_frequency.html>`_ * `fix_modify AtC set <USER/atc/man_set.html>`_ -miscellaneous *fix\_modify* commands: +miscellaneous *fix_modify* commands: * `fix_modify AtC atom_element_map <USER/atc/man_atom_element_map.html>`_ * `fix_modify AtC atom_weight <USER/atc/man_atom_weight.html>`_ @@ -241,52 +233,36 @@ Default """"""" None - ---------- - For detailed exposition of the theory and algorithms please see: .. _Wagner: - - **(Wagner)** Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An atomistic-to-continuum coupling method for heat transfer in solids." Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351. .. _Zimmeman2004: - - **(Zimmerman2004)** Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319. .. _Zimmerman2010: - - **(Zimmerman2010)** Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364. .. _Templeton2010: - - **(Templeton2010)** Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007. .. _Jones: - - **(Jones)** Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, "Electron transport enhanced molecular dynamics for metals and semi-metals." International Journal for Numerical Methods in Engineering (2010), 83:940. .. _Templeton2011: - - **(Templeton2011)** Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736. .. _Mandadapu: - - **(Mandadapu)** Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115. Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation. diff --git a/doc/src/fix_atom_swap.rst b/doc/src/fix_atom_swap.rst index ce6190a58c..a87fdadf83 100644 --- a/doc/src/fix_atom_swap.rst +++ b/doc/src/fix_atom_swap.rst @@ -6,7 +6,6 @@ fix atom/swap command Syntax """""" - .. parsed-literal:: fix ID group-ID atom/swap N X seed T keyword values ... @@ -19,9 +18,9 @@ Syntax * T = scaling temperature of the MC swaps (temperature units) * one or more keyword/value pairs may be appended to args * keyword = *types* or *mu* or *ke* or *semi-grand* or *region* - + .. parsed-literal:: - + *types* values = two or more atom types *mu* values = chemical potential of swap types (energy units) *ke* value = *no* or *yes* @@ -33,13 +32,10 @@ Syntax *region* value = region-ID region-ID = ID of region to use as an exchange/move volume - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all atom/swap 1 1 29494 300.0 ke no types 1 2 fix myFix all atom/swap 100 1 12345 298.0 region my_swap_region types 5 6 @@ -145,7 +141,7 @@ you MUST enable the :doc:`fix_modify <fix_modify>` *energy* option for that fix. The doc pages for individual :doc:`fix <fix>` commands specify if this should be done. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the fix to :doc:`binary restart files <restart>`. This includes information about the random number generator seed, the next timestep for MC exchanges, the number @@ -178,7 +174,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -196,13 +191,9 @@ Default The option defaults are ke = yes, semi-grand = no, mu = 0.0 for all atom types. - ---------- - .. _Sadigh: - - **(Sadigh)** B Sadigh, P Erhart, A Stukowski, A Caro, E Martinez, and L Zepeda-Ruiz, Phys. Rev. B, 85, 184203 (2012). diff --git a/doc/src/fix_ave_atom.rst b/doc/src/fix_ave_atom.rst index 4a33a5e85c..93ff48ce0f 100644 --- a/doc/src/fix_ave_atom.rst +++ b/doc/src/fix_ave_atom.rst @@ -6,7 +6,6 @@ fix ave/atom command Syntax """""" - .. parsed-literal:: fix ID group-ID ave/atom Nevery Nrepeat Nfreq value1 value2 ... @@ -17,10 +16,10 @@ Syntax * Nrepeat = # of times to use input values for calculating averages * Nfreq = calculate averages every this many timesteps one or more input values can be listed -* value = x, y, z, vx, vy, vz, fx, fy, fz, c\_ID, c\_ID[i], f\_ID, f\_ID[i], v\_name - +* value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[i], f_ID, f_ID[i], v_name + .. parsed-literal:: - + x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) @@ -28,17 +27,14 @@ Syntax f_ID[I] = Ith column of per-atom array calculated by a fix with ID, I can include wildcard (see below) v_name = per-atom vector calculated by an atom-style variable with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/atom 1 100 100 vx vy vz fix 1 all ave/atom 10 20 1000 c_my_stress[1] - fix 1 all ave/atom 10 20 1000 c_my_stress[\*] + fix 1 all ave/atom 10 20 1000 c_my_stress[*] Description """"""""""" @@ -83,19 +79,16 @@ had been listed one by one. E.g. these 2 fix ave/atom commands are equivalent, since the :doc:`compute stress/atom <compute_stress_atom>` command creates a per-atom array with 6 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute my_stress all stress/atom NULL - fix 1 all ave/atom 10 20 1000 c_my_stress[\*] + fix 1 all ave/atom 10 20 1000 c_my_stress[*] fix 1 all ave/atom 10 20 1000 c_my_stress[1] c_my_stress[2] & c_my_stress[3] c_my_stress[4] & c_my_stress[5] c_my_stress[6] - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps @@ -111,10 +104,8 @@ timesteps 90,92,94,96,98,100 will be used to compute the final average on timestep 100. Similarly for timesteps 190,192,194,196,198,200 on timestep 200, etc. - ---------- - The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as inputs to this fix by using the :doc:`compute property/atom <compute_property_atom>` command and then specifying @@ -156,11 +147,9 @@ thermodynamic keywords, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to time average. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global scalar or vector quantities are diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index f757894c02..b19cce417c 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -6,7 +6,6 @@ fix ave/chunk command Syntax """""" - .. parsed-literal:: fix ID group-ID ave/chunk Nevery Nrepeat Nfreq chunkID value1 value2 ... keyword args ... @@ -18,10 +17,10 @@ Syntax * Nfreq = calculate averages every this many timesteps * chunkID = ID of :doc:`compute chunk/atom <compute_chunk_atom>` command * one or more input values can be listed -* value = vx, vy, vz, fx, fy, fz, density/mass, density/number, temp, c\_ID, c\_ID[I], f\_ID, f\_ID[I], v\_name - +* value = vx, vy, vz, fx, fy, fz, density/mass, density/number, temp, c_ID, c_ID[I], f_ID, f_ID[I], v_name + .. parsed-literal:: - + vx,vy,vz,fx,fy,fz = atom attribute (velocity, force component) density/number, density/mass = number or mass density temp = temperature @@ -33,9 +32,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *norm* or *ave* or *bias* or *adof* or *cdof* or *file* or *overwrite* or *title1* or *title2* or *title3* - + .. parsed-literal:: - + *norm* arg = *all* or *sample* or *none* = how output on *Nfreq* steps is normalized all = output is sum of atoms across all *Nrepeat* samples, divided by atom count sample = output is sum of *Nrepeat* sample averages, divided by *Nrepeat* @@ -62,13 +61,10 @@ Syntax *title3* arg = string string = text to print as 3rd line of output file - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/chunk 10000 1 10000 binchunk c_myCentro title1 "My output values" fix 1 flow ave/chunk 100 10 1000 molchunk vx vz norm sample file vel.profile @@ -82,15 +78,13 @@ with the newer, more flexible fix ave/chunk and :doc:`compute chunk/atom <comput the fix ave/spatial arguments across the two new commands. For example, this command: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 flow ave/spatial 100 10 1000 y 0.0 1.0 vx vz norm sample file vel.profile could be replaced by: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cc1 flow chunk/atom bin/1d y 0.0 1.0 fix 1 flow ave/chunk 100 10 1000 cc1 vx vz norm sample file vel.profile @@ -154,11 +148,10 @@ had been listed one by one. E.g. these 2 fix ave/chunk commands are equivalent, since the :doc:`compute property/atom <compute_property_atom>` command creates, in this case, a per-atom array with 3 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myAng all property/atom angmomx angmomy angmomz - fix 1 all ave/chunk 100 1 100 cc1 c_myAng[\*] file tmp.angmom + fix 1 all ave/chunk 100 1 100 cc1 c_myAng[*] file tmp.angmom fix 2 all ave/chunk 100 1 100 cc1 c_myAng[1] c_myAng[2] c_myAng[3] file tmp.angmom .. note:: @@ -173,10 +166,8 @@ case, a per-atom array with 3 columns: computational cost (summing across processors), so be careful to define a reasonable number of chunks. - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be accessed and contribute to the average. The final averaged quantities are generated on timesteps @@ -219,10 +210,8 @@ discussed below. the size of each bin can vary at each timestep if the simulation box size changes, e.g. for an NPT simulation. - ---------- - The atom attribute values (vx,vy,vz,fx,fy,fz) are self-explanatory. As noted above, any other atom attributes can be used as input values to this fix by using the :doc:`compute property/atom <compute_property_atom>` command and then specifying @@ -303,10 +292,8 @@ attributes, or invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of generating per-atom quantities to average within chunks. - ---------- - Additional optional keywords also affect the operation of this fix and its outputs. @@ -430,7 +417,6 @@ values for each of these, so they do not need to be specified. By default, these header lines are as follows: - .. parsed-literal:: # Chunk-averaged data for fix ID and group name @@ -440,7 +426,7 @@ By default, these header lines are as follows: In the first line, ID and name are replaced with the fix-ID and group name. The second line describes the two values that are printed at the first of each section of output. In the third line the values are -replaced with the appropriate value names, e.g. fx or c\_myCompute[2]. +replaced with the appropriate value names, e.g. fx or c_myCompute[2]. The words in parenthesis only appear with corresponding columns if the chunk style specified for the :doc:`compute chunk/atom <compute_chunk_atom>` command supports them. The OrigID @@ -468,11 +454,9 @@ be in unitless reduced units (0-1). This is not true for the Coord1 value of style *bin/sphere* or *bin/cylinder* which both represent radial dimensions. Those values are always in distance :doc:`units <units>`. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. diff --git a/doc/src/fix_ave_correlate.rst b/doc/src/fix_ave_correlate.rst index 277a7ac25c..c42159e89b 100644 --- a/doc/src/fix_ave_correlate.rst +++ b/doc/src/fix_ave_correlate.rst @@ -6,7 +6,6 @@ fix ave/correlate command Syntax """""" - .. parsed-literal:: fix ID group-ID ave/correlate Nevery Nrepeat Nfreq value1 value2 ... keyword args ... @@ -17,10 +16,10 @@ Syntax * Nrepeat = # of correlation time windows to accumulate * Nfreq = calculate time window averages every this many timesteps * one or more input values can be listed -* value = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = global scalar calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below) f_ID = global scalar calculated by a fix with ID @@ -30,9 +29,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *type* or *ave* or *start* or *prefactor* or *file* or *overwrite* or *title1* or *title2* or *title3* - + .. parsed-literal:: - + *type* arg = *auto* or *upper* or *lower* or *auto/upper* or *auto/lower* or *full* auto = correlate each value with itself upper = correlate each value with each succeeding value @@ -57,20 +56,17 @@ Syntax *title3* arg = string string = text to print as 3rd line of output file - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/correlate 5 100 1000 c_myTemp file temp.correlate fix 1 all ave/correlate 1 50 10000 & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & type upper ave running title1 "My correlation data" -fix 1 all ave/correlate 1 50 10000 c\_thermo\_press[\*] + fix 1 all ave/correlate 1 50 10000 c_thermo_press[*] Description """"""""""" @@ -124,19 +120,16 @@ vector had been listed one by one. E.g. these 2 fix ave/correlate commands are equivalent, since the :doc:`compute pressure <compute_pressure>` command creates a global vector with 6 values. - -.. parsed-literal:: +.. code-block:: LAMMPS compute myPress all pressure NULL - fix 1 all ave/correlate 1 50 10000 c_myPress[\*] + fix 1 all ave/correlate 1 50 10000 c_myPress[*] fix 1 all ave/correlate 1 50 10000 & c_myPress[1] c_myPress[2] c_myPress[3] & c_myPress[4] c_myPress[5] c_myPress[6] - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be used to calculate correlation data. The input values are sampled every *Nevery* timesteps. The @@ -147,7 +140,6 @@ beginning of the simulation or the last output time; see the *ave* keyword for options. For the set of samples, the correlation value Cij is calculated as: - .. parsed-literal:: Cij(delta) = ave(Vi(t)\*Vj(t+delta)) @@ -160,7 +152,6 @@ time delta. The maximum delta used is of size (\ *Nrepeat*\ -1)\*\ *Nevery*\ . Thus the correlation between a pair of input values yields *Nrepeat* correlation datums: - .. parsed-literal:: Cij(0), Cij(Nevery), Cij(2\*Nevery), ..., Cij((Nrepeat-1)\*Nevery) @@ -176,10 +167,8 @@ Vi(10)\*V j20), Vi(15)\*Vj(25), ..., Vi(85)\*Vj(95), Vi(90)\*Vj(100). non-zero. Also, if the *ave* keyword is set to *one* which is the default, then *Nfreq* >= (\ *Nrepeat*\ -1)\*\ *Nevery* is required. - ---------- - If a value begins with "c\_", a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the compute is used. If a @@ -219,10 +208,8 @@ keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to time correlate. - ---------- - Additional optional keywords also affect the operation of this fix. The *type* keyword determines which pairs of input values are @@ -248,7 +235,6 @@ pair Vi(t)\*Vj(t+delta) is always the one sampled at the later time. itself and every other value. I.e. Cij = Vi\*Vj, for i,j = 1,N so Npair = N\^2. - The *ave* keyword determines what happens to the accumulation of correlation samples every *Nfreq* timesteps. If the *ave* setting is *one*\ , then the accumulation is restarted or zeroed every *Nfreq* @@ -292,7 +278,6 @@ values for each of these, so they do not need to be specified. By default, these header lines are as follows: - .. parsed-literal:: # Time-correlated data for fix ID @@ -304,14 +289,11 @@ describes the two values that are printed at the first of each section of output. In the third line the value pairs are replaced with the appropriate fields from the fix ave/correlate command. - ---------- - Let Sij = a set of time correlation data for input values I and J, namely the *Nrepeat* values: - .. parsed-literal:: Sij = Cij(0), Cij(Nevery), Cij(2\*Nevery), ..., Cij(\*Nrepeat-1)\*Nevery) @@ -326,11 +308,9 @@ quantities which can be derived from time correlation data. If a normalization factor is needed for the time integration, it can be included in the variable formula or via the *prefactor* keyword. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -362,7 +342,6 @@ as determined by the *type* keyword, as described above. ..., C1N, C21, C22, ..., C2N, C31, ..., C3N, ..., CN1, ..., CNN-1, CNN. - The array values calculated by this fix are treated as intensive. If you need to divide them by the number of atoms, you must do this in a later processing step, e.g. when using them in a diff --git a/doc/src/fix_ave_correlate_long.rst b/doc/src/fix_ave_correlate_long.rst index d05c29c1a9..affa7df127 100644 --- a/doc/src/fix_ave_correlate_long.rst +++ b/doc/src/fix_ave_correlate_long.rst @@ -6,7 +6,6 @@ fix ave/correlate/long command Syntax """""" - .. parsed-literal:: fix ID group-ID ave/correlate/long Nevery Nfreq value1 value2 ... keyword args ... @@ -16,10 +15,10 @@ Syntax * Nevery = use input values every this many timesteps * Nfreq = save state of the time correlation functions every this many timesteps * one or more input values can be listed -* value = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = global scalar calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID f_ID = global scalar calculated by a fix with ID @@ -28,9 +27,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *type* or *start* or *file* or *overwrite* or *title1* or *title2* or *ncorr* or *p* or *m* - + .. parsed-literal:: - + *type* arg = *auto* or *upper* or *lower* or *auto/upper* or *auto/lower* or *full* auto = correlate each value with itself upper = correlate each value with each succeeding value @@ -52,15 +51,12 @@ Syntax *nlen* args = Nlen Nlen = length of each correlator *ncount* args = Ncount - Ncount = number of values over which succesive correlators are averaged - - + Ncount = number of values over which successive correlators are averaged Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/correlate/long 5 1000 c_myTemp file temp.correlate fix 1 all ave/correlate/long 1 10000 & @@ -114,7 +110,7 @@ corresponds to about 10 KB. For the meaning of the additional optional keywords, see the :doc:`fix ave/correlate <fix_ave_correlate>` doc page. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Contrary to :doc:`fix ave/correlate <fix_ave_correlate>` this fix does **not** provide access to its internal data to various output @@ -122,7 +118,7 @@ options. Since this fix in intended for the calculation of time correlation functions over very long MD simulations, the information about this fix is written automatically to binary restart files, so that the time correlation calculation can continue in subsequent -simulations. None of the fix\_modify options are relevant to this fix. +simulations. None of the fix_modify options are relevant to this fix. No parameter of this fix can be used with the start/stop keywords of the run command. This fix is not invoked during energy minimization. @@ -130,7 +126,6 @@ the run command. This fix is not invoked during energy minimization. Restrictions """""""""""" - This compute is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -148,13 +143,9 @@ the :doc:`fix ave/correlate <fix_ave_correlate>` doc page. The option defaults for keywords unique to this command are as follows: ncorr=20, nlen=16, ncount=2. - ---------- - .. _Ramirez: - - **(Ramirez)** J. Ramirez, S.K. Sukumaran, B. Vorselaars and A.E. Likhtman, J. Chem. Phys. 133, 154103 (2010). diff --git a/doc/src/fix_ave_histo.rst b/doc/src/fix_ave_histo.rst index 2987c25731..158f259695 100644 --- a/doc/src/fix_ave_histo.rst +++ b/doc/src/fix_ave_histo.rst @@ -9,7 +9,6 @@ fix ave/histo/weight command Syntax """""" - .. parsed-literal:: fix ID group-ID style Nevery Nrepeat Nfreq lo hi Nbin value1 value2 ... keyword args ... @@ -22,10 +21,10 @@ Syntax * lo,hi = lo/hi bounds within which to histogram * Nbin = # of histogram bins * one or more input values can be listed -* value = x, y, z, vx, vy, vz, fx, fy, fz, c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* value = x, y, z, vx, vy, vz, fx, fy, fz, c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + x,y,z,vx,vy,vz,fx,fy,fz = atom attribute (position, velocity, force component) c_ID = scalar or vector calculated by a compute with ID c_ID[I] = Ith component of vector or Ith column of array calculated by a compute with ID, I can include wildcard (see below) @@ -36,9 +35,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *mode* or *file* or *ave* or *start* or *beyond* or *overwrite* or *title1* or *title2* or *title3* - + .. parsed-literal:: - + *mode* arg = *scalar* or *vector* scalar = all input values are scalars vector = all input values are vectors @@ -63,17 +62,14 @@ Syntax *title3* arg = string string = text to print as 3rd line of output file, only for vector mode - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/histo 100 5 1000 0.5 1.5 50 c_myTemp file temp.histo ave running fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[2] c_thermo_press[3] title1 "My output values" - fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[\*] + fix 1 all ave/histo 100 5 1000 -5 5 100 c_thermo_press[*] fix 1 all ave/histo 1 100 1000 -2.0 2.0 18 vx vy vz mode vector ave running beyond extra fix 1 all ave/histo/weight 1 1 1 10 100 2000 c_XRD[1] c_XRD[2] @@ -138,11 +134,10 @@ vector or columns of the array had been listed one by one. E.g. these 2 fix ave/histo commands are equivalent, since the :doc:`compute com/chunk <compute_com_chunk>` command creates a global array with 3 columns: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myCOM all com/chunk - fix 1 all ave/histo 100 1 100 c_myCOM[\*] file tmp1.com mode vector + fix 1 all ave/histo 100 1 100 c_myCOM[*] file tmp1.com mode vector fix 2 all ave/histo 100 1 100 c_myCOM[1] c_myCOM[2] c_myCOM[3] file tmp2.com mode vector If the fix ave/histo/weight command is used, exactly two values must @@ -155,10 +150,8 @@ corresponding weight is tallied. E.g. The Nth entry (weight) in the second vector is tallied to the bin corresponding to the Nth entry in the first vector. - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the histogram. The final histogram is generated on timesteps that are @@ -176,10 +169,8 @@ histogram on timestep 100. Similarly for timesteps = 100, then no time averaging of the histogram is done; a histogram is simply generated on timesteps 100,200,etc. - ---------- - The atom attribute values (x,y,z,vx,vy,vz,fx,fy,fz) are self-explanatory. Note that other atom attributes can be used as inputs to this fix by using the :doc:`compute property/atom <compute_property_atom>` command and then specifying @@ -237,10 +228,8 @@ thermodynamic keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to histogram. - ---------- - Additional optional keywords also affect the operation of this fix. If the *mode* keyword is set to *scalar*\ , then all input values must @@ -327,7 +316,6 @@ values for each of these, so they do not need to be specified. By default, these header lines are as follows: - .. parsed-literal:: # Histogram for fix ID @@ -339,11 +327,9 @@ describes the six values that are printed at the first of each section of output. The third describes the 4 values printed for each bin in the histogram. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. diff --git a/doc/src/fix_ave_time.rst b/doc/src/fix_ave_time.rst index 20bd4382c7..efa8095d69 100644 --- a/doc/src/fix_ave_time.rst +++ b/doc/src/fix_ave_time.rst @@ -6,7 +6,6 @@ fix ave/time command Syntax """""" - .. parsed-literal:: fix ID group-ID ave/time Nevery Nrepeat Nfreq value1 value2 ... keyword args ... @@ -17,10 +16,10 @@ Syntax * Nrepeat = # of times to use input values for calculating averages * Nfreq = calculate averages every this many timesteps * one or more input values can be listed -* value = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = global scalar or vector calculated by a compute with ID c_ID[I] = Ith component of global vector or Ith column of global array calculated by a compute with ID, I can include wildcard (see below) f_ID = global scalar or vector calculated by a fix with ID @@ -30,9 +29,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *mode* or *file* or *ave* or *start* or *off* or *overwrite* or *title1* or *title2* or *title3* - + .. parsed-literal:: - + *mode* arg = *scalar* or *vector* scalar = all input values are global scalars vector = all input values are global vectors or global arrays @@ -56,18 +55,15 @@ Syntax *title3* arg = string string = text to print as 3rd line of output file, only for vector mode - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ave/time 100 5 1000 c_myTemp c_thermo_temp file temp.profile fix 1 all ave/time 100 5 1000 c_thermo_press[2] ave window 20 & title1 "My output values" - fix 1 all ave/time 100 5 1000 c_thermo_press[\*] + fix 1 all ave/time 100 5 1000 c_thermo_press[*] fix 1 all ave/time 1 100 1000 f_indent f_indent[1] file temp.indent off 1 Description @@ -132,17 +128,14 @@ vector or columns of the array had been listed one by one. E.g. these 2 fix ave/time commands are equivalent, since the :doc:`compute rdf <compute_rdf>` command creates, in this case, a global array with 3 columns, each of length 50: - -.. parsed-literal:: +.. code-block:: LAMMPS compute myRDF all rdf 50 1 2 - fix 1 all ave/time 100 1 100 c_myRDF[\*] file tmp1.rdf mode vector + fix 1 all ave/time 100 1 100 c_myRDF[*] file tmp1.rdf mode vector fix 2 all ave/time 100 1 100 c_myRDF[1] c_myRDF[2] c_myRDF[3] file tmp2.rdf mode vector - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps @@ -160,10 +153,8 @@ timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps 100,200,etc. - ---------- - If a value begins with "c\_", a compute ID must follow which has been previously defined in the input script. If *mode* = scalar, then if no bracketed term is appended, the global scalar calculated by the @@ -212,10 +203,8 @@ keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to time average. - ---------- - Additional optional keywords also affect the operation of this fix. If the *mode* keyword is set to *scalar*\ , then all input values must @@ -290,7 +279,6 @@ default values for each of these, so they do not need to be specified. By default, these header lines are as follows for *mode* = scalar: - .. parsed-literal:: # Time-averaged data for fix ID @@ -303,7 +291,6 @@ so the *title3* setting is ignored when *mode* = scalar. By default, these header lines are as follows for *mode* = vector: - .. parsed-literal:: # Time-averaged data for fix ID @@ -315,11 +302,9 @@ describes the two values that are printed at the first of each section of output. In the third line the values are replaced with the appropriate fields from the fix ave/time command. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. diff --git a/doc/src/fix_aveforce.rst b/doc/src/fix_aveforce.rst index d6f67d14c7..437c5caaa7 100644 --- a/doc/src/fix_aveforce.rst +++ b/doc/src/fix_aveforce.rst @@ -6,7 +6,6 @@ fix aveforce command Syntax """""" - .. parsed-literal:: fix ID group-ID aveforce fx fy fz keyword value ... @@ -14,26 +13,23 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * aveforce = style name of this fix command * fx,fy,fz = force component values (force units) - + .. parsed-literal:: - + any of fx,fy,fz can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *region* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region atoms must be in to have added force - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix pressdown topwall aveforce 0.0 -1.0 0.0 fix 2 bottomwall aveforce NULL -1.0 0.0 region top @@ -59,7 +55,7 @@ average value without adding in any additional force. Any of the 3 quantities defining the force components can be specified as an equal-style :doc:`variable <variable>`, namely *fx*\ , *fy*\ , *fz*\ . -If the value is a variable, it should be specified as v\_name, where +If the value is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the average force. @@ -73,10 +69,8 @@ If the *region* keyword is used, the atom must also be in the specified geometric :doc:`region <region>` in order to have force added to it. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -95,11 +89,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 6ba6605377..13fdf6b1c7 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -6,7 +6,6 @@ fix balance command Syntax """""" - .. parsed-literal:: fix ID group-ID balance Nfreq thresh style args keyword args ... @@ -16,9 +15,9 @@ Syntax * Nfreq = perform dynamic load balancing every this many steps * thresh = imbalance threshold that must be exceeded to perform a re-balance * style = *shift* or *rcb* - + .. parsed-literal:: - + shift args = dimstr Niter stopthresh dimstr = sequence of letters containing "x" or "y" or "z", each not more than once Niter = # of times to iterate within each dimension of dimstr sequence @@ -27,9 +26,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *weight* or *out* - + .. parsed-literal:: - + *weight* style args = use weighted particle counts for the balancing *style* = *group* or *neigh* or *time* or *var* or *store* *group* args = Ngroup group1 weight1 group2 weight2 ... @@ -47,13 +46,10 @@ Syntax *out* arg = filename filename = write each processor's sub-domain to a file, at each re-balancing - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all balance 1000 1.05 shift x 10 1.05 fix 2 all balance 100 0.9 shift xy 20 1.1 out tmp.balance @@ -147,10 +143,8 @@ forced even if the current balance is perfect (1.0) be specifying a :doc:`kspace_style <kspace_style>` command. Thus you should benchmark the run times of a simulation before and after balancing. - ---------- - The method used to perform a load balance is specified by one of the listed styles, which are described in detail below. There are 2 kinds of styles. @@ -165,13 +159,17 @@ the simulation box across processors (one sub-box for each of 16 processors); the middle diagram is after a "grid" method has been applied. -.. image:: JPG/balance_uniform_small.jpg +.. |bal_uni| image:: JPG/balance_uniform_small.jpg :target: JPG/balance_uniform.jpg -.. image:: JPG/balance_nonuniform_small.jpg + :width: 31% +.. |bal_non| image:: JPG/balance_nonuniform_small.jpg :target: JPG/balance_nonuniform.jpg -.. image:: JPG/balance_rcb_small.jpg + :width: 31% +.. |bal_rcb| image:: JPG/balance_rcb_small.jpg :target: JPG/balance_rcb.jpg + :width: 31% +|bal_uni| |bal_non| |bal_rcb| The *rcb* style is a "tiling" method which does not produce a logical 3d grid of processors. Rather it tiles the simulation domain with @@ -195,10 +193,8 @@ When a "tiling" method is specified, the current domain partitioning ("grid" or "tiled") is ignored, and a new partitioning is computed from scratch. - ---------- - The *group-ID* is ignored. However the impact of balancing on different groups of atoms can be affected by using the *group* weight style as described below. @@ -214,10 +210,8 @@ command settings. On re-balance steps, re-balancing will only be attempted if the current imbalance factor, as defined above, exceeds the *thresh* setting. - ---------- - The *shift* style invokes a "grid" method for balancing, as described above. It changes the positions of cutting planes between processors in an iterative fashion, seeking to reduce the imbalance factor. @@ -282,10 +276,8 @@ the normal reneighboring procedure. the threshold accuracy is reached (in a dimension) is less iterations than *Niter* and exit early. - ---------- - The *rcb* style invokes a "tiled" method for balancing, as described above. It performs a recursive coordinate bisectioning (RCB) of the simulation domain. The basic idea is as follows. @@ -311,10 +303,8 @@ the box in two. The recursion continues until every processor is assigned a sub-box of the entire simulation domain, and owns the atoms in that sub-box. - ---------- - The *out* keyword writes text to the specified *filename* with the results of each re-balancing operation. The file contains the bounds of the sub-domain for each processor after the balancing operation @@ -323,7 +313,6 @@ completes. The format of the file is compatible with the visualizing mesh files. An example is shown here for a balancing by 4 processors for a 2d problem: - .. parsed-literal:: ITEM: TIMESTEP @@ -371,11 +360,9 @@ rectangle for each processor (1 to 4). For a 3d problem, the syntax is similar with 8 vertices listed for each processor, instead of 4, and "SQUARES" replaced by "CUBES". - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -399,14 +386,11 @@ by this fix are "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`. - ---------- - Restrictions """""""""""" - For 2d simulations, the *z* style cannot be used. Nor can a "z" appear in *dimstr* for the *shift* style. @@ -419,6 +403,6 @@ Related commands :doc:`group <group>`, :doc:`processors <processors>`, :doc:`balance <balance>`, :doc:`comm_style <comm_style>` -.. _pizza: http://pizza.sandia.gov +.. _pizza: https://pizza.sandia.gov **Default:** none diff --git a/doc/src/fix_bocs.rst b/doc/src/fix_bocs.rst index 5ee6ba2f83..5315aa81a1 100644 --- a/doc/src/fix_bocs.rst +++ b/doc/src/fix_bocs.rst @@ -6,7 +6,6 @@ fix bocs command Syntax """""" - .. parsed-literal:: fix ID group-ID bocs keyword values ... @@ -19,13 +18,10 @@ Syntax *linear_spline* values = input_filename *cubic_spline* values = input_filename - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all bocs temp 300.0 300.0 100.0 cgiso 0.986 0.986 1000.0 analytic 66476.015 968 2 245030.10 8962.20 @@ -41,22 +37,20 @@ Dunn and Noid in :ref:`(Dunn1) <bocs-Dunn1>` to the standard MTTK barostat by Martyna et. al. in :ref:`(Martyna) <bocs-Martyna>` . The first half of the command mimics a standard fix npt command: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all bocs temp Tstart Tstop Tcoupl cgiso Pstart Pstop Pdamp The two differences are replacing *npt* with *bocs*\ , and replacing *iso*\ /\ *aniso*\ /\ *etc* with *cgiso*\ . The rest of the command details what form you would like to use for -the pressure correction equation. The choices are: *analytic*\ , *linear\_spline*, -or *cubic\_spline*. +the pressure correction equation. The choices are: *analytic*\ , *linear_spline*, +or *cubic_spline*. With either spline method, the only argument that needs to follow it is the name of a file that contains the desired pressure correction as a function of volume. The file must be formatted so each line has: - .. parsed-literal:: Volume_i, PressureCorrection_i @@ -73,19 +67,17 @@ range provided, the simulation will stop. With the *analytic* option, the arguments are as follows: - .. parsed-literal:: ... analytic V_avg N_particles N_coeff Coeff_1 Coeff_2 ... Coeff_N -Note that *V\_avg* and *Coeff\_i* should all be in the proper units, e.g. if you -are using *units real*\ , *V\_avg* should be in cubic angstroms, and the +Note that *V_avg* and *Coeff_i* should all be in the proper units, e.g. if you +are using *units real*\ , *V_avg* should be in cubic angstroms, and the coefficients should all be in atmospheres \* cubic angstroms. Restrictions """""""""""" - As this is computing a (modified) pressure, group-ID should be *all*\ . The pressure correction has only been tested for use with an isotropic @@ -94,9 +86,9 @@ pressure coupling in 3 dimensions. By default, LAMMPS will still report the normal value for the pressure if the pressure is printed via a *thermo* command, or if the pressures are written to a file every so often. In order to have LAMMPS report the -modified pressure, you must include the *thermo\_modify* command given in +modified pressure, you must include the *thermo_modify* command given in the examples. For the last argument in the command, you should put -XXXX\_press, where XXXX is the ID given to the fix bocs command (in the +XXXX_press, where XXXX is the ID given to the fix bocs command (in the example, the ID of the fix bocs command is 1 ). This fix is part of the USER-BOCS package. It is only enabled if @@ -110,26 +102,16 @@ paper by Dunn et. al. :ref:`(Dunn2) <bocs-Dunn2>` . .. _bocsgithub: https://github.com/noid-group/BOCS - - - ---------- - .. _bocs-Dunn1: - - **(Dunn1)** Dunn and Noid, J Chem Phys, 143, 243148 (2015). .. _bocs-Martyna: - - **(Martyna)** Martyna, Tobias, and Klein, J Chem Phys, 101, 4177 (1994). .. _bocs-Dunn2: - - **(Dunn2)** Dunn, Lebold, DeLyser, Rudzinski, and Noid, J. Phys. Chem. B, 122, 3363 (2018). diff --git a/doc/src/fix_bond_break.rst b/doc/src/fix_bond_break.rst index ce06447f07..3994b58b12 100644 --- a/doc/src/fix_bond_break.rst +++ b/doc/src/fix_bond_break.rst @@ -6,7 +6,6 @@ fix bond/break command Syntax """""" - .. parsed-literal:: fix ID group-ID bond/break Nevery bondtype Rmax keyword values ... @@ -18,20 +17,17 @@ Syntax * Rmax = bond longer than Rmax can break (distance units) * zero or more keyword/value pairs may be appended to args * keyword = *prob* - + .. parsed-literal:: - + *prob* values = fraction seed fraction = break a bond with this probability if otherwise eligible seed = random number seed (positive integer) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 5 all bond/break 10 2 1.2 fix 5 polymer bond/break 1 1 2.0 prob 0.5 49829 @@ -117,11 +113,9 @@ You can dump out snapshots of the current bond topology via the :doc:`dump local may need to thermostat your system to compensate for energy changes resulting from broken bonds (and angles, dihedrals, impropers). - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -141,7 +135,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_bond_create.rst b/doc/src/fix_bond_create.rst index 5ed22bcd58..0c48a800c9 100644 --- a/doc/src/fix_bond_create.rst +++ b/doc/src/fix_bond_create.rst @@ -6,7 +6,6 @@ fix bond/create command Syntax """""" - .. parsed-literal:: fix ID group-ID bond/create Nevery itype jtype Rmin bondtype keyword values ... @@ -19,9 +18,9 @@ Syntax * bondtype = type of created bonds * zero or more keyword/value pairs may be appended to args * keyword = *iparam* or *jparam* or *prob* or *atype* or *dtype* or *itype* - + .. parsed-literal:: - + *iparam* values = maxbond, newtype maxbond = max # of bonds of bondtype the itype atom can have newtype = change the itype atom to this type when maxbonds exist @@ -38,13 +37,10 @@ Syntax *itype* value = impropertype impropertype = type of created impropers - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 5 all bond/create 10 1 2 0.8 1 fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 @@ -218,11 +214,9 @@ You can dump out snapshots of the current bond topology via the :doc:`dump local thermostat your system to compensate for energy changes resulting from created bonds (and angles, dihedrals, impropers). - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -242,7 +236,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index 1206177ba1..8daa52a73d 100644 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -6,7 +6,6 @@ fix bond/react command Syntax """""" - .. parsed-literal:: fix ID group-ID bond/react common_keyword values ... @@ -19,7 +18,7 @@ Syntax * bond/react = style name of this fix command * the common keyword/values may be appended directly after 'bond/react' * this applies to all reaction specifications (below) -* common\_keyword = *stabilization* +* common_keyword = *stabilization* .. parsed-literal:: @@ -37,9 +36,9 @@ Syntax * Rmax = bonding pair atoms must be separated by less than Rmax to initiate reaction (distance units) * template-ID(pre-reacted) = ID of a molecule template containing pre-reaction topology * template-ID(post-reacted) = ID of a molecule template containing post-reaction topology -* map\_file = name of file specifying corresponding atom-IDs in the pre- and post-reacted templates +* map_file = name of file specifying corresponding atom-IDs in the pre- and post-reacted templates * zero or more individual keyword/value pairs may be appended to each react argument -* individual\_keyword = *prob* or *max\_rxn* or *stabilize\_steps* or *update\_edges* +* individual_keyword = *prob* or *max_rxn* or *stabilize_steps* or *update_edges* .. parsed-literal:: @@ -55,15 +54,12 @@ Syntax charges = update atomic charges of all atoms in reaction templates custom = force the update of user-specified atomic charges - - Examples """""""" For unabridged example scripts and files, see examples/USER/reaction. - -.. parsed-literal:: +.. code-block:: LAMMPS molecule mol1 pre_reacted_topology.txt molecule mol2 post_reacted_topology.txt @@ -114,7 +110,7 @@ The *stabilization* keyword enables reaction site stabilization. Reaction site stabilization is performed by including reacting atoms in an internally-created fix :doc:`nve/limit <fix_nve_limit>` time integrator for a set number of timesteps given by the -*stabilize\_steps* keyword. While reacting atoms are being time +*stabilize_steps* keyword. While reacting atoms are being time integrated by the internal nve/limit, they are prevented from being involved in any new reactions. The *xmax* value keyword should typically be set to the maximum distance that non-reacting atoms move @@ -127,7 +123,7 @@ automatically thermostatted by an internally-created :doc:`nve/limit <fix_nve_limit>` integrator. The second group contains all atoms currently not involved in a reaction. This group should be used by a thermostat in order to time integrate the system. The name -of this group of non-reacting atoms is created by appending '\_REACT' +of this group of non-reacting atoms is created by appending '_REACT' to the group-ID argument of the *stabilization* keyword, as shown in the second example above. @@ -143,8 +139,8 @@ command creates a :doc:`dynamic group <group>` that is initialized to include all atoms. If the group-ID is that of an existing static group, the group is used as the parent group of new, internally-created dynamic group. In both cases, this new dynamic -group is named by appending '\_REACT' to the group-ID, e.g. -nvt\_grp\_REACT. By specifying an existing group, you may thermostat +group is named by appending '_REACT' to the group-ID, e.g. +nvt_grp_REACT. By specifying an existing group, you may thermostat constant-topology parts of your system separately. The dynamic group contains only atoms not involved in a reaction at a given timestep, and therefore should be used by a subsequent system-wide time @@ -255,7 +251,6 @@ A map file has a header and a body. The header of map file the contains one mandatory keyword and five optional keywords. The mandatory keyword is 'equivalences': - .. parsed-literal:: N *equivalences* = # of atoms N in the reaction molecule templates @@ -263,7 +258,6 @@ mandatory keyword is 'equivalences': The optional keywords are 'edgeIDs', 'deleteIDs', 'customIDs' and 'constraints': - .. parsed-literal:: N *edgeIDs* = # of edge atoms N in the pre-reacted molecule template @@ -291,18 +285,15 @@ Edges' and allows for forcing the update of a specific atom's atomic charge. The first column is the ID of an atom near the edge of the pre-reacted molecule template, and the value of the second column is either 'none' or 'charges.' Further details are provided in the -discussion of the 'update\_edges' keyword. The fifth optional section +discussion of the 'update_edges' keyword. The fifth optional section begins with the keyword 'Constraints' and lists additional criteria that must be satisfied in order for the reaction to occur. Currently, there are four types of constraints available, as discussed below. A sample map file is given below: - ---------- - - .. parsed-literal:: # this is a map file @@ -330,10 +321,8 @@ A sample map file is given below: 6 6 7 7 - ---------- - The handedness of atoms that are chiral centers can be enforced by listing their IDs in the ChiralIDs section. A chiral atom must be bonded to four atoms with mutually different atom types. This feature @@ -347,7 +336,6 @@ Any number of additional constraints may be specified in the Constraints section of the map file. The constraint of type 'distance' has syntax as follows: - .. parsed-literal:: distance *ID1* *ID2* *rmin* *rmax* @@ -358,7 +346,6 @@ distance between *rmin* and *rmax* for the reaction to occur. The constraint of type 'angle' has the following syntax: - .. parsed-literal:: angle *ID1* *ID2* *ID3* *amin* *amax* @@ -372,7 +359,6 @@ reacting molecules. The constraint of type 'dihedral' has the following syntax: - .. parsed-literal:: dihedral *ID1* *ID2* *ID3* *ID4* *amin* *amax* *amin2* *amax2* @@ -395,10 +381,8 @@ probability according to the temperature-dependent Arrhenius equation: k = AT^{n}e^{\frac{-E_{a}}{k_{B}T}} - The Arrhenius constraint has the following syntax: - .. parsed-literal:: arrhenius *A* *n* *E_a* *seed* @@ -438,9 +422,9 @@ actually occurs. The fraction setting must be a value between 0.0 and 1.0. A uniform random number between 0.0 and 1.0 is generated and the eligible reaction only occurs if the random number is less than the fraction. Up to N reactions are permitted to occur, as optionally -specified by the *max\_rxn* keyword. +specified by the *max_rxn* keyword. -The *stabilize\_steps* keyword allows for the specification of how many +The *stabilize_steps* keyword allows for the specification of how many timesteps a reaction site is stabilized before being returned to the overall system thermostat. In order to produce the most physical behavior, this 'reaction site equilibration time' should be tuned to @@ -451,7 +435,7 @@ individually tuned for each fix reaction step. Note that in some situations, decreasing rather than increasing this parameter will result in an increase in stability. -The *update\_edges* keyword can increase the number of atoms whose +The *update_edges* keyword can increase the number of atoms whose atomic charges are updated, when the pre-reaction template contains edge atoms. When the value is set to 'charges,' all atoms' atomic charges are updated to those specified by the post-reaction template, @@ -477,13 +461,12 @@ such as small rings, that may be otherwise indistinguishable. Optionally, you can enforce additional behaviors on reacting atoms. For example, it may be beneficial to force reacting atoms to remain at a certain temperature. For this, you can use the internally-created -dynamic group named "bond\_react\_MASTER\_group", which consists of all +dynamic group named "bond_react_MASTER_group", which consists of all atoms currently involved in a reaction. For example, adding the following command would add an additional thermostat to the group of all currently-reacting atoms: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 bond_react_MASTER_group temp/rescale 1 300 300 10 1 @@ -502,11 +485,9 @@ you should be cautious about invoking this fix too frequently. You can dump out snapshots of the current bond topology via the dump local command. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Cumulative reaction counts for each reaction are written to :doc:`binary restart files <restart>`. These values are associated with the reaction name (react-ID). Additionally, internally-created per-atom @@ -532,7 +513,6 @@ all other fixes that use any group created by fix bond/react. Restrictions """""""""""" - This fix is part of the USER-REACTION package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -548,15 +528,11 @@ Related commands Default """"""" -The option defaults are stabilization = no, prob = 1.0, stabilize\_steps = 60, -update\_edges = none - +The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60, +update_edges = none ---------- - .. _Gissinger: - - **(Gissinger)** Gissinger, Jensen and Wise, Polymer, 128, 211 (2017). diff --git a/doc/src/fix_bond_swap.rst b/doc/src/fix_bond_swap.rst index 296cf986cf..9427b0e780 100644 --- a/doc/src/fix_bond_swap.rst +++ b/doc/src/fix_bond_swap.rst @@ -6,7 +6,6 @@ fix bond/swap command Syntax """""" - .. parsed-literal:: fix ID group-ID bond/swap Nevery fraction cutoff seed @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all bond/swap 50 0.5 1.3 598934 @@ -115,16 +113,13 @@ ends of a chain swap with each other. running dynamics, but can affect calculation of some diagnostic quantities or the printing of unwrapped coordinates to a dump file. - ---------- - This fix computes a temperature each time it is invoked for use by the Boltzmann criterion. To do this, the fix creates its own compute of style *temp*\ , as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp @@ -134,19 +129,17 @@ appended and the group for the new compute is "all", so that the temperature of the entire system is used. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp*. +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify <compute_modify>` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +It also means that changing attributes of *thermo_temp* will have no effect on this fix. - ---------- - -**Restart, fix\_modify, thermo output, run start/stop, minimize info:** +**Restart, fix_modify, thermo output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. Because the state of the random number generator is not saved in restart files, this means you cannot do "exact" @@ -177,12 +170,11 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. -The settings of the "special\_bond" command must be 0,1,1 in order to +The settings of the "special_bond" command must be 0,1,1 in order to use this fix, which is typical of bead-spring chains with FENE or harmonic bonds. This means that pairwise interactions between bonded atoms are turned off, but are turned on between atoms two or three @@ -199,13 +191,9 @@ Related commands **Default:** none - ---------- - .. _Sides: - - **(Sides)** Sides, Grest, Stevens, Plimpton, J Polymer Science B, 42, 199-208 (2004). diff --git a/doc/src/fix_box_relax.rst b/doc/src/fix_box_relax.rst index 0c4cad7ad0..7786a8faef 100644 --- a/doc/src/fix_box_relax.rst +++ b/doc/src/fix_box_relax.rst @@ -6,16 +6,15 @@ fix box/relax command Syntax """""" - .. parsed-literal:: fix ID group-ID box/relax keyword value ... * ID, group-ID are documented in :doc:`fix <fix>` command * box/relax = style name of this fix command - + .. parsed-literal:: - + one or more keyword value pairs may be appended keyword = *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *yz* or *xz* or *couple* or *nreset* or *vmax* or *dilate* or *scaleyz* or *scalexz* or *scalexy* or *fixedpoint* *iso* or *aniso* or *tri* value = Ptarget = desired pressure (pressure units) @@ -30,13 +29,10 @@ Syntax *fixedpoint* values = x y z x,y,z = perform relaxation dilation/contraction around this point (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all box/relax iso 0.0 vmax 0.001 fix 2 water box/relax aniso 0.0 dilate partial @@ -54,10 +50,8 @@ close to the specified external tensor. Conceptually, specifying a positive pressure is like squeezing on the simulation box; a negative pressure typically allows the box to expand. - ---------- - The external pressure tensor is specified using one or more of the *iso*\ , *aniso*\ , *tri*\ , *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , *yz*\ , and *couple* keywords. These keywords give you the ability to specify all 6 @@ -138,10 +132,8 @@ displaced by the same amount, different on each iteration. new objective function valid for the new box size/shape. Repeat as necessary until the box size/shape has reached its new equilibrium. - ---------- - The *couple* keyword allows two or three of the diagonal components of the pressure tensor to be "coupled" together. The value specified with the keyword determines which are coupled. For example, *xz* @@ -155,10 +147,8 @@ dilated or contracted by the same percentage every timestep. The *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. - ---------- - The *iso*\ , *aniso*\ , and *tri* keywords are simply shortcuts that are equivalent to specifying several other keywords together. @@ -167,7 +157,6 @@ pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using "iso Ptarget" is the same as specifying these 4 keywords: - .. parsed-literal:: x Ptarget @@ -181,7 +170,6 @@ stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Ptarget" is the same as specifying these 4 keywords: - .. parsed-literal:: x Ptarget @@ -195,7 +183,6 @@ as the driving forces, and the specified scalar pressure as the external normal stress. Using "tri Ptarget" is the same as specifying these 7 keywords: - .. parsed-literal:: x Ptarget @@ -206,10 +193,8 @@ these 7 keywords: xz 0.0 couple none - ---------- - The *vmax* keyword can be used to limit the fractional change in the volume of the simulation box that can occur in one iteration of the minimizer. If the pressure is not settling down during the @@ -220,10 +205,8 @@ percent in one iteration when *couple xyz* has been specified. For any other case it means no linear dimension of the simulation box can change by more than 1/10 of a percent. - ---------- - With this fix, the potential energy used by the minimizer is augmented by an additional energy provided by the fix. The overall objective function then is: @@ -232,7 +215,6 @@ function then is: E = U + P_t \left(V-V_0 \right) + E_{strain} - where *U* is the system potential energy, :math:`P_t` is the desired hydrostatic pressure, :math:`V` and :math:`V_0` are the system and reference volumes, respectively. :math:`E_{strain}` is the strain energy expression @@ -245,7 +227,6 @@ global system stress tensor **P** will satisfy the relation: \mathbf P = P_t \mathbf I + {\mathbf S_t} \left( \mathbf h_0^{-1} \right)^t \mathbf h_{0d} - where **I** is the identity matrix, :math:`\mathbf{h_0}` is the box dimension tensor of the reference cell, and ::math:`\mathbf{h_{0d}}` is the diagonal part of :math:`\mathbf{h_0}`. :math:`\mathbf{S_t}` @@ -288,7 +269,7 @@ from a restart file. Because pressure is often a very sensitive function of volume, it can be difficult for the minimizer to equilibrate the system the desired pressure with high precision, particularly for solids. Some - techniques that seem to help are (a) use the "min\_modify line + techniques that seem to help are (a) use the "min_modify line quadratic" option when minimizing with box relaxations, (b) minimize several times in succession if need be, to drive the pressure closer to the target pressure, (c) relax the atom positions before relaxing @@ -297,42 +278,37 @@ from a restart file. systems (e.g. liquids) will not sustain a non-hydrostatic applied pressure, which means the minimizer will not converge. - ---------- - This fix computes a temperature and pressure each timestep. The temperature is used to compute the kinetic contribution to the pressure, even though this is subsequently ignored by default. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp virial See the :doc:`compute temp <compute_temp>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is the same as the fix group. Also note that the pressure compute does not include a kinetic component. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. - +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -347,7 +323,7 @@ minimization, most likely in an undesirable way. .. note:: If both the *temp* and *press* keywords are used in a single - thermo\_modify command (or in two separate commands), then the order in + thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a :doc:`pressure compute <compute_pressure>` defines its own temperature compute as an argument when it is specified. The *temp* keyword will override this (for the pressure compute being used by fix box/relax), but only if the @@ -367,8 +343,7 @@ result in double-counting of the fix energy in the minimization energy. Instead, the fix energy can be explicitly added to the potential energy using one of these two variants: - -.. parsed-literal:: +.. code-block:: LAMMPS variable emin equal pe+f_1 @@ -385,7 +360,6 @@ described above. Restrictions """""""""""" - Only dimensions that are available can be adjusted by this fix. Non-periodic dimensions are not available. *z*\ , *xz*\ , and *yz*\ , are not available for 2D simulations. *xy*\ , *xz*\ , and *yz* are only @@ -411,12 +385,8 @@ Default The keyword defaults are dilate = all, vmax = 0.0001, nreset = 0. - ---------- - .. _Parrinello1981: - - **(Parrinello1981)** Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). diff --git a/doc/src/fix_client_md.rst b/doc/src/fix_client_md.rst index f274341a68..2e0cf84cc5 100644 --- a/doc/src/fix_client_md.rst +++ b/doc/src/fix_client_md.rst @@ -6,7 +6,6 @@ fix client/md command Syntax """""" - .. parsed-literal:: fix ID group-ID client/md @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all client/md @@ -42,7 +40,7 @@ for the interacting particles to LAMMPS, so it can complete the timestep. Note that the server code can be a quantum code, or another classical -MD code which encodes a force field (pair\_style in LAMMPS lingo) which +MD code which encodes a force field (pair_style in LAMMPS lingo) which LAMMPS does not have. In the quantum case, this fix is a mechanism for running *ab initio* MD with quantum forces. @@ -66,11 +64,9 @@ the "client" and/or "server" code for this kind of client/server MD simulation. The examples/message/README file explains how to launch LAMMPS and another code in tandem to perform a coupled simulation. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -94,7 +90,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_cmap.rst b/doc/src/fix_cmap.rst index 00a1851e88..6f68d97c59 100644 --- a/doc/src/fix_cmap.rst +++ b/doc/src/fix_cmap.rst @@ -6,7 +6,6 @@ fix cmap command Syntax """""" - .. parsed-literal:: fix ID group-ID cmap filename @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix myCMAP all cmap ../potentials/cmap36.data read_data proteinX.data fix myCMAP crossterm CMAP @@ -46,12 +44,11 @@ specified should contain the CMAP parameters for a particular version of the CHARMM force field. Two such files are including in the lammps/potentials directory: charmm22.cmap and charmm36.cmap. -The data file read by the "read\_data" must contain the topology of all +The data file read by the "read_data" must contain the topology of all the CMAP interactions, similar to the topology data for bonds, angles, dihedrals, etc. Specially it should have a line like this in its header section: - .. parsed-literal:: N crossterms @@ -59,7 +56,6 @@ in its header section: where N is the number of CMAP cross-terms. It should also have a section in the body of the data file like this with N lines: - .. parsed-literal:: CMAP @@ -75,7 +71,7 @@ interaction; it is an index into the CMAP force field file. The remaining 5 columns are the atom IDs of the atoms in the two 4-atom dihedrals that overlap to create the CMAP 5-body interaction. Note that the "crossterm" and "CMAP" keywords for the header and body -sections match those specified in the read\_data command following the +sections match those specified in the read_data command following the data file name; see the :doc:`read_data <read_data>` doc page for more details. @@ -92,11 +88,9 @@ energy of the system, as output by the the note below about how to include the CMAP energy when performing an :doc:`energy minimization <minimize>`. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the list of CMAP cross-terms to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command for info on how to re-specify a fix in an input script that reads a @@ -133,7 +127,6 @@ invoked by the :doc:`minimize <minimize>` command. Restrictions """""""""""" - To function as expected this fix command must be issued *before* a :doc:`read_data <read_data>` command but *after* a :doc:`read_restart <read_restart>` command. @@ -149,19 +142,13 @@ Related commands **Default:** none - ---------- - .. _Buck: - - **(Buck)** Buck, Bouguet-Bonnet, Pastor, MacKerell Jr., Biophys J, 90, L36 (2006). .. _Brooks2: - - **(Brooks)** Brooks, Brooks, MacKerell Jr., J Comput Chem, 30, 1545 (2009). diff --git a/doc/src/fix_colvars.rst b/doc/src/fix_colvars.rst index dd4057a346..20315624d6 100644 --- a/doc/src/fix_colvars.rst +++ b/doc/src/fix_colvars.rst @@ -6,7 +6,6 @@ fix colvars command Syntax """""" - .. parsed-literal:: fix ID group-ID colvars configfile keyword values ... @@ -15,9 +14,9 @@ Syntax * colvars = style name of this fix command * configfile = the configuration file for the colvars module * keyword = *input* or *output* or *seed* or *tstat* - + .. parsed-literal:: - + *input* arg = colvars.state file name or prefix or NULL (default: NULL) *output* arg = output filename prefix (default: out) *seed* arg = seed for random number generator (default: 1966) @@ -25,13 +24,10 @@ Syntax use unwrapped coordinates in collective variables (default: yes) *tstat* arg = fix id of a thermostat or NULL (default: NULL) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix mtd all colvars peptide.colvars.inp seed 2122 input peptide.colvars.state output peptide fix abf all colvars colvars.inp tstat 1 @@ -56,10 +52,8 @@ A detailed discussion of its implementation is in :ref:`(Fiorin) <Fiorin>`. There are some example scripts for using this package with LAMMPS in the examples/USER/colvars directory. - ---------- - The only mandatory argument to the fix is the filename to the colvars input file that contains the input that is independent from the MD program in which the colvars library has been integrated. @@ -96,7 +90,7 @@ fix that thermostats all atoms in the fix colvars group. This will be used to provide the colvars module with the current thermostat target temperature. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the current status of the colvars module into :doc:`binary restart files <restart>`. This is in addition to the text @@ -107,12 +101,12 @@ The :doc:`fix_modify <fix_modify>` *energy* option is supported by this fix to add the energy change from the biasing force added by the fix to the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`. -The *fix\_modify configfile <config file>* option allows to add settings +The *fix_modify configfile <config file>* option allows to add settings from an additional config file to the colvars module. This option can only be used, after the system has been initialized with a :doc:`run <run>` command. -The *fix\_modify config <quoted string>* option allows to add settings +The *fix_modify config <quoted string>* option allows to add settings from inline strings. Those have to fit on a single line when enclosed in a pair of double quotes ("), or can span multiple lines when bracketed by a pair of triple double quotes (""", like python embedded documentation). @@ -125,7 +119,6 @@ fix is "extensive". Restrictions """""""""""" - This fix is part of the USER-COLVARS package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -146,12 +139,8 @@ Default The default options are input = NULL, output = out, seed = 1966, unwrap yes, and tstat = NULL. - ---------- - .. _Fiorin: - - **(Fiorin)** Fiorin, Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594 diff --git a/doc/src/fix_controller.rst b/doc/src/fix_controller.rst index 839c01ef5f..2fd5f17c95 100644 --- a/doc/src/fix_controller.rst +++ b/doc/src/fix_controller.rst @@ -6,7 +6,6 @@ fix controller command Syntax """""" - .. parsed-literal:: fix ID group-ID controller Nevery alpha Kp Ki Kd pvar setpoint cvar @@ -18,10 +17,10 @@ Syntax * Kp = proportional gain in PID equation (unitless) * Ki = integral gain in PID equation (unitless) * Kd = derivative gain in PID equation (unitless) -* pvar = process variable of form c\_ID, c\_ID[I], f\_ID, f\_ID[I], or v\_name - +* pvar = process variable of form c_ID, c_ID[I], f_ID, f_ID[I], or v_name + .. parsed-literal:: - + c_ID = global scalar calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID f_ID = global scalar calculated by a fix with ID @@ -31,12 +30,10 @@ Syntax * setpoint = desired value of process variable (same units as process variable) * cvar = name of control variable - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all controller 100 1.0 0.5 0.0 0.0 c_thermo_temp 1.5 tcontrol fix 1 all controller 100 0.2 0.5 0 100.0 v_pxxwall 1.01325 xwall @@ -100,7 +97,7 @@ the following dynamic equation: .. math:: \frac{dc}{dt} = \hat{E} -\alpha (K_p e + K_i \int_0^t e \, dt + K_d \frac{de}{dt} ) - + where *c* is the continuous time analog of the control variable, *e* =\ *pvar*\ -\ *setpoint* is the error in the process variable, and :math:`\alpha`, :math:`K_p`, :math:`K_i` , and :math:`K_d` are constants @@ -111,7 +108,6 @@ keywords described above. The discretized version of this equation is: c_n = \hat{E} c_{n-1} -\alpha \left( K_p \tau e_n + K_i \tau^2 \sum_{i=1}^n e_i + K_d (e_n - e_{n-1}) \right) - where :math:`\tau = \mathtt{Nevery} \cdot \mathtt{timestep}` is the time interval between updates, and the subscripted variables indicate the values of *c* and *e* at @@ -149,10 +145,8 @@ fix performs its first update of *cvar* after *Nevery* timesteps. On the first update, the value of the derivative term is set to zero, because the value of :math:`e_n-1` is not yet defined. - ---------- - The process variable *pvar* can be specified as the output of a :doc:`compute <compute>` or :doc:`fix <fix>` or the evaluation of a :doc:`variable <variable>`. In each case, the compute, fix, or variable @@ -194,11 +188,9 @@ variable. It must be an internal-style variable, because this fix updates its value directly. Note that other commands can use an equal-style versus internal-style variable interchangeably. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index 1ddeff6953..75fc6cc5c9 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -9,7 +9,6 @@ fix deform/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID deform N parameter args ... keyword value ... @@ -18,9 +17,9 @@ Syntax * deform = style name of this fix command * N = perform box deformation every this many timesteps * one or more parameter/arg pairs may be appended - + .. parsed-literal:: - + parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* *x*\ , *y*\ , *z* args = style value(s) style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* @@ -66,9 +65,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *remap* or *flip* or *units* - + .. parsed-literal:: - + *remap* value = *x* or *v* or *none* x = remap coords of atoms in group into deforming box v = remap velocities of all atoms when they cross periodic boundaries @@ -79,13 +78,10 @@ Syntax lattice = distances are defined in lattice units box = distances are defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all deform 1 x final 0.0 9.0 z final 0.0 5.0 units box fix 1 all deform 1 x trate 0.1 y volume z volume @@ -129,10 +125,8 @@ command. Every Nth timestep during the run, the simulation box is expanded, contracted, or tilted to ramped values between the initial and final values. - ---------- - For the *x*\ , *y*\ , and *z* parameters, this is the meaning of their styles and values. @@ -173,7 +167,6 @@ is defined as delta/L0, where L0 is the original box length and delta is the change relative to the original length. The box length L as a function of time will change as - .. parsed-literal:: L(t) = L0 (1 + erate\*dt) @@ -201,7 +194,6 @@ is the change relative to the original length. The box length L as a function of time will change as - .. parsed-literal:: L(t) = L0 exp(trate\*dt) @@ -254,7 +246,6 @@ The *wiggle* style oscillates the specified box length dimension sinusoidally with the specified amplitude and period. I.e. the box length L as a function of time is given by - .. parsed-literal:: L(t) = L0 + A sin(2\*pi t/Tp) @@ -289,23 +280,20 @@ Here is an example of using the *variable* style to perform the same box deformation as the *wiggle* style formula listed above, where we assume that the current timestep = 0. - -.. parsed-literal:: +.. code-block:: LAMMPS variable A equal 5.0 variable Tp equal 10.0 - variable displace equal "v_A \* sin(2\*PI \* step\*dt/v_Tp)" - variable rate equal "2\*PI\*v_A/v_Tp \* cos(2\*PI \* step\*dt/v_Tp)" + variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" + variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" fix 2 all deform 1 x variable v_displace v_rate remap v For the *scale*\ , *vel*\ , *erate*\ , *trate*\ , *volume*\ , *wiggle*\ , and *variable* styles, the box length is expanded or compressed around its mid point. - ---------- - For the *xy*\ , *xz*\ , and *yz* parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume. @@ -345,7 +333,6 @@ direction for xy deformation) from the unstrained orientation. The tilt factor T as a function of time will change as - .. parsed-literal:: T(t) = T0 + L0\*erate\*dt @@ -378,7 +365,6 @@ from the unstrained orientation. The tilt factor T as a function of time will change as - .. parsed-literal:: T(t) = T0 exp(trate\*dt) @@ -406,7 +392,6 @@ The *wiggle* style oscillates the specified tilt factor sinusoidally with the specified amplitude and period. I.e. the tilt factor T as a function of time is given by - .. parsed-literal:: T(t) = T0 + A sin(2\*pi t/Tp) @@ -440,19 +425,16 @@ Here is an example of using the *variable* style to perform the same box deformation as the *wiggle* style formula listed above, where we assume that the current timestep = 0. - -.. parsed-literal:: +.. code-block:: LAMMPS variable A equal 5.0 variable Tp equal 10.0 - variable displace equal "v_A \* sin(2\*PI \* step\*dt/v_Tp)" - variable rate equal "2\*PI\*v_A/v_Tp \* cos(2\*PI \* step\*dt/v_Tp)" + variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" + variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" fix 2 all deform 1 xy variable v_displace v_rate remap v - ---------- - All of the tilt styles change the xy, xz, yz tilt factors during a simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are normally bounded by half the distance of the parallel box length. @@ -488,10 +470,8 @@ does not change the atom positions due to non-periodicity. In this mode, if you tilt the system to extreme angles, the simulation will simply become inefficient due to the highly skewed simulation box. - ---------- - Each time the box size or shape is changed, the *remap* keyword determines whether atom positions are remapped to the new box. If *remap* is set to *x* (the default), atoms in the fix group are @@ -581,10 +561,8 @@ does not affect the *variable* style. You should use the *xlat*\ , *ylat*\ , *zlat* keywords of the :doc:`thermo_style <thermo_style>` command if you want to include lattice spacings in a variable formula. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -603,7 +581,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix will restore the initial box settings from :doc:`binary restart files <restart>`, which allows the fix to be properly continue deformation, when using the start/stop options of the :doc:`run <run>` @@ -620,7 +598,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - You cannot apply x, y, or z deformations to a dimension that is shrink-wrapped via the :doc:`boundary <boundary>` command. diff --git a/doc/src/fix_deposit.rst b/doc/src/fix_deposit.rst index 573e9bdf2b..31df74ce9b 100644 --- a/doc/src/fix_deposit.rst +++ b/doc/src/fix_deposit.rst @@ -6,7 +6,6 @@ fix deposit command Syntax """""" - .. parsed-literal:: fix ID group-ID deposit N type M seed keyword values ... @@ -19,9 +18,9 @@ Syntax * seed = random # seed (positive integer) * one or more keyword/value pairs may be appended to args * keyword = *region* or *id* or *global* or *local* or *near* or *gaussian* or *attempt* or *rate* or *vx* or *vy* or *vz* or *mol* or *rigid* or *shake* or *units* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region to use as insertion volume *id* value = *max* or *next* @@ -63,13 +62,10 @@ Syntax lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 all deposit 1000 2 100 29494 region myblock local 1.0 1.0 1.0 units box fix 2 newatoms deposit 10000 1 500 12345 region disk near 2.0 vz -1.0 -0.8 @@ -167,7 +163,7 @@ command which also appears in your input script. If you wish the new rigid molecules (and other rigid molecules) to be thermostatted correctly via :doc:`fix rigid/small/nvt <fix_rigid>` or :doc:`fix rigid/small/npt <fix_rigid>`, then you need to use the - "fix\_modify dynamic/dof yes" command for the rigid fix. This is to + "fix_modify dynamic/dof yes" command for the rigid fix. This is to inform that fix that the molecule count will vary dynamically. If you wish to insert molecules via the *mol* keyword, that will have @@ -275,7 +271,7 @@ units of distance or velocity. the :doc:`compute_modify dynamic yes <compute_modify>` command for the temperature compute you are using. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the deposition to :doc:`binary restart files <restart>`. This includes information about how many particles have been deposited, the random number generator seed, the @@ -299,7 +295,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_dpd_energy.rst b/doc/src/fix_dpd_energy.rst index ce370a90f6..0eeb8f9478 100644 --- a/doc/src/fix_dpd_energy.rst +++ b/doc/src/fix_dpd_energy.rst @@ -9,7 +9,6 @@ fix dpd/energy/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID dpd/energy @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all dpd/energy @@ -43,16 +41,14 @@ This fix must be used with the :doc:`pair_style dpd/fdt/energy <pair_style>` com Note that numerous variants of DPD can be specified by choosing an appropriate combination of the integrator and :doc:`pair_style dpd/fdt/energy <pair_style>` command. DPD under isoenergetic conditions -can be specified by using fix *dpd/energy*\ , fix *nve* and pair\_style +can be specified by using fix *dpd/energy*\ , fix *nve* and pair_style *dpd/fdt/energy*\ . DPD under isoenthalpic conditions can -be specified by using fix *dpd/energy*\ , fix *nph* and pair\_style +be specified by using fix *dpd/energy*\ , fix *nph* and pair_style *dpd/fdt/energy*\ . Examples of each DPD variant are provided in the examples/USER/dpd directory. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -71,14 +67,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -99,14 +92,10 @@ Related commands **Default:** none - ---------- - .. _Lisal1: - - **(Lisal)** M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative particle dynamics at isothermal, isobaric, isoenergetic, and isoenthalpic conditions using Shardlow-like splitting algorithms.", @@ -114,8 +103,6 @@ J. Chem. Phys., 135, 204105 (2011). .. _Larentzos3: - - **(Larentzos)** J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research diff --git a/doc/src/fix_dpd_source.rst b/doc/src/fix_dpd_source.rst index a9ae641a41..5ea1c85fb4 100644 --- a/doc/src/fix_dpd_source.rst +++ b/doc/src/fix_dpd_source.rst @@ -9,7 +9,6 @@ fix tdpd/source command Syntax """""" - .. parsed-literal:: fix ID group-ID edpd/source keyword values ... @@ -19,9 +18,9 @@ Syntax * edpd/source or tdpd/source = style name of this fix command * index (only specified for tdpd/source) = index of chemical species (1 to Nspecies) * keyword = *sphere* or *cuboid* - + .. parsed-literal:: - + *sphere* values = cx,cy,cz,radius,source cx,cy,cz = x,y,z center of spherical domain (distance units) radius = radius of a spherical domain (distance units) @@ -31,13 +30,10 @@ Syntax dLx,dLy,dLz = x,y,z side length of a cuboid domain (distance units) source = heat source or concentration source (flux units, see below) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all edpd/source sphere 0.0 0.0 0.0 5.0 0.01 fix 1 all edpd/source cuboid 0.0 0.0 0.0 20.0 10.0 10.0 -0.01 @@ -66,11 +62,9 @@ spherical domain to apply the source flux to. If the *cuboid* keyword is used, the *cx,cy,cz,dLx,dLy,dLz* defines a cuboid domain to apply the source flux to. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -81,7 +75,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-MESODPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -96,14 +89,10 @@ Related commands **Default:** none - ---------- - .. _Li2014b: - - **(Li2014)** Z. Li, Y.-H. Tang, H. Lei, B. Caswell and G.E. Karniadakis, "Energy-conserving dissipative particle dynamics with temperature-dependent properties", J. Comput. Phys., 265: 113-127 @@ -111,8 +100,6 @@ temperature-dependent properties", J. Comput. Phys., 265: 113-127 .. _Li2015b: - - **(Li2015)** Z. Li, A. Yazdani, A. Tartakovsky and G.E. Karniadakis, "Transport dissipative particle dynamics model for mesoscopic advection-diffusion-reaction problems", J. Chem. Phys., 143: 014101 diff --git a/doc/src/fix_drag.rst b/doc/src/fix_drag.rst index 38f86ff8f8..792d4725cc 100644 --- a/doc/src/fix_drag.rst +++ b/doc/src/fix_drag.rst @@ -6,7 +6,6 @@ fix drag command Syntax """""" - .. parsed-literal:: fix ID group-ID drag x y z fmag delta @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix center small-molecule drag 0.0 10.0 0.0 5.0 2.0 @@ -40,7 +38,7 @@ application. This command can be used to steer one or more atoms to a new location in the simulation. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_drude.rst b/doc/src/fix_drude.rst index 2bf34ce90f..db13d8d052 100644 --- a/doc/src/fix_drude.rst +++ b/doc/src/fix_drude.rst @@ -6,7 +6,6 @@ fix drude command Syntax """""" - .. parsed-literal:: fix ID group-ID drude flag1 flag2 ... flagN @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all drude 1 1 0 1 0 2 2 2 fix 1 all drude C C N C N D D D @@ -42,7 +40,6 @@ or capital letter (N,C,D): Restrictions """""""""""" - This fix should be invoked before any other commands that implement the Drude oscillator model, such as :doc:`fix langevin/drude <fix_langevin_drude>`, :doc:`fix drude/transform <fix_drude_transform>`, :doc:`compute temp/drude <compute_temp_drude>`, :doc:`pair_style thole <pair_thole>`. diff --git a/doc/src/fix_drude_transform.rst b/doc/src/fix_drude_transform.rst index f29f258d27..607c161572 100644 --- a/doc/src/fix_drude_transform.rst +++ b/doc/src/fix_drude_transform.rst @@ -9,7 +9,6 @@ fix drude/transform/inverse command Syntax """""" - .. parsed-literal:: fix ID group-ID style keyword value ... @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 all drude/transform/direct fix 1 all drude/transform/inverse @@ -54,12 +52,11 @@ Masses: .. math:: - M' = M + m - + M' = M + m .. math:: - m' = \frac {M\, m } {M'} + m' = \frac {M\, m } {M'} Positions: @@ -67,10 +64,9 @@ Positions: X' = \frac {M\, X + m\, x} {M'} - .. math:: - x' = x - X + x' = x - X Velocities: @@ -78,17 +74,15 @@ Velocities: V' = \frac {M\, V + m\, v} {M'} - .. math:: - v' = v - V + v' = v - V Forces: .. math:: - F' = F + f - + F' = F + f .. math:: @@ -99,18 +93,16 @@ This transform conserves the total kinetic energy .. math:: \frac 1 2 \, (M\, V^2\ + m\, v^2) - = \frac 1 2 \, (M'\, V'^2\ + m'\, v'^2) + = \frac 1 2 \, (M'\, V'^2\ + m'\, v'^2) and the virial defined with absolute positions .. math:: - X\, F + x\, f = X'\, F' + x'\, f' - + X\, F + x\, f = X'\, F' + x'\, f' ---------- - This fix requires each atom know whether it is a Drude particle or not. You must therefore use the :doc:`fix drude <fix_drude>` command to specify the Drude status of each atom type. @@ -123,10 +115,8 @@ specify the Drude status of each atom type. electrons or non-polarizable atoms in the group. The non-polarizable atoms will simply not be transformed. - ---------- - This fix does NOT perform time integration. It only transform masses, coordinates, velocities and forces. Thus you must use separate time integration fixes, like :doc:`fix nve <fix_nve>` or :doc:`fix npt <fix_nh>` to actually update the velocities and positions of @@ -142,8 +132,7 @@ acting on two distinct groups. Example: - -.. parsed-literal:: +.. code-block:: LAMMPS fix fDIRECT all drude/transform/direct fix fNVT gCORES nvt temp 300.0 300.0 100 @@ -162,14 +151,13 @@ relative coordinates, are calculated using :doc:`compute temp/drude <compute_tem In addition, if you want to use a barostat to simulate a system at constant pressure, only one of the Nose-Hoover fixes must be *npt*\ , the other one should be *nvt*\ . You must add a *compute temp/com* and a -*fix\_modify* command so that the temperature of the *npt* fix be just +*fix_modify* command so that the temperature of the *npt* fix be just that of its group (the Drude cores) but the pressure be the overall -pressure *thermo\_press*. +pressure *thermo_press*. Example: - -.. parsed-literal:: +.. code-block:: LAMMPS compute cTEMP_CORE gCORES temp/com fix fDIRECT all drude/transform/direct @@ -188,16 +176,13 @@ In order to avoid the flying ice cube problem (irreversible transfer of linear momentum to the center of mass of the system), you may need to add a *fix momentum* command: - -.. parsed-literal:: +.. code-block:: LAMMPS fix fMOMENTUM all momentum 100 linear 1 1 1 - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -215,12 +200,8 @@ Related commands **Default:** none - ---------- - .. _Lamoureux1: - - **(Lamoureux)** Lamoureux and Roux, J Chem Phys, 119, 3025-3039 (2003). diff --git a/doc/src/fix_dt_reset.rst b/doc/src/fix_dt_reset.rst index ca95e576b7..861134f745 100644 --- a/doc/src/fix_dt_reset.rst +++ b/doc/src/fix_dt_reset.rst @@ -6,7 +6,6 @@ fix dt/reset command Syntax """""" - .. parsed-literal:: fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... @@ -20,7 +19,6 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *emax* or *units* - .. parsed-literal:: *emax* value = Emax @@ -32,8 +30,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 5 all dt/reset 10 1.0e-5 0.01 0.1 fix 5 all dt/reset 10 0.01 2.0 0.2 units box @@ -83,7 +80,7 @@ Note that the cumulative simulation time (in time units), which accounts for changes in the timestep size as a simulation proceeds, can be accessed by the :doc:`thermo_style time <thermo_style>` keyword. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. diff --git a/doc/src/fix_efield.rst b/doc/src/fix_efield.rst index a530ccb689..0410803c13 100644 --- a/doc/src/fix_efield.rst +++ b/doc/src/fix_efield.rst @@ -6,7 +6,6 @@ fix efield command Syntax """""" - .. parsed-literal:: fix ID group-ID efield ex ey ez keyword value ... @@ -17,21 +16,18 @@ Syntax * any of ex,ey,ez can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *region* or *energy* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region atoms must be in to have added force *energy* value = v_name v_name = variable with name that calculates the potential energy of each atom in the added E-field - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix kick external-field efield 1.0 0.0 0.0 fix kick external-field efield 0.0 0.0 v_oscillate @@ -47,7 +43,7 @@ external electric field. For charges, any of the 3 quantities defining the E-field components can be specified as an equal-style or atom-style :doc:`variable <variable>`, namely *ex*\ , *ey*\ , *ez*\ . If the value is a -variable, it should be specified as v\_name, where name is the variable +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the E-field component. @@ -71,10 +67,8 @@ If the *region* keyword is used, the atom must also be in the specified geometric :doc:`region <region>` in order to have force added to it. - ---------- - Adding a force or torque to atoms implies a change in their potential energy as they move or rotate due to the applied E-field. @@ -107,7 +101,7 @@ minimize the orientation of dipoles in an applied electric field. The *energy* keyword specifies the name of an atom-style :doc:`variable <variable>` which is used to compute the energy of each atom as function of its position. Like variables used for *ex*\ , *ey*\ , -*ez*\ , the energy variable is specified as v\_name, where name is the +*ez*\ , the energy variable is specified as v_name, where name is the variable name. Note that when the *energy* keyword is used during an energy @@ -118,11 +112,9 @@ due to the electric field were a spring-like F = kx, then the energy formula should be E = -0.5kx\^2. If you don't do this correctly, the minimization will not converge properly. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -169,7 +161,6 @@ the iteration count during the minimization. Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_ehex.rst b/doc/src/fix_ehex.rst index 9cc02261c7..4e2ea3a73d 100644 --- a/doc/src/fix_ehex.rst +++ b/doc/src/fix_ehex.rst @@ -6,7 +6,6 @@ fix ehex command Syntax """""" - .. parsed-literal:: fix ID group-ID ehex nevery F keyword value @@ -17,9 +16,9 @@ Syntax * F = energy flux into the reservoir (energy/time units) * zero or more keyword/value pairs may be appended to args * keyword = *region* or *constrain* or *com* or *hex* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region (reservoir) atoms must be in for added thermostatting force *constrain* value = none @@ -29,13 +28,10 @@ Syntax *hex* value = none omit the coordinate correction to recover the HEX algorithm - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS # Lennard-Jones, from examples/in.ehex.lj @@ -88,9 +84,9 @@ The thermostatting force is given by .. math:: \mathbf g_i = \begin{cases} - \frac{m_i}{2} \frac{ F_{\Gamma_{k(\mathbf r_i)}}}{ K_{\Gamma_{k(\mathbf r_i)}}} + \frac{m_i}{2} \frac{ F_{\Gamma_{k(\mathbf r_i)}}}{ K_{\Gamma_{k(\mathbf r_i)}}} \left(\mathbf v_i - \mathbf v_{\Gamma_{k(\mathbf r_i)}} \right) & \mbox{$k(\mathbf r_i)> 0$ (inside a reservoir),} \\ - 0 & \mbox{otherwise, } + 0 & \mbox{otherwise, } \end{cases} where :math:`m_i` is the mass and :math:`k(\mathbf r_i)` maps the particle @@ -103,7 +99,7 @@ velocity of that reservoir. The thermostatting force does not affect the center of mass velocities of the individual reservoirs and the entire simulation box. A derivation of the equations and details on the numerical implementation with velocity Verlet in LAMMPS can be -found in reference "(Wirnsberger)"#\_Wirnsberger. +found in reference "(Wirnsberger)"#_Wirnsberger. .. note:: @@ -128,10 +124,8 @@ cool continuously. This fix will default to :doc:`fix_heat <fix_heat>` (HEX algorithm) if the keyword *hex* is specified. - ---------- - **Compatibility with SHAKE and RATTLE (rigid molecules)**\ : This fix is compatible with :doc:`fix shake <fix_shake>` and :doc:`fix rattle <fix_shake>`. If either of these constraining algorithms is @@ -167,11 +161,9 @@ constraints will be satisfied. temperature gradients. A higher precision can be achieved by decreasing the timestep. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -182,7 +174,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -193,19 +184,13 @@ Related commands **Default:** none - ---------- - .. _Ikeshoji: - - **(Ikeshoji)** Ikeshoji and Hafskjold, Molecular Physics, 81, 251-261 (1994). .. _Wirnsberger: - - **(Wirnsberger)** Wirnsberger, Frenkel, and Dellago, J Chem Phys, 143, 124104 (2015). diff --git a/doc/src/fix_electron_stopping.rst b/doc/src/fix_electron_stopping.rst index 095976dc53..cead9f7a12 100644 --- a/doc/src/fix_electron_stopping.rst +++ b/doc/src/fix_electron_stopping.rst @@ -6,7 +6,6 @@ fix electron/stopping command Syntax """""" - .. parsed-literal:: fix ID group-ID electron/stopping Ecut file keyword value ... @@ -17,21 +16,18 @@ Syntax * file = name of the file containing the electronic stopping power table * zero or more keyword/value pairs may be appended to args * keyword = *region* or *minneigh* - + .. parsed-literal:: - + *region* value = region-ID region-ID = region, whose atoms will be affected by this fix *minneigh* value = minneigh minneigh = minimum number of neighbors an atom to have stopping applied - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix el all electron/stopping 10.0 elstop-table.txt fix el all electron/stopping 10.0 elstop-table.txt minneigh 3 @@ -52,7 +48,6 @@ considered, the simulated range of the ions can be severely overestimated The electronic stopping is implemented by applying a friction force to each atom as: - .. math:: \vec{F}_i = \vec{F}^0_i - \frac{\vec{v}_i}{\|\vec{v}_i\|} \cdot S_e @@ -97,10 +92,8 @@ geometric :doc:`region <region>` in order to have electronic stopping applied to it. This is useful if the position of the bulk material is fixed. By default the electronic stopping is applied everywhere in the simulation cell. - ---------- - The energy ranges and stopping powers are read from the file *file*\ . Lines starting with *#* and empty lines are ignored. Otherwise each line must contain exactly **N+1** numbers, where **N** is the number of atom @@ -115,7 +108,6 @@ intermediate energy values are calculated with linear interpolation between For example: - .. parsed-literal:: # This is a comment @@ -137,7 +129,7 @@ scientific publications, experimental databases or by using of the impact parameter of the ion; these results can be used to derive the stopping power. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -154,7 +146,6 @@ on this fix. Restrictions """""""""""" - This pair style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -164,42 +155,28 @@ Default The default is no limitation by region, and minneigh = 1. - ---------- - .. _elstopping: - - -**(electronic stopping)** Wikipedia - Electronic Stopping Power: https://en.wikipedia.org/wiki/Stopping\_power\_%28particle\_radiation%29 +**(electronic stopping)** Wikipedia - Electronic Stopping Power: https://en.wikipedia.org/wiki/Stopping_power_%28particle_radiation%29 .. _Nordlund98: - - **(Nordlund98)** Nordlund, Kai, et al. Physical Review B 57.13 (1998): 7556. .. _Nordlund95: - - **(Nordlund95)** Nordlund, Kai. Computational materials science 3.4 (1995): 448-456. .. _SRIM: - - **(SRIM)** SRIM webpage: http://www.srim.org/ .. _CasP: - - -**(CasP)** CasP webpage: https://www.helmholtz-berlin.de/people/gregor-schiwietz/casp\_en.html +**(CasP)** CasP webpage: https://www.helmholtz-berlin.de/people/gregor-schiwietz/casp_en.html .. _PASS: - - **(PASS)** PASS webpage: https://www.sdu.dk/en/DPASS diff --git a/doc/src/fix_enforce2d.rst b/doc/src/fix_enforce2d.rst index 7605c3cd5a..d33dd25a61 100644 --- a/doc/src/fix_enforce2d.rst +++ b/doc/src/fix_enforce2d.rst @@ -9,7 +9,6 @@ fix enforce2d/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID enforce2d @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 5 all enforce2d @@ -32,10 +30,8 @@ Zero out the z-dimension velocity and force on each atom in the group. This is useful when running a 2d simulation to insure that atoms do not move from their initial z coordinate. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -54,11 +50,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_eos_cv.rst b/doc/src/fix_eos_cv.rst index da1459970f..50281b6e71 100644 --- a/doc/src/fix_eos_cv.rst +++ b/doc/src/fix_eos_cv.rst @@ -6,7 +6,6 @@ fix eos/cv command Syntax """""" - .. parsed-literal:: fix ID group-ID eos/cv cv @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all eos/cv 0.01 @@ -35,20 +33,16 @@ the constant-volume heat capacity, and is defined as follows: u_{i} = u^{mech}_{i} + u^{cond}_{i} = C_{V} \theta_{i} - where :math:`C_V` is the constant-volume heat capacity, :math:`u^{cond}` is the internal conductive energy, and :math:`u^{mech}` is the internal mechanical energy. Note that alternative definitions of the mesoparticle equation of state are possible. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -62,14 +56,10 @@ Related commands **Default:** none - ---------- - .. _Larentzos4: - - **(Larentzos)** J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research diff --git a/doc/src/fix_eos_table.rst b/doc/src/fix_eos_table.rst index 1f8ec7ba9b..3800aa0c53 100644 --- a/doc/src/fix_eos_table.rst +++ b/doc/src/fix_eos_table.rst @@ -6,7 +6,6 @@ fix eos/table command Syntax """""" - .. parsed-literal:: fix ID group-ID eos/table style file N keyword @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all eos/table linear eos.table 100000 KEYWORD @@ -30,8 +28,8 @@ Description """"""""""" Fix *eos/table* applies a tabulated mesoparticle equation of state to -relate the particle internal energy (u\_i) to the particle internal -temperature (dpdTheta\_i). +relate the particle internal energy (u_i) to the particle internal +temperature (dpdTheta_i). Fix *eos/table* creates interpolation tables of length *N* from internal energy values listed in a file as a function of internal @@ -51,14 +49,11 @@ The filename specifies a file containing tabulated internal temperature and internal energy values. The keyword specifies a section of the file. The format of this file is described below. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # EOS TABLE (one or more comment or blank lines) @@ -102,14 +97,11 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_eos_table_rx.rst b/doc/src/fix_eos_table_rx.rst index 681b656b53..e3cd4e8ce8 100644 --- a/doc/src/fix_eos_table_rx.rst +++ b/doc/src/fix_eos_table_rx.rst @@ -9,7 +9,6 @@ fix eos/table/rx/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID eos/table/rx style file1 N keyword ... @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all eos/table/rx linear eos.table 10000 KEYWORD thermo.table fix 1 all eos/table/rx linear eos.table 10000 KEYWORD 1.5 @@ -47,8 +45,7 @@ computed according to the following relation: .. math:: - U_{i} = \displaystyle\sum_{j=1}^{m} c_{i,j}(u_{j} + \Delta H_{f,j}) + \frac{3k_{b}T}{2} + Nk_{b}T \\ - + U_{i} = \displaystyle\sum_{j=1}^{m} c_{i,j}(u_{j} + \Delta H_{f,j}) + \frac{3k_{b}T}{2} + Nk_{b}T \\ where *m* is the number of species, :math:`c_{i,j}` is the concentration of species *j* in particle *i*\ , :math:`u_j` is the @@ -92,14 +89,11 @@ value for the single species. Additionally, the energy correction and temperature correction coefficients may also be specified as fix arguments. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # EOS TABLE (one or more comment or blank lines) @@ -138,14 +132,11 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - The format of a heat of formation file is as follows (without the parenthesized comments): - .. parsed-literal:: # HEAT OF FORMATION TABLE (one or more comment or blank lines) @@ -166,7 +157,6 @@ three additional columns that correspond to the energy correction, the temperature correction coefficient and molecule correction coefficient. In this case, the format of the file is as follows: - .. parsed-literal:: # HEAT OF FORMATION TABLE (one or more comment or blank lines) @@ -178,10 +168,8 @@ coefficient. In this case, the format of the file is as follows: ... no 0.93 0.00 0.000 -1.76 - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -200,14 +188,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_evaporate.rst b/doc/src/fix_evaporate.rst index c24cb51738..d6b9c6ae34 100644 --- a/doc/src/fix_evaporate.rst +++ b/doc/src/fix_evaporate.rst @@ -6,7 +6,6 @@ fix evaporate command Syntax """""" - .. parsed-literal:: fix ID group-ID evaporate N M region-ID seed @@ -18,19 +17,16 @@ Syntax * region-ID = ID of region within which to perform deletions * seed = random number seed to use for choosing atoms to delete * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *molecule* *molecule* value = *no* or *yes* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 solvent evaporate 1000 10 surface 49892 fix 1 solvent evaporate 1000 10 surface 38277 molecule yes @@ -76,7 +72,7 @@ incur overhead due to the cost of building neighbor lists. :doc:`compute_modify dynamic yes <compute_modify>` command for the temperature compute you are using. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -92,7 +88,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_external.rst b/doc/src/fix_external.rst index c20b591906..a77545d294 100644 --- a/doc/src/fix_external.rst +++ b/doc/src/fix_external.rst @@ -6,7 +6,6 @@ fix external command Syntax """""" - .. parsed-literal:: fix ID group-ID external mode args @@ -14,22 +13,19 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * external = style name of this fix command * mode = *pf/callback* or *pf/array* - + .. parsed-literal:: - + *pf/callback* args = Ncall Napply Ncall = make callback every Ncall steps Napply = apply callback forces every Napply steps *pf/array* args = Napply Napply = apply array forces every Napply steps - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all external pf/callback 1 1 fix 1 all external pf/callback 100 1 @@ -43,10 +39,8 @@ This fix allows external programs that are running LAMMPS through its properties on specific timesteps, similar to the way other fixes do. The external driver can be a :doc:`C/C++ or Fortran program <Howto_library>` or a :doc:`Python script <Python_head>`. - ---------- - If mode is *pf/callback* then the fix will make a callback every *Ncall* timesteps or minimization iterations to the external program. The external program computes forces on atoms by setting values in an @@ -57,40 +51,37 @@ be used multiple times to update atom forces. The callback function "foo" is invoked by the fix as: +.. code-block:: c++ -.. parsed-literal:: - - foo(void \*ptr, bigint timestep, int nlocal, int \*ids, double \*\*x, double \*\*fexternal); + foo(void *ptr, bigint timestep, int nlocal, tagint *ids, double **x, double **fexternal); The arguments are as follows: -* ptr = pointer provided by and simply passed back to external driver -* timestep = current LAMMPS timestep -* nlocal = # of atoms on this processor -* ids = list of atom IDs on this processor -* x = coordinates of atoms on this processor -* fexternal = forces to add to atoms on this processor +* *ptr* = pointer provided by and simply passed back to external driver +* *timestep* = current LAMMPS timestep +* *nlocal* = # of atoms on this processor +* *ids* = list of atom IDs on this processor +* *x* = coordinates of atoms on this processor +* *fexternal* = forces to add to atoms on this processor -Note that timestep is a "bigint" which is defined in src/lmptype.h, -typically as a 64-bit integer. +Note that *timestep* is a "bigint" which is defined in src/lmptype.h, +typically as a 64-bit integer. And *ids* is a pointer to type "tagint" +which is typically a 32-bit integer unless LAMMPS is compiled with +-DLAMMPS_BIGBIG. For more info please see the :ref:`build settings +<size>` section of the manual. Finally, *fexternal* are the forces +returned by the driver program. -Fexternal are the forces returned by the driver program. - -The fix has a set\_callback() method which the external driver can call +The fix has a set_callback() method which the external driver can call to pass a pointer to its foo() function. See the -couple/lammps\_quest/lmpqst.cpp file in the LAMMPS distribution for an +couple/lammps_quest/lmpqst.cpp file in the LAMMPS distribution for an example of how this is done. This sample application performs classical MD using quantum forces computed by a density functional code `Quest <quest_>`_. .. _quest: http://dft.sandia.gov/Quest - - - ---------- - If mode is *pf/array* then the fix simply stores force values in an array. The fix adds these forces to each atom in the group, once every *Napply* steps, similar to the way the :doc:`fix addforce <fix_addforce>` command works. @@ -98,10 +89,9 @@ every *Napply* steps, similar to the way the :doc:`fix addforce <fix_addforce>` The name of the public force array provided by the FixExternal class is +.. code-block:: c++ -.. parsed-literal:: - - double \*\*fexternal; + double **fexternal; It is allocated by the FixExternal class as an (N,3) array where N is the number of atoms owned by a processor. The 3 corresponds to the @@ -114,10 +104,8 @@ between calls to the LAMMPS :doc:`run <run>` command, it could retrieve atom coordinates from LAMMPS, compute forces, set values in fexternal, etc. - ---------- - To use this fix during energy minimization, the energy corresponding to the added forces must also be set so as to be consistent with the added forces. Otherwise the minimization will not converge correctly. @@ -125,8 +113,7 @@ added forces. Otherwise the minimization will not converge correctly. This can be done from the external driver by calling this public method of the FixExternal class: - -.. parsed-literal:: +.. code-block:: c++ void set_energy(double eng); @@ -136,11 +123,9 @@ atoms. It should also be provided in :doc:`energy units <units>` consistent with the simulation. See the details below for how to insure this energy setting is used appropriately in a minimization. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_ffl.rst b/doc/src/fix_ffl.rst index 37c0985294..ac23175875 100644 --- a/doc/src/fix_ffl.rst +++ b/doc/src/fix_ffl.rst @@ -6,7 +6,6 @@ fix ffl command Syntax """""" - .. parsed-literal:: fix ID id-group ffl tau Tstart Tstop seed [flip-type] @@ -17,18 +16,15 @@ Syntax * Tstart, Tstop = temperature ramp during the run * seed = random number seed to use for generating noise (positive integer) * one more value may be appended - + .. parsed-literal:: - + flip-type = determines the flipping type, can be chosen between rescale - no_flip - hard - soft, if no flip type is given, rescale will be chosen by default - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 boundary ffl 10 300 300 31415 fix 1 all ffl 100 500 500 9265 soft @@ -46,12 +42,10 @@ on the same atom groups. The time-evolution of a single particle undergoing Langevin dynamics is described by the equations - .. math:: \frac {dq}{dt} = \frac{p}{m}, - .. math:: \frac {dp}{dt} = -\gamma p + W + F, @@ -74,11 +68,11 @@ different numbers of processors. The flipping type *flip-type* can be chosen between 4 types described in :ref:`(Hijazi) <Hijazi>`. The flipping operation occurs during the thermostatting -step and it flips the momenta of the atoms. If no\_flip is chosen, no flip +step and it flips the momenta of the atoms. If no_flip is chosen, no flip will be executed and the integration will be the same as a standard Langevin thermostat :ref:`(Bussi) <Bussi3>`. The other flipping types are : rescale - hard - soft. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** The instantaneous values of the extended variables are written to :doc:`binary restart files <restart>`. Because the state of the random @@ -107,7 +101,6 @@ fix is "extensive". Restrictions """""""""""" - In order to perform constant-pressure simulations please use :doc:`fix press/berendsen <fix_press_berendsen>`, rather than :doc:`fix npt <fix_nh>`, to avoid duplicate integration of the @@ -121,17 +114,12 @@ Related commands :doc:`fix nvt <fix_nh>`, :doc:`fix temp/rescale <fix_temp_rescale>`, :doc:`fix viscous <fix_viscous>`, :doc:`fix nvt <fix_nh>`, :doc:`pair_style dpd/tstat <pair_dpd>`, :doc:`fix gld <fix_gld>`, :doc:`fix gle <fix_gle>` - ---------- - .. _Hijazi: - - .. _Bussi3: **(Hijazi)** M. Hijazi, D. M. Wilkins, M. Ceriotti, J. Chem. Phys. 148, 184109 (2018) - **(Bussi)** G. Bussi, M. Parrinello, Phs. Rev. E 75, 056707 (2007) diff --git a/doc/src/fix_filter_corotate.rst b/doc/src/fix_filter_corotate.rst index 8812398bbe..1731ef94a2 100644 --- a/doc/src/fix_filter_corotate.rst +++ b/doc/src/fix_filter_corotate.rst @@ -6,7 +6,6 @@ fix filter/corotate command Syntax """""" - .. parsed-literal:: fix ID group-ID filter/corotate keyword value ... @@ -14,21 +13,18 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * one or more constraint/value pairs are appended * constraint = *b* or *a* or *t* or *m* - + .. parsed-literal:: - + *b* values = one or more bond types *a* values = one or more angle types *t* values = one or more atom types *m* value = one or more mass values - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS timestep 8 run_style respa 3 2 8 bond 1 pair 2 kspace 3 @@ -62,11 +58,9 @@ contain the fastest covalent bonds inside clusters. If the clusters are chosen suitably, the :doc:`run_style respa <run_style>` is stable for outer time-steps of at least 8fs. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about these fixes is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to these fixes. No global or per-atom quantities are @@ -77,7 +71,6 @@ fixes are not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -88,12 +81,8 @@ Related commands **Default:** none - ---------- - .. _Fath2017: - - **(Fath)** Fath, Hochbruck, Singh, J Comp Phys, 333, 180-198 (2017). diff --git a/doc/src/fix_flow_gauss.rst b/doc/src/fix_flow_gauss.rst index 4077d45e01..7b9e001bd3 100644 --- a/doc/src/fix_flow_gauss.rst +++ b/doc/src/fix_flow_gauss.rst @@ -6,7 +6,6 @@ fix flow/gauss command Syntax """""" - .. parsed-literal:: fix ID group-ID flow/gauss xflag yflag zflag keyword @@ -14,28 +13,25 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * flow/gauss = style name of this fix command * xflag,yflag,zflag = 0 or 1 - + .. parsed-literal:: - + 0 = do not conserve current in this dimension 1 = conserve current in this dimension * zero or more keyword/value pairs may be appended * keyword = *energy* - + .. parsed-literal:: - + *energy* value = no or yes no = do not compute work done by this fix yes = compute work done by this fix - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix GD fluid flow/gauss 1 0 0 fix GD fluid flow/gauss 1 1 1 energy yes @@ -72,7 +68,7 @@ other methods, such as the pump method :ref:`(Zhu) <Zhu>`. The pressure correction is discussed and described in :ref:`(Strong) <Strong>`. For a complete example including the considerations discussed -above, see the examples/USER/flow\_gauss directory. +above, see the examples/USER/flow_gauss directory. .. note:: @@ -95,13 +91,13 @@ expensive than usual, so it is not performed by default. To invoke the work calculation, use the *energy* keyword. The :doc:`fix_modify <fix_modify>` *energy* option also invokes the work calculation, and overrides an *energy no* setting here. If neither -*energy yes* or *fix\_modify energy yes* are set, the global scalar +*energy yes* or *fix_modify energy yes* are set, the global scalar computed by the fix will return zero. .. note:: In order to check energy conservation, any other fixes that do - work on the system must have *fix\_modify energy yes* set as well. This + work on the system must have *fix_modify energy yes* set as well. This includes thermostat fixes and any constraints that hold the positions of wall atoms fixed, such as :doc:`fix spring/self <fix_spring_self>`. @@ -115,14 +111,12 @@ computed at different rRESPA levels, then there must be a separate flow/gauss fix for each level. For example, if the flowing fluid and obstacle interact through pairwise and long-range Coulomb interactions, which are computed at rRESPA levels 3 and 4, respectively, then there must be two separate -flow/gauss fixes, one that specifies *fix\_modify respa 3* and one with -*fix\_modify respa 4*. - +flow/gauss fixes, one that specifies *fix_modify respa 3* and one with +*fix_modify respa 4*. ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -162,24 +156,16 @@ Default The option default for the *energy* keyword is energy = no. - ---------- - .. _Strong: - - **(Strong)** Strong and Eaves, J. Phys. Chem. B 121, 189 (2017). .. _Evans2: - - **(Evans)** Evans and Morriss, Phys. Rev. Lett. 56, 2172 (1986). .. _Zhu: - - **(Zhu)** Zhu, Tajkhorshid, and Schulten, Biophys. J. 83, 154 (2002). diff --git a/doc/src/fix_freeze.rst b/doc/src/fix_freeze.rst index 3aa7512bad..d6659dc8f8 100644 --- a/doc/src/fix_freeze.rst +++ b/doc/src/fix_freeze.rst @@ -9,7 +9,6 @@ fix freeze/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID freeze @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 bottom freeze @@ -36,10 +34,8 @@ particles appropriately, as if the frozen particle has infinite mass. A similar functionality for normal (point) particles can be obtained using :doc:`fix setforce <fix_setforce>`. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -58,11 +54,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -79,7 +73,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index dd06d074a4..77a0323000 100644 --- a/doc/src/fix_gcmc.rst +++ b/doc/src/fix_gcmc.rst @@ -6,7 +6,6 @@ fix gcmc command Syntax """""" - .. parsed-literal:: fix ID group-ID gcmc N X M type seed T mu displace keyword values ... @@ -22,9 +21,9 @@ Syntax * mu = chemical potential of the ideal gas reservoir (energy units) * displace = maximum Monte Carlo translation distance (length units) * zero or more keyword/value pairs may be appended to args - + .. parsed-literal:: - + keyword = *mol*\ , *region*\ , *maxangle*\ , *pressure*\ , *fugacity_coeff*, *full_energy*, *charge*\ , *group*\ , *grouptype*\ , *intra_energy*, *tfac_insert*, or *overlap_cutoff* *mol* value = template-ID template-ID = ID of molecule template specified in a separate :doc:`molecule <molecule>` command @@ -54,13 +53,10 @@ Syntax *max* value = Maximum number of molecules allowed in the system *min* value = Minimum number of molecules allowed in the system - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 gas gcmc 10 1000 1000 2 29494 298.0 -0.5 0.01 fix 3 water gcmc 10 100 100 0 3456543 3.0 -2.5 0.1 mol my_one_water maxangle 180 full_energy @@ -154,8 +150,7 @@ thermal equilibrium with the simulation cell. Also, it is important that the temperature used by fix nvt be dynamic/dof, which can be achieved as follows: - -.. parsed-literal:: +.. code-block:: LAMMPS compute mdtemp mdatoms temp compute_modify mdtemp dynamic/dof yes @@ -174,7 +169,7 @@ at a random position within the current simulation cell or region, and new atom velocities are randomly chosen from the specified temperature distribution given by T. The effective temperature for new atom velocities can be increased or decreased using the optional keyword -*tfac\_insert* (see below). Relative coordinates for atoms in a +*tfac_insert* (see below). Relative coordinates for atoms in a molecule are taken from the template molecule provided by the user. The center of mass of the molecule is placed at the insertion point. The orientation of the molecule is chosen at random by rotating @@ -205,7 +200,7 @@ which also appears in your input script. If you wish the new rigid molecules (and other rigid molecules) to be thermostatted correctly via :doc:`fix rigid/small/nvt <fix_rigid>` or :doc:`fix rigid/small/npt <fix_rigid>`, then you need to use the - "fix\_modify dynamic/dof yes" command for the rigid fix. This is to + "fix_modify dynamic/dof yes" command for the rigid fix. This is to inform that fix that the molecule count will vary dynamically. If you wish to insert molecules via the *mol* keyword, that will have @@ -252,21 +247,19 @@ as: \mu = \mu^{id} + \mu^{ex} - -The second term mu\_ex is the excess chemical potential due to +The second term mu_ex is the excess chemical potential due to energetic interactions and is formally zero for the fictitious gas reservoir but is non-zero for interacting systems. So, while the chemical potential of the reservoir and the simulation cell are equal, -mu\_ex is not, and as a result, the densities of the two are generally -quite different. The first term mu\_id is the ideal gas contribution -to the chemical potential. mu\_id can be related to the density or +mu_ex is not, and as a result, the densities of the two are generally +quite different. The first term mu_id is the ideal gas contribution +to the chemical potential. mu_id can be related to the density or pressure of the fictitious gas reservoir by: .. math:: \mu^{id} = & k T \ln{\rho \Lambda^3} \\ - = & k T \ln{\frac{\phi P \Lambda^3}{k T}} - + = & k T \ln{\frac{\phi P \Lambda^3}{k T}} where *k* is Boltzman's constant, *T* is the user-specified temperature, :math:`\rho` is the number density, *P* is the pressure, @@ -278,7 +271,6 @@ styles except *lj* it is defined as the thermal de Broglie wavelength \Lambda = \sqrt{ \frac{h^2}{2 \pi m k T}} - where *h* is Planck's constant, and *m* is the mass of the exchanged atom or molecule. For unit style *lj*\ , :math:`\Lambda` is simply set to unity. Note that prior to March 2017, :math:`\Lambda` for unit style *lj* @@ -291,9 +283,9 @@ As an alternative to specifying mu directly, the ideal gas reservoir can be defined by its pressure *P* using the *pressure* keyword, in which case the user-specified chemical potential is ignored. The user may also specify the fugacity coefficient :math:`\phi` using the -*fugacity\_coeff* keyword, which defaults to unity. +*fugacity_coeff* keyword, which defaults to unity. -The *full\_energy* option means that the fix calculates the total +The *full_energy* option means that the fix calculates the total potential energy of the entire simulated system, instead of just the energy of the part that is changed. The total system energy before and after the proposed GCMC exchange or MC move @@ -304,7 +296,7 @@ in which case only partial energies are computed to determine the energy difference due to the proposed change. -The *full\_energy* option is needed for systems with complicated +The *full_energy* option is needed for systems with complicated potential energy calculations, including the following: * long-range electrostatics (kspace) @@ -314,18 +306,18 @@ potential energy calculations, including the following: * tail corrections * need to include potential energy contributions from other fixes -In these cases, LAMMPS will automatically apply the *full\_energy* +In these cases, LAMMPS will automatically apply the *full_energy* keyword and issue a warning message. -When the *mol* keyword is used, the *full\_energy* option also includes +When the *mol* keyword is used, the *full_energy* option also includes the intramolecular energy of inserted and deleted molecules, whereas -this energy is not included when *full\_energy* is not used. If this -is not desired, the *intra\_energy* keyword can be used to define an +this energy is not included when *full_energy* is not used. If this +is not desired, the *intra_energy* keyword can be used to define an amount of energy that is subtracted from the final energy when a molecule is inserted, and subtracted from the initial energy when a molecule is deleted. For molecules that have a non-zero intramolecular energy, this will ensure roughly the same behavior whether or not the -*full\_energy* option is used. +*full_energy* option is used. Inserted atoms and molecules are assigned random velocities based on the specified temperature *T*. Because the relative velocity of all @@ -333,10 +325,10 @@ atoms in the molecule is zero, this may result in inserted molecules that are systematically too cold. In addition, the intramolecular potential energy of the inserted molecule may cause the kinetic energy of the molecule to quickly increase or decrease after insertion. The -*tfac\_insert* keyword allows the user to counteract these effects by +*tfac_insert* keyword allows the user to counteract these effects by changing the temperature used to assign velocities to inserted atoms and molecules by a constant factor. For a particular application, some -experimentation may be required to find a value of *tfac\_insert* that +experimentation may be required to find a value of *tfac_insert* that results in inserted molecules that equilibrate quickly to the correct temperature. @@ -365,8 +357,7 @@ therefore, you will want to use the current number of atoms is used as a normalizing factor each time temperature is computed. A simple example of this is: - -.. parsed-literal:: +.. code-block:: LAMMPS compute_modify thermo_temp dynamic yes @@ -382,21 +373,21 @@ in the context of NVT dynamics. solution is to start a new simulation after the equilibrium density has been reached. -With some pair\_styles, such as :doc:`Buckingham <pair_buck>`, +With some pair_styles, such as :doc:`Buckingham <pair_buck>`, :doc:`Born-Mayer-Huggins <pair_born>` and :doc:`ReaxFF <pair_reaxc>`, two atoms placed close to each other may have an arbitrary large, negative potential energy due to the functional form of the potential. While these unphysical configurations are inaccessible to typical dynamical trajectories, they can be generated by Monte Carlo moves. The -*overlap\_cutoff* keyword suppresses these moves by effectively +*overlap_cutoff* keyword suppresses these moves by effectively assigning an infinite positive energy to all new configurations that place any pair of atoms closer than the specified overlap cutoff distance. The *max* and *min* keywords allow for the restriction of the number -of atoms in the simulation. They automatically reject all insertion +of atoms in the simulation. They automatically reject all insertion or deletion moves that would take the system beyond the set boundaries. -Should the system already be beyond the boundary, only moves that bring +Should the system already be beyond the boundary, only moves that bring the system closer to the bounds may be accepted. The *group* keyword adds all inserted atoms to the @@ -404,7 +395,7 @@ The *group* keyword adds all inserted atoms to the adds all inserted atoms of the specified type to the :doc:`group <group>` of the group-ID value. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the fix to :doc:`binary restart files <restart>`. This includes information about the random number generator seed, the next timestep for MC exchanges, the number @@ -443,12 +434,11 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. -Do not set "neigh\_modify once yes" or else this fix will never be +Do not set "neigh_modify once yes" or else this fix will never be called. Reneighboring is required. Can be run in parallel, but aspects of the GCMC part will not scale @@ -482,20 +472,16 @@ Related commands Default """"""" -The option defaults are mol = no, maxangle = 10, overlap\_cutoff = 0.0, -fugacity\_coeff = 1.0, intra\_energy = 0.0, tfac\_insert = 1.0. +The option defaults are mol = no, maxangle = 10, overlap_cutoff = 0.0, +fugacity_coeff = 1.0, intra_energy = 0.0, tfac_insert = 1.0. (Patomtrans, Pmoltrans, Pmolrotate) = (1, 0, 0) for mol = no and -(0, 1, 1) for mol = yes. full\_energy = no, -except for the situations where full\_energy is required, as +(0, 1, 1) for mol = yes. full_energy = no, +except for the situations where full_energy is required, as listed above. - ---------- - .. _Frenkel: - - **(Frenkel)** Frenkel and Smit, Understanding Molecular Simulation, Academic Press, London, 2002. diff --git a/doc/src/fix_gld.rst b/doc/src/fix_gld.rst index 8dc2b9dd98..cb93804b1a 100644 --- a/doc/src/fix_gld.rst +++ b/doc/src/fix_gld.rst @@ -6,7 +6,6 @@ fix gld command Syntax """""" - .. parsed-literal:: fix ID group-ID gld Tstart Tstop N_k seed series c_1 tau_1 ... c_N_k tau_N_k keyword values ... @@ -14,15 +13,15 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * gld = style name of this fix command * Tstart,Tstop = desired temperature at start/end of run (temperature units) -* N\_k = number of terms in the Prony series representation of the memory kernel +* N_k = number of terms in the Prony series representation of the memory kernel * seed = random number seed to use for white noise (positive integer) * series = *pprony* is presently the only available option -* c\_k = the weight of the kth term in the Prony series (mass per time units) -* tau\_k = the time constant of the kth term in the Prony series (time units) +* c_k = the weight of the kth term in the Prony series (mass per time units) +* tau_k = the time constant of the kth term in the Prony series (time units) * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *frozen* or *zero* *frozen* value = *no* or *yes* *no* = initialize extended variables using values drawn from equilibrium distribution at Tstart @@ -31,13 +30,10 @@ Syntax *no* = do not set total random force to zero *yes* = set total random force to zero - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all gld 1.0 1.0 2 82885 pprony 0.5 1.0 1.0 2.0 frozen yes zero yes fix 3 rouse gld 7.355 7.355 4 48823 pprony 107.1 0.02415 186.0 0.04294 428.6 0.09661 1714 0.38643 @@ -65,10 +61,9 @@ With this fix active, the force on the *j*\ th atom is given as .. math:: {\bf F}_{j}(t) = & {\bf F}^C_j(t)-\int \limits_{0}^{t} \Gamma_j(t-s) {\bf v}_j(s)~\text{d}s + {\bf F}^R_j(t) \\ - \Gamma_j(t-s) = & \sum \limits_{k=1}^{N_k} \frac{c_k}{\tau_k} e^{-(t-s)/\tau_k} \\ + \Gamma_j(t-s) = & \sum \limits_{k=1}^{N_k} \frac{c_k}{\tau_k} e^{-(t-s)/\tau_k} \\ \langle{\bf F}^R_j(t),{\bf F}^R_j(s)\rangle = & \text{k$_\text{B}$T} ~\Gamma_j(t-s) - Here, the first term is representative of all conservative (pairwise, bonded, etc) forces external to this fix, the second is the temporally non-local dissipative force given as a Prony series, and the third is @@ -105,10 +100,8 @@ generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors. - ---------- - The keyword/value option pairs are used in the following ways. The keyword *frozen* can be used to specify how the extended variables @@ -128,10 +121,8 @@ to zero by subtracting off an equal part of it from each atom in the group. As a result, the center-of-mass of a system with zero initial momentum will not drift over time. - ---------- - **Restart, run start/stop, minimize info:** The instantaneous values of the extended variables are written to @@ -154,7 +145,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -169,12 +159,8 @@ Default The option defaults are frozen = no, zero = no. - ---------- - .. _Baczewski: - - **(Baczewski)** A.D. Baczewski and S.D. Bond, J. Chem. Phys. 139, 044107 (2013). diff --git a/doc/src/fix_gle.rst b/doc/src/fix_gle.rst index e4aadfa401..fb6006d514 100644 --- a/doc/src/fix_gle.rst +++ b/doc/src/fix_gle.rst @@ -6,7 +6,6 @@ fix gle command Syntax """""" - .. parsed-literal:: fix ID id-group gle Ns Tstart Tstop seed Amatrix [noneq Cmatrix] [every stride] @@ -18,22 +17,19 @@ Syntax * Amatrix = file to read the drift matrix A from * seed = random number seed to use for generating noise (positive integer) * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *noneq* or *every* *noneq* Cmatrix = file to read the non-equilibrium covariance matrix from *every* stride = apply the GLE once every time steps. Reduces the accuracy of the integration of the GLE, but has \*no effect\* on the accuracy of equilibrium sampling. It might change sampling properties when used together with *noneq*\ . - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 boundary gle 6 300 300 31415 smart.A fix 1 all gle 6 300 300 31415 qt-300k.A noneq qt-300k.C @@ -55,7 +51,6 @@ Each degree of freedom in the thermostatted group is supplemented with Ns additional degrees of freedom s, and the equations of motion become - .. parsed-literal:: dq/dt=p/m @@ -104,7 +99,7 @@ input matrix for :doc:`fix gle <fix_gle>`. While the GLE scheme is more general, the form used by :doc:`fix gld <fix_gld>` can be more directly related to the representation of an implicit solvent environment. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** The instantaneous values of the extended variables are written to :doc:`binary restart files <restart>`. Because the state of the random @@ -133,7 +128,6 @@ fix is "extensive". Restrictions """""""""""" - The GLE thermostat in its current implementation should not be used with rigid bodies, SHAKE or RATTLE. It is expected that all the thermostatted degrees of freedom are fully flexible, and the sampled @@ -152,26 +146,18 @@ Related commands :doc:`fix nvt <fix_nh>`, :doc:`fix temp/rescale <fix_temp_rescale>`, :doc:`fix viscous <fix_viscous>`, :doc:`fix nvt <fix_nh>`, :doc:`pair_style dpd/tstat <pair_dpd>`, :doc:`fix gld <fix_gld>` - ---------- - .. _Ceriotti: - - **(Ceriotti)** Ceriotti, Bussi and Parrinello, J Chem Theory Comput 6, 1170-80 (2010) .. _GLE4MD: - - **(GLE4MD)** `http://gle4md.org/ <http://gle4md.org/>`_ .. _Ceriotti2: - - **(Ceriotti2)** Ceriotti, Bussi and Parrinello, Phys Rev Lett 103, 030603 (2009) diff --git a/doc/src/fix_gravity.rst b/doc/src/fix_gravity.rst index 6fbf9a80c5..1d31384911 100644 --- a/doc/src/fix_gravity.rst +++ b/doc/src/fix_gravity.rst @@ -12,7 +12,6 @@ fix gravity/kk command Syntax """""" - .. parsed-literal:: fix ID group gravity magnitude style args @@ -22,9 +21,9 @@ Syntax * magnitude = size of acceleration (force/mass units) * magnitude can be a variable (see below) * style = *chute* or *spherical* or *gradient* or *vector* - + .. parsed-literal:: - + *chute* args = angle angle = angle in +x away from -z or -y axis in 3d/2d (in degrees) angle can be a variable (see below) @@ -36,13 +35,10 @@ Syntax x y z = vector direction to apply the acceleration x or y or z can be a variable (see below) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all gravity 1.0 chute 24.0 fix 1 all gravity v_increase chute 24.0 @@ -86,7 +82,7 @@ length is ignored. For 2d systems, the *z* component is ignored. Any of the quantities *magnitude*\ , *angle*\ , *phi*\ , *theta*\ , *x*\ , *y*\ , *z* which define the gravitational magnitude and direction, can be specified as an equal-style :doc:`variable <variable>`. If the value is -a variable, it should be specified as v\_name, where name is the +a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the quantity. You should insure that the variable calculates a result in the appropriate units, @@ -98,10 +94,8 @@ keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify a time-dependent gravitational field. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -120,11 +114,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_grem.rst b/doc/src/fix_grem.rst index 53b815ec36..eef39c1ffc 100644 --- a/doc/src/fix_grem.rst +++ b/doc/src/fix_grem.rst @@ -6,7 +6,6 @@ fix grem command Syntax """""" - .. parsed-literal:: fix ID group-ID grem lambda eta H0 thermostat-ID @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix fxgREM all grem 400 -0.01 -30000 fxnpt thermo_modify press fxgREM_press @@ -42,7 +40,6 @@ dependent effective temperature T_{eff} = \lambda + \eta (H - H_0) - with :math:`\eta` negative and steep enough to only intersect the characteristic microcanonical temperature (Ts) of the system once, ensuring a unimodal enthalpy distribution in that replica. @@ -84,11 +81,9 @@ insight to Ts. Initially using an evenly-spaced :math:`\lambda` distribution identifies regions where small changes in enthalpy lead to large temperature changes. Replicas are easily added where needed. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -99,7 +94,6 @@ by this fix to add the rescaled kinetic pressure as part of Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -110,19 +104,13 @@ Related commands **Default:** none - ---------- - .. _Kim2010: - - **(Kim)** Kim, Keyes, Straub, J Chem. Phys, 132, 224107 (2010). .. _Malolepsza: - - **(Malolepsza)** Malolepsza, Secor, Keyes, J Phys Chem B 119 (42), 13379-13384 (2015). diff --git a/doc/src/fix_halt.rst b/doc/src/fix_halt.rst index a071296675..9836679de3 100644 --- a/doc/src/fix_halt.rst +++ b/doc/src/fix_halt.rst @@ -6,7 +6,6 @@ fix halt command Syntax """""" - .. parsed-literal:: fix ID group-ID halt N attribute operator avalue keyword value ... @@ -14,7 +13,7 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * halt = style name of this fix command * N = check halt condition every N steps -* attribute = *bondmax* or *tlimit* or *diskfree* or *v\_name* +* attribute = *bondmax* or *tlimit* or v_name .. parsed-literal:: @@ -56,7 +55,7 @@ The specified group-ID is ignored by this fix. The specified *attribute* can be one of the options listed above, namely *bondmax*, *tlimit*\ , *diskfree*\ , or an :doc:`equal-style variable -<variable>` referenced as *v\_name*, where "name" is the name of a +<variable>` referenced as *v_name*, where "name" is the name of a variable that has been defined previously in the input script. The *bondmax* attribute will loop over all bonds in the system, @@ -71,7 +70,7 @@ using this method versus the timer command option. The first is that the clock starts at the beginning of the current run (not when the timer or fix command is specified), so that any setup time for the run is not included in the elapsed time. The second is that the timer -invocation and syncing across all processors (via MPI\_Allreduce) is +invocation and syncing across all processors (via MPI_Allreduce) is not performed once every *N* steps by this command. Instead it is performed (typically) only a small number of times and the elapsed times are used to predict when the end-of-the-run will be. Both of @@ -151,7 +150,7 @@ is printed; the run simply exits. The latter may be desirable for post-processing tools that extract thermodynamic information from log files. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_heat.rst b/doc/src/fix_heat.rst index 86850a2db7..3412daf63c 100644 --- a/doc/src/fix_heat.rst +++ b/doc/src/fix_heat.rst @@ -6,7 +6,6 @@ fix heat command Syntax """""" - .. parsed-literal:: fix ID group-ID heat N eflux @@ -18,19 +17,16 @@ Syntax * eflux can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *region* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region atoms must be in to have added force - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 qin heat 1 1.0 fix 3 qin heat 10 v_flux @@ -76,8 +72,8 @@ time. In this case, each value is an "intensive" quantity, which need not be scaled with the number of atoms in the group. As mentioned above, the *eflux* parameter can be specified as an -equal-style or atom\_style :doc:`variable <variable>`. If the value is a -variable, it should be specified as v\_name, where name is the variable +equal-style or atom_style :doc:`variable <variable>`. If the value is a +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value(s) used to determine the flux. @@ -112,7 +108,7 @@ their velocities. Thus you must still use an integration fix not normally be used on atoms that have their temperature controlled by another fix - e.g. :doc:`fix nvt <fix_nh>` or :doc:`fix langevin <fix_langevin>` fix. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. diff --git a/doc/src/fix_hyper_global.rst b/doc/src/fix_hyper_global.rst index 2d0cda5970..c24d405b55 100644 --- a/doc/src/fix_hyper_global.rst +++ b/doc/src/fix_hyper_global.rst @@ -6,7 +6,6 @@ fix hyper/global command Syntax """""" - .. parsed-literal:: fix ID group-ID hyper/global cutbond qfactor Vmax Tequil @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all hyper/global 1.0 0.3 0.8 300.0 @@ -68,7 +66,6 @@ the specified group. The current strain of bond *ij* (when running dynamics) is defined as - .. math:: E_{ij} = \frac{R_{ij} - R^0_{ij}}{R^0_{ij}} @@ -79,7 +76,6 @@ and :math:`R^0_{ij}` is the equilibrium distance in the quenched state. The bias energy :math:`V_{ij}` of any bond between atoms *i* and *j* is defined as - .. math:: V_{ij} = V^{max} \cdot \left( 1 - \left(\frac{E_{ij}}{q}\right)^2 \right) \textrm{ for } \left|E_{ij}\right| < qfactor \textrm{ or } 0 \textrm{ otherwise} @@ -102,7 +98,6 @@ The derivative of :math:`V^{max}_{ij}` with respect to the position of each atom in the :math:`E^{max}` bond gives a bias force :math:`F^{max}_{ij}` acting on the bond as - .. math:: F^{max}_{ij} = - \frac{dV^{max}_{ij}}{dE_{ij}} = \frac{2 V^{max} E-{ij}}{\textrm{qfactor}^2} \textrm{ for } \left|E_{ij}\right| < \textrm{qfactor} \textrm{ or } 0 \textrm{ otherwise} @@ -112,7 +107,6 @@ only the two *ij* atoms in the :math:`E^{max}` bond. The time boost factor for the system is given each timestep I by - .. math:: B_i = e^{\beta V^{max}_{ij}} @@ -130,13 +124,12 @@ and an argument to this fix. Note that :math:`B_i >= 1` at every step. The elapsed time :math:`t_{hyper}` for a GHD simulation running for *N* timesteps is simply - .. math:: t_{hyper} = \sum_{i=1,N} B-i \cdot dt where *dt* is the timestep size defined by the :doc:`timestep <timestep>` -command. The effective time acceleration due to GHD is thus t\_hyper / +command. The effective time acceleration due to GHD is thus t_hyper / N\*dt, where N\*dt is elapsed time for a normal MD run of N timesteps. Note that in GHD, the boost factor varies from timestep to timestep. @@ -145,10 +138,8 @@ atoms the bias potential is added to, will also vary from timestep to timestep. This is in contrast to local hyperdynamics (LHD) where the boost factor is an input parameter; see the :doc:`fix hyper/local <fix_hyper_local>` doc page for details. - ---------- - Here is additional information on the input parameters for GHD. The *cutbond* argument is the cutoff distance for defining bonds @@ -185,7 +176,7 @@ time-accurate trajectory of the system. Note that if *Vmax* is set too small, the GHD simulation will run correctly. There will just be fewer events because the hyper time -(t\_hyper equation above) will be shorter. +(t_hyper equation above) will be shorter. .. note:: @@ -204,11 +195,9 @@ In general, the lower the value of *Tequil* and the higher the value of *Vmax*\ , the more time boost will be achievable by the GHD algorithm. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -268,7 +257,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -280,19 +268,13 @@ Related commands **Default:** None - ---------- - .. _Voter2013ghd: - - **(Voter2013)** S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139, 144110 (2013). .. _Mironghd: - - **(Miron)** R. A. Miron and K. A. Fichthorn, J Chem Phys, 119, 6210 (2003). diff --git a/doc/src/fix_hyper_local.rst b/doc/src/fix_hyper_local.rst index 7512f34ab7..a8e7483dac 100644 --- a/doc/src/fix_hyper_local.rst +++ b/doc/src/fix_hyper_local.rst @@ -6,7 +6,6 @@ fix hyper/local command Syntax """""" - .. parsed-literal:: fix ID group-ID hyper/local cutbond qfactor Vmax Tequil Dcut alpha Btarget @@ -22,9 +21,9 @@ Syntax * Btarget = desired time boost factor (unitless) * zero or more keyword/value pairs may be appended * keyword = *bound* or *reset* or *check/ghost* or *check/bias* - + .. parsed-literal:: - + *bound* value = Bfrac Bfrac = -1 or a value >= 0.0 *reset* value = Rfreq @@ -32,13 +31,10 @@ Syntax *check/ghost* values = none *check/bias* values = Nevery error/warn/ignore - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all hyper/local 1.0 0.3 0.8 300.0 fix 1 all hyper/local 1.0 0.3 0.8 300.0 bound 0.1 reset 0 @@ -83,7 +79,6 @@ the same except for a pre-factor :math:`C_{ij}`, explained below. The bias energy :math:`V_{ij}` applied to a bond *ij* with maximum strain is - .. math:: V^{max}_{ij} = C_{ij} \cdot V^{max} \cdot \left(1 - \left(\frac{E_{ij}}{q}\right)^2\right) \textrm{ for } \left|E_{ij}\right| < qfactor \textrm{ or } 0 \textrm{ otherwise} @@ -92,7 +87,6 @@ The derivative of :math:`V^{max}_{ij}` with respect to the position of each atom in the *ij* bond gives a bias force :math:`F^{max}_{ij}` acting on the bond as - .. math:: F^{max}_{ij} = - \frac{dV^{max}_{ij}}{dE_{ij}} = 2 C_{ij} V^{max} \frac{E_{ij}}{qfactor^2} \textrm{ for } \left|E_{ij}\right| < qfactor \textrm{ or } 0 \textrm{ otherwise} @@ -128,7 +122,6 @@ is first defined. The specified *Btarget* factor is then used to adjust the An instantaneous boost factor :math:`B_{ij}` is computed each timestep for each bond, as - .. math:: B_{ij} = e^{\beta V^{max}_{kl}} @@ -171,10 +164,8 @@ factor varies each timestep and is computed as a function of :math:`V_{max}`, :math:`E_{max}`, and :math:`T_{equil}`; see the :doc:`fix hyper/global <fix_hyper_global>` doc page for details. - ---------- - Here is additional information on the input parameters for LHD. Note that the *cutbond*\ , *qfactor*\ , and *Tequil* arguments have the @@ -254,11 +245,10 @@ well for many solid-state systems. atoms move (between quenched states) to be considered an "event". It is an argument to the "compute event/displace" command used to detect events. By default the ghost communication distance is set by the - pair\_style cutoff, which will typically be < *Dcut*\ . The :doc:`comm_modify cutoff <comm_modify>` command should be used to override the ghost + pair_style cutoff, which will typically be < *Dcut*\ . The :doc:`comm_modify cutoff <comm_modify>` command should be used to override the ghost cutoff explicitly, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS comm_modify cutoff 12.0 @@ -278,8 +268,7 @@ inverse of the alpha parameter discussed in The *Btarget* argument is the desired time boost factor (a value > 1) that all the atoms in the system will experience. The elapsed time -t\_hyper for an LHD simulation running for *N* timesteps is simply - +t_hyper for an LHD simulation running for *N* timesteps is simply .. math:: @@ -293,7 +282,6 @@ is the elapsed time for a normal MD run of N timesteps. You cannot choose an arbitrarily large setting for *Btarget*\ . The maximum value you should choose is - .. math:: B_{target} = e^{\beta V_{small}} @@ -305,7 +293,7 @@ is the specified temperature of the system Note that if *Btarget* is set smaller than this, the LHD simulation will run correctly. There will just be fewer events because the hyper -time (t\_hyper equation above) will be shorter. +time (t_hyper equation above) will be shorter. .. note:: @@ -315,10 +303,8 @@ time (t\_hyper equation above) will be shorter. simulations with smaller and smaller *Btarget* values, until the event rate does not change (as a function of hyper time). - ---------- - Here is additional information on the optional keywords for this fix. The *bound* keyword turns on min/max bounds for bias coefficients @@ -377,11 +363,9 @@ keyword is not enabled, the output of that statistic will be 0. Note that both of these computations are costly, hence they are only enabled by these keywords. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -544,7 +528,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the REPLICA package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -561,19 +544,13 @@ The default settings for optimal keywords are bounds = -1 and reset = -1. The check/ghost and check/bias keywords are not enabled by default. - ---------- - .. _Voter2013lhd: - - **(Voter2013)** S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139, 144110 (2013). .. _Mironlhd: - - **(Miron)** R. A. Miron and K. A. Fichthorn, J Chem Phys, 119, 6210 (2003). diff --git a/doc/src/fix_imd.rst b/doc/src/fix_imd.rst index d7931e1666..fe54e5bf50 100644 --- a/doc/src/fix_imd.rst +++ b/doc/src/fix_imd.rst @@ -6,7 +6,6 @@ fix imd command Syntax """""" - .. parsed-literal:: fix ID group-ID imd trate port keyword values ... @@ -15,9 +14,9 @@ Syntax * imd = style name of this fix command * port = port number on which the fix listens for an IMD client * keyword = *unwrap* or *fscale* or *trate* - + .. parsed-literal:: - + *unwrap* arg = *on* or *off* off = coordinates are wrapped back into the principal unit cell (default) on = "unwrapped" coordinates using the image flags used @@ -28,13 +27,10 @@ Syntax off = LAMMPS waits to be connected to an IMD client before continuing (default) on = LAMMPS listens for an IMD client, but continues with the run - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix vmd all imd 5678 fix comm all imd 8888 trate 5 unwrap on fscale 10.0 @@ -48,7 +44,7 @@ IMD protocol, as initially implemented in VMD and NAMD. Specifically it allows LAMMPS to connect an IMD client, for example the `VMD visualization program <VMD_>`_, so that it can monitor the progress of the simulation and interactively apply forces to selected atoms. -If LAMMPS is compiled with the pre-processor flag -DLAMMPS\_ASYNC\_IMD +If LAMMPS is compiled with the pre-processor flag -DLAMMPS_ASYNC_IMD then fix imd will use POSIX threads to spawn a IMD communication thread on MPI rank 0 in order to offload data reading and writing from the main execution thread and potentially lower the inferred @@ -108,7 +104,6 @@ with fix imd enabled, one needs to start VMD and load a coordinate or topology file that matches the fix group. When the VMD command prompts appears, one types the command line: - .. parsed-literal:: imd connect localhost 5678 @@ -138,17 +133,11 @@ screen output is active. .. _VMD: http://www.ks.uiuc.edu/Research/vmd - - .. _imdvmd: http://www.ks.uiuc.edu/Research/vmd/imd/ - - .. _vrpnicms: http://sites.google.com/site/akohlmey/software/vrpn-icms - - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global scalar or vector or per-atom @@ -159,7 +148,6 @@ fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_indent.rst b/doc/src/fix_indent.rst index 51a90bc3cc..ef62506591 100644 --- a/doc/src/fix_indent.rst +++ b/doc/src/fix_indent.rst @@ -6,7 +6,6 @@ fix indent command Syntax """""" - .. parsed-literal:: fix ID group-ID indent K keyword values ... @@ -16,9 +15,9 @@ Syntax * K = force constant for indenter surface (force/distance\^2 units) * one or more keyword/value pairs may be appended * keyword = *sphere* or *cylinder* or *plane* or *side* or *units* - + .. parsed-literal:: - + *sphere* args = x y z R x,y,z = initial position of center of indenter (distance units) R = sphere radius of indenter (distance units) @@ -40,13 +39,10 @@ Syntax lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all indent 10.0 sphere 0.0 0.0 15.0 3.0 fix 1 all indent 10.0 sphere v_x v_y 0.0 v_radius side in @@ -66,10 +62,9 @@ must set one of those 3 keywords. A spherical indenter exerts a force of magnitude +.. math:: -.. parsed-literal:: - - F(r) = - K (r - R)\^2 + F(r) = - K \left( r - R \right)^2 on each atom where *K* is the specified force constant, *r* is the distance from the atom to the center of the indenter, and *R* is the @@ -105,7 +100,7 @@ be specified as an equal-style :doc:`variable <variable>`, namely *x*\ , *y*\ , *z*\ , or *R*\ . Similarly, for a cylindrical indenter, any of *c1*\ , *c2*\ , or *R*\ , can be a variable. For a planar indenter, *pos* can be a variable. If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to define the indenter geometry. @@ -117,35 +112,32 @@ change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the *start* and *stop* keywords of the :doc:`run <run>` command and the *elaplong* keyword of :doc:`thermo_style custom <thermo_style>` for details. -For example, if a spherical indenter's x-position is specified as v\_x, +For example, if a spherical indenter's x-position is specified as v_x, then this variable definition will keep it's center at a relative position in the simulation box, 1/4 of the way from the left edge to the right edge, even if the box size changes: +.. code-block:: LAMMPS -.. parsed-literal:: - - variable x equal "xlo + 0.25\*lx" + variable x equal "xlo + 0.25*lx" Similarly, either of these variable definitions will move the indenter from an initial position at 2.5 at a constant velocity of 5: +.. code-block:: LAMMPS -.. parsed-literal:: - - variable x equal "2.5 + 5\*elaplong\*dt" + variable x equal "2.5 + 5*elaplong*dt" variable x equal vdisplace(2.5,5) -If a spherical indenter's radius is specified as v\_r, then these +If a spherical indenter's radius is specified as v_r, then these variable definitions will grow the size of the indenter at a specified rate. - -.. parsed-literal:: +.. code-block:: LAMMPS variable r0 equal 0.0 variable rate equal 1.0 - variable r equal "v_r0 + step\*dt\*v_rate" + variable r equal "v_r0 + step*dt*v_rate" If the *side* keyword is specified as *out*\ , which is the default, then particles outside the indenter are pushed away from its outer @@ -179,13 +171,12 @@ lattice spacing, you can define K with a variable whose formula contains *xlat*\ , *ylat*\ , *zlat* keywords of the :doc:`thermo_style <thermo_style>` command, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable k equal 100.0/xlat/xlat fix 1 all indent $k sphere ... -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_ipi.rst b/doc/src/fix_ipi.rst index d0e1903689..d60b25248d 100644 --- a/doc/src/fix_ipi.rst +++ b/doc/src/fix_ipi.rst @@ -6,7 +6,6 @@ fix ipi command Syntax """""" - .. parsed-literal:: fix ID group-ID ipi address port [unix] [reset] @@ -21,8 +20,10 @@ Syntax Examples """""""" -fix 1 all ipi my.server.com 12345 -fix 1 all ipi mysocket 666 unix reset +.. code-block:: LAMMPS + + fix 1 all ipi my.server.com 12345 + fix 1 all ipi mysocket 666 unix reset Description """"""""""" @@ -68,7 +69,7 @@ If the cell varies too wildly, it may be advisable to re-initialize these interactions at each call. This behavior can be requested by setting the *reset* switch. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** There is no restart information associated with this fix, since all the dynamical parameters are dealt with by i-PI. @@ -76,7 +77,6 @@ the dynamical parameters are dealt with by i-PI. Restrictions """""""""""" - Using this fix on anything other than all atoms requires particular care, since i-PI will know nothing on atoms that are not those whose coordinates are transferred. However, one could use this strategy to @@ -93,20 +93,14 @@ Related commands :doc:`fix nve <fix_nve>` - ---------- - .. _IPICPC: - - **(IPI-CPC)** Ceriotti, More and Manolopoulos, Comp Phys Comm, 185, 1019-1026 (2014). .. _ipihome: - - **(IPI)** `http://epfl-cosmo.github.io/gle4md/index.html?page=ipi <http://epfl-cosmo.github.io/gle4md/index.html?page=ipi>`_ diff --git a/doc/src/fix_langevin.rst b/doc/src/fix_langevin.rst index 2b764ef908..7a45293db9 100644 --- a/doc/src/fix_langevin.rst +++ b/doc/src/fix_langevin.rst @@ -9,7 +9,6 @@ fix langevin/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID langevin Tstart Tstop damp seed keyword values ... @@ -22,9 +21,9 @@ Syntax * seed = random number seed to use for white noise (positive integer) * zero or more keyword/value pairs may be appended * keyword = *angmom* or *omega* or *scale* or *tally* or *zero* - + .. parsed-literal:: - + *angmom* value = *no* or factor *no* = do not thermostat rotational degrees of freedom via the angular momentum factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric scale factor as discussed below @@ -45,12 +44,9 @@ Syntax *no* = do not set total random force to zero *yes* = set total random force to zero - - Examples """""""" - .. code-block:: LAMMPS fix 3 boundary langevin 1.0 1.0 1000.0 699483 @@ -66,7 +62,6 @@ implicit solvent. Used with :doc:`fix nve <fix_nve>`, this command performs Brownian dynamics (BD), since the total force on each atom will have the form: - .. math:: F = & F_c + F_f + F_r \\ @@ -127,7 +122,7 @@ run from *Tstart* to *Tstop*\ . *Tstart* can be specified as an equal-style or atom-style :doc:`variable <variable>`. In this case, the *Tstop* setting is ignored. If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature. @@ -170,18 +165,16 @@ generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors. - ---------- - The keyword/value option pairs are used in the following ways. The keyword *angmom* and *omega* keywords enable thermostatting of rotational degrees of freedom in addition to the usual translational degrees of freedom. This can only be done for finite-size particles. -A simulation using atom\_style sphere defines an omega for finite-size -spheres. A simulation using atom\_style ellipsoid defines a finite +A simulation using atom_style sphere defines an omega for finite-size +spheres. A simulation using atom_style ellipsoid defines a finite size and shape for aspherical particles and an angular momentum. The Langevin formulas for thermostatting the rotational degrees of freedom are the same as those above, where force is replaced by @@ -273,10 +266,8 @@ Regardless of the choice of output velocity, the sampling of the configurational distribution of atom positions is the same, and linearly consistent with the target temperature. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -295,11 +286,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. Because the state of the random number generator is not saved in restart files, this means you cannot do "exact" @@ -333,9 +322,8 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - For *gjf* do not choose damp=dt/2. *gjf* is not compatible -with run\_style respa. +with run_style respa. Related commands """""""""""""""" @@ -348,37 +336,25 @@ Default The option defaults are angmom = no, omega = no, scale = 1.0 for all types, tally = no, zero = no, gjf = no. - ---------- - .. _Dunweg1: - - **(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). .. _Schneider1: - - **(Schneider)** Schneider and Stoll, Phys Rev B, 17, 1302 (1978). .. _Gronbech-Jensen: - - **(Gronbech-Jensen)** Gronbech-Jensen and Farago, Mol Phys, 111, 983 (2013); Gronbech-Jensen, Hayre, and Farago, Comp Phys Comm, 185, 524 (2014) .. _2Gronbech-Jensen: - - **(Gronbech-Jensen)** Gronbech Jensen and Gronbech-Jensen, Mol Phys, 117, 2511 (2019) .. _1Gronbech-Jensen: - - **(Gronbech-Jensen)** Gronbech-Jensen, Mol Phys (2019); https://doi.org/10.1080/00268976.2019.1662506 diff --git a/doc/src/fix_langevin_drude.rst b/doc/src/fix_langevin_drude.rst index b87c8ef226..f361a88736 100644 --- a/doc/src/fix_langevin_drude.rst +++ b/doc/src/fix_langevin_drude.rst @@ -6,7 +6,6 @@ fix langevin/drude command Syntax """""" - .. parsed-literal:: fix ID group-ID langevin/drude Tcom damp_com seed_com Tdrude damp_drude seed_drude keyword values ... @@ -14,27 +13,24 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * langevin/drude = style name of this fix command * Tcom = desired temperature of the centers of mass (temperature units) -* damp\_com = damping parameter for the thermostat on centers of mass (time units) -* seed\_com = random number seed to use for white noise of the thermostat on centers of mass (positive integer) +* damp_com = damping parameter for the thermostat on centers of mass (time units) +* seed_com = random number seed to use for white noise of the thermostat on centers of mass (positive integer) * Tdrude = desired temperature of the Drude oscillators (temperature units) -* damp\_drude = damping parameter for the thermostat on Drude oscillators (time units) -* seed\_drude = random number seed to use for white noise of the thermostat on Drude oscillators (positive integer) +* damp_drude = damping parameter for the thermostat on Drude oscillators (time units) +* seed_drude = random number seed to use for white noise of the thermostat on Drude oscillators (positive integer) * zero or more keyword/value pairs may be appended * keyword = *zero* - + .. parsed-literal:: - + *zero* value = *no* or *yes* *no* = do not set total random force on centers of mass to zero *yes* = set total random force on centers of mass to zero - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 all langevin/drude 300.0 100.0 19377 1.0 20.0 83451 fix 1 all langevin/drude 298.15 100.0 19377 5.0 10.0 83451 zero yes @@ -60,50 +56,46 @@ Velocities: .. math:: - V' = \frac {M\, V + m\, v} {M'} - + V' = \frac {M\, V + m\, v} {M'} .. math:: - v' = v - V + v' = v - V Masses: .. math:: - M' = M + m - + M' = M + m .. math:: - m' = \frac {M\, m } {M'} + m' = \frac {M\, m } {M'} The Langevin forces are computed as .. math:: - F' = - \frac {M'} {\mathtt{damp\_com}}\, V' + F_r' - + F' = - \frac {M'} {\mathtt{damp_com}}\, V' + F_r' .. math:: - f' = - \frac {m'} {\mathtt{damp\_drude}}\, v' + f_r' + f' = - \frac {m'} {\mathtt{damp_drude}}\, v' + f_r' :math:`F_r'` is a random force proportional to -:math:`\sqrt { \frac {2\, k_B \mathtt{Tcom}\, m'} {\mathrm dt\, \mathtt{damp\_com} } }`. +:math:`\sqrt { \frac {2\, k_B \mathtt{Tcom}\, m'} {\mathrm dt\, \mathtt{damp_com} } }`. :math:`f_r'` is a random force proportional to -:math:`\sqrt { \frac {2\, k_B \mathtt{Tdrude}\, m'} {\mathrm dt\, \mathtt{damp\_drude} } }`. +:math:`\sqrt { \frac {2\, k_B \mathtt{Tdrude}\, m'} {\mathrm dt\, \mathtt{damp_drude} } }`. Then the real forces acting on the particles are computed from the inverse transform: .. math:: - F = \frac M {M'}\, F' - f' - + F = \frac M {M'}\, F' - f' .. math:: - f = \frac m {M'}\, F' + f' + f = \frac m {M'}\, F' + f' This fix also thermostats non-polarizable atoms in the group at temperature *Tcom*\ , as if they had a massless Drude partner. The @@ -132,10 +124,8 @@ See the :doc:`Howto thermostat <Howto_thermostat>` doc page for a discussion of different ways to compute temperature and perform thermostatting. - ---------- - This fix requires each atom know whether it is a Drude particle or not. You must therefore use the :doc:`fix drude <fix_drude>` command to specify the Drude status of each atom type. @@ -155,21 +145,18 @@ specify the Drude status of each atom type. correctly. You must use the :doc:`comm_modify <comm_modify>` command to enable this, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS comm_modify vel yes - ---------- - *Tcom* is the target temperature of the centers of mass, which would be used to thermostat the non-polarizable atoms. *Tdrude* is the (normally low) target temperature of the core-Drude particle pairs (dipoles). *Tcom* and *Tdrude* can be specified as an equal-style :doc:`variable <variable>`. If the value is a variable, it should be -specified as v\_name, where name is the variable name. In this case, +specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature. @@ -198,14 +185,14 @@ neighboring atoms. The optimal value probably depends on the temperature of the centers of mass and on the mass of the Drude particles. -*damp\_com* is the characteristic time for reaching thermal equilibrium +*damp_com* is the characteristic time for reaching thermal equilibrium of the centers of mass. For example, a value of 100.0 means to relax the temperature of the centers of mass in a timespan of (roughly) 100 time units (tau or fmsec or psec - see the :doc:`units <units>` -command). *damp\_drude* is the characteristic time for reaching +command). *damp_drude* is the characteristic time for reaching thermal equilibrium of the dipoles. It is typically a few timesteps. -The number *seed\_com* and *seed\_drude* are positive integers. They set +The number *seed_com* and *seed_drude* are positive integers. They set the seeds of the Marsaglia random number generators used for generating the random forces on centers of mass and on the dipoles. Each processor uses the input seed to generate its own unique @@ -229,14 +216,11 @@ center-of-mass and relative coordinates, respectively, can be calculated using the :doc:`compute temp/drude <compute_temp_drude>` command. - ---------- - Usage example for rigid bodies in the NPT ensemble: - -.. parsed-literal:: +.. code-block:: LAMMPS comm_modify vel yes fix TEMP all langevin/drude 300. 100. 1256 1. 20. 13977 zero yes @@ -263,19 +247,16 @@ Comments: :doc:`compute temp/drude <compute_temp_drude>` * Contrary to the alternative thermostatting using Nose-Hoover thermostat fix *npt* and :doc:`fix drude/transform <fix_drude_transform>`, the - *fix\_modify* command is not required here, because the fix *nph* + *fix_modify* command is not required here, because the fix *nph* computes the global pressure even if its group is *ATOMS*\ . This is what we want. If we thermostatted *ATOMS* using *npt*\ , the pressure should be the global one, but the temperature should be only that of - the cores. That's why the command *fix\_modify* should be called in + the cores. That's why the command *fix_modify* should be called in that case. - - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. Because the state of the random number generator is not saved in restart files, this means you cannot do "exact" @@ -309,13 +290,9 @@ Default The option defaults are zero = no. - ---------- - .. _Jiang1: - - **(Jiang)** Jiang, Hardy, Phillips, MacKerell, Schulten, and Roux, J Phys Chem Lett, 2, 87-92 (2011). diff --git a/doc/src/fix_langevin_eff.rst b/doc/src/fix_langevin_eff.rst index 5057ea1e8a..36768d25b2 100644 --- a/doc/src/fix_langevin_eff.rst +++ b/doc/src/fix_langevin_eff.rst @@ -6,7 +6,6 @@ fix langevin/eff command Syntax """""" - .. parsed-literal:: fix ID group-ID langevin/eff Tstart Tstop damp seed keyword values ... @@ -17,9 +16,9 @@ Syntax * damp = damping parameter (time units) * seed = random number seed to use for white noise (positive integer) * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *scale* or *tally* or *zero* *scale* values = type ratio type = atom type (1-N) @@ -28,19 +27,15 @@ Syntax *no* = do not tally the energy added/subtracted to atoms *yes* = do tally the energy added/subtracted to atoms - .. parsed-literal:: - + *zero* value = *no* or *yes* *no* = do not set total random force to zero *yes* = set total random force to zero - - Examples """""""" - .. code-block:: LAMMPS fix 3 boundary langevin/eff 1.0 1.0 10.0 699483 @@ -54,14 +49,12 @@ to a group of nuclei and electrons in the :doc:`electron force field <pair_eff>` this command performs Brownian dynamics (BD), since the total force on each atom will have the form: - .. math:: F = & F_c + F_f + F_r \\ F_f = & - \frac{m}{\mathrm{damp}} v \\ F_r \propto & \sqrt{\frac{k_B T m}{dt~\mathrm{damp}}} - :math:`F_c` is the conservative force computed via the usual inter-particle interactions (:doc:`pair_style <pair_style>`). The :math:`F_f` and :math:`F_r` terms are added by this fix on a @@ -72,7 +65,7 @@ The operation of this fix is exactly like that described by the thermostatting is also applied to the radial electron velocity for electron particles. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. Because the state of the random number generator is not @@ -121,18 +114,12 @@ Default The option defaults are scale = 1.0 for all types and tally = no. - ---------- - .. _Dunweg2: - - **(Dunweg)** Dunweg and Paul, Int J of Modern Physics C, 2, 817-27 (1991). .. _Schneider2: - - **(Schneider)** Schneider and Stoll, Phys Rev B, 17, 1302 (1978). diff --git a/doc/src/fix_langevin_spin.rst b/doc/src/fix_langevin_spin.rst index b229a2ae8d..9a70cc1cd1 100644 --- a/doc/src/fix_langevin_spin.rst +++ b/doc/src/fix_langevin_spin.rst @@ -6,7 +6,6 @@ fix langevin/spin command Syntax """""" - .. parsed-literal:: fix ID group-ID langevin/spin T Tdamp seed @@ -17,12 +16,10 @@ Syntax * Tdamp = transverse magnetic damping parameter (adim) * seed = random number seed to use for white noise (positive integer) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all langevin/spin 300.0 0.01 21 @@ -56,8 +53,7 @@ Note: due to the form of the sLLG equation, this fix has to be defined just before the nve/spin fix (and after all other magnetic fixes). As an example: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all precession/spin zeeman 0.01 0.0 0.0 1.0 fix 2 all langevin/spin 300.0 0.01 21 @@ -72,11 +68,9 @@ generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. Because the state of the random number generator is not saved in restart files, this means you cannot do "exact" @@ -89,7 +83,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - The *langevin/spin* fix is part of the SPIN package. This style is only enabled if LAMMPS was built with this package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -106,19 +99,13 @@ Related commands **Default:** none - ---------- - .. _Mayergoyz1: - - **(Mayergoyz)** I.D. Mayergoyz, G. Bertotti, C. Serpico (2009). Elsevier (2009) .. _Tranchida2: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/fix_latte.rst b/doc/src/fix_latte.rst index ddea5a809f..f1469153a7 100644 --- a/doc/src/fix_latte.rst +++ b/doc/src/fix_latte.rst @@ -6,7 +6,6 @@ fix latte command Syntax """""" - .. parsed-literal:: fix ID group-ID latte peID @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix dftb all latte NULL @@ -55,10 +53,8 @@ specified as NULL. Eventually it will be used to enable LAMMPS to calculate a Coulomb potential as an alternative to LATTE performing the calculation. - ---------- - LATTE is a code for performing self-consistent charge transfer tight-binding (SC-TB) calculations of total energies and the forces acting on atoms in molecules and solids. This tight-binding method is @@ -106,11 +102,9 @@ areas of chemistry and materials science, as we now can simulate larger system sizes and longer time scales (:ref:`Cawkwell2012 <Cawkwell2012>`), (:ref:`Negre2016 <Negre2016>`). - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -144,7 +138,6 @@ energy minimization, invoked by the :doc:`minimize <minimize>` command. Restrictions """""""""""" - This fix is part of the LATTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -170,85 +163,61 @@ doing 99% or more of the work to compute quantum-accurate forces. **Default:** none - ---------- - .. _Elstner: - - **(Elstner)** M. Elstner, D. Poresag, G. Jungnickel, J. Elsner, M. Haugk, T. Frauenheim, S. Suhai, and G. Seifert, Phys. Rev. B, 58, 7260 (1998). .. _Elstner1: - - **(Elstner)** M. Elstner, D. Poresag, G. Jungnickel, J. Elsner, M. Haugk, T. Frauenheim, S. Suhai, and G. Seifert, Phys. Rev. B, 58, 7260 (1998). .. _Finnis2: - - **(Finnis)** M. W. Finnis, A. T. Paxton, M. Methfessel, and M. van Schilfgarde, Phys. Rev. Lett., 81, 5149 (1998). .. _Mniszewski: - - **(Mniszewski)** S. M. Mniszewski, M. J. Cawkwell, M. E. Wall, J. Mohd-Yusof, N. Bock, T. C. Germann, and A. M. N. Niklasson, J. Chem. Theory Comput., 11, 4644 (2015). .. _Niklasson2002: - - **(Niklasson2002)** A. M. N. Niklasson, Phys. Rev. B, 66, 155115 (2002). .. _Rubensson: - - **(Rubensson)** E. H. Rubensson, A. M. N. Niklasson, SIAM J. Sci. Comput. 36 (2), 147-170, (2014). .. _Niklasson2008: - - **(Niklasson2008)** A. M. N. Niklasson, Phys. Rev. Lett., 100, 123004 (2008). .. _Niklasson2014: - - **(Niklasson2014)** A. M. N. Niklasson and M. Cawkwell, J. Chem. Phys., 141, 164123, (2014). .. _Niklasson2017: - - **(Niklasson2017)** A. M. N. Niklasson, J. Chem. Phys., 147, 054103 (2017). .. _Cawkwell2012: - - **(Cawkwell2012)** A. M. N. Niklasson, M. J. Cawkwell, Phys. Rev. B, 86 (17), 174308 (2012). .. _Negre2016: - - **(Negre2016)** C. F. A. Negre, S. M. Mniszewski, M. J. Cawkwell, N. Bock, M. E. Wall, and A. M. N. Niklasson, J. Chem. Theory Comp., 12, 3063 (2016). diff --git a/doc/src/fix_lb_fluid.rst b/doc/src/fix_lb_fluid.rst index 5f487906bd..f450fdb8f0 100644 --- a/doc/src/fix_lb_fluid.rst +++ b/doc/src/fix_lb_fluid.rst @@ -6,7 +6,6 @@ fix lb/fluid command Syntax """""" - .. parsed-literal:: fix ID group-ID lb/fluid nevery LBtype viscosity density keyword values ... @@ -19,10 +18,10 @@ Syntax * viscosity = the fluid viscosity (units of mass/(time\*length)). * density = the fluid density. * zero or more keyword/value pairs may be appended -* keyword = *setArea* or *setGamma* or *scaleGamma* or *dx* or *dm* or *a0* or *noise* or *calcforce* or *trilinear* or *D3Q19* or *read\_restart* or *write\_restart* or *zwall\_velocity* or *bodyforce* or *printfluid* - +* keyword = *setArea* or *setGamma* or *scaleGamma* or *dx* or *dm* or *a0* or *noise* or *calcforce* or *trilinear* or *D3Q19* or *read_restart* or *write_restart* or *zwall_velocity* or *bodyforce* or *printfluid* + .. parsed-literal:: - + *setArea* values = type node_area type = atom type (1-N) node_area = portion of the surface area of the composite object associated with the particular atom type (used when the force coupling constant is set by default). @@ -48,13 +47,10 @@ Syntax *bodyforce* values = bodyforcex bodyforcey bodyforcez = the x,y and z components of a constant body force added to the fluid. *printfluid* values = N = print the fluid density and velocity at each grid point every N timesteps. - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all lb/fluid 1 2 1.0 1.0 setGamma 13.0 dx 4.0 dm 10.0 calcforce sphere1 fix 1 all lb/fluid 1 1 1.0 0.0009982071 setArea 1 1.144592082 dx 2.0 dm 0.3 trilinear noise 300.0 8979873 @@ -70,18 +66,16 @@ The lattice-Boltzmann algorithm solves for the fluid motion governed by the Navier Stokes equations, .. math:: - + \partial_t \rho + \partial_{\beta}\left(\rho u_{\beta}\right)= & 0 \\ \partial_t\left(\rho u_{\alpha}\right) + \partial_{\beta}\left(\rho u_{\alpha} u_{\beta}\right) = & \partial_{\beta}\sigma_{\alpha \beta} + F_{\alpha} + \partial_{\beta}\left(\eta_{\alpha \beta \gamma \nu}\partial_{\gamma} u_{\nu}\right) - with, .. math:: \eta_{\alpha \beta \gamma \nu} = \eta\left[\delta_{\alpha \gamma}\delta_{\beta \nu} + \delta_{\alpha \nu}\delta_{\beta \gamma} - \frac{2}{3}\delta_{\alpha \beta}\delta_{\gamma \nu}\right] + \Lambda \delta_{\alpha \beta}\delta_{\gamma \nu} - where :math:`\rho` is the fluid density, *u* is the local fluid velocity, :math:`\sigma` is the stress tensor, *F* is a local external force, and :math:`\eta` and :math:`\Lambda` are the shear and bulk viscosities @@ -91,7 +85,6 @@ respectively. Here, we have implemented \sigma_{\alpha \beta} = -P_{\alpha \beta} = -\rho a_0 \delta_{\alpha \beta} - with :math:`a_0` set to :math:`\frac{1}{3} \frac{dx}{dt}^2` by default. The algorithm involves tracking the time evolution of a set of partial @@ -102,7 +95,6 @@ discretized version of the Boltzmann equation, \left(\partial_t + e_{i\alpha}\partial_{\alpha}\right)f_i = -\frac{1}{\tau}\left(f_i - f_i^{eq}\right) + W_i - where the first term on the right hand side represents a single time relaxation towards the equilibrium distribution function, and :math:`\tau` is a parameter physically related to the viscosity. On a technical note, @@ -134,7 +126,6 @@ calculated as: {\bf F}_{j \alpha} = \gamma \left({\bf v}_n - {\bf u}_f \right) \zeta_{j\alpha} - where :math:`\mathbf{v}_n` is the velocity of the MD particle, :math:`\mathbf{u}_f` is the fluid velocity interpolated to the particle location, and :math:`\gamma` is the force @@ -156,16 +147,15 @@ according to \gamma = \frac{2m_um_v}{m_u+m_v}\left(\frac{1}{\Delta t_{collision}}\right) - Here, :math:`m_v` is the mass of the MD particle, :math:`m_u` is a representative fluid mass at the particle location, and :math:`\Delta t_{collision}` is a collision time, chosen such that :math:`\frac{\tau}{\Delta t_{collision}} = 1` (see :ref:`Mackay and Denniston <Mackay2>` for full details). In order to calculate :math:`m_u`, the fluid density is interpolated to the MD particle location, and -multiplied by a volume, node\_area * :math:`dx_{LB}`, where node\_area +multiplied by a volume, node_area * :math:`dx_{LB}`, where node_area represents the portion of the surface area of the composite object -associated with a given MD particle. By default, node\_area is set +associated with a given MD particle. By default, node_area is set equal to :math:`dx_{LB}^2`; however specific values for given atom types can be set using the *setArea* keyword. @@ -296,7 +286,7 @@ If the keyword *D3Q19* is used, the 19 velocity (D3Q19) lattice is used by the lattice-Boltzmann algorithm. By default, the 15 velocity (D3Q15) lattice is used. -If the keyword *write\_restart* is used, followed by a positive +If the keyword *write_restart* is used, followed by a positive integer, N, a binary restart file is printed every N LB timesteps. This restart file only contains information about the fluid. Therefore, a LAMMPS restart file should also be written in order to @@ -308,10 +298,10 @@ print out full details of the simulation. files may become quite large. In order to restart the fluid portion of the simulation, the keyword -*read\_restart* is specified, followed by the name of the binary -lb\_fluid restart file to be used. +*read_restart* is specified, followed by the name of the binary +lb_fluid restart file to be used. -If the *zwall\_velocity* keyword is used y-velocities are assigned to +If the *zwall_velocity* keyword is used y-velocities are assigned to the lower and upper walls. This keyword requires the presence of walls in the z-direction. This is set by assigning fixed boundary conditions in the z-direction. If fixed boundary conditions are @@ -325,24 +315,20 @@ If the *printfluid* keyword is used, followed by a positive integer, N, the fluid densities and velocities at each lattice site are printed to the screen every N timesteps. - ---------- - For further details, as well as descriptions and results of several test runs, see :ref:`Mackay et al. <fluid-Mackay>`. Please include a citation to -this paper if the lb\_fluid fix is used in work contributing to +this paper if the lb_fluid fix is used in work contributing to published research. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Due to the large size of the fluid data, this fix writes it's own binary restart files, if requested, independent of the main LAMMPS -:doc:`binary restart files <restart>`; no information about *lb\_fluid* +:doc:`binary restart files <restart>`; no information about *lb_fluid* is written to the main LAMMPS :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this @@ -354,7 +340,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -389,7 +374,6 @@ By default, the force coupling constant is set according to \gamma = \frac{2m_um_v}{m_u+m_v}\left(\frac{1}{\Delta t_{collision}}\right) - and an area of :math:`dx_{LB}^2` per node, used to calculate the fluid mass at the particle node location, is assumed. @@ -401,30 +385,20 @@ The Peskin stencil is used as the default interpolation method. The D3Q15 lattice is used for the lattice-Boltzmann algorithm. If walls are present, they are assumed to be stationary. - ---------- - .. _Ollila: - - **(Ollila et al.)** Ollila, S.T.T., Denniston, C., Karttunen, M., and Ala-Nissila, T., Fluctuating lattice-Boltzmann model for complex fluids, J. Chem. Phys. 134 (2011) 064902. .. _fluid-Mackay: - - **(Mackay et al.)** Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. .. _Mackay2: - - **(Mackay and Denniston)** Mackay, F. E., and Denniston, C., Coupling MD particles to a lattice-Boltzmann fluid through the use of conservative forces, J. Comput. Phys. 237 (2013) 289-298. .. _Adhikari: - - **(Adhikari et al.)** Adhikari, R., Stratford, K., Cates, M. E., and Wagner, A. J., Fluctuating lattice Boltzmann, Europhys. Lett. 71 (2005) 473-479. diff --git a/doc/src/fix_lb_momentum.rst b/doc/src/fix_lb_momentum.rst index 8eb4fa094b..a595ba2ce5 100644 --- a/doc/src/fix_lb_momentum.rst +++ b/doc/src/fix_lb_momentum.rst @@ -6,7 +6,6 @@ fix lb/momentum command Syntax """""" - .. parsed-literal:: fix ID group-ID lb/momentum nevery keyword values ... @@ -16,19 +15,16 @@ Syntax * nevery = adjust the momentum every this many timesteps * zero or more keyword/value pairs may be appended * keyword = *linear* - + .. parsed-literal:: - + *linear* values = xflag yflag zflag xflag,yflag,zflag = 0/1 to exclude/include each dimension. - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 sphere lb/momentum fix 1 all lb/momentum linear 1 1 0 @@ -54,7 +50,7 @@ be changed by specifying the keyword *linear*\ , along with a set of three flags set to 0/1 in order to exclude/ include the corresponding dimension. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -65,7 +61,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - Can only be used if a lattice-Boltzmann fluid has been created via the :doc:`fix lb/fluid <fix_lb_fluid>` command, and must come after this command. diff --git a/doc/src/fix_lb_pc.rst b/doc/src/fix_lb_pc.rst index 44a86047fb..874ff21893 100644 --- a/doc/src/fix_lb_pc.rst +++ b/doc/src/fix_lb_pc.rst @@ -6,7 +6,6 @@ fix lb/pc command Syntax """""" - .. parsed-literal:: fix ID group-ID lb/pc @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all lb/pc @@ -31,7 +29,7 @@ forces, using the integration algorithm described in :ref:`Mackay et al. <Mackay user-specified value for the force-coupling constant used in :doc:`fix lb/fluid <fix_lb_fluid>` has been set; do not use this integration algorithm if the force coupling constant has been set by default. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -42,7 +40,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -57,12 +54,8 @@ Related commands **Default:** None. - ---------- - .. _Mackay1: - - **(Mackay et al.)** Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. diff --git a/doc/src/fix_lb_rigid_pc_sphere.rst b/doc/src/fix_lb_rigid_pc_sphere.rst index 34336f0940..42fb21ca69 100644 --- a/doc/src/fix_lb_rigid_pc_sphere.rst +++ b/doc/src/fix_lb_rigid_pc_sphere.rst @@ -6,7 +6,6 @@ fix lb/rigid/pc/sphere command Syntax """""" - .. parsed-literal:: fix ID group-ID lb/rigid/pc/sphere bodystyle args keyword values ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * lb/rigid/pc/sphere = style name of this fix command * bodystyle = *single* or *molecule* or *group* - + .. parsed-literal:: - + *single* args = none *molecule* args = none *group* args = N groupID1 groupID2 ... @@ -24,9 +23,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *force* or *torque* or *innerNodes* - + .. parsed-literal:: - + *force* values = M xflag yflag zflag M = which rigid body from 1-Nbody (see asterisk form below) xflag,yflag,zflag = off/on if component of center-of-mass force is active @@ -36,13 +35,10 @@ Syntax *innerNodes* values = innergroup-ID innergroup-ID = ID of the atom group which does not experience a hydrodynamic force from the lattice-Boltzmann fluid - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 spheres lb/rigid/pc/sphere fix 1 all lb/rigid/pc/sphere force 1 0 0 innerNodes ForceAtoms @@ -61,10 +57,8 @@ solid, uniform density spheres, with moments of inertia calculated using the combined sum of the masses of all the constituent particles (which are assumed to be point particles). - ---------- - By default, all of the atoms that this fix acts on experience a hydrodynamic force due to the presence of the lattice-Boltzmann fluid. However, the *innerNodes* keyword allows the user to specify atoms @@ -81,16 +75,14 @@ is desirable simply to place an atom at the center of each sphere, which does not contribute to the hydrodynamic force, and have these central atoms interact with one another. - ---------- - Apart from the features described above, this fix is very similar to the rigid fix (although it includes fewer optional arguments, and assumes the constituent atoms are point particles); see :doc:`fix rigid <fix_rigid>` for a complete documentation. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about the *rigid* and *rigid/nve* fixes are written to :doc:`binary restart files <restart>`. @@ -136,7 +128,6 @@ of the :doc:`run <run>` command. These fixes are not invoked during Restrictions """""""""""" - This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -157,12 +148,8 @@ Default The defaults are force \* on on on, and torque \* on on on. - ---------- - .. _Mackay: - - **(Mackay et al.)** Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. diff --git a/doc/src/fix_lb_viscous.rst b/doc/src/fix_lb_viscous.rst index d20e969f80..6d7431c780 100644 --- a/doc/src/fix_lb_viscous.rst +++ b/doc/src/fix_lb_viscous.rst @@ -6,7 +6,6 @@ fix lb/viscous command Syntax """""" - .. parsed-literal:: fix ID group-ID lb/viscous @@ -17,7 +16,9 @@ Syntax Examples """""""" -fix 1 flow lb/viscous +.. code-block:: LAMMPS + + fix 1 flow lb/viscous Description """"""""""" @@ -27,7 +28,7 @@ is to be used in place of that command when a lattice-Boltzmann fluid is present, and the user wishes to integrate the particle motion using one of the built in LAMMPS integrators. -This fix adds a force, F = - Gamma\*(velocity-fluid\_velocity), to each +This fix adds a force, F = - Gamma\*(velocity-fluid_velocity), to each atom, where Gamma is the force coupling constant described in the :doc:`fix lb/fluid <fix_lb_fluid>` command (which applies an equal and opposite force to the fluid). @@ -41,20 +42,16 @@ opposite force to the fluid). value is used, then this fix provides the only method for adding the hydrodynamic forces to the particles. - ---------- - For further details, as well as descriptions and results of several test runs, see :ref:`Mackay et al. <Mackay3>`. Please include a citation to this paper if this fix is used in work contributing to published research. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** As described in the :doc:`fix viscous <fix_viscous>` documentation: @@ -73,7 +70,6 @@ for details." Restrictions """""""""""" - This fix is part of the USER-LB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -92,12 +88,8 @@ Related commands **Default:** none - ---------- - .. _Mackay3: - - **(Mackay et al.)** Mackay, F. E., Ollila, S.T.T., and Denniston, C., Hydrodynamic Forces Implemented into LAMMPS through a lattice-Boltzmann fluid, Computer Physics Communications 184 (2013) 2021-2031. diff --git a/doc/src/fix_lineforce.rst b/doc/src/fix_lineforce.rst index b97936fead..b02acfa9f4 100644 --- a/doc/src/fix_lineforce.rst +++ b/doc/src/fix_lineforce.rst @@ -6,7 +6,6 @@ fix lineforce command Syntax """""" - .. parsed-literal:: fix ID group-ID lineforce x y z @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix hold boundary lineforce 0.0 1.0 1.0 @@ -34,7 +32,7 @@ plane perpendicular to the line. If the initial velocity of the atom is 0.0 (or along the line), then it should continue to move along the line thereafter. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_manifoldforce.rst b/doc/src/fix_manifoldforce.rst index 63a90c626e..8cb9723277 100644 --- a/doc/src/fix_manifoldforce.rst +++ b/doc/src/fix_manifoldforce.rst @@ -6,7 +6,6 @@ fix manifoldforce command Syntax """""" - .. parsed-literal:: fix ID group-ID manifoldforce manifold manifold-args ... @@ -15,11 +14,12 @@ Syntax * manifold = name of the manifold * manifold-args = parameters for the manifold - Examples """""""" -fix constrain all manifoldforce sphere 5.0 +.. code-block:: LAMMPS + + fix constrain all manifoldforce sphere 5.0 Description """"""""""" @@ -32,11 +32,9 @@ given manifold, e.g. to set up a run with :doc:`fix nve/manifold/rattle <fix_nve only *hftn* and *quickmin* with a very small time step perform adequately though. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -44,25 +42,20 @@ by this fix for access by various :doc:`output commands <Howto_output>`. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run <run>` command. This fix is invoked during :doc:`energy minimization <minimize>`. - ---------- - Restrictions """""""""""" - This fix is part of the USER-MANIFOLD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. -Only use this with *min\_style hftn* or *min\_style quickmin*. If not, +Only use this with *min_style hftn* or *min_style quickmin*. If not, the constraints will not be satisfied very well at all. A warning is -generated if the *min\_style* is incompatible but no error. - +generated if the *min_style* is incompatible but no error. ---------- - Related commands """""""""""""""" diff --git a/doc/src/fix_meso.rst b/doc/src/fix_meso.rst index 8eb6b4831d..dc9f1cb991 100644 --- a/doc/src/fix_meso.rst +++ b/doc/src/fix_meso.rst @@ -6,7 +6,6 @@ fix meso command Syntax """""" - .. parsed-literal:: fix ID group-ID meso @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all meso @@ -33,7 +31,7 @@ internal variables such as SPH or DPDE. See `this PDF guide <USER/sph/SPH_LAMMPS_userguide.pdf>`_ to using SPH in LAMMPS. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -44,7 +42,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_meso_move.rst b/doc/src/fix_meso_move.rst index eb60f18146..a976c2de34 100644 --- a/doc/src/fix_meso_move.rst +++ b/doc/src/fix_meso_move.rst @@ -6,7 +6,6 @@ fix meso/move command Syntax """""" - .. parsed-literal:: fix ID group-ID meso/move style args keyword values ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * meso/move = style name of this fix command * style = *linear* or *wiggle* or *rotate* or *variable* - + .. parsed-literal:: - + *linear* args = Vx Vy Vz Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL *wiggle* args = Ax Ay Az period @@ -32,18 +31,15 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - + .. parsed-literal:: - + *units* value = *box* or *lattice* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 boundary meso/move wiggle 3.0 0.0 0.0 1.0 units box fix 2 boundary meso/move rotate 0.0 0.0 0.0 0.0 0.0 1.0 5.0 @@ -88,15 +84,12 @@ internal energy and extrapolated velocity are also updated. (e.g. to 0) before invoking this fix by using the :doc:`set image <set>` command. - ---------- - The *linear* style moves particles at a constant velocity, so that their position *X* = (x,y,z) as a function of time is given in vector notation as - .. parsed-literal:: X(t) = X0 + V \* delta @@ -114,8 +107,7 @@ Note that the *linear* style is identical to using the *variable* style with an :doc:`equal-style variable <variable>` that uses the vdisplace() function. E.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable V equal 10.0 variable x equal vdisplace(0.0,$V) @@ -125,7 +117,6 @@ The *wiggle* style moves particles in an oscillatory fashion, so that their position *X* = (x,y,z) as a function of time is given in vector notation as - .. parsed-literal:: X(t) = X0 + A sin(omega\*delta) @@ -144,14 +135,13 @@ Note that the *wiggle* style is identical to using the *variable* style with :doc:`equal-style variables <variable>` that use the swiggle() and cwiggle() functions. E.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable A equal 10.0 variable T equal 5.0 - variable omega equal 2.0\*PI/$T + variable omega equal 2.0*PI/$T variable x equal swiggle(0.0,$A,$T) - variable v equal v_omega\*($A-cwiggle(0.0,$A,$T)) + variable v equal v_omega*($A-cwiggle(0.0,$A,$T)) fix 1 boundary move variable v_x NULL NULL v_v NULL NULL The *rotate* style rotates particles around a rotation axis *R* = @@ -168,7 +158,7 @@ Rperp is a perpendicular vector from the rotation axis to the particle. The *variable* style allows the position and velocity components of each particle to be set by formulas specified via the :doc:`variable <variable>` command. Each of the 6 variables is -specified as an argument to the fix as v\_name, where name is the +specified as an argument to the fix as v_name, where name is the variable name that is defined elsewhere in the input script. Each variable must be of either the *equal* or *atom* style. @@ -181,10 +171,10 @@ fix stores the original coordinates of each particle (see note below) so that per-atom quantity can be used in an atom-style variable formula. See the :doc:`variable <variable>` command for details. -The first 3 variables (v\_dx,v\_dy,v\_dz) specified for the *variable* +The first 3 variables (v_dx,v_dy,v_dz) specified for the *variable* style are used to calculate a displacement from the particle's original position at the time the fix was specified. The second 3 variables -(v\_vx,v\_vy,v\_vz) specified are used to compute a velocity for each +(v_vx,v_vy,v_vz) specified are used to compute a velocity for each particle. Any of the 6 variables can be specified as NULL. If both the @@ -212,11 +202,9 @@ been previously used to define the lattice spacing. Each of these 3 quantities may be dependent on the x,y,z dimension, since the lattice spacings can be different in x,y,z. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the original coordinates of moving particles to :doc:`binary restart files <restart>`, as well as the initial timestep, so that the motion can be continuous in a restarted simulation. See the @@ -247,7 +235,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the USER-SDPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_meso_stationary.rst b/doc/src/fix_meso_stationary.rst index 6d8eebfdd7..89c30ece14 100644 --- a/doc/src/fix_meso_stationary.rst +++ b/doc/src/fix_meso_stationary.rst @@ -6,7 +6,6 @@ fix meso/stationary command Syntax """""" - .. parsed-literal:: fix ID group-ID meso/stationary @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 boundary meso/stationary @@ -34,7 +32,7 @@ space. See `this PDF guide <USER/sph/SPH_LAMMPS_userguide.pdf>`_ to using SPH in LAMMPS. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -45,7 +43,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_modify.rst b/doc/src/fix_modify.rst index 02b0de3a7a..604b63550c 100644 --- a/doc/src/fix_modify.rst +++ b/doc/src/fix_modify.rst @@ -6,7 +6,6 @@ fix_modify command Syntax """""" - .. code-block:: LAMMPS fix_modify fix-ID keyword value ... @@ -14,9 +13,9 @@ Syntax * fix-ID = ID of the fix to modify * one or more keyword/value pairs may be appended * keyword = *temp* or *press* or *energy* or *virial* or *respa* or *dynamic/dof* or *bodyforces* - + .. parsed-literal:: - + *temp* value = compute ID that calculates a temperature *press* value = compute ID that calculates a pressure *energy* value = *yes* or *no* @@ -27,12 +26,9 @@ Syntax *bodyforces* value = *early* or *late* early/late = compute rigid-body forces/torques early or late in the timestep - - Examples """""""" - .. code-block:: LAMMPS fix_modify 3 temp myTemp press myPress @@ -45,7 +41,7 @@ Description Modify one or more parameters of a previously defined fix. Only specific fix styles support specific parameters. See the doc pages for individual fix commands for info on which ones support which -fix\_modify parameters. +fix_modify parameters. The *temp* keyword is used to determine how a fix computes temperature. The specified compute ID must have been previously @@ -69,8 +65,8 @@ system. The fix's global and per-atom energy is included in the calculation performed by the :doc:`compute pe <compute_pe>` or :doc:`compute pe/atom <compute_pe_atom>` commands. See the :doc:`thermo_style <thermo_style>` command for info on how potential energy is output. For fixes that tally a global -energy, it can be printed by using the keyword f\_ID in the -thermo\_style custom command, where ID is the fix-ID of the appropriate +energy, it can be printed by using the keyword f_ID in the +thermo_style custom command, where ID is the fix-ID of the appropriate fix. .. note:: @@ -108,7 +104,7 @@ This is a number ranging from 1 to the number of levels. If the RESPA level is larger than the current maximum, the outermost level will be used, which is also the default setting. This default can be restored using a value of *0* for the RESPA level. The affected fix has to be -enabled to support this feature; if not, *fix\_modify* will report an +enabled to support this feature; if not, *fix_modify* will report an error. Active fixes with a custom RESPA level setting are reported with their specified level at the beginning of a r-RESPA run. diff --git a/doc/src/fix_momentum.rst b/doc/src/fix_momentum.rst index f2730e54e4..58fc9278a1 100644 --- a/doc/src/fix_momentum.rst +++ b/doc/src/fix_momentum.rst @@ -9,7 +9,6 @@ fix momentum/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID momentum N keyword values ... @@ -19,25 +18,21 @@ Syntax * N = adjust the momentum every this many timesteps one or more keyword/value pairs may be appended * keyword = *linear* or *angular* or *rescale* - + .. parsed-literal:: - + *linear* values = xflag yflag zflag xflag,yflag,zflag = 0/1 to exclude/include each dimension *angular* values = none - .. parsed-literal:: - + *rescale* values = none - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all momentum 1 linear 1 1 0 fix 1 all momentum 1 linear 1 1 1 rescale @@ -70,10 +65,8 @@ of atoms by rescaling the velocities after the momentum was removed. Note that the :doc:`velocity <velocity>` command can be used to create initial velocities with zero aggregate linear and/or angular momentum. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -92,7 +85,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_move.rst b/doc/src/fix_move.rst index 82b5b585a0..e9ebbd726b 100644 --- a/doc/src/fix_move.rst +++ b/doc/src/fix_move.rst @@ -6,7 +6,6 @@ fix move command Syntax """""" - .. parsed-literal:: fix ID group-ID move style args keyword values ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * move = style name of this fix command * style = *linear* or *wiggle* or *rotate* or *variable* - + .. parsed-literal:: - + *linear* args = Vx Vy Vz Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL *wiggle* args = Ax Ay Az period @@ -32,18 +31,15 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - + .. parsed-literal:: - + *units* value = *box* or *lattice* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 boundary move wiggle 3.0 0.0 0.0 1.0 units box fix 2 boundary move rotate 0.0 0.0 0.0 0.0 0.0 1.0 5.0 @@ -83,15 +79,12 @@ whose movement can influence nearby atoms. (e.g. to 0) before invoking this fix by using the :doc:`set image <set>` command. - ---------- - The *linear* style moves atoms at a constant velocity, so that their position *X* = (x,y,z) as a function of time is given in vector notation as - .. parsed-literal:: X(t) = X0 + V \* delta @@ -109,8 +102,7 @@ Note that the *linear* style is identical to using the *variable* style with an :doc:`equal-style variable <variable>` that uses the vdisplace() function. E.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable V equal 10.0 variable x equal vdisplace(0.0,$V) @@ -120,7 +112,6 @@ The *wiggle* style moves atoms in an oscillatory fashion, so that their position *X* = (x,y,z) as a function of time is given in vector notation as - .. parsed-literal:: X(t) = X0 + A sin(omega\*delta) @@ -139,14 +130,13 @@ Note that the *wiggle* style is identical to using the *variable* style with :doc:`equal-style variables <variable>` that use the swiggle() and cwiggle() functions. E.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable A equal 10.0 variable T equal 5.0 - variable omega equal 2.0\*PI/$T + variable omega equal 2.0*PI/$T variable x equal swiggle(0.0,$A,$T) - variable v equal v_omega\*($A-cwiggle(0.0,$A,$T)) + variable v equal v_omega*($A-cwiggle(0.0,$A,$T)) fix 1 boundary move variable v_x NULL NULL v_v NULL NULL The *rotate* style rotates atoms around a rotation axis *R* = @@ -167,7 +157,7 @@ atom's motion and rotation over time. The *variable* style allows the position and velocity components of each atom to be set by formulas specified via the :doc:`variable <variable>` command. Each of the 6 variables is -specified as an argument to the fix as v\_name, where name is the +specified as an argument to the fix as v_name, where name is the variable name that is defined elsewhere in the input script. Each variable must be of either the *equal* or *atom* style. @@ -180,10 +170,10 @@ fix stores the original coordinates of each atom (see note below) so that per-atom quantity can be used in an atom-style variable formula. See the :doc:`variable <variable>` command for details. -The first 3 variables (v\_dx,v\_dy,v\_dz) specified for the *variable* +The first 3 variables (v_dx,v_dy,v_dz) specified for the *variable* style are used to calculate a displacement from the atom's original position at the time the fix was specified. The second 3 variables -(v\_vx,v\_vy,v\_vz) specified are used to compute a velocity for each +(v_vx,v_vy,v_vz) specified are used to compute a velocity for each atom. Any of the 6 variables can be specified as NULL. If both the @@ -211,11 +201,9 @@ been previously used to define the lattice spacing. Each of these 3 quantities may be dependent on the x,y,z dimension, since the lattice spacings can be different in x,y,z. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the original coordinates of moving atoms to :doc:`binary restart files <restart>`, as well as the initial timestep, so that the motion can be continuous in a restarted simulation. See the diff --git a/doc/src/fix_mscg.rst b/doc/src/fix_mscg.rst index e6b09d9cc6..81a59ad7ee 100644 --- a/doc/src/fix_mscg.rst +++ b/doc/src/fix_mscg.rst @@ -6,7 +6,6 @@ fix mscg command Syntax """""" - .. parsed-literal:: fix ID group-ID mscg N keyword args ... @@ -16,9 +15,9 @@ Syntax * N = envoke this fix every this many timesteps * zero or more keyword/value pairs may be appended * keyword = *range* or *name* or *max* - + .. parsed-literal:: - + *range* arg = *on* or *off* *on* = range finding functionality is performed *off* = force matching functionality is performed @@ -27,13 +26,10 @@ Syntax *max* args = maxb maxa maxd maxb,maxa,maxd = maximum bonds/angles/dihedrals per atom - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all mscg 1 fix 1 all mscg 1 range name A B @@ -94,10 +90,8 @@ also be output depending on the parameters in the MS-CG library input script. Again, see the documentation provided with the MS-CG library for more info. - ---------- - The *range* keyword specifies which MS-CG library functionality should be invoked. If *on*\ , the step 4 range finder functionality is invoked. *off*\ , the step 5 force matching functionality is invoked. @@ -112,7 +106,6 @@ dihedrals a bead can have in the coarse-grained model. Restrictions """""""""""" - This fix is part of the MSCG package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -132,19 +125,13 @@ Default The default keyword settings are range off, max 4 12 36. - ---------- - .. _Izvekov: - - **(Izvekov)** Izvekov, Voth, J Chem Phys 123, 134105 (2005). .. _Noid: - - **(Noid)** Noid, Chu, Ayton, Krishna, Izvekov, Voth, Das, Andersen, J Chem Phys 128, 134105 (2008). diff --git a/doc/src/fix_msst.rst b/doc/src/fix_msst.rst index 80bfaf24bd..b76af36bb8 100644 --- a/doc/src/fix_msst.rst +++ b/doc/src/fix_msst.rst @@ -6,7 +6,6 @@ fix msst command Syntax """""" - .. parsed-literal:: fix ID group-ID msst dir shockvel keyword value ... @@ -17,9 +16,9 @@ Syntax * shockvel = shock velocity (strictly positive, distance/time units) * zero or more keyword value pairs may be appended * keyword = *q* or *mu* or *p0* or *v0* or *e0* or *tscale* or *beta* or *dftb* - + .. parsed-literal:: - + *q* value = cell mass-like parameter (mass\^2/distance\^4 units) *mu* value = artificial viscosity (mass/length/time units) *p0* value = initial pressure in the shock equations (pressure units) @@ -29,12 +28,9 @@ Syntax *dftb* value = *yes* or *no* for whether using MSST in conjunction with DFTB+ *beta* value = scale factor for improved energy conservation - - Examples """""""" - .. code-block:: LAMMPS fix 1 all msst y 100.0 q 1.0e5 mu 1.0e5 @@ -100,7 +96,6 @@ This fix computes a temperature and pressure and potential energy each timestep. To do this, the fix creates its own computes of style "temp" "pressure", and "pe", as if these commands had been issued: - .. code-block:: LAMMPS compute fix-ID_MSST_temp all temp @@ -110,13 +105,11 @@ timestep. To do this, the fix creates its own computes of style "temp" See the :doc:`compute temp <compute_temp>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the IDs of the -new computes are the fix-ID + "_MSST\_temp" or "MSST\_press" or -"_MSST\_pe". The group for the new computes is "all". - +new computes are the fix-ID + "_MSST_temp" or "MSST_press" or +"_MSST_pe". The group for the new computes is "all". ---------- - The *dftb* keyword is to allow this fix to be used when LAMMPS is being driven by DFTB+, a density-functional tight-binding code. If the keyword *dftb* is used with a value of *yes*\ , then the MSST equations @@ -127,11 +120,9 @@ you must define a :doc:`fix external <fix_external>` command in your input script, which is used to callback to DFTB+ during the LAMMPS timestepping. DFTB+ will communicate its info to LAMMPS via that fix. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of all internal variables to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` @@ -152,17 +143,16 @@ equations. See also :doc:`thermo_style <thermo_style>` command. The global vector contains four values in this order: -[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian\_speed*, *lagrangian\_position*] +[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, *lagrangian_position*] 1. *dhugoniot* is the departure from the Hugoniot (temperature units). 2. *drayleigh* is the departure from the Rayleigh line (pressure units). -3. *lagrangian\_speed* is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). -4. *lagrangian\_position* is the computational cell position in the reference frame moving at the shock speed. This is usually a good estimate of distance of the computational cell behind the shock front. +3. *lagrangian_speed* is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). +4. *lagrangian_position* is the computational cell position in the reference frame moving at the shock speed. This is usually a good estimate of distance of the computational cell behind the shock front. To print these quantities to the log file with descriptive column headers, the following LAMMPS commands are suggested: - .. code-block:: LAMMPS fix msst all msst z @@ -181,7 +171,6 @@ quantities, which can be accessed by various :doc:`output commands Restrictions """""""""""" - This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -202,26 +191,18 @@ The keyword defaults are q = 10, mu = 0, tscale = 0.01, dftb = no, beta = 0.0. Note that p0, v0, and e0 are calculated on the first timestep. - ---------- - .. _Reed: - - **(Reed)** Reed, Fried, and Joannopoulos, Phys. Rev. Lett., 90, 235503 (2003). .. _Reed2: - - **(Reed2)** Reed, J. Phys. Chem. C, 116, 2205 (2012). .. _Goldman2: - - **(Goldman)** Goldman, Srinivasan, Hamel, Fried, Gaus, and Elstner, J. Phys. Chem. C, 117, 7885 (2013). diff --git a/doc/src/fix_mvv_dpd.rst b/doc/src/fix_mvv_dpd.rst index dbe4231616..77ca08e0c5 100644 --- a/doc/src/fix_mvv_dpd.rst +++ b/doc/src/fix_mvv_dpd.rst @@ -12,7 +12,6 @@ fix mvv/tdpd command Syntax """""" - .. parsed-literal:: fix ID group-ID mvv/dpd lambda @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all mvv/dpd fix 1 all mvv/dpd 0.5 @@ -76,11 +74,9 @@ Fix *mvv/tdpd* updates the per-atom chemical concentration, in addition to position and velocity, and must be used with the :doc:`pair_style tdpd <pair_mesodpd>` command. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -91,7 +87,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-MESODPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -106,13 +101,9 @@ Default The default value for the optional *lambda* parameter is 0.5. - ---------- - .. _Groot2: - - **(Groot)** Groot and Warren, J Chem Phys, 107: 4423-4435 (1997). DOI: 10.1063/1.474784 diff --git a/doc/src/fix_neb.rst b/doc/src/fix_neb.rst index 2b79185551..3612192d5b 100644 --- a/doc/src/fix_neb.rst +++ b/doc/src/fix_neb.rst @@ -6,7 +6,6 @@ fix neb command Syntax """""" - .. parsed-literal:: fix ID group-ID neb Kspring keyword value @@ -35,8 +34,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 active neb 10.0 fix 2 all neb 1.0 perp 1.0 end last @@ -66,7 +64,6 @@ interatomic force Fi = -Grad(V) for each replica I is altered. For all intermediate replicas (i.e. for 1 < I < N, except the climbing replica) the force vector becomes: - .. parsed-literal:: Fi = -Grad(V) + (Grad(V) dot T') T' + Fnudge_parallel + Fnudge_perp @@ -78,10 +75,10 @@ roughly in the direction of (Ri+i - Ri-1); see the coordinates of replica I; Ri-1 and Ri+1 are the coordinates of its neighbor replicas. The term (Grad(V) dot T') is used to remove the component of the gradient parallel to the path which would tend to -distribute the replica unevenly along the path. Fnudge\_parallel is an +distribute the replica unevenly along the path. Fnudge_parallel is an artificial nudging force which is applied only in the tangent direction and which maintains the equal spacing between replicas (see -below for more information). Fnudge\_perp is an optional artificial +below for more information). Fnudge_perp is an optional artificial spring which is applied in a direction perpendicular to the tangent direction and which prevent the paths from forming acute kinks (see below for more information). @@ -90,23 +87,19 @@ In the second stage of the NEB calculation, the interatomic force Fi for the climbing replica (the replica of highest energy after the first stage) is changed to: - .. parsed-literal:: Fi = -Grad(V) + 2 (Grad(V) dot T') T' and the relaxation procedure is continued to a new converged MEP. - ---------- - The keyword *parallel* specifies how the parallel nudging force is computed. With a value of *neigh*\ , the parallel nudging force is computed as in :ref:`(Henkelman1) <Henkelman1>` by connecting each intermediate replica with the previous and the next image: - .. parsed-literal:: Fnudge_parallel = *Kspring* \* (\|Ri+1 - Ri\| - \|Ri - Ri-1\|) @@ -115,8 +108,7 @@ Note that in this case the specified *Kspring* is in force/distance units. With a value of *ideal*\ , the spring force is computed as suggested in -ref`(WeinanE) <WeinanE>` - +ref`(WeinanE) <WeinanE>` .. parsed-literal:: @@ -132,10 +124,8 @@ in force units. Note that the *ideal* form of nudging can often be more effective at keeping the replicas equally spaced. - ---------- - The keyword *perp* specifies if and how a perpendicular nudging force is computed. It adds a spring force perpendicular to the path in order to prevent the path from becoming too strongly kinked. It can @@ -145,7 +135,6 @@ resolution is poor. I.e. when few replicas are used; see The perpendicular spring force is given by - .. parsed-literal:: Fnudge_perp = *Kspring2* \* F(Ri-1,Ri,Ri+1) (Ri+1 + Ri-1 - 2 Ri) @@ -158,10 +147,8 @@ acute. F(Ri-1 Ri R+1) is defined in :ref:`(Jonsson) <Jonsson>`. If *Kspring2* is set to 0.0 (the default) then no perpendicular spring force is added. - ---------- - By default, no additional forces act on the first and last replicas during the NEB relaxation, so these replicas simply relax toward their respective local minima. By using the key word *end*\ , additional @@ -171,7 +158,6 @@ target energy ETarget. If ETarget>E, the interatomic force Fi for the specified replica becomes: - .. parsed-literal:: Fi = -Grad(V) + (Grad(V) dot T' + (E-ETarget)\*Kspring3) T', *when* Grad(V) dot T' < 0 @@ -217,7 +203,7 @@ Finally, note that the last replica may never reach the target energy if it is stuck in a local minima which has a larger energy than the target energy. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -232,7 +218,6 @@ as invoked by the :doc:`minimize <minimize>` command via the Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -248,40 +233,28 @@ Default The option defaults are parallel = neigh, perp = 0.0, ends is not specified (no inter-replica force on the end replicas). - ---------- - .. _Henkelman1: - - **(Henkelman1)** Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000). .. _Henkelman2: - - **(Henkelman2)** Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, 9901-9904 (2000). .. _WeinanE: - - **(WeinanE)** E, Ren, Vanden-Eijnden, Phys Rev B, 66, 052301 (2002). .. _Jonsson: - - **(Jonsson)** Jonsson, Mills and Jacobsen, in Classical and Quantum Dynamics in Condensed Phase Simulations, edited by Berne, Ciccotti, and Coker World Scientific, Singapore, 1998, p 385. .. _Maras1: - - **(Maras)** Maras, Trushin, Stukowski, Ala-Nissila, Jonsson, Comp Phys Comm, 205, 13-21 (2016). diff --git a/doc/src/fix_neb_spin.rst b/doc/src/fix_neb_spin.rst index ffef23873c..93729ac96f 100644 --- a/doc/src/fix_neb_spin.rst +++ b/doc/src/fix_neb_spin.rst @@ -6,7 +6,6 @@ fix neb/spin command Syntax """""" - .. parsed-literal:: fix ID group-ID neb/spin Kspring @@ -22,7 +21,9 @@ Syntax Examples """""""" -fix 1 active neb/spin 1.0 +.. code-block:: LAMMPS + + fix 1 active neb/spin 1.0 Description """"""""""" @@ -46,7 +47,7 @@ The nudging forces are calculated as explained in :ref:`(BessarabB) <BessarabB>`). See this reference for more explanation about their expression. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -61,7 +62,6 @@ as invoked by the :doc:`minimize <minimize>` command via the Restrictions """""""""""" - This command can only be used if LAMMPS was built with the SPIN package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -76,13 +76,9 @@ Default none - ---------- - .. _BessarabB: - - **(BessarabB)** Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, 335-347 (2015). diff --git a/doc/src/fix_nh.rst b/doc/src/fix_nh.rst index 88ece95e95..6927b47fcb 100644 --- a/doc/src/fix_nh.rst +++ b/doc/src/fix_nh.rst @@ -36,17 +36,16 @@ fix nph/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID style_name keyword value ... * ID, group-ID are documented in :doc:`fix <fix>` command -* style\_name = *nvt* or *npt* or *nph* +* style_name = *nvt* or *npt* or *nph* * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *temp* or *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *yz* or *xz* or *couple* or *tchain* or *pchain* or *mtk* or *tloop* or *ploop* or *nreset* or *drag* or *dilate* or *scalexy* or *scaleyz* or *scalexz* or *flip* or *fixedpoint* or *update* *temp* values = Tstart Tstop Tdamp Tstart,Tstop = external temperature at start/end of run @@ -82,13 +81,10 @@ Syntax dipole = update dipole orientation (only for sphere variants) dipole/dlm = use DLM integrator to update dipole orientation (only for sphere variants) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt temp 300.0 300.0 100.0 fix 1 water npt temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 @@ -128,10 +124,8 @@ energy proposed by Parrinello and Rahman in follow the time-reversible measure-preserving Verlet and rRESPA integrators derived by Tuckerman et al in :ref:`(Tuckerman) <nh-Tuckerman>`. - ---------- - The thermostat parameters for fix styles *nvt* and *npt* are specified using the *temp* keyword. Other thermostat-related keywords are *tchain*\ , *tloop* and *drag*\ , which are discussed below. @@ -159,15 +153,12 @@ by the velocity/position update portion of the integration. via using an :doc:`immediate variable <variable>` expression accessing the thermo property 'dt', which is the length of the time step. Example: +.. code-block:: LAMMPS -.. parsed-literal:: - - fix 1 all nvt temp 300.0 300.0 $(100.0\*dt) - + fix 1 all nvt temp 300.0 300.0 $(100.0*dt) ---------- - The barostat parameters for fix styles *npt* and *nph* is specified using one or more of the *iso*\ , *aniso*\ , *tri*\ , *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , *yz*\ , and *couple* keywords. These keywords give you the @@ -233,10 +224,8 @@ group, a separate time integration fix like :doc:`fix nve <fix_nve>` or :doc:`fix nvt <fix_nh>` can be used on them, independent of whether they are dilated or not. - ---------- - The *couple* keyword allows two or three of the diagonal components of the pressure tensor to be "coupled" together. The value specified with the keyword determines which are coupled. For example, *xz* @@ -250,10 +239,8 @@ dilated or contracted by the same percentage every timestep. The be identical. *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. - ---------- - The *iso*\ , *aniso*\ , and *tri* keywords are simply shortcuts that are equivalent to specifying several other keywords together. @@ -262,7 +249,6 @@ pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using "iso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -276,7 +262,6 @@ stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -290,7 +275,6 @@ as the driving forces, and the specified scalar pressure as the external normal stress. Using "tri Pstart Pstop Pdamp" is the same as specifying these 7 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -301,10 +285,8 @@ specifying these 7 keywords: xz 0.0 0.0 Pdamp couple none - ---------- - In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional *drag* keyword will @@ -398,10 +380,8 @@ Dullweber-Leimkuhler-McLachlan integration scheme giving better energy conservation and allows slightly longer timesteps at only a small additional computational cost. - ---------- - .. note:: Using a barostat coupled to tilt dimensions *xy*\ , *xz*\ , *yz* can @@ -449,22 +429,23 @@ See the :doc:`Howto thermostat <Howto_thermostat>` and :doc:`Howto barostat <How ways to compute temperature and perform thermostatting and barostatting. - ---------- - These fixes compute a temperature and pressure each timestep. To do this, the thermostat and barostat fixes create their own computes of style "temp" and "pressure", as if one of these sets of commands had been issued: For fix nvt: -compute fix-ID\_temp group-ID temp +.. code-block:: LAMMPS -.. parsed-literal:: + compute fix-ID_temp group-ID temp + +For fix npt and fix nph: + +.. code-block:: LAMMPS - For fix npt and fix nph: compute fix-ID_temp all temp compute fix-ID_press all pressure fix-ID_temp @@ -475,17 +456,17 @@ for the entire system. In the case of fix nph, the temperature compute is not used for thermostatting, but just for a kinetic-energy contribution to the pressure. See the :doc:`compute temp <compute_temp>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the IDs of the new computes are the -fix-ID + underscore + "temp" or fix\_ID + underscore + "press". +fix-ID + underscore + "temp" or fix_ID + underscore + "press". Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of these +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of these fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command. Or you can print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate -compute-ID. It also means that changing attributes of *thermo\_temp* -or *thermo\_press* will have no effect on this fix. +compute-ID. It also means that changing attributes of *thermo_temp* +or *thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, fix nvt and fix npt can be used with :doc:`compute commands <compute>` that calculate a @@ -501,10 +482,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - These fixes can be used with either the *verlet* or *respa* :doc:`integrators <run_style>`. When using one of the barostat fixes with *respa*\ , LAMMPS uses an integrator constructed @@ -518,7 +497,7 @@ according to the following factorization of the Liouville propagator \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\ - &\times \left[ + &\times \left[ \exp \left(\mathrm{i} L_{2}^{(1)} \frac{\Delta t}{2n} \right) \exp \left(\mathrm{i} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) \exp \left(\mathrm{i} L_1 \frac{\Delta t}{n} \right) @@ -527,12 +506,11 @@ according to the following factorization of the Liouville propagator \right]^n \\ &\times \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) - \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) - \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) \\ &+ \mathcal{O} \left(\Delta t^3 \right) - This factorization differs somewhat from that of Tuckerman et al, in that the barostat is only updated at the outermost rRESPA level, whereas Tuckerman's factorization requires splitting the pressure into @@ -556,20 +534,16 @@ of the underlying non-Hamiltonian equations of motion. the momentum at infrequent intervals using the :doc:`fix momentum <fix_momentum>` command. - ---------- - The fix npt and fix nph commands can be used with rigid bodies or mixtures of rigid bodies and non-rigid particles (e.g. solvent). But there are also :doc:`fix rigid/npt <fix_rigid>` and :doc:`fix rigid/nph <fix_rigid>` commands, which are typically a more natural choice. See the doc page for those commands for more discussion of the various ways to do this. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -588,11 +562,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** These fixes writes the state of all the thermostat and barostat variables to :doc:`binary restart files <restart>`. See the @@ -612,7 +584,7 @@ compute temperature on a subset of atoms. .. note:: If both the *temp* and *press* keywords are used in a single - thermo\_modify command (or in two separate commands), then the order in + thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a :doc:`pressure compute <compute_pressure>` defines its own temperature compute as an argument when it is specified. The *temp* keyword will override this (for the pressure compute being used by fix npt), but only if the @@ -647,21 +619,21 @@ simulation, otherwise its value is 3. The order of values in the global vector and their meaning is as follows. The notation means there are tchain values for eta, followed -by tchain for eta\_dot, followed by ndof for omega, etc: +by tchain for eta_dot, followed by ndof for omega, etc: * eta[tchain] = particle thermostat displacements (unitless) -* eta\_dot[tchain] = particle thermostat velocities (1/time units) +* eta_dot[tchain] = particle thermostat velocities (1/time units) * omega[ndof] = barostat displacements (unitless) -* omega\_dot[ndof] = barostat velocities (1/time units) +* omega_dot[ndof] = barostat velocities (1/time units) * etap[pchain] = barostat thermostat displacements (unitless) -* etap\_dot[pchain] = barostat thermostat velocities (1/time units) -* PE\_eta[tchain] = potential energy of each particle thermostat displacement (energy units) -* KE\_eta\_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units) -* PE\_omega[ndof] = potential energy of each barostat displacement (energy units) -* KE\_omega\_dot[ndof] = kinetic energy of each barostat velocity (energy units) -* PE\_etap[pchain] = potential energy of each barostat thermostat displacement (energy units) -* KE\_etap\_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units) -* PE\_strain[1] = scalar strain energy (energy units) +* etap_dot[pchain] = barostat thermostat velocities (1/time units) +* PE_eta[tchain] = potential energy of each particle thermostat displacement (energy units) +* KE_eta_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units) +* PE_omega[ndof] = potential energy of each barostat displacement (energy units) +* KE_omega_dot[ndof] = kinetic energy of each barostat velocity (energy units) +* PE_etap[pchain] = potential energy of each barostat thermostat displacement (energy units) +* KE_etap_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units) +* PE_strain[1] = scalar strain energy (energy units) These fixes can ramp their external temperature and pressure over multiple runs, using the *start* and *stop* keywords of the @@ -670,14 +642,11 @@ how to do this. These fixes are not invoked during :doc:`energy minimization <minimize>`. - ---------- - Restrictions """""""""""" - *X*\ , *y*\ , *z* cannot be barostatted if the associated dimension is not periodic. *Xy*\ , *xz*\ , and *yz* can only be barostatted if the simulation domain is triclinic and the 2nd dimension in the keyword @@ -720,38 +689,26 @@ ploop = 1, nreset = 0, drag = 0.0, dilate = all, couple = none, flip = yes, scaleyz = scalexz = scalexy = yes if periodic in 2nd dimension and not coupled to barostat, otherwise no. - ---------- - .. _nh-Martyna: - - **(Martyna)** Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). .. _nh-Parrinello: - - **(Parrinello)** Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). .. _nh-Tuckerman: - - **(Tuckerman)** Tuckerman, Alejandre, Lopez-Rendon, Jochim, and Martyna, J Phys A: Math Gen, 39, 5629 (2006). .. _nh-Shinoda: - - **(Shinoda)** Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). .. _nh-Dullweber: - - **(Dullweber)** Dullweber, Leimkuhler and McLachlan, J Chem Phys, 107, 5840 (1997). diff --git a/doc/src/fix_nh_eff.rst b/doc/src/fix_nh_eff.rst index 1f07d13625..b5fecf279f 100644 --- a/doc/src/fix_nh_eff.rst +++ b/doc/src/fix_nh_eff.rst @@ -12,16 +12,15 @@ fix nph/eff command Syntax """""" - .. parsed-literal:: fix ID group-ID style_name keyword value ... * ID, group-ID are documented in :doc:`fix <fix>` command -* style\_name = *nvt/eff* or *npt/eff* or *nph/eff* - +* style_name = *nvt/eff* or *npt/eff* or *nph/eff* + .. parsed-literal:: - + one or more keyword value pairs may be appended keyword = *temp* or *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *yz* or *xz* or *couple* or *tchain* or *pchain* or *mtk* or *tloop* or *ploop* or *nreset* or *drag* or *dilate* *temp* values = Tstart Tstop Tdamp @@ -43,13 +42,10 @@ Syntax *drag* value = drag factor added to barostat/thermostat (0.0 = no drag) *dilate* value = *all* or *partial* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/eff temp 300.0 300.0 0.1 fix 1 part npt/eff temp 300.0 300.0 0.1 iso 0.0 0.0 1.0 @@ -89,7 +85,7 @@ to the temperature or kinetic energy from the electron radial velocity. .. note:: there are two different pressures that can be reported for eFF - when defining the pair\_style (see :doc:`pair eff/cut <pair_eff>` to + when defining the pair_style (see :doc:`pair eff/cut <pair_eff>` to understand these settings), one (default) that considers electrons do not contribute radial virial components (i.e. electrons treated as incompressible 'rigid' spheres) and one that does. The radial @@ -109,7 +105,7 @@ to the temperature or kinetic energy from the electron radial velocity. the user must allow for these degrees of freedom to equilibrate (i.e. equi-partitioning of energy) through time integration. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** See the doc page for the :doc:`fix nvt, npt, and nph <fix_nh>` commands for details. @@ -117,7 +113,6 @@ for details. Restrictions """""""""""" - This fix is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -146,31 +141,21 @@ Default The keyword defaults are tchain = 3, pchain = 3, mtk = yes, tloop = ploop = 1, nreset = 0, drag = 0.0, dilate = all, and couple = none. - ---------- - .. _Martyna1: - - **(Martyna)** Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). .. _Parrinello: - - **(Parrinello)** Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). .. _Tuckerman1: - - **(Tuckerman)** Tuckerman, Alejandre, Lopez-Rendon, Jochim, and Martyna, J Phys A: Math Gen, 39, 5629 (2006). .. _Shinoda2: - - **(Shinoda)** Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). diff --git a/doc/src/fix_nh_uef.rst b/doc/src/fix_nh_uef.rst index 2732087800..27851d89a1 100644 --- a/doc/src/fix_nh_uef.rst +++ b/doc/src/fix_nh_uef.rst @@ -9,19 +9,18 @@ fix npt/uef command Syntax """""" - .. parsed-literal:: fix ID group-ID style_name erate edot_x edot_y temp Tstart Tstop Tdamp keyword value ... * ID, group-ID are documented in :doc:`fix <fix>` command -* style\_name = *nvt/uef* or *npt/uef* +* style_name = *nvt/uef* or *npt/uef* * *Tstart*\ , *Tstop*\ , and *Tdamp* are documented in the :doc:`fix npt <fix_nh>` command -* *edot\_x* and *edot\_y* are the strain rates in the x and y directions (1/(time units)) +* *edot_x* and *edot_y* are the strain rates in the x and y directions (1/(time units)) * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *ext* or *strain* or *iso* or *x* or *y* or *z* or *tchain* or *pchain* or *tloop* or *ploop* or *mtk* *ext* value = *x* or *y* or *z* or *xy* or *yz* or *xz* = external dimensions sets the external dimensions used to calculate the scalar pressure @@ -30,13 +29,10 @@ Syntax *iso*\ , *x*\ , *y*\ , *z*\ , *tchain*\ , *pchain*\ , *tloop*\ , *ploop*\ , *mtk* keywords documented by the :doc:`fix npt <fix_nh>` command - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix uniax_nvt all nvt/uef temp 400 400 100 erate 0.00001 -0.000005 fix biax_nvt all nvt/uef temp 400 400 100 erate 0.000005 0.000005 @@ -61,10 +57,10 @@ Note that NEMD simulations of a continuously strained system can be performed using the :doc:`fix deform <fix_deform>`, :doc:`fix nvt/sllod <fix_nvt_sllod>`, and :doc:`compute temp/deform <compute_temp_deform>` commands. The applied flow field is set by the *eps* keyword. The values -*edot\_x* and *edot\_y* correspond to the strain rates in the xx and yy +*edot_x* and *edot_y* correspond to the strain rates in the xx and yy directions. It is implicitly assumed that the flow field is traceless, and therefore the strain rate in the zz direction is eqal -to -(*edot\_x* + *edot\_y*). +to -(*edot_x* + *edot_y*). .. note:: @@ -98,10 +94,8 @@ during all of the output steps, and therefore trajectory files made using the dump command will be in the LAMMPS frame unless the :doc:`dump cfg/uef <dump_cfg_uef>` command is used. - ---------- - Temperature control is achieved with the default Nose-Hoover style thermostat documented in :doc:`fix npt <fix_nh>`. When this fix is active, only the peculiar velocity of each atom is stored, defined as @@ -122,8 +116,7 @@ pressure (Pxx+Pyy)/2 will be controlled. This example command will control the total hydrostatic pressure under uniaxial tension: - -.. parsed-literal:: +.. code-block:: LAMMPS fix f1 all npt/uef temp 0.7 0.7 0.5 iso 1 1 5 erate -0.5 -0.5 ext xyz @@ -131,8 +124,7 @@ This example command will control the average stress in compression directions, which would typically correspond to free surfaces under drawing with uniaxial tension: - -.. parsed-literal:: +.. code-block:: LAMMPS fix f2 all npt/uef temp 0.7 0.7 0.5 iso 1 1 5 erate -0.5 -0.5 ext xy @@ -148,31 +140,26 @@ method. For example, the following commands will work: - -.. parsed-literal:: +.. code-block:: LAMMPS fix f3 all npt/uef temp 0.7 0.7 0.5 x 1 1 5 y 1 1 5 erate -0.5 -0.5 fix f4 all npt/uef temp 0.7 0.7 0.5 z 1 1 5 erate 0.5 0.5 The following commands will not work: - -.. parsed-literal:: +.. code-block:: LAMMPS fix f5 all npt/uef temp 0.7 0.7 0.5 x 1 1 5 z 1 1 5 erate -0.5 -0.5 fix f6 all npt/uef temp 0.7 0.7 0.5 x 1 1 5 z 2 2 5 erate 0.5 0.5 - ---------- - These fix computes a temperature and pressure each timestep. To do this, it creates its own computes of style "temp/uef" and "pressure/uef", as if one of these two sets of commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp/uef compute fix-ID_press group-ID pressure/uef fix-ID_temp @@ -182,9 +169,9 @@ issued: See the :doc:`compute temp/uef <compute_temp_uef>` and :doc:`compute pressure/uef <compute_pressure_uef>` commands for details. Note that the IDs of the new computes are the fix-ID + underscore + "temp" -or fix\_ID + underscore + "press". +or fix_ID + underscore + "press". -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** The fix writes the state of all the thermostat and barostat variables, as well as the cumulative strain applied, to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command @@ -210,7 +197,6 @@ The fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the USER-UEF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -235,40 +221,28 @@ Default The default keyword values specific to this fix are exy = xyz, strain = 0 0. The remaining defaults are the same as for *fix -npt*\ \_fix\_nh.html except tchain = 1. The reason for this change is +npt*\ _fix_nh.html except tchain = 1. The reason for this change is given in :doc:`fix nvt/sllod <fix_nvt_sllod>`. - ---------- - .. _Dobson: - - **(Dobson)** Dobson, J Chem Phys, 141, 184103 (2014). .. _Hunt: - - **(Hunt)** Hunt, Mol Simul, 42, 347 (2016). .. _Semaev: - - **(Semaev)** Semaev, Cryptography and Lattices, 181 (2001). .. _Sllod: - - **(Evans and Morriss)** Evans and Morriss, Phys Rev A, 30, 1528 (1984). .. _Nicholson: - - **(Nicholson and Rutledge)** Nicholson and Rutledge, J Chem Phys, 145, 244903 (2016). diff --git a/doc/src/fix_nph_asphere.rst b/doc/src/fix_nph_asphere.rst index 8f4a4ad39b..76670f1c30 100644 --- a/doc/src/fix_nph_asphere.rst +++ b/doc/src/fix_nph_asphere.rst @@ -9,7 +9,6 @@ fix nph/asphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nph/asphere args keyword value ... @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nph/asphere iso 0.0 0.0 1000.0 fix 2 all nph/asphere x 5.0 5.0 1000.0 @@ -57,38 +55,33 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/asphere" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/asphere compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/asphere <compute_temp_asphere>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. - +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -107,7 +100,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command for info on how to re-specify a fix in an input script that @@ -139,7 +132,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -154,6 +146,6 @@ shape attribute. Related commands """""""""""""""" -:doc:`fix nph <fix_nh>`, :doc:`fix nve\_asphere <fix_nve_asphere>`, :doc:`fix nvt\_asphere <fix_nvt_asphere>`, :doc:`fix npt\_asphere <fix_npt_asphere>`, :doc:`fix_modify <fix_modify>` +:doc:`fix nph <fix_nh>`, :doc:`fix nve_asphere <fix_nve_asphere>`, :doc:`fix nvt_asphere <fix_nvt_asphere>`, :doc:`fix npt_asphere <fix_npt_asphere>`, :doc:`fix_modify <fix_modify>` **Default:** none diff --git a/doc/src/fix_nph_body.rst b/doc/src/fix_nph_body.rst index bae12f2b86..c2f6097fef 100644 --- a/doc/src/fix_nph_body.rst +++ b/doc/src/fix_nph_body.rst @@ -6,7 +6,6 @@ fix nph/body command Syntax """""" - .. parsed-literal:: fix ID group-ID nph/body args keyword value ... @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nph/body iso 0.0 0.0 1000.0 fix 2 all nph/body x 5.0 5.0 1000.0 @@ -54,38 +52,33 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/body" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/body compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/body <compute_temp_body>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. - +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -104,7 +97,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command for info on how to re-specify a fix in an input script that @@ -136,7 +129,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -147,6 +139,6 @@ command. Related commands """""""""""""""" -:doc:`fix nph <fix_nh>`, :doc:`fix nve\_body <fix_nve_body>`, :doc:`fix nvt\_body <fix_nvt_body>`, :doc:`fix npt\_body <fix_npt_body>`, :doc:`fix_modify <fix_modify>` +:doc:`fix nph <fix_nh>`, :doc:`fix nve_body <fix_nve_body>`, :doc:`fix nvt_body <fix_nvt_body>`, :doc:`fix npt_body <fix_npt_body>`, :doc:`fix_modify <fix_modify>` **Default:** none diff --git a/doc/src/fix_nph_sphere.rst b/doc/src/fix_nph_sphere.rst index d7322aa46d..d1e5bfd701 100644 --- a/doc/src/fix_nph_sphere.rst +++ b/doc/src/fix_nph_sphere.rst @@ -9,7 +9,6 @@ fix nph/sphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nph/sphere args keyword value ... @@ -17,9 +16,9 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * nph/sphere = style name of this fix command * keyword = *disc* - + .. parsed-literal:: - + *disc* value = none = treat particles as 2d discs, not spheres * additional barostat related keyword/value pairs from the :doc:`fix nph <fix_nh>` command can be appended @@ -27,8 +26,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nph/sphere iso 0.0 0.0 1000.0 fix 2 all nph/sphere x 5.0 5.0 1000.0 @@ -70,38 +68,33 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/sphere" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/sphere compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/sphere <compute_temp_sphere>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. - +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -120,7 +113,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command for info on how to re-specify a fix in an input script that @@ -152,7 +145,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the :doc:`atom_style sphere <atom_style>` command. @@ -166,7 +158,7 @@ defined by the :doc:`dimension <dimension>` keyword. Related commands """""""""""""""" -:doc:`fix nph <fix_nh>`, :doc:`fix nve\_sphere <fix_nve_sphere>`, :doc:`fix nvt\_sphere <fix_nvt_sphere>`, :doc:`fix npt\_sphere <fix_npt_sphere>`, +:doc:`fix nph <fix_nh>`, :doc:`fix nve_sphere <fix_nve_sphere>`, :doc:`fix nvt_sphere <fix_nvt_sphere>`, :doc:`fix npt_sphere <fix_npt_sphere>`, :doc:`fix_modify <fix_modify>` **Default:** none diff --git a/doc/src/fix_nphug.rst b/doc/src/fix_nphug.rst index 1d946e5f83..fed73f6315 100644 --- a/doc/src/fix_nphug.rst +++ b/doc/src/fix_nphug.rst @@ -9,15 +9,14 @@ fix nphug/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nphug keyword value ... * ID, group-ID are documented in :doc:`fix <fix>` command - + .. parsed-literal:: - + one or more keyword value pairs may be appended keyword = *temp* or *iso* or *aniso* or *tri* or *x* or *y* or *z* or *couple* or *tchain* or *pchain* or *mtk* or *tloop* or *ploop* or *nreset* or *drag* or *dilate* or *scaleyz* or *scalexz* or *scalexy* *temp* values = Value1 Value2 Tdamp @@ -42,13 +41,10 @@ Syntax *scalexz* value = *yes* or *no* = scale xz with lz *scalexy* value = *yes* or *no* = scale xy with ly - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 fix myhug all nphug temp 1.0 1.0 10.0 iso 40.0 40.0 70.0 drag 200.0 tchain 1 pchain 0 @@ -92,7 +88,6 @@ target temperature Tt obtained from the following equation: T_t - T = \frac{\left(\frac{1}{2}\left(P + P_0\right)\left(V_0 - V\right) + E_0 - E\right)}{N_{dof} k_B } = \Delta - where *T* and :math:`T_t` are the instantaneous and target temperatures, *P* and :math:`P_0` are the instantaneous and reference pressures or axial stresses, depending on whether hydrostatic or uniaxial compression is being @@ -105,13 +100,11 @@ When the system reaches a stable equilibrium, the value of :math:`\Delta` should fluctuate about zero. The values of :math:`E_0`, :math:`V_0`, and :math:`P_0` are the instantaneous values at the start of -the simulation. These can be overridden using the fix\_modify keywords *e0*\ , +the simulation. These can be overridden using the fix_modify keywords *e0*\ , *v0*\ , and *p0* described below. - ---------- - .. note:: Unlike the :doc:`fix temp/berendsen <fix_temp_berendsen>` command @@ -121,16 +114,13 @@ the simulation. These can be overridden using the fix\_modify keywords *e0*\ , this fix should not be used on atoms that have their temperature controlled by another fix - e.g. by :doc:`fix langevin <fix_nh>` or :doc:`fix temp/rescale <fix_temp_rescale>` commands. - ---------- - This fix computes a temperature and pressure at each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if one of these two sets of commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp @@ -139,24 +129,22 @@ as if one of these two sets of commands had been issued: compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp <compute_temp>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press". The group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. - +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -175,11 +163,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the values of :math:`E_0`, :math:`V_0`, and :math:`P_0`, as well as the state of all the thermostat and barostat variables to @@ -229,7 +215,6 @@ shock calculated from the RH conditions. They have units of distance/time. Restrictions """""""""""" - This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -246,12 +231,8 @@ Default The keyword defaults are the same as those for :doc:`fix npt <fix_nh>` - ---------- - .. _Ravelo1: - - **(Ravelo)** Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). diff --git a/doc/src/fix_npt_asphere.rst b/doc/src/fix_npt_asphere.rst index 2b84011cc8..aac88c551e 100644 --- a/doc/src/fix_npt_asphere.rst +++ b/doc/src/fix_npt_asphere.rst @@ -9,7 +9,6 @@ fix npt/asphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID npt/asphere keyword value ... @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all npt/asphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 fix 2 all npt/asphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 @@ -65,33 +63,30 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/asphere" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/asphere compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/asphere <compute_temp_asphere>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used with :doc:`compute commands <compute>` that calculate a temperature @@ -107,10 +102,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -129,7 +122,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat and barostat to :doc:`binary restart files <restart>`. See the @@ -164,7 +157,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -179,6 +171,6 @@ shape attribute. Related commands """""""""""""""" -:doc:`fix npt <fix_nh>`, :doc:`fix nve\_asphere <fix_nve_asphere>`, :doc:`fix nvt\_asphere <fix_nvt_asphere>`, :doc:`fix_modify <fix_modify>` +:doc:`fix npt <fix_nh>`, :doc:`fix nve_asphere <fix_nve_asphere>`, :doc:`fix nvt_asphere <fix_nvt_asphere>`, :doc:`fix_modify <fix_modify>` **Default:** none diff --git a/doc/src/fix_npt_body.rst b/doc/src/fix_npt_body.rst index 4eecd404ff..120437eeab 100644 --- a/doc/src/fix_npt_body.rst +++ b/doc/src/fix_npt_body.rst @@ -6,7 +6,6 @@ fix npt/body command Syntax """""" - .. parsed-literal:: fix ID group-ID npt/body keyword value ... @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all npt/body temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 fix 2 all npt/body temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 @@ -62,33 +60,30 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/body" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/body compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/body <compute_temp_body>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used with :doc:`compute commands <compute>` that calculate a temperature @@ -104,10 +99,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -126,7 +119,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat and barostat to :doc:`binary restart files <restart>`. See the @@ -161,7 +154,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -172,6 +164,6 @@ command. Related commands """""""""""""""" -:doc:`fix npt <fix_nh>`, :doc:`fix nve\_body <fix_nve_body>`, :doc:`fix nvt\_body <fix_nvt_body>`, :doc:`fix_modify <fix_modify>` +:doc:`fix npt <fix_nh>`, :doc:`fix nve_body <fix_nve_body>`, :doc:`fix nvt_body <fix_nvt_body>`, :doc:`fix_modify <fix_modify>` **Default:** none diff --git a/doc/src/fix_npt_cauchy.rst b/doc/src/fix_npt_cauchy.rst index e9a98b813f..5e0188c574 100644 --- a/doc/src/fix_npt_cauchy.rst +++ b/doc/src/fix_npt_cauchy.rst @@ -6,13 +6,12 @@ fix npt/cauchy command Syntax """""" - .. parsed-literal:: fix ID group-ID style_name keyword value ... * ID, group-ID are documented in :doc:`fix <fix>` command -* style\_name = *npt/cauchy* +* style_name = *npt/cauchy* * one or more keyword/value pairs may be appended * keyword = *temp* or *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *yz* or *xz* or *couple* or *tchain* or *pchain* or *mtk* or *tloop* or *ploop* or *nreset* or *drag* or *dilate* or *scalexy* or *scaleyz* or *scalexz* or *flip* or *fixedpoint* or *update* @@ -52,12 +51,12 @@ Syntax *fixedpoint* values = x y z x,y,z = perform barostat dilation/contraction around this point (distance units) - - Examples """""""" -fix 1 water npt/cauchy temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 +.. code-block:: LAMMPS + + fix 1 water npt/cauchy temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 Description """"""""""" @@ -91,10 +90,8 @@ energy proposed by Parrinello and Rahman in follow the time-reversible measure-preserving Verlet and rRESPA integrators derived by Tuckerman et al in :ref:`(Tuckerman) <nc-Tuckerman>`. - ---------- - The thermostat parameters are specified using the *temp* keyword. Other thermostat-related keywords are *tchain*\ , *tloop* and *drag*\ , which are discussed below. @@ -120,10 +117,8 @@ by the velocity/position update portion of the integration. 100 timesteps. Note that this is NOT the same as 100 time units for most :doc:`units <units>` settings. - ---------- - The barostat parameters are specified using one or more of the *iso*\ , *aniso*\ , *tri*\ , *x*\ , *y*\ , *z*\ , *xy*\ , *xz*\ , *yz*\ , and *couple* keywords. These keywords give you the ability to specify all 6 components of an @@ -188,10 +183,8 @@ group, a separate time integration fix like :doc:`fix nve <fix_nve>` or :doc:`fix nvt <fix_nh>` can be used on them, independent of whether they are dilated or not. - ---------- - The *couple* keyword allows two or three of the diagonal components of the pressure tensor to be "coupled" together. The value specified with the keyword determines which are coupled. For example, *xz* @@ -205,10 +198,8 @@ dilated or contracted by the same percentage every timestep. The be identical. *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. - ---------- - The *iso*\ , *aniso*\ , and *tri* keywords are simply shortcuts that are equivalent to specifying several other keywords together. @@ -217,7 +208,6 @@ pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using "iso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -231,7 +221,6 @@ stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -245,7 +234,6 @@ as the driving forces, and the specified scalar pressure as the external normal stress. Using "tri Pstart Pstop Pdamp" is the same as specifying these 7 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -256,10 +244,8 @@ specifying these 7 keywords: xz 0.0 0.0 Pdamp couple none - ---------- - In some cases (e.g. for solids) the pressure (volume) and/or temperature of the system can oscillate undesirably when a Nose/Hoover barostat and thermostat is applied. The optional *drag* keyword will @@ -340,10 +326,8 @@ far. In all cases, the particle trajectories are unaffected by the chosen value, except for a time-dependent constant translation of positions. - ---------- - .. note:: Using a barostat coupled to tilt dimensions *xy*\ , *xz*\ , *yz* can @@ -391,16 +375,13 @@ See the :doc:`Howto thermostat <Howto_thermostat>` and :doc:`Howto barostat <How ways to compute temperature and perform thermostatting and barostatting. - ---------- - This fix compute a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if one of these sets of commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp compute fix-ID_press all pressure fix-ID_temp @@ -408,17 +389,17 @@ as if one of these sets of commands had been issued: The group for both the new temperature and pressure compute is "all" since pressure is computed for the entire system. See the :doc:`compute temp <compute_temp>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the IDs of the new computes are the -fix-ID + underscore + "temp" or fix\_ID + underscore + "press". +fix-ID + underscore + "temp" or fix_ID + underscore + "press". Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of these +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of these fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command. Or you can print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate -compute-ID. It also means that changing attributes of *thermo\_temp* -or *thermo\_press* will have no effect on this fix. +compute-ID. It also means that changing attributes of *thermo_temp* +or *thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, fix npt/cauchy can be used with :doc:`compute commands <compute>` that calculate a @@ -434,10 +415,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - This fix can be used with either the *verlet* or *respa* :doc:`integrators <run_style>`. When using this fix with *respa*\ , LAMMPS uses an integrator constructed @@ -451,7 +430,7 @@ according to the following factorization of the Liouville propagator \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\ - &\times \left[ + &\times \left[ \exp \left(\mathrm{i} L_{2}^{(1)} \frac{\Delta t}{2n} \right) \exp \left(\mathrm{i} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) \exp \left(\mathrm{i} L_1 \frac{\Delta t}{n} \right) @@ -460,8 +439,8 @@ according to the following factorization of the Liouville propagator \right]^n \\ &\times \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) - \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) - \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) \exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) \\ &+ \mathcal{O} \left(\Delta t^3 \right) @@ -486,11 +465,9 @@ of the underlying non-Hamiltonian equations of motion. resetting the momentum at infrequent intervals using the :doc:`fix momentum <fix_momentum>` command. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of all the thermostat and barostat variables to :doc:`binary restart files <restart>`. See the @@ -510,7 +487,7 @@ compute temperature on a subset of atoms. .. note:: If both the *temp* and *press* keywords are used in a single - thermo\_modify command (or in two separate commands), then the order in + thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a :doc:`pressure compute <compute_pressure>` defines its own temperature compute as an argument when it is specified. The *temp* keyword will override this (for the pressure compute being used by fix npt), but only if the @@ -545,21 +522,21 @@ simulation, otherwise its value is 3. The order of values in the global vector and their meaning is as follows. The notation means there are tchain values for eta, followed -by tchain for eta\_dot, followed by ndof for omega, etc: +by tchain for eta_dot, followed by ndof for omega, etc: * eta[tchain] = particle thermostat displacements (unitless) -* eta\_dot[tchain] = particle thermostat velocities (1/time units) +* eta_dot[tchain] = particle thermostat velocities (1/time units) * omega[ndof] = barostat displacements (unitless) -* omega\_dot[ndof] = barostat velocities (1/time units) +* omega_dot[ndof] = barostat velocities (1/time units) * etap[pchain] = barostat thermostat displacements (unitless) -* etap\_dot[pchain] = barostat thermostat velocities (1/time units) -* PE\_eta[tchain] = potential energy of each particle thermostat displacement (energy units) -* KE\_eta\_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units) -* PE\_omega[ndof] = potential energy of each barostat displacement (energy units) -* KE\_omega\_dot[ndof] = kinetic energy of each barostat velocity (energy units) -* PE\_etap[pchain] = potential energy of each barostat thermostat displacement (energy units) -* KE\_etap\_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units) -* PE\_strain[1] = scalar strain energy (energy units) +* etap_dot[pchain] = barostat thermostat velocities (1/time units) +* PE_eta[tchain] = potential energy of each particle thermostat displacement (energy units) +* KE_eta_dot[tchain] = kinetic energy of each particle thermostat velocity (energy units) +* PE_omega[ndof] = potential energy of each barostat displacement (energy units) +* KE_omega_dot[ndof] = kinetic energy of each barostat velocity (energy units) +* PE_etap[pchain] = potential energy of each barostat thermostat displacement (energy units) +* KE_etap_dot[pchain] = kinetic energy of each barostat thermostat velocity (energy units) +* PE_strain[1] = scalar strain energy (energy units) This fix can ramp its external temperature and pressure over multiple runs, using the *start* and *stop* keywords of the @@ -568,14 +545,11 @@ how to do this. This fix is not invoked during :doc:`energy minimization <minimize>`. - ---------- - Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -607,7 +581,7 @@ the set values and the final true (Cauchy) stresses can be considerable. The *cauchystat* keyword modifies the barostat as per Miller et -al. (Miller)\_"#nc-Miller" so that the Cauchy stress is controlled. +al. (Miller)_"#nc-Miller" so that the Cauchy stress is controlled. *alpha* is the non-dimensional parameter, typically set to 0.001 or 0.01 that determines how aggressively the algorithm drives the system towards the set Cauchy stresses. Larger values of *alpha* will modify @@ -655,38 +629,26 @@ cauchystat = no, scaleyz = scalexz = scalexy = yes if periodic in 2nd dimension and not coupled to barostat, otherwise no. - ---------- - .. _nc-Martyna: - - **(Martyna)** Martyna, Tobias and Klein, J Chem Phys, 101, 4177 (1994). .. _nc-Parrinello: - - **(Parrinello)** Parrinello and Rahman, J Appl Phys, 52, 7182 (1981). .. _nc-Tuckerman: - - **(Tuckerman)** Tuckerman, Alejandre, Lopez-Rendon, Jochim, and Martyna, J Phys A: Math Gen, 39, 5629 (2006). .. _nc-Shinoda: - - **(Shinoda)** Shinoda, Shiga, and Mikami, Phys Rev B, 69, 134103 (2004). .. _nc-Miller: - - **(Miller)** Miller, Tadmor, Gibson, Bernstein and Pavia, J Chem Phys, 144, 184107 (2016). diff --git a/doc/src/fix_npt_sphere.rst b/doc/src/fix_npt_sphere.rst index d82e4e26cb..2def29ae47 100644 --- a/doc/src/fix_npt_sphere.rst +++ b/doc/src/fix_npt_sphere.rst @@ -9,7 +9,6 @@ fix npt/sphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID npt/sphere keyword value ... @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all npt/sphere temp 300.0 300.0 100.0 iso 0.0 0.0 1000.0 fix 2 all npt/sphere temp 300.0 300.0 100.0 x 5.0 5.0 1000.0 @@ -78,33 +76,30 @@ only the particles in the fix group are re-scaled. The latter can be useful for leaving the coordinates of particles in a solid substrate unchanged and controlling the pressure of a surrounding fluid. - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp/sphere" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp all temp/sphere compute fix-ID_press all pressure fix-ID_temp See the :doc:`compute temp/sphere <compute_temp_sphere>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is "all" since pressure is computed for the entire system. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used with :doc:`compute commands <compute>` that calculate a temperature @@ -120,10 +115,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -142,7 +135,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat and barostat to :doc:`binary restart files <restart>`. See the @@ -177,7 +170,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the :doc:`atom_style sphere <atom_style>` command. @@ -191,6 +183,6 @@ defined by the :doc:`dimension <dimension>` keyword. Related commands """""""""""""""" -:doc:`fix npt <fix_nh>`, :doc:`fix nve\_sphere <fix_nve_sphere>`, :doc:`fix nvt\_sphere <fix_nvt_sphere>`, :doc:`fix npt\_asphere <fix_npt_asphere>`, :doc:`fix_modify <fix_modify>` +:doc:`fix npt <fix_nh>`, :doc:`fix nve_sphere <fix_nve_sphere>`, :doc:`fix nvt_sphere <fix_nvt_sphere>`, :doc:`fix npt_asphere <fix_npt_asphere>`, :doc:`fix_modify <fix_modify>` **Default:** none diff --git a/doc/src/fix_nve.rst b/doc/src/fix_nve.rst index b3928e6389..8089ad094d 100644 --- a/doc/src/fix_nve.rst +++ b/doc/src/fix_nve.rst @@ -15,7 +15,6 @@ fix nve/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nve @@ -26,8 +25,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve @@ -39,10 +37,8 @@ atoms in the group each timestep. V is volume; E is energy. This creates a system trajectory consistent with the microcanonical ensemble. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -61,11 +57,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_nve_asphere.rst b/doc/src/fix_nve_asphere.rst index ea311d3f69..f231330831 100644 --- a/doc/src/fix_nve_asphere.rst +++ b/doc/src/fix_nve_asphere.rst @@ -9,7 +9,6 @@ fix nve/asphere/intel command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/asphere @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/asphere @@ -36,7 +34,7 @@ trajectory consistent with the microcanonical ensemble. This fix differs from the :doc:`fix nve <fix_nve>` command, which assumes point particles and only updates their position and velocity. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -44,10 +42,8 @@ by this fix for access by various :doc:`output commands <Howto_output>`. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -66,14 +62,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_nve_asphere_noforce.rst b/doc/src/fix_nve_asphere_noforce.rst index ed2897c978..b518781d6c 100644 --- a/doc/src/fix_nve_asphere_noforce.rst +++ b/doc/src/fix_nve_asphere_noforce.rst @@ -6,7 +6,6 @@ fix nve/asphere/noforce command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/asphere/noforce @@ -17,7 +16,9 @@ Syntax Examples """""""" -fix 1 all nve/asphere/noforce +.. code-block:: LAMMPS + + fix 1 all nve/asphere/noforce Description """"""""""" @@ -32,11 +33,9 @@ This is useful as an implicit time integrator for Fast Lubrication Dynamics, since the velocity and angular momentum are updated by the :doc:`pair_style lubricuteU <pair_lubricateU>` command. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -47,7 +46,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_nve_awpmd.rst b/doc/src/fix_nve_awpmd.rst index c29de946d8..45bb002617 100644 --- a/doc/src/fix_nve_awpmd.rst +++ b/doc/src/fix_nve_awpmd.rst @@ -6,7 +6,6 @@ fix nve/awpmd command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/awpmd @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/awpmd @@ -33,11 +31,9 @@ ensemble. The operation of this fix is exactly like that described by the :doc:`fix nve <fix_nve>` command, except that the width and width-velocity of the electron wave functions are also updated. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -48,7 +44,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-AWPMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_nve_body.rst b/doc/src/fix_nve_body.rst index 36a9a426ec..ad68abb0d4 100644 --- a/doc/src/fix_nve_body.rst +++ b/doc/src/fix_nve_body.rst @@ -6,7 +6,6 @@ fix nve/body command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/body @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/body @@ -34,7 +32,7 @@ particles. This fix differs from the :doc:`fix nve <fix_nve>` command, which assumes point particles and only updates their position and velocity. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -45,7 +43,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_nve_dot.rst b/doc/src/fix_nve_dot.rst index 5f3ede0386..a7018a337e 100644 --- a/doc/src/fix_nve_dot.rst +++ b/doc/src/fix_nve_dot.rst @@ -6,7 +6,6 @@ fix nve/dot command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/dot @@ -14,12 +13,10 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * nve/dot = style name of this fix command - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/dot @@ -43,14 +40,11 @@ An example input file can be found in /examples/USER/cgdna/examples/duplex1/. Further details of the implementation and stability of the integrator are contained in :ref:`(Henrich) <Henrich4>`. The preprint version of the article can be found `here <PDF/USER-CGDNA.pdf>`_. - ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the :ref:`USER-CGDNA <PKG-USER-CGDNA>` package and the MOLECULE and ASPHERE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -62,10 +56,8 @@ Related commands **Default:** none - ---------- - .. _Davidchack4: **(Davidchack)** R.L Davidchack, T.E. Ouldridge, and M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015). diff --git a/doc/src/fix_nve_dotc_langevin.rst b/doc/src/fix_nve_dotc_langevin.rst index e360e70c23..88d15b9e17 100644 --- a/doc/src/fix_nve_dotc_langevin.rst +++ b/doc/src/fix_nve_dotc_langevin.rst @@ -6,7 +6,6 @@ fix nve/dotc/langevin command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/dotc/langevin Tstart Tstop damp seed keyword value @@ -17,18 +16,15 @@ Syntax * damp = damping parameter (time units) * seed = random number seed to use for white noise (positive integer) * keyword = *angmom* - + .. parsed-literal:: - + *angmom* value = factor factor = do thermostat rotational degrees of freedom via the angular momentum and apply numeric scale factor as discussed below - - Examples """""""" - .. code-block:: LAMMPS fix 1 all nve/dotc/langevin 1.0 1.0 0.03 457145 angmom 10 @@ -60,7 +56,6 @@ over the standard integrator, permitting slightly larger timestep sizes. The total force on each atom will have the form: - .. math:: F = & F_c + F_f + F_r \\ @@ -89,10 +84,8 @@ and magnitude of this force as described in :ref:`(Dunweg) <Dunweg5>`, where a uniform random number is used (instead of a Gaussian random number) for speed. - ---------- - *Tstart* and *Tstop* have to be constant values, i.e. they cannot be variables. If used together with the oxDNA force field for coarse-grained simulation of DNA please note that T = 0.1 in oxDNA units @@ -131,14 +124,11 @@ An example input file can be found in examples/USER/cgdna/examples/duplex2/. Further details of the implementation and stability of the integrators are contained in :ref:`(Henrich) <Henrich5>`. The preprint version of the article can be found `here <PDF/USER-CGDNA.pdf>`_. - ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the :ref:`USER-CGDNA <PKG-USER-CGDNA>` package and the MOLECULE and ASPHERE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -150,10 +140,8 @@ Related commands **Default:** none - ---------- - .. _Davidchack5: **(Davidchack)** R.L Davidchack, T.E. Ouldridge, M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015). diff --git a/doc/src/fix_nve_eff.rst b/doc/src/fix_nve_eff.rst index 88bc6a3607..78e6352b6e 100644 --- a/doc/src/fix_nve_eff.rst +++ b/doc/src/fix_nve_eff.rst @@ -6,7 +6,6 @@ fix nve/eff command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/eff @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/eff @@ -32,7 +30,7 @@ system trajectory consistent with the microcanonical ensemble. The operation of this fix is exactly like that described by the :doc:`fix nve <fix_nve>` command, except that the radius and radial velocity of electrons are also updated. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -43,7 +41,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_nve_limit.rst b/doc/src/fix_nve_limit.rst index 07746e71a2..98d691d6b9 100644 --- a/doc/src/fix_nve_limit.rst +++ b/doc/src/fix_nve_limit.rst @@ -6,7 +6,6 @@ fix nve/limit command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/limit xmax @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/limit 0.1 @@ -62,7 +60,7 @@ very large for overlapped configurations. that need this fix, then turn fix shake on when doing normal dynamics with a fixed-size timestep. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. diff --git a/doc/src/fix_nve_line.rst b/doc/src/fix_nve_line.rst index ec971bc41e..d47bf34f61 100644 --- a/doc/src/fix_nve_line.rst +++ b/doc/src/fix_nve_line.rst @@ -6,7 +6,6 @@ fix nve/line command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/line @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/line @@ -34,7 +32,7 @@ segment particles. This fix differs from the :doc:`fix nve <fix_nve>` command, which assumes point particles and only updates their position and velocity. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -45,7 +43,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_nve_manifold_rattle.rst b/doc/src/fix_nve_manifold_rattle.rst index 68c2d7b574..1caedf88e1 100644 --- a/doc/src/fix_nve_manifold_rattle.rst +++ b/doc/src/fix_nve_manifold_rattle.rst @@ -6,7 +6,6 @@ fix nve/manifold/rattle command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/manifold/rattle tol maxit manifold manifold-args keyword value ... @@ -18,20 +17,17 @@ Syntax * manifold = name of the manifold * manifold-args = parameters for the manifold * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *every* *every* values = N N = print info about iteration every N steps. N = 0 means no output - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/manifold/rattle 1e-4 10 sphere 5.0 fix step all nve/manifold/rattle 1e-8 100 ellipsoid 2.5 2.5 5.0 every 25 @@ -53,14 +49,13 @@ parameters, see the :doc:`Howto manifold <Howto_manifold>` doc page. Note that the particles must initially be close to the manifold in question. If not, RATTLE will not be able to iterate until the constraint is satisfied, and an error is generated. For simple -manifolds this can be achieved with *region* and *create\_atoms* +manifolds this can be achieved with *region* and *create_atoms* commands, but for more complex surfaces it might be more useful to write a script. The manifold args may be equal-style variables, like so: - -.. parsed-literal:: +.. code-block:: LAMMPS variable R equal "ramp(5.0,3.0)" fix shrink_sphere all nve/manifold/rattle 1e-4 10 sphere v_R @@ -72,11 +67,9 @@ the particles. Note that if the manifold has to exert work on the particles because of these changes, the total energy might not be conserved. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -84,21 +77,16 @@ by this fix for access by various :doc:`output commands <Howto_output>`. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`. - ---------- - Restrictions """""""""""" - This fix is part of the USER-MANIFOLD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. - ---------- - Related commands """""""""""""""" @@ -106,19 +94,13 @@ Related commands **Default:** every = 0, tchain = 3 - ---------- - .. _Andersen1: - - **(Andersen)** Andersen, J. Comp. Phys. 52, 24, (1983). .. _Paquay2: - - **(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_. diff --git a/doc/src/fix_nve_noforce.rst b/doc/src/fix_nve_noforce.rst index 568be83bdc..d45648694a 100644 --- a/doc/src/fix_nve_noforce.rst +++ b/doc/src/fix_nve_noforce.rst @@ -6,7 +6,6 @@ fix nve/noforce command Syntax """""" - .. parsed-literal:: fix ID group-ID nve @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 wall nve/noforce @@ -39,7 +37,7 @@ unchanged, and can thus be printed by the :doc:`dump <dump>` command or queried with an equal-style :doc:`variable <variable>` that uses the fcm() group function to compute the total force on the group of atoms. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_nve_sphere.rst b/doc/src/fix_nve_sphere.rst index b5460fa1e0..753e40cd15 100644 --- a/doc/src/fix_nve_sphere.rst +++ b/doc/src/fix_nve_sphere.rst @@ -12,7 +12,6 @@ fix nve/sphere/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/sphere @@ -21,21 +20,18 @@ Syntax * nve/sphere = style name of this fix command * zero or more keyword/value pairs may be appended * keyword = *update* or *disc* - + .. parsed-literal:: - + *update* value = *dipole* or *dipole/dlm* dipole = update orientation of dipole moment during integration dipole/dlm = use DLM integrator to update dipole orientation *disc* value = none = treat particles as 2d discs, not spheres - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/sphere fix 1 all nve/sphere update dipole @@ -72,10 +68,8 @@ simulations, as defined by the :doc:`dimension <dimension>` keyword. The only difference between discs and spheres in this context is their moment of inertia, as used in the time integration. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -94,11 +88,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -109,7 +101,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the :doc:`atom_style sphere <atom_style>` command. If the *dipole* keyword is used, then they must also store a @@ -129,13 +120,9 @@ Related commands **Default:** none - ---------- - .. _nve-Dullweber: - - **(Dullweber)** Dullweber, Leimkuhler and McLachlan, J Chem Phys, 107, 5840 (1997). diff --git a/doc/src/fix_nve_spin.rst b/doc/src/fix_nve_spin.rst index c66d107089..143ddb2426 100644 --- a/doc/src/fix_nve_spin.rst +++ b/doc/src/fix_nve_spin.rst @@ -6,7 +6,6 @@ fix nve/spin command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/spin keyword values @@ -14,20 +13,17 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * nve/spin = style name of this fix command * keyword = *lattice* - + .. parsed-literal:: - + *lattice* value = *moving* or *frozen* moving = integrate both spin and atomic degress of freedom frozen = integrate spins on a fixed lattice - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 all nve/spin lattice moving fix 1 all nve/spin lattice frozen @@ -56,23 +52,19 @@ A sectoring method enables this scheme for parallel calculations. The implementation of this sectoring algorithm is reported in :ref:`(Tranchida) <Tranchida1>`. - ---------- - Restrictions """""""""""" - This fix style can only be used if LAMMPS was built with the SPIN package. See the :doc:`Build package <Build_package>` doc page for more info. To use the spin algorithm, it is necessary to define a map with -the atom\_modify command. Typically, by adding the command: +the atom_modify command. Typically, by adding the command: - -.. parsed-literal:: +.. code-block:: LAMMPS atom_modify map array @@ -89,20 +81,14 @@ Default The option default is lattice = moving. - ---------- - .. _Omelyan1: - - **(Omelyan)** Omelyan, Mryglod, and Folk. Phys. Rev. Lett. 86(5), 898. (2001). .. _Tranchida1: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/fix_nve_tri.rst b/doc/src/fix_nve_tri.rst index 6c4bb882e6..f5fdb7cc7d 100644 --- a/doc/src/fix_nve_tri.rst +++ b/doc/src/fix_nve_tri.rst @@ -6,7 +6,6 @@ fix nve/tri command Syntax """""" - .. parsed-literal:: fix ID group-ID nve/tri @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve/tri @@ -35,7 +33,7 @@ using triangular particles. This fix differs from the :doc:`fix nve <fix_nve>` command, which assumes point particles and only updates their position and velocity. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -46,7 +44,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_nvk.rst b/doc/src/fix_nvk.rst index 3eb1755411..415e3256b4 100644 --- a/doc/src/fix_nvk.rst +++ b/doc/src/fix_nvk.rst @@ -6,7 +6,6 @@ fix nvk command Syntax """""" - .. parsed-literal:: fix ID group-ID nvk @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvk @@ -39,11 +37,9 @@ nvk is initiated. If a different kinetic energy is desired, the :doc:`velocity <velocity>` command should be used to change the kinetic energy prior to this fix. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -54,7 +50,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - The Gaussian thermostat only works when it is applied to all atoms in the simulation box. Therefore, the group must be set to all. @@ -67,18 +62,12 @@ LAMMPS was built with that package. See the :doc:`Build package <Build_package> **Default:** none - ---------- - .. _nvk-Minary: - - **(Minary)** Minary, Martyna, and Tuckerman, J Chem Phys, 18, 2510 (2003). .. _nvk-Zhang: - - **(Zhang)** Zhang, J Chem Phys, 106, 6102 (1997). diff --git a/doc/src/fix_nvt_asphere.rst b/doc/src/fix_nvt_asphere.rst index 35a18a205c..6004de2e60 100644 --- a/doc/src/fix_nvt_asphere.rst +++ b/doc/src/fix_nvt_asphere.rst @@ -9,7 +9,6 @@ fix nvt/asphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/asphere keyword value ... @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/asphere temp 300.0 300.0 100.0 fix 1 all nvt/asphere temp 300.0 300.0 100.0 drag 0.2 @@ -55,8 +53,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/asphere", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp/asphere @@ -66,12 +63,12 @@ underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp*. +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify <compute_modify>` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -88,10 +85,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -110,7 +105,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command for info on how to re-specify a fix in an input script that @@ -138,7 +133,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -153,6 +147,6 @@ shape attribute. Related commands """""""""""""""" -:doc:`fix nvt <fix_nh>`, :doc:`fix nve\_asphere <fix_nve_asphere>`, :doc:`fix npt\_asphere <fix_npt_asphere>`, :doc:`fix_modify <fix_modify>` +:doc:`fix nvt <fix_nh>`, :doc:`fix nve_asphere <fix_nve_asphere>`, :doc:`fix npt_asphere <fix_npt_asphere>`, :doc:`fix_modify <fix_modify>` **Default:** none diff --git a/doc/src/fix_nvt_body.rst b/doc/src/fix_nvt_body.rst index e564092d35..41d652a32d 100644 --- a/doc/src/fix_nvt_body.rst +++ b/doc/src/fix_nvt_body.rst @@ -6,7 +6,6 @@ fix nvt/body command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/body keyword value ... @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/body temp 300.0 300.0 100.0 fix 1 all nvt/body temp 300.0 300.0 100.0 drag 0.2 @@ -52,8 +50,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/body", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp/body @@ -63,12 +60,12 @@ underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp*. +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify <compute_modify>` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -85,10 +82,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -107,7 +102,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command for info on how to re-specify a fix in an input script that @@ -135,7 +130,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -146,6 +140,6 @@ command. Related commands """""""""""""""" -:doc:`fix nvt <fix_nh>`, :doc:`fix nve\_body <fix_nve_body>`, :doc:`fix npt\_body <fix_npt_body>`, :doc:`fix_modify <fix_modify>` +:doc:`fix nvt <fix_nh>`, :doc:`fix nve_body <fix_nve_body>`, :doc:`fix npt_body <fix_npt_body>`, :doc:`fix_modify <fix_modify>` **Default:** none diff --git a/doc/src/fix_nvt_manifold_rattle.rst b/doc/src/fix_nvt_manifold_rattle.rst index 6fb9d8de3a..198208ca0d 100644 --- a/doc/src/fix_nvt_manifold_rattle.rst +++ b/doc/src/fix_nvt_manifold_rattle.rst @@ -6,7 +6,6 @@ fix nvt/manifold/rattle command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/manifold/rattle tol maxit manifold manifold-args keyword value ... @@ -18,9 +17,9 @@ Syntax * manifold = name of the manifold * manifold-args = parameters for the manifold * one or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *temp* or *tchain* or *every* *temp* values = Tstart Tstop Tdamp Tstart, Tstop = external temperature at start/end of run @@ -30,12 +29,12 @@ Syntax *every* value = N N = print info about iteration every N steps. N = 0 means no output - - Examples """""""" -fix 1 all nvt/manifold/rattle 1e-4 10 cylinder 3.0 temp 1.0 1.0 10.0 +.. code-block:: LAMMPS + + fix 1 all nvt/manifold/rattle 1e-4 10 cylinder 3.0 temp 1.0 1.0 10.0 Description """"""""""" @@ -48,11 +47,9 @@ canonical ensemble of particles constrained to a curved surface O(dt). For a list of currently supported manifolds and their parameters, see the :doc:`Howto manifold <Howto_manifold>` doc page. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -60,39 +57,28 @@ by this fix for access by various :doc:`output commands <Howto_output>`. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`. - ---------- - Restrictions """""""""""" - This fix is part of the USER-MANIFOLD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. - ---------- - Related commands """""""""""""""" :doc:`fix nve/manifold/rattle <fix_nvt_manifold_rattle>`, :doc:`fix manifoldforce <fix_manifoldforce>` **Default:** every = 0 - ---------- - .. _Andersen2: - - **(Andersen)** Andersen, J. Comp. Phys. 52, 24, (1983). .. _Paquay3: - - **(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 <http://arxiv.org/abs/1411.3019/>`_. diff --git a/doc/src/fix_nvt_sllod.rst b/doc/src/fix_nvt_sllod.rst index e195121c9a..829bf8c634 100644 --- a/doc/src/fix_nvt_sllod.rst +++ b/doc/src/fix_nvt_sllod.rst @@ -12,7 +12,6 @@ fix nvt/sllod/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/sllod keyword value ... @@ -24,8 +23,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/sllod temp 300.0 300.0 100.0 fix 1 all nvt/sllod temp 300.0 300.0 100.0 drag 0.2 @@ -87,8 +85,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/deform", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp/deform @@ -98,12 +95,12 @@ underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp*. +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify <compute_modify>` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -120,10 +117,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -142,7 +137,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command for info on how to re-specify a fix in an input script that @@ -170,7 +165,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix works best without Nose-Hoover chain thermostats, i.e. using tchain = 1. Setting tchain to larger values can result in poor equilibration. @@ -186,25 +180,17 @@ Default Same as :doc:`fix nvt <fix_nh>`, except tchain = 1. - ---------- - .. _Evans3: - - **(Evans and Morriss)** Evans and Morriss, Phys Rev A, 30, 1528 (1984). .. _Daivis: - - **(Daivis and Todd)** Daivis and Todd, J Chem Phys, 124, 194103 (2006). .. _Daivis-sllod: - - **(Daivis and Todd)** Daivis and Todd, Nonequilibrium Molecular Dynamics (book), Cambridge University Press, https://doi.org/10.1017/9781139017848, (2017). diff --git a/doc/src/fix_nvt_sllod_eff.rst b/doc/src/fix_nvt_sllod_eff.rst index 58836f17d6..49ad9f608c 100644 --- a/doc/src/fix_nvt_sllod_eff.rst +++ b/doc/src/fix_nvt_sllod_eff.rst @@ -6,7 +6,6 @@ fix nvt/sllod/eff command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/sllod/eff keyword value ... @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1 fix 1 all nvt/sllod/eff temp 300.0 300.0 0.1 drag 0.2 @@ -40,7 +38,7 @@ page), is performed with a :doc:`compute temp/deform/eff <compute_temp_deform_ef the eFF contribution to the temperature from the electron radial velocity. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command for info on how to re-specify a fix in an input script that @@ -68,7 +66,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -86,13 +83,9 @@ Default Same as :doc:`fix nvt/eff <fix_nh_eff>`, except tchain = 1. - ---------- - .. _Tuckerman2: - - **(Tuckerman)** Tuckerman, Mundy, Balasubramanian, Klein, J Chem Phys, 106, 5615 (1997). diff --git a/doc/src/fix_nvt_sphere.rst b/doc/src/fix_nvt_sphere.rst index 7bf80307ae..95bb0a20c4 100644 --- a/doc/src/fix_nvt_sphere.rst +++ b/doc/src/fix_nvt_sphere.rst @@ -9,7 +9,6 @@ fix nvt/sphere/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID nvt/sphere keyword value ... @@ -18,9 +17,9 @@ Syntax * nvt/sphere = style name of this fix command * zero or more keyword/value pairs may be appended * keyword = *disc* - + .. parsed-literal:: - + *disc* value = none = treat particles as 2d discs, not spheres * additional thermostat related keyword/value pairs from the :doc:`fix nvt <fix_nh>` command can be appended @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt/sphere temp 300.0 300.0 100.0 fix 1 all nvt/sphere temp 300.0 300.0 100.0 disc @@ -69,8 +67,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp/sphere", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp/sphere @@ -80,12 +77,12 @@ underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp*. +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify <compute_modify>` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -102,10 +99,8 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -124,7 +119,7 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command for info on how to re-specify a fix in an input script that @@ -152,7 +147,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the :doc:`atom_style sphere <atom_style>` command. @@ -166,6 +160,6 @@ defined by the :doc:`dimension <dimension>` keyword. Related commands """""""""""""""" -:doc:`fix nvt <fix_nh>`, :doc:`fix nve\_sphere <fix_nve_sphere>`, :doc:`fix nvt\_asphere <fix_nvt_asphere>`, :doc:`fix npt\_sphere <fix_npt_sphere>`, :doc:`fix_modify <fix_modify>` +:doc:`fix nvt <fix_nh>`, :doc:`fix nve_sphere <fix_nve_sphere>`, :doc:`fix nvt_asphere <fix_nvt_asphere>`, :doc:`fix npt_sphere <fix_npt_sphere>`, :doc:`fix_modify <fix_modify>` **Default:** none diff --git a/doc/src/fix_oneway.rst b/doc/src/fix_oneway.rst index d72d750c1b..04186404e6 100644 --- a/doc/src/fix_oneway.rst +++ b/doc/src/fix_oneway.rst @@ -6,7 +6,6 @@ fix oneway command Syntax """""" - .. parsed-literal:: fix ID group-ID oneway N region-ID direction @@ -17,12 +16,10 @@ Syntax * region-ID = ID of region where fix is active * direction = *x* or *-x* or *y* or *-y* or *z* or *-z* = coordinate and direction of the oneway constraint - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix ions oneway 10 semi -x fix all oneway 1 left -z @@ -40,11 +37,9 @@ only. This can be used, for example, as a simple model of a semi-permeable membrane, or as an implementation of Maxwell's demon. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_orient.rst b/doc/src/fix_orient.rst index a23b98fbae..8fdcc79ace 100644 --- a/doc/src/fix_orient.rst +++ b/doc/src/fix_orient.rst @@ -6,7 +6,6 @@ fix orient/fcc command fix orient/bcc command ====================== - .. parsed-literal:: fix ID group-ID orient/fcc nstats dir alat dE cutlo cuthi file0 file1 @@ -23,8 +22,7 @@ fix orient/bcc command Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix gb all orient/fcc 0 1 4.032008 0.001 0.25 0.75 xi.vec chi.vec fix gb all orient/bcc 0 1 2.882 0.001 0.25 0.75 ngb.left ngb.right @@ -74,7 +72,6 @@ The potential energy added to atom I is given by these formulas \qquad \mathrm{ for }\qquad \xi_{\rm low} < \xi_{i} < \xi_{\rm high} \quad \left(6\right) \\ = & {\rm dE} \quad\qquad\qquad\qquad\textrm{ for } \qquad \xi_{\rm high} < \xi_{i} - which are fully explained in :ref:`(Janssens) <Janssens>`. For fcc crystals this order parameter Xi for atom I in equation (1) is a sum over the 12 nearest neighbors of atom I. For bcc crystals it is the @@ -140,7 +137,7 @@ equal-and-opposite neighbors. A pair of orientation files for a Sigma=5 tilt boundary are shown below. A tutorial that can help for writing the orientation files is given in :ref:`(Wicaksono2) <Wicaksono2>` -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -169,7 +166,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -182,42 +178,31 @@ Related commands **Default:** none - ---------- - .. _Janssens: - - **(Janssens)** Janssens, Olmsted, Holm, Foiles, Plimpton, Derlet, Nature Materials, 5, 124-127 (2006). .. _Wicaksono1: - - **(Wicaksono1)** Wicaksono, Sinclair, Militzer, Computational Materials Science, 117, 397-405 (2016). .. _Wicaksono2: - - **(Wicaksono2)** Wicaksono, figshare, -https://dx.doi.org/10.6084/m9.figshare.1488628.v1 (2015). - +https://doi.org/10.6084/m9.figshare.1488628.v1 (2015). ---------- - For illustration purposes, here are example files that specify a Sigma=5 <100> tilt boundary. This is for a lattice constant of 3.5706 Angs. file0: - .. parsed-literal:: 0.798410432046075 1.785300000000000 1.596820864092150 @@ -229,7 +214,6 @@ file0: file1: - .. parsed-literal:: -0.798410432046075 1.785300000000000 1.596820864092150 diff --git a/doc/src/fix_phonon.rst b/doc/src/fix_phonon.rst index 57579b0fce..4eed4efc5b 100644 --- a/doc/src/fix_phonon.rst +++ b/doc/src/fix_phonon.rst @@ -6,7 +6,6 @@ fix phonon command Syntax """""" - .. parsed-literal:: fix ID group-ID phonon N Noutput Nwait map_file prefix keyword values ... @@ -16,15 +15,14 @@ Syntax * N = measure the Green's function every this many timesteps * Noutput = output the dynamical matrix every this many measurements * Nwait = wait this many timesteps before measuring -* map\_file = *file* or *GAMMA* - +* map_file = *file* or *GAMMA* + .. parsed-literal:: - + *file* is the file that contains the mapping info between atom ID and the lattice indices. - .. parsed-literal:: - + *GAMMA* flags to treate the whole simulation box as a unit cell, so that the mapping info can be generated internally. In this case, dynamical matrix at only the gamma-point will/can be evaluated. @@ -32,21 +30,18 @@ Syntax * prefix = prefix for output files * one or none keyword/value pairs may be appended * keyword = *sysdim* or *nasr* - + .. parsed-literal:: - + *sysdim* value = d d = dimension of the system, usually the same as the MD model dimension *nasr* value = n n = number of iterations to enforce the acoustic sum rule - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all phonon 20 5000 200000 map.in LJ1D sysdim 1 fix 1 all phonon 20 5000 200000 map.in EAM3D @@ -68,21 +63,18 @@ Based on fluctuation-dissipation theory, the force constant coefficients of the system in reciprocal space are given by (:ref:`Campana <Campana>` , :ref:`Kong <Kong>`) - .. math:: \mathbf{\Phi}_{k\alpha,k^\prime \beta}(\mathbf{q}) = k_B T \mathbf{G}^{-1}_{k\alpha,k^\prime \beta}(\mathbf{q}) where :math:`\mathbf{G}` is the Green's functions coefficients given by - .. math:: \mathbf{G}_{k\alpha,k^\prime \beta}(\mathbf{q}) = \left< \mathbf{u}_{k\alpha}(\mathbf{q}) \bullet \mathbf{u}_{k^\prime \beta}^*(\mathbf{q}) \right> where :math:`\left< \ldots \right>` denotes the ensemble average, and - .. math:: \mathbf{u}_{k\alpha}(\mathbf{q}) = \sum_l \mathbf{u}_{l k \alpha} \exp{(i\mathbf{qr}_l)} @@ -92,7 +84,6 @@ th atom in the unit cell in reciprocal space at :math:`\mathbf{q}`. In practice, the Green's functions coefficients can also be measured according to the following formula, - .. math:: \mathbf{G}_{k\alpha,k^\prime \beta}(\mathbf{q}) = @@ -107,7 +98,6 @@ easier to implement in an MD code. Once the force constant matrix is known, the dynamical matrix :math:`\mathbf{D}` can then be obtained by - .. math:: \mathbf{D}_{k\alpha, k^\prime\beta}(\mathbf{q}) = @@ -141,14 +131,14 @@ provided by keyword *nasr* gives the total number of iterations. For a system whose unit cell has only one atom, *nasr* = 1 is sufficient; for other systems, *nasr* = 10 is typically sufficient. -The *map\_file* contains the mapping information between the lattice +The *map_file* contains the mapping information between the lattice indices and the atom IDs, which tells the code which atom sits at which lattice point; the lattice indices start from 0. An auxiliary code, `latgen <http://code.google.com/p/latgen>`_, can be employed to generate the compatible map file for various crystals. In case one simulates a non-periodic system, where the whole simulation -box is treated as a unit cell, one can set *map\_file* as *GAMMA*\ , so +box is treated as a unit cell, one can set *map_file* as *GAMMA*\ , so that the mapping info will be generated internally and a file is not needed. In this case, the dynamical matrix at only the gamma-point will/can be evaluated. Please keep in mind that fix-phonon is designed @@ -160,12 +150,12 @@ The calculated dynamical matrix elements are written out in points in the log file is in the units of the basis vectors of the corresponding reciprocal lattice. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. The :doc:`fix_modify <fix_modify>` *temp* option is supported by this -fix. You can use it to change the temperature compute from thermo\_temp +fix. You can use it to change the temperature compute from thermo_temp to the one that reflects the true temperature of atoms in the group. No global scalar or vector or per-atom quantities are stored by this @@ -186,7 +176,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix assumes a crystalline system with periodical lattice. The temperature of the system should not exceed the melting temperature to keep the system in its solid state. @@ -208,33 +197,25 @@ Default The option defaults are sysdim = the same dimension as specified by the :doc:`dimension <dimension>` command, and nasr = 20. - ---------- - .. _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) <http://dx.doi.org/10.1103/PhysRevB.74.075420>`_ +simulation of elastic semi-infinite solids*\ , `Phys. Rev. B [74], 075420 (2006) <https://doi.org/10.1103/PhysRevB.74.075420>`_ .. _Kong: - - **(Kong)** L.T. Kong, G. Bartels, C. Campana, C. Denniston, and Martin H. Muser, *Implementation of Green's -function molecular dynamics: An extension to LAMMPS*\ , `Computer Physics Communications [180](6):1004-1010 (2009). <http://dx.doi.org/10.1016/j.cpc.2008.12.035>`_ +function molecular dynamics: An extension to LAMMPS*\ , `Computer Physics Communications [180](6):1004-1010 (2009). <https://doi.org/10.1016/j.cpc.2008.12.035>`_ L.T. Kong, C. Denniston, and Martin H. Muser, *An improved version of the Green's function molecular dynamics -method*\ , `Computer Physics Communications [182](2):540-541 (2011). <http://dx.doi.org/10.1016/j.cpc.2010.10.006>`_ +method*\ , `Computer Physics Communications [182](2):540-541 (2011). <https://doi.org/10.1016/j.cpc.2010.10.006>`_ .. _Kong2011: - - **(Kong2011)** L.T. Kong, *Phonon dispersion measured directly from -molecular dynamics simulations*\ , `Computer Physics Communications [182](10):2201-2207, (2011). <http://dx.doi.org/10.1016/j.cpc.2011.04.019>`_ +molecular dynamics simulations*\ , `Computer Physics Communications [182](10):2201-2207, (2011). <https://doi.org/10.1016/j.cpc.2011.04.019>`_ diff --git a/doc/src/fix_pimd.rst b/doc/src/fix_pimd.rst index d71c969acf..5bc7b75c90 100644 --- a/doc/src/fix_pimd.rst +++ b/doc/src/fix_pimd.rst @@ -6,7 +6,6 @@ fix pimd command Syntax """""" - .. parsed-literal:: fix ID group-ID pimd keyword value ... @@ -15,22 +14,19 @@ Syntax * pimd = style name of this fix command * zero or more keyword/value pairs may be appended * keyword = *method* or *fmass* or *sp* or *temp* or *nhc* - + .. parsed-literal:: - + *method* value = *pimd* or *nmpimd* or *cmd* *fmass* value = scaling factor on mass *sp* value = scaling factor on Planck constant *temp* value = temperature (temperarate units) *nhc* value = Nc = number of chains in Nose-Hoover thermostat - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all pimd method nmpimd fmass 1.0 sp 2.0 temp 300.0 nhc 4 @@ -132,16 +128,14 @@ To run a PIMD simulation with M quasi-beads in each ring polymer using N MPI tasks for each partition's domain-decomposition, you would use P = MxN processors (cores) and run the simulation as follows: - -.. parsed-literal:: +.. code-block:: bash mpirun -np P lmp_mpi -partition MxN -in script Note that in the LAMMPS input script for a multi-partition simulation, it is often very useful to define a :doc:`uloop-style variable <variable>` such as - -.. parsed-literal:: +.. code-block:: LAMMPS variable ibead uloop M pad @@ -149,8 +143,7 @@ where M is the number of quasi-beads (partitions) used in the calculation. The uloop variable can then be used to manage I/O related tasks for each of the partitions, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS dump dcd all dcd 10 system_${ibead}.dcd restart 1000 system_${ibead}.restart1 system_${ibead}.restart2 @@ -159,7 +152,6 @@ related tasks for each of the partitions, e.g. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -171,8 +163,7 @@ To avoid this, users can simply initialize velocities with different random number seeds assigned to each partition, as defined by the uloop variable, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS velocity all create 300.0 1234${ibead} rot yes dist gaussian @@ -182,45 +173,31 @@ Default The keyword defaults are method = pimd, fmass = 1.0, sp = 1.0, temp = 300.0, and nhc = 2. - ---------- - .. _Feynman: - - **(Feynman)** R. Feynman and A. Hibbs, Chapter 7, Quantum Mechanics and Path Integrals, McGraw-Hill, New York (1965). .. _pimd-Tuckerman: - - **(Tuckerman)** M. Tuckerman and B. Berne, J Chem Phys, 99, 2796 (1993). .. _Cao1: - - **(Cao1)** J. Cao and B. Berne, J Chem Phys, 99, 2902 (1993). .. _Cao2: - - **(Cao2)** J. Cao and G. Voth, J Chem Phys, 100, 5093 (1994). .. _Hone: - - **(Hone)** T. Hone, P. Rossky, G. Voth, J Chem Phys, 124, 154103 (2006). .. _Calhoun: - - **(Calhoun)** A. Calhoun, M. Pavese, G. Voth, Chem Phys Letters, 262, 415 (1996). diff --git a/doc/src/fix_planeforce.rst b/doc/src/fix_planeforce.rst index ed830e7135..c90a3b6bbe 100644 --- a/doc/src/fix_planeforce.rst +++ b/doc/src/fix_planeforce.rst @@ -6,7 +6,6 @@ fix planeforce command Syntax """""" - .. parsed-literal:: fix ID group-ID planeforce x y z @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix hold boundary planeforce 1.0 0.0 0.0 @@ -34,7 +32,7 @@ force perpendicular to the plane. If the initial velocity of the atom is 0.0 (or in the plane), then it should continue to move in the plane thereafter. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_plumed.rst b/doc/src/fix_plumed.rst index 0f6ccf4d31..aeef6cff50 100644 --- a/doc/src/fix_plumed.rst +++ b/doc/src/fix_plumed.rst @@ -6,7 +6,6 @@ fix plumed command Syntax """""" - .. parsed-literal:: fix ID group-ID plumed keyword value ... @@ -14,18 +13,18 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * plumed = style name of this fix command * keyword = *plumedfile* or *outfile* - + .. parsed-literal:: - + *plumedfile* arg = name of PLUMED input file to use (default: NULL) *outfile* arg = name of file on which to write the PLUMED log (default: NULL) - - Examples """""""" -fix pl all plumed all plumed plumedfile plumed.dat outfile p.log +.. code-block:: LAMMPS + + fix pl all plumed all plumed plumedfile plumed.dat outfile p.log Description """"""""""" @@ -47,10 +46,8 @@ A detailed discussion of the code can be found in :ref:`(PLUMED) <PLUMED>`. There is an example input for using this package with LAMMPS in the examples/USER/plumed directory. - ---------- - The command to make LAMMPS call PLUMED during a run requires two keyword value pairs pointing to the PLUMED input file and an output file for the PLUMED log. The user must specify these arguments every time PLUMED is @@ -78,7 +75,7 @@ correctly read and parsed. The names of the files in which the results are stored from the various analysis options performed by PLUMED will be specified by the user in the PLUMED input file. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** When performing a restart of a calculation that involves PLUMED you must include a RESTART command in the PLUMED input file as detailed in the @@ -101,7 +98,6 @@ however. Restrictions """""""""""" - This fix is part of the USER-PLUMED package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -118,18 +114,12 @@ Default The default options are plumedfile = NULL and outfile = NULL - ---------- - .. _PLUMED: - - **(PLUMED)** G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014) -.. _plumeddocs: http://www.plumed.org/doc.html +.. _plumeddocs: https://www.plumed.org/doc.html - - -.. _plumedhome: http://www.plumed.org/ +.. _plumedhome: https://www.plumed.org/ diff --git a/doc/src/fix_poems.rst b/doc/src/fix_poems.rst index 38b4794237..1be7a90419 100644 --- a/doc/src/fix_poems.rst +++ b/doc/src/fix_poems.rst @@ -5,7 +5,6 @@ fix poems command Syntax: - .. parsed-literal:: fix ID group-ID poems keyword values @@ -13,20 +12,17 @@ Syntax: * ID, group-ID are documented in :doc:`fix <fix>` command * poems = style name of this fix command * keyword = *group* or *file* or *molecule* - + .. parsed-literal:: - + *group* values = list of group IDs *molecule* values = none *file* values = filename - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 fluid poems group clump1 clump2 clump3 fix 3 fluid poems file cluster.list @@ -53,8 +49,6 @@ documents in the poems directory distributed with LAMMPS. .. _poems: http://www.rpi.edu/~anderk5/lab - - This fix updates the positions and velocities of the rigid atoms with a constant-energy time integration, so you should not update the same atoms via other fixes (e.g. nve, nvt, npt, temp/rescale, langevin). @@ -98,7 +92,7 @@ this context means a set of rigid bodies connected by joints. For computational efficiency, you should turn off pairwise and bond interactions within each rigid body, as they no longer contribute to -the motion. The "neigh\_modify exclude" and "delete\_bonds" commands +the motion. The "neigh_modify exclude" and "delete_bonds" commands can be used to do this if each rigid body is a group. For computational efficiency, you should only define one fix poems @@ -111,7 +105,7 @@ body contribution to the pressure virial is also accounted for. The latter is only correct if forces within the bodies have been turned off, and there is only a single fix poems defined. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -128,7 +122,6 @@ command. This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the POEMS package. It is only enabled if LAMMPS was built with that package, which also requires the POEMS library be built and linked with LAMMPS. See the :doc:`Build package <Build_package>` doc page for more info. @@ -141,14 +134,10 @@ Related commands **Default:** none - ---------- - .. _Anderson: - - **(Anderson)** Anderson, Mukherjee, Critchley, Ziegler, and Lipton "POEMS: Parallelizable Open-source Efficient Multibody Software ", -Engineering With Computers (2006). (`link to paper <http://dx.doi.org/10.1007/s00366-006-0026-x>`_) +Engineering With Computers (2006). (`link to paper <https://doi.org/10.1007/s00366-006-0026-x>`_) diff --git a/doc/src/fix_pour.rst b/doc/src/fix_pour.rst index d5933ba296..26f1cd0eae 100644 --- a/doc/src/fix_pour.rst +++ b/doc/src/fix_pour.rst @@ -6,7 +6,6 @@ fix pour command Syntax """""" - .. parsed-literal:: fix ID group-ID pour N type seed keyword values ... @@ -18,9 +17,9 @@ Syntax * seed = random # seed (positive integer) * one or more keyword/value pairs may be appended to args * keyword = *region* or *diam* or *vol* or *rate* or *dens* or *vel* or *mol* or *rigid* or *shake* or *ignore* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region to use as insertion volume *diam* values = dstyle args @@ -61,13 +60,10 @@ Syntax skip any line or triangle particles when detecting possible overlaps with inserted particles - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 all pour 1000 2 29494 region myblock fix 2 all pour 10000 1 19985583 region disk vol 0.33 100 rate 1.0 diam range 0.9 1.1 @@ -130,7 +126,7 @@ command which also appears in your input script. If you wish the new rigid molecules (and other rigid molecules) to be thermostatted correctly via :doc:`fix rigid/small/nvt <fix_rigid>` or :doc:`fix rigid/small/npt <fix_rigid>`, then you need to use the - "fix\_modify dynamic/dof yes" command for the rigid fix. This is to + "fix_modify dynamic/dof yes" command for the rigid fix. This is to inform that fix that the molecule count will vary dynamically. If you wish to insert molecules via the *mol* keyword, that will have @@ -157,10 +153,8 @@ many timesteps until the desired # of particles has been inserted. should use the :doc:`compute_modify dynamic yes <compute_modify>` command for the temperature compute you are using. - ---------- - All other keywords are optional with defaults as shown below. The *diam* option is only used when inserting atoms and specifies the @@ -229,11 +223,9 @@ causes the overlap check to skip any line or triangle particles. Obviously you should only use it if there is in fact no overlap of the line or triangle particles with the insertion region. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. This means you must be careful when restarting a pouring simulation, when the restart file was written in the middle of @@ -258,7 +250,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_precession_spin.rst b/doc/src/fix_precession_spin.rst index 9cd15119bd..065f894926 100644 --- a/doc/src/fix_precession_spin.rst +++ b/doc/src/fix_precession_spin.rst @@ -6,7 +6,6 @@ fix precession/spin command Syntax """""" - .. code-block:: LAMMPS fix ID group precession/spin style args @@ -14,9 +13,9 @@ Syntax * ID, group are documented in :doc:`fix <fix>` command * precession/spin = style name of this fix command * style = *zeeman* or *anisotropy* or *cubic* - + .. parsed-literal:: - + *zeeman* args = H x y z H = intensity of the magnetic field (in Tesla) x y z = vector direction of the field @@ -24,19 +23,15 @@ Syntax K = intensity of the magnetic anisotropy (in eV) x y z = vector direction of the anisotropy - .. parsed-literal:: - + *cubic* args = K1 K2c n1x n1y n1x n2x n2y n2z n3x n3y n3z K1 and K2c = intensity of the magnetic anisotropy (in eV) n1x to n3z = three direction vectors of the cubic anisotropy - - Examples """""""" - .. code-block:: LAMMPS fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 @@ -65,7 +60,6 @@ with: * :math:`\mu_i` the atomic moment of spin :math:`i` given as a multiple of the Bohr magneton :math:`\mu_B` (for example, :math:`\mu_i \approx 2.2` in bulk iron). - The field value in Tesla is multiplied by the gyromagnetic ratio, :math:`g \cdot \mu_B/\hbar`, converting it into a precession frequency in rad.THz (in metal units and with :math:`\mu_B = 5.788 eV/T`). @@ -73,11 +67,11 @@ rad.THz (in metal units and with :math:`\mu_B = 5.788 eV/T`). As a comparison, the figure below displays the simulation of a single spin (of norm :math:`\mu_i = 1.0`) submitted to an external magnetic field of :math:`\vert B_{ext}\vert = 10.0\; \mathrm{Tesla}` (and oriented along the z -axis). +axis). The upper plot shows the average magnetization along the external magnetic field axis and the lower plot the Zeeman energy, both as a function of temperature. -The reference result is provided by the plot of the Langevin +The reference result is provided by the plot of the Langevin function for the same parameters. .. image:: JPG/zeeman_langevin.jpg @@ -85,7 +79,7 @@ function for the same parameters. The temperature effects are accounted for by connecting the spin :math:`i` to a thermal bath using a Langevin thermostat (see -:doc:`fix langevin/spin <fix_langevin_spin>` for the definition of +:doc:`fix langevin/spin <fix_langevin_spin>` for the definition of this thermostat). Style *anisotropy* is used to simulate an easy axis or an easy plane @@ -134,18 +128,15 @@ normalized). Those styles can be combined within one single command line. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** By default, the energy associated to this fix is not added to the potential energy of the system. The :doc:`fix_modify <fix_modify>` *energy* option is supported by this fix to add this magnetic potential energy to the potential energy of the system, - .. code-block:: LAMMPS fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0 @@ -159,10 +150,9 @@ No information about this fix is written to :doc:`binary restart files <restart> Restrictions """""""""""" - The *precession/spin* style is part of the SPIN package. This style is only enabled if LAMMPS was built with this package, and if the -atom\_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" @@ -173,13 +163,9 @@ Related commands none - ---------- - .. _Skomski1: - - **(Skomski)** Skomski, R. (2008). Simple models of magnetism. Oxford University Press. diff --git a/doc/src/fix_press_berendsen.rst b/doc/src/fix_press_berendsen.rst index fd45553713..215ef81b02 100644 --- a/doc/src/fix_press_berendsen.rst +++ b/doc/src/fix_press_berendsen.rst @@ -6,16 +6,15 @@ fix press/berendsen command Syntax """""" - .. parsed-literal:: fix ID group-ID press/berendsen keyword value ... * ID, group-ID are documented in :doc:`fix <fix>` command * press/berendsen = style name of this fix command - + .. parsed-literal:: - + one or more keyword value pairs may be appended keyword = *iso* or *aniso* or *x* or *y* or *z* or *couple* or *dilate* or *modulus* *iso* or *aniso* values = Pstart Pstop Pdamp @@ -28,13 +27,10 @@ Syntax *modulus* value = bulk modulus of system (pressure units) *dilate* value = *all* or *partial* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all press/berendsen iso 0.0 0.0 1000.0 fix 2 all press/berendsen aniso 0.0 0.0 1000.0 dilate partial @@ -68,10 +64,8 @@ unchanged and controlling the pressure of a surrounding fluid. See the :doc:`Howto baroostat <Howto_barostat>` doc page for a discussion of different ways to perform barostatting. - ---------- - The barostat is specified using one or more of the *iso*\ , *aniso*\ , *x*\ , *y*\ , *z*\ , and *couple* keywords. These keywords give you the ability to specify the 3 diagonal components of an external stress @@ -126,10 +120,8 @@ means to relax the pressure in a timespan of (roughly) 10 time units too small for solids. Thus you should experiment to find appropriate values of *Pdamp* and/or the *modulus* when using this fix. - ---------- - The *couple* keyword allows two or three of the diagonal components of the pressure tensor to be "coupled" together. The value specified with the keyword determines which are coupled. For example, *xz* @@ -143,10 +135,8 @@ dilated or contracted by the same percentage every timestep. The be identical. *Couple xyz* can be used for a 2d simulation; the *z* dimension is simply ignored. - ---------- - The *iso* and *aniso* keywords are simply shortcuts that are equivalent to specifying several other keywords together. @@ -155,7 +145,6 @@ pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using "iso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -169,7 +158,6 @@ stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -177,35 +165,32 @@ these 4 keywords: z Pstart Pstop Pdamp couple none - ---------- - This fix computes a temperature and pressure each timestep. To do this, the fix creates its own computes of style "temp" and "pressure", as if these commands had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp See the :doc:`compute temp <compute_temp>` and :doc:`compute pressure <compute_pressure>` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix\_ID +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is the same as the fix group. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this fix's temperature or pressure via the :doc:`compute_modify <compute_modify>` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* or -*thermo\_press* will have no effect on this fix. +It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -230,7 +215,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - Any dimension being adjusted by this fix must be periodic. Related commands @@ -245,13 +229,9 @@ Default The keyword defaults are dilate = all, modulus = 10.0 in units of pressure for whatever :doc:`units <units>` are defined. - ---------- - .. _Berendsen1: - - **(Berendsen)** Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem Phys, 81, 3684 (1984). diff --git a/doc/src/fix_print.rst b/doc/src/fix_print.rst index 1b97a3f879..82b26d4ef3 100644 --- a/doc/src/fix_print.rst +++ b/doc/src/fix_print.rst @@ -6,7 +6,6 @@ fix print command Syntax """""" - .. parsed-literal:: fix ID group-ID print N string keyword value ... @@ -17,22 +16,19 @@ Syntax * string = text string to print with optional variable names * zero or more keyword/value pairs may be appended * keyword = *file* or *append* or *screen* or *title* - + .. parsed-literal:: - + *file* value = filename *append* value = filename *screen* value = *yes* or *no* *title* value = string string = text to print as 1st line of output file - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix extra all print 100 "Coords of marker atom = $x $y $z" fix extra all print 100 "Coords of marker atom = $x $y $z" file coord.txt @@ -48,7 +44,7 @@ If it contains variables it must be enclosed in double quotes to insure they are not evaluated when the input script line is read, but will instead be evaluated each time the string is printed. -Instead of a numeric value, N can be specified as an :doc:`equal-style variable <variable>`, which should be specified as v\_name, where +Instead of a numeric value, N can be specified as an :doc:`equal-style variable <variable>`, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the **next** timestep at which the string will be written out. On that timestep, the variable will be @@ -58,8 +54,7 @@ and logfreq() and stride() math functions for :doc:`equal-style variables <varia this context. For example, the following commands will print output at timesteps 10,20,30,100,200,300,1000,2000,etc: - -.. parsed-literal:: +.. code-block:: LAMMPS variable s equal logfreq(10,3,10) fix extra all print v_s "Coords of marker atom = $x $y $z" @@ -88,14 +83,13 @@ The *title* keyword allow specification of the string that will be printed as the first line of the output file, assuming the *file* keyword was used. By default, the title line is as follows: - .. parsed-literal:: # Fix print output for fix ID where ID is replaced with the fix-ID. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_propel_self.rst b/doc/src/fix_propel_self.rst index d225acc0e5..b6b5a6051f 100644 --- a/doc/src/fix_propel_self.rst +++ b/doc/src/fix_propel_self.rst @@ -6,7 +6,9 @@ fix propel/self command Syntax """""" -fix ID group-ID propel/self mode magnitude keyword values ... +.. parsed-literal:: + + fix ID group-ID propel/self mode magnitude keyword values ... * ID, group-ID are documented in :doc:`fix <fix>` command * propel/self = style name of this fix command @@ -17,13 +19,10 @@ fix ID group-ID propel/self mode magnitude keyword values ... *types* values = one or more atom types - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix active_group all propel/self velocity 1.0 fix constant_velocity all viscous 1.0 @@ -45,7 +44,7 @@ such as proposed by :ref:`(Erdmann) <Erdmann>`. For *mode* = *quat* the force is applied along the axis obtained by rotating the x-axis along the atom's quaternion. In other words, the force is along the x-axis in the atom's body frame. This mode requires -all atoms in the group to have a quaternion, so atom\_style should +all atoms in the group to have a quaternion, so atom_style should either be ellipsoid or body. In combination with Langevin thermostat for translation and rotation in the overdamped regime, the quaternion mode corresponds to the active Brownian particle model introduced by @@ -56,11 +55,9 @@ By default, this fix is applied to all atoms in the group. You can override this behavior by specifying the atom types the fix should work on through the *types* keyword. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -69,11 +66,10 @@ This fix is not imposed during minimization. Restrictions """""""""""" - In quat mode, this fix makes use of per-atom quaternions to take into account the fact that the orientation can rotate and hence the direction of the active force can change. The quat mode -of this fix only works with atom\_style ellipsoid. +of this fix only works with atom_style ellipsoid. Related commands """""""""""""""" @@ -82,27 +78,19 @@ Related commands .. _Erdmann: - - **(Erdmann)** U. Erdmann , W. Ebeling, L. Schimansky-Geier, and F. Schweitzer, Eur. Phys. J. B 15, 105-113, 2000. .. _Henkes: - - **(Henkes)** Henkes, S, Fily, Y., and Marchetti, M. C. Phys. Rev. E, 84, 040301(R), 2011. .. _Bialke: - - **(Bialke)** J. Bialke, T. Speck, and H Loewen, Phys. Rev. Lett. 108, 168301, 2012. .. _Fily: - - **(Fily)** Y. Fily and M.C. Marchetti, Phys. Rev. Lett. 108, 235702, 2012. **Default:** types diff --git a/doc/src/fix_property_atom.rst b/doc/src/fix_property_atom.rst index 799d62a0aa..f866ddf7a2 100644 --- a/doc/src/fix_property_atom.rst +++ b/doc/src/fix_property_atom.rst @@ -9,17 +9,16 @@ fix property/atom/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID property/atom vec1 vec2 ... keyword value ... * ID, group-ID are documented in :doc:`fix <fix>` command * property/atom = style name of this fix command -* vec1,vec2,... = *mol* or *q* or *rmass* or *i\_name* or *d\_name* - +* vec1,vec2,... = *mol* or *q* or *rmass* or *i_name* or *d_name* + .. parsed-literal:: - + *mol* = molecule IDs *q* = charge *rmass* = per-atom mass @@ -28,18 +27,15 @@ Syntax * zero of more keyword/value pairs may be appended * keyword = *ghost* - + .. parsed-literal:: - + *ghost* value = *no* or *yes* for whether ghost atom info in communicated - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all property/atom mol fix 1 all property/atom i_myflag1 i_myflag2 @@ -88,7 +84,7 @@ In the future, we may add additional per-atom properties similar to by some atom styles, so they can be used by atom styles that do not define them. -More generally, the *i\_name* and *d\_name* vectors allow one or more +More generally, the *i_name* and *d_name* vectors allow one or more new custom per-atom properties to be defined. Each name must be unique and can use alphanumeric or underscore characters. These vectors can store whatever values you decide are useful in your @@ -136,10 +132,8 @@ new properties are also defined for the ghost atoms. a 'run 0' command should be issued to properly initialize the storage created by this fix. - ---------- - This fix is one of a small number that can be defined in an input script before the simulation box is created or atoms are defined. This is so it can be used with the :doc:`read_data <read_data>` command @@ -154,15 +148,13 @@ passing it the fix-ID of this fix. Thus these commands: - -.. parsed-literal:: +.. code-block:: LAMMPS fix prop all property/atom mol d_flag read_data data.txt fix prop NULL Molecules would allow a data file to have a section like this: - .. parsed-literal:: Molecules @@ -185,12 +177,11 @@ Another way of initializing the new properties is via the defined for every set of 10 atoms, based on their atom-IDs, these commands could be used: - -.. parsed-literal:: +.. code-block:: LAMMPS fix prop all property/atom mol variable cluster atom ((id-1)/10)+1 - set atom \* mol v_cluster + set atom * mol v_cluster The :doc:`atom-style variable <variable>` will create values for atoms with IDs 31,32,33,...40 that are 4.0,4.1,4.2,...,4.9. When the @@ -204,42 +195,33 @@ molecule IDs could be read-in from a separate file and assigned by the :doc:`set <set>` command. This allows you to initialize new per-atom properties in a completely general fashion. - ---------- - -For new atom properties specified as *i\_name* or *d\_name*, the +For new atom properties specified as *i_name* or *d_name*, the :doc:`compute property/atom <compute_property_atom>` command can access their values. This means that the values can be output via the :doc:`dump custom <dump>` command, accessed by fixes like :doc:`fix ave/atom <fix_ave_atom>`, accessed by other computes like :doc:`compute reduce <compute_reduce>`, or used in :doc:`atom-style variables <variable>`. For example, these commands will output two new properties to a custom dump file: - -.. parsed-literal:: +.. code-block:: LAMMPS fix prop all property/atom i_flag1 d_flag2 compute 1 all property/atom i_flag1 d_flag2 dump 1 all custom 100 tmp.dump id x y z c_1[1] c_1[2] - ---------- - If you wish to add new :doc:`pair styles <pair_style>`, :doc:`fixes <fix>`, or :doc:`computes <compute>` that use the per-atom properties defined by this fix, see the :doc:`Modify atom <Modify_atom>` doc page which has details on how the properties can be accessed from added classes. - ---------- - .. _isotopes: - - Example for using per-atom masses with TIP4P water to study isotope effects. When setting up simulations with the :doc:`TIP4P pair styles <Howto_tip4p>` for water, you have to provide exactly one atom type each to identify the water oxygen and hydrogen @@ -251,8 +233,7 @@ for regular TIP4P water, where water oxygen is atom type 1 and water hydrogen is atom type 2, the following lines of input script convert this to using per-atom masses: - -.. parsed-literal:: +.. code-block:: LAMMPS fix Isotopes all property/atom rmass ghost yes set type 1 mass 15.9994 @@ -265,8 +246,7 @@ existing data file and just add this *Isotopes* section with one line per atom containing atom-ID and mass. Either way, the extended data file can be read back with: - -.. parsed-literal:: +.. code-block:: LAMMPS fix Isotopes all property/atom rmass ghost yes read_data tip4p-isotopes.data fix Isotopes NULL Isotopes @@ -276,17 +256,14 @@ and the second to the name of the section. The following input script code will now change the first 100 water molecules in this example to heavy water: - -.. parsed-literal:: +.. code-block:: LAMMPS group hwat id 2:300:3 group hwat id 3:300:3 set group hwat mass 2.0141018 - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -305,11 +282,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the per-atom values it stores to :doc:`binary restart files <restart>`, so that the values can be restored when a simulation is restarted. See the :doc:`read_restart <read_restart>` diff --git a/doc/src/fix_python_invoke.rst b/doc/src/fix_python_invoke.rst index f45f3f8f5b..94bad11f00 100644 --- a/doc/src/fix_python_invoke.rst +++ b/doc/src/fix_python_invoke.rst @@ -6,7 +6,6 @@ fix python/invoke command Syntax """""" - .. parsed-literal:: fix ID group-ID python/invoke N callback function_name @@ -14,20 +13,17 @@ Syntax * ID, group-ID are ignored by this fix * python/invoke = style name of this fix command * N = execute every N steps -* callback = *post\_force* or *end\_of\_step* - +* callback = *post_force* or *end_of_step* + .. parsed-literal:: - + *post_force* = callback after force computations on atoms every N time steps *end_of_step* = callback after every N time steps - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS python post_force_callback here """ from lammps import lammps @@ -73,7 +69,6 @@ gives access to the LAMMPS state from Python. Restrictions """""""""""" - This fix is part of the PYTHON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_python_move.rst b/doc/src/fix_python_move.rst index 44fd76040a..07f61c2b85 100644 --- a/doc/src/fix_python_move.rst +++ b/doc/src/fix_python_move.rst @@ -6,7 +6,6 @@ fix python/move command Syntax """""" - .. parsed-literal:: fix python/move pymodule.CLASS @@ -16,8 +15,7 @@ pymodule.CLASS = use class **CLASS** in module/file **pymodule** to compute how Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all python/move py_nve.NVE fix 1 all python/move py_nve.NVE_OPT @@ -37,16 +35,13 @@ however, the performance of this fix can be moderately to significantly slower than the corresponding C++ code. For specific cases, this performance penalty can be limited through effective use of NumPy. - ---------- - The python module file has to start with the following code: +.. code-block:: python -.. parsed-literal:: - - from __future_\_ import print_function + from __future__ import print_function import lammps import ctypes import traceback @@ -85,11 +80,9 @@ methods as needed. Examples for how to do this are in the *examples/python* folder. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -100,7 +93,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This pair style is part of the PYTHON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_qbmsst.rst b/doc/src/fix_qbmsst.rst index 984c0ca793..b7a4f49300 100644 --- a/doc/src/fix_qbmsst.rst +++ b/doc/src/fix_qbmsst.rst @@ -6,7 +6,6 @@ fix qbmsst command Syntax """""" - .. parsed-literal:: fix ID group-ID qbmsst dir shockvel keyword value ... @@ -16,10 +15,10 @@ Syntax * dir = *x* or *y* or *z* * shockvel = shock velocity (strictly positive, velocity units) * zero or more keyword/value pairs may be appended -* keyword = *q* or *mu* or *p0* or *v0* or *e0* or *tscale* or *damp* or *seed*\ or *f\_max* or *N\_f* or *eta* or *beta* or *T\_init* - +* keyword = *q* or *mu* or *p0* or *v0* or *e0* or *tscale* or *damp* or *seed*\ or *f_max* or *N_f* or *eta* or *beta* or *T_init* + .. parsed-literal:: - + *q* value = cell mass-like parameter (mass\^2/distance\^4 units) *mu* value = artificial viscosity (mass/distance/time units) *p0* value = initial pressure in the shock equations (pressure units) @@ -34,12 +33,9 @@ Syntax *beta* value = the quantum temperature is updated every beta time steps (positive integer) *T_init* value = quantum temperature for the initial state (temperature units) - - Examples """""""" - .. code-block:: LAMMPS # (liquid methane modeled with the REAX force field, real units) @@ -99,15 +95,15 @@ Hugoniot that is 40% lower than observed with classical molecular dynamics. It is highly recommended that the system be already in an equilibrium -state with a quantum thermal bath at temperature of *T\_init*. The fix -command :doc:`fix qtb <fix_qtb>` at constant temperature *T\_init* could +state with a quantum thermal bath at temperature of *T_init*. The fix +command :doc:`fix qtb <fix_qtb>` at constant temperature *T_init* could be used before applying this command to introduce self-consistent quantum nuclear effects into the initial state. The parameters *q*\ , *mu*\ , *e0*\ , *p0*\ , *v0* and *tscale* are described in the command :doc:`fix msst <fix_msst>`. The values of *e0*\ , *p0*\ , or *v0* will be calculated on the first step if not specified. The -parameter of *damp*\ , *f\_max*, and *N\_f* are described in the command +parameter of *damp*\ , *f_max*, and *N_f* are described in the command :doc:`fix qtb <fix_qtb>`. The *fix qbmsst* command couples the shock system to a quantum thermal @@ -139,40 +135,38 @@ of the *damp* parameter. \frac{dT^{qm}}{dt} = \gamma\eta\sum^\beta_{l=1}\frac{E^{tot}(t-l\Delta t) - E^{tot}_0}{3\beta N k_B} -The parameter *T\_init* is the initial temperature of the quantum +The parameter *T_init* is the initial temperature of the quantum thermal bath and the system before shock loading. For all pressure styles, the simulation box stays orthorhombic in shape. Parrinello-Rahman boundary conditions (tilted box) are supported by LAMMPS, but are not implemented for QBMSST. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Because the state of the random number generator is not written to :doc:`binary restart files <restart>`, this fix cannot be restarted "exactly" in an uninterrupted fashion. However, in a statistical sense, a restarted simulation should produce similar behaviors of the system as if it is not interrupted. To achieve such a restart, one -should write explicitly the same value for *q*\ , *mu*\ , *damp*\ , *f\_max*, -*N\_f*, *eta*\ , and *beta* and set *tscale* = 0 if the system is +should write explicitly the same value for *q*\ , *mu*\ , *damp*\ , *f_max*, +*N_f*, *eta*\ , and *beta* and set *tscale* = 0 if the system is compressed during the first run. The progress of the QBMSST can be monitored by printing the global scalar and global vector quantities computed by the fix. The global vector contains five values in this order: -[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian\_speed*, *lagrangian\_position*, -*quantum\_temperature*] +[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, *lagrangian_position*, +*quantum_temperature*] 1. *dhugoniot* is the departure from the Hugoniot (temperature units). 2. *drayleigh* is the departure from the Rayleigh line (pressure units). -3. *lagrangian\_speed* is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). -4. *lagrangian\_position* is the computational cell position in the reference frame moving at the shock speed. This is the distance of the computational cell behind the shock front. -5. *quantum\_temperature* is the temperature of the quantum thermal bath :math:`T^{qm}`. +3. *lagrangian_speed* is the laboratory-frame Lagrangian speed (particle velocity) of the computational cell (velocity units). +4. *lagrangian_position* is the computational cell position in the reference frame moving at the shock speed. This is the distance of the computational cell behind the shock front. +5. *quantum_temperature* is the temperature of the quantum thermal bath :math:`T^{qm}`. To print these quantities to the log file with descriptive column headers, the following LAMMPS commands are suggested. Here the @@ -180,7 +174,6 @@ headers, the following LAMMPS commands are suggested. Here the the thermo keyword *etotal* to print the quantity :math:`E^{tot}`. See also the :doc:`thermo_style <thermo_style>` command. - .. parsed-literal:: fix fix_id all msst z @@ -192,7 +185,7 @@ also the :doc:`thermo_style <thermo_style>` command. variable T_qm equal f_fix_id[5] thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id -The global scalar under the entry f\_fix\_id is the quantity of thermo +The global scalar under the entry f_fix_id is the quantity of thermo energy as an extra part of :math:`E^{tot}`. This global scalar and the vector of 5 quantities can be accessed by various :doc:`output commands <Howto_output>`. It is worth noting that the temp keyword @@ -200,14 +193,11 @@ under the :doc:`thermo_style <thermo_style>` command print the instantaneous classical temperature :math:`T^{cl}` as described in the command :doc:`fix qtb <fix_qtb>`. - ---------- - Restrictions """""""""""" - This fix style is part of the USER-QTB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -215,38 +205,28 @@ All cell dimensions must be periodic. This fix can not be used with a triclinic cell. The QBMSST fix has been tested only for the group-ID all. - ---------- - Related commands """""""""""""""" :doc:`fix qtb <fix_qtb>`, :doc:`fix msst <fix_msst>` - ---------- - Default """"""" The keyword defaults are q = 10, mu = 0, tscale = 0.01, damp = 1, seed -= 880302, f\_max = 200.0, N\_f = 100, eta = 1.0, beta = 100, and -T\_init=300.0. e0, p0, and v0 are calculated on the first step. - += 880302, f_max = 200.0, N_f = 100, eta = 1.0, beta = 100, and +T_init=300.0. e0, p0, and v0 are calculated on the first step. ---------- - .. _Goldman1: - - **(Goldman)** Goldman, Reed and Fried, J. Chem. Phys. 131, 204103 (2009) .. _Qi: - - **(Qi)** Qi and Reed, J. Phys. Chem. A 116, 10451 (2012). diff --git a/doc/src/fix_qeq.rst b/doc/src/fix_qeq.rst index 6ac647dad9..ea53fc2b2e 100644 --- a/doc/src/fix_qeq.rst +++ b/doc/src/fix_qeq.rst @@ -18,7 +18,6 @@ fix qeq/fire command Syntax """""" - .. parsed-literal:: fix ID group-ID style Nevery cutoff tolerance maxiter qfile keyword ... @@ -32,20 +31,17 @@ Syntax * qfile = a filename with QEq parameters or *coul/streitz* or *reax/c* * zero or more keyword/value pairs may be appended * keyword = *alpha* or *qdamp* or *qstep* - + .. parsed-literal:: - + *alpha* value = Slater type orbital exponent (qeq/slater only) *qdamp* value = damping factor for damped dynamics charge solver (qeq/dynamic and qeq/fire only) *qstep* value = time step size for damped dynamics charge solver (qeq/dynamic and qeq/fire only) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all qeq/point 1 10 1.0e-6 200 param.qeq1 fix 1 qeq qeq/shielded 1 8 1.0e-6 100 param.qeq2 @@ -100,7 +96,6 @@ interactions with their neighbors within *cutoff*\ . It requires a few parameters, in *metal* units, for each atom type which provided in a file specified by *qfile*\ . The file has the following format - .. parsed-literal:: 1 chi eta gamma zeta qcore @@ -198,7 +193,7 @@ better on larger sizes, and *qeq/fire* is faster than *qeq/dynamic*\ . arbitrary choices of these parameters. We do not develop these QEq parameters. See the examples/qeq directory for some examples. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about these fixes is written to :doc:`binary restart files <restart>`. No global scalar or vector or per-atom quantities are stored by these fixes for access by various :doc:`output commands <Howto_output>`. No parameter of these fixes can be used @@ -209,7 +204,6 @@ Thexe fixes are invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - These fixes are part of the QEQ package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -220,46 +214,32 @@ Related commands **Default:** none - ---------- - .. _Rappe1: - - **(Rappe and Goddard)** A. K. Rappe and W. A. Goddard III, J Physical Chemistry, 95, 3358-3363 (1991). .. _Nakano1: - - **(Nakano)** A. Nakano, Computer Physics Communications, 104, 59-69 (1997). .. _Rick1: - - **(Rick and Stuart)** S. W. Rick, S. J. Stuart, B. J. Berne, J Chemical Physics 101, 16141 (1994). .. _Streitz1: - - **(Streitz-Mintmire)** F. H. Streitz, J. W. Mintmire, Physical Review B, 50, 16, 11996 (1994) .. _vanDuin: - - **(ReaxFF)** A. C. T. van Duin, S. Dasgupta, F. Lorant, W. A. Goddard III, J Physical Chemistry, 105, 9396-9049 (2001) .. _Shan: - - **(QEq/Fire)** T.-R. Shan, A. P. Thompson, S. J. Plimpton, in preparation diff --git a/doc/src/fix_qeq_comb.rst b/doc/src/fix_qeq_comb.rst index dcd0950bf2..c815ac7eb3 100644 --- a/doc/src/fix_qeq_comb.rst +++ b/doc/src/fix_qeq_comb.rst @@ -9,7 +9,6 @@ fix qeq/comb/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID qeq/comb Nevery precision keyword value ... @@ -20,19 +19,16 @@ Syntax * precision = convergence criterion for charge equilibration * zero or more keyword/value pairs may be appended * keyword = *file* - + .. parsed-literal:: - + *file* value = filename filename = name of file to write QEQ equilibration info to - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 surface qeq/comb 10 0.0001 @@ -41,7 +37,7 @@ Description Perform charge equilibration (QeQ) in conjunction with the COMB (Charge-Optimized Many-Body) potential as described in -:ref:`(COMB\_1) <COMB_1>` and :ref:`(COMB\_2) <COMB_2>`. It performs the charge +:ref:`(COMB_1) <COMB_1>` and :ref:`(COMB_2) <COMB_2>`. It performs the charge equilibration portion of the calculation using the so-called QEq method, whereby the charge on each atom is adjusted to minimize the energy of the system. This fix can only be used with the COMB @@ -54,8 +50,8 @@ per-atom electronegativity (effective force on the charges). An electronegativity equalization calculation (or QEq) is performed in an iterative fashion, which in parallel requires communication at each iteration for processors to exchange charge information about nearby -atoms with each other. See :ref:`Rappe\_and\_Goddard <Rappe_and_Goddard>` and -:ref:`Rick\_and\_Stuart <Rick_and_Stuart>` for details. +atoms with each other. See :ref:`Rappe_and_Goddard <Rappe_and_Goddard>` and +:ref:`Rick_and_Stuart <Rick_and_Stuart>` for details. During a run, charge equilibration is performed every *Nevery* time steps. Charge equilibration is also always enforced on the first step @@ -67,10 +63,8 @@ performing charge equilibration (more iterations) and accuracy. If the *file* keyword is used, then information about each equilibration calculation is written to the specified file. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -89,11 +83,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -115,7 +107,6 @@ This fix can be invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix command currently only supports :doc:`pair style *comb*\ <pair_comb>`. Related commands @@ -128,33 +119,23 @@ Default No file output is performed. - ---------- +.. _COMB_1: -.. _COMB\_1: +**(COMB_1)** J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007), +.. _COMB_2: - -**(COMB\_1)** J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007), - -.. _COMB\_2: - - - -**(COMB\_2)** T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R. +**(COMB_2)** T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 81, 125328 (2010). -.. _Rappe\_and\_Goddard: +.. _Rappe_and_Goddard: - - -**(Rappe\_and\_Goddard)** A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358 +**(Rappe_and_Goddard)** A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358 (1991). -.. _Rick\_and\_Stuart: +.. _Rick_and_Stuart: - - -**(Rick\_and\_Stuart)** S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys +**(Rick_and_Stuart)** S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 16141 (1994). diff --git a/doc/src/fix_qeq_reax.rst b/doc/src/fix_qeq_reax.rst index ab26c27bde..1c722606a7 100644 --- a/doc/src/fix_qeq_reax.rst +++ b/doc/src/fix_qeq_reax.rst @@ -12,7 +12,6 @@ fix qeq/reax/omp command Syntax """""" - .. parsed-literal:: fix ID group-ID qeq/reax Nevery cutlo cuthi tolerance params args @@ -28,8 +27,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c fix 1 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq @@ -57,7 +55,6 @@ and the file must contain one line for each atom type. The latter form must be used when performing QeQ with a non-ReaxFF potential. Each line should be formatted as follows: - .. parsed-literal:: itype chi eta gamma @@ -74,7 +71,7 @@ The optional *dual* keyword allows to perform the optimization of the S and T matrices in parallel. This is only supported for the *qeq/reax/omp* style. Otherwise they are processed separately. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. No global scalar or vector or per-atom quantities are stored by this fix for access by various :doc:`output commands <Howto_output>`. No parameter of this fix can be used @@ -82,10 +79,8 @@ with the *start/stop* keywords of the :doc:`run <run>` command. This fix is invoked during :doc:`energy minimization <minimize>`. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -104,14 +99,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -126,26 +118,18 @@ Related commands **Default:** none - ---------- - .. _Rappe2: - - **(Rappe)** Rappe and Goddard III, Journal of Physical Chemistry, 95, 3358-3363 (1991). .. _Nakano2: - - **(Nakano)** Nakano, Computer Physics Communications, 104, 59-69 (1997). .. _qeq-Aktulga: - - **(Aktulga)** Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, 245-259 (2012). diff --git a/doc/src/fix_qmmm.rst b/doc/src/fix_qmmm.rst index d3aaa4b6f3..4eb45e490f 100644 --- a/doc/src/fix_qmmm.rst +++ b/doc/src/fix_qmmm.rst @@ -6,7 +6,6 @@ fix qmmm command Syntax """""" - .. parsed-literal:: fix ID group-ID qmmm @@ -17,7 +16,9 @@ Syntax Examples """""""" -fix 1 qmol qmmm +.. code-block:: LAMMPS + + fix 1 qmol qmmm Description """"""""""" @@ -32,8 +33,6 @@ should be possible without changes to LAMMPS itself. .. _espresso: http://www.quantum-espresso.org - - The interface code for this is in the lib/qmmm directory of the LAMMPS distribution and is being made available at this early stage of development in order to encourage contributions for interfaces to @@ -43,7 +42,7 @@ to be adapted if necessary before being finalized. Details about how to use this fix are currently documented in the description of the QM/MM interface code itself in lib/qmmm/README. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global scalar or vector or per-atom @@ -54,7 +53,6 @@ fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the USER-QMMM package. It is only enabled if LAMMPS was built with that package. It also requires building a library provided with LAMMPS. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_qtb.rst b/doc/src/fix_qtb.rst index 7242d0739b..6dfabcbaa7 100644 --- a/doc/src/fix_qtb.rst +++ b/doc/src/fix_qtb.rst @@ -6,7 +6,6 @@ fix qtb command Syntax """""" - .. parsed-literal:: fix ID group-ID qtb keyword value ... @@ -14,22 +13,19 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * qtb = style name of this fix * zero or more keyword/value pairs may be appended -* keyword = *temp* or *damp* or *seed* or *f\_max* or *N\_f* - +* keyword = *temp* or *damp* or *seed* or *f_max* or *N_f* + .. parsed-literal:: - + *temp* value = target quantum temperature (temperature units) *damp* value = damping parameter (time units) inverse of friction *gamma* *seed* value = random number seed (positive integer) *f_max* value = upper cutoff frequency of the vibration spectrum (1/time units) *N_f* value = number of frequency bins (positive integer) - - Examples """""""" - .. code-block:: LAMMPS # (liquid methane modeled with the REAX force field, real units) @@ -71,7 +67,6 @@ temperature-sensitive energy :math:`\theta(\omega,T)` which resembles the energy expectation for a quantum harmonic oscillator with the same natural frequency: - .. math:: \theta(\omega T) = \frac{\hbar}{2} + \hbar\omega \left[\exp(\frac{\hbar\omega}{k_B T})-1 \right]^{-1} @@ -114,23 +109,23 @@ to generate its own unique seed and its own stream of random numbers. Thus the dynamics of the system will not be identical on two runs on different numbers of processors. -The *f\_max* parameter truncate the noise frequency domain so that -vibrational modes with frequencies higher than *f\_max* will not be +The *f_max* parameter truncate the noise frequency domain so that +vibrational modes with frequencies higher than *f_max* will not be modulated. If we denote :math:`\Delta t` as the time interval for the -MD integration, *f\_max* is always reset by the code to make -:math:`\alpha = (int)(2` *f\_max* :math:`\Delta t)^{-1}` a +MD integration, *f_max* is always reset by the code to make +:math:`\alpha = (int)(2` *f_max* :math:`\Delta t)^{-1}` a positive integer and print out relative information. An appropriate -value for the cutoff frequency *f\_max* would be around 2~3 :math:`f_D`, +value for the cutoff frequency *f_max* would be around 2~3 :math:`f_D`, where :math:`f_D` is the Debye frequency. -The *N\_f* parameter is the frequency grid size, the number of points -from 0 to *f\_max* in the frequency domain that will be -sampled. 3*2\ *N\_f* per-atom random numbers are required +The *N_f* parameter is the frequency grid size, the number of points +from 0 to *f_max* in the frequency domain that will be +sampled. 3*2\ *N_f* per-atom random numbers are required in the random force generation and there could be as many atoms as in the whole simulation that can migrate into every individual -processor. A larger *N\_f* provides a more accurate sampling of the -spectrum while consumes more memory. With fixed *f\_max* and -:math:`\gamma`, *N\_f* should be big enough to converge the classical +processor. A larger *N_f* provides a more accurate sampling of the +spectrum while consumes more memory. With fixed *f_max* and +:math:`\gamma`, *N_f* should be big enough to converge the classical temperature :math:`T^{cl}` as a function of target quantum bath temperature. Memory usage per processor could be from 10 to 100 Mbytes. @@ -148,11 +143,9 @@ Mbytes. e.g. :doc:`fix nvt <fix_nh>` and :doc:`fix temp/rescale <fix_temp_rescale>`. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimizie info:** +**Restart, fix_modify, output, run start/stop, minimizie info:** No information about this fix is written to :doc:`binary restart files <restart>`. Because the state of the random number generator is not @@ -162,51 +155,38 @@ should produce similar behaviors of the system. This fix is not invoked during :doc:`energy minimization <minimize>`. - ---------- - Restrictions """""""""""" - This fix style is part of the USER-QTB package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. - ---------- - Related commands """""""""""""""" :doc:`fix nve <fix_nve>`, :doc:`fix nph <fix_nh>`, :doc:`fix langevin <fix_langevin>`, :doc:`fix qbmsst <fix_qbmsst>` - ---------- - Default """"""" The keyword defaults are temp = 300, damp = 1, seed = 880302, -f\_max=200.0 and N\_f = 100. - +f_max=200.0 and N_f = 100. ---------- - .. _Dammak: - - **(Dammak)** Dammak, Chalopin, Laroche, Hayoun, and Greffet, Phys Rev Lett, 103, 190601 (2009). .. _Barrat: - - **(Barrat)** Barrat and Rodney, J. Stat. Phys, 144, 679 (2011). diff --git a/doc/src/fix_reaxc_bonds.rst b/doc/src/fix_reaxc_bonds.rst index dd5c9e6634..8f50473af8 100644 --- a/doc/src/fix_reaxc_bonds.rst +++ b/doc/src/fix_reaxc_bonds.rst @@ -9,7 +9,6 @@ fix reax/c/bonds/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID reaxc/bonds Nevery filename @@ -22,8 +21,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all reax/c/bonds 100 bonds.reaxc @@ -45,11 +43,11 @@ The meaning of the column header abbreviations is as follows: * id = atom id * type = atom type * nb = number of bonds -* id\_1 = atom id of first bond -* id\_nb = atom id of Nth bond +* id_1 = atom id of first bond +* id_nb = atom id of Nth bond * mol = molecule id -* bo\_1 = bond order of first bond -* bo\_nb = bond order of Nth bond +* bo_1 = bond order of first bond +* bo_nb = bond order of Nth bond * abo = atom bond order (sum of all bonds) * nlp = number of lone pairs * q = atomic charge @@ -58,11 +56,9 @@ If the filename ends with ".gz", the output file is written in gzipped format. A gzipped dump file will be about 3x smaller than the text version, but will also take longer to write. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -70,10 +66,8 @@ by this fix for access by various :doc:`output commands <Howto_output>`. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -93,21 +87,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See :doc:`Speed <Speed>` of the manual for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - The fix reax/c/bonds command requires that the :doc:`pair_style reax/c <pair_reaxc>` is invoked. This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. To write gzipped bond files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. +-DLAMMPS_GZIP option. Related commands """""""""""""""" diff --git a/doc/src/fix_reaxc_species.rst b/doc/src/fix_reaxc_species.rst index a709ddaa35..63beb5520d 100644 --- a/doc/src/fix_reaxc_species.rst +++ b/doc/src/fix_reaxc_species.rst @@ -9,7 +9,6 @@ fix reax/c/species/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID reax/c/species Nevery Nrepeat Nfreq filename keyword value ... @@ -22,9 +21,9 @@ Syntax * filename = name of output file * zero or more keyword/value pairs may be appended * keyword = *cutoff* or *element* or *position* - + .. parsed-literal:: - + *cutoff* value = I J Cutoff I, J = atom types Cutoff = Bond-order cutoff value for this pair of atom types @@ -33,13 +32,10 @@ Syntax posfreq = write position files every this many timestep filepos = name of position output file - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all reax/c/species 10 10 100 species.out fix 1 all reax/c/species 1 2 20 species.out cutoff 1 1 0.40 cutoff 1 2 0.55 @@ -77,7 +73,7 @@ symbol printed for each LAMMPS atom type. The number of symbols must match the number of LAMMPS atom types and each symbol must consist of 1 or 2 alphanumeric characters. Normally, these symbols should be chosen to match the chemical identity of each LAMMPS atom type, as -specified using the :doc:`reax/c pair\_coeff <pair_reaxc>` command and +specified using the :doc:`reax/c pair_coeff <pair_reaxc>` command and the ReaxFF force field file. The optional keyword *position* writes center-of-mass positions of @@ -97,10 +93,8 @@ character appears in *filepos*\ , then one file per snapshot is written at *posfreq* and the "\*" character is replaced with the timestep value. For example, AuO.pos.\* becomes AuO.pos.0, AuO.pos.1000, etc. - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the bond-order values are sampled to get the average bond order. The species analysis is performed using the average bond-order @@ -116,11 +110,9 @@ For example, if Nevery=2, Nrepeat=6, and Nfreq=100, then bond-order values on timesteps 90,92,94,96,98,100 will be used to compute the average bond-order for the species analysis output on timestep 100. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -143,10 +135,8 @@ any atom in the molecule. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -166,23 +156,20 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See :doc:`Speed <Speed>` of the manual for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - The "fix reax/c/species" currently only works with :doc:`pair_style reax/c <pair_reaxc>` and it requires that the :doc:`pair_style reax/c <pair_reaxc>` be invoked. This fix is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. To write gzipped species files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. +-DLAMMPS_GZIP option. -It should be possible to extend it to other reactive pair\_styles (such as +It should be possible to extend it to other reactive pair_styles (such as :doc:`rebo <pair_airebo>`, :doc:`airebo <pair_airebo>`, :doc:`comb <pair_comb>`, and :doc:`bop <pair_bop>`), but this has not yet been done. diff --git a/doc/src/fix_recenter.rst b/doc/src/fix_recenter.rst index 6c63ead911..eec224c67d 100644 --- a/doc/src/fix_recenter.rst +++ b/doc/src/fix_recenter.rst @@ -6,7 +6,6 @@ fix recenter command Syntax """""" - .. parsed-literal:: fix ID group-ID recenter x y z keyword value ... @@ -16,20 +15,17 @@ Syntax * x,y,z = constrain center-of-mass to these coords (distance units), any coord can also be NULL or INIT (see below) * zero or more keyword/value pairs may be appended * keyword = *shift* or *units* - + .. parsed-literal:: - + *shift* value = group-ID group-ID = group of atoms whose coords are shifted *units* value = *box* or *lattice* or *fraction* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all recenter 0.0 0.5 0.0 fix 1 all recenter INIT INIT NULL @@ -97,7 +93,7 @@ velocities with zero aggregate linear and/or angular momentum. simulation scenario is to use the :doc:`fix spring <fix_spring>` command to tether the molecule in place. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -119,7 +115,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix should not be used with an x,y,z setting that causes a large shift in the system on the 1st timestep, due to the requested COM being very different from the initial COM. This could cause atoms to diff --git a/doc/src/fix_restrain.rst b/doc/src/fix_restrain.rst index 04d7a01c07..3965cee04d 100644 --- a/doc/src/fix_restrain.rst +++ b/doc/src/fix_restrain.rst @@ -6,7 +6,6 @@ fix restrain command Syntax """""" - .. code-block:: LAMMPS fix ID group-ID restrain keyword args ... @@ -15,9 +14,9 @@ Syntax * restrain = style name of this fix command * one or more keyword/arg pairs may be appended * keyword = *bond* or *angle* or *dihedral* - + .. parsed-literal:: - + *bond* args = atom1 atom2 Kstart Kstop r0 atom1,atom2 = IDs of 2 atoms in bond Kstart,Kstop = restraint coefficients at start/end of run (energy units) @@ -33,12 +32,9 @@ Syntax keyword/value = optional keyword value pairs. supported keyword/value pairs: *mult* n = dihedral multiplicity n (integer >= 0, default = 1) - - Examples """""""" - .. code-block:: LAMMPS fix holdem all restrain bond 45 48 2000.0 2000.0 2.75 @@ -106,7 +102,6 @@ molecule with particular restraints (e.g. for fitting force field parameters or constructing a potential energy surface), commands such as the following may be useful: - .. code-block:: LAMMPS # minimize molecule energy with restraints @@ -126,10 +121,8 @@ as the following may be useful: unfix REST run 0 - ---------- - The *bond* keyword applies a bond restraint to the specified atoms using the same functional form used by the :doc:`bond_style harmonic <bond_harmonic>` command. The potential associated with the restraint is @@ -138,7 +131,6 @@ the restraint is E = K (r - r_0)^2 - with the following coefficients: * :math:`K` (energy/distance\^2) @@ -147,10 +139,8 @@ with the following coefficients: :math:`K` and :math:`r_0` are specified with the fix. Note that the usual 1/2 factor is included in :math:`K`. - ---------- - The *angle* keyword applies an angle restraint to the specified atoms using the same functional form used by the :doc:`angle_style harmonic <angle_harmonic>` command. The potential associated with the restraint is @@ -167,10 +157,8 @@ with the following coefficients: :math:`K` and :math:`\theta_0` are specified with the fix. Note that the usual 1/2 factor is included in :math:`K`. - ---------- - The *dihedral* keyword applies a dihedral restraint to the specified atoms using a simplified form of the function used by the :doc:`dihedral_style charmm <dihedral_charmm>` command. The potential @@ -180,7 +168,6 @@ associated with the restraint is E = K [ 1 + \cos (n \phi - d) ] - with the following coefficients: * :math:`K` (energy) @@ -193,11 +180,9 @@ optional *mult* keyword to set it to a different positive integer. Also note that the energy will be a minimum when the current dihedral angle :math:`\phi` is equal to :math:`\phi_0`. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_rhok.rst b/doc/src/fix_rhok.rst index 9374f43798..089c96dd50 100644 --- a/doc/src/fix_rhok.rst +++ b/doc/src/fix_rhok.rst @@ -3,7 +3,6 @@ fix rhok command ================ - .. parsed-literal:: fix ID group-ID rhok nx ny nz K a @@ -16,8 +15,7 @@ fix rhok command Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix bias all rhok 16 0 0 4.0 16.0 fix 1 all npt temp 0.8 0.8 4.0 z 2.2 2.2 8.0 @@ -35,7 +33,6 @@ The fix applies a force to atoms given by the potential \rho_{\vec{k}} = & \sum_j^N \exp(-i\vec{k} \cdot \vec{r}_j )/\sqrt{N} \\ \vec{k} = & (2\pi n_x /L_x , 2\pi n_y /L_y , 2\pi n_z/L_z ) - as described in :ref:`(Pedersen) <Pedersen>`. This field, which biases configurations with long-range order, can be @@ -48,7 +45,6 @@ An example of using the interface pinning method is located in the Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -59,12 +55,8 @@ Related commands **Default:** none - ---------- - .. _Pedersen: - - **(Pedersen)** Pedersen, J. Chem. Phys., 139, 104102 (2013). diff --git a/doc/src/fix_rigid.rst b/doc/src/fix_rigid.rst index 15f7c41b60..72ed56bab1 100644 --- a/doc/src/fix_rigid.rst +++ b/doc/src/fix_rigid.rst @@ -51,7 +51,6 @@ fix rigid/nph/small command Syntax """""" - .. parsed-literal:: fix ID group-ID style bodystyle args keyword values ... @@ -59,9 +58,9 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * style = *rigid* or *rigid/nve* or *rigid/nvt* or *rigid/npt* or *rigid/nph* or *rigid/small* or *rigid/nve/small* or *rigid/nvt/small* or *rigid/npt/small* or *rigid/nph/small* * bodystyle = *single* or *molecule* or *group* - + .. parsed-literal:: - + *single* args = none *molecule* args = none *custom* args = *i_propname* or *v_varname* @@ -73,9 +72,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *langevin* or *reinit* or *temp* or *iso* or *aniso* or *x* or *y* or *z* or *couple* or *tparam* or *pchain* or *dilate* or *force* or *torque* or *infile* - + .. parsed-literal:: - + *langevin* values = Tstart Tstop Tperiod seed Tstart,Tstop = desired temperature at start/stop of run (temperature units) Tdamp = temperature damping parameter (time units) @@ -110,27 +109,24 @@ Syntax *mol* value = template-ID template-ID = ID of molecule template specified in a separate :doc:`molecule <molecule>` command - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 clump rigid single reinit yes fix 1 clump rigid/small molecule fix 1 clump rigid single force 1 off off on langevin 1.0 1.0 1.0 428984 fix 1 polychains rigid/nvt molecule temp 1.0 1.0 5.0 reinit no - fix 1 polychains rigid molecule force 1\*5 off off off force 6\*10 off off on + fix 1 polychains rigid molecule force 1*5 off off off force 6*10 off off on fix 1 polychains rigid/small molecule langevin 1.0 1.0 1.0 428984 - fix 2 fluid rigid group 3 clump1 clump2 clump3 torque \* off off off + fix 2 fluid rigid group 3 clump1 clump2 clump3 torque * off off off fix 1 rods rigid/npt molecule temp 300.0 300.0 100.0 iso 0.5 0.5 10.0 fix 1 particles rigid/npt molecule temp 1.0 1.0 5.0 x 0.5 0.5 1.0 z 0.5 0.5 1.0 couple xz fix 1 water rigid/nph molecule iso 0.5 0.5 1.0 fix 1 particles rigid/npt/small molecule temp 1.0 1.0 1.0 iso 0.5 0.5 1.0 - variable bodyid atom 1.0\*gmask(clump1)+2.0\*gmask(clump2)+3.0\*gmask(clump3) + variable bodyid atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3) fix 1 clump rigid custom v_bodyid variable bodyid atomfile bodies.txt @@ -186,7 +182,7 @@ The *rigid* styles are typically the best choice for a system with a small number of large rigid bodies, each of which can extend across the domain of many processors. It operates by creating a single global list of rigid bodies, which all processors contribute to. -MPI\_Allreduce operations are performed each timestep to sum the +MPI_Allreduce operations are performed each timestep to sum the contributions from each processor to the force and torque on all the bodies. This operation will not scale well in parallel if large numbers of rigid bodies are simulated. @@ -261,10 +257,8 @@ differences may accumulate to produce divergent trajectories. and velocity of individual atoms in the body will be reset when time integration starts again. - ---------- - Each rigid body must have two or more atoms. An atom can belong to at most one rigid body. Which atoms are in which bodies can be defined via several options. @@ -364,10 +358,8 @@ rigid or fix rigid/small command which includes all the desired rigid bodies. LAMMPS will allow multiple rigid fixes to be defined, but it is more expensive. - ---------- - The constituent particles within a rigid body can be point particles (the default in LAMMPS) or finite-size particles, such as spheres or ellipsoids or line segments or triangles. See the :doc:`atom_style sphere and ellipsoid and line and tri <atom_style>` commands for more @@ -385,10 +377,8 @@ commands are used to do this. For finite-size particles this also means the particles can be highly overlapped when creating the rigid body. - ---------- - The *rigid*\ , *rigid/nve*\ , *rigid/small*\ , and *rigid/small/nve* styles perform constant NVE time integration. They are referred to below as the 4 NVE rigid styles. The only difference is that the *rigid* and @@ -478,7 +468,6 @@ pressure is computed (hydrostatic pressure), and dilate/contract the dimensions together. Using "iso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -492,7 +481,6 @@ stress tensor as the driving forces, and the specified scalar external pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying these 4 keywords: - .. parsed-literal:: x Pstart Pstop Pdamp @@ -500,10 +488,8 @@ these 4 keywords: z Pstart Pstop Pdamp couple none - ---------- - The keyword/value option pairs are used in the following ways. The *reinit* keyword determines, whether the rigid body properties @@ -579,10 +565,8 @@ freedom. temperature as well without use of the Langevin or Nose/Hoover options associated with the fix rigid commands. - ---------- - The *mol* keyword can only be used with the *rigid/small* styles. It must be used when other commands, such as :doc:`fix deposit <fix_deposit>` or :doc:`fix pour <fix_pour>`, add rigid bodies on-the-fly during a simulation. You specify a *template-ID* @@ -603,10 +587,8 @@ Also note that when using the *mol* keyword, extra restart information about all rigid bodies is written out whenever a restart file is written out. See the NOTE in the next section for details. - ---------- - The *infile* keyword allows a file of rigid body attributes to be read in from a file, rather then having LAMMPS compute them. There are 5 such attributes: the total mass of the rigid body, its center-of-mass @@ -628,7 +610,6 @@ comment lines starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information: - .. parsed-literal:: ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm @@ -681,10 +662,8 @@ cross periodic boundaries during the simulation. auxiliary file will contain one line for every rigid body, even if the original file only listed a subset of the rigid bodies. - ---------- - If you use a :doc:`temperature compute <compute>` with a group that includes particles in rigid bodies, the degrees-of-freedom removed by each rigid body are accounted for in the temperature (and pressure) @@ -706,10 +685,8 @@ degrees of freedom (2 translational, 1 rotational). The rigid body contribution to the pressure of the system (virial) is also accounted for by this fix. - ---------- - If your simulation is a hybrid model with a mixture of rigid bodies and non-rigid particles (e.g. solvent) there are several ways these rigid fixes can be used in tandem with :doc:`fix nve <fix_nve>`, :doc:`fix nvt <fix_nh>`, :doc:`fix npt <fix_nh>`, and :doc:`fix nph <fix_nh>`. @@ -746,7 +723,6 @@ choices: rigid styles for the rigid bodies. Use :doc:`fix nvt <fix_nh>` (or any other thermostat) for the non-rigid particles. - In all case, the rigid bodies and non-rigid particles both contribute to the global pressure and the box is scaled the same by any of the barostatting fixes. @@ -758,10 +734,8 @@ and change the box dimensions, but not time integrate any particles. The integration of the rigid bodies will be performed by fix rigid/nvt. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -780,11 +754,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about the 4 NVE rigid styles is written to :doc:`binary restart files <restart>`. The exception is if the *infile* or *mol* keyword is used, in which case an auxiliary file is written out @@ -872,14 +844,11 @@ No parameter of these fixes can be used with the *start/stop* keywords of the :doc:`run <run>` command. These fixes are not invoked during :doc:`energy minimization <minimize>`. - ---------- - Restrictions """""""""""" - These fixes are all part of the RIGID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -896,8 +865,7 @@ insures all DOFs are accounted for properly, and then rescale the temperature to the desired value before performing a simulation. For example: - -.. parsed-literal:: +.. code-block:: LAMMPS velocity all create 300.0 12345 run 0 # temperature may not be 300K @@ -916,38 +884,26 @@ The option defaults are force \* on on on and torque \* on on on, meaning all rigid bodies are acted on by center-of-mass force and torque. Also Tchain = Pchain = 10, Titer = 1, Torder = 3, reinit = yes. - ---------- - .. _Hoover: - - **(Hoover)** Hoover, Phys Rev A, 31, 1695 (1985). .. _Kamberaj: - - **(Kamberaj)** Kamberaj, Low, Neal, J Chem Phys, 122, 224114 (2005). .. _Martyna2: - - **(Martyna)** Martyna, Klein, Tuckerman, J Chem Phys, 97, 2635 (1992); Martyna, Tuckerman, Tobias, Klein, Mol Phys, 87, 1117. .. _Miller3: - - **(Miller)** Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, J Chem Phys, 116, 8649 (2002). .. _Zhang1: - - **(Zhang)** Zhang, Glotzer, Nanoletters, 4, 1407-1413 (2004). diff --git a/doc/src/fix_rigid_meso.rst b/doc/src/fix_rigid_meso.rst index 3f6796c4c6..c9a709175f 100644 --- a/doc/src/fix_rigid_meso.rst +++ b/doc/src/fix_rigid_meso.rst @@ -6,7 +6,6 @@ fix rigid/meso command Syntax """""" - .. parsed-literal:: fix ID group-ID rigid/meso bodystyle args keyword values ... @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * rigid/meso = style name of this fix command * bodystyle = *single* or *molecule* or *group* - + .. parsed-literal:: - + *single* args = none *molecule* args = none *custom* args = *i_propname* or *v_varname* @@ -28,9 +27,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *reinit* or *force* or *torque* or *infile* - + .. parsed-literal:: - + *reinit* = *yes* or *no* *force* values = M xflag yflag zflag M = which rigid body from 1-Nbody (see asterisk form below) @@ -41,13 +40,10 @@ Syntax *infile* filename filename = file with per-body values of mass, center-of-mass, moments of inertia - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 ellipsoid rigid/meso single fix 1 rods rigid/meso molecule @@ -119,10 +115,8 @@ internal energy and extrapolated velocity are also updated. and velocity of individual particles in the body will be reset when time integration starts again. - ---------- - Each rigid body must have two or more particles. A particle can belong to at most one rigid body. Which particles are in which bodies can be defined via several options. @@ -203,10 +197,8 @@ rigid/meso command which includes all the desired rigid bodies. LAMMPS will allow multiple rigid/meso fixes to be defined, but it is more expensive. - ---------- - The keyword/value option pairs are used in the following ways. The *reinit* keyword determines, whether the rigid body properties @@ -217,10 +209,8 @@ unphysical manipulations between runs or when properties cannot be easily re-computed (e.g. when read from a file). When using the *infile* keyword, the *reinit* option is automatically set to *no*\ . - ---------- - The *infile* keyword allows a file of rigid body attributes to be read in from a file, rather then having LAMMPS compute them. There are 5 such attributes: the total mass of the rigid body, its center-of-mass @@ -242,7 +232,6 @@ comment lines starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information: - .. parsed-literal:: ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm @@ -295,11 +284,9 @@ cross periodic boundaries during the simulation. auxiliary file will contain one line for every rigid body, even if the original file only listed a subset of the rigid bodies. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information is written to :doc:`binary restart files <restart>`. If the *infile* keyword is used, an auxiliary file is written out @@ -349,14 +336,11 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`. - ---------- - Restrictions """""""""""" - This fix is part of the USER-SDPD package and also depends on the RIGID package. It is only enabled if LAMMPS was built with both packages. See the :doc:`Build package <Build_package>` doc page for more info. @@ -379,13 +363,9 @@ The option defaults are force \* on on on and torque \* on on on, meaning all rigid bodies are acted on by center-of-mass force and torque. Also reinit = yes. - ---------- - .. _Miller: - - **(Miller)** Miller, Eleftheriou, Pattnaik, Ndirango, and Newns, J Chem Phys, 116, 8649 (2002). diff --git a/doc/src/fix_rx.rst b/doc/src/fix_rx.rst index 2f0df1ebd5..0d8af574c1 100644 --- a/doc/src/fix_rx.rst +++ b/doc/src/fix_rx.rst @@ -9,7 +9,6 @@ fix rx/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID rx file localTemp matrix solver minSteps ... @@ -19,7 +18,7 @@ Syntax * file = filename containing the reaction kinetic equations and Arrhenius parameters * localTemp = *none,lucy* = no local temperature averaging or local temperature defined through Lucy weighting function * matrix = *sparse, dense* format for the stoichiometric matrix -* solver = *lammps\_rk4,rkf45* = rk4 is an explicit 4th order Runge-Kutta method; rkf45 is an adaptive 4th-order Runge-Kutta-Fehlberg method +* solver = *lammps_rk4,rkf45* = rk4 is an explicit 4th order Runge-Kutta method; rkf45 is an adaptive 4th-order Runge-Kutta-Fehlberg method * minSteps = # of steps for rk4 solver or minimum # of steps for rkf45 (rk4 or rkf45) * maxSteps = maximum number of steps for the rkf45 solver (rkf45 only) * relTol = relative tolerance for the rkf45 solver (rkf45 only) @@ -29,8 +28,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all rx kinetics.rx none dense lammps_rk4 fix 1 all rx kinetics.rx none sparse lammps_rk4 1 @@ -50,14 +48,12 @@ For a general reaction such that \nu_{A}A + \nu_{B}B \rightarrow \nu_{C}C - the reaction rate equation is defined to be of the form .. math:: r = k(T)[A]^{\nu_{A}}[B]^{\nu_{B}} - In the current implementation, the exponents are defined to be equal to the stoichiometric coefficients. A given reaction set consisting of *n* reaction equations will contain a total of *m* species. A set @@ -67,10 +63,10 @@ constructed based on the *n* reaction rate equations. The ODE systems are solved over the full DPD timestep *dt* using either a 4th order Runge-Kutta *rk4* method with a fixed step-size *h*\ , specified -by the *lammps\_rk4* keyword, or a 4th order Runge-Kutta-Fehlberg (rkf45) method +by the *lammps_rk4* keyword, or a 4th order Runge-Kutta-Fehlberg (rkf45) method with an adaptive step-size for *h*\ . The number of ODE steps per DPD timestep for the rk4 method is optionally specified immediately after the rk4 -keyword. The ODE step-size is set as *dt/num\_steps*. Smaller +keyword. The ODE step-size is set as *dt/num_steps*. Smaller step-sizes tend to yield more accurate results but there is not control on the error. For error control, use the rkf45 ODE solver. @@ -78,13 +74,13 @@ The rkf45 method adjusts the step-size so that the local truncation error is hel within the specified absolute and relative tolerances. The initial step-size *h0* can be specified by the user or estimated internally. It is recommended that the user specify *h0* since this will generally reduced the number of ODE integration steps -required. *h0* is defined as *dt / min\_steps* if min\_steps >= 1. If min\_steps == 0, +required. *h0* is defined as *dt / min_steps* if min_steps >= 1. If min_steps == 0, *h0* is estimated such that an explicit Euler method would likely produce an acceptable solution. This is generally overly conservative for the 4th-order method and users are advised to specify *h0* as some fraction of the DPD timestep. For small DPD timesteps, only one step may be necessary depending upon the tolerances. -Note that more than min\_steps ODE steps may be taken depending upon the ODE stiffness -but no more than max\_steps will be taken. If max\_steps is reached, an error warning +Note that more than min_steps ODE steps may be taken depending upon the ODE stiffness +but no more than max_steps will be taken. If max_steps is reached, an error warning is printed and the simulation is stopped. After each ODE step, the solution error *e* is tested and weighted using the absTol @@ -107,10 +103,8 @@ statistics per MPI process can be useful to examine any load imbalance caused by adaptive ODE solver. (Some DPD particles can take longer to solve than others. This can lead to an imbalance across the MPI processes.) - ---------- - The filename specifies a file that contains the entire set of reaction kinetic equations and corresponding Arrhenius parameters. The format of this file is described below. @@ -129,7 +123,6 @@ Arrhenius equation: k = AT^{n}e^{\frac{-E_{a}}{k_{B}T}} - where *A* is the Arrhenius factor in time units or concentration/time units, *n* is the unitless exponent of the temperature dependence, and :math:`E_a` is the activation energy in energy units. The temperature @@ -146,14 +139,12 @@ particle internal temperature is defined as: \theta_i^{-1} = \frac{\sum_{j=1}\omega_{Lucy}\left(r_{ij}\right)\theta_j^{-1}}{\sum_{j=1}\omega_{Lucy}\left(r_{ij}\right)} - where the Lucy function is expressed as: .. math:: \omega_{Lucy}\left(r_{ij}\right) = \left( 1 + \frac{3r_{ij}}{r_c} \right) \left( 1 - \frac{r_{ij}}{r_c} \right)^3 - The self-particle interaction is included in the above equation. The stoichiometric coefficients for the reaction mechanism are stored @@ -167,14 +158,11 @@ numbers <= 3), a fast exponential function is used. This can save significant computational time so users are encouraged to use integer coefficients where possible. - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # Rxn equations and parameters (one or more comment or blank lines) @@ -207,12 +195,10 @@ case, the :doc:`read_data <read_data>` command with the fix keyword should be specified, where the fix-ID will be the "fix rx`ID with a <SPECIES">`_ suffix, e.g. fix foo all rx reaction.file ... -read\_data data.dpd fix foo\_SPECIES NULL Species - +read_data data.dpd fix foo_SPECIES NULL Species ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -231,14 +217,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_saed_vtk.rst b/doc/src/fix_saed_vtk.rst index c2f57618ed..818d14cc60 100644 --- a/doc/src/fix_saed_vtk.rst +++ b/doc/src/fix_saed_vtk.rst @@ -6,7 +6,6 @@ fix saed/vtk command Syntax """""" - .. parsed-literal:: fix ID group-ID saed/vtk Nevery Nrepeat Nfreak c_ID attribute args ... keyword args ... @@ -16,10 +15,10 @@ Syntax * Nevery = use input values every this many timesteps * Nrepeat = # of times to use input values for calculating averages * Nfreq = calculate averages every this many timesteps -* c\_ID = saed compute ID - +* c_ID = saed compute ID + .. parsed-literal:: - + keyword = *file* or *ave* or *start* or *file* or *overwrite*\ :l *ave* args = *one* or *running* or *window M* one = output a new average value every Nfreq steps @@ -31,13 +30,10 @@ Syntax filename = name of file to output time averages to *overwrite* arg = none = overwrite output file with only latest output - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all saed 0.0251 Al O Kmax 1.70 Zone 0 0 1 dR_Ewald 0.01 c 0.5 0.5 0.5 compute 2 all saed 0.0251 Ni Kmax 1.70 Zone 0 0 0 c 0.05 0.05 0.05 manual echo @@ -60,7 +56,7 @@ outside the *Kmax* range assigned in the compute saed. The ghost data is assigned a value of -1 and can be removed setting a minimum isovolume of 0 within the visualization software. SAED images can be created by visualizing a spherical slice of the data that is centered at -R\_Ewald\*[h k l]/norm([h k l]), where R\_Ewald=1/lambda. +R_Ewald\*[h k l]/norm([h k l]), where R_Ewald=1/lambda. The group specified within this command is ignored. However, note that specified values may represent calculations performed by saed computes @@ -69,16 +65,13 @@ which store their own "group" definitions. Fix saed/vtk is designed to work only with :doc:`compute saed <compute_saed>` values, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS compute 3 top saed 0.0251 Al O fix saed/vtk 1 1 1 c_3 file Al2O3_001.saed - ---------- - The *Nevery*\ , *Nrepeat*\ , and *Nfreq* arguments specify on what timesteps the input values will be used in order to contribute to the average. The final averaged quantities are generated on timesteps @@ -97,18 +90,15 @@ timestep 200, etc. If Nrepeat=1 and Nfreq = 100, then no time averaging is done; values are simply generated on timesteps 100,200,etc. - ---------- - The output for fix ave/time/saed is a file written with the 3rd generation vtk image data formatting. The filename assigned by the *file* keyword is -appended with \_N.vtk where N is an index (0,1,2...) to account for multiple +appended with _N.vtk where N is an index (0,1,2...) to account for multiple diffraction intensity outputs. By default the header contains the following information (with example data): - .. parsed-literal:: # vtk DataFile Version 3.0 c_SAED @@ -130,10 +120,8 @@ The data is shifted by -0.85, -0.85, -0.85 inv(length) units so that the origin will lie at 0, 0, 0. Here, 15,424,827 kspace points are sampled in total. - ---------- - Additional optional keywords also affect the operation of this fix. The *ave* keyword determines how the values produced every *Nfreq* @@ -169,7 +157,7 @@ running or windowed average. The *file* keyword allows a filename to be specified. Every *Nfreq* steps, the vector of saed intensity data is written to a new file using the 3rd generation vtk format. The base of each file is assigned by -the *file* keyword and this string is appended with \_N.vtk where N is +the *file* keyword and this string is appended with _N.vtk where N is an index (0,1,2...) to account for situations with multiple diffraction intensity outputs. @@ -177,7 +165,7 @@ The *overwrite* keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of output. This option can only be used with the *ave running* setting. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -188,8 +176,7 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - -The attributes for fix\_saed\_vtk must match the values assigned in the +The attributes for fix_saed_vtk must match the values assigned in the associated :doc:`compute_saed <compute_saed>` command. Related commands @@ -202,13 +189,9 @@ Default The option defaults are ave = one, start = 0, no file output. - ---------- - .. _Coleman: - - **(Coleman)** Coleman, Spearot, Capolungo, MSMSE, 21, 055020 (2013). diff --git a/doc/src/fix_setforce.rst b/doc/src/fix_setforce.rst index 3e358aef31..59de49fbe0 100644 --- a/doc/src/fix_setforce.rst +++ b/doc/src/fix_setforce.rst @@ -12,7 +12,6 @@ fix setforce/spin command Syntax """""" - .. parsed-literal:: fix ID group-ID setforce fx fy fz keyword value ... @@ -23,19 +22,16 @@ Syntax * any of fx,fy,fz can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *region* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region atoms must be in to have added force - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix freeze indenter setforce 0.0 0.0 0.0 fix 2 edge setforce NULL 0.0 0.0 @@ -59,7 +55,7 @@ alter the force component in that dimension. Any of the 3 quantities defining the force components can be specified as an equal-style or atom-style :doc:`variable <variable>`, namely *fx*\ , *fy*\ , *fz*\ . If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the force component. @@ -77,10 +73,8 @@ If the *region* keyword is used, the atom must also be in the specified geometric :doc:`region <region>` in order to have force added to it. - ---------- - Style *spin* suffix sets the components of the magnetic precession vectors instead of the mechanical forces. This also erases all previously computed magnetic precession vectors on the atom, though @@ -92,10 +86,8 @@ atoms in the simulation by zeroing their precession vector. All options defined above remain valid, they just apply to the magnetic precession vectors instead of the forces. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -117,11 +109,9 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -150,7 +140,6 @@ non-zero force to atoms during a minimization. Restrictions """""""""""" - The fix *setforce/spin* only makes sense when LAMMPS was built with the SPIN package. diff --git a/doc/src/fix_shake.rst b/doc/src/fix_shake.rst index 624d5cf455..cd3fbd3865 100644 --- a/doc/src/fix_shake.rst +++ b/doc/src/fix_shake.rst @@ -9,7 +9,6 @@ fix rattle command Syntax """""" - .. parsed-literal:: fix ID group-ID style tol iter N constraint values ... keyword value ... @@ -21,9 +20,9 @@ Syntax * N = print SHAKE statistics every this many timesteps (0 = never) * one or more constraint/value pairs are appended * constraint = *b* or *a* or *t* or *m* - + .. parsed-literal:: - + *b* values = one or more bond types *a* values = one or more angle types *t* values = one or more atom types @@ -31,19 +30,16 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *mol* - + .. parsed-literal:: - + *mol* value = template-ID template-ID = ID of molecule template specified in a separate :doc:`molecule <molecule>` command - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 sub shake 0.0001 20 10 b 4 19 a 3 5 2 fix 1 sub shake 0.0001 20 10 t 5 6 m 1.0 a 31 @@ -79,7 +75,6 @@ molecule. The distance vector between sites *i* and *j* is given by \mathbf r^{n+1}_{ij} = \mathbf r^n_j - \mathbf r^n_i - The constraints can then be formulated as .. math:: @@ -87,7 +82,6 @@ The constraints can then be formulated as \mathbf r^{n+1}_{ij} \cdot \mathbf r^{n+1}_{ij} &= d^2_{ij} \quad \text{and} \\ \mathbf v^{n+1}_{ij} \cdot \mathbf r^{n+1}_{ij} &= 0 - The SHAKE algorithm satisfies the first condition, i.e. the sites at time *n+1* will have the desired separations Dij immediately after the coordinates are integrated. If we also enforce the second condition, @@ -127,7 +121,7 @@ constraint lists atom types. All bonds connected to an atom of the specified type will be constrained. The *m* constraint lists atom masses. All bonds connected to atoms of the specified masses will be constrained (within a fudge factor of MASSDELTA specified in -fix\_shake.cpp). The *a* constraint lists angle types. If both bonds +fix_shake.cpp). The *a* constraint lists angle types. If both bonds in the angle are constrained then the angle will also be constrained if its type is in the list. @@ -152,10 +146,8 @@ for. defined in your input script after any other fixes which add or change forces (to atoms that fix shake operates on). - ---------- - The *mol* keyword should be used when other commands, such as :doc:`fix deposit <fix_deposit>` or :doc:`fix pour <fix_pour>`, add molecules on-the-fly during a simulation, and you wish to constrain the new molecules via SHAKE. You specify a *template-ID* previously defined @@ -167,10 +159,8 @@ file. See the :doc:`molecule <molecule>` command for details. The only settings required to be in this file (by this command) are the SHAKE info of atoms in the molecule. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -189,10 +179,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **RATTLE:** The velocity constraints lead to a linear system of equations which @@ -207,14 +195,12 @@ LAMMPS closely follows (:ref:`Andersen (1983) <Andersen3>`). after fix rattle operates, then fix rattle will not take them into account and the overall time integration will typically not satisfy the RATTLE constraints. You can check whether the constraints work - correctly by setting the value of RATTLE\_DEBUG in src/fix\_rattle.cpp + correctly by setting the value of RATTLE_DEBUG in src/fix_rattle.cpp to 1 and recompiling LAMMPS. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** The :doc:`fix_modify <fix_modify>` *virial* option is supported by this fix to add the contribution due to keeping the constraints to the @@ -230,7 +216,6 @@ fixes are not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - These fixes are part of the RIGID package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -252,19 +237,13 @@ make a linear molecule rigid. **Default:** none - ---------- - .. _Ryckaert: - - **(Ryckaert)** J.-P. Ryckaert, G. Ciccotti and H. J. C. Berendsen, J of Comp Phys, 23, 327-341 (1977). .. _Andersen3: - - **(Andersen)** H. Andersen, J of Comp Phys, 52, 24-34 (1983). diff --git a/doc/src/fix_shardlow.rst b/doc/src/fix_shardlow.rst index 771b6bf7e3..9949d3a51c 100644 --- a/doc/src/fix_shardlow.rst +++ b/doc/src/fix_shardlow.rst @@ -9,7 +9,6 @@ fix shardlow/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID shardlow @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all shardlow @@ -44,19 +42,17 @@ necessary). Note that numerous variants of DPD can be specified by choosing an appropriate combination of the integrator and :doc:`pair_style dpd/fdt <pair_style>` command. DPD under isothermal conditions can -be specified by using fix *shardlow*\ , fix *nve* and pair\_style +be specified by using fix *shardlow*\ , fix *nve* and pair_style *dpd/fdt*\ . DPD under isoenergetic conditions can be specified by -using fix *shardlow*\ , fix *nve* and pair\_style *dpd/fdt/energy*\ . DPD +using fix *shardlow*\ , fix *nve* and pair_style *dpd/fdt/energy*\ . DPD under isobaric conditions can be specified by using fix shardlow, fix -*nph* and pair\_style *dpd/fdt*\ . DPD under isoenthalpic conditions can -be specified by using fix shardlow, fix *nph* and pair\_style +*nph* and pair_style *dpd/fdt*\ . DPD under isoenthalpic conditions can +be specified by using fix shardlow, fix *nph* and pair_style *dpd/fdt/energy*\ . Examples of each DPD variant are provided in the examples/USER/dpd directory. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -75,14 +71,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -104,14 +97,10 @@ Related commands **Default:** none - ---------- - .. _Lisal: - - **(Lisal)** M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative particle dynamics as isothermal, isobaric, isoenergetic, and isoenthalpic conditions using Shardlow-like splitting algorithms.", @@ -119,8 +108,6 @@ J. Chem. Phys., 135, 204105 (2011). .. _Larentzos1sh: - - **(Larentzos1)** J.P. Larentzos, J.K. Brennan, J.D. Moore, M. Lisal and W.D. Mattson, "Parallel Implementation of Isothermal and Isoenergetic Dissipative Particle Dynamics Using Shardlow-Like Splitting @@ -128,8 +115,6 @@ Algorithms", Comput. Phys. Commun., 185, 1987-1998 (2014). .. _Larentzos2sh: - - **(Larentzos2)** J.P. Larentzos, J.K. Brennan, J.D. Moore, and W.D. Mattson, "LAMMPS Implementation of Constant Energy Dissipative Particle Dynamics (DPD-E)", ARL-TR-6863, U.S. Army Research diff --git a/doc/src/fix_smd.rst b/doc/src/fix_smd.rst index 5c8496c2a8..b303114887 100644 --- a/doc/src/fix_smd.rst +++ b/doc/src/fix_smd.rst @@ -6,7 +6,6 @@ fix smd command Syntax """""" - .. parsed-literal:: fix ID group-ID smd type values keyword values @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * smd = style name of this fix command * mode = *cvel* or *cfor* to select constant velocity or constant force SMD - + .. parsed-literal:: - + *cvel* values = K vel K = spring constant (force/distance units) vel = velocity of pulling (distance/time units) @@ -24,9 +23,9 @@ Syntax force = pulling force (force units) * keyword = *tether* or *couple* - + .. parsed-literal:: - + *tether* values = x y z R0 x,y,z = point to which spring is tethered R0 = distance of end of spring from tether point (distance units) @@ -35,13 +34,10 @@ Syntax x,y,z = direction of spring, automatically computed with 'auto' R0 = distance of end of spring (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix pull cterm smd cvel 20.0 -0.00005 tether NULL NULL 100.0 0.0 fix pull cterm smd cvel 20.0 -0.0001 tether 25.0 25 25.0 0.0 @@ -103,7 +99,7 @@ can then later be used to compute the potential of mean force (PMF) by averaging over multiple independent trajectories along the same pulling path. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** The fix stores the direction of the spring, current pulling target distance and the running PMF to :doc:`binary restart files <restart>`. @@ -139,7 +135,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -153,14 +148,10 @@ Related commands **Default:** none - ---------- - .. _Izrailev: - - **(Izrailev)** Izrailev, Stepaniants, Isralewitz, Kosztin, Lu, Molnar, Wriggers, Schulten. Computational Molecular Dynamics: Challenges, Methods, Ideas, volume 4 of Lecture Notes in Computational Science and @@ -168,12 +159,8 @@ Engineering, pp. 39-65. Springer-Verlag, Berlin, 1998. .. _Park: - - **(Park)** Park, Schulten, J. Chem. Phys. 120 (13), 5946 (2004) .. _Jarzynski: - - **(Jarzynski)** Jarzynski, Phys. Rev. Lett. 78, 2690 (1997) diff --git a/doc/src/fix_smd_adjust_dt.rst b/doc/src/fix_smd_adjust_dt.rst index 87e7d303b3..d91ad1392d 100644 --- a/doc/src/fix_smd_adjust_dt.rst +++ b/doc/src/fix_smd_adjust_dt.rst @@ -6,25 +6,21 @@ fix smd/adjust_dt command Syntax """""" - .. code-block:: LAMMPS fix ID group-ID smd/adjust_dt arg * ID, group-ID are documented in :doc:`fix <fix>` command -* smd/adjust\_dt = style name of this fix command -* arg = *s\_fact* - +* smd/adjust_dt = style name of this fix command +* arg = *s_fact* + .. parsed-literal:: - + *s_fact* = safety factor - - Examples """""""" - .. code-block:: LAMMPS fix 1 all smd/adjust_dt 0.1 @@ -45,25 +41,24 @@ step. This fix inquires the minimum stable time increment across all particles contained in the group for which this fix is defined. An -additional safety factor *s\_fact* is applied to the time increment. +additional safety factor *s_fact* is applied to the time increment. See `this PDF guide <PDF/SMD_LAMMPS_userguide.pdf>`_ to use Smooth Mach Dynamics in LAMMPS. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" -:doc:`smd/tlsph\_dt <compute_smd_tlsph_dt>` +:doc:`smd/tlsph_dt <compute_smd_tlsph_dt>` **Default:** none diff --git a/doc/src/fix_smd_integrate_tlsph.rst b/doc/src/fix_smd_integrate_tlsph.rst index f2f10121e5..ef91414788 100644 --- a/doc/src/fix_smd_integrate_tlsph.rst +++ b/doc/src/fix_smd_integrate_tlsph.rst @@ -6,16 +6,14 @@ fix smd/integrate_tlsph command Syntax """""" - .. code-block:: LAMMPS fix ID group-ID smd/integrate_tlsph keyword values * ID, group-ID are documented in :doc:`fix <fix>` command -* smd/integrate\_tlsph = style name of this fix command +* smd/integrate_tlsph = style name of this fix command * zero or more keyword/value pairs may be appended -* keyword = *limit\_velocity* - +* keyword = *limit_velocity* .. parsed-literal:: @@ -25,7 +23,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS fix 1 all smd/integrate_tlsph @@ -40,11 +37,11 @@ interact according with the Total-Lagrangian SPH pair style. See `this PDF guide <PDF/SMD_LAMMPS_userguide.pdf>`_ to using Smooth Mach Dynamics in LAMMPS. -The *limit\_velocity* keyword will control the velocity, scaling the -norm of the velocity vector to max\_vel in case it exceeds this +The *limit_velocity* keyword will control the velocity, scaling the +norm of the velocity vector to max_vel in case it exceeds this velocity limit. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization. This fix has no outputs. @@ -52,13 +49,12 @@ minimization. This fix has no outputs. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" -:doc:`smd/integrate\_ulsph <fix_smd_integrate_ulsph>` +:doc:`smd/integrate_ulsph <fix_smd_integrate_ulsph>` **Default:** none diff --git a/doc/src/fix_smd_integrate_ulsph.rst b/doc/src/fix_smd_integrate_ulsph.rst index 1bea4bfb15..c355abf17b 100644 --- a/doc/src/fix_smd_integrate_ulsph.rst +++ b/doc/src/fix_smd_integrate_ulsph.rst @@ -6,22 +6,21 @@ fix smd/integrate_ulsph command Syntax """""" - .. code-block:: LAMMPS fix ID group-ID smd/integrate_ulsph keyword * ID, group-ID are documented in :doc:`fix <fix>` command -* smd/integrate\_ulsph = style name of this fix command +* smd/integrate_ulsph = style name of this fix command * zero or more keyword/value pairs may be appended -* keyword = adjust\_radius or limit\_velocity +* keyword = adjust_radius or limit_velocity -adjust\_radius values = adjust\_radius\_factor min\_nn max\_nn - adjust\_radius\_factor = factor which scale the smooth/kernel radius - min\_nn = minimum number of neighbors - max\_nn = maximum number of neighbors -limit\_velocity values = max\_velocity - max\_velocity = maximum allowed velocity. +adjust_radius values = adjust_radius_factor min_nn max_nn + adjust_radius_factor = factor which scale the smooth/kernel radius + min_nn = minimum number of neighbors + max_nn = maximum number of neighbors +limit_velocity values = max_velocity + max_velocity = maximum allowed velocity. Examples """""""" @@ -40,17 +39,17 @@ interact with the updated Lagrangian SPH pair style. See `this PDF guide <PDF/SMD_LAMMPS_userguide.pdf>`_ to using Smooth Mach Dynamics in LAMMPS. -The *adjust\_radius* keyword activates dynamic adjustment of the +The *adjust_radius* keyword activates dynamic adjustment of the per-particle SPH smoothing kernel radius such that the number of -neighbors per particles remains within the interval *min\_nn* to -*max\_nn*. The parameter *adjust\_radius\_factor* determines the amount -of adjustment per timestep. Typical values are *adjust\_radius\_factor* -=1.02, *min\_nn* =15, and *max\_nn* =20. +neighbors per particles remains within the interval *min_nn* to +*max_nn*. The parameter *adjust_radius_factor* determines the amount +of adjustment per timestep. Typical values are *adjust_radius_factor* +=1.02, *min_nn* =15, and *max_nn* =20. -The *limit\_velocity* keyword will control the velocity, scaling the norm of -the velocity vector to max\_vel in case it exceeds this velocity limit. +The *limit_velocity* keyword will control the velocity, scaling the norm of +the velocity vector to max_vel in case it exceeds this velocity limit. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization. This fix has no outputs. @@ -58,7 +57,6 @@ minimization. This fix has no outputs. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_smd_move_triangulated_surface.rst b/doc/src/fix_smd_move_triangulated_surface.rst index d5796e0c99..3aa40a75c2 100644 --- a/doc/src/fix_smd_move_triangulated_surface.rst +++ b/doc/src/fix_smd_move_triangulated_surface.rst @@ -6,17 +6,16 @@ fix smd/move_tri_surf command Syntax """""" - .. code-block:: LAMMPS fix ID group-ID smd/move_tri_surf keyword * ID, group-ID are documented in :doc:`fix <fix>` command -* smd/move\_tri\_surf keyword = style name of this fix command +* smd/move_tri_surf keyword = style name of this fix command * keyword = *\*LINEAR* or *\*WIGGLE* or *\*ROTATE* - + .. parsed-literal:: - + *\*LINEAR* args = Vx Vy Vz Vx,Vy,Vz = components of velocity vector (velocity units), any component can be specified as NULL *\*WIGGLE* args = Vx Vy Vz max_travel @@ -27,12 +26,9 @@ Syntax Rx,Ry,Rz = axis of rotation vector period = period of rotation (time units) - - Examples """""""" - .. code-block:: LAMMPS fix 1 tool smd/move_tri_surf *LINEAR 20 20 10 @@ -43,7 +39,7 @@ Description """"""""""" This fix applies only to rigid surfaces read from .STL files via fix -:doc:`smd/wall\_surface <fix_smd_wall_surface>` . It updates position +:doc:`smd/wall_surface <fix_smd_wall_surface>` . It updates position and velocity for the particles in the group each timestep without regard to forces on the particles. The rigid surfaces can thus be moved along simple trajectories during the simulation. @@ -54,7 +50,7 @@ to V = (Vx,Vy,Vz). The *\*WIGGLE* style moves particles in an oscillatory fashion. Particles are moved along (vx, vy, vz) with constant velocity until a -displacement of max\_travel is reached. Then, the velocity vector is +displacement of max_travel is reached. Then, the velocity vector is reversed. This process is repeated. The *\*ROTATE* style rotates particles around a rotation axis R = @@ -67,7 +63,7 @@ rotation axis to the particle. See `this PDF guide <PDF/SMD_LAMMPS_userguide.pdf>`_ to using Smooth Mach Dynamics in LAMMPS. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization. This fix has no outputs. @@ -75,14 +71,13 @@ minimization. This fix has no outputs. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" -:doc:`smd/triangle\_mesh\_vertices <compute_smd_triangle_vertices>`, -:doc:`smd/wall\_surface <fix_smd_wall_surface>` +:doc:`smd/triangle_mesh_vertices <compute_smd_triangle_vertices>`, +:doc:`smd/wall_surface <fix_smd_wall_surface>` **Default:** none diff --git a/doc/src/fix_smd_setvel.rst b/doc/src/fix_smd_setvel.rst index 9c860f2766..eb92f435e1 100644 --- a/doc/src/fix_smd_setvel.rst +++ b/doc/src/fix_smd_setvel.rst @@ -6,7 +6,6 @@ fix smd/setvel command Syntax """""" - .. parsed-literal:: fix ID group-ID smd/setvel vx vy vz keyword value ... @@ -17,21 +16,18 @@ Syntax * any of vx,vy,vz can be a variable (see below) * zero or more keyword/value pairs may be appended to args * keyword = *region* - + .. parsed-literal:: - + *region* value = region-ID region-ID = ID of region particles must be in to have their velocities set - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - fix top_velocity top_group setvel 1.0 0.0 0.0 + fix top_velocity top_group smd/setvel 1.0 0.0 0.0 Description """"""""""" @@ -48,7 +44,7 @@ This fix is indented to be used together with a time integration fix. Any of the 3 quantities defining the velocity components can be specified as an equal-style or atom-style :doc:`variable <variable>`, namely *vx*\ , *vy*\ , *vz*\ . If the value is a variable, it should be specified as -v\_name, where name is the variable name. In this case, the variable +v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the force component. @@ -65,11 +61,9 @@ field with optional time-dependence as well. If the *region* keyword is used, the particle must also be in the specified geometric :doc:`region <region>` in order to have its velocity set by this command. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization None of the :doc:`fix_modify <fix_modify>` options @@ -86,7 +80,6 @@ the :doc:`run <run>` command. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_smd_wall_surface.rst b/doc/src/fix_smd_wall_surface.rst index a75a75ab27..6bebcdf6c2 100644 --- a/doc/src/fix_smd_wall_surface.rst +++ b/doc/src/fix_smd_wall_surface.rst @@ -6,17 +6,16 @@ fix smd/wall_surface command Syntax """""" - .. code-block:: LAMMPS fix ID group-ID smd/wall_surface arg type mol-ID * ID, group-ID are documented in :doc:`fix <fix>` command -* smd/wall\_surface = style name of this fix command +* smd/wall_surface = style name of this fix command * arg = *file* - + .. parsed-literal:: - + *file* = file name of a triangular mesh in stl format * type = particle type to be given to the new particles created by this fix @@ -25,7 +24,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS fix stl_surf all smd/wall_surface tool.stl 2 65535 @@ -40,19 +38,19 @@ the new particle is that of the minimum circle which encompasses the triangle vertices. The triangulated surface can be used as a complex rigid wall via the -:doc:`smd/tri\_surface <pair_smd_triangulated_surface>` pair style. It +:doc:`smd/tri_surface <pair_smd_triangulated_surface>` pair style. It is possible to move the triangulated surface via the -:doc:`smd/move\_tri\_surf <fix_smd_move_triangulated_surface>` fix style. +:doc:`smd/move_tri_surf <fix_smd_move_triangulated_surface>` fix style. Immediately after a .STL file has been read, the simulation needs to be run for 0 timesteps in order to properly register the new particles -in the system. See the "funnel\_flow" example in the USER-SMD examples +in the system. See the "funnel_flow" example in the USER-SMD examples directory. See `this PDF guide <PDF/SMD_LAMMPS_userguide.pdf>`_ to use Smooth Mach Dynamics in LAMMPS. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Currently, no part of USER-SMD supports restarting nor minimization. This fix has no outputs. @@ -60,7 +58,6 @@ minimization. This fix has no outputs. Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -74,8 +71,8 @@ multiple objects in one file. Related commands """""""""""""""" -:doc:`smd/triangle\_mesh\_vertices <compute_smd_triangle_vertices>`, -:doc:`smd/move\_tri\_surf <fix_smd_move_triangulated_surface>`, -:doc:`smd/tri\_surface <pair_smd_triangulated_surface>` +:doc:`smd/triangle_mesh_vertices <compute_smd_triangle_vertices>`, +:doc:`smd/move_tri_surf <fix_smd_move_triangulated_surface>`, +:doc:`smd/tri_surface <pair_smd_triangulated_surface>` **Default:** none diff --git a/doc/src/fix_spring.rst b/doc/src/fix_spring.rst index e7db053d57..b337a4e048 100644 --- a/doc/src/fix_spring.rst +++ b/doc/src/fix_spring.rst @@ -6,7 +6,6 @@ fix spring command Syntax """""" - .. parsed-literal:: fix ID group-ID spring keyword values @@ -14,9 +13,9 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * spring = style name of this fix command * keyword = *tether* or *couple* - + .. parsed-literal:: - + *tether* values = K x y z R0 K = spring constant (force/distance units) x,y,z = point to which spring is tethered @@ -27,13 +26,10 @@ Syntax x,y,z = direction of spring R0 = equilibrium distance of spring (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix pull ligand spring tether 50.0 0.0 0.0 0.0 0.0 fix pull ligand spring tether 50.0 0.0 0.0 0.0 5.0 @@ -101,7 +97,7 @@ last example holds the ion a distance 5 away from the pore axis spring connecting two groups or a group and the tether point can cross a periodic boundary and its length be calculated correctly. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_spring_chunk.rst b/doc/src/fix_spring_chunk.rst index 8cd05d98aa..d839d9158c 100644 --- a/doc/src/fix_spring_chunk.rst +++ b/doc/src/fix_spring_chunk.rst @@ -6,7 +6,6 @@ fix spring/chunk command Syntax """""" - .. parsed-literal:: fix ID group-ID spring/chunk K chunkID comID @@ -20,8 +19,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix restrain all spring/chunk 100 chunkID comID @@ -50,7 +48,7 @@ chunk. Note that *K* thus represents the spring constant for the total force on each chunk of atoms, not for a spring applied to each atom. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_spring_rg.rst b/doc/src/fix_spring_rg.rst index fd3b09754b..962e780f7f 100644 --- a/doc/src/fix_spring_rg.rst +++ b/doc/src/fix_spring_rg.rst @@ -6,7 +6,6 @@ fix spring/rg command Syntax """""" - .. parsed-literal:: fix ID group-ID spring/rg K RG0 @@ -16,7 +15,6 @@ Syntax * K = harmonic force constant (force/distance units) * RG0 = target radius of gyration to constrain to (distance units) - .. parsed-literal:: if RG0 = NULL, use the current RG as the target value @@ -24,8 +22,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 protein spring/rg 5.0 10.0 fix 2 micelle spring/rg 5.0 NULL @@ -52,7 +49,6 @@ than the target value RG0. F_{i} & = 2K\frac{m_{i}}{M}\left( 1-\frac{R_{G0}}{R_G} \right)\left( x_{i} - \frac{1}{M}\sum_{j}^{N}{m_{j}x_{j}} \right) - The (:math:`x_i` - center-of-mass) term is computed taking into account periodic boundary conditions, :math:`m_i` is the mass of the atom, and *M* is the mass of the entire group. Note that K is thus a force constant @@ -61,7 +57,7 @@ for the aggregate force on the group of atoms, not a per-atom force. If :math:`R_{G0}` is specified as NULL, then the RG of the group is computed at the time the fix is specified, and that value is used as the target. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored diff --git a/doc/src/fix_spring_self.rst b/doc/src/fix_spring_self.rst index e74e515631..38da0013b1 100644 --- a/doc/src/fix_spring_self.rst +++ b/doc/src/fix_spring_self.rst @@ -6,7 +6,6 @@ fix spring/self command Syntax """""" - .. parsed-literal:: fix ID group-ID spring/self K dir @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix tether boundary-atoms spring/self 10.0 fix zrest move spring/self 10.0 z @@ -43,7 +41,7 @@ directions, but it can be limited to the xy-, xz-, yz-plane and the x-, y-, or z-direction, thus restraining the atoms to a line or a plane, respectively. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the original coordinates of tethered atoms to :doc:`binary restart files <restart>`, so that the spring effect will be the same in a restarted simulation. See the diff --git a/doc/src/fix_srd.rst b/doc/src/fix_srd.rst index 63d93a1c48..70f07cc0bf 100644 --- a/doc/src/fix_srd.rst +++ b/doc/src/fix_srd.rst @@ -6,7 +6,6 @@ fix srd command Syntax """""" - .. parsed-literal:: fix ID group-ID srd N groupbig-ID Tsrd hgrid seed keyword value ... @@ -21,9 +20,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *lamda* or *collision* or *overlap* or *inside* or *exact* or *radius* or *bounce* or *search* or *cubic* or *shift* or *tstat* or *rescale* - + .. parsed-literal:: - + *lamda* value = mean free path of SRD particles (distance units) *collision* value = *noslip* or *slip* = collision model *overlap* value = *yes* or *no* = whether big particles may overlap @@ -48,13 +47,10 @@ Syntax *rotate* = rescale during velocity rotation, but not collisions *collide* = rescale during collisions, but not velocity rotation - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 srd srd 10 big 1.0 0.25 482984 fix 1 srd srd 10 big 0.5 0.25 482984 collision slip search 0.5 @@ -99,7 +95,6 @@ SRD particles have a mass, temperature, characteristic timestep (:math:`\lambda`). The fundamental equation relating these 4 quantities is - .. math:: \lambda = dt_{SRD} \sqrt{\frac{k_B T_{SRD}}{m}} @@ -155,10 +150,8 @@ SRD velocity is chosen randomly. This collision style imparts torque to a big particle. Thus a time integrator :doc:`fix <fix>` that rotates the big particles appropriately should be used. - ---------- - The *overlap* keyword should be set to *yes* if two (or more) big particles can ever overlap. This depends on the pair potential interaction used for big-big interactions, or could be the case if @@ -204,10 +197,8 @@ bounces between nearby big particles. Note that if the limit is reached, the SRD can be left inside a big particle. A setting of 0 is the same as no limit. - ---------- - There are 2 kinds of bins created and maintained when running an SRD simulation. The first are "SRD bins" which are used to bin SRD particles and reset their velocities, as discussed above. The second @@ -322,10 +313,8 @@ rescaling off during collisions and the per-bin velocity rotation operation. The *collide* and *rotate* values turn it on for one of the operations and off for the other. - ---------- - .. note:: This fix is normally used for simulations with a huge number of @@ -345,15 +334,13 @@ interactions is specified, the :doc:`pair_coeff <pair_coeff>` command should be used to turn off big/SRD interactions, e.g. by setting their epsilon or cutoff length to 0.0. -The "delete\_atoms overlap" command may be useful in setting up an SRD +The "delete_atoms overlap" command may be useful in setting up an SRD simulation to insure there are no initial overlaps between big and SRD particles. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -388,7 +375,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This command can only be used if LAMMPS was built with the SRD package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -406,25 +392,17 @@ collision = noslip, overlap = no, inside = error, exact = yes, radius = 1.0, bounce = 0, search = hgrid, cubic = error 0.01, shift = no, tstat = no, and rescale = yes. - ---------- - .. _Hecht: - - **(Hecht)** Hecht, Harting, Ihle, Herrmann, Phys Rev E, 72, 011408 (2005). .. _Petersen1: - - **(Petersen)** Petersen, Lechman, Plimpton, Grest, in' t Veld, Schunk, J Chem Phys, 132, 174106 (2010). .. _Lechman: - - **(Lechman)** Lechman, et al, in preparation (2010). diff --git a/doc/src/fix_store_force.rst b/doc/src/fix_store_force.rst index 1a9dbf5849..d9ccd162fd 100644 --- a/doc/src/fix_store_force.rst +++ b/doc/src/fix_store_force.rst @@ -6,7 +6,6 @@ fix store/force command Syntax """""" - .. parsed-literal:: fix ID group-ID store/force @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all store/force @@ -51,7 +49,7 @@ potentially modify the force on each atom. Examples of such fixes are to include certain constraints (e.g. fix shake) in the stored force, then it could be specified after some fixes and before others. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -71,6 +69,6 @@ Restrictions Related commands """""""""""""""" -:doc:`fix store\_state <fix_store_state>` +:doc:`fix store_state <fix_store_state>` **Default:** none diff --git a/doc/src/fix_store_state.rst b/doc/src/fix_store_state.rst index d480a45d60..b8fee6b5ea 100644 --- a/doc/src/fix_store_state.rst +++ b/doc/src/fix_store_state.rst @@ -6,7 +6,6 @@ fix store/state command Syntax """""" - .. parsed-literal:: fix ID group-ID store/state N input1 input2 ... keyword value ... @@ -15,9 +14,9 @@ Syntax * store/state = style name of this fix command * N = store atom attributes every N steps, N = 0 for initial store only * input = one or more atom attributes - + .. parsed-literal:: - + possible attributes = id, mol, type, mass, x, y, z, xs, ys, zs, xu, yu, zu, xsu, ysu, zsu, ix, iy, iz, vx, vy, vz, fx, fy, fz, @@ -27,9 +26,8 @@ Syntax c_ID, c_ID[N], f_ID, f_ID[N], v_name, d_name, i_name - .. parsed-literal:: - + id = atom ID mol = molecule ID type = atom type @@ -58,18 +56,15 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *com* - + .. parsed-literal:: - + *com* value = *yes* or *no* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all store/state 0 x y z fix 1 all store/state 0 xu yu zu com yes @@ -107,7 +102,7 @@ The requested values are stored in a per-atom vector or array as discussed below. Zeroes are stored for atoms not in the specified group. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the per-atom values it stores to :doc:`binary restart files <restart>`, so that the values can be restored when a simulation is restarted. See the :doc:`read_restart <read_restart>` diff --git a/doc/src/fix_temp_berendsen.rst b/doc/src/fix_temp_berendsen.rst index 6351bb947b..4913efdf53 100644 --- a/doc/src/fix_temp_berendsen.rst +++ b/doc/src/fix_temp_berendsen.rst @@ -6,7 +6,6 @@ fix temp/berendsen command Syntax """""" - .. parsed-literal:: fix ID group-ID temp/berendsen Tstart Tstop Tdamp @@ -14,19 +13,17 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * temp/berendsen = style name of this fix command * Tstart,Tstop = desired temperature at start/end of run - + .. parsed-literal:: - + Tstart can be a variable (see below) * Tdamp = temperature damping parameter (time units) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all temp/berendsen 300.0 300.0 100.0 @@ -53,7 +50,7 @@ of (roughly) 100 time units (tau or fmsec or psec - see the *Tstart* can be specified as an equal-style :doc:`variable <variable>`. In this case, the *Tstop* setting is ignored. If the value is a -variable, it should be specified as v\_name, where name is the variable +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature. @@ -87,8 +84,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp @@ -97,12 +93,12 @@ that the ID of the new compute is the fix-ID + underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp*. +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify <compute_modify>` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -119,11 +115,9 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -151,7 +145,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix can be used with dynamic groups as defined by the :doc:`group <group>` command. Likewise it can be used with groups to which atoms are added or deleted over time, e.g. a deposition @@ -169,13 +162,9 @@ Related commands **Default:** none - ---------- - .. _Berendsen2: - - **(Berendsen)** Berendsen, Postma, van Gunsteren, DiNola, Haak, J Chem Phys, 81, 3684 (1984). diff --git a/doc/src/fix_temp_csvr.rst b/doc/src/fix_temp_csvr.rst index d57c0e2583..cd4e5dc88f 100644 --- a/doc/src/fix_temp_csvr.rst +++ b/doc/src/fix_temp_csvr.rst @@ -9,33 +9,28 @@ fix temp/csld command Syntax """""" - .. parsed-literal:: fix ID group-ID temp/csvr Tstart Tstop Tdamp seed - fix ID group-ID temp/csld Tstart Tstop Tdamp seed * ID, group-ID are documented in :doc:`fix <fix>` command * temp/csvr or temp/csld = style name of this fix command * Tstart,Tstop = desired temperature at start/end of run - + .. parsed-literal:: - + Tstart can be a variable (see below) * Tdamp = temperature damping parameter (time units) * seed = random number seed to use for white noise (positive integer) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all temp/csvr 300.0 300.0 100.0 54324 - fix 1 all temp/csld 100.0 300.0 10.0 123321 Description @@ -69,7 +64,7 @@ of (roughly) 100 time units (tau or fmsec or psec - see the *Tstart* can be specified as an equal-style :doc:`variable <variable>`. In this case, the *Tstop* setting is ignored. If the value is a -variable, it should be specified as v\_name, where name is the variable +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature. @@ -97,8 +92,7 @@ These fixes compute a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp @@ -107,12 +101,12 @@ that the ID of the new compute is the fix-ID + underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp*. +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify <compute_modify>` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, these fixes can be used @@ -129,11 +123,9 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about these fixes are written to :doc:`binary restart files <restart>`. @@ -157,7 +149,6 @@ is "extensive". Restrictions """""""""""" - These fixes are not compatible with :doc:`fix shake <fix_shake>`. The fix can be used with dynamic groups as defined by the @@ -177,17 +168,12 @@ Related commands **Default:** none - ---------- - .. _Bussi1: - - .. _Bussi2: **(Bussi1)** Bussi, Donadio and Parrinello, J. Chem. Phys. 126, 014101(2007) - **(Bussi2)** Bussi and Parrinello, Phys. Rev. E 75, 056707 (2007) diff --git a/doc/src/fix_temp_rescale.rst b/doc/src/fix_temp_rescale.rst index b8713d6c85..d23006c52b 100644 --- a/doc/src/fix_temp_rescale.rst +++ b/doc/src/fix_temp_rescale.rst @@ -6,7 +6,6 @@ fix temp/rescale command Syntax """""" - .. parsed-literal:: fix ID group-ID temp/rescale N Tstart Tstop window fraction @@ -15,20 +14,18 @@ Syntax * temp/rescale = style name of this fix command * N = perform rescaling every N steps * Tstart,Tstop = desired temperature at start/end of run (temperature units) - + .. parsed-literal:: - + Tstart can be a variable (see below) * window = only rescale if temperature is outside this window (temperature units) * fraction = rescale to target temperature by this fraction - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 flow temp/rescale 100 1.0 1.1 0.02 0.5 fix 3 boundary temp/rescale 1 1.0 1.5 0.05 1.0 @@ -59,7 +56,7 @@ beginning and end of the run. *Tstart* can be specified as an equal-style :doc:`variable <variable>`. In this case, the *Tstop* setting is ignored. If the value is a -variable, it should be specified as v\_name, where name is the variable +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the target temperature. @@ -94,8 +91,7 @@ This fix computes a temperature each timestep. To do this, the fix creates its own compute of style "temp", as if one of this command had been issued: - -.. parsed-literal:: +.. code-block:: LAMMPS compute fix-ID_temp group-ID temp @@ -104,12 +100,12 @@ ID of the new compute is the fix-ID + underscore + "temp", and the group for the new compute is the same as the fix group. Note that this is NOT the compute used by thermodynamic output (see -the :doc:`thermo_style <thermo_style>` command) with ID = *thermo\_temp*. +the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*. This means you can change the attributes of this fix's temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify <compute_modify>` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID. -It also means that changing attributes of *thermo\_temp* will have no +It also means that changing attributes of *thermo_temp* will have no effect on this fix. Like other fixes that perform thermostatting, this fix can be used @@ -126,11 +122,9 @@ temperature is calculated taking the bias into account, bias is removed from each atom, thermostatting is performed on the remaining thermal degrees of freedom, and the bias is added back in. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_temp_rescale_eff.rst b/doc/src/fix_temp_rescale_eff.rst index 6a13b4e922..5173e6addc 100644 --- a/doc/src/fix_temp_rescale_eff.rst +++ b/doc/src/fix_temp_rescale_eff.rst @@ -6,7 +6,6 @@ fix temp/rescale/eff command Syntax """""" - .. parsed-literal:: fix ID group-ID temp/rescale/eff N Tstart Tstop window fraction @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 3 flow temp/rescale/eff 10 1.0 100.0 0.02 1.0 @@ -37,7 +35,7 @@ The operation of this fix is exactly like that described by the :doc:`fix temp/r is also applied to the radial electron velocity for electron particles. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -65,7 +63,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the USER-EFF package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_tfmc.rst b/doc/src/fix_tfmc.rst index 2b111a4288..fe290dfc0c 100644 --- a/doc/src/fix_tfmc.rst +++ b/doc/src/fix_tfmc.rst @@ -6,7 +6,6 @@ fix tfmc command Syntax """""" - .. parsed-literal:: fix ID group-ID tfmc Delta Temp seed keyword value @@ -18,20 +17,17 @@ Syntax * seed = random number seed (positive integer) * zero or more keyword/arg pairs may be appended * keyword = *com* or *rot* - + .. parsed-literal:: - + *com* args = xflag yflag zflag xflag,yflag,zflag = 0/1 to exclude/include each dimension *rot* args = none - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all tfmc 0.1 1000.0 159345 fix 1 all tfmc 0.05 600.0 658943 com 1 1 0 @@ -118,11 +114,9 @@ rotational component of the tfMC displacements after every iteration. external forces, and removing them will lead to a violation of detailed balance. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -134,7 +128,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -151,26 +144,18 @@ Default The option default is com = 0 0 0 - ---------- - .. _Bal: - - **(Bal)** K. M Bal and E. C. Neyts, J. Chem. Phys. 141, 204104 (2014). .. _Mees: - - **(Mees)** M. J. Mees, G. Pourtois, E. C. Neyts, B. J. Thijsse, and A. Stesmans, Phys. Rev. B 85, 134301 (2012). .. _Neyts: - - **(Neyts)** E. C. Neyts and A. Bogaerts, Theor. Chem. Acc. 132, 1320 (2013). diff --git a/doc/src/fix_thermal_conductivity.rst b/doc/src/fix_thermal_conductivity.rst index 4c62ccd9be..6b8b670694 100644 --- a/doc/src/fix_thermal_conductivity.rst +++ b/doc/src/fix_thermal_conductivity.rst @@ -6,7 +6,6 @@ fix thermal/conductivity command Syntax """""" - .. parsed-literal:: fix ID group-ID thermal/conductivity N edim Nbin keyword value ... @@ -18,18 +17,15 @@ Syntax * Nbin = # of layers in edim direction (must be even number) * zero or more keyword/value pairs may be appended * keyword = *swap* - + .. parsed-literal:: - + *swap* value = Nswap = number of swaps to perform every N steps - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all thermal/conductivity 100 z 20 fix 1 all thermal/conductivity 50 z 20 swap 2 @@ -67,8 +63,7 @@ this induces a temperature gradient in the system which can be measured using commands such as the following, which writes the temperature profile (assuming z = edim) to the file tmp.profile: - -.. parsed-literal:: +.. code-block:: LAMMPS compute ke all ke/atom variable temp atom c_ke/1.5 @@ -113,7 +108,7 @@ fluid, in appropriate units. See the :ref:`Muller-Plathe paper <Muller-Plathe1> accurately infer a thermal conductivity and should try increasing the Nevery parameter. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -133,7 +128,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -165,19 +159,13 @@ Default The option defaults are swap = 1. - ---------- - .. _Muller-Plathe1: - - **(Muller-Plathe)** Muller-Plathe, J Chem Phys, 106, 6082 (1997). .. _Zhang2: - - **(Zhang)** Zhang, Lussetti, de Souza, Muller-Plathe, J Phys Chem B, 109, 15060-15067 (2005). diff --git a/doc/src/fix_ti_spring.rst b/doc/src/fix_ti_spring.rst index 152e3fbcac..8bf5439e0d 100644 --- a/doc/src/fix_ti_spring.rst +++ b/doc/src/fix_ti_spring.rst @@ -6,7 +6,6 @@ fix ti/spring command Syntax """""" - .. parsed-literal:: fix ID group-ID ti/spring k t_s t_eq keyword value ... @@ -14,22 +13,19 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * ti/spring = style name of this fix command * k = spring constant (force/distance units) -* t\_eq = number of steps for the equilibration procedure -* t\_s = number of steps for the switching procedure +* t_eq = number of steps for the equilibration procedure +* t_s = number of steps for the switching procedure * zero or more keyword/value pairs may be appended to args * keyword = *function* - + .. parsed-literal:: - + *function* value = function-ID function-ID = ID of the switching function (1 or 2) - - **Example:** - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all ti/spring 50.0 2000 1000 function 2 @@ -52,9 +48,8 @@ each atom is given by F = \left( 1-\lambda \right) F_{\text{solid}} + \lambda F_{\text{harm}} - -where F\_solid is the force that acts on an atom due to an interatomic -potential (\ *e.g.* EAM potential), F\_harm is the force due to the +where F_solid is the force that acts on an atom due to an interatomic +potential (\ *e.g.* EAM potential), F_harm is the force due to the Einstein crystal harmonic spring, and lambda is the coupling parameter of the thermodynamic integration. An Einstein crystal is a solid where each atom is attached to its equilibrium position by a harmonic spring @@ -63,15 +58,15 @@ independently to each atom in the group defined by the fix to tether it to its initial position. The initial position of each atom is its position at the time the fix command was issued. -The fix acts as follows: during the first *t\_eq* steps after the fix +The fix acts as follows: during the first *t_eq* steps after the fix is defined the value of lambda is zero. This is the period to equilibrate the system in the lambda = 0 state. After this the value of lambda changes dynamically during the simulation from 0 to 1 according to the function defined using the keyword *function* (described below), this switching from lambda from 0 to 1 is done in -*t\_s* steps. Then comes the second equilibration period of *t\_eq* to +*t_s* steps. Then comes the second equilibration period of *t_eq* to equilibrate the system in the lambda = 1 state. After that, the -switching back to the lambda = 0 state is made using *t\_s* timesteps +switching back to the lambda = 0 state is made using *t_s* timesteps and following the same switching function. After this period the value of lambda is kept equal to zero and the fix has no other effect on the dynamics of the system. @@ -93,8 +88,7 @@ time: \lambda(\tau) = \tau - -where tau is the scaled time variable *t/t\_s*. The option *2* performs +where tau is the scaled time variable *t/t_s*. The option *2* performs the lambda switching at a rate defined by the following switching function @@ -102,7 +96,6 @@ function \lambda(\tau) = \tau^5 \left( 70 \tau^4 - 315 \tau^3 + 540 \tau^2 - 420 \tau + 126 \right) - This function has zero slope as lambda approaches its extreme values (0 and 1), according to :ref:`de Koning <deKoning96>` this results in smaller fluctuations on the integral to be computed on the @@ -123,7 +116,7 @@ increase in computational resources cost. option will *NOT* solve this problem). The Langevin thermostat (:doc:`fix langevin <fix_langevin>`) correctly thermostats the system and we advise its usage with ti/spring command. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the original coordinates of tethered atoms to :doc:`binary restart files <restart>`, so that the spring effect will be the same in a restarted simulation. See the :doc:`read restart <read_restart>` command for info on how to re-specify a fix @@ -163,7 +156,6 @@ Related commands Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -172,19 +164,13 @@ Default The keyword default is function = 1. - ---------- - .. _Freitas1: - - **(Freitas)** Freitas, Asta, and de Koning, Computational Materials Science, 112, 333 (2016). .. _deKoning96: - - **(de Koning)** de Koning and Antonelli, Phys Rev E, 53, 465 (1996). diff --git a/doc/src/fix_tmd.rst b/doc/src/fix_tmd.rst index 30a927c7e7..bbc99d3ba2 100644 --- a/doc/src/fix_tmd.rst +++ b/doc/src/fix_tmd.rst @@ -6,14 +6,13 @@ fix tmd command Syntax """""" - .. parsed-literal:: fix ID group-ID tmd rho_final file1 N file2 * ID, group-ID are documented in :doc:`fix <fix>` command * tmd = style name of this fix command -* rho\_final = desired value of rho at the end of the run (distance units) +* rho_final = desired value of rho at the end of the run (distance units) * file1 = filename to read target structure from * N = dump TMD statistics every this many timesteps, 0 = no dump * file2 = filename to write TMD statistics to (only needed if N > 0) @@ -21,8 +20,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nve fix 2 tmdatoms tmd 1.0 target_file 100 tmd_dump_file @@ -34,18 +32,17 @@ Perform targeted molecular dynamics (TMD) on a group of atoms. A holonomic constraint is used to force the atoms to move towards (or away from) the target configuration. The parameter "rho" is monotonically decreased (or increased) from its initial value to -rho\_final at the end of the run. +rho_final at the end of the run. Rho has distance units and is a measure of the root-mean-squared distance (RMSD) between the current configuration of the atoms in the group and the target coordinates listed in file1. Thus a value of -rho\_final = 0.0 means move the atoms all the way to the final +rho_final = 0.0 means move the atoms all the way to the final structure during the course of the run. The target file1 can be ASCII text or a gzipped text file (detected by a .gz suffix). The format of the target file1 is as follows: - .. parsed-literal:: 0.0 25.0 xlo xhi @@ -81,10 +78,10 @@ The atoms in the fix tmd group should be integrated (via a fix nve, nvt, npt) along with other atoms in the system. Restarts can be used with a fix tmd command. For example, imagine a -10000 timestep run with a rho\_initial = 11 and a rho\_final = 1. If a +10000 timestep run with a rho_initial = 11 and a rho_final = 1. If a restart file was written after 2000 time steps, then the configuration in the file would have a rho value of 9. A new 8000 time step run -could be performed with the same rho\_final = 1 to complete the +could be performed with the same rho_final = 1 to complete the conformational change at the same transition rate. Note that for restarted runs, the name of the TMD statistics file should be changed to prevent it being overwritten. @@ -92,7 +89,7 @@ to prevent it being overwritten. For more information about TMD, see :ref:`(Schlitter1) <Schlitter1>` and :ref:`(Schlitter2) <Schlitter2>`. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -107,7 +104,6 @@ This fix is not invoked during :doc:`energy minimization <minimize>`. Restrictions """""""""""" - All TMD fixes must be listed in the input script after all integrator fixes (nve, nvt, npt) are applied. This ensures that atoms are moved before their positions are corrected to comply with the constraint. @@ -118,29 +114,23 @@ are not multiple competing holonomic constraints applied to the same atoms. To read gzipped target files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. See the :doc:`Build settings <Build_settings>` +-DLAMMPS_GZIP option. See the :doc:`Build settings <Build_settings>` doc page for details. **Related commands:** none **Default:** none - ---------- - .. _Schlitter1: - - **(Schlitter1)** Schlitter, Swegat, Mulders, "Distance-type reaction coordinates for modelling activated processes", J Molecular Modeling, 7, 171-177 (2001). .. _Schlitter2: - - **(Schlitter2)** Schlitter and Klahn, "The free energy of a reaction coordinate at multiple constraints: a concise formulation", Molecular Physics, 101, 3439-3443 (2003). diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index 022afc67b5..ae759c1b13 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -9,19 +9,18 @@ fix ttm/mod command Syntax """""" - .. parsed-literal:: fix ID group-ID ttm seed C_e rho_e kappa_e gamma_p gamma_s v_0 Nx Ny Nz T_infile N T_outfile fix ID group-ID ttm/mod seed init_file Nx Ny Nz T_infile N T_outfile * ID, group-ID are documented in :doc:`fix <fix>` command -* style = *ttm* or *ttm\_mod* +* style = *ttm* or *ttm_mod* * seed = random number seed to use for white noise (positive integer) * remaining arguments for fix ttm: - + .. parsed-literal:: - + C_e = electronic specific heat (energy/(electron\*temperature) units) rho_e = electronic density (electrons/volume units) kappa_e = electronic thermal conductivity (energy/(time\*distance\*temperature) units) @@ -36,9 +35,9 @@ Syntax T_outfile = filename to write TTM temperatures to (only needed if N > 0) * remaining arguments for fix ttm/mod: - + .. parsed-literal:: - + init_file = file with the parameters to TTM Nx = number of thermal solve grid points in the x-direction (positive integer) Ny = number of thermal solve grid points in the y-direction (positive integer) @@ -47,13 +46,10 @@ Syntax N = dump TTM temperatures every this many timesteps, 0 = no dump T_outfile = filename to write TTM temperatures to (only needed if N > 0) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all ttm 699489 1.0 1.0 10 0.1 0.0 2.0 1 12 1 initialTs 1000 T.out fix 2 all ttm 123456 1.0 1.0 1.0 1.0 1.0 5.0 5 5 5 Te.in 1 Te.out @@ -97,11 +93,11 @@ reservoir, whereas the heat reservoir for fix TTM is finite and represents the local electrons. Third, the TTM fix allows users to specify not just one friction coefficient, but rather two independent friction coefficients: one for the electron-ion interactions -(*gamma\_p*), and one for electron stopping (*gamma\_s*). +(*gamma_p*), and one for electron stopping (*gamma_s*). -When the friction coefficient due to electron stopping, *gamma\_s*, is +When the friction coefficient due to electron stopping, *gamma_s*, is non-zero, electron stopping effects are included for atoms moving -faster than the electron stopping critical velocity, *v\_0*. For +faster than the electron stopping critical velocity, *v_0*. For further details about this algorithm, see :ref:`(Duffy) <Duffy>` and :ref:`(Rutherford) <Rutherford>`. @@ -111,16 +107,15 @@ transfer between the subsystems: .. math:: - C_e \rho_e \frac{\partial T_e}{\partial t} = - \bigtriangledown (\kappa_e \bigtriangledown T_e) - + C_e \rho_e \frac{\partial T_e}{\partial t} = + \bigtriangledown (\kappa_e \bigtriangledown T_e) - g_p (T_e - T_a) + g_s T_a' - -where C\_e is the specific heat, rho\_e is the density, kappa\_e is the +where C_e is the specific heat, rho_e is the density, kappa_e is the thermal conductivity, T is temperature, the "e" and "a" subscripts -represent electronic and atomic subsystems respectively, g\_p is the -coupling constant for the electron-ion interaction, and g\_s is the -electron stopping coupling parameter. C\_e, rho\_e, and kappa\_e are +represent electronic and atomic subsystems respectively, g_p is the +coupling constant for the electron-ion interaction, and g_s is the +electron stopping coupling parameter. C_e, rho_e, and kappa_e are specified as parameters to the fix. The other quantities are derived. The form of the heat diffusion equation used here is almost the same as that in equation 6 of :ref:`(Duffy) <Duffy>`, with the exception that the @@ -140,15 +135,14 @@ approach of :ref:`(Rutherford) <Rutherford>` where the atomic subsystem was embedded within a larger continuum representation of the electronic subsystem. -The initial electronic temperature input file, *T\_infile*, is a text +The initial electronic temperature input file, *T_infile*, is a text file LAMMPS reads in with no header and with four numeric columns (ix,iy,iz,Temp) and with a number of rows equal to the number of user-specified grid points (Nx by Ny by Nz). The ix,iy,iz are node indices from 0 to nxnodes-1, etc. For example, the initial electronic -temperatures on a 1 by 2 by 3 grid could be specified in a *T\_infile* +temperatures on a 1 by 2 by 3 grid could be specified in a *T_infile* as follows: - .. parsed-literal:: 0 0 0 1.0 @@ -163,7 +157,7 @@ where the electronic temperatures along the y=0 plane have been set to to 2.0. The order of lines in this file is no important. If all the nodal values are not specified, LAMMPS will generate an error. -The temperature output file, *T\_oufile*, is created and written by +The temperature output file, *T_oufile*, is created and written by this fix. Temperatures for both the electronic and atomic subsystems at every node and every N timesteps are output. If N is specified as zero, no output is generated, and no output filename is needed. The @@ -189,10 +183,8 @@ temperature controlled by another fix - e.g. :doc:`fix nvt <fix_nh>` or you should insure that this grid is not too large, else your simulation could incur high memory and communication costs. - ---------- - **Additional details for fix ttm/mod** Fix ttm/mod uses the heat diffusion equation with possible external @@ -200,28 +192,26 @@ heat sources (e.g. laser heating in ablation simulations): .. math:: - C_e \rho_e \frac{\partial T_e}{\partial t} = - \bigtriangledown (\kappa_e \bigtriangledown T_e) - + C_e \rho_e \frac{\partial T_e}{\partial t} = + \bigtriangledown (\kappa_e \bigtriangledown T_e) - g_p (T_e - T_a) + g_s T_a' + \theta (x-x_{surface})I_0 \exp(-x/l_{skin}) - -where theta is the Heaviside step function, I\_0 is the (absorbed) -laser pulse intensity for ablation simulations, l\_skin is the depth +where theta is the Heaviside step function, I_0 is the (absorbed) +laser pulse intensity for ablation simulations, l_skin is the depth of skin-layer, and all other designations have the same meaning as in the former equation. The duration of the pulse is set by the parameter -*tau* in the *init\_file*. +*tau* in the *init_file*. -Fix ttm/mod also allows users to specify the dependencies of C\_e and -kappa\_e on the electronic temperature. The specific heat is expressed +Fix ttm/mod also allows users to specify the dependencies of C_e and +kappa_e on the electronic temperature. The specific heat is expressed as .. math:: C_e = C_0 + (a_0 + a_1 X + a_2 X^2 + a_3 X^3 + a_4 X^4) \exp (-(AX)^2) - -where *X* = T\_e/1000, and the thermal conductivity is defined as -kappa\_e = D\_e\*rho\_e\*C\_e, where D\_e is the thermal diffusion +where *X* = T_e/1000, and the thermal conductivity is defined as +kappa_e = D_e\*rho_e\*C_e, where D_e is the thermal diffusion coefficient. Electronic pressure effects are included in the TTM model to account @@ -233,24 +223,23 @@ acting on an ion is: {\vec F}_i = - \partial U / \partial {\vec r}_i + {\vec F}_{langevin} - \nabla P_e/n_{ion} - -where F\_langevin is a force from Langevin thermostat simulating -electron-phonon coupling, and nabla P\_e/n\_ion is the electron blast +where F_langevin is a force from Langevin thermostat simulating +electron-phonon coupling, and nabla P_e/n_ion is the electron blast force. -The electronic pressure is taken to be P\_e = B\*rho\_e\*C\_e\*T\_e +The electronic pressure is taken to be P_e = B\*rho_e\*C_e\*T_e The current fix ttm/mod implementation allows TTM simulations with a vacuum. The vacuum region is defined as the grid cells with zero electronic temperature. The numerical scheme does not allow energy exchange with such cells. Since the material can expand to previously unoccupied region in some simulations, the vacuum border can be -allowed to move. It is controlled by the *surface\_movement* parameter -in the *init\_file*. If it is set to 1, then "vacuum" cells can be -changed to "electron-filled" cells with the temperature *T\_e_min* if +allowed to move. It is controlled by the *surface_movement* parameter +in the *init_file*. If it is set to 1, then "vacuum" cells can be +changed to "electron-filled" cells with the temperature *T_e_min* if atoms move into them (currently only implemented for the case of 1-dimensional motion of flat surface normal to the X axis). The -initial borders of vacuum can be set in the *init\_file* via *lsurface* +initial borders of vacuum can be set in the *init_file* via *lsurface* and *rsurface* parameters. In this case, electronic pressure gradient is calculated as @@ -258,15 +247,13 @@ is calculated as \nabla_x P_e = \left[\frac{C_e{}T_e(x)\lambda}{(x+\lambda)^2} + \frac{x}{x+\lambda}\frac{(C_e{}T_e)_{x+\Delta x}-(C_e{}T_e)_{x}}{\Delta x} \right] - where lambda is the electron mean free path (see :ref:`(Norman) <Norman>`, :ref:`(Pisarev) <Pisarev>`) -The fix ttm/mod parameter file *init\_file* has the following syntax/ +The fix ttm/mod parameter file *init_file* has the following syntax/ Every line with the odd number is considered as a comment and ignored. The lines with the even numbers are treated as follows: - .. parsed-literal:: a_0, energy/(temperature\*electron) units @@ -292,11 +279,9 @@ ignored. The lines with the even numbers are treated as follows: surface_movement: 0 to disable tracking of surface motion, 1 to enable T_e_min, temperature units - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** These fixes write the state of the electronic subsystem and the energy exchange between the subsystems to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command @@ -335,7 +320,6 @@ of the :doc:`run <run>` command. The fixes are not invoked during Restrictions """""""""""" - Fix *ttm* is part of the MISC package. It is only enabled if LAMMPS was built with that package. Fix *ttm/mod* is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. @@ -352,41 +336,29 @@ Related commands **Default:** none - ---------- - .. _Duffy: - - **(Duffy)** D M Duffy and A M Rutherford, J. Phys.: Condens. Matter, 19, 016207-016218 (2007). .. _Rutherford: - - **(Rutherford)** A M Rutherford and D M Duffy, J. Phys.: Condens. Matter, 19, 496201-496210 (2007). .. _Chen: - - **(Chen)** J Chen, D Tzou and J Beraun, Int. J. Heat Mass Transfer, 49, 307-316 (2006). .. _Norman: - - **(Norman)** G E Norman, S V Starikov, V V Stegailov et al., Contrib. Plasma Phys., 53, 129-139 (2013). .. _Pisarev: - - **(Pisarev)** V V Pisarev and S V Starikov, J. Phys.: Condens. Matter, 26, 475401 (2014). diff --git a/doc/src/fix_tune_kspace.rst b/doc/src/fix_tune_kspace.rst index 42040af013..66a3fef024 100644 --- a/doc/src/fix_tune_kspace.rst +++ b/doc/src/fix_tune_kspace.rst @@ -6,7 +6,6 @@ fix tune/kspace command Syntax """""" - .. parsed-literal:: fix ID group-ID tune/kspace N @@ -15,12 +14,10 @@ Syntax * tune/kspace = style name of this fix command * N = invoke this fix every N steps - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 2 all tune/kspace 100 @@ -83,11 +80,10 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the KSPACE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. -Do not set "neigh\_modify once yes" or else this fix will never be +Do not set "neigh_modify once yes" or else this fix will never be called. Reneighboring is required. This fix is not compatible with a hybrid pair style, long-range dispersion, diff --git a/doc/src/fix_vector.rst b/doc/src/fix_vector.rst index 92ebffba1e..81922dea8a 100644 --- a/doc/src/fix_vector.rst +++ b/doc/src/fix_vector.rst @@ -6,7 +6,6 @@ fix vector command Syntax """""" - .. parsed-literal:: fix ID group-ID vector Nevery value1 value2 ... @@ -15,10 +14,10 @@ Syntax * vector = style name of this fix command * Nevery = use input values every this many timesteps * one or more input values can be listed -* value = c\_ID, c\_ID[N], f\_ID, f\_ID[N], v\_name - +* value = c_ID, c_ID[N], f_ID, f_ID[N], v_name + .. parsed-literal:: - + c_ID = global scalar calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID f_ID = global scalar calculated by a fix with ID @@ -26,13 +25,10 @@ Syntax v_name = value calculated by an equal-style variable with name v_name[I] = Ith component of vector-style variable with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all vector 100 c_myTemp fix 1 all vector 5 c_myTemp v_integral @@ -52,12 +48,11 @@ time-integrated using the :doc:`variable trap() <variable>` function. For example the velocity auto-correlation function (VACF) can be time-integrated, to yield a diffusion coefficient, as follows: - -.. parsed-literal:: +.. code-block:: LAMMPS compute 2 all vacf fix 5 all vector 1 c_2[4] - variable diff equal dt\*trap(f_5) + variable diff equal dt*trap(f_5) thermo_style custom step v_diff The group specified with this command is ignored. However, note that @@ -89,10 +84,8 @@ command with a timestep value that encompasses all the runs. This is so that the vector or array stored by this fix can be allocated to a sufficient size. - ---------- - If a value begins with "c\_", a compute ID must follow which has been previously defined in the input script. If no bracketed term is appended, the global scalar calculated by the compute is used. If a @@ -128,11 +121,9 @@ keywords, or they can invoke other computes, fixes, or variables when they are evaluated, so this is a very general means of specifying quantities to be stored by fix vector. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. diff --git a/doc/src/fix_viscosity.rst b/doc/src/fix_viscosity.rst index 9dd1cf3557..e31cbf2e45 100644 --- a/doc/src/fix_viscosity.rst +++ b/doc/src/fix_viscosity.rst @@ -6,7 +6,6 @@ fix viscosity command Syntax """""" - .. parsed-literal:: fix ID group-ID viscosity N vdim pdim Nbin keyword value ... @@ -19,19 +18,16 @@ Syntax * Nbin = # of layers in pdim direction (must be even number) * zero or more keyword/value pairs may be appended * keyword = *swap* or *target* - + .. parsed-literal:: - + *swap* value = Nswap = number of swaps to perform every N steps *vtarget* value = V or INF = target velocity of swap partners (velocity units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all viscosity 100 x z 20 fix 1 all viscosity 50 x z 20 swap 2 vtarget 1.5 @@ -66,8 +62,7 @@ directions. Over time, this induces a shear velocity profile in the system which can be measured using commands such as the following, which writes the profile to the file tmp.profile: - -.. parsed-literal:: +.. code-block:: LAMMPS compute layers all chunk/atom bin/1d z lower 0.05 units reduced fix f1 all ave/chunk 100 10 1000 layers vx file tmp.profile @@ -118,7 +113,7 @@ system using a :doc:`PPPM solver <kspace_style>` since PPPM does not currently support non-orthogonal boxes. Using fix viscosity keeps the box orthogonal; thus it does not suffer from this limitation. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -138,7 +133,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -168,19 +162,13 @@ Default The option defaults are swap = 1 and vtarget = INF. - ---------- - .. _Muller-Plathe2: - - **(Muller-Plathe)** Muller-Plathe, Phys Rev E, 59, 4894-4898 (1999). .. _Maginn: - - **(Maginn)** Kelkar, Rafferty, Maginn, Siepmann, Fluid Phase Equilibria, 260, 218-231 (2007). diff --git a/doc/src/fix_viscous.rst b/doc/src/fix_viscous.rst index 427ff06cfd..88d619e56c 100644 --- a/doc/src/fix_viscous.rst +++ b/doc/src/fix_viscous.rst @@ -6,7 +6,6 @@ fix viscous command Syntax """""" - .. parsed-literal:: fix ID group-ID viscous gamma keyword values ... @@ -15,21 +14,18 @@ Syntax * viscous = style name of this fix command * gamma = damping coefficient (force/velocity units) * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *scale* *scale* values = type ratio type = atom type (1-N) ratio = factor to scale the damping coefficient by - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 flow viscous 0.1 fix 1 damp viscous 0.5 scale 3 2.5 @@ -88,7 +84,7 @@ more easily be used as a thermostat. ---------- -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index c76b0c8905..a56bca3c45 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -24,7 +24,6 @@ fix wall/morse command Syntax """""" - .. parsed-literal:: fix ID group-ID style face args ... keyword value ... @@ -34,9 +33,9 @@ Syntax * one or more face/arg pairs may be appended * face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* * args for styles *lj93* or *lj126* or *lj1043* or *colloid* or *harmonic* - + .. parsed-literal:: - + args = coord epsilon sigma cutoff coord = position of wall = EDGE or constant or variable EDGE = current lo or hi edge of simulation box @@ -49,9 +48,9 @@ Syntax cutoff = distance from wall at which wall-particle interaction is cut off (distance units) * args for style *morse* - + .. parsed-literal:: - + args = coord D_0 alpha r_0 cutoff coord = position of wall = EDGE or constant or variable EDGE = current lo or hi edge of simulation box @@ -67,9 +66,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* or *fld* - + .. parsed-literal:: - + *units* value = *lattice* or *box* *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units @@ -80,13 +79,10 @@ Syntax *yes* = allow periodic boundary in a wall dimension *no* = require non-perioidic boundaries in any wall dimension - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix wallhi all wall/lj93 xlo -1.0 1.0 1.0 2.5 units box fix wallhi all wall/lj93 xhi EDGE 1.0 1.0 2.5 @@ -106,40 +102,36 @@ For style *wall/lj93*\ , the energy E is given by the 9/3 potential: .. math:: - E = \epsilon \left[ \frac{2}{15} \left(\frac{\sigma}{r}\right)^{9} - + E = \epsilon \left[ \frac{2}{15} \left(\frac{\sigma}{r}\right)^{9} - \left(\frac{\sigma}{r}\right)^3 \right] \qquad r < r_c - For style *wall/lj126*\ , the energy E is given by the 12/6 potential: .. math:: - E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c - For style *wall/lj1043*\ , the energy E is given by the 10/4/3 potential: .. math:: - E = 2 \pi \epsilon \left[ \frac{2}{5} \left(\frac{\sigma}{r}\right)^{10} - + E = 2 \pi \epsilon \left[ \frac{2}{5} \left(\frac{\sigma}{r}\right)^{10} - \left(\frac{\sigma}{r}\right)^4 - \frac{\sqrt(2)\sigma^3}{3\left(r+\left(0.61/\sqrt(2)\right)\sigma\right)^3}\right] \qquad r < r_c - For style *wall/colloid*\ , the energy E is given by an integrated form of the :doc:`pair_style colloid <pair_colloid>` potential: .. math:: - E = & \epsilon \left[ \frac{\sigma^{6}}{7560} + E = & \epsilon \left[ \frac{\sigma^{6}}{7560} \left(\frac{6R-D}{D^{7}} + \frac{D+8R}{(D+2R)^{7}} \right) \right. \\ & \left. - \frac{1}{6} \left(\frac{2R(D+R) + D(D+2R) - \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c - + \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c For style *wall/harmonic*\ , the energy E is given by a harmonic spring potential: @@ -148,7 +140,6 @@ potential: E = \epsilon \quad (r - r_c)^2 \qquad r < r_c - For style *wall/morse*\ , the energy E is given by a Morse potential: .. math:: @@ -156,7 +147,6 @@ For style *wall/morse*\ , the energy E is given by a Morse potential: E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c - In all cases, *r* is the distance from the particle to the wall at position *coord*\ , and :math:`r_c` is the *cutoff* distance at which the particle and wall no longer interact. The energy of the wall @@ -175,7 +165,7 @@ EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. -If the wall position is a variable, it should be specified as v\_name, +If the wall position is a variable, it should be specified as v_name, where name is an :doc:`equal-style variable <variable>` name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables @@ -232,7 +222,7 @@ inverse distance units, and :math:`r_0` distance units. For any wall, the :math:`\epsilon` and/or :math:`\sigma` and/or :math:`\alpha` parameter can be specified as an :doc:`equal-style variable <variable>`, in which case it should be -specified as v\_name, where name is the variable name. As with a +specified as v_name, where name is the variable name. As with a variable wall position, the variable is evaluated each timestep and the result becomes the current epsilon or sigma of the wall. Equal-style variables can specify formulas with various mathematical @@ -288,17 +278,14 @@ then particles may interact with both the wall and with periodic images on the other side of the box, which is probably not what you want. - ---------- - Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style :doc:`variables <variable>`. The wall interaction parameters (epsilon, sigma) could be varied with additional variable definitions. - -.. parsed-literal:: +.. code-block:: LAMMPS variable ramp equal ramp(0,10) fix 1 all wall xlo v_ramp 1.0 1.0 2.5 @@ -312,35 +299,31 @@ sigma) could be varied with additional variable definitions. variable wiggle equal cwiggle(0.0,5.0,3.0) fix 1 all wall xlo v_wiggle 1.0 1.0 2.5 -The ramp(lo,hi) function adjusts the wall position linearly from lo to -hi over the course of a run. The vdisplace(c0,velocity) function does -something similar using the equation position = c0 + velocity\*delta, -where delta is the elapsed time. - -The swiggle(c0,A,period) function causes the wall position to -oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: +The *ramp(lo,hi)* function adjusts the wall position linearly from *lo* to +*hi* over the course of a run. The *vdisplace(c0,velocity)* function does +something similar using the equation *position = c0 + velocity\*delta*\ , +where *delta* is the elapsed time. +The *swiggle(c0,A,period)* function causes the wall position to +oscillate sinusoidally according to this equation, where *omega = 2 PI +/ period*\ : .. parsed-literal:: position = c0 + A sin(omega\*delta) -The cwiggle(c0,A,period) function causes the wall position to +The *cwiggle(c0,A,period)* function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler perturbation on the particles: - .. parsed-literal:: position = c0 + A (1 - cos(omega\*delta)) - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. @@ -379,10 +362,8 @@ invoked by the :doc:`minimize <minimize>` command. minimized), you MUST enable the :doc:`fix_modify <fix_modify>` *energy* option for this fix. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -401,10 +382,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" none @@ -421,13 +400,9 @@ Default The option defaults units = lattice, fld = no, and pbc = no. - ---------- - .. _Magda: - - **(Magda)** Magda, Tirrell, Davis, J Chem Phys, 83, 1888-1901 (1985); erratum in JCP 84, 2901 (1986). diff --git a/doc/src/fix_wall_body_polygon.rst b/doc/src/fix_wall_body_polygon.rst index 6b0ba4b130..a93d71369f 100644 --- a/doc/src/fix_wall_body_polygon.rst +++ b/doc/src/fix_wall_body_polygon.rst @@ -6,21 +6,20 @@ fix wall/body/polygon command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/body/polygon k_n c_n c_t wallstyle args keyword values ... * ID, group-ID are documented in :doc:`fix <fix>` command * wall/body/polygon = style name of this fix command -* k\_n = normal repulsion strength (force/distance or pressure units) -* c\_n = normal damping coefficient (force/distance or pressure units) -* c\_t = tangential damping coefficient (force/distance or pressure units) +* k_n = normal repulsion strength (force/distance or pressure units) +* c_n = normal damping coefficient (force/distance or pressure units) +* c_t = tangential damping coefficient (force/distance or pressure units) * wallstyle = *xplane* or *yplane* or *zplane* or *zcylinder* * args = list of arguments for a particular style - + .. parsed-literal:: - + *xplane* or *yplane* args = lo hi lo,hi = position of lower and upper plane (distance units), either can be NULL) *zcylinder* args = radius @@ -28,20 +27,20 @@ Syntax * zero or more keyword/value pairs may be appended to args * keyword = *wiggle* - + .. parsed-literal:: - + *wiggle* values = dim amplitude period dim = *x* or *y* or *z* amplitude = size of oscillation (distance units) period = time of oscillation (time units) - - Examples """""""" -fix 1 all wall/body/polygon 1000.0 20.0 5.0 xplane -10.0 10.0 +.. code-block:: LAMMPS + + fix 1 all wall/body/polygon 1000.0 20.0 5.0 xplane -10.0 10.0 Description """"""""""" @@ -55,7 +54,7 @@ particles themselves, which is similar to a Hookean potential. See the :doc:`Howto body <Howto_body>` doc page for more details on using body particles. -The parameters *k\_n*, *c\_n*, *c\_t* have the same meaning and units as +The parameters *k_n*, *c_n*, *c_t* have the same meaning and units as those specified with the :doc:`pair_style body/rounded/polygon <pair_body_rounded_polygon>` command. The *wallstyle* can be planar or cylindrical. The 2 planar options @@ -79,7 +78,6 @@ the z dimension. Each timestep, the position of a wiggled wall in the appropriate *dim* is set according to this equation: - .. parsed-literal:: position = coord + A - A cos (omega \* delta) @@ -89,7 +87,7 @@ the *amplitude*\ , *omega* is 2 PI / *period*\ , and *delta* is the time elapsed since the fix was specified. The velocity of the wall is set to the derivative of this expression. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored by this fix for @@ -100,7 +98,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_wall_body_polyhedron.rst b/doc/src/fix_wall_body_polyhedron.rst index 38e75de13a..4b01234f0f 100644 --- a/doc/src/fix_wall_body_polyhedron.rst +++ b/doc/src/fix_wall_body_polyhedron.rst @@ -6,21 +6,20 @@ fix wall/body/polyhedron command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/body/polyhedron k_n c_n c_t wallstyle args keyword values ... * ID, group-ID are documented in :doc:`fix <fix>` command * wall/body/polyhedron = style name of this fix command -* k\_n = normal repulsion strength (force/distance units or pressure units - see discussion below) -* c\_n = normal damping coefficient (force/distance units or pressure units - see discussion below) -* c\_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) +* k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) +* c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) +* c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) * wallstyle = *xplane* or *yplane* or *zplane* or *zcylinder* * args = list of arguments for a particular style - + .. parsed-literal:: - + *xplane* or *yplane* args = lo hi lo,hi = position of lower and upper plane (distance units), either can be NULL) *zcylinder* args = radius @@ -28,20 +27,20 @@ Syntax * zero or more keyword/value pairs may be appended to args * keyword = *wiggle* - + .. parsed-literal:: - + *wiggle* values = dim amplitude period dim = *x* or *y* or *z* amplitude = size of oscillation (distance units) period = time of oscillation (time units) - - Examples """""""" -fix 1 all wall/body/polyhedron 1000.0 20.0 5.0 xplane -10.0 10.0 +.. code-block:: LAMMPS + + fix 1 all wall/body/polyhedron 1000.0 20.0 5.0 xplane -10.0 10.0 Description """"""""""" @@ -55,7 +54,7 @@ particles themselves, which is similar to a Hookean potential. See the :doc:`Howto body <Howto_body>` doc page for more details on using body particles. -The parameters *k\_n*, *c\_n*, *c\_t* have the same meaning and units as +The parameters *k_n*, *c_n*, *c_t* have the same meaning and units as those specified with the :doc:`pair_style body/rounded/polyhedron <pair_body_rounded_polyhedron>` command. The *wallstyle* can be planar or cylindrical. The 3 planar options @@ -78,7 +77,6 @@ the z dimension. Each timestep, the position of a wiggled wall in the appropriate *dim* is set according to this equation: - .. parsed-literal:: position = coord + A - A cos (omega \* delta) @@ -88,7 +86,7 @@ the *amplitude*\ , *omega* is 2 PI / *period*\ , and *delta* is the time elapsed since the fix was specified. The velocity of the wall is set to the derivative of this expression. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored by this fix for @@ -99,7 +97,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index 334228d85b..79f96765f8 100644 --- a/doc/src/fix_wall_ees.rst +++ b/doc/src/fix_wall_ees.rst @@ -9,16 +9,15 @@ fix wall/region/ees command Syntax """""" - .. parsed-literal:: fix ID group-ID style args * ID, group-ID are documented in :doc:`fix <fix>` command * style = *wall/ees* or *wall/region/ees* - + .. parsed-literal:: - + args for style *wall/ees*\ : one or more *face parameters* groups may be appended face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* parameters = coord epsilon sigma cutoff @@ -32,22 +31,18 @@ Syntax sigma can be a variable (see below) cutoff = distance from wall at which wall-particle interaction is cut off (distance units) - .. parsed-literal:: - + args for style *wall/region/ees*\ : *region-ID* *epsilon* *sigma* *cutoff* region-ID = region whose boundary will act as wall epsilon = strength factor for wall-particle interaction (energy or energy/distance\^2 units) sigma = size factor for wall-particle interaction (distance units) cutoff = distance from wall at which wall-particle interaction is cut off (distance units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix wallhi all wall/ees xlo -1.0 1.0 1.0 2.5 units box fix wallhi all wall/ees xhi EDGE 1.0 1.0 2.5 @@ -69,7 +64,6 @@ wall-particle interactions E is given by: E = \epsilon \left[ \frac{2 \sigma_{LJ}^{12} \left(7 r^5+14 r^3 \sigma_{n}^2+3 r \sigma_{n}^4\right) }{945 \left(r^2-\sigma_{n}^2\right)^7} -\frac{ \sigma_{LJ}^6 \left(2 r \sigma_{n}^3+\sigma_{n}^2 \left(r^2-\sigma_{n}^2\right)\log{ \left[\frac{r-\sigma_{n}}{r+\sigma_{n}}\right]}\right) }{12 \sigma_{n}^5 \left(r^2-\sigma_{n}^2\right)} \right]\qquad \sigma_n < r < r_c - Introduced by Babadi and Ejtehadi in :ref:`(Babadi) <BabadiEjtehadi>`. Here, *r* is the distance from the particle to the wall at position *coord*\ , and Rc is the *cutoff* distance at which the particle and wall no @@ -92,7 +86,6 @@ pre-factor is 8 \pi^2 \quad \rho_{wall} \quad \rho_{ellipsoid} \quad \epsilon \quad \sigma_a \quad \sigma_b \quad \sigma_c - where :math:`\epsilon` is the LJ energy parameter for the constituent LJ particles and :math:`\sigma_a`, :math:`\sigma_b`, and :math:`\sigma_c` are the radii of the ellipsoidal particles. :math:`\rho_{wall}` and @@ -118,7 +111,6 @@ of using this fix in the examples/USER/misc/ees/ directory. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -136,12 +128,8 @@ Default none - ---------- - .. _BabadiEjtehadi: - - **(Babadi)** Babadi and Ejtehadi, EPL, 77 (2007) 23002. diff --git a/doc/src/fix_wall_gran.rst b/doc/src/fix_wall_gran.rst index dde9af0f94..daf3152c34 100644 --- a/doc/src/fix_wall_gran.rst +++ b/doc/src/fix_wall_gran.rst @@ -6,7 +6,6 @@ fix wall/gran command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/gran fstyle fstyle_params wallstyle args keyword values ... @@ -14,15 +13,15 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * wall/gran = style name of this fix command * fstyle = style of force interactions between particles and wall - + .. parsed-literal:: - + possible choices: hooke, hooke/history, hertz/history, granular -* fstyle\_params = parameters associated with force interaction style - +* fstyle_params = parameters associated with force interaction style + .. parsed-literal:: - + For *hooke*\ , *hooke/history*\ , and *hertz/history*\ , *fstyle_params* are: Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) @@ -31,16 +30,15 @@ Syntax xmu = static yield criterion (unitless value between 0.0 and 1.0e4) dampflag = 0 or 1 if tangential damping force is excluded or included - .. parsed-literal:: - + For *granular*\ , *fstyle_params* are set using the same syntax as for the *pair_coeff* command of :doc:`pair_style granular <pair_granular>` * wallstyle = *xplane* or *yplane* or *zplane* or *zcylinder* * args = list of arguments for a particular style - + .. parsed-literal:: - + *xplane* or *yplane* or *zplane* args = lo hi lo,hi = position of lower and upper plane (distance units), either can be NULL) *zcylinder* args = radius @@ -48,9 +46,9 @@ Syntax * zero or more keyword/value pairs may be appended to args * keyword = *wiggle* or *shear* - + .. parsed-literal:: - + *wiggle* values = dim amplitude period dim = *x* or *y* or *z* amplitude = size of oscillation (distance units) @@ -59,13 +57,10 @@ Syntax dim = *x* or *y* or *z* vshear = magnitude of shear velocity (velocity units) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all wall/gran hooke 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0 fix 1 all wall/gran hooke/history 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL @@ -87,25 +82,25 @@ The nature of the wall/particle interactions are determined by the :doc:`pair_style granular <pair_granular>` commands. Currently the options are *hooke*\ , *hooke/history*\ , or *hertz/history* for the former, and *granular* with all the possible options of the associated -*pair\_coeff* command for the latter. The equation for the force +*pair_coeff* command for the latter. The equation for the force between the wall and particles touching it is the same as the corresponding equation on the :doc:`pair_style gran/\* <pair_gran>` and :doc:`pair_style granular <pair_granular>` doc pages, in the limit of one of the two particles going to infinite radius and mass (flat wall). -Specifically, delta = radius - r = overlap of particle with wall, m\_eff +Specifically, delta = radius - r = overlap of particle with wall, m_eff = mass of particle, and the effective radius of contact = RiRj/Ri+Rj is set to the radius of the particle. -The parameters *Kn*\ , *Kt*\ , *gamma\_n*, *gamma\_t*, *xmu* and *dampflag* +The parameters *Kn*\ , *Kt*\ , *gamma_n*, *gamma_t*, *xmu* and *dampflag* have the same meaning and units as those specified with the :doc:`pair_style gran/\* <pair_gran>` commands. This means a NULL can be -used for either *Kt* or *gamma\_t* as described on that page. If a +used for either *Kt* or *gamma_t* as described on that page. If a NULL is used for *Kt*\ , then a default value is used where *Kt* = 2/7 -*Kn*\ . If a NULL is used for *gamma\_t*, then a default value is used -where *gamma\_t* = 1/2 *gamma\_n*. +*Kn*\ . If a NULL is used for *gamma_t*, then a default value is used +where *gamma_t* = 1/2 *gamma_n*. All the model choices for cohesion, tangential friction, rolling -friction and twisting friction supported by the :doc:`pair_style granular <pair_granular>` through its *pair\_coeff* command are also +friction and twisting friction supported by the :doc:`pair_style granular <pair_granular>` through its *pair_coeff* command are also supported for walls. These are discussed in greater detail on the doc page for :doc:`pair_style granular <pair_granular>`. @@ -116,7 +111,8 @@ material. .. note:: - As discussed on the doc page for :doc:`pair_style gran/\* <pair_gran>`, versions of LAMMPS before 9Jan09 used a + As discussed on the doc page for :doc:`pair_style gran/\* <pair_gran>`, + versions of LAMMPS before 9Jan09 used a different equation for Hertzian interactions. This means Hertizian wall/particle interactions have also changed. They now include a sqrt(radius) term which was not present before. Also the previous @@ -126,10 +122,10 @@ material. appropriately in the current code to reproduce the results of a previous Hertzian monodisperse calculation. For example, for the common case of a monodisperse system with particles of diameter 1, Kn, - Kt, gamma\_n, and gamma\_s should be set sqrt(2.0) larger than they were + Kt, gamma_n, and gamma_s should be set sqrt(2.0) larger than they were previously. -The effective mass *m\_eff* in the formulas listed on the :doc:`pair_style granular <pair_gran>` doc page is the mass of the particle for +The effective mass *m_eff* in the formulas listed on the :doc:`pair_style granular <pair_gran>` doc page is the mass of the particle for particle/wall interactions (mass of wall is infinite). If the particle is part of a rigid body, its mass is replaced by the mass of the rigid body in those formulas. This is determined by searching for @@ -156,7 +152,6 @@ be wiggled in the z dimension. Each timestep, the position of a wiggled wall in the appropriate *dim* is set according to this equation: - .. parsed-literal:: position = coord + A - A cos (omega \* delta) @@ -176,7 +171,7 @@ the clockwise direction for *vshear* > 0 or counter-clockwise for *vshear* < 0. In this case, *vshear* is the tangential velocity of the wall at whatever *radius* has been defined. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** This fix writes the shear friction state of atoms interacting with the wall to :doc:`binary restart files <restart>`, so that a simulation can @@ -195,7 +190,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_wall_gran_region.rst b/doc/src/fix_wall_gran_region.rst index 6f82bfd85a..620baa0942 100644 --- a/doc/src/fix_wall_gran_region.rst +++ b/doc/src/fix_wall_gran_region.rst @@ -6,7 +6,6 @@ fix wall/gran/region command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/gran/region fstyle fstyle_params wallstyle regionID @@ -14,15 +13,15 @@ Syntax * ID, group-ID are documented in :doc:`fix <fix>` command * wall/region = style name of this fix command * fstyle = style of force interactions between particles and wall - + .. parsed-literal:: - + possible choices: hooke, hooke/history, hertz/history, granular -* fstyle\_params = parameters associated with force interaction style - +* fstyle_params = parameters associated with force interaction style + .. parsed-literal:: - + For *hooke*\ , *hooke/history*\ , and *hertz/history*\ , *fstyle_params* are: Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) @@ -31,9 +30,8 @@ Syntax xmu = static yield criterion (unitless value between 0.0 and 1.0e4) dampflag = 0 or 1 if tangential damping force is excluded or included - .. parsed-literal:: - + For *granular*\ , *fstyle_params* are set using the same syntax as for the *pair_coeff* command of :doc:`pair_style granular <pair_granular>` * wallstyle = region (see :doc:`fix wall/gran <fix_wall_gran>` for options for other kinds of walls) @@ -42,8 +40,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix wall all wall/gran/region hooke/history 1000.0 200.0 200.0 100.0 0.5 1 region myCone fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 damping velocity region myBox @@ -62,7 +59,7 @@ non-granular particles and simpler wall geometries, respectively. Here are snapshots of example models using this command. Corresponding input scripts can be found in examples/granregion. Click on the images to see a bigger picture. Movies of these -simulations are `here on the Movies page <http://lammps.sandia.gov/movies.html#granregion>`_ of the LAMMPS +simulations are `here on the Movies page <https://lammps.sandia.gov/movies.html#granregion>`_ of the LAMMPS web site. .. image:: JPG/gran_funnel_small.jpg @@ -71,10 +68,8 @@ web site. .. image:: JPG/gran_mixer_small.jpg :target: JPG/gran_mixer.png - ---------- - The distance between a particle and the region boundary is the distance to the nearest point on the region surface. The force the wall exerts on the particle is along the direction between that point @@ -158,7 +153,7 @@ The nature of the wall/particle interactions are determined by the :doc:`pair_style granular <pair_granular>` commands. Currently the options are *hooke*\ , *hooke/history*\ , or *hertz/history* for the former, and *granular* with all the possible options of the associated -*pair\_coeff* command for the latter. The equation for the force +*pair_coeff* command for the latter. The equation for the force between the wall and particles touching it is the same as the corresponding equation on the :doc:`pair_style gran/\* <pair_gran>` and :doc:`pair_style granular <pair_granular>` doc pages, but the effective @@ -166,24 +161,24 @@ radius is calculated using the radius of the particle and the radius of curvature of the wall at the contact point. Specifically, delta = radius - r = overlap of particle with wall, -m\_eff = mass of particle, and RiRj/Ri+Rj is the effective radius, with +m_eff = mass of particle, and RiRj/Ri+Rj is the effective radius, with Rj replaced by the radius of curvature of the wall at the contact point. The radius of curvature can be negative for a concave wall section, e.g. the interior of cylinder. For a flat wall, delta = -radius - r = overlap of particle with wall, m\_eff = mass of particle, +radius - r = overlap of particle with wall, m_eff = mass of particle, and the effective radius of contact is just the radius of the particle. -The parameters *Kn*\ , *Kt*\ , *gamma\_n*, *gamma\_t*, *xmu* and *dampflag* +The parameters *Kn*\ , *Kt*\ , *gamma_n*, *gamma_t*, *xmu* and *dampflag* have the same meaning and units as those specified with the :doc:`pair_style gran/\* <pair_gran>` commands. This means a NULL can be -used for either *Kt* or *gamma\_t* as described on that page. If a +used for either *Kt* or *gamma_t* as described on that page. If a NULL is used for *Kt*\ , then a default value is used where *Kt* = 2/7 -*Kn*\ . If a NULL is used for *gamma\_t*, then a default value is used -where *gamma\_t* = 1/2 *gamma\_n*. +*Kn*\ . If a NULL is used for *gamma_t*, then a default value is used +where *gamma_t* = 1/2 *gamma_n*. All the model choices for cohesion, tangential friction, rolling -friction and twisting friction supported by the :doc:`pair_style granular <pair_granular>` through its *pair\_coeff* command are also +friction and twisting friction supported by the :doc:`pair_style granular <pair_granular>` through its *pair_coeff* command are also supported for walls. These are discussed in greater detail on the doc page for :doc:`pair_style granular <pair_granular>`. @@ -192,7 +187,7 @@ values for the 6 wall/particle coefficients than for particle/particle interactions. E.g. if you wish to model the wall as a different material. -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** Similar to :doc:`fix wall/gran <fix_wall_gran>` command, this fix writes the shear friction state of atoms interacting with the wall to :doc:`binary restart files <restart>`, so that a simulation can continue @@ -229,7 +224,6 @@ of this fix can be used with the *start/stop* keywords of the Restrictions """""""""""" - This fix is part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_wall_piston.rst b/doc/src/fix_wall_piston.rst index cb5c611f61..626634ec83 100644 --- a/doc/src/fix_wall_piston.rst +++ b/doc/src/fix_wall_piston.rst @@ -6,7 +6,6 @@ fix wall/piston command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/piston face ... keyword value ... @@ -16,9 +15,9 @@ Syntax * face = *zlo* * zero or more keyword/value pairs may be appended * keyword = *pos* or *vel* or *ramp* or *units* - + .. parsed-literal:: - + *pos* args = z z = z coordinate at which the piston begins (distance units) *vel* args = vz @@ -33,13 +32,10 @@ Syntax *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix xwalls all wall/piston zlo fix walls all wall/piston zlo pos 1.0 vel 10.0 units box @@ -92,11 +88,9 @@ A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice <lattice>` command must have been previously used to define the lattice spacings. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. No global or per-atom quantities are stored @@ -107,7 +101,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - This fix style is part of the SHOCK package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/fix_wall_reflect.rst b/doc/src/fix_wall_reflect.rst index 7a7cc6425b..3960105ab9 100644 --- a/doc/src/fix_wall_reflect.rst +++ b/doc/src/fix_wall_reflect.rst @@ -9,7 +9,6 @@ fix wall/reflect/kk command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/reflect face arg ... keyword value ... @@ -18,9 +17,9 @@ Syntax * wall/reflect = style name of this fix command * one or more face/arg pairs may be appended * face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* - + .. parsed-literal:: - + arg = EDGE or constant or variable EDGE = current lo edge of simulation box constant = number like 0.0 or 30.0 (distance units) @@ -28,20 +27,17 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - + .. parsed-literal:: - + *units* value = *lattice* or *box* *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix xwalls all wall/reflect xlo EDGE xhi EDGE fix walls all wall/reflect xlo 0.0 ylo 10.0 units box @@ -78,7 +74,7 @@ EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. -If the wall position is a variable, it should be specified as v\_name, +If the wall position is a variable, it should be specified as v_name, where name is an :doc:`equal-style variable <variable>` name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables @@ -99,16 +95,13 @@ A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice <lattice>` command must have been previously used to define the lattice spacings. - ---------- - Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style :doc:`variables <variable>`. - -.. parsed-literal:: +.. code-block:: LAMMPS variable ramp equal ramp(0,10) fix 1 all wall/reflect xlo v_ramp @@ -122,34 +115,30 @@ in a time-dependent fashion using equal-style variable wiggle equal cwiggle(0.0,5.0,3.0) fix 1 all wall/reflect xlo v_wiggle -The ramp(lo,hi) function adjusts the wall position linearly from lo to -hi over the course of a run. The vdisplace(c0,velocity) function does -something similar using the equation position = c0 + velocity\*delta, -where delta is the elapsed time. - -The swiggle(c0,A,period) function causes the wall position to -oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: +The *ramp(lo,hi)* function adjusts the wall position linearly from *lo* to +*hi* over the course of a run. The *vdisplace(c0,velocity)* function does +something similar using the equation *position = c0 + velocity\*delta*\ , +where *delta* is the elapsed time. +The *swiggle(c0,A,period)* function causes the wall position to +oscillate sinusoidally according to this equation, where *omega = 2 PI +/ period*\ : .. parsed-literal:: position = c0 + A sin(omega\*delta) -The cwiggle(c0,A,period) function causes the wall position to +The *cwiggle(c0,A,period)* function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler perturbation on the particles: - .. parsed-literal:: position = c0 + A (1 - cos(omega\*delta)) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -170,11 +159,9 @@ use the :doc:`suffix <suffix>` command in your input script. See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are @@ -187,7 +174,6 @@ the :doc:`run <run>` command. This fix is not invoked during Restrictions """""""""""" - Any dimension (xyz) that has a reflecting wall must be non-periodic. A reflecting wall should not be used with rigid bodies such as those @@ -208,9 +194,6 @@ The default for the units keyword is lattice. ---------- - .. _Bond1: - - **(Bond)** Bond and Leimkuhler, SIAM J Sci Comput, 30, p 134 (2007). diff --git a/doc/src/fix_wall_reflect_stochastic.rst b/doc/src/fix_wall_reflect_stochastic.rst index bf254945a1..ddeebfbe38 100644 --- a/doc/src/fix_wall_reflect_stochastic.rst +++ b/doc/src/fix_wall_reflect_stochastic.rst @@ -6,7 +6,6 @@ fix wall/reflect/stochastic command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/reflect/stochastic rstyle seed face args ... keyword value ... @@ -17,9 +16,9 @@ Syntax * seed = random seed for stochasticity (positive integer) * one or more face/args pairs may be appended * face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* - + .. parsed-literal:: - + args = pos temp velx vely velz accomx accomy accomz pos = EDGE or constant EDGE = current lo or hi edge of simulation box @@ -33,20 +32,17 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - + .. parsed-literal:: - + *units* value = *lattice* or *box* *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix zwalls all wall/reflect/stochastic diffusive 23424 zlo EDGE 300 0.1 0.1 0 zhi EDGE 200 0.1 0.1 0 fix ywalls all wall/reflect/stochastic maxwell 345533 ylo 5.0 300 0.1 0.0 0.0 0.8 yhi 10.0 300 0.1 0.0 0.0 0.8 @@ -99,14 +95,11 @@ as defined by the :doc:`units <units>` command, e.g. Angstroms for units lattice spacings. The :doc:`lattice <lattice>` command must have been previously used to define the lattice spacings. - ---------- - Restrictions """""""""""" - This fix has the same limitations as the :doc:`fix wall/reflect <fix_wall_reflect>` command. Any dimension (xyz) that has a wall must be non-periodic. It should not be used with rigid bodies such as those defined by the :doc:`fix rigid <fix_rigid>` @@ -126,27 +119,19 @@ Default The default for the units keyword is lattice. - ---------- - .. _Maxwell: - - **(Maxwell)** J.C. Maxwell, Philos. Tans. Royal Soc. London, 157: 49-88 (1867). .. _CL: - - **(Cercignani)** C. Cercignani and M. Lampis. Trans. Theory Stat. Phys. 1, 2, 101 (1971). .. _To: - - **(To)** Q.D. To, V.H. Vu, G. Lauriat, and C. Leonard. J. Math. Phys. 56, 103101 (2015). diff --git a/doc/src/fix_wall_region.rst b/doc/src/fix_wall_region.rst index a6f719e142..b3f4733c56 100644 --- a/doc/src/fix_wall_region.rst +++ b/doc/src/fix_wall_region.rst @@ -6,7 +6,6 @@ fix wall/region command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/region region-ID style args ... cutoff @@ -16,28 +15,26 @@ Syntax * region-ID = region whose boundary will act as wall * style = *lj93* or *lj126* or *lj1043* or *colloid* or *harmonic* or *morse* * args for styles *lj93* or *lj126* or *lj1043* or *colloid* or *harmonic* = - + .. parsed-literal:: - + epsilon = strength factor for wall-particle interaction (energy or energy/distance\^2 units) sigma = size factor for wall-particle interaction (distance units) * args for style *morse* = - + .. parsed-literal:: - + D_0 = depth of the potential (energy units) alpha = width parameter (1/distance units) r_0 = distance of the potential minimum from wall position (distance units) * cutoff = distance from wall at which wall-particle interaction is cut off (distance units) - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix wall all wall/region mySphere lj93 1.0 1.0 2.5 fix wall all wall/region mySphere harmonic 1.0 0.0 2.5 @@ -134,40 +131,36 @@ For style *lj93*\ , the energy E is given by the 9/3 potential: .. math:: - E = \epsilon \left[ \frac{2}{15} \left(\frac{\sigma}{r}\right)^{9} - + E = \epsilon \left[ \frac{2}{15} \left(\frac{\sigma}{r}\right)^{9} - \left(\frac{\sigma}{r}\right)^3 \right] \qquad r < r_c - For style *lj126*\ , the energy E is given by the 12/6 potential: .. math:: - E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c - For style *wall/lj1043*\ , the energy E is given by the 10/4/3 potential: .. math:: - E = 2 \pi \epsilon \left[ \frac{2}{5} \left(\frac{\sigma}{r}\right)^{10} - + E = 2 \pi \epsilon \left[ \frac{2}{5} \left(\frac{\sigma}{r}\right)^{10} - \left(\frac{\sigma}{r}\right)^4 - \frac{\sqrt(2)\sigma^3}{3\left(r+\left(0.61/\sqrt(2)\right)\sigma\right)^3}\right] \qquad r < r_c - For style *colloid*\ , the energy E is given by an integrated form of the :doc:`pair_style colloid <pair_colloid>` potential: .. math:: - E = & \epsilon \left[ \frac{\sigma^{6}}{7560} + E = & \epsilon \left[ \frac{\sigma^{6}}{7560} \left(\frac{6R-D}{D^{7}} + \frac{D+8R}{(D+2R)^{7}} \right) \right. \\ & \left. - \frac{1}{6} \left(\frac{2R(D+R) + D(D+2R) - \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c - + \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c For style *wall/harmonic*\ , the energy E is given by a harmonic spring potential (the distance parameter is ignored): @@ -176,7 +169,6 @@ potential (the distance parameter is ignored): E = \epsilon \quad (r - r_c)^2 \qquad r < r_c - For style *wall/morse*\ , the energy E is given by the Morse potential: .. math:: @@ -184,7 +176,6 @@ For style *wall/morse*\ , the energy E is given by the Morse potential: E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c - Unlike other styles, this requires three parameters (:math:`D_0`, :math:`\alpha`, and :math:`r_0` in this order) instead of two like for the other wall styles. @@ -195,10 +186,10 @@ surface no longer interact. The cutoff is always the last argument. The energy of the wall potential is shifted so that the wall-particle interaction energy is 0.0 at the cutoff distance. -For a full description of these wall styles, see fix\_style +For a full description of these wall styles, see fix_style :doc:`wall <fix_wall>` -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. diff --git a/doc/src/fix_wall_srd.rst b/doc/src/fix_wall_srd.rst index 8685b39fff..5df7345a4d 100644 --- a/doc/src/fix_wall_srd.rst +++ b/doc/src/fix_wall_srd.rst @@ -6,7 +6,6 @@ fix wall/srd command Syntax """""" - .. parsed-literal:: fix ID group-ID wall/srd face arg ... keyword value ... @@ -15,9 +14,9 @@ Syntax * wall/srd = style name of this fix command * one or more face/arg pairs may be appended * face = *xlo* or *xhi* or *ylo* or *yhi* or *zlo* or *zhi* - + .. parsed-literal:: - + *xlo*\ ,\ *ylo*\ ,\ *zlo* arg = EDGE or constant or variable EDGE = current lo edge of simulation box constant = number like 0.0 or -30.0 (distance units) @@ -29,20 +28,17 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *units* - + .. parsed-literal:: - + *units* value = *lattice* or *box* *lattice* = the wall position is defined in lattice units *box* = the wall position is defined in simulation box units - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix xwalls all wall/srd xlo EDGE xhi EDGE fix walls all wall/srd xlo 0.0 ylo 10.0 units box @@ -88,7 +84,7 @@ EDGE is used, then the corresponding boundary of the current simulation box is used. If a numeric constant is specified then the wall is placed at that position in the appropriate dimension (x, y, or z). In both the EDGE and constant cases, the wall will never move. -If the wall position is a variable, it should be specified as v\_name, +If the wall position is a variable, it should be specified as v_name, where name is an :doc:`equal-style variable <variable>` name. In this case the variable is evaluated each timestep and the result becomes the current position of the reflecting wall. Equal-style variables @@ -137,16 +133,13 @@ A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice <lattice>` command must have been previously used to define the lattice spacings. - ---------- - Here are examples of variable definitions that move the wall position in a time-dependent fashion using equal-style :doc:`variables <variable>`. - -.. parsed-literal:: +.. code-block:: LAMMPS variable ramp equal ramp(0,10) fix 1 all wall/srd xlo v_ramp @@ -160,35 +153,31 @@ in a time-dependent fashion using equal-style variable wiggle equal cwiggle(0.0,5.0,3.0) fix 1 all wall/srd xlo v_wiggle -The ramp(lo,hi) function adjusts the wall position linearly from lo to -hi over the course of a run. The displace(c0,velocity) function does -something similar using the equation position = c0 + velocity\*delta, -where delta is the elapsed time. - -The swiggle(c0,A,period) function causes the wall position to -oscillate sinusoidally according to this equation, where omega = 2 PI -/ period: +The *ramp(lo,hi)* function adjusts the wall position linearly from *lo* +to *hi* over the course of a run. The *vdisplace(c0,velocity)* function +does something similar using the equation *position = c0 + +velocity\*delta*, where *delta* is the elapsed time. +The *swiggle(c0,A,period)* function causes the wall position to +oscillate sinusoidally according to this equation, where *omega = 2 PI +/ period*\ : .. parsed-literal:: position = c0 + A sin(omega\*delta) -The cwiggle(c0,A,period) function causes the wall position to +The *cwiggle(c0,A,period)* function causes the wall position to oscillate sinusoidally according to this equation, which will have an initial wall velocity of 0.0, and thus may impose a gentler perturbation on the particles: - .. parsed-literal:: position = c0 + A (1 - cos(omega\*delta)) - ---------- - -**Restart, fix\_modify, output, run start/stop, minimize info:** +**Restart, fix_modify, output, run start/stop, minimize info:** No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options are relevant to this fix. @@ -209,7 +198,6 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - Any dimension (xyz) that has an SRD wall must be non-periodic. Related commands diff --git a/doc/src/fixes.rst b/doc/src/fixes.rst index 5a85738c45..eb0215e310 100644 --- a/doc/src/fixes.rst +++ b/doc/src/fixes.rst @@ -1,7 +1,6 @@ Fixes ##### - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/group.rst b/doc/src/group.rst index 9246f432c8..42e1d29a85 100644 --- a/doc/src/group.rst +++ b/doc/src/group.rst @@ -6,16 +6,15 @@ group command Syntax """""" - .. parsed-literal:: group ID style args * ID = user-defined name of the group * style = *delete* or *clear* or *empty* or *region* or *type* or *id* or *molecule* or *variable* or *include* or *subtract* or *union* or *intersect* or *dynamic* or *static* - + .. parsed-literal:: - + *delete* = no args *clear* = no args *empty* = no args @@ -46,13 +45,10 @@ Syntax *every* value = N = update group every this many timesteps *static* = no args - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS group edge region regstrip group water type 3 4 @@ -159,8 +155,7 @@ For example, these lines define a variable "eatom" that calculates the potential energy of each atom and includes it in the group if its potential energy is above the threshold value -3.0. - -.. parsed-literal:: +.. code-block:: LAMMPS compute 1 all pe/atom compute 2 all reduce sum c_1 @@ -172,8 +167,7 @@ potential energy is above the threshold value -3.0. Note that these lines - -.. parsed-literal:: +.. code-block:: LAMMPS compute 2 all reduce sum c_1 thermo_style custom step temp pe c_2 @@ -224,10 +218,8 @@ The *intersect* style takes a list of two or more existing group names as arguments. Atoms that belong to every one of the listed groups are added to the specified group. - ---------- - The *dynamic* style flags an existing or new group as dynamic. This means atoms will be (re)assigned to the group periodically as a simulation runs. This is in contrast to static groups where atoms are @@ -274,8 +266,7 @@ used to model a quench of the system, freezing atoms outside the shrinking sphere, then converting the remaining atoms to a static group and running further. - -.. parsed-literal:: +.. code-block:: LAMMPS variable nsteps equal 5000 variable rad equal 18-(step/v_nsteps)\*(18-5) @@ -298,14 +289,11 @@ The *static* style removes the setting for a dynamic group, converting it to a static group (the default). The atoms in the static group are those currently in the dynamic group. - ---------- - Restrictions """""""""""" - There can be no more than 32 groups defined at one time, including "all". diff --git a/doc/src/group2ndx.rst b/doc/src/group2ndx.rst index 59528ac7bb..84e7b6df32 100644 --- a/doc/src/group2ndx.rst +++ b/doc/src/group2ndx.rst @@ -9,7 +9,6 @@ ndx2group command Syntax """""" - .. parsed-literal:: group2ndx file group-ID ... @@ -18,12 +17,10 @@ Syntax * file = name of index file to write out or read in * zero or more group IDs may be appended - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS group2ndx allindex.ndx group2ndx someindex.ndx upper lower mobile @@ -52,14 +49,11 @@ recreated. If a group of the same name already exists, it will be completely reset. When specifying group IDs, those groups, if present, will be read from the index file and restored. - ---------- - Restrictions """""""""""" - This command requires that atoms have atom IDs, since this is the information that is written to the index file. diff --git a/doc/src/hyper.rst b/doc/src/hyper.rst index eab9cf8973..d17af1d407 100644 --- a/doc/src/hyper.rst +++ b/doc/src/hyper.rst @@ -6,7 +6,6 @@ hyper command Syntax """""" - .. parsed-literal:: hyper N Nevent fix-ID compute-ID keyword values ... @@ -17,9 +16,9 @@ Syntax * compute-ID = ID of a compute that identifies when an event has occurred * zero or more keyword/value pairs may be appended * keyword = *min* or *dump* or *rebond* - + .. parsed-literal:: - + *min* values = etol ftol maxiter maxeval etol = stopping tolerance for energy, used in quenching ftol = stopping tolerance for force, used in quenching @@ -30,13 +29,10 @@ Syntax *rebond* value = Nrebond Nrebond = frequency at which to reset bonds, even if no event has occurred - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS compute event all event/displace 1.0 fix HG mobile hyper/global 3.0 0.3 0.4 800.0 @@ -83,7 +79,6 @@ occur. See the :doc:`prd <prd>` doc page for more info about PRD. An HD run has several stages, which are repeated each time an event occurs, as explained below. The logic for an HD run is as follows: - .. parsed-literal:: quench @@ -142,10 +137,8 @@ local hyperdynamics, such as the number of events and the elapsed hyper time (accelerated time), And it includes info specific to one or the other, depending on which style of fix was specified by *fix-ID*\ . - ---------- - The optional keywords operate as follows. As explained above, the *min* keyword can be used to specify @@ -173,14 +166,11 @@ if more frequent resets alter event statistics, perhaps because the parameters chosen for defining what is a bond and what is an event are producing bad dynamics in the presence of the bias potential. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -195,20 +185,14 @@ Default The option defaults are min = 0.1 0.1 40 50 and time = steps. - ---------- - .. _Voter2013: - - **(Voter2013)** S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139, 144110 (2013). .. _Voter2002hd: - - **(Voter2002)** Voter, Montalenti, Germann, Annual Review of Materials Research 32, 321 (2002). diff --git a/doc/src/if.rst b/doc/src/if.rst index f7d09c8f50..fff561bd77 100644 --- a/doc/src/if.rst +++ b/doc/src/if.rst @@ -6,7 +6,6 @@ if command Syntax """""" - .. parsed-literal:: if boolean then t1 t2 ... elif boolean f1 f2 ... elif boolean f1 f2 ... else e1 e2 ... @@ -22,8 +21,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS if "${steps} > 1000" then quit if "${myString} == a10" then quit @@ -77,8 +75,7 @@ above. Note that by using the line continuation character "&", the if command can be spread across many lines, though it is still a single command: - -.. parsed-literal:: +.. code-block:: LAMMPS if "$a < $b" then & "print 'Minimum value = $a'" & @@ -102,8 +99,7 @@ checked, so long as it is current on the timestep when the run completes. As explained on the :doc:`variable <variable>` doc page, this can be insured by including the variable in thermodynamic output. - -.. parsed-literal:: +.. code-block:: LAMMPS variable myTemp equal temp label loop @@ -119,27 +115,24 @@ Here is an example of a double loop which uses the if and :doc:`jump <jump>` commands to break out of the inner loop when a condition is met, then continues iterating through the outer loop. - -.. parsed-literal:: +.. code-block:: LAMMPS label loopa variable a loop 5 label loopb variable b loop 5 - print "A,B = $a,$b" - run 10000 - if "$b > 2" then "jump SELF break" + print "A,B = $a,$b" + run 10000 + if "$b > 2" then "jump SELF break" next b jump in.script loopb - label break - variable b delete + label break + variable b delete next a jump SELF loopa - ---------- - The Boolean expressions for the if and elif keywords have a C-like syntax. Note that each expression is a single argument within the if command. Thus if you want to include spaces in the expression for @@ -149,7 +142,6 @@ An expression is built out of numbers (which start with a digit or period or minus sign) or strings (which start with a letter and can contain alphanumeric characters or underscores): - .. parsed-literal:: 0.2, 100, 1.0e20, -15.4, etc @@ -157,7 +149,6 @@ contain alphanumeric characters or underscores): and Boolean operators: - .. parsed-literal:: A == B, A != B, A < B, A <= B, A > B, A >= B, A && B, A \|\| B, A \|\^ B, !A @@ -202,10 +193,8 @@ strings. The overall Boolean expression produces a TRUE result if the result is non-zero. If the result is zero, the expression result is FALSE. - ---------- - Restrictions """""""""""" none diff --git a/doc/src/improper_class2.rst b/doc/src/improper_class2.rst index e2bcc3829b..5affc0d4bb 100644 --- a/doc/src/improper_class2.rst +++ b/doc/src/improper_class2.rst @@ -12,7 +12,6 @@ improper_style class2/kk command Syntax """""" - .. code-block:: LAMMPS improper_style class2 @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style class2 @@ -40,7 +38,6 @@ The *class2* improper style uses the potential & M_2 (\theta_{ijk} - \theta_1) (\theta_{ijl} - \theta_2) + \\ & M_3 (\theta_{ijl} - \theta_2) (\theta_{kjl} - \theta_3) - where :math:`E_i` is the improper term and :math:`E_{aa}` is an angle-angle term. The 3 :math:`\chi` terms in :math:`E_i` are an average over 3 out-of-plane angles. @@ -101,10 +98,8 @@ listed under a *AngleAngle Coeffs* heading and you must leave out the The theta values are specified in degrees, but LAMMPS converts them to radians internally; hence the units of M are in energy/radian\^2. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -123,14 +118,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the CLASS2 package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -142,12 +134,8 @@ Related commands **Default:** none - ---------- - .. _improper-Sun: - - **(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/src/improper_coeff.rst b/doc/src/improper_coeff.rst index d8974a6494..3d2878c517 100644 --- a/doc/src/improper_coeff.rst +++ b/doc/src/improper_coeff.rst @@ -6,7 +6,6 @@ improper_coeff command Syntax """""" - .. code-block:: LAMMPS improper_coeff N args @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_coeff 1 300.0 0.0 @@ -42,25 +40,23 @@ to N. A leading asterisk means all types from 1 to n (inclusive). A trailing asterisk means all types from n to N (inclusive). A middle asterisk means all types from m to n (inclusive). -Note that using an improper\_coeff command can override a previous +Note that using an improper_coeff command can override a previous setting for the same improper type. For example, these commands set the coeffs for all improper types, then overwrite the coeffs for just improper type 2: - .. code-block:: LAMMPS improper_coeff * 300.0 0.0 improper_coeff 2 50.0 0.0 A line in a data file that specifies improper coefficients uses the -exact same format as the arguments of the improper\_coeff command in an +exact same format as the arguments of the improper_coeff command in an input script, except that wild-card asterisks should not be used since coefficients for all N types must be listed in the file. For example, under the "Improper Coeffs" section of a data file, the line that corresponds to the 1st example above would be listed as - .. parsed-literal:: 1 300.0 0.0 @@ -70,26 +66,21 @@ this rule, in that an additional argument is used in the input script to allow specification of the cross-term coefficients. See its doc page for details. - ---------- - The list of all improper styles defined in LAMMPS is given on the :doc:`improper_style <improper_style>` doc page. They are also listed in more compact form on the :ref:`Commands improper <improper>` doc page. On either of those pages, click on the style to display the formula it computes and its coefficients as specified by the associated -improper\_coeff command. - +improper_coeff command. ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a :doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`, or :doc:`create_box <create_box>` command. diff --git a/doc/src/improper_cossq.rst b/doc/src/improper_cossq.rst index 39a1c014dc..6e669d3dbe 100644 --- a/doc/src/improper_cossq.rst +++ b/doc/src/improper_cossq.rst @@ -9,7 +9,6 @@ improper_style cossq/omp command Syntax """""" - .. code-block:: LAMMPS improper_style cossq @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style cossq @@ -32,7 +30,6 @@ The *cossq* improper style uses the potential E = \frac{1}{2} K \cos^2{\left(\chi - \chi_0\right)} - where :math:`\chi` is the improper angle, :math:`\chi_0` is its equilibrium value, and :math:`K` is a prefactor. @@ -57,10 +54,8 @@ commands: * :math:`K` (energy) * :math:`\chi_0` (degrees) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -79,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/improper_cvff.rst b/doc/src/improper_cvff.rst index 4d1e0be059..a952d9f3b8 100644 --- a/doc/src/improper_cvff.rst +++ b/doc/src/improper_cvff.rst @@ -12,7 +12,6 @@ improper_style cvff/omp command Syntax """""" - .. code-block:: LAMMPS improper_style cvff @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style cvff @@ -33,8 +31,7 @@ The *cvff* improper style uses the potential .. math:: - E = K [1 + d \cos (n \phi) ] - + E = K [1 + d \cos (n \phi) ] where phi is the improper dihedral angle. @@ -60,10 +57,8 @@ commands: * :math:`d` (+1 or -1) * :math:`n` (0,1,2,3,4,6) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -82,14 +77,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/improper_distance.rst b/doc/src/improper_distance.rst index 8917b6ed22..d5f07f9971 100644 --- a/doc/src/improper_distance.rst +++ b/doc/src/improper_distance.rst @@ -13,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style distance @@ -28,7 +27,6 @@ The *distance* improper style uses the potential E = K_2 d^2 + K_4 d^4 - where :math:`d` is the distance between the central atom and the plane formed by the other three atoms. If the 4 atoms in an improper quadruplet (listed in the data file read by the :doc:`read_data <read_data>` @@ -44,20 +42,17 @@ linear dihedral. Normally, the bonds I-J, I-K, I-L would exist for an improper to be defined between the 4 atoms. The following coefficients must be defined for each improper type via -the improper\_coeff command as in the example above, or in the data -file or restart files read by the read\_data or read\_restart commands: +the improper_coeff command as in the example above, or in the data +file or restart files read by the read_data or read_restart commands: * :math:`K_2` (energy/distance\^2) * :math:`K_4` (energy/distance\^4) - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/improper_distharm.rst b/doc/src/improper_distharm.rst index 49c64ae133..113941bee4 100644 --- a/doc/src/improper_distharm.rst +++ b/doc/src/improper_distharm.rst @@ -13,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style distharm @@ -28,30 +27,26 @@ The *distharm* improper style uses the potential E = K (d - d_0)^2 - where :math:`d` is the oriented distance between the central atom and the plane formed by the other three atoms. If the 4 atoms in an improper quadruplet (listed in the data file read by the :doc:`read_data <read_data>` command) are ordered I,J,K,L then the L-atom is assumed to be the central atom. Note that this is different from the convention used -in the improper\_style distance. The distance :math:`d` is oriented and can take +in the improper_style distance. The distance :math:`d` is oriented and can take on negative values. This may lead to unwanted behavior if :math:`d_0` is not equal to zero. The following coefficients must be defined for each improper type via -the improper\_coeff command as in the example above, or in the data -file or restart files read by the read\_data or read\_restart commands: +the improper_coeff command as in the example above, or in the data +file or restart files read by the read_data or read_restart commands: * :math:`K` (energy/distance\^2) * :math:`d_0` (distance) - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-YAFF package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/improper_fourier.rst b/doc/src/improper_fourier.rst index 18876e69c6..7842e866f6 100644 --- a/doc/src/improper_fourier.rst +++ b/doc/src/improper_fourier.rst @@ -9,7 +9,6 @@ improper_style fourier/omp command Syntax """""" - .. code-block:: LAMMPS improper_style fourier @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style fourier @@ -30,8 +28,7 @@ The *fourier* improper style uses the following potential: .. math:: - E = K [C_0 + C_1 \cos ( \omega) + C_2 \cos( 2 \omega) ] - + E = K [C_0 + C_1 \cos ( \omega) + C_2 \cos( 2 \omega) ] where K is the force constant, C0, C1, C2 are dimensionless coefficients, and omega is the angle between the IL axis and the IJK plane: @@ -53,10 +50,8 @@ commands: * :math:`C_2` (unitless) * all (0 or 1, optional) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -75,16 +70,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This angle style can only be used if LAMMPS was built with the -USER\_MISC package. See the :doc:`Build package <Build_package>` doc +USER_MISC package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands diff --git a/doc/src/improper_harmonic.rst b/doc/src/improper_harmonic.rst index 1fcaa181be..0f525ff34b 100644 --- a/doc/src/improper_harmonic.rst +++ b/doc/src/improper_harmonic.rst @@ -15,7 +15,6 @@ improper_style harmonic/omp command Syntax """""" - .. code-block:: LAMMPS improper_style harmonic @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style harmonic @@ -38,7 +36,6 @@ The *harmonic* improper style uses the potential E = K (\chi - \chi_0)^2 - where :math:`\chi` is the improper angle, :math:`\chi_0` is its equilibrium value, and :math:`K` is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. @@ -68,10 +65,8 @@ commands: :math:`\chi_0` is specified in degrees, but LAMMPS converts it to radians internally; hence the units of K are in energy/radian\^2. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -90,14 +85,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/improper_hybrid.rst b/doc/src/improper_hybrid.rst index 4696296ff5..9d5c4c696d 100644 --- a/doc/src/improper_hybrid.rst +++ b/doc/src/improper_hybrid.rst @@ -6,7 +6,6 @@ improper_style hybrid command Syntax """""" - .. code-block:: LAMMPS improper_style hybrid style1 style2 ... @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style hybrid harmonic helix @@ -34,9 +32,9 @@ boundary (of improper type 2) could be computed with a *cvff* potential. The assignment of improper type to style is made via the :doc:`improper_coeff <improper_coeff>` command or in the data file. -In the improper\_coeff command, the first coefficient sets the improper +In the improper_coeff command, the first coefficient sets the improper style and the remaining coefficients are those appropriate to that -style. In the example above, the 2 improper\_coeff commands would set +style. In the example above, the 2 improper_coeff commands would set impropers of improper type 1 to be computed with a *harmonic* potential with coefficients 120.0, 30 for :math:`K`, :math:`\chi_0`. Improper type 2 would be computed with a *cvff* potential with coefficients @@ -51,17 +49,14 @@ appropriate to that style. The AngleAngle coeffs for that improper type will then be ignored. An improper style of *none* can be specified as the 2nd argument to -the improper\_coeff command, if you desire to turn off certain improper +the improper_coeff command, if you desire to turn off certain improper types. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -69,7 +64,7 @@ for more info. Unlike other improper styles, the hybrid improper style does not store improper coefficient info for individual sub-styles in a :doc:`binary restart files <restart>`. Thus when restarting a simulation from a -restart file, you need to re-specify improper\_coeff commands. +restart file, you need to re-specify improper_coeff commands. Related commands """""""""""""""" diff --git a/doc/src/improper_inversion_harmonic.rst b/doc/src/improper_inversion_harmonic.rst index f74ac78e07..4a4ad9e863 100644 --- a/doc/src/improper_inversion_harmonic.rst +++ b/doc/src/improper_inversion_harmonic.rst @@ -6,7 +6,6 @@ improper_style inversion/harmonic command Syntax """""" - .. code-block:: LAMMPS improper_style inversion/harmonic @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style inversion/harmonic @@ -30,7 +28,6 @@ out-of-plane angle definition and uses an harmonic potential: E = K \left(\omega - \omega_0\right)^2 - where :math:`K` is the force constant and :math:`\omega` is the angle evaluated for all three axis-plane combinations centered around the atom I. For the IL axis and the IJK plane :math:`\omega` looks as follows: @@ -55,14 +52,11 @@ If :math:`\omega_0 = 0` the potential term has a single minimum for the planar structure. Otherwise it has two minima at +/- :math:`\omega_0`, with a barrier in between. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-MOFFF package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/improper_none.rst b/doc/src/improper_none.rst index 9037ba9892..c1c194041a 100644 --- a/doc/src/improper_none.rst +++ b/doc/src/improper_none.rst @@ -6,7 +6,6 @@ improper_style none command Syntax """""" - .. code-block:: LAMMPS improper_style none @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style none diff --git a/doc/src/improper_ring.rst b/doc/src/improper_ring.rst index b09e353fd1..0634405c0e 100644 --- a/doc/src/improper_ring.rst +++ b/doc/src/improper_ring.rst @@ -9,7 +9,6 @@ improper_style ring/omp command Syntax """""" - .. code-block:: LAMMPS improper_style ring @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style ring @@ -35,16 +33,15 @@ The *ring* improper style uses the potential \Delta_{ijk} = & \cos{\theta_{ijk} - \cos{\theta_0}} \\ \Delta_{kjl} = & \cos{\theta_{kjl} - \cos{\theta_0}} - where :math:`K` is a prefactor, :math:`\theta` is the angle formed by the atoms specified by (i,j,k,l) indices and :math:`\theta_0` its equilibrium value. If the 4 atoms in an improper quadruplet (listed in the data file read by the :doc:`read_data <read_data>` command) are ordered i,j,k,l then -theta\_\ *ijl* is the angle between atoms i,j and l, theta\_\ *ijk* is the -angle between atoms i,j and k, theta\_\ *kjl* is the angle between atoms -j,k, and l. +:math:`\theta_{ijl}` is the angle between atoms i,j and l, +:math:`\theta_{ijk}` is the angle between atoms i,j and k, +:math:`\theta_{kjl}` is the angle between atoms j,k, and l. The "ring" improper style implements the improper potential introduced by Destree et al., in Equation (9) of :ref:`(Destree) <Destree>`. This @@ -65,10 +62,8 @@ commands: * :math:`K` (energy) * :math:`\theta_0` (degrees) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -87,14 +82,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -106,7 +98,5 @@ Related commands .. _Destree: - - **(Destree)** M. Destree, F. Laupretre, A. Lyulin, and J.-P. Ryckaert, J Chem Phys, 112, 9632 (2000). diff --git a/doc/src/improper_sqdistharm.rst b/doc/src/improper_sqdistharm.rst index b883d5e4f0..2f8723a68c 100644 --- a/doc/src/improper_sqdistharm.rst +++ b/doc/src/improper_sqdistharm.rst @@ -32,25 +32,22 @@ by the other three atoms. If the 4 atoms in an improper quadruplet (listed in the data file read by the :doc:`read_data <read_data>` command) are ordered I,J,K,L then the L-atom is assumed to be the central atom. Note that this is different from the convention used -in the improper\_style distance. +in the improper_style distance. The following coefficients must be defined for each improper type via -the improper\_coeff command as in the example above, or in the data -file or restart files read by the read\_data or read\_restart commands: +the improper_coeff command as in the example above, or in the data +file or restart files read by the read_data or read_restart commands: * :math:`K` (energy/distance\^4) * :math:`{d_0}^2` (distance\^2) Note that :math:`{d_0}^2` (in units distance\^2) has be provided and not :math:`d_0`. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/improper_style.rst b/doc/src/improper_style.rst index 4035f763df..0667b8f5b9 100644 --- a/doc/src/improper_style.rst +++ b/doc/src/improper_style.rst @@ -6,7 +6,6 @@ improper_style command Syntax """""" - .. code-block:: LAMMPS improper_style style @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style harmonic @@ -43,11 +41,11 @@ a data or restart file or via the :doc:`improper_coeff <improper_coeff>` command. All improper potentials store their coefficient data in binary restart -files which means improper\_style and +files which means improper_style and :doc:`improper_coeff <improper_coeff>` commands do not need to be re-specified in an input script that restarts a simulation. See the :doc:`read_restart <read_restart>` command for details on how to do -this. The one exception is that improper\_style *hybrid* only stores +this. The one exception is that improper_style *hybrid* only stores the list of sub-styles in the restart file; improper coefficients need to be re-specified. @@ -58,17 +56,15 @@ to be re-specified. turn off (or weight) the pairwise interaction that would otherwise exist between a group of 4 bonded atoms. - ---------- - Here is an alphabetic list of improper styles defined in LAMMPS. Click on the style to display the formula it computes and coefficients specified by the associated :doc:`improper_coeff <improper_coeff>` command. Click on the style to display the formula it computes, any additional -arguments specified in the improper\_style command, and coefficients +arguments specified in the improper_style command, and coefficients specified by the associated :doc:`improper_coeff <improper_coeff>` command. @@ -94,15 +90,12 @@ more of (g,i,k,o,t) to indicate which accelerated styles exist. :doc:`sqdistharm <improper_sqdistharm>` - improper that is harmonic in the square of the out-of-plane distance - ---------- - Restrictions """""""""""" - -Improper styles can only be set for atom\_style choices that allow +Improper styles can only be set for atom_style choices that allow impropers to be defined. Most improper styles are part of the MOLECULE package. They are only @@ -117,7 +110,6 @@ Related commands Default """"""" - .. code-block:: LAMMPS improper_style none diff --git a/doc/src/improper_umbrella.rst b/doc/src/improper_umbrella.rst index cc690dc3b4..ad070319bc 100644 --- a/doc/src/improper_umbrella.rst +++ b/doc/src/improper_umbrella.rst @@ -9,7 +9,6 @@ improper_style umbrella/omp command Syntax """""" - .. code-block:: LAMMPS improper_style umbrella @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style umbrella @@ -35,7 +33,6 @@ commonly referred to as a classic inversion and used in the E = & \frac{1}{2}K\left( \frac{1}{\sin\omega_0}\right) ^2 \left( \cos\omega - \cos\omega_0\right) ^2 \qquad \omega_0 \neq 0^o \\ E = & K\left( 1-cos\omega\right) \qquad \omega_0 = 0^o - where :math:`K` is the force constant and :math:`\omega` is the angle between the IL axis and the IJK plane: @@ -57,10 +54,8 @@ commands: * :math:`K` (energy) * :math:`\omega_0` (degrees) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -79,14 +74,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This improper style can only be used if LAMMPS was built with the MOLECULE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -98,13 +90,9 @@ Related commands **Default:** none - ---------- - .. _umbrella-Mayo: - - **(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990), diff --git a/doc/src/improper_zero.rst b/doc/src/improper_zero.rst index d1419f7618..354c0d486e 100644 --- a/doc/src/improper_zero.rst +++ b/doc/src/improper_zero.rst @@ -6,7 +6,6 @@ improper_style zero command Syntax """""" - .. code-block:: LAMMPS improper_style zero [nocoeff] @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS improper_style zero @@ -35,7 +33,7 @@ command. If no improper style is defined, this command cannot be used. The optional *nocoeff* flag allows to read data files with a ImproperCoeff -section for any improper style. Similarly, any improper\_coeff commands +section for any improper style. Similarly, any improper_coeff commands will only be checked for the improper type number and the rest ignored. Note that the :doc:`improper_coeff <improper_coeff>` command must be diff --git a/doc/src/impropers.rst b/doc/src/impropers.rst index 93b4776d2c..a6653fde7d 100644 --- a/doc/src/impropers.rst +++ b/doc/src/impropers.rst @@ -1,7 +1,6 @@ Improper Styles ############### - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/include.rst b/doc/src/include.rst index 906fe0b16a..e98ffa05e4 100644 --- a/doc/src/include.rst +++ b/doc/src/include.rst @@ -6,7 +6,6 @@ include command Syntax """""" - .. parsed-literal:: include file @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS include newfile include in.run2 diff --git a/doc/src/info.rst b/doc/src/info.rst index 70f9e9bfed..77d430ea66 100644 --- a/doc/src/info.rst +++ b/doc/src/info.rst @@ -6,7 +6,6 @@ info command Syntax """""" - .. parsed-literal:: info args @@ -18,8 +17,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS info system info groups computes variables diff --git a/doc/src/jump.rst b/doc/src/jump.rst index e7ece020e3..d597b336d3 100644 --- a/doc/src/jump.rst +++ b/doc/src/jump.rst @@ -6,7 +6,6 @@ jump command Syntax """""" - .. parsed-literal:: jump file label @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS jump newfile jump in.run2 runloop @@ -41,8 +39,7 @@ script is re-opened and read again. The SELF option is not guaranteed to work when the current input script is being read through stdin (standard input), e.g. - -.. parsed-literal:: +.. code-block:: bash lmp_g++ < in.script @@ -50,8 +47,7 @@ since the SELF option invokes the C-library rewind() call, which may not be supported for stdin on some systems or by some MPI implementations. This can be worked around by using the :doc:`-in command-line switch <Run_options>`, e.g. - -.. parsed-literal:: +.. code-block:: bash lmp_g++ -in in.script @@ -60,8 +56,7 @@ the script name as a variable to the input script. In the latter case, a :doc:`variable <variable>` called "fname" could be used in place of SELF, e.g. - -.. parsed-literal:: +.. code-block:: bash lmp_g++ -var fname in.script < in.script @@ -75,8 +70,7 @@ etc. The :doc:`next <next>` command is used to exit the loop after 10 iterations. When the "a" variable has been incremented for the tenth time, it will cause the next jump command to be skipped. - -.. parsed-literal:: +.. code-block:: LAMMPS variable a loop 10 label loop @@ -93,8 +87,7 @@ partitions of 10 procs each. An in.file containing the example variable and jump command will cause each partition to run a different simulation. - -.. parsed-literal:: +.. code-block:: LAMMPS mpirun -np 40 lmp_ibm -partition 4x10 -in in.file @@ -108,8 +101,7 @@ checked, so long as it is current on the timestep when the run completes. As explained on the :doc:`variable <variable>` doc page, this can be insured by including the variable in thermodynamic output. - -.. parsed-literal:: +.. code-block:: LAMMPS variable myTemp equal temp label loop @@ -125,27 +117,25 @@ Here is an example of a double loop which uses the if and :doc:`jump <jump>` commands to break out of the inner loop when a condition is met, then continues iterating through the outer loop. - -.. parsed-literal:: +.. code-block:: LAMMPS label loopa variable a loop 5 label loopb variable b loop 5 - print "A,B = $a,$b" - run 10000 - if "$b > 2" then "jump SELF break" + print "A,B = $a,$b" + run 10000 + if "$b > 2" then "jump SELF break" next b jump in.script loopb - label break - variable b delete + label break + variable b delete next a jump SELF loopa Restrictions """""""""""" - If you jump to a file and it does not contain the specified label, LAMMPS will come to the end of the file and exit. diff --git a/doc/src/kim_commands.rst b/doc/src/kim_commands.rst index aeab9fae56..c710ddfe5d 100644 --- a/doc/src/kim_commands.rst +++ b/doc/src/kim_commands.rst @@ -15,7 +15,6 @@ kim_param command Syntax """""" - .. code-block:: LAMMPS kim_init model user_units unitarg @@ -24,19 +23,17 @@ Syntax kim_param get param_name index_range variables formatarg kim_param set param_name index_range values -.. _formatarg\_options: - - +.. _formatarg_options: * model = name of the KIM interatomic model (the KIM ID for models archived in OpenKIM) -* user\_units = the LAMMPS :doc:`units <units>` style assumed in the LAMMPS input script -* unitarg = *unit\_conversion\_mode* (optional) -* typeargs = atom type to species mapping (one entry per atom type) or *fixed\_types* for models with a preset fixed mapping +* user_units = the LAMMPS :doc:`units <units>` style assumed in the LAMMPS input script +* unitarg = *unit_conversion_mode* (optional) +* typeargs = atom type to species mapping (one entry per atom type) or *fixed_types* for models with a preset fixed mapping * variable(s) = single name or list of names of (string style) LAMMPS variable(s) where a query result or parameter get result is stored. Variables that do not exist will be created by the command. * formatarg = *list, split, or explicit* (optional): - + .. parsed-literal:: - + *list* = returns a single string with a list of space separated values (e.g. "1.0 2.0 3.0"), which is placed in a LAMMPS variable as defined by the *variable* argument. [default for *kim_query*] @@ -44,18 +41,17 @@ Syntax on the prefix specified in *variable* and a number appended to indicate which element in the list of values is in the variable. *explicit* = returns the values separately in one more more variable names - provided as arguments that preceed *formatarg*\ . [default for *kim_param*] + provided as arguments that precede *formatarg*\ . [default for *kim_param*] -* query\_function = name of the OpenKIM web API query function to be used +* query_function = name of the OpenKIM web API query function to be used * queryargs = a series of *keyword=value* pairs that represent the web query; supported keywords depend on the query function -* param\_name = name of a KIM portable model parameter -* index\_range = KIM portable model parameter index range (an integer for a single element, or pair of integers separated by a colon for a range of elements) +* param_name = name of a KIM portable model parameter +* index_range = KIM portable model parameter index range (an integer for a single element, or pair of integers separated by a colon for a range of elements) * values = new value(s) to replace the current value(s) of a KIM portable model parameter Examples """""""" - .. code-block:: LAMMPS kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal @@ -72,14 +68,14 @@ Examples Description """"""""""" -The set of *kim\_commands* provide a high-level wrapper around the +The set of *kim_commands* provide a high-level wrapper around the `Open Knowledgebase of Interatomic Models (OpenKIM) <https://openkim.org>`_ repository of interatomic models (IMs) (potentials and force fields), so that they can be used by LAMMPS scripts. These commands do not implement any computations directly, but rather generate LAMMPS input commands based on the information retrieved from the OpenKIM repository to initialize and activate OpenKIM IMs and query their predictions for use in the LAMMPS script. -All LAMMPS input commands generated and executed by *kim\_commands* are +All LAMMPS input commands generated and executed by *kim_commands* are echoed to the LAMMPS log file. Benefits of Using OpenKIM IMs @@ -103,22 +99,18 @@ Reproducibility Convenience ^^^^^^^^^^^ -* IMs in OpenKIM are distributed in binary form along with LAMMPS and can be used in a LAMMPS input script simply by providing their KIM ID in the *kim\_init* command documented on this page. -* The *kim\_query* web query tool provides the ability to use the predictions of IMs for supported material properties (computed via `KIM Tests <https://openkim.org/doc/evaluation/kim-tests/>`_) as part of a LAMMPS input script setup and analysis. +* IMs in OpenKIM are distributed in binary form along with LAMMPS and can be used in a LAMMPS input script simply by providing their KIM ID in the *kim_init* command documented on this page. +* The *kim_query* web query tool provides the ability to use the predictions of IMs for supported material properties (computed via `KIM Tests <https://openkim.org/doc/evaluation/kim-tests/>`_) as part of a LAMMPS input script setup and analysis. * Support is provided for unit conversion between the :doc:`unit style <units>` used in the LAMMPS input script and the units required by the OpenKIM IM. This makes it possible to use a single input script with IMs using different units without change and minimizes the likelihood of errors due to incompatible units. -.. _IM\_types: - - +.. _IM_types: Types of IMs in OpenKIM ----------------------- There are two types of IMs archived in OpenKIM: -.. _PM\_type: - - +.. _PM_type: 1. The first type is called a *KIM Portable Model* (PM). A KIM PM is an independent computer implementation of an IM written in one of the languages supported by KIM (C, C++, Fortran) that conforms to the KIM Application Programming Interface (`KIM API <https://openkim.org/kim-api/>`_) Portable Model Interface (PMI) standard. A KIM PM will work seamlessly with any simulation code that supports the KIM API/PMI standard (including LAMMPS; see `complete list of supported codes <https://openkim.org/projects-using-kim/>`_). 2. The second type is called a *KIM Simulator Model* (SM). A KIM SM is an IM that is implemented natively within a simulation code (\ *simulator*\ ) that supports the KIM API Simulator Model Interface (SMI); in this case LAMMPS. A separate SM package is archived in OpenKIM for each parameterization of the IM, which includes all of the necessary parameter files, LAMMPS commands, and metadata (supported species, units, etc.) needed to run the IM in LAMMPS. @@ -135,8 +127,7 @@ and supported species, separated by two underscores from the KIM ID itself, which begins with an IM code (\ *MO* for a KIM Portable Model, and *SM* for a KIM Simulator Model) followed by a unique 12-digit code and a 3-digit version identifier. -By convention SM prefixes begin with *Sim\_* to readily identify them. - +By convention SM prefixes begin with *Sim_* to readily identify them. .. parsed-literal:: @@ -151,7 +142,6 @@ access to raw files, and other information. The URL for the Model Page is constructed from the `extended KIM ID <https://openkim.org/doc/schema/kim-ids/>`_ of the IM: - .. parsed-literal:: https://openkim.org/id/extended_KIM_ID @@ -159,7 +149,6 @@ The URL for the Model Page is constructed from the For example, for the Stillinger--Weber potential listed above the Model Page is located at: - .. parsed-literal:: `https://openkim.org/id/SW_StillingerWeber_1985_Si__MO_405512056662_005 <https://openkim.org/id/SW_StillingerWeber_1985_Si__MO_405512056662_005>`_ @@ -180,64 +169,63 @@ Using OpenKIM IMs with LAMMPS ----------------------------- Two commands are employed when using OpenKIM IMs, one to select the -IM and perform necessary initialization (*kim\_init*), and the second +IM and perform necessary initialization (*kim_init*), and the second to set up the IM for use by executing any necessary LAMMPS commands -(*kim\_interactions*). Both are required. +(*kim_interactions*). Both are required. See the *examples/kim* directory for example input scripts that use KIM PMs and KIM SMs. -OpenKIM IM Initialization (*kim\_init*) +OpenKIM IM Initialization (*kim_init*) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The *kim\_init* mode command must be issued **before** +The *kim_init* mode command must be issued **before** the simulation box is created (normally at the top of the file). This command sets the OpenKIM IM that will be used and may issue additional commands changing LAMMPS default settings that are required for using the selected IM (such as :doc:`units <units>` or :doc:`atom_style <atom_style>`). If needed, those settings can be overridden, -however, typically a script containing a *kim\_init* command -would not include *units* and *atom\_style* commands. +however, typically a script containing a *kim_init* command +would not include *units* and *atom_style* commands. -The required arguments of *kim\_init* are the *model* name of the +The required arguments of *kim_init* are the *model* name of the IM to be used in the simulation (for an IM archived in OpenKIM this is its `extended KIM ID <https://openkim.org/doc/schema/kim-ids/>`_, and -the *user\_units*, which are the LAMMPS :doc:`units style <units>` used +the *user_units*, which are the LAMMPS :doc:`units style <units>` used in the input script. (Any dimensioned numerical values in the input script and values read in from files are expected to be in the -*user\_units* system.) +*user_units* system.) The selected IM can be either a :ref:`KIM PM or a KIM SM <IM_types>`. -For a KIM SM, the *kim\_init* command verifies that the SM is designed +For a KIM SM, the *kim_init* command verifies that the SM is designed to work with LAMMPS (and not another simulation code). In addition, the LAMMPS version used for defining the SM and the LAMMPS version being currently run are printed to help diagnose any incompatible changes to input script or command syntax between the two LAMMPS versions. -Based on the selected model *kim\_init* may modify the +Based on the selected model *kim_init* may modify the :doc:`atom_style <atom_style>`. Some SMs have requirements for this setting. If this is the case, then -*atom\_style* will be set to the required style. Otherwise, the value is left -unchanged (which in the absence of an *atom\_style* command in the input script -is the :doc:`default atom\_style value <atom_style>`). +*atom_style* will be set to the required style. Otherwise, the value is left +unchanged (which in the absence of an *atom_style* command in the input script +is the :doc:`default atom_style value <atom_style>`). -Regarding units, the *kim\_init* command behaves in different ways depending +Regarding units, the *kim_init* command behaves in different ways depending on whether or not *unit conversion mode* is activated as indicated by the optional *unitarg* argument. -If unit conversion mode is **not** active, then *user\_units* must +If unit conversion mode is **not** active, then *user_units* must either match the required units of the IM or the IM must be able to adjust its units to match. (The latter is only possible with some KIM PMs; SMs can never adjust their units.) If a match is possible, the LAMMPS :doc:`units <units>` command is called to set the units to -*user\_units*. If the match fails, the simulation is terminated with +*user_units*. If the match fails, the simulation is terminated with an error. Here is an example of a LAMMPS script to compute the cohesive energy of a face-centered cubic (fcc) lattice for the Ercolessi and Adams (1994) potential for Al: - .. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal @@ -252,19 +240,18 @@ potential for Al: variable Ec equal (pe/count(all))/${_u_energy} print "Cohesive Energy = ${EcJ} eV" -The above script will end with an error in the *kim\_init* line if the +The above script will end with an error in the *kim_init* line if the IM is changed to another potential for Al that does not work with *metal* -units. To address this *kim\_init* offers the *unit\_conversion\_mode* +units. To address this *kim_init* offers the *unit_conversion_mode* as shown below. -If unit conversion mode *is* active, then *kim\_init* calls the LAMMPS +If unit conversion mode *is* active, then *kim_init* calls the LAMMPS :doc:`units <units>` command to set the units to the IM's required or -preferred units. Conversion factors between the IM's units and the *user\_units* +preferred units. Conversion factors between the IM's units and the *user_units* are defined for all :doc:`physical quantities <units>` (mass, distance, etc.). (Note that converting to or from the "lj" unit style is not supported.) These factors are stored as :doc:`internal style variables <variable>` with the following standard names: - .. parsed-literal:: _u_mass @@ -292,7 +279,6 @@ script constructs an fcc lattice with a lattice parameter defined in meters, computes the total energy, and prints the cohesive energy in Joules regardless of the units of the IM. - .. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 si unit_conversion_mode @@ -307,19 +293,18 @@ Joules regardless of the units of the IM. variable Ec_in_J equal (pe/count(all))/${_u_energy} print "Cohesive Energy = ${Ec_in_J} J" -Note the multiplication by ${\_u_distance} and ${\_u_mass} to convert -from SI units (specified in the *kim\_init* command) to whatever units the -IM uses (metal in this case), and the division by ${\_u_energy} +Note the multiplication by ${_u_distance} and ${_u_mass} to convert +from SI units (specified in the *kim_init* command) to whatever units the +IM uses (metal in this case), and the division by ${_u_energy} to convert from the IM's energy units to SI units (Joule). This script will work correctly for any IM for Al (KIM PM or SM) selected by the -*kim\_init* command. +*kim_init* command. Care must be taken to apply unit conversion to dimensional variables read in from a file. For example, if a configuration of atoms is read in from a dump file using the :doc:`read_dump <read_dump>` command, the following can be done to convert the box and all atomic positions to the correct units: - .. code-block:: LAMMPS variable xyfinal equal xy*${_u_distance} @@ -339,17 +324,17 @@ be done to convert the box and all atomic positions to the correct units: all appropriate places in the input script. It is up to the user to do this correctly. -OpenKIM IM Execution (*kim\_interactions*) +OpenKIM IM Execution (*kim_interactions*) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The second and final step in using an OpenKIM IM is to execute the -*kim\_interactions* command. This command must be preceded by a *kim\_init* +*kim_interactions* command. This command must be preceded by a *kim_init* command and a command that defines the number of atom types *N* (such as :doc:`create_box <create_box>`). -The *kim\_interactions* command has one argument *typeargs*\ . This argument +The *kim_interactions* command has one argument *typeargs*\ . This argument contains either a list of *N* chemical species, which defines a mapping between atom types in LAMMPS to the available species in the OpenKIM IM, or the -keyword *fixed\_types* for models that have a preset fixed mapping (i.e. +keyword *fixed_types* for models that have a preset fixed mapping (i.e. the mapping between LAMMPS atom types and chemical species is defined by the model and cannot be changed). In the latter case, the user must consult the model documentation to see how many atom types there are and how they @@ -357,8 +342,7 @@ map to the chemical species. For example, consider an OpenKIM IM that supports Si and C species. If the LAMMPS simulation has four atom types, where the first three are Si, -and the fourth is C, the following *kim\_interactions* command would be used: - +and the fourth is C, the following *kim_interactions* command would be used: .. code-block:: LAMMPS @@ -366,19 +350,17 @@ and the fourth is C, the following *kim\_interactions* command would be used: Alternatively, for a model with a fixed mapping the command would be: - .. code-block:: LAMMPS kim_interactions fixed_types -The *kim\_interactions* command performs all the necessary steps to set up -the OpenKIM IM selected in the *kim\_init* command. The specific actions depend +The *kim_interactions* command performs all the necessary steps to set up +the OpenKIM IM selected in the *kim_init* command. The specific actions depend on whether the IM is a KIM PM or a KIM SM. For a KIM PM, a :doc:`pair_style kim <pair_kim>` command is executed followed by -the appropriate *pair\_coeff* command. For example, for the +the appropriate *pair_coeff* command. For example, for the Ercolessi and Adams (1994) KIM PM for Al set by the following commands: - .. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal @@ -387,8 +369,7 @@ Ercolessi and Adams (1994) KIM PM for Al set by the following commands: ... kim_interactions Al -the *kim\_interactions* command executes the following LAMMPS input commands: - +the *kim_interactions* command executes the following LAMMPS input commands: .. code-block:: LAMMPS @@ -402,7 +383,6 @@ is defined in the SM specification file, which is part of the SM package. For example, for the Strachan et al. (2003) ReaxFF SM set by the following commands: - .. code-block:: LAMMPS kim_init Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000 real @@ -411,8 +391,7 @@ set by the following commands: ... kim_interactions C H N O -the *kim\_interactions* command executes the following LAMMPS input commands: - +the *kim_interactions* command executes the following LAMMPS input commands: .. code-block:: LAMMPS @@ -420,7 +399,7 @@ the *kim\_interactions* command executes the following LAMMPS input commands: pair_coeff * * ffield.reax.rdx C H N O fix reaxqeq all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq -Note that the files *lmp\_control*, *ffield.reax.rdx* and *param.qeq* +Note that the files *lmp_control*, *ffield.reax.rdx* and *param.qeq* are specific to the Strachan et al. (2003) ReaxFF parameterization and are archived as part of the SM package in OpenKIM. Note also that parameters like cutoff radii and charge tolerances, @@ -429,25 +408,24 @@ SM definition ensuring reproducibility. .. note:: - When using *kim\_init* and *kim\_interactions* to select + When using *kim_init* and *kim_interactions* to select and set up an OpenKIM IM, other LAMMPS commands - for the same functions (such as pair\_style, pair\_coeff, bond\_style, - bond\_coeff, fixes related to charge equilibration, etc.) should normally + for the same functions (such as pair_style, pair_coeff, bond_style, + bond_coeff, fixes related to charge equilibration, etc.) should normally not appear in the input script. -Using OpenKIM Web Queries in LAMMPS (*kim\_query*) +Using OpenKIM Web Queries in LAMMPS (*kim_query*) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The *kim\_query* command performs a web query to retrieve the predictions -of an IM set by *kim\_init* for material properties archived in +The *kim_query* command performs a web query to retrieve the predictions +of an IM set by *kim_init* for material properties archived in `OpenKIM <https://openkim.org>`_. .. note:: - The *kim\_query* command must be preceded by a *kim\_init* command. - -The syntax for the *kim\_query* command is as follows: + The *kim_query* command must be preceded by a *kim_init* command. +The syntax for the *kim_query* command is as follows: .. code-block:: LAMMPS @@ -460,21 +438,21 @@ For the "list" setting of *formatarg* (or if *formatarg* is not specified), the result is returned as a space-separated list of values in *variable*\ . The *formatarg* keyword "split" separates the result values into -individual variables of the form *prefix\_I*, where *prefix* is set to the -*kim\_query* *variable* argument and *I* ranges from 1 to the number of +individual variables of the form *prefix_I*, where *prefix* is set to the +*kim_query* *variable* argument and *I* ranges from 1 to the number of returned values. The number and order of the returned values is determined by the type of query performed. (Note that the "explicit" setting of -*formatarg* is not supported by *kim\_query*.) +*formatarg* is not supported by *kim_query*.) .. note:: - *kim\_query* only supports queries that return a single result or + *kim_query* only supports queries that return a single result or an array of values. More complex queries that return a JSON structure - are not currently supported. An attempt to use *kim\_query* in such + are not currently supported. An attempt to use *kim_query* in such cases will generate an error. -The second required argument *query\_function* is the name of the -query function to be called (e.g. *get\_lattice\_constant\_cubic*). +The second required argument *query_function* is the name of the +query function to be called (e.g. *get_lattice_constant_cubic*). All following :doc:`arguments <Commands_parse>` are parameters handed over to the web query in the format *keyword=value*\ , where *value* is always an array of one or more comma-separated items in brackets. @@ -487,12 +465,12 @@ is available on the OpenKIM webpage at All query functions require the *model* keyword, which identifies the IM whose predictions are being queried. This keyword is automatically - generated by *kim\_query* based on the IM set in *kim\_init* and must not - be specified as an argument to *kim\_query*. + generated by *kim_query* based on the IM set in *kim_init* and must not + be specified as an argument to *kim_query*. .. note:: - Each *query\_function* is associated with a default method (implemented + Each *query_function* is associated with a default method (implemented as a `KIM Test <https://openkim.org/doc/evaluation/kim-tests/>`_) used to compute this property. In cases where there are multiple methods in OpenKIM for computing a property, a *method* keyword can @@ -500,15 +478,14 @@ is available on the OpenKIM webpage at `query documentation <https://openkim.org/doc/repository/kim-query>`_ to see which methods are available for a given *query function*\ . -*kim\_query* Usage Examples and Further Clarifications +*kim_query* Usage Examples and Further Clarifications ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The data obtained by *kim\_query* commands can be used as part of the setup +The data obtained by *kim_query* commands can be used as part of the setup or analysis phases of LAMMPS simulations. Some examples are given below. **Define an equilibrium fcc crystal** - .. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal @@ -517,22 +494,21 @@ or analysis phases of LAMMPS simulations. Some examples are given below. lattice fcc ${a0} ... -The *kim\_query* command retrieves from `OpenKIM <https://openkim.org>`_ +The *kim_query* command retrieves from `OpenKIM <https://openkim.org>`_ the equilibrium lattice constant predicted by the Ercolessi and Adams (1994) potential for the fcc structure and places it in variable *a0*\ . This variable is then used on the next line to set up the -crystal. By using *kim\_query*, the user is saved the trouble and possible +crystal. By using *kim_query*, the user is saved the trouble and possible error of tracking this value down, or of having to perform an energy minimization to find the equilibrium lattice constant. -Note that in *unit\_conversion\_mode* the results obtained from a -*kim\_query* would need to be converted to the appropriate units system. +Note that in *unit_conversion_mode* the results obtained from a +*kim_query* would need to be converted to the appropriate units system. For example, in the above script, the lattice command would need to be -changed to: "lattice fcc ${a0}\*${\_u_distance}". +changed to: "lattice fcc ${a0}\*${_u_distance}". **Define an equilibrium hcp crystal** - .. code-block:: LAMMPS kim_init EAM_Dynamo_Mendelev_2007_Zr__MO_848899341753_000 metal @@ -545,17 +521,16 @@ changed to: "lattice fcc ${a0}\*${\_u_distance}". basis 0.333333 0.666666 0.25 basis 0.666666 0.333333 0.75 ... -In this case the *kim\_query* returns two arguments (since the hexagonal +In this case the *kim_query* returns two arguments (since the hexagonal close packed (hcp) structure has two independent lattice constants). The *formatarg* keyword "split" places the two values into -the variables *latconst\_1* and *latconst\_2*. (These variables are +the variables *latconst_1* and *latconst_2*. (These variables are created if they do not already exist.) For convenience the variables *a0* and *c0* are created in order to make the remainder of the input script more readable. **Define a crystal at finite temperature accounting for thermal expansion** - .. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal @@ -578,7 +553,7 @@ potential. of the temperature in the above example) it is also possible to pass a tolerance indicating how close to the value is considered a match. If no tolerance is passed a default value is used. If multiple results - are returned (indicating that the tolerance is too large), *kim\_query* + are returned (indicating that the tolerance is too large), *kim_query* will return an error. See the `query documentation <https://openkim.org/doc/repository/kim-query>`_ to see which numerical arguments and tolerances are available for a @@ -586,7 +561,6 @@ potential. **Compute defect formation energy** - .. code-block:: LAMMPS kim_init EAM_Dynamo_ErcolessiAdams_1994_Al__MO_123629422045_005 metal @@ -604,7 +578,7 @@ ideal fcc cohesive energy of the atoms in the system obtained from .. note:: - *kim\_query* commands return results archived in + *kim_query* commands return results archived in `OpenKIM <https://openkim.org>`_. These results are obtained using programs for computing material properties (KIM Tests and KIM Test Drivers) that were contributed to OpenKIM. @@ -612,7 +586,7 @@ ideal fcc cohesive energy of the atoms in the system obtained from from these programs are queried is tracked. No other information about the nature of the query or its source is recorded. -Accessing KIM Model Parameters from LAMMPS (*kim\_param*) +Accessing KIM Model Parameters from LAMMPS (*kim_param*) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All IMs are functional forms containing a set of @@ -635,10 +609,10 @@ of an IM, whereas KIM SMs are wrappers to an IM implemented within LAMMPS. Two different mechanisms are provided for accessing IM parameters in these two cases: -* For a KIM PM, the *kim\_param* command can be used to *get* and *set* the values of the PM's parameters as explained below. +* For a KIM PM, the *kim_param* command can be used to *get* and *set* the values of the PM's parameters as explained below. * For a KIM SM, the user should consult the documentation page for the specific IM and follow instructions there for how to modify its parameters (if possible). -The *kim\_param get* and *kim\_param set* commands provide an interface +The *kim_param get* and *kim_param set* commands provide an interface to access and change the parameters of a KIM PM that "publishes" its parameters and makes them publicly available (see the `KIM API documentation <https://kim-api.readthedocs.io/en/devel/features.html>`_ @@ -646,20 +620,19 @@ for details). .. note:: - The *kim\_param get/set* commands must be preceded by *kim\_init*. - The *kim\_param set* command must additionally be preceded by a - *kim\_interactions* command (or alternatively by a *pair\_style kim* - and *pair\_coeff* commands). The *kim\_param set* command may be used wherever a *pair\_coeff* command may occur. - -The syntax for the *kim\_param* command is as follows: + The *kim_param get/set* commands must be preceded by *kim_init*. + The *kim_param set* command must additionally be preceded by a + *kim_interactions* command (or alternatively by a *pair_style kim* + and *pair_coeff* commands). The *kim_param set* command may be used wherever a *pair_coeff* command may occur. +The syntax for the *kim_param* command is as follows: .. code-block:: LAMMPS kim_param get param_name index_range variable formatarg kim_param set param_name index_range values -Here, *param\_name* is the name of a KIM PM parameter (which is published +Here, *param_name* is the name of a KIM PM parameter (which is published by the PM and available for access). The specific string used to identify a parameter is defined by the PM. For example, for the `Stillinger--Weber (SW) potential in OpenKIM <https://openkim.org/id/SW_StillingerWeber_1985_Si__MO_405512056662_005>`_, @@ -668,7 +641,7 @@ the parameter names are *A, B, p, q, sigma, gamma, cutoff, lambda, costheta0*\ . .. note:: The list of all the parameters that a PM exposes for access/mutation are - automatically written to the lammps log file when *kim\_init* is called. + automatically written to the lammps log file when *kim_init* is called. Each published parameter of a KIM PM takes the form of an array of numerical values. The array can contain one element for a single-valued @@ -681,32 +654,32 @@ values used for each pairwise combination of the model's six supported species (this model does not have parameters specific to individual ternary combinations of its supported species). -The *index\_range* argument may either be an integer referring to +The *index_range* argument may either be an integer referring to a specific element within the array associated with the parameter -specified by *param\_name*, or a pair of integers separated by a colon +specified by *param_name*, or a pair of integers separated by a colon that refer to a slice of this array. In both cases, one-based indexing is used to refer to the entries of the array. -The result of a *get* operation for a specific *index\_range* is stored in +The result of a *get* operation for a specific *index_range* is stored in one or more :doc:`LAMMPS string style variables <variable>` as determined by the optional *formatarg* argument :ref:`documented above. <formatarg_options>` If not specified, the default for *formatarg* is "explicit" for the -*kim\_param* command. +*kim_param* command. For the case where the result is an array with multiple values -(i.e. *index\_range* contains a range), the optional "split" or "explicit" +(i.e. *index_range* contains a range), the optional "split" or "explicit" *formatarg* keywords can be used to separate the results into multiple variables; see the examples below. -Multiple parameters can be retrieved with a single call to *kim\_param get* +Multiple parameters can be retrieved with a single call to *kim_param get* by repeating the argument list following *get*\ . For a *set* operation, the *values* argument contains the new value(s) -for the element(s) of the parameter specified by *index\_range*. For the case +for the element(s) of the parameter specified by *index_range*. For the case where multiple values are being set, *values* contains a set of values separated by spaces. Multiple parameters can be set with a single call to -*kim\_param set* by repeating the argument list following *set*\ . +*kim_param set* by repeating the argument list following *set*\ . -*kim\_param* Usage Examples and Further Clarifications +*kim_param* Usage Examples and Further Clarifications ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Examples of getting and setting KIM PM parameters with further @@ -714,7 +687,6 @@ clarifications are provided below. **Getting a scalar parameter** - .. code-block:: LAMMPS kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal @@ -728,7 +700,6 @@ LAMMPS variable. **Getting multiple scalar parameters with a single call** - .. code-block:: LAMMPS kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal @@ -743,7 +714,6 @@ them in the LAMMPS variables *VARA* and *VARB*\ . There are several options when getting a range of values from a parameter determined by the *formatarg* argument. - .. code-block:: LAMMPS kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal @@ -752,9 +722,9 @@ determined by the *formatarg* argument. In this case, *formatarg* is not specified and therefore the default "explicit" mode is used. (The behavior would be the same if the word -*explicit* were added after *LAM\_TeSe*.) Elements 7, 8 and 9 of parameter +*explicit* were added after *LAM_TeSe*.) Elements 7, 8 and 9 of parameter lambda retrieved by the *get* operation are placed in the LAMMPS variables -*LAM\_TeTe*, *LAM\_TeZn* and *LAM\_TeSe*, respectively. +*LAM_TeTe*, *LAM_TeZn* and *LAM_TeSe*, respectively. .. note:: @@ -766,7 +736,6 @@ lambda retrieved by the *get* operation are placed in the LAMMPS variables provided with the driver for the PM being used. A link to the driver is provided at the top of the model page. - .. code-block:: LAMMPS kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal @@ -785,10 +754,9 @@ The result of the *get* operation is stored in the LAMMPS variable *LAMS* as a string containing the three retrieved values separated by spaces, e.g "1.0 2.0 3.0". This can be used in LAMMPS with an *index* variable to access the values one at a time within a loop -as shown in the example. At each iteration of the loop *LAM\_VALUE* +as shown in the example. At each iteration of the loop *LAM_VALUE* contains the current value of lambda. - .. code-block:: LAMMPS kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal @@ -797,13 +765,12 @@ contains the current value of lambda. In this case, the "split" mode of *formatarg* is used. The three values retrieved by the *get* operation are stored in -the three LAMMPS variables *LAM\_15*, *LAM\_16* and *LAM\_17*. +the three LAMMPS variables *LAM_15*, *LAM_16* and *LAM_17*. The provided name "LAM" is used as prefix and the location in the lambda array is appended to create the variable names. **Setting a scalar parameter** - .. code-block:: LAMMPS kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 metal @@ -815,7 +782,6 @@ Here, the SW potential's gamma parameter is set to 2.6. Note that the *get* and *set* commands work together, so that a *get* following a *set* operation will return the new value that was set. For example: - .. code-block:: LAMMPS ... @@ -826,12 +792,11 @@ operation will return the new value that was set. For example: ... print "original gamma = ${ORIG_GAMMA}, new gamma = ${NEW_GAMMA}" -Here, *ORIG\_GAMMA* will contain the original gamma value for the SW -potential, while *NEW\_GAMMA* will contain the value 2.6. +Here, *ORIG_GAMMA* will contain the original gamma value for the SW +potential, while *NEW_GAMMA* will contain the value 2.6. **Setting multiple scalar parameters with a single call** - .. parsed-literal:: kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal @@ -848,7 +813,6 @@ be used when setting parameters. **Setting a range of values of a parameter** - .. code-block:: LAMMPS kim_init SW_ZhouWardMartin_2013_CdTeZnSeHgS__MO_503261197030_002 metal @@ -878,8 +842,7 @@ and enables open source efforts like OpenKIM to function. Restrictions """""""""""" - -The set of *kim\_commands* is part of the KIM package. It is only enabled if +The set of *kim_commands* is part of the KIM package. It is only enabled if LAMMPS is built with that package. A requirement for the KIM package, is the KIM API library that must be downloaded from the `OpenKIM website <https://openkim.org/kim-api/>`_ and installed before @@ -887,7 +850,7 @@ LAMMPS is compiled. When installing LAMMPS from binary, the kim-api package is a dependency that is automatically downloaded and installed. See the KIM section of the :doc:`Packages details <Packages_details>` for details. -Furthermore, when using *kim\_commands* to run KIM SMs, any packages required +Furthermore, when using *kim_commands* to run KIM SMs, any packages required by the native potential being used or other commands or fixes that it invokes must be installed. @@ -896,20 +859,14 @@ Related commands :doc:`pair_style kim <pair_kim>` - ---------- - .. _kim-mainpaper: - - **(Tadmor)** Tadmor, Elliott, Sethna, Miller and Becker, JOM, 63, 17 (2011). doi: `https://doi.org/10.1007/s11837-011-0102-6 <https://doi.org/10.1007/s11837-011-0102-6>`_ .. _kim-api: - - **(Elliott)** Elliott, Tadmor and Bernstein, `https://openkim.org/kim-api <https://openkim.org/kim-api>`_ (2011) doi: `https://doi.org/10.25950/FF8F563A <https://doi.org/10.25950/FF8F563A>`_ diff --git a/doc/src/kspace_modify.rst b/doc/src/kspace_modify.rst index 9c692997c9..afbe1b0043 100644 --- a/doc/src/kspace_modify.rst +++ b/doc/src/kspace_modify.rst @@ -6,16 +6,15 @@ kspace_modify command Syntax """""" - .. code-block:: LAMMPS kspace_modify keyword value ... * one or more keyword/value pairs may be listed * keyword = *collective* or *compute* or *cutoff/adjust* or *diff* or *disp/auto* or *fftbench* or *force/disp/kspace* or *force/disp/real* or *force* or *gewald/disp* or *gewald* or *kmax/ewald* or *mesh* or *minorder* or *mix/disp* or *order/disp* or *order* or *overlap* or *scafacos* or *slab* or *splittol* - + .. parsed-literal:: - + *collective* value = *yes* or *no* *compute* value = *yes* or *no* *cutoff/adjust* value = *yes* or *no* @@ -56,12 +55,9 @@ Syntax *splittol* value = tol tol = relative size of two eigenvalues (see discussion below) - - Examples """""""" - .. code-block:: LAMMPS kspace_modify mesh 24 24 30 order 6 @@ -75,10 +71,8 @@ Set parameters used by the kspace solvers defined by the :doc:`kspace_style <kspace_style>` command. Not all parameters are relevant to all kspace styles. - ---------- - The *collective* keyword applies only to PPPM. It is set to *no* by default, except on IBM BlueGene machines. If this option is set to *yes*\ , LAMMPS will use MPI collective operations to remap data for @@ -87,10 +81,8 @@ This is faster on IBM BlueGene machines, and may also be faster on other machines if they have an efficient implementation of MPI collective operations and adequate hardware. - ---------- - The *compute* keyword allows Kspace computations to be turned off, even though a :doc:`kspace_style <kspace_style>` is defined. This is not useful for running a real simulation, but can be useful for @@ -100,10 +92,8 @@ defining a :doc:`kspace_style <kspace_style>`, but a Kspace-compatible :doc:`pair_style <pair_style>` requires a kspace style to be defined. This keyword gives you that option. - ---------- - The *cutoff/adjust* keyword applies only to MSM. If this option is turned on, the Coulombic cutoff will be automatically adjusted at the beginning of the run to give the desired estimated error. Other @@ -113,10 +103,8 @@ grid that minimizes cost using an estimate given by :ref:`(Hardy) <Hardy1>`. Note that this cost estimate is not exact, somewhat experimental, and still may not yield the optimal parameters. - ---------- - The *diff* keyword specifies the differentiation scheme used by the PPPM method to compute forces on particles given electrostatic potentials on the PPPM mesh. The *ik* approach is the default for @@ -140,10 +128,8 @@ always used for MSM. Currently, not all PPPM styles support the *ad* option. Support for those PPPM variants will be added later. - ---------- - The *disp/auto* option controls whether the pppm/disp is allowed to generate PPPM parameters automatically. If set to *no*\ , parameters have to be specified using the *gewald/disp*\ , *mesh/disp*\ , @@ -155,29 +141,23 @@ will provide simulations that are either inaccurate or slow. Using this option is thus not recommended. For guidelines on how to obtain good parameters, see the :doc:`How-To <Howto_dispersion>` discussion. - ---------- - The *fftbench* keyword applies only to PPPM. It is off by default. If this option is turned on, LAMMPS will perform a short FFT benchmark computation and report its timings, and will thus finish a some seconds later than it would if this option were off. - ---------- - The *force/disp/real* and *force/disp/kspace* keywords set the force accuracy for the real and space computations for the dispersion part of pppm/disp. As shown in :ref:`(Isele-Holder) <Isele-Holder1>`, optimal performance and accuracy in the results is obtained when these values are different. - ---------- - The *force* keyword overrides the relative accuracy parameter set by the :doc:`kspace_style <kspace_style>` command with an absolute accuracy. The accuracy determines the RMS error in per-atom forces @@ -188,10 +168,8 @@ conjunction with the pairwise cutoff to determine the number of K-space vectors for style *ewald*\ , the FFT grid size for style *pppm*\ , or the real space grid size for style *msm*\ . - ---------- - The *gewald* keyword sets the value of the Ewald or PPPM G-ewald parameter for charge as *rinv* in reciprocal distance units. Without this setting, LAMMPS chooses the parameter automatically as a function @@ -203,18 +181,14 @@ and G-ewald parameter automatically. If the value is set to 0.0, LAMMPS will choose the G-ewald parameter automatically. MSM does not use the *gewald* parameter. - ---------- - The *gewald/disp* keyword sets the value of the Ewald or PPPM G-ewald parameter for dispersion as *rinv* in reciprocal distance units. It has the same meaning as the *gewald* setting for Coulombics. - ---------- - The *kmax/ewald* keyword sets the number of kspace vectors in each dimension for kspace style *ewald*\ . The three values must be positive integers, or else (0,0,0), which unsets the option. When this option @@ -223,10 +197,8 @@ consistent with the user-specified accuracy and pairwise cutoff. In any case, if kspace style *ewald* is invoked, the values used are printed to the screen and the log file at the start of the run. - ---------- - The *mesh* keyword sets the grid size for kspace style *pppm* or *msm*\ . In the case of PPPM, this is the FFT mesh, and each dimension must be factorizable into powers of 2, 3, and 5. In the case of MSM, @@ -236,10 +208,8 @@ or MSM solver chooses its own grid size, consistent with the user-specified accuracy and pairwise cutoff. Values for x,y,z of 0,0,0 unset the option. - ---------- - The *mesh/disp* keyword sets the grid size for kspace style *pppm/disp*\ . This is the FFT mesh for long-range dispersion and ach dimension must be factorizable into powers of 2, 3, and 5. When this @@ -247,10 +217,8 @@ option is not set, the PPPM solver chooses its own grid size, consistent with the user-specified accuracy and pairwise cutoff. Values for x,y,z of 0,0,0 unset the option. - ---------- - The *minorder* keyword allows LAMMPS to reduce the *order* setting if necessary to keep the communication of ghost grid point limited to exchanges between nearest-neighbor processors. See the discussion of @@ -266,10 +234,8 @@ error if the grid communication is non-nearest-neighbor and *overlap* is set to *no*\ . The *minorder* keyword is not currently supported in MSM. - ---------- - The *mix/disp* keyword selects the mixing rule for the dispersion coefficients. With *pair*\ , the dispersion coefficients of unlike types are computed as indicated with :doc:`pair_modify <pair_modify>`. @@ -288,10 +254,8 @@ dispersion coefficients is approximated. This leads to faster computations, but the accuracy in the reciprocal space computations of the dispersion part is decreased. - ---------- - The *order* keyword determines how many grid spacings an atom's charge extends when it is mapped to the grid in kspace style *pppm* or *msm*\ . The default for this parameter is 5 for PPPM and 8 for MSM, which @@ -314,19 +278,15 @@ be generated indicating the order parameter is being reduced to allow LAMMPS to run the problem. Automatic adjustment of the order parameter is not supported in MSM. - ---------- - The *order/disp* keyword determines how many grid spacings an atom's dispersion term extends when it is mapped to the grid in kspace style *pppm/disp*\ . It has the same meaning as the *order* setting for Coulombics. - ---------- - The *overlap* keyword can be used in conjunction with the *minorder* keyword with the PPPM styles to adjust the amount of communication that occurs when values on the FFT grid are exchanged between @@ -342,10 +302,8 @@ communication will be limited to nearest-neighbor processors and the *minorder* keyword discussion. The *overlap* keyword is always set to *yes* in MSM. - ---------- - The *pressure/scalar* keyword applies only to MSM. If this option is turned on, only the scalar pressure (i.e. (Pxx + Pyy + Pzz)/3.0) will be computed, which can be used, for example, to run an isotropic barostat. @@ -356,10 +314,8 @@ instead of using the virial equation. This option cannot be used to access individual components of the pressure tensor, to compute per-atom virial, or with suffix kspace/pair styles of MSM, like OMP or GPU. - ---------- - The *scafacos* keyword is used for settings that are passed to the ScaFaCoS library when using :doc:`kspace_style scafacos <kspace_style>`. @@ -368,18 +324,18 @@ The *tolerance* option affects how the *accuracy* specified with the The following values may be used: * energy = absolute accuracy in total Coulombic energy -* energy\_rel = relative accuracy in total Coulombic energy +* energy_rel = relative accuracy in total Coulombic energy * potential = absolute accuracy in total Coulombic potential -* potential\_rel = relative accuracy in total Coulombic potential +* potential_rel = relative accuracy in total Coulombic potential * field = absolute accuracy in electric field -* field\_rel = relative accuracy in electric field +* field_rel = relative accuracy in electric field -The values with suffix \_rel indicate the tolerance is a relative +The values with suffix _rel indicate the tolerance is a relative tolerance; the other values impose an absolute tolerance on the given quantity. Absolute tolerance in this case means, that for a given -quantity q and a given absolute tolerance of t\_a the result should -be between q-t\_a and q+t\_a. For a relative tolerance t\_r the relative -error should not be greater than t\_r, i.e. abs(1 - (result/q)) < t\_r. +quantity q and a given absolute tolerance of t_a the result should +be between q-t_a and q+t_a. For a relative tolerance t_r the relative +error should not be greater than t_r, i.e. abs(1 - (result/q)) < t_r. As a consequence of this, the tolerance type should be checked, when performing computations with a high absolute field / energy. E.g. if the total energy in the system is 1000000.0 an absolute tolerance @@ -387,10 +343,10 @@ of 1e-3 would mean that the result has to be between 999999.999 and 1000000.001, which would be equivalent to a relative tolerance of 1e-9. -The energy and energy\_rel values, set a tolerance based on the total -Coulombic energy of the system. The potential and potential\_rel set a +The energy and energy_rel values, set a tolerance based on the total +Coulombic energy of the system. The potential and potential_rel set a tolerance based on the per-atom Coulombic energy. The field and -field\_rel tolerance types set a tolerance based on the electric field +field_rel tolerance types set a tolerance based on the electric field values computed by ScaFaCoS. Since per-atom forces are derived from the per-atom electric field, this effectively sets a tolerance on the forces, similar to other LAMMPS KSpace styles, as explained on the @@ -399,7 +355,7 @@ forces, similar to other LAMMPS KSpace styles, as explained on the Note that not all ScaFaCoS solvers support all tolerance types. These are the allowed values for each method: -* fmm = energy and energy\_rel +* fmm = energy and energy_rel * p2nfft = field (1d-,2d-,3d-periodic systems) or potential (0d-periodic) * p3m = field * ewald = field @@ -409,7 +365,7 @@ If the tolerance type is not changed, the default values for the tolerance type are the first values in the above list, e.g. energy is the default tolerance type for the fmm solver. -The *fmm\_tuning* option is only relevant when using the FMM method. +The *fmm_tuning* option is only relevant when using the FMM method. It activates (value=1) or deactivates (value=0) an internal tuning mechanism for the FMM solver. The tuning operation runs sequentially and can be very time-consuming. Usually it is not needed for systems @@ -417,10 +373,8 @@ with a homogeneous charge distribution. The default for this option is therefore *0*\ . The FMM internal tuning is performed once, when the solver is set up. - ---------- - The *slab* keyword allows an Ewald or PPPM solver to be used for a systems that are periodic in x,y but non-periodic in z - a :doc:`boundary <boundary>` setting of "boundary p p f". This is done by @@ -456,10 +410,8 @@ slab correction has also been extended to point dipole interactions dielectric constant due to the Yeh/Berkowitz :ref:`(Yeh) <Yeh>` correction not being compatible with how :doc:`fix efield <fix_efield>` works. - ---------- - The *force/disp/real* and *force/disp/kspace* keywords set the force accuracy for the real and space computations for the dispersion part of pppm/disp. As shown in :ref:`(Isele-Holder) <Isele-Holder1>`, optimal @@ -477,10 +429,8 @@ provide simulations that are either inaccurate or slow. Using this option is thus not recommended. For guidelines on how to obtain good parameters, see the :doc:`Howto dispersion <Howto_dispersion>` doc page. - ---------- - Restrictions """""""""""" @@ -502,62 +452,44 @@ ik (PPPM), mix/disp = pair, force/disp/real = -1.0, force/disp/kspace = -1.0, split = 0, tol = 1.0e-6, and disp/auto = no. For pppm/intel, order = order/disp = 7. For scafacos settings, the scafacos tolerance option depends on the method chosen, as documented above. The -scafacos fmm\_tuning default = 0. - +scafacos fmm_tuning default = 0. ---------- - .. _Hockney1: - - **(Hockney)** Hockney and Eastwood, Computer Simulation Using Particles, Adam Hilger, NY (1989). .. _Yeh: - - **(Yeh)** Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999). .. _Ballenegger: - - **(Ballenegger)** Ballenegger, Arnold, Cerda, J Chem Phys, 131, 094107 (2009). .. _Klapp: - - **(Klapp)** Klapp, Schoen, J Chem Phys, 117, 8050 (2002). .. _Hardy1: - - **(Hardy)** David Hardy thesis: Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules, University of Illinois at Urbana-Champaign, (2006). .. _Hummer: - - **(Hummer)** Hummer, Gronbech-Jensen, Neumann, J Chem Phys, 109, 2791 (1998) .. _Isele-Holder1: - - **(Isele-Holder)** Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J Chem Theory Comput, 9, 5412 (2013). .. _Wennberg: - - **(Wennberg)** Wennberg, Murtola, Hess, Lindahl, J Chem Theory Comput, 9, 3527 (2013). diff --git a/doc/src/kspace_style.rst b/doc/src/kspace_style.rst index ce2b988256..57cd51d549 100644 --- a/doc/src/kspace_style.rst +++ b/doc/src/kspace_style.rst @@ -6,7 +6,6 @@ kspace_style command Syntax """""" - .. code-block:: LAMMPS kspace_style style value @@ -76,12 +75,9 @@ Syntax method = fmm or p2nfft or p3m or ewald or direct accuracy = desired relative error in forces - - Examples """""""" - .. code-block:: LAMMPS kspace_style pppm 1.0e-4 @@ -120,10 +116,8 @@ matching keyword to the name of the KSpace style, as in this table: | tip4p/long | tip4p | +----------------------+-----------------------+ - ---------- - The *ewald* style performs a standard Ewald summation as described in any solid-state physics text. @@ -143,10 +137,8 @@ The *ewald/dipole/spin* style adds long-range standard Ewald summations for magnetic dipole-dipole interactions between magnetic spins. - ---------- - The *pppm* style invokes a particle-particle particle-mesh solver :ref:`(Hockney) <Hockney>` which maps atom charge to a 3d mesh, uses 3d FFTs to solve Poisson's equation on the mesh, then interpolates electric @@ -201,10 +193,8 @@ page. must be used if energy and/or pressure are quantities of interest, such as when using a barostat. - ---------- - The *pppm/disp* and *pppm/disp/tip4p* styles add a mesh-based long-range dispersion sum option for 1/r\^6 potentials :ref:`(Isele-Holder) <Isele-Holder2012>`, similar to the *ewald/disp* style. The 1/r\^6 capability means @@ -221,25 +211,21 @@ parameters and how to choose them is described in :ref:`(Isele-Holder) <Isele-Holder2012>`, :ref:`(Isele-Holder2) <Isele-Holder2013>` and the :doc:`Howto dispersion <Howto_dispersion>` doc page. - ---------- - .. note:: All of the PPPM styles can be used with single-precision FFTs by - using the compiler switch -DFFT\_SINGLE for the FFT\_INC setting in your + using the compiler switch -DFFT_SINGLE for the FFT_INC setting in your low-level Makefile. This setting also changes some of the PPPM operations (e.g. mapping charge to mesh and interpolating electric fields to particles) to be performed in single precision. This option can speed-up long-range calculations, particularly in parallel or on - GPUs. The use of the -DFFT\_SINGLE flag is discussed on the :doc:`Build settings <Build_settings>` doc page. MSM does not currently support - the -DFFT\_SINGLE compiler switch. - + GPUs. The use of the -DFFT_SINGLE flag is discussed on the :doc:`Build settings <Build_settings>` doc page. MSM does not currently support + the -DFFT_SINGLE compiler switch. ---------- - The *msm* style invokes a multi-level summation method MSM solver, :ref:`(Hardy) <Hardy2006>` or :ref:`(Hardy2) <Hardy2009>`, which maps atom charge to a 3d mesh, and uses a multi-level hierarchy of coarser and coarser @@ -263,10 +249,8 @@ to run an isotropic barostat. If the full pressure tensor is needed, then calculating the pressure at every timestep or using a fixed pressure simulation with MSM will cause the code to run slower. - ---------- - The *scafacos* style is a wrapper on the `ScaFaCoS Coulomb solver library <http://www.scafacos.de>`_ which provides a variety of solver methods which can be used with LAMMPS. The paper by :ref:`(Who) <Who2012>` gives an overview of ScaFaCoS. @@ -290,7 +274,7 @@ See details on :ref:`this page <USER-SCAFACOS>`. Unlike other KSpace solvers in LAMMPS, ScaFaCoS computes all Coulombic interactions, both short- and long-range. Thus you should - NOT use a Coulombic pair style when using kspace\_style scafacos. This + NOT use a Coulombic pair style when using kspace_style scafacos. This also means the total Coulombic energy (short- and long-range) will be tallied for :doc:`thermodynamic output <thermo_style>` command as part of the *elong* keyword; the *ecoul* keyword will be zero. @@ -325,10 +309,8 @@ the :doc:`kspace_modify scafacos accuracy <kspace_modify>` doc page. The :doc:`kspace_modify scafacos <kspace_modify>` command also explains other ScaFaCoS options currently exposed to LAMMPS. - ---------- - The specified *accuracy* determines the relative RMS error in per-atom forces calculated by the long-range solver. It is set as a dimensionless number, relative to the force that two unit point @@ -383,10 +365,8 @@ options of the K-space solvers that can be set, including a *force* option for setting an absolute RMS error in forces, as opposed to a relative RMS error. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -397,7 +377,7 @@ produce the same results, except for round-off and precision issues. More specifically, the *pppm/gpu* style performs charge assignment and force interpolation calculations on the GPU. These processes are performed either in single or double precision, depending on whether -the -DFFT\_SINGLE setting was specified in your low-level Makefile, as +the -DFFT_SINGLE setting was specified in your low-level Makefile, as discussed above. The FFTs themselves are still calculated on the CPU. If *pppm/gpu* is used with a GPU-enabled pair style, part of the PPPM calculation can be performed concurrently on the GPU while other @@ -415,22 +395,19 @@ LAMMPS was built with those packages. See the :doc:`Build package <Build_packag See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - Note that the long-range electrostatic solvers in LAMMPS assume conducting metal (tinfoil) boundary conditions for both charge and dipole interactions. Vacuum boundary conditions are not currently supported. The *ewald/disp*\ , *ewald*\ , *pppm*\ , and *msm* styles support non-orthogonal (triclinic symmetry) simulation boxes. However, -triclinic simulation cells may not yet be supported by suffix versions -of these styles. +triclinic simulation cells may not yet be supported by all suffix +versions of these styles. All of the kspace styles are part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -465,128 +442,89 @@ Related commands Default """"""" - .. code-block:: LAMMPS kspace_style none - ---------- - .. _Darden: - - **(Darden)** Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993). .. _Deserno: - - **(Deserno)** Deserno and Holm, J Chem Phys, 109, 7694 (1998). .. _Hockney: - - **(Hockney)** Hockney and Eastwood, Computer Simulation Using Particles, Adam Hilger, NY (1989). .. _Kolafa: - - **(Kolafa)** Kolafa and Perram, Molecular Simulation, 9, 351 (1992). .. _Petersen: - - **(Petersen)** Petersen, J Chem Phys, 103, 3668 (1995). .. _Wang: - - **(Wang)** Wang and Holm, J Chem Phys, 115, 6277 (2001). .. _Pollock: - - **(Pollock)** Pollock and Glosli, Comp Phys Comm, 95, 93 (1996). .. _Cerutti: - - **(Cerutti)** Cerutti, Duke, Darden, Lybrand, Journal of Chemical Theory and Computation 5, 2322 (2009) .. _Neelov: - - **(Neelov)** Neelov, Holm, J Chem Phys 132, 234103 (2010) .. _Veld: - - **(Veld)** In 't Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007). .. _Toukmaji: - - **(Toukmaji)** Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, 10913 (2000). .. _Isele-Holder2012: - - **(Isele-Holder)** Isele-Holder, Mitchell, Ismail, J Chem Phys, 137, 174107 (2012). .. _Isele-Holder2013: - - **(Isele-Holder2)** Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail, J Chem Theory Comput 9, 5412 (2013). .. _Hardy2006: - - **(Hardy)** David Hardy thesis: Multilevel Summation for the Fast Evaluation of Forces for the Simulation of Biomolecules, University of Illinois at Urbana-Champaign, (2006). .. _Hardy2009: - - **(Hardy2)** Hardy, Stone, Schulten, Parallel Computing, 35, 164-177 (2009). .. _Sutmann2013: - - **(Sutmann)** Sutmann, Arnold, Fahrenberger, et. al., Physical review / E 88(6), 063308 (2013) .. _Cerda2008: - - **(Cerda)** Cerda, Ballenegger, Lenz, Holm, J Chem Phys 129, 234104 (2008) .. _Who2012: - - **(Who)** Who, Author2, Author3, J of Long Range Solvers, 35, 164-177 (2012). diff --git a/doc/src/label.rst b/doc/src/label.rst index 52387f661f..0b1273008f 100644 --- a/doc/src/label.rst +++ b/doc/src/label.rst @@ -6,7 +6,6 @@ label command Syntax """""" - .. parsed-literal:: label ID @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS label xyz label loop diff --git a/doc/src/lattice.rst b/doc/src/lattice.rst index 6969ae8aa5..693d0cd84a 100644 --- a/doc/src/lattice.rst +++ b/doc/src/lattice.rst @@ -6,24 +6,23 @@ lattice command Syntax """""" - .. parsed-literal:: lattice style scale keyword values ... * style = *none* or *sc* or *bcc* or *fcc* or *hcp* or *diamond* or *sq* or *sq2* or *hex* or *custom* * scale = scale factor between lattice and simulation box - + .. parsed-literal:: - + scale = reduced density rho\* (for LJ units) scale = lattice constant in distance units (for all other units) * zero or more keyword/value pairs may be appended * keyword = *origin* or *orient* or *spacing* or *a1* or *a2* or *a3* or *basis* - + .. parsed-literal:: - + *origin* values = x y z x,y,z = fractions of a unit cell (0 <= x,y,z < 1) *orient* values = dim i j k @@ -36,13 +35,10 @@ Syntax *basis* values = x y z x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS lattice fcc 3.52 lattice hex 0.85 @@ -94,10 +90,8 @@ can be repeated multiple times to build a poly-crystalline model with different geometric regions populated with atoms in different lattice orientations. - ---------- - A lattice of style *none* does not define a unit cell and basis set, so it cannot be used with the :doc:`create_atoms <create_atoms>` command. However it does define a lattice spacing via the specified @@ -140,10 +134,8 @@ x of a basis atom within the unit cell is thus a linear combination of the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, where bx,by,bz are the 3 values specified for the *basis* keyword. - ---------- - This sub-section discusses the arguments that determine how the idealized unit cell is transformed into a lattice of points within the simulation box. @@ -199,10 +191,8 @@ the Z direction. applied to a1,a2,a3 to rotate the original unit cell to a new orientation in the simulation box. - ---------- - Several LAMMPS commands have the option to use distance units that are inferred from "lattice spacings" in the x,y,z box directions. E.g. the :doc:`region <region>` command can create a block of size @@ -259,19 +249,16 @@ Note that whenever the lattice command is used, the values of the lattice spacings LAMMPS calculates are printed out. Thus their effect in commands that use the spacings should be decipherable. - ---------- - Example commands for generating a Wurtzite crystal (courtesy of Aidan Thompson), with its 8 atom unit cell. - -.. parsed-literal:: +.. code-block:: LAMMPS variable a equal 4.340330 - variable b equal $a\*sqrt(3.0) - variable c equal $a\*sqrt(8.0/3.0) + variable b equal $a*sqrt(3.0) + variable c equal $a*sqrt(8.0/3.0) variable 1_3 equal 1.0/3.0 variable 2_3 equal 2.0/3.0 @@ -301,14 +288,11 @@ of Aidan Thompson), with its 8 atom unit cell. basis 7 2 & basis 8 2 - ---------- - Restrictions """""""""""" - The *a1,a2,a3,basis* keywords can only be used with style *custom*\ . Related commands @@ -320,8 +304,7 @@ Related commands Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS lattice none 1.0 diff --git a/doc/src/log.rst b/doc/src/log.rst index 6c014953f5..5c412d4d9f 100644 --- a/doc/src/log.rst +++ b/doc/src/log.rst @@ -6,7 +6,6 @@ log command Syntax """""" - .. parsed-literal:: log file keyword @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS log log.equil log log.equil append diff --git a/doc/src/mass.rst b/doc/src/mass.rst index c9c21b5d8d..55ba9c61bf 100644 --- a/doc/src/mass.rst +++ b/doc/src/mass.rst @@ -6,7 +6,6 @@ mass command Syntax """""" - .. parsed-literal:: mass I value @@ -17,12 +16,11 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS mass 1 1.0 - mass \* 62.5 - mass 2\* 62.5 + mass * 62.5 + mass 2* 62.5 Description """"""""""" @@ -48,7 +46,6 @@ mass command in an input script, except that no wild-card asterisk can be used. For example, under the "Masses" section of a data file, the line that corresponds to the 1st example above would be listed as - .. parsed-literal:: 1 1.0 @@ -75,7 +72,6 @@ per-atom mass will be used by LAMMPS. Restrictions """""""""""" - This command must come after the simulation box is defined by a :doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`, or :doc:`create_box <create_box>` command. diff --git a/doc/src/message.rst b/doc/src/message.rst index 2552991318..f4ca5735e0 100644 --- a/doc/src/message.rst +++ b/doc/src/message.rst @@ -6,7 +6,6 @@ message command Syntax """""" - .. parsed-literal:: message which protocol mode arg @@ -14,9 +13,9 @@ Syntax * which = *client* or *server* or *quit* * protocol = *md* or *mc* * mode = *file* or *zmq* or *mpi/one* or *mpi/two* - + .. parsed-literal:: - + *file* arg = filename filename = file used for message exchanges *zmq* arg = socket-ID @@ -26,13 +25,10 @@ Syntax *mpi/two* arg = filename filename = file used to establish communication between 2 MPI jobs - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS message client md file tmp.couple message server md file tmp.couple @@ -60,20 +56,16 @@ one code is the "client" and sends request messages to a "server" code. The server responds to each request with a reply message. This enables the two codes to work in tandem to perform a simulation. - ---------- - The *which* argument defines LAMMPS to be the client or the server. As explained below the *quit* option should be used when LAMMPS is finished as a client. It sends a message to the server to tell it to shut down. - ---------- - The *protocol* argument defines the format and content of messages that will be exchanged between the two codes. The current options are: @@ -86,10 +78,8 @@ For protocol *md*\ , LAMMPS can be either a client or server. See the For protocol *mc*\ , LAMMPS can be the server. See the :doc:`server mc <server_mc>` doc page for details on the protocol. - ---------- - The *mode* argument specifies how messages are exchanged between the client and server codes. Both codes must use the same mode and use consistent parameters. @@ -105,10 +95,9 @@ code's machine. Support for socket messaging is provided by the open-source `ZeroMQ library <http://zeromq.org>`_, which must be installed on your system. The client specifies an IP address (IPv4 format) or the DNS name of the machine the server code is running on, -followed by a 4-digit port ID for the socket, separated by a colon. +followed by a 4 or 5 digit port ID for the socket, separated by a colon. E.g. - .. parsed-literal:: localhost:5555 # client and server running on same machine @@ -121,7 +110,20 @@ what the client specifies. .. note:: - What are allowed port IDs? + On Linux or Unix machines port IDs below 1024 are reserved to the + superuser and thus not available. Other ports may already be in + use and cannot be opened by a second process. On a Linux machine + the commands "netstat -t4an" or "ss -t4an" will list all locally + used port IDs for IPv4 addresses. + +.. note:: + + On many machines (and sometimes on local networks) also ports IDs + may be blocked by default through firewalls. In that case either + access to the required port (or a desired range of ports) has to + be selectively enabled to the firewall disabled (the latter is + usually not a good idea unless you are on a (small) local network + that is already protected from outside access. .. note:: @@ -131,8 +133,7 @@ what the client specifies. For mode *mpi/one*\ , the 2 codes communicate via MPI and are launched by the same mpirun command, e.g. with this syntax for OpenMPI: - -.. parsed-literal:: +.. code-block:: bash mpirun -np 2 lmp_mpi -mpicolor 0 -in in.client -log log.client : -np 4 othercode args # LAMMPS is client mpirun -np 2 othercode args : -np 4 lmp_mpi -mpicolor 1 -in in.server # LAMMPS is server @@ -148,10 +149,8 @@ inter-communicator can be established to enable the 2 codes to send MPI messages to each other. Both codes must be able to access the path/file in a common filesystem. - ---------- - Normally, the message client or message server command should be used at the top of a LAMMPS input script. It performs an initial handshake with the other code to setup messaging and to verify that both codes @@ -186,14 +185,11 @@ the client). As an example, this can be performed in a loop to use a quantum code as a server to compute quantum forces for multiple LAMMPS data files or periodic snapshots while running dynamics. - ---------- - Restrictions """""""""""" - This command is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/min_modify.rst b/doc/src/min_modify.rst index 5628c65710..a01aab173d 100644 --- a/doc/src/min_modify.rst +++ b/doc/src/min_modify.rst @@ -6,20 +6,19 @@ min_modify command Syntax """""" - .. code-block:: LAMMPS min_modify keyword values ... * one or more keyword/value pairs may be listed - + .. parsed-literal:: - + keyword = *dmax* or *line* or *norm* or *alpha_damp* or *discrete_factor* or *integrator* or *tmax* *dmax* value = max max = maximum distance for line search to move (distance units) *line* value = *backtrack* or *quadratic* or *forcezero* or *spin_cubic* or *spin_none* - backtrack,quadratic,forcezero,spin_cubic,spin_none = style of linesearch to use + backtrack,quadratic,forcezero,spin_cubic,spin_none = style of linesearch to use *norm* value = *two* or *max* two = Euclidean two-norm (length of 3N vector) inf = max force component across all 3-vectors @@ -33,12 +32,9 @@ Syntax *tmax* value = factor factor = maximum adaptive timestep for fire minimization (adim) - - Examples """""""" - .. code-block:: LAMMPS min_modify dmax 0.2 @@ -86,16 +82,16 @@ even if atoms could move in the gradient direction to reduce forces further. The choice of a norm can be modified for the min styles *cg*\ , *sd*\ -, *quickmin*\ , *fire*\ , *fire/old*\ , *spin*\ , *spin/cg* and -*spin/lbfgs* using the *norm* keyword. The default *two* norm computes +, *quickmin*\ , *fire*\ , *fire/old*\ , *spin*\ , *spin/cg* and +*spin/lbfgs* using the *norm* keyword. The default *two* norm computes the 2-norm (Euclidean length) of the global force vector: .. math:: || \vec{F} ||_{2} = \sqrt{\vec{F}_1+ \cdots + \vec{F}_N} -The *max* norm computes the length of the 3-vector force -for each atom (2-norm), and takes the maximum value of those across +The *max* norm computes the length of the 3-vector force +for each atom (2-norm), and takes the maximum value of those across all atoms .. math:: @@ -112,25 +108,25 @@ all atoms in the system: For the min styles *spin*\ , *spin/cg* and *spin/lbfgs*\ , the force norm is replaced by the spin-torque norm. -Keywords *alpha\_damp* and *discrete\_factor* only make sense when +Keywords *alpha_damp* and *discrete_factor* only make sense when a :doc:`min_spin <min_spin>` command is declared. -Keyword *alpha\_damp* defines an analog of a magnetic Gilbert +Keyword *alpha_damp* defines an analog of a magnetic Gilbert damping. It defines a relaxation rate toward an equilibrium for a given magnetic system. -Keyword *discrete\_factor* defines a discretization factor for the +Keyword *discrete_factor* defines a discretization factor for the adaptive timestep used in the *spin* minimization. See :doc:`min_spin <min_spin>` for more information about those quantities. The choice of a line search algorithm for the *spin/cg* and *spin/lbfgs* styles can be specified via the *line* keyword. The -*spin\_cubic* and *spin\_none* keywords only make sense when one of those two -minimization styles is declared. The *spin\_cubic* performs the line +*spin_cubic* and *spin_none* keywords only make sense when one of those two +minimization styles is declared. The *spin_cubic* performs the line search based on a cubic interpolation of the energy along the search -direction. The *spin\_none* keyword deactivates the line search -procedure. The *spin\_none* is a default value for *line* keyword for +direction. The *spin_none* keyword deactivates the line search +procedure. The *spin_none* is a default value for *line* keyword for both *spin/lbfgs* and *spin/cg*\ . Convergence of *spin/lbfgs* can be -more robust if *spin\_cubic* line search is used. +more robust if *spin_cubic* line search is used. The Newton *integrator* used for *fire* minimization can be selected to be either the symplectic Euler (\ *eulerimplicit*\ ) or velocity @@ -139,8 +135,8 @@ adaptive timestep during a *fire* minimization. It is a multiplication factor applied to the current :doc:`timestep <timestep>` (not in time unit). For example, *tmax* = 4.0 with a :doc:`timestep <timestep>` of 2fs, means that the maximum value the timestep can reach during a *fire* -minimization is 4fs. -Note that parameter defaults has been chosen to be reliable in most cases, +minimization is 4fs. +Note that parameter defaults has been chosen to be reliable in most cases, but one should consider adjusting :doc:`timestep <timestep>` and *tmax* to optimize the minimization for large or complex systems. Other parameters of the *fire* minimization can be tuned (\ *tmin*\ , @@ -150,12 +146,12 @@ parameters of the *fire* minimization can be tuned (\ *tmin*\ , An additional stopping criteria *vdfmax* is used by *fire* in order to avoid unnecessary looping when it is reasonable to think the system will not be relaxed further. Note that in this case the system will NOT have -reached your minimization criteria. This could happen when the system -comes to be stuck in a local basin of the phase space. *vdfmax* is +reached your minimization criteria. This could happen when the system +comes to be stuck in a local basin of the phase space. *vdfmax* is the maximum number of consecutive iterations with P(t) < 0. The :doc:`min_style <min_style>` *fire* is an optimized implementation of -:doc:`min_style <min_style>` *fire/old*. It can however behave similarly +:doc:`min_style <min_style>` *fire/old*. It can however behave similarly to the *fire/old* style by using the following set of parameters: .. code-block:: LAMMPS @@ -167,8 +163,7 @@ to the *fire/old* style by using the following set of parameters: Restrictions """""""""""" - -For magnetic GNEB calculations, only *spin\_none* value for *line* +For magnetic GNEB calculations, only *spin_none* value for *line* keyword can be used when minimization styles *spin/cg* and *spin/lbfgs* are employed. See :doc:`neb/spin <neb_spin>` for more explanation. @@ -183,8 +178,8 @@ Default The option defaults are dmax = 0.1, line = quadratic and norm = two. For the *spin*\ , *spin/cg* and *spin/lbfgs* styles, the option -defaults are alpha\_damp = 1.0, discrete\_factor = 10.0, line = -spin\_none, and norm = euclidean. +defaults are alpha_damp = 1.0, discrete_factor = 10.0, line = +spin_none, and norm = euclidean. For the *fire* style, the option defaults are integrator = eulerimplicit, tmax = 10.0, tmin = 0.02, delaystep = 20, dtgrow = 1.1, diff --git a/doc/src/min_spin.rst b/doc/src/min_spin.rst index 49db5c783a..46fd08b838 100644 --- a/doc/src/min_spin.rst +++ b/doc/src/min_spin.rst @@ -12,17 +12,15 @@ min_style spin/lbfgs command Syntax """""" - .. code-block:: LAMMPS - min_style spin - min_style spin/cg + min_style spin + min_style spin/cg min_style spin/lbfgs Examples """""""" - .. code-block:: LAMMPS min_style spin/lbfgs @@ -43,7 +41,7 @@ timestep, according to: with :math:`\lambda` a damping coefficient (similar to a Gilbert damping). :math:`\lambda` can be defined by setting the -*alpha\_damp* keyword with the :doc:`min_modify <min_modify>` command. +*alpha_damp* keyword with the :doc:`min_modify <min_modify>` command. The minimization procedure solves this equation using an adaptive timestep. The value of this timestep is defined @@ -58,16 +56,16 @@ with :math:`\left|\vec{\omega}_{\rm max}\right|` the norm of the largest precess frequency in the system (across all processes, and across all replicas if a spin/neb calculation is performed). -:math:`\kappa` defines a discretization factor *discrete\_factor* for -the definition of this timestep. *discrete\_factor* can be defined with +:math:`\kappa` defines a discretization factor *discrete_factor* for +the definition of this timestep. *discrete_factor* can be defined with the :doc:`min_modify <min_modify>` command. Style *spin/cg* defines an orthogonal spin optimization -(OSO) combined to a conjugate gradient (CG) algorithm. +(OSO) combined to a conjugate gradient (CG) algorithm. The :doc:`min_modify <min_modify>` command can be used to -couple the *spin/cg* to a line search procedure, and to modify the -discretization factor *discrete\_factor*. -By default, style *spin/cg* does not employ the line search procedure +couple the *spin/cg* to a line search procedure, and to modify the +discretization factor *discrete_factor*. +By default, style *spin/cg* does not employ the line search procedure and uses the adaptive time-step technique in the same way as style *spin*\ . Style *spin/lbfgs* defines an orthogonal spin optimization (OSO) @@ -76,14 +74,14 @@ algorithm. By default, style *spin/lbfgs* does not employ line search procedure. If the line search procedure is not used then the discrete factor defines the maximum root mean squared rotation angle of spins by equation *pi/(5\*Kappa)*. The default value for Kappa is 10. The -*spin\_cubic* line search option can improve the convergence of the +*spin_cubic* line search option can improve the convergence of the *spin/lbfgs* algorithm. The :doc:`min_modify <min_modify>` command can be used to activate the line search procedure, and to modify the -discretization factor *discrete\_factor*. +discretization factor *discrete_factor*. -For more information about styles *spin/cg* and *spin/lbfgs*\ , +For more information about styles *spin/cg* and *spin/lbfgs*\ , see their implementation reported in :ref:`(Ivanov) <Ivanov1>`. .. note:: @@ -100,7 +98,6 @@ see their implementation reported in :ref:`(Ivanov) <Ivanov1>`. Restrictions """""""""""" - This minimization procedure is only applied to spin degrees of freedom for a frozen lattice configuration. @@ -113,15 +110,11 @@ Related commands Default """"""" -The option defaults are *alpha\_damp* = 1.0, *discrete\_factor* = -10.0, *line* = spin\_none and *norm* = euclidean. - +The option defaults are *alpha_damp* = 1.0, *discrete_factor* = +10.0, *line* = spin_none and *norm* = euclidean. ---------- - .. _Ivanov1: - - **(Ivanov)** Ivanov, Uzdin, Jonsson. arXiv preprint arXiv:1904.02669, (2019). diff --git a/doc/src/min_style.rst b/doc/src/min_style.rst index 0382f0d075..c03015d4d9 100644 --- a/doc/src/min_style.rst +++ b/doc/src/min_style.rst @@ -6,7 +6,6 @@ min_style command Syntax """""" - .. code-block:: LAMMPS min_style style @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS min_style cg @@ -70,7 +68,6 @@ in :ref:`(Guenole) <Guenole>` that include different time integration schemes and defaults parameters. The default parameters can be modified with the command :doc:`min_modify <min_modify>`. - Style *fire/old* is the original implementation of *fire* in Lammps, conserved for backward compatibility. The main differences regarding the current version *fire* are: time integration by Explicit Euler @@ -118,10 +115,8 @@ calculations via the :doc:`neb/spin <neb_spin>` command. or minimizations involving the electron radius in :doc:`eFF <pair_eff>` models. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -142,10 +137,8 @@ use the :doc:`suffix <suffix>` command in your input script. See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" @@ -159,15 +152,12 @@ Related commands Default """"""" - .. code-block:: LAMMPS min_style cg - ---------- - .. _Sheppard: **(Sheppard)** Sheppard, Terrell, Henkelman, J Chem Phys, 128, 134106 @@ -182,4 +172,4 @@ Jonsson, Mills, Jacobsen. .. _Guenole: **(Guenole)** Guenole, Noehring, Vaid, Houlle, Xie, Prakash, Bitzek, -Comput Mater Sci, (2020), in press (arXiv:190802038). +Comput Mater Sci, 175, 109584 (2020). diff --git a/doc/src/minimize.rst b/doc/src/minimize.rst index 1ffb99ebb6..dde5284b7a 100644 --- a/doc/src/minimize.rst +++ b/doc/src/minimize.rst @@ -9,7 +9,6 @@ minimize/kk command Syntax """""" - .. parsed-literal:: minimize etol ftol maxiter maxeval @@ -22,8 +21,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS minimize 1.0e-4 1.0e-6 100 1000 minimize 0.0 1.0e-8 1000 100000 @@ -81,10 +79,8 @@ they require a :doc:`timestep <timestep>` be defined. will converge more quickly if you use a timestep about 10x larger than you would normally use for dynamics simulations. - ---------- - In all cases, the objective function being minimized is the total potential energy of the system as a function of the N atom coordinates: @@ -97,7 +93,6 @@ coordinates: \sum_{ijkl} E_{\it improper}(r_i,r_j,r_k,r_l) + \sum_i E_{\it fix}(r_i) - where the first term is the sum of all non-bonded :doc:`pairwise interactions <pair_style>` including :doc:`long-range Coulombic interactions <kspace_style>`, the 2nd through 5th terms are :doc:`bond @@ -111,10 +106,8 @@ commands affect minimization. The starting point for the minimization is the current configuration of the atoms. - ---------- - The minimization procedure stops if any of several criteria are met: * the change in energy between outer iterations is less than *etol* @@ -176,7 +169,6 @@ which convergence criterion caused the minimizer to stop, as well as information about the energy, force, final line search, and iteration counts. An example is as follows: - .. parsed-literal:: Minimization stats: @@ -214,10 +206,8 @@ reduced. The iterations and force evaluation values are what is checked by the *maxiter* and *maxeval* parameters. - ---------- - .. note:: There are several force fields in LAMMPS which have @@ -287,10 +277,8 @@ that can be used include: :doc:`fix shake <fix_shake>` or :doc:`fix rigid <fix_rigid>`. See more info in the Restrictions section below. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -309,14 +297,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - Features that are not yet implemented are listed here, in case someone knows how they could be coded: diff --git a/doc/src/molecule.rst b/doc/src/molecule.rst index ba57aed2ca..32e6d846ae 100644 --- a/doc/src/molecule.rst +++ b/doc/src/molecule.rst @@ -6,7 +6,6 @@ molecule command Syntax """""" - .. parsed-literal:: molecule ID file1 keyword values ... file2 keyword values ... fileN ... @@ -15,9 +14,9 @@ Syntax * file1,file2,... = names of files containing molecule descriptions * zero or more keyword/value pairs may be appended after each file * keyword = *offset* or *toff* or *boff* or *aoff* or *doff* or *ioff* or *scale* - + .. parsed-literal:: - + *offset* values = Toff Boff Aoff Doff Ioff Toff = offset to add to atom types Boff = offset to add to bond types @@ -37,13 +36,10 @@ Syntax *scale* value = sfactor sfactor = scale factor to apply to the size and mass of the molecule - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS molecule 1 mymol.txt molecule 1 co2.txt h2o.txt @@ -209,30 +205,24 @@ should be a number from 1 to Nlines for the section, indicating which atom (or bond, etc) the entry applies to. The lines are assumed to be listed in order from 1 to Nlines, but LAMMPS does not check for this. - ---------- - *Coords* section: * one line per atom * line syntax: ID x y z * x,y,z = coordinate of atom - ---------- - *Types* section: * one line per atom * line syntax: ID type * type = atom type of atom - ---------- - *Charges* section: * one line per atom @@ -243,10 +233,8 @@ This section is only allowed for :doc:`atom styles <atom_style>` that support charge. If this section is not included, the default charge on each atom in the molecule is 0.0. - ---------- - *Diameters* section: * one line per atom @@ -254,13 +242,11 @@ on each atom in the molecule is 0.0. * diam = diameter of atom This section is only allowed for :doc:`atom styles <atom_style>` that -support finite-size spherical particles, e.g. atom\_style sphere. If +support finite-size spherical particles, e.g. atom_style sphere. If not listed, the default diameter of each atom in the molecule is 1.0. - ---------- - *Masses* section: * one line per atom @@ -274,10 +260,8 @@ included, the default mass for each atom is derived from its volume (see Diameters section) and a default density of 1.0, in :doc:`units <units>` of mass/volume. - ---------- - *Bonds* section: * one line per bond @@ -288,10 +272,8 @@ included, the default mass for each atom is derived from its volume The IDs for the two atoms in each bond should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. - ---------- - *Angles* section: * one line per angle @@ -304,10 +286,8 @@ Natoms, where Natoms = # of atoms in the molecule. The 3 atoms are ordered linearly within the angle. Thus the central atom (around which the angle is computed) is the atom2 in the list. - ---------- - *Dihedrals* section: * one line per dihedral @@ -319,10 +299,8 @@ The IDs for the four atoms in each dihedral should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. The 4 atoms are ordered linearly within the dihedral. - ---------- - *Impropers* section: * one line per improper @@ -336,10 +314,8 @@ the 4 atoms determines the definition of the improper angle used in the formula for the defined :doc:`improper style <improper_style>`. See the doc pages for individual styles for details. - ---------- - *Special Bond Counts* section: * one line per atom @@ -358,10 +334,8 @@ As explained above, LAMMPS will auto-generate this information if this section is not specified. If specified, this section will override what would be auto-generated. - ---------- - *Special Bonds* section: * one line per atom @@ -381,10 +355,8 @@ As explained above, LAMMPS will auto-generate this information if this section is not specified. If specified, this section will override what would be auto-generated. - ---------- - *Shake Flags* section: * one line per atom @@ -404,10 +376,8 @@ clusters. * 3 = part of a 3-atom SHAKE cluster with two bonds * 4 = part of a 4-atom SHAKE cluster with three bonds - ---------- - *Shake Atoms* section: * one line per atom @@ -442,10 +412,8 @@ and b,c,d = IDs of other three atoms bonded to the central atom. See the :doc:`fix shake <fix_shake>` doc page for a further description of SHAKE clusters. - ---------- - *Shake Bond Types* section: * one line per atom @@ -489,14 +457,11 @@ atom (value d in the Shake Atoms section). See the :doc:`fix shake <fix_shake>` doc page for a further description of SHAKE clusters. - ---------- - Restrictions """""""""""" - This command must come after the simulation box is define by a :doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`, or :doc:`create_box <create_box>` command. diff --git a/doc/src/neb.rst b/doc/src/neb.rst index 5b1e4570bc..acb157e2ec 100644 --- a/doc/src/neb.rst +++ b/doc/src/neb.rst @@ -6,7 +6,6 @@ neb command Syntax """""" - .. parsed-literal:: neb etol ftol N1 N2 Nevery file-style arg keyword @@ -17,9 +16,9 @@ Syntax * N2 = max # of iterations (timesteps) to run barrier-climbing NEB * Nevery = print replica energies and reaction coordinates every this many timesteps * file-style = *final* or *each* or *none* - + .. parsed-literal:: - + *final* arg = filename filename = file with initial coords for final replica coords for intermediate replicas are linearly interpolated @@ -35,8 +34,7 @@ keyword = *verbose* Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS neb 0.1 0.0 1000 500 50 final coords.final neb 0.0 0.001 1000 500 50 each coords.initial.$i @@ -114,10 +112,8 @@ from such an initial path. In this case, you will want to generate initial states for the intermediate replicas that are geometrically closer to the MEP and read them in. - ---------- - For a *file-style* setting of *final*\ , a filename is specified which contains atomic coordinates for zero or more atoms, in the format described below. For each atom that appears in the file, the new @@ -151,8 +147,7 @@ For a *file-style* setting of *each*\ , a filename is specified which is assumed to be unique to each replica. This can be done by using a variable in the filename, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable i equal part neb 0.0 0.001 1000 500 50 each coords.initial.$i @@ -185,10 +180,8 @@ that a long calculation can be restarted if needed. must thus be in the correct initial configuration at the time the neb command is issued. - ---------- - A NEB calculation proceeds in two stages, each of which is a minimization procedure, performed via damped dynamics. To enable this, you must first define a damped dynamics @@ -246,10 +239,8 @@ configuration at (close to) the saddle point of the transition. The potential energies for the set of replicas represents the energy profile of the transition along the MEP. - ---------- - A few other settings in your input script are required or advised to perform a NEB calculation. See the NOTE about the choice of timestep at the beginning of this doc page. @@ -271,10 +262,8 @@ Euler integration step. Thus you must define an appropriate will often converge more quickly if you use a timestep about 10x larger than you would normally use for dynamics simulations. - ---------- - Each file read by the neb command containing atomic coordinates used to initialize one or more replicas must be formatted as follows. @@ -284,7 +273,6 @@ starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information: - .. parsed-literal:: ID1 x1 y1 z1 @@ -306,10 +294,8 @@ Also note there is no requirement that the atoms in the file correspond to the NEB atoms in the group defined by the :doc:`fix neb <fix_neb>` command. Not every NEB atom need be in the file, and non-NEB atoms can be listed in the file. - ---------- - Four kinds of output can be generated during a NEB calculation: energy barrier statistics, thermodynamic output by each replica, dump files, and restart files. @@ -388,24 +374,24 @@ restart the calculation from an intermediate point with altered parameters. There are 2 Python scripts provided in the tools/python directory, -neb\_combine.py and neb\_final.py, which are useful in analyzing output +neb_combine.py and neb_final.py, which are useful in analyzing output from a NEB calculation. Assume a NEB simulation with M replicas, and the NEB atoms labeled with a specific atom type. -The neb\_combine.py script extracts atom coords for the NEB atoms from +The neb_combine.py script extracts atom coords for the NEB atoms from all M dump files and creates a single dump file where each snapshot contains the NEB atoms from all the replicas and one copy of non-NEB atoms from the first replica (presumed to be identical in other replicas). This can be visualized/animated to see how the NEB atoms relax as the NEB calculation proceeds. -The neb\_final.py script extracts the final snapshot from each of the M +The neb_final.py script extracts the final snapshot from each of the M dump files to create a single dump file with M snapshots. This can be visualized to watch the system make its transition over the energy barrier. To illustrate, here are images from the final snapshot produced by the -neb\_combine.py script run on the dump files produced by the two +neb_combine.py script run on the dump files produced by the two example input scripts in examples/neb. Click on them to see a larger image. @@ -415,22 +401,17 @@ image. .. image:: JPG/hop2_small.jpg :target: JPG/hop2.jpg - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package <Build_package>` doc page for more info. - ---------- - Related commands """""""""""""""" @@ -442,32 +423,22 @@ Default none - ---------- - .. _HenkelmanA: - - **(HenkelmanA)** Henkelman and Jonsson, J Chem Phys, 113, 9978-9985 (2000). .. _HenkelmanB: - - **(HenkelmanB)** Henkelman, Uberuaga, Jonsson, J Chem Phys, 113, 9901-9904 (2000). .. _Nakano3: - - **(Nakano)** Nakano, Comp Phys Comm, 178, 280-289 (2008). .. _Maras2: - - **(Maras)** Maras, Trushin, Stukowski, Ala-Nissila, Jonsson, Comp Phys Comm, 205, 13-21 (2016) diff --git a/doc/src/neb_spin.rst b/doc/src/neb_spin.rst index 523f32652c..10b08f674b 100644 --- a/doc/src/neb_spin.rst +++ b/doc/src/neb_spin.rst @@ -6,7 +6,6 @@ neb/spin command Syntax """""" - .. parsed-literal:: neb/spin etol ttol N1 N2 Nevery file-style arg keyword @@ -17,9 +16,9 @@ Syntax * N2 = max # of iterations (timesteps) to run barrier-climbing NEB * Nevery = print replica energies and reaction coordinates every this many timesteps * file-style = *final* or *each* or *none* - + .. parsed-literal:: - + *final* arg = filename filename = file with initial coords for final replica coords for intermediate replicas are linearly interpolated @@ -39,8 +38,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS neb/spin 0.1 0.0 1000 500 50 final coords.final neb/spin 0.0 0.001 1000 500 50 each coords.initial.$i @@ -114,10 +112,8 @@ from such an initial path. In this case, you will want to generate initial states for the intermediate replicas that are geometrically closer to the MEP and read them in. - ---------- - For a *file-style* setting of *final*\ , a filename is specified which contains atomic and spin coordinates for zero or more atoms, in the format described below. @@ -160,7 +156,7 @@ with :math:`\nu` the image number, Q the total number of images, and .. math:: - \vec{k}_i = \frac{\vec{m}_i^I \times \vec{m}_i^F}{\left|\vec{m}_i^I \times \vec{m}_i^F\right|} + \vec{k}_i = \frac{\vec{m}_i^I \times \vec{m}_i^F}{\left|\vec{m}_i^I \times \vec{m}_i^F\right|} if the initial and final spins are not aligned. If the initial and final spins are aligned, then their cross @@ -195,16 +191,14 @@ that a long calculation can be restarted if needed. must thus be in the correct initial configuration at the time the neb command is issued. - ---------- - A NEB calculation proceeds in two stages, each of which is a minimization procedure. To enable this, you must first define a :doc:`min_style <min_style>`, using either the *spin*\ , *spin/cg*\ , or *spin/lbfgs* style (see -:doc:`min_spin <min_spin>` for more information). +:doc:`min_spin <min_spin>` for more information). The other styles cannot be used, since they relax the lattice degrees of freedom instead of the spins. @@ -259,10 +253,8 @@ configuration at (close to) the saddle point of the transition. The potential energies for the set of replicas represents the energy profile of the transition along the MEP. - ---------- - An atom map must be defined which it is not by default for :doc:`atom_style atomic <atom_style>` problems. The :doc:`atom_modify map <atom_modify>` command can be used to do this. An initial value can be defined for the timestep. Although, the *spin* @@ -272,10 +264,8 @@ this timestep is likely to evolve during the calculation. The minimizers in LAMMPS operate on all spins in your system, even non-GNEB atoms, as defined above. - ---------- - Each file read by the neb/spin command containing spin coordinates used to initialize one or more replicas must be formatted as follows. @@ -285,7 +275,6 @@ starting with "#" which are ignored. The first non-blank, non-comment line should list N = the number of lines to follow. The N successive lines contain the following information: - .. parsed-literal:: ID1 g1 x1 y1 z1 sx1 sy1 sz1 @@ -308,10 +297,8 @@ Also note there is no requirement that the atoms in the file correspond to the GNEB atoms in the group defined by the :doc:`fix neb <fix_neb>` command. Not every GNEB atom need be in the file, and non-GNEB atoms can be listed in the file. - ---------- - Four kinds of output can be generated during a GNEB calculation: energy barrier statistics, thermodynamic output by each replica, dump files, and restart files. @@ -382,31 +369,26 @@ calculation fails to converge properly to the MEP, and you wish to restart the calculation from an intermediate point with altered parameters. -A c file script in provided in the tool/spin/interpolate\_gneb +A c file script in provided in the tool/spin/interpolate_gneb directory, that interpolates the MEP given the information provided by the *verbose* output option (as detailed in Appendix D of :ref:`(BessarabA) <BessarabA>`). - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the SPIN package. See the :doc:`Build package <Build_package>` doc page for more info. -For magnetic GNEB calculations, only the *spin\_none* value for the +For magnetic GNEB calculations, only the *spin_none* value for the *line* keyword can be used when minimization styles *spin/cg* and *spin/lbfgs* are employed. - ---------- - Related commands """""""""""""""" @@ -417,13 +399,9 @@ Default none - ---------- - .. _BessarabA: - - **(BessarabA)** Bessarab, Uzdin, Jonsson, Comp Phys Comm, 196, 335-347 (2015). diff --git a/doc/src/neigh_modify.rst b/doc/src/neigh_modify.rst index dbf08d6726..74b4572b95 100644 --- a/doc/src/neigh_modify.rst +++ b/doc/src/neigh_modify.rst @@ -6,15 +6,14 @@ neigh_modify command Syntax """""" - .. code-block:: LAMMPS neigh_modify keyword values ... * one or more keyword/value pairs may be listed - + .. parsed-literal:: - + keyword = *delay* or *every* or *check* or *once* or *cluster* or *include* or *exclude* or *page* or *one* or *binsize* *delay* value = N N = delay building until this many steps since last build @@ -49,12 +48,9 @@ Syntax *binsize* value = size size = bin size for neighbor list construction (distance units) - - Examples """""""" - .. code-block:: LAMMPS neigh_modify every 2 delay 10 check yes page 100000 @@ -132,7 +128,6 @@ sample scenarios where this is useful: * When one or more rigid bodies are specified, interactions within each body can be turned off to save needless computation. See the :doc:`fix rigid <fix_rigid>` command for more details. - The *exclude type* option turns off the pairwise interaction if one atom is of type M and the other of type N. M can equal N. The *exclude group* option turns off the interaction if one atom is in the @@ -164,7 +159,7 @@ turning off bond interactions. long-range solver treats the interaction. This is done correctly for pairwise interactions that are excluded (or weighted) via the :doc:`special_bonds <special_bonds>` command. But it is not done for - interactions that are excluded via these neigh\_modify exclude options. + interactions that are excluded via these neigh_modify exclude options. The *page* and *one* options affect how memory is allocated for the neighbor lists. For most simulations the default settings for these @@ -205,7 +200,6 @@ binsize of 1/2 the cutoff. Restrictions """""""""""" - If the "delay" setting is non-zero, then it must be a multiple of the "every" setting. diff --git a/doc/src/neighbor.rst b/doc/src/neighbor.rst index a8b70cb731..1bb591587c 100644 --- a/doc/src/neighbor.rst +++ b/doc/src/neighbor.rst @@ -6,7 +6,6 @@ neighbor command Syntax """""" - .. parsed-literal:: neighbor skin style @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS neighbor 0.3 bin neighbor 2.0 nsq @@ -86,5 +84,5 @@ Default | 0.3 bin for units = lj, skin = 0.3 sigma | 2.0 bin for units = real or metal, skin = 2.0 Angstroms | 0.001 bin for units = si, skin = 0.001 meters = 1.0 mm -| 0.1 bin for units = cgs, skin = 0.1 cm = 1.0 mm -| +| 0.1 bin for units = cgs, skin = 0.1 cm = 1.0 mm +| diff --git a/doc/src/newton.rst b/doc/src/newton.rst index 38324e8143..df1298a9e4 100644 --- a/doc/src/newton.rst +++ b/doc/src/newton.rst @@ -6,7 +6,6 @@ newton command Syntax """""" - .. parsed-literal:: newton flag @@ -19,8 +18,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS newton off newton on off @@ -54,7 +52,6 @@ communication in the innermost loop. Restrictions """""""""""" - The newton bond setting cannot be changed after the simulation box is defined by a :doc:`read_data <read_data>` or :doc:`create_box <create_box>` command. @@ -67,7 +64,6 @@ Related commands Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS newton on diff --git a/doc/src/next.rst b/doc/src/next.rst index 7a1e2264a1..fd62e29ffe 100644 --- a/doc/src/next.rst +++ b/doc/src/next.rst @@ -6,7 +6,6 @@ next command Syntax """""" - .. parsed-literal:: next variables @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS next x next a t x myTemp @@ -84,8 +82,7 @@ command with an *index*\ -style variable. If this input script is named in.polymer, 8 simulations would be run using data files from directories run1 through run8. - -.. parsed-literal:: +.. code-block:: LAMMPS variable d index run1 run2 run3 run4 run5 run6 run7 run8 shell cd $d @@ -106,8 +103,7 @@ finished. Jump and next commands can also be nested to enable multi-level loops. For example, this script will run 15 simulations in a double loop. - -.. parsed-literal:: +.. code-block:: LAMMPS variable i loop 3 variable j loop 5 @@ -125,8 +121,7 @@ Here is an example of a double loop which uses the :doc:`if <if>` and :doc:`jump <jump>` commands to break out of the inner loop when a condition is met, then continues iterating through the outer loop. - -.. parsed-literal:: +.. code-block:: LAMMPS label loopa variable a loop 5 @@ -146,7 +141,6 @@ condition is met, then continues iterating through the outer loop. Restrictions """""""""""" - As described above. Related commands diff --git a/doc/src/package.rst b/doc/src/package.rst index 4a8b3dcdcd..609216206d 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -6,16 +6,15 @@ package command Syntax """""" - .. parsed-literal:: package style args * style = *gpu* or *intel* or *kokkos* or *omp* * args = arguments specific to the style - + .. parsed-literal:: - + *gpu* args = Ngpu keyword value ... Ngpu = # of GPUs per node zero or more keyword/value pairs may be appended @@ -100,13 +99,10 @@ Syntax yes = threaded neighbor list build (default) no = non-threaded neighbor list build - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS package gpu 1 package gpu 1 split 0.75 @@ -165,10 +161,8 @@ See the :doc:`Speed packages <Speed_packages>` doc page for more details about using the various accelerator packages for speeding up LAMMPS simulations. - ---------- - The *gpu* style invokes settings associated with the use of the GPU package. @@ -236,8 +230,7 @@ As an example, if you have two GPUs per node and 8 CPU cores per node, and would like to run on 4 nodes (32 cores) with dynamic balancing of force calculation across CPU and GPU cores, you could specify - -.. parsed-literal:: +.. code-block:: bash mpirun -np 32 -sf gpu -in in.script # launch command package gpu 2 split -1 # input script command @@ -271,11 +264,11 @@ GPUs from different vendors or for CPU based accelerator support). In LAMMPS only one platform can be active at a time and by default the first platform with an accelerator is selected. This is equivalent to using a platform ID of -1. The platform ID is a number corresponding -to the output of the ocl\_get\_devices tool. The platform ID is passed +to the output of the ocl_get_devices tool. The platform ID is passed to the GPU library, by prefixing the *device* keyword with that number separated by a colon. For CUDA, the *device* keyword is ignored. Currently, the device tuning support is limited to NVIDIA Kepler, NVIDIA -Fermi, AMD Cypress, Intel x86\_64 CPU, Intel Xeon Phi, or a generic device. +Fermi, AMD Cypress, Intel x86_64 CPU, Intel Xeon Phi, or a generic device. More devices may be added later. The default device type can be specified when building LAMMPS with the GPU library, via setting a variable in the lib/gpu/Makefile that is used. @@ -285,19 +278,19 @@ In addition, a device type *custom* is available, which is followed by from the package command. It can be combined with the (colon separated) platform id. The individual settings are: -* MEM\_THREADS -* THREADS\_PER\_ATOM -* THREADS\_PER\_CHARGE -* BLOCK\_PAIR -* MAX\_SHARED\_TYPES -* BLOCK\_NBOR\_BUILD -* BLOCK\_BIO\_PAIR -* BLOCK\_ELLIPSE -* WARP\_SIZE -* PPPM\_BLOCK\_1D -* BLOCK\_CELL\_2D -* BLOCK\_CELL\_ID -* MAX\_BIO\_SHARED\_TYPES +* MEM_THREADS +* THREADS_PER_ATOM +* THREADS_PER_CHARGE +* BLOCK_PAIR +* MAX_SHARED_TYPES +* BLOCK_NBOR_BUILD +* BLOCK_BIO_PAIR +* BLOCK_ELLIPSE +* WARP_SIZE +* PPPM_BLOCK_1D +* BLOCK_CELL_2D +* BLOCK_CELL_ID +* MAX_BIO_SHARED_TYPES The *blocksize* keyword allows you to tweak the number of threads used per thread block. This number should be a multiple of 32 (for GPUs) @@ -306,10 +299,8 @@ are 64, 128, or 256. A larger block size increases occupancy of individual GPU cores, but reduces the total number of thread blocks, thus may lead to load imbalance. - ---------- - The *intel* style invokes settings associated with the use of the USER-INTEL package. All of its settings, except the *omp* and *mode* keywords, are ignored if LAMMPS was not built with Xeon Phi @@ -342,10 +333,10 @@ The *Nthread* value for the *omp* keyword sets the number of OpenMP threads allocated for each MPI task. Setting *Nthread* = 0 (the default) instructs LAMMPS to use whatever value is the default for the given OpenMP environment. This is usually determined via the -*OMP\_NUM\_THREADS* environment variable or the compiler runtime, which +*OMP_NUM_THREADS* environment variable or the compiler runtime, which is usually a value of 1. -For more details, including examples of how to set the OMP\_NUM\_THREADS +For more details, including examples of how to set the OMP_NUM_THREADS environment variable, see the discussion of the *Nthreads* setting on this doc page for the "package omp" command. Nthreads is a required argument for the USER-OMP package. Its meaning is exactly the same @@ -377,7 +368,7 @@ force calculation. The *lrt* keyword can be used to enable "Long Range Thread (LRT)" mode. It can take a value of *yes* to enable and *no* to disable. LRT mode generates an extra thread (in addition to any OpenMP threads -specified with the OMP\_NUM\_THREADS environment variable or the *omp* +specified with the OMP_NUM_THREADS environment variable or the *omp* keyword). The extra thread is dedicated for performing part of the :doc:`PPPM solver <kspace_style>` computations and communications. This can improve parallel performance on processors supporting @@ -390,7 +381,7 @@ ignored and no extra threads are generated. Enabling LRT will replace the :doc:`run_style <run_style>` with the *verlet/lrt/intel* style that is identical to the default *verlet* style aside from supporting the LRT feature. This feature requires setting the pre-processor flag --DLMP\_INTEL\_USELRT in the makefile when compiling LAMMPS. +-DLMP_INTEL_USELRT in the makefile when compiling LAMMPS. The *balance* keyword sets the fraction of :doc:`pair style <pair_style>` work offloaded to the co-processor for split values between 0.0 and 1.0 inclusive. While this fraction of work is @@ -430,17 +421,15 @@ with 16 threads, for a total of 128. Note that the default settings for *tpc* and *tptask* are fine for most problems, regardless of how many MPI tasks you assign to a Phi. -The *no\_affinity* keyword will turn off automatic setting of core +The *no_affinity* keyword will turn off automatic setting of core affinity for MPI tasks and OpenMP threads on the host when using offload to a co-processor. Affinity settings are used when possible to prevent MPI tasks and OpenMP threads from being on separate NUMA domains and to prevent offload threads from interfering with other processes/threads used for LAMMPS. - ---------- - The *kokkos* style invokes settings associated with the use of the KOKKOS package. @@ -549,13 +538,11 @@ keywords are set to *device*\ , the value for these *comm* keywords will be automatically changed to *host*\ . This setting has no effect if not running on GPUs or if using only one MPI rank. CUDA-aware MPI is available for OpenMPI 1.8 (or later versions), Mvapich2 1.9 (or later) when the -"MV2\_USE\_CUDA" environment variable is set to "1", CrayMPI, and IBM +"MV2_USE_CUDA" environment variable is set to "1", CrayMPI, and IBM Spectrum MPI when the "-gpu" flag is used. - ---------- - The *omp* style invokes settings associated with the use of the USER-OMP package. @@ -570,17 +557,16 @@ tasks \* threads/task should not exceed the physical number of cores Setting *Nthread* = 0 instructs LAMMPS to use whatever value is the default for the given OpenMP environment. This is usually determined -via the *OMP\_NUM\_THREADS* environment variable or the compiler +via the *OMP_NUM_THREADS* environment variable or the compiler runtime. Note that in most cases the default for OpenMP capable compilers is to use one thread for each available CPU core when -*OMP\_NUM\_THREADS* is not explicitly set, which can lead to poor +*OMP_NUM_THREADS* is not explicitly set, which can lead to poor performance. Here are examples of how to set the environment variable when launching LAMMPS: - -.. parsed-literal:: +.. code-block:: bash env OMP_NUM_THREADS=4 lmp_machine -sf omp -in in.script env OMP_NUM_THREADS=2 mpirun -np 2 lmp_machine -sf omp -in in.script @@ -590,7 +576,7 @@ or you can set it permanently in your shell's start-up script. All three of these examples use a total of 4 CPU cores. Note that different MPI implementations have different ways of passing -the OMP\_NUM\_THREADS environment variable to all MPI processes. The +the OMP_NUM_THREADS environment variable to all MPI processes. The 2nd example line above is for MPICH; the 3rd example line with -x is for OpenMPI. Check your MPI documentation for additional details. @@ -613,14 +599,11 @@ expense of using more memory. Specifically, neighbor list pages are allocated for all threads at the same time and each thread works within its own pages. - ---------- - Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a :doc:`read_data <read_data>` or :doc:`create_box <create_box>` command. diff --git a/doc/src/pair_adp.rst b/doc/src/pair_adp.rst index 43a94933ad..6c4796fb85 100644 --- a/doc/src/pair_adp.rst +++ b/doc/src/pair_adp.rst @@ -9,7 +9,6 @@ pair_style adp/omp command Syntax """""" - .. code-block:: LAMMPS pair_style adp @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style adp @@ -39,7 +37,6 @@ which is a generalization of the :doc:`embedded atom method (EAM) potential <pai \lambda_i^{st} & = \sum_{j\neq i}w_{\alpha\beta}(r_{ij})r_{ij}^sr_{ij}^t\\ \nu_i & = \sum_s\lambda_i^{ss} - where :math:`F` is the embedding energy which is a function of the atomic electron density :math:`\rho`, :math:`\phi` is a pair potential interaction, :math:`\alpha` and :math:`\beta` are the element types of atoms :math:`I` and @@ -49,7 +46,7 @@ and quadruple distortions of the local atomic environment which extend the original EAM framework by introducing angular forces. Note that unlike for other potentials, cutoffs for ADP potentials are -not set in the pair\_style or pair\_coeff command; they are specified in +not set in the pair_style or pair_coeff command; they are specified in the ADP potential files themselves. Likewise, the ADP potential files list atomic masses; thus you do not need to use the :doc:`mass <mass>` command to specify them. @@ -64,11 +61,10 @@ command to specify them. ---------- - -Only a single pair\_coeff command is used with the *adp* style which +Only a single pair_coeff command is used with the *adp* style which specifies an extended DYNAMO *setfl* file, which contains information for :math:`M` elements. These are mapped to LAMMPS atom types by specifying :math:`N` -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where :math:`N` is the number of LAMMPS atom types: * filename @@ -82,8 +78,7 @@ potentials directory of the LAMMPS distribution, is an extended *setfl* file which has tabulated ADP values for w elements and their alloy interactions: Cu and Al. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Al, and the 4th to be Cu, you would use -the following pair\_coeff command: - +the following pair_coeff command: .. code-block:: LAMMPS @@ -110,13 +105,13 @@ command for further details on the *setfl* format. * lines 1,2,3 = comments (ignored) * line 4: :math:`N_{\text{elements}}` Element1 Element2 ... ElementN -* line 5: :math:`N_\rho`, :math:`d_\rho`, :math:`N_r`, :math:`d_r`, cutoff +* line 5: :math:`N_{\rho}`, :math:`d_{\rho}`, :math:`N_r`, :math:`d_r`, cutoff Following the 5 header lines are :math:`N_{\text{elements}}` sections, one for each element, each with the following format: * line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) -* embedding function :math:`F(\rho)` (:math:`N_\rho` values) +* embedding function :math:`F(\rho)` (:math:`N_{\rho}` values) * density function :math:`\rho(r)` (:math:`N_r` values) Following the :math:`N_{\text{elements}}` sections, :math:`N_r` values for each pair potential @@ -137,10 +132,8 @@ same order with the same assumptions of symmetry. Directly following the :math:`u(r)`, the :math:`w(r)` arrays are listed. Note that :math:`\phi(r)` is the only array tabulated with a scaling by :math:`r`. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -159,10 +152,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to @@ -173,21 +164,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair\_style and pair\_coeff commands in +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. @@ -198,19 +186,13 @@ Related commands **Default:** none - ---------- - .. _Mishin: - - **(Mishin)** Mishin, Mehl, and Papaconstantopoulos, Acta Mater, 53, 4029 (2005). .. _Singh: - - **(Singh)** Singh and Warner, Acta Mater, 58, 5797-5805 (2010), diff --git a/doc/src/pair_agni.rst b/doc/src/pair_agni.rst index bb7408f363..2023e655f4 100644 --- a/doc/src/pair_agni.rst +++ b/doc/src/pair_agni.rst @@ -9,7 +9,6 @@ pair_style agni/omp command Syntax """""" - .. code-block:: LAMMPS pair_style agni @@ -35,7 +34,6 @@ an atom as V_i^u(\eta) & = \sum_{j \neq i}\frac{r^u_{ij}}{r_{ij}} \cdot e^{-\left(\frac{r_{ij}}{\eta} \right)^2} \cdot f_d\left(r_{ij}\right) \\ f_d\left(r_{ij}\right) & = \frac{1}{2} \left[\cos\left(\frac{\pi r_{ij}}{R_c}\right) + 1 \right] - :math:`u` labels the individual components, i.e. :math:`x`, :math:`y` or :math:`z`, and :math:`V` is the corresponding atomic fingerprint. :math:`d` is the Euclidean distance between any two atomic fingerprints. A total of :math:`N_t` reference atomic @@ -50,11 +48,11 @@ of the method is to map the atomic environment numerically into a fingerprint, and use machine learning methods to create a mapping to the vectorial atomic forces. -Only a single pair\_coeff command is used with the *agni* style which +Only a single pair_coeff command is used with the *agni* style which specifies an AGNI potential file containing the parameters of the force field for the needed elements. These are mapped to LAMMPS atom types by specifying :math:`N` additional arguments after the filename in the -pair\_coeff command, where :math:`N` is the number of LAMMPS atom types: +pair_coeff command, where :math:`N` is the number of LAMMPS atom types: * filename * :math:`N` element names = mapping of AGNI elements to atom types @@ -67,10 +65,8 @@ parameters of the force field, i.e., the reference training environments used to construct the machine learning force field. Example force field and input files are provided in the examples/USER/misc/agni directory. - ---------- - Styles with *omp* suffix is functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc page. The accelerated style takes @@ -87,31 +83,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - Currently, only elemental systems are implemented. Also, the method only provides access to the forces and not energies or stresses. The lack of potential energy data makes this pair style incompatible with @@ -137,24 +128,16 @@ Related commands **Default:** none - ---------- - .. _Botu2015adaptive: - - **(Botu1)** V. Botu and R. Ramprasad, Int. J. Quant. Chem., 115(16), 1074 (2015). .. _Botu2015learning: - - **(Botu2)** V. Botu and R. Ramprasad, Phys. Rev. B, 92(9), 094306 (2015). .. _Botu2016construct: - - **(Botu3)** V. Botu, R. Batra, J. Chapman and R. Ramprasad, https://arxiv.org/abs/1610.02098 (2016). diff --git a/doc/src/pair_airebo.rst b/doc/src/pair_airebo.rst index e2ef285f91..d7fc9a9c07 100644 --- a/doc/src/pair_airebo.rst +++ b/doc/src/pair_airebo.rst @@ -30,21 +30,19 @@ pair_style rebo/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style cutoff LJ_flag TORSION_flag cutoff_min * style = *airebo* or *airebo/morse* or *rebo* * cutoff = LJ or Morse cutoff (:math:`\sigma` scale factor) (AIREBO and AIREBO-M only) -* LJ\_flag = 0/1 to turn off/on the LJ or Morse term (AIREBO and AIREBO-M only, optional) -* TORSION\_flag = 0/1 to turn off/on the torsion term (AIREBO and AIREBO-M only, optional) -* cutoff\_min = Start of the transition region of cutoff (:math:`\sigma` scale factor) (AIREBO and AIREBO-M only, optional) +* LJ_flag = 0/1 to turn off/on the LJ or Morse term (AIREBO and AIREBO-M only, optional) +* TORSION_flag = 0/1 to turn off/on the torsion term (AIREBO and AIREBO-M only, optional) +* cutoff_min = Start of the transition region of cutoff (:math:`\sigma` scale factor) (AIREBO and AIREBO-M only, optional) Examples """""""" - .. code-block:: LAMMPS pair_style airebo 3.0 @@ -84,12 +82,12 @@ The AIREBO potential consists of three terms: .. math:: - E & = \frac{1}{2} \sum_i \sum_{j \neq i} - \left[ E^{\text{REBO}}_{ij} + E^{\text{LJ}}_{ij} + + E & = \frac{1}{2} \sum_i \sum_{j \neq i} + \left[ E^{\text{REBO}}_{ij} + E^{\text{LJ}}_{ij} + \sum_{k \neq i,j} \sum_{l \neq i,j,k} E^{\text{TORSION}}_{kijl} \right] \\ By default, all three terms are included. For the *airebo* style, if -the first two optional flag arguments to the pair\_style command are +the first two optional flag arguments to the pair_style command are included, the LJ and torsional terms can be turned off. Note that both or neither of the flags must be included. If both of the LJ an torsional terms are turned off, it becomes the 2nd-generation REBO @@ -127,18 +125,16 @@ factor of 3.0 (the argument in pair_style), the resulting :math:`E^{\text{LJ}}` would be 10.2 Angstroms. By default, the longer-ranged interaction is smoothly switched off -between 2.16 and 3.0 :math:`\sigma`. By specifying *cutoff\_min* in addition +between 2.16 and 3.0 :math:`\sigma`. By specifying *cutoff_min* in addition to *cutoff*\ , the switching can be configured to take place between -*cutoff\_min* and *cutoff*\ . *cutoff\_min* can only be specified if all +*cutoff_min* and *cutoff*\ . *cutoff_min* can only be specified if all optional arguments are given. The :math:`E^{\text{TORSION}}` term is an explicit 4-body potential that describes various dihedral angle preferences in hydrocarbon configurations. - ---------- - Only a single pair_coeff command is used with the *airebo*\ , *airebo* or *rebo* style which specifies an AIREBO, REBO, or AIREBO-M potential file with parameters for C and H. Note that as of LAMMPS version @@ -157,7 +153,6 @@ As an example, if your LAMMPS simulation has 4 atom types and you want the 1st 3 to be C, and the 4th to be H, you would use the following pair_coeff command: - .. code-block:: LAMMPS pair_coeff * * CH.airebo C C C H @@ -194,7 +189,6 @@ The 3 values correspond to the following sub-categories: To print these quantities to the log file (with descriptive column headings) the following commands could be included in an input script: - .. code-block:: LAMMPS compute 0 all pair airebo @@ -203,10 +197,8 @@ headings) the following commands could be included in an input script: variable TORSION equal c_0[3] thermo_style custom step temp epair v_REBO v_LJ v_TORSION - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -225,10 +217,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support the :doc:`pair_modify <pair_modify>` @@ -245,7 +235,6 @@ These pair styles can only be used via the *pair* keyword of the Restrictions """""""""""" - These pair styles are part of the MANYBODY package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -266,26 +255,18 @@ Related commands **Default:** none - ---------- - .. _Stuart: - - **(Stuart)** Stuart, Tutein, Harrison, J Chem Phys, 112, 6472-6486 (2000). .. _Brenner: - - **(Brenner)** Brenner, Shenderova, Harrison, Stuart, Ni, Sinnott, J Physics: Condensed Matter, 14, 783-802 (2002). .. _OConnor: - - **(O'Connor)** O'Connor et al., J. Chem. Phys. 142, 024903 (2015). diff --git a/doc/src/pair_atm.rst b/doc/src/pair_atm.rst index c8c4edeb54..902e07a80d 100644 --- a/doc/src/pair_atm.rst +++ b/doc/src/pair_atm.rst @@ -6,18 +6,16 @@ pair_style atm command Syntax """""" - .. code-block:: LAMMPS pair_style atm cutoff cutoff_triple * cutoff = cutoff for each pair in 3-body interaction (distance units) -* cutoff\_triple = additional cutoff applied to product of 3 pairwise distances (distance units) +* cutoff_triple = additional cutoff applied to product of 3 pairwise distances (distance units) Examples """""""" - .. code-block:: LAMMPS pair_style atm 4.5 2.5 @@ -40,7 +38,6 @@ potential for the energy E of a system of atoms as E & = \nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3} \\ - where :math:`\nu` is the three-body interaction strength. The distances between pairs of atoms :math:`r_{12}`, :math:`r_{23}`, :math:`r_{31}` and the angles :math:`\gamma_1`, :math:`\gamma_2`, :math:`\gamma_3` are as shown in this diagram: @@ -95,7 +92,6 @@ Note that a pair_coeff command can override a previous setting for the same :math:`I,J,K` triplet. For example, these commands set :math:`\nu` for all :math:`I,J.K` triplets, then overwrite nu for just the :math:`I,J,K = 2,3,4` triplet: - .. code-block:: LAMMPS pair_coeff * * * 0.25 @@ -104,7 +100,6 @@ triplets, then overwrite nu for just the :math:`I,J,K = 2,3,4` triplet: Note that for a simulation with a single atom type, only a single entry is required, e.g. - .. code-block:: LAMMPS pair_coeff 1 1 1 0.25 @@ -112,7 +107,6 @@ entry is required, e.g. For a simulation with two atom types, four pair_coeff commands will specify all possible nu values: - .. code-block:: LAMMPS pair_coeff 1 1 1 nu1 @@ -123,7 +117,6 @@ specify all possible nu values: For a simulation with three atom types, ten pair_coeff commands will specify all possible nu values: - .. code-block:: LAMMPS pair_coeff 1 1 1 nu1 @@ -145,10 +138,8 @@ combination and all its permutations. However, as with all pair styles, it is required to specify a pair_coeff command for all :math:`I,J` combinations, else an error will result. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair styles do not support the :doc:`pair_modify <pair_modify>` @@ -165,14 +156,11 @@ This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner* , *middle* , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -183,14 +171,10 @@ Related commands **Default:** none - ---------- - .. _Axilrod: - - **(Axilrod)** Axilrod and Teller, J Chem Phys, 11, 299 (1943); Muto, Nippon Sugaku-Buturigakkwaishi 17, 629 (1943). diff --git a/doc/src/pair_awpmd.rst b/doc/src/pair_awpmd.rst index 8e353960f0..701c45849e 100644 --- a/doc/src/pair_awpmd.rst +++ b/doc/src/pair_awpmd.rst @@ -6,17 +6,16 @@ pair_style awpmd/cut command Syntax """""" - .. code-block:: LAMMPS pair_style awpmd/cut Rc keyword value ... * Rc = global cutoff, -1 means cutoff of half the shortest box length * zero or more keyword/value pairs may be appended -* keyword = *hartree* or *dproduct* or *uhf* or *free* or *pbc* or *fix* or *harm* or *ermscale* or *flex\_press* - +* keyword = *hartree* or *dproduct* or *uhf* or *free* or *pbc* or *fix* or *harm* or *ermscale* or *flex_press* + .. parsed-literal:: - + *hartree* value = none *dproduct* value = none *uhf* value = none @@ -31,12 +30,9 @@ Syntax factor = scaling between electron mass and width variable mass *flex_press* value = none - - Examples """""""" - .. code-block:: LAMMPS pair_style awpmd/cut -1 @@ -53,7 +49,7 @@ basic formulas here. Could be links to other documents. Rc is the cutoff. -The pair\_style command allows for several optional keywords +The pair_style command allows for several optional keywords to be specified. The *hartree*\ , *dproduct*\ , and *uhf* keywords specify the form of the @@ -81,7 +77,7 @@ The *ermscale* keyword specifies a unitless scaling factor between the electron masses and the width variable mass. More details needed. -If the *flex\_press* keyword is used, then a contribution from the +If the *flex_press* keyword is used, then a contribution from the electrons is added to the total virial and pressure of the system. This potential is designed to be used with :doc:`atom_style wavepacket <atom_style>` definitions, in order to handle the @@ -97,28 +93,24 @@ commands, or by mixing as described below: For *awpmd/cut*\ , the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value -specified in the pair\_style command is used. - +specified in the pair_style command is used. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : The :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options are not relevant for this pair style. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -131,5 +123,5 @@ Related commands Default """"""" -These are the defaults for the pair\_style keywords: *hartree* for the +These are the defaults for the pair_style keywords: *hartree* for the initial wave function, *free* for the wave packet width. diff --git a/doc/src/pair_beck.rst b/doc/src/pair_beck.rst index 88abfe9798..f234366eae 100644 --- a/doc/src/pair_beck.rst +++ b/doc/src/pair_beck.rst @@ -12,7 +12,6 @@ pair_style beck/omp command Syntax """""" - .. code-block:: LAMMPS pair_style beck Rc @@ -22,7 +21,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style beck 8.0 @@ -40,7 +38,6 @@ includes truncation at a cutoff distance Rc. E(r) &= A \exp\left[-\alpha r - \beta r^6\right] - \frac{B}{\left(r^2+a^2\right)^3} \left(1+\frac{2.709+3a^2}{r^2+a^2}\right) \qquad r < R_c \\ - The following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command as in the examples above, or in the data file or restart files read by the @@ -57,10 +54,8 @@ commands. The last coefficient is optional. If not specified, the global cutoff :math:`R_c` is used. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -79,10 +74,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, coefficients must be specified. @@ -97,17 +90,15 @@ for this pair style. This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -119,12 +110,8 @@ Related commands **Default:** none - ---------- - .. _Beck: - - **(Beck)** Beck, Molecular Physics, 14, 311 (1968). diff --git a/doc/src/pair_body_nparticle.rst b/doc/src/pair_body_nparticle.rst index edfd4f3ab2..cdb4870cbf 100644 --- a/doc/src/pair_body_nparticle.rst +++ b/doc/src/pair_body_nparticle.rst @@ -6,7 +6,6 @@ pair_style body/nparticle command Syntax """""" - .. code-block:: LAMMPS pair_style body/nparticle cutoff @@ -16,7 +15,6 @@ cutoff = global cutoff for interactions (distance units) Examples """""""" - .. code-block:: LAMMPS pair_style body/nparticle 3.0 @@ -73,7 +71,6 @@ interaction, using the standard formula \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < R_c \\ - where :math:`R_c` is the cutoff. As explained above, an interaction involving one or two body sub-particles may be computed even for :math:`r > R_c`. @@ -90,10 +87,8 @@ commands: The last coefficient is optional. If not specified, the global cutoff is used. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients @@ -110,14 +105,11 @@ This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the BODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_body_rounded_polygon.rst b/doc/src/pair_body_rounded_polygon.rst index 652c618d4a..baba67bf7f 100644 --- a/doc/src/pair_body_rounded_polygon.rst +++ b/doc/src/pair_body_rounded_polygon.rst @@ -6,12 +6,10 @@ pair_style body/rounded/polygon command Syntax """""" - .. code-block:: LAMMPS pair_style body/rounded/polygon c_n c_t mu delta_ua cutoff - .. parsed-literal:: c_n = normal damping coefficient @@ -23,7 +21,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style body/rounded/polygon 20.0 5.0 0.0 1.0 0.5 @@ -57,7 +54,7 @@ between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices and edges themselves. -This means that the specified cutoff in the pair\_style command is the +This means that the specified cutoff in the pair_style command is the cutoff distance, :math:`r_c`, for the surface separation, :math:`\delta_n` (see figure below). This is the distance at which two particles no longer interact. If :math:`r_c` is specified as 0.0, then it is a contact-only @@ -124,8 +121,8 @@ above for force versus surface separation, for :math:`\delta_n < 0` and This pair style does not support the :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options. -This pair style does not write its information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This pair style does not write its information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the @@ -149,7 +146,5 @@ Related commands .. _pair-Fraige: - - **(Fraige)** F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). diff --git a/doc/src/pair_body_rounded_polyhedron.rst b/doc/src/pair_body_rounded_polyhedron.rst index 20dbbafb13..72e94db8c9 100644 --- a/doc/src/pair_body_rounded_polyhedron.rst +++ b/doc/src/pair_body_rounded_polyhedron.rst @@ -6,7 +6,6 @@ pair_style body/rounded/polyhedron command Syntax """""" - .. code-block:: LAMMPS pair_style body/rounded/polyhedron c_n c_t mu delta_ua cutoff @@ -22,7 +21,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style body/rounded/polyhedron 20.0 5.0 0.0 1.0 0.5 @@ -56,7 +54,7 @@ and energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices, edges, and faces themselves. -This means that the specified cutoff in the pair\_style command is the +This means that the specified cutoff in the pair_style command is the cutoff distance, :math:`r_c`, for the surface separation, :math:`\delta_n` (see figure below). This is the distance at which two particles no longer interact. If :math:`r_c` is specified as 0.0, then it is a contact-only @@ -118,7 +116,7 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`. -Thus, you need to re-specify the pair\_style and pair\_coeff +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the @@ -128,7 +126,6 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" - These pair styles are part of the BODY package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -144,7 +141,5 @@ Related commands .. _pair-Wang: - - **(Wang)** J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). diff --git a/doc/src/pair_bop.rst b/doc/src/pair_bop.rst index 5cf3bbb4a8..ce7b69f41f 100644 --- a/doc/src/pair_bop.rst +++ b/doc/src/pair_bop.rst @@ -6,7 +6,6 @@ pair_style bop command Syntax """""" - .. code-block:: LAMMPS pair_style bop keyword ... @@ -18,12 +17,9 @@ Syntax save = pre-compute and save some values - - Examples """""""" - .. code-block:: LAMMPS pair_style bop @@ -40,15 +36,15 @@ quantum mechanical theory incorporating both :math:`\sigma` and :math:`\pi` bond By analytically deriving the BOP from quantum mechanical theory its transferability to different phases can approach that of quantum mechanical methods. This potential is similar to the original BOP -developed by Pettifor (:ref:`Pettifor\_1 <Pettifor_1>`, -:ref:`Pettifor\_2 <Pettifor_2>`, :ref:`Pettifor\_3 <Pettifor_3>`) and later updated +developed by Pettifor (:ref:`Pettifor_1 <Pettifor_1>`, +:ref:`Pettifor_2 <Pettifor_2>`, :ref:`Pettifor_3 <Pettifor_3>`) and later updated by Murdick, Zhou, and Ward (:ref:`Murdick <Murdick>`, :ref:`Ward <Ward>`). Currently, BOP potential files for these systems are provided with LAMMPS: AlCu, CCu, CdTe, CdTeSe, CdZnTe, CuH, GaAs. A system with only a subset of these elements, including a single element (e.g. C or Cu or Al or Ga or Zn or CdZn), can also be modeled by using the appropriate alloy file and assigning all atom types to the -single element or subset of elements via the pair\_coeff command, as +single element or subset of elements via the pair_coeff command, as discussed below. The BOP potential consists of three terms: @@ -57,13 +53,12 @@ The BOP potential consists of three terms: E = \frac{1}{2} \sum_{i=1}^{N} \sum_{j=i_1}^{i_N} \phi_{ij} \left( r_{ij} \right) - \sum_{i=1}^{N} \sum_{j=i_1}^{i_N} \beta_{\sigma,ij} \left( r_{ij} \right) \cdot \Theta_{\sigma,ij} - \sum_{i=1}^{N} \sum_{j=i_1}^{i_N} \beta_{\pi,ij} \left( r_{ij} \right) \cdot \Theta_{\pi,ij} + U_{prom} - where :math:`\phi_{ij}(r_{ij})` is a short-range two-body function representing the repulsion between a pair of ion cores, :math:`\beta_{\sigma,ij}(r_{ij})` and :math:`\beta_{\sigma,ij}(r_{ij})` are respectively sigma and :math:`\pi` bond integrals, :math:`\Theta_{\sigma,ij}` and :math:`\Theta_{\pi,ij}` are :math:`\sigma` and :math:`\pi` -bond-orders, and U\_prom is the promotion energy for sp-valent systems. +bond-orders, and U_prom is the promotion energy for sp-valent systems. The detailed formulas for this potential are given in Ward (:ref:`Ward <Ward>`); here we provide only a brief description. @@ -89,7 +84,7 @@ efficient potential formulation suitable for MD simulations, the derived BOP only takes (and retains) the first two levels of the recursive representations for both the :math:`\sigma` and the :math:`\pi` bond-orders. Bond-order terms can be understood in terms of molecular orbital hopping paths -based upon the Cyrot-Lackmann theorem (:ref:`Pettifor\_1 <Pettifor_1>`). +based upon the Cyrot-Lackmann theorem (:ref:`Pettifor_1 <Pettifor_1>`). The :math:`\sigma` bond-order with a half-full valence shell is used to interpolate the bond-order expression that incorporated explicit valance band filling. This :math:`\pi` bond-order expression also contains also contains @@ -101,7 +96,7 @@ length 4. This enables the incorporation of dihedral angles effects. .. note:: Note that unlike for other potentials, cutoffs for BOP - potentials are not set in the pair\_style or pair\_coeff command; they + potentials are not set in the pair_style or pair_coeff command; they are specified in the BOP potential files themselves. Likewise, the BOP potential files list atomic masses; thus you do not need to use the :doc:`mass <mass>` command to specify them. Note that for BOP @@ -111,7 +106,7 @@ length 4. This enables the incorporation of dihedral angles effects. :doc:`pair_coeff <pair_coeff>` command to read the BOP potential file. -One option can be specified as a keyword with the pair\_style command. +One option can be specified as a keyword with the pair_style command. The *save* keyword gives you the option to calculate in advance and store a set of distances, angles, and derivatives of angles. The @@ -121,14 +116,12 @@ The latter requires less memory, but may be slower. It is best to test this option to optimize the speed of BOP for your particular system configuration. - ---------- - -Only a single pair\_coeff command is used with the *bop* style which +Only a single pair_coeff command is used with the *bop* style which specifies a BOP potential file, with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -137,8 +130,7 @@ where N is the number of LAMMPS atom types: As an example, imagine the CdTe.bop file has BOP values for Cd and Te. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Cd, and the 4th to be Te, you would use the following -pair\_coeff command: - +pair_coeff command: .. parsed-literal:: @@ -151,18 +143,16 @@ element in the BOP file. The final Te argument maps LAMMPS atom type BOP files in the *potentials* directory of the LAMMPS distribution have a ".bop" suffix. The potentials are in tabulated form containing -pre-tabulated pair functions for phi\_ij(r\_ij), beta\_(sigma,ij)(r\_ij), -and beta\_pi,ij)(r\_ij). +pre-tabulated pair functions for phi_ij(r_ij), beta_(sigma,ij)(r_ij), +and beta_pi,ij)(r_ij). The parameters/coefficients format for the different kinds of BOP files are given below with variables matching the formulation of Ward (:ref:`Ward <Ward>`) and Zhou (:ref:`Zhou <Zhou1>`). Each header line containing a ":" is preceded by a blank line. - ---------- - **No angular table file format**\ : The parameters/coefficients format for the BOP potentials input file @@ -180,101 +170,92 @@ the tabulated functions are given. * Line 1: nr, nBOt (nr is the number of divisions the radius is broken into for function tables and MUST be a factor of 5; nBOt is the number - of divisions for the tabulated values of THETA\_(S,ij) -* Line 2: delta\_1-delta\_7 (if all are not used in the particular + of divisions for the tabulated values of THETA_(S,ij) +* Line 2: delta_1-delta_7 (if all are not used in the particular * formulation, set unused values to 0.0) +Following this N lines for e_1-e_N containing p_pi. -Following this N lines for e\_1-e\_N containing p\_pi. - -* Line 3: p\_pi (for e\_1) -* Line 4: p\_pi (for e\_2 and continues to e\_N) +* Line 3: p_pi (for e_1) +* Line 4: p_pi (for e_2 and continues to e_N) The next section contains several pair constants for the number of -interaction types e\_i-e\_j, with i=1->N, j=i->N +interaction types e_i-e_j, with i=1->N, j=i->N -* Line 1: r\_cut (for e\_1-e\_1 interactions) -* Line 2: c\_sigma, a\_sigma, c\_pi, a\_pi -* Line 3: delta\_sigma, delta\_pi -* Line 4: f\_sigma, k\_sigma, delta\_3 (This delta\_3 is similar to that of +* Line 1: r_cut (for e_1-e_1 interactions) +* Line 2: c_sigma, a_sigma, c_pi, a_pi +* Line 3: delta_sigma, delta_pi +* Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of the previous section but is interaction type dependent) - The next section contains a line for each three body interaction type -e\_j-e\_i-e\_k with i=0->N, j=0->N, k=j->N +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N -* Line 1: g\_(sigma0), g\_(sigma1), g\_(sigma2) (These are coefficients for - g\_(sigma,jik)(THETA\_ijk) for e\_1-e\_1-e\_1 interaction. :ref:`Ward <Ward>` +* Line 1: g_(sigma0), g_(sigma1), g_(sigma2) (These are coefficients for + g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. :ref:`Ward <Ward>` contains the full expressions for the constants as functions of - b\_(sigma,ijk), p\_(sigma,ijk), u\_(sigma,ijk)) -* Line 2: g\_(sigma0), g\_(sigma1), g\_(sigma2) (for e\_1-e\_1-e\_2) - + b_(sigma,ijk), p_(sigma,ijk), u_(sigma,ijk)) +* Line 2: g_(sigma0), g_(sigma1), g_(sigma2) (for e_1-e_1-e_2) The next section contains a block for each interaction type for the -phi\_ij(r\_ij). Each block has nr entries with 5 entries per line. +phi_ij(r_ij). Each block has nr entries with 5 entries per line. -* Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e\_1-e\_1 +* Line 1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5) (for the e_1-e_1 interaction type) * Line 2: phi(r6), phi(r7), phi(r8), phi(r9), phi(r10) (this continues until nr) * ... -* Line nr/5\_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the - e\_1-e\_1 interaction type) - +* Line nr/5_1: phi(r1), phi(r2), phi(r3), phi(r4), phi(r5), (for the + e_1-e_1 interaction type) The next section contains a block for each interaction type for the -beta\_(sigma,ij)(r\_ij). Each block has nr entries with 5 entries per +beta_(sigma,ij)(r_ij). Each block has nr entries with 5 entries per line. -* Line 1: beta\_sigma(r1), beta\_sigma(r2), beta\_sigma(r3), beta\_sigma(r4), - beta\_sigma(r5) (for the e\_1-e\_1 interaction type) -* Line 2: beta\_sigma(r6), beta\_sigma(r7), beta\_sigma(r8), beta\_sigma(r9), - beta\_sigma(r10) (this continues until nr) +* Line 1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), beta_sigma(r4), + beta_sigma(r5) (for the e_1-e_1 interaction type) +* Line 2: beta_sigma(r6), beta_sigma(r7), beta_sigma(r8), beta_sigma(r9), + beta_sigma(r10) (this continues until nr) * ... -* Line nr/5+1: beta\_sigma(r1), beta\_sigma(r2), beta\_sigma(r3), - beta\_sigma(r4), beta\_sigma(r5) (for the e\_1-e\_2 interaction type) - +* Line nr/5+1: beta_sigma(r1), beta_sigma(r2), beta_sigma(r3), + beta_sigma(r4), beta_sigma(r5) (for the e_1-e_2 interaction type) The next section contains a block for each interaction type for -beta\_(pi,ij)(r\_ij). Each block has nr entries with 5 entries per line. +beta_(pi,ij)(r_ij). Each block has nr entries with 5 entries per line. -* Line 1: beta\_pi(r1), beta\_pi(r2), beta\_pi(r3), beta\_pi(r4), beta\_pi(r5) - (for the e\_1-e\_1 interaction type) -* Line 2: beta\_pi(r6), beta\_pi(r7), beta\_pi(r8), beta\_pi(r9), - beta\_pi(r10) (this continues until nr) +* Line 1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), beta_pi(r5) + (for the e_1-e_1 interaction type) +* Line 2: beta_pi(r6), beta_pi(r7), beta_pi(r8), beta_pi(r9), + beta_pi(r10) (this continues until nr) * ... -* Line nr/5+1: beta\_pi(r1), beta\_pi(r2), beta\_pi(r3), beta\_pi(r4), - beta\_pi(r5) (for the e\_1-e\_2 interaction type) - +* Line nr/5+1: beta_pi(r1), beta_pi(r2), beta_pi(r3), beta_pi(r4), + beta_pi(r5) (for the e_1-e_2 interaction type) The next section contains a block for each interaction type for the -THETA\_(S,ij)((THETA\_(sigma,ij))\^(1/2), f\_(sigma,ij)). Each block has +THETA_(S,ij)((THETA_(sigma,ij))\^(1/2), f_(sigma,ij)). Each block has nBOt entries with 5 entries per line. -* Line 1: THETA\_(S,ij)(r1), THETA\_(S,ij)(r2), THETA\_(S,ij)(r3), - THETA\_(S,ij)(r4), THETA\_(S,ij)(r5) (for the e\_1-e\_2 interaction type) -* Line 2: THETA\_(S,ij)(r6), THETA\_(S,ij)(r7), THETA\_(S,ij)(r8), - THETA\_(S,ij)(r9), THETA\_(S,ij)(r10) (this continues until nBOt) +* Line 1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), + THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) +* Line 2: THETA_(S,ij)(r6), THETA_(S,ij)(r7), THETA_(S,ij)(r8), + THETA_(S,ij)(r9), THETA_(S,ij)(r10) (this continues until nBOt) * ... -* Line nBOt/5+1: THETA\_(S,ij)(r1), THETA\_(S,ij)(r2), THETA\_(S,ij)(r3), - THETA\_(S,ij)(r4), THETA\_(S,ij)(r5) (for the e\_1-e\_2 interaction type) +* Line nBOt/5+1: THETA_(S,ij)(r1), THETA_(S,ij)(r2), THETA_(S,ij)(r3), + THETA_(S,ij)(r4), THETA_(S,ij)(r5) (for the e_1-e_2 interaction type) +The next section contains a block of N lines for e_1-e_N -The next section contains a block of N lines for e\_1-e\_N +* Line 1: delta\^mu (for e_1) +* Line 2: delta\^mu (for e_2 and repeats to e_N) -* Line 1: delta\^mu (for e\_1) -* Line 2: delta\^mu (for e\_2 and repeats to e\_N) - -The last section contains more constants for e\_i-e\_j interactions with +The last section contains more constants for e_i-e_j interactions with i=0->N, j=i->N -* Line 1: (A\_ij)\^(mu\*nu) (for e1-e1) -* Line 2: (A\_ij)\^(mu\*nu) (for e1-e2 and repeats as above) - +* Line 1: (A_ij)\^(mu\*nu) (for e1-e1) +* Line 2: (A_ij)\^(mu\*nu) (for e1-e2 and repeats as above) ---------- - **Angular spline table file format**\ : The parameters/coefficients format for the BOP potentials input file @@ -293,46 +274,41 @@ the tabulated functions are given. * Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken into for function tables and MUST be a factor of 5; ntheta is the power of the power of the spline used to fit the angular function; nBOt is the number - of divisions for the tabulated values of THETA\_(S,ij) -* Line 2: delta\_1-delta\_7 (if all are not used in the particular + of divisions for the tabulated values of THETA_(S,ij) +* Line 2: delta_1-delta_7 (if all are not used in the particular * formulation, set unused values to 0.0) +Following this N lines for e_1-e_N containing p_pi. -Following this N lines for e\_1-e\_N containing p\_pi. - -* Line 3: p\_pi (for e\_1) -* Line 4: p\_pi (for e\_2 and continues to e\_N) +* Line 3: p_pi (for e_1) +* Line 4: p_pi (for e_2 and continues to e_N) The next section contains several pair constants for the number of -interaction types e\_i-e\_j, with i=1->N, j=i->N +interaction types e_i-e_j, with i=1->N, j=i->N -* Line 1: r\_cut (for e\_1-e\_1 interactions) -* Line 2: c\_sigma, a\_sigma, c\_pi, a\_pi -* Line 3: delta\_sigma, delta\_pi -* Line 4: f\_sigma, k\_sigma, delta\_3 (This delta\_3 is similar to that of +* Line 1: r_cut (for e_1-e_1 interactions) +* Line 2: c_sigma, a_sigma, c_pi, a_pi +* Line 3: delta_sigma, delta_pi +* Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of the previous section but is interaction type dependent) - The next section contains a line for each three body interaction type -e\_j-e\_i-e\_k with i=0->N, j=0->N, k=j->N +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N * Line 1: g0, g1, g2... (These are coefficients for the angular spline - of the g\_(sigma,jik)(THETA\_ijk) for e\_1-e\_1-e\_1 interaction. The + of the g_(sigma,jik)(THETA_ijk) for e_1-e_1-e_1 interaction. The function can contain up to 10 term thus 10 constants. The first line can contain up to five constants. If the spline has more than five terms the second line will contain the remaining constants The following lines will then contain the constants for the remaining g0, - g1, g2... (for e\_1-e\_1-e\_2) and the other three body + g1, g2... (for e_1-e_1-e_2) and the other three body interactions - The rest of the table has the same structure as the previous section (see above). - ---------- - **Angular no-spline table file format**\ : The parameters/coefficients format for the BOP potentials input file @@ -351,65 +327,57 @@ the tabulated functions are given. * Line 1: nr, ntheta, nBOt (nr is the number of divisions the radius is broken into for function tables and MUST be a factor of 5; ntheta is the number of divisions for the tabulated values of the g angular function; nBOt is the number - of divisions for the tabulated values of THETA\_(S,ij) -* Line 2: delta\_1-delta\_7 (if all are not used in the particular + of divisions for the tabulated values of THETA_(S,ij) +* Line 2: delta_1-delta_7 (if all are not used in the particular * formulation, set unused values to 0.0) +Following this N lines for e_1-e_N containing p_pi. -Following this N lines for e\_1-e\_N containing p\_pi. - -* Line 3: p\_pi (for e\_1) -* Line 4: p\_pi (for e\_2 and continues to e\_N) +* Line 3: p_pi (for e_1) +* Line 4: p_pi (for e_2 and continues to e_N) The next section contains several pair constants for the number of -interaction types e\_i-e\_j, with i=1->N, j=i->N +interaction types e_i-e_j, with i=1->N, j=i->N -* Line 1: r\_cut (for e\_1-e\_1 interactions) -* Line 2: c\_sigma, a\_sigma, c\_pi, a\_pi -* Line 3: delta\_sigma, delta\_pi -* Line 4: f\_sigma, k\_sigma, delta\_3 (This delta\_3 is similar to that of +* Line 1: r_cut (for e_1-e_1 interactions) +* Line 2: c_sigma, a_sigma, c_pi, a_pi +* Line 3: delta_sigma, delta_pi +* Line 4: f_sigma, k_sigma, delta_3 (This delta_3 is similar to that of the previous section but is interaction type dependent) - The next section contains a line for each three body interaction type -e\_j-e\_i-e\_k with i=0->N, j=0->N, k=j->N +e_j-e_i-e_k with i=0->N, j=0->N, k=j->N -* Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e\_1-e\_1-e\_1 +* Line 1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5) (for the e_1-e_1-e_1 interaction type) * Line 2: g(theta6), g(theta7), g(theta8), g(theta9), g(theta10) (this continues until ntheta) * ... * Line ntheta/5+1: g(theta1), g(theta2), g(theta3), g(theta4), g(theta5), (for the - e\_1-e\_1-e\_2 interaction type) - + e_1-e_1-e_2 interaction type) The rest of the table has the same structure as the previous section (see above). - ---------- - **Mixing, shift, table tail correction, restart**\ : This pair style does not support the :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These pair styles are part of the MANYBODY package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -430,49 +398,35 @@ Related commands Default """"""" -non-tabulated potential file, a\_0 is non-zero. - +non-tabulated potential file, a_0 is non-zero. ---------- +.. _Pettifor_1: -.. _Pettifor\_1: - - - -**(Pettifor\_1)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 59, 8487 +**(Pettifor_1)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 59, 8487 (1999). -.. _Pettifor\_2: +.. _Pettifor_2: - - -**(Pettifor\_2)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. Lett., 84, +**(Pettifor_2)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. Lett., 84, 4124 (2000). -.. _Pettifor\_3: +.. _Pettifor_3: - - -**(Pettifor\_3)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 65, 172103 +**(Pettifor_3)** D.G. Pettifor and I.I. Oleinik, Phys. Rev. B, 65, 172103 (2002). .. _Murdick: - - **(Murdick)** D.A. Murdick, X.W. Zhou, H.N.G. Wadley, D. Nguyen-Manh, R. Drautz, and D.G. Pettifor, Phys. Rev. B, 73, 45206 (2006). .. _Ward: - - **(Ward)** D.K. Ward, X.W. Zhou, B.M. Wong, F.P. Doty, and J.A. Zimmerman, Phys. Rev. B, 85,115206 (2012). .. _Zhou1: - - **(Zhou)** X.W. Zhou, D.K. Ward, M. Foster (TBP). diff --git a/doc/src/pair_born.rst b/doc/src/pair_born.rst index 1e0dfc5611..2fa5785132 100644 --- a/doc/src/pair_born.rst +++ b/doc/src/pair_born.rst @@ -39,7 +39,6 @@ pair_style born/coul/dsf command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -47,7 +46,6 @@ Syntax * style = *born* or *born/coul/long* or *born/coul/msm* or *born/coul/wolf* * args = list of arguments for a particular style - .. parsed-literal:: *born* args = cutoff @@ -70,7 +68,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style born 10.0 @@ -104,10 +101,9 @@ potential described in :ref:`(Fumi and Tosi) <FumiTosi>`, given by .. math:: - E = A \exp \left(\frac{\sigma - r}{\rho} \right) - + E = A \exp \left(\frac{\sigma - r}{\rho} \right) - \frac{C}{r^6} + \frac{D}{r^8} \qquad r < r_c - where :math:`\sigma` is an interaction-dependent length parameter, :math:`\rho` is an ionic-pair dependent length parameter, and :math:`r_c` is the cutoff. @@ -151,17 +147,15 @@ commands, or by mixing as described below: The second coefficient, rho, must be greater than zero. The last coefficient is optional. If not specified, the global A,C,D -cutoff specified in the pair\_style command is used. +cutoff specified in the pair_style command is used. For *born/coul/long*\ , *born/coul/wolf* and *born/coul/dsf* no Coulombic cutoff can be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair\_style command. - +pair_style command. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -180,10 +174,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all @@ -197,24 +189,21 @@ The *born/coul/long* pair style supports the :doc:`pair_modify <pair_modify>` table option to tabulate the short-range portion of the long-range Coulombic interaction. -These styles support the pair\_modify tail option for adding long-range +These styles support the pair_modify tail option for adding long-range tail corrections to energy and pressure. Thess styles writes thei information to binary :doc:`restart <restart>` -files, so pair\_style and pair\_coeff commands do not need to be +files, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *born/coul/long* style is part of the KSPACE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -225,13 +214,9 @@ Related commands **Default:** none - ---------- - .. _FumiTosi: - - Fumi and Tosi, J Phys Chem Solids, 25, 31 (1964), Fumi and Tosi, J Phys Chem Solids, 25, 45 (1964). diff --git a/doc/src/pair_brownian.rst b/doc/src/pair_brownian.rst index 24c93551cf..12566a2993 100644 --- a/doc/src/pair_brownian.rst +++ b/doc/src/pair_brownian.rst @@ -15,7 +15,6 @@ pair_style brownian/poly/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style mu flaglog flagfld cutinner cutoff t_target seed flagHI flagVF @@ -26,7 +25,7 @@ Syntax * flagfld = 0/1 to include/exclude Fast Lubrication Dynamics effects * cutinner = inner cutoff distance (distance units) * cutoff = outer cutoff for interactions (distance units) -* t\_target = target temp of the system (temperature units) +* t_target = target temp of the system (temperature units) * seed = seed for the random number generator (positive integer) * flagHI (optional) = 0/1 to include/exclude 1/r hydrodynamic interactions * flagVF (optional) = 0/1 to include/exclude volume fraction corrections in the long-range isotropic terms @@ -34,7 +33,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style brownian 1.5 1 1 2.01 2.5 2.0 5878567 (assuming radius = 1) @@ -55,17 +53,15 @@ when dissipative lubrication forces are acting. Thus the parameters specified consistent with the settings in the lubrication pair styles. For details, refer to either of the lubrication pair styles. -The *t\_target* setting is used to specify the target temperature of +The *t_target* setting is used to specify the target temperature of the system. The random number *seed* is used to generate random numbers for the thermostatting procedure. The *flagHI* and *flagVF* settings are optional. Neither should be used, or both must be defined. - ---------- - The following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command as in the examples above, or in the data file or restart files read by the @@ -76,13 +72,11 @@ commands, or by mixing as described below: * cutoff (distance units) The two coefficients are optional. If neither is specified, the two -cutoffs specified in the pair\_style command are used. Otherwise both +cutoffs specified in the pair_style command are used. Otherwise both must be specified. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -101,15 +95,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See :doc:`this section <Speed>` of the manual for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the two cutoff distances for this pair style can be mixed. The default mix value is *geometric*\ . See -the "pair\_modify" command for details. +the "pair_modify" command for details. This pair style does not support the :doc:`pair_modify <pair_modify>` shift option for the energy of the pair interaction. @@ -121,28 +113,25 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These styles are part of the COLLOID package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. -Only spherical monodisperse particles are allowed for pair\_style +Only spherical monodisperse particles are allowed for pair_style brownian. -Only spherical particles are allowed for pair\_style brownian/poly. +Only spherical particles are allowed for pair_style brownian/poly. Related commands """""""""""""""" diff --git a/doc/src/pair_buck.rst b/doc/src/pair_buck.rst index 7c09e7a0ed..c0eb0ee282 100644 --- a/doc/src/pair_buck.rst +++ b/doc/src/pair_buck.rst @@ -54,7 +54,6 @@ pair_style buck/coul/msm/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -62,7 +61,6 @@ Syntax * style = *buck* or *buck/coul/cut* or *buck/coul/long* or *buck/coul/msm* * args = list of arguments for a particular style - .. parsed-literal:: *buck* args = cutoff @@ -80,7 +78,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style buck 2.5 @@ -113,7 +110,6 @@ Lennard-Jones 12/6) given by E = A e^{-r / \rho} - \frac{C}{r^6} \qquad r < r_c - where :math:`\rho` is an ionic-pair dependent length parameter, and :math:`r_c` is the cutoff on both terms. @@ -168,12 +164,10 @@ the A,C and Coulombic cutoffs for this type pair. You cannot specify For *buck/coul/long* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair\_style command. - +pair_style command. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -192,10 +186,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all @@ -208,11 +200,11 @@ The *buck/coul/long* pair style supports the :doc:`pair_modify <pair_modify>` table option to tabulate the short-range portion of the long-range Coulombic interaction. -These styles support the pair\_modify tail option for adding long-range +These styles support the pair_modify tail option for adding long-range tail corrections to energy and pressure for the A,C terms in the pair interaction. -These styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +These styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , @@ -221,7 +213,6 @@ These styles can only be used via the *pair* keyword of the :doc:`run_style resp Restrictions """""""""""" - The *buck/coul/long* style is part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -234,6 +225,4 @@ Related commands .. _Khrapak: - - **(Khrapak)** Khrapak, Chaudhuri, and Morfill, J Chem Phys, 134, 054120 (2011). diff --git a/doc/src/pair_buck6d_coul_gauss.rst b/doc/src/pair_buck6d_coul_gauss.rst index 6b38c7f570..f8c5a29a32 100644 --- a/doc/src/pair_buck6d_coul_gauss.rst +++ b/doc/src/pair_buck6d_coul_gauss.rst @@ -9,7 +9,6 @@ pair_style buck6d/coul/gauss/long command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -17,7 +16,6 @@ Syntax * style = *buck6d/coul/gauss/dsf* or *buck6d/coul/gauss/long* * args = list of arguments for a particular style - .. parsed-literal:: *buck6d/coul/gauss/dsf* args = smooth cutoff (cutoff2) @@ -33,7 +31,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style buck6d/coul/gauss/dsf 0.9000 12.0000 @@ -54,7 +51,6 @@ computes a dispersion damped Buckingham potential: E = A e^{-\kappa r} - \frac{C}{r^6} \cdot \frac{1}{1 + D r^{14}} \qquad r < r_c \\ - where A and C are a force constant, :math:`\kappa` is an ionic-pair dependent reciprocal length parameter, D is a dispersion correction parameter, and the cutoff :math:`r_c` truncates the interaction distance. @@ -84,7 +80,6 @@ is thus evaluated as: E = \frac{C_{q_i q_j}}{\epsilon r_{ij}}\,\, \textrm{erf}\left(\alpha_{ij} r_{ij}\right)\quad\quad\quad r < r_c - where C is an energy-conversion constant, :math:`q_i` and :math:`q_j` are the charges on the 2 atoms, epsilon is the dielectric constant which can be set by the :doc:`dielectric <dielectric>` command, :math:`\alpha` @@ -121,10 +116,8 @@ The second coefficient, :math:`\rho`, must be greater than zero. The latter coefficient is optional. If not specified, the global vdW cutoff is used. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all @@ -134,13 +127,12 @@ These styles do not support the :doc:`pair_modify <pair_modify>` shift option for the energy. Instead the smoothing function should be applied by setting the global smoothing parameter to a value < 1.0. -These styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +These styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Restrictions """""""""""" - These styles are part of the USER-MOFFF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -153,11 +145,8 @@ Related commands .. _Schmid: - - .. _Fennell: **(Schmid)** S. Bureekaew, S. Amirjalayer, M. Tafipolsky, C. Spickermann, T.K. Roy and R. Schmid, Phys. Status Solidi B, 6, 1128 (2013). - **(Fennell)** C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, 234104 (2006). diff --git a/doc/src/pair_buck_long.rst b/doc/src/pair_buck_long.rst index 1c6701463b..6f1e2d83ef 100644 --- a/doc/src/pair_buck_long.rst +++ b/doc/src/pair_buck_long.rst @@ -9,33 +9,30 @@ pair_style buck/long/coul/long/omp command Syntax """""" - .. code-block:: LAMMPS pair_style buck/long/coul/long flag_buck flag_coul cutoff (cutoff2) -* flag\_buck = *long* or *cut* - +* flag_buck = *long* or *cut* + .. parsed-literal:: - + *long* = use Kspace long-range summation for the dispersion term 1/r\^6 *cut* = use a cutoff -* flag\_coul = *long* or *off* - +* flag_coul = *long* or *off* + .. parsed-literal:: - + *long* = use Kspace long-range summation for the Coulombic term 1/r *off* = omit the Coulombic term * cutoff = global cutoff for Buckingham (and Coulombic if only 1 cutoff) (distance units) * cutoff2 = global cutoff for Coulombic (optional) (distance units) - Examples """""""" - .. code-block:: LAMMPS pair_style buck/long/coul/long cut off 2.5 @@ -55,34 +52,34 @@ instead of Lennard-Jones 12/6) and Coulombic potential, given by E = & A e^{-r / \rho} - \frac{C}{r^6} \qquad r < r_c \\ E = & \frac{C q_i q_j}{\epsilon r} \qquad r < r_c -:math:`r_c` is the cutoff. If one cutoff is specified in the pair\_style +:math:`r_c` is the cutoff. If one cutoff is specified in the pair_style command, it is used for both the Buckingham and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the Buckingham and Coulombic terms respectively. The purpose of this pair style is to capture long-range interactions resulting from both attractive 1/r\^6 Buckingham and Coulombic 1/r -interactions. This is done by use of the *flag\_buck* and *flag\_coul* +interactions. This is done by use of the *flag_buck* and *flag_coul* settings. The :ref:`Ismail <Ismail>` paper has more details on when it is appropriate to include long-range 1/r\^6 interactions, using this potential. -If *flag\_buck* is set to *long*\ , no cutoff is used on the Buckingham +If *flag_buck* is set to *long*\ , no cutoff is used on the Buckingham 1/r\^6 dispersion term. The long-range portion can be calculated by using the :doc:`kspace_style ewald/disp or pppm/disp <kspace_style>` commands. The specified Buckingham cutoff then determines which portion of the Buckingham interactions are computed directly by the pair potential versus which part is computed in reciprocal space via -the Kspace style. If *flag\_buck* is set to *cut*\ , the Buckingham +the Kspace style. If *flag_buck* is set to *cut*\ , the Buckingham interactions are simply cutoff, as with :doc:`pair_style buck <pair_buck>`. -If *flag\_coul* is set to *long*\ , no cutoff is used on the Coulombic +If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of several :doc:`kspace_style <kspace_style>` command options such as -*pppm* or *ewald*\ . Note that if *flag\_buck* is also set to long, then +*pppm* or *ewald*\ . Note that if *flag_buck* is also set to long, then the *ewald/disp* or *pppm/disp* Kspace style needs to be used to perform the long-range calculations for both the Buckingham and -Coulombic interactions. If *flag\_coul* is set to *off*\ , Coulombic +Coulombic interactions. If *flag_coul* is set to *off*\ , Coulombic interactions are not computed. The following coefficients must be defined for each pair of atoms @@ -100,21 +97,19 @@ commands: The second coefficient, rho, must be greater than zero. The latter 2 coefficients are optional. If not specified, the global -Buckingham and Coulombic cutoffs specified in the pair\_style command +Buckingham and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both Buckingham and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the Buckingham and Coulombic cutoffs for this type pair. Note that if you are using -*flag\_buck* set to *long*\ , you cannot specify a Buckingham cutoff for +*flag_buck* set to *long*\ , you cannot specify a Buckingham cutoff for an atom type pair, since only one global Buckingham cutoff is allowed. -Similarly, if you are using *flag\_coul* set to *long*\ , you cannot +Similarly, if you are using *flag_coul* set to *long*\ , you cannot specify a Coulombic cutoff for an atom type pair, since only one global Coulombic cutoff is allowed. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -133,10 +128,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair styles does not support mixing. Thus, coefficients for all @@ -144,7 +137,7 @@ I,J pairs must be specified explicitly. This pair style supports the :doc:`pair_modify <pair_modify>` shift option for the energy of the exp() and 1/r\^6 portion of the pair -interaction, assuming *flag\_buck* is *cut*\ . +interaction, assuming *flag_buck* is *cut*\ . This pair style does not support the :doc:`pair_modify <pair_modify>` shift option for the energy of the Buckingham portion of the pair @@ -154,7 +147,7 @@ This pair style supports the :doc:`pair_modify <pair_modify>` table and table/disp options since they can tabulate the short-range portion of the long-range Coulombic and dispersion interactions. -This pair style write its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style write its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style supports the use of the *inner*\ , *middle*\ , and *outer* @@ -163,14 +156,11 @@ pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the :doc:`run_style <run_style>` command for details. - ---------- - Restrictions """""""""""" - This style is part of the KSPACE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -181,13 +171,9 @@ Related commands **Default:** none - ---------- - .. _Ismail: - - **(Ismail)** Ismail, Tsige, In 't Veld, Grest, Molecular Physics (accepted) (2007). diff --git a/doc/src/pair_charmm.rst b/doc/src/pair_charmm.rst index 78de46d23f..031e6e6717 100644 --- a/doc/src/pair_charmm.rst +++ b/doc/src/pair_charmm.rst @@ -54,7 +54,6 @@ pair_style lj/charmmfsw/coul/long command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -62,7 +61,6 @@ Syntax * style = *lj/charmm/coul/charmm* or *lj/charmm/coul/charmm/implicit* or *lj/charmm/coul/long* or *lj/charmm/coul/msm* or *lj/charmmfsw/coul/charmmfsh* or *lj/charmmfsw/coul/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/charmm/coul/charmm* args = inner outer (inner2) (outer2) @@ -87,7 +85,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/charmm/coul/charmm 8.0 10.0 @@ -168,14 +165,13 @@ artifacts. E = & C(r) \qquad \qquad \qquad r < r_{\rm in} \\ = & S(r) * C(r) \qquad \qquad r_{\rm in} < r < r_{\rm out} \\ = & 0 \qquad \qquad \qquad \qquad r > r_{\rm out} \\ - LJ(r) = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + LJ(r) = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \\ C(r) = & \frac{C q_i q_j}{ \epsilon r} \\ - S(r) = & \frac{ \left[r_{\rm out}^2 - r^2\right]^2 - \left[r_{\rm out}^2 + 2r^2 - 3{r_{\rm in}^2}\right]} + S(r) = & \frac{ \left[r_{\rm out}^2 - r^2\right]^2 + \left[r_{\rm out}^2 + 2r^2 - 3{r_{\rm in}^2}\right]} { \left[r_{\rm out}^2 - {r_{\rm in}}^2\right]^3 } - where S(r) is the energy switching function mentioned above for the *charmm* styles. See the :ref:`(Steinbach) <Steinbach>` paper for the functional forms of the force switching and force shifting functions @@ -184,7 +180,7 @@ used in the *charmmfsw* and *charmmfsh* styles. When using the *lj/charmm/coul/charmm styles*\ , both the LJ and Coulombic terms require an inner and outer cutoff. They can be the same for both formulas or different depending on whether 2 or 4 -arguments are used in the pair\_style command. For the +arguments are used in the pair_style command. For the *lj/charmmfsw/coul/charmmfsh* style, the LJ term requires both an inner and outer cutoff, while the Coulombic term requires only one cutoff. If the Coulombic cutoff is not specified (2 instead of 3 @@ -210,7 +206,7 @@ factor is applied to the Coulombic term, so it can be used in conjunction with the :doc:`kspace_style <kspace_style>` command and its *ewald* or *pppm* or *msm* option. Only one Coulombic cutoff is specified for these styles; if only 2 arguments are used in the -pair\_style command, then the outer LJ cutoff is used as the single +pair_style command, then the outer LJ cutoff is used as the single Coulombic cutoff. The Coulombic cutoff specified for these styles means that pairwise interactions within this distance are computed directly; interactions outside that distance are computed in @@ -235,12 +231,10 @@ are used in the LJ formula between 2 atoms of these types which are also first and fourth atoms in any dihedral. No cutoffs are specified because the CHARMM force field does not allow varying cutoffs for individual atom pairs; all pairs use the global cutoff(s) specified in -the pair\_style command. - +the pair_style command. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -259,16 +253,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -For atom type pairs I,J and I != J, the epsilon, sigma, epsilon\_14, -and sigma\_14 coefficients for all of the lj/charmm pair styles can be +For atom type pairs I,J and I != J, the epsilon, sigma, epsilon_14, +and sigma_14 coefficients for all of the lj/charmm pair styles can be mixed. The default mix value is *arithmetic* to coincide with the -usual settings for the CHARMM force field. See the "pair\_modify" +usual settings for the CHARMM force field. See the "pair_modify" command for details. None of the *lj/charmm* or *lj/charmmfsw* pair styles support the @@ -286,8 +278,8 @@ corrections to energy and pressure, since the Lennard-Jones portion of the pair interaction is smoothed to 0.0 at the cutoff. All of the *lj/charmm* and *lj/charmmfsw* pair styles write their -information to :doc:`binary restart files <restart>`, so pair\_style and -pair\_coeff commands do not need to be specified in an input script +information to :doc:`binary restart files <restart>`, so pair_style and +pair_coeff commands do not need to be specified in an input script that reads a restart file. The *lj/charmm/coul/long* and *lj/charmmfsw/coul/long* pair styles @@ -295,17 +287,14 @@ support the use of the *inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa <run_style>` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. The other styles only support the *pair* keyword of -run\_style respa. See the :doc:`run_style <run_style>` command for +run_style respa. See the :doc:`run_style <run_style>` command for details. - ---------- - Restrictions """""""""""" - All the styles with *coul/charmm* or *coul/charmmfsh* styles are part of the MOLECULE package. All the styles with *coul/long* style are part of the KSPACE package. They are only enabled if LAMMPS was built @@ -319,25 +308,17 @@ Related commands **Default:** none - ---------- - .. _Brooks1: - - **(Brooks)** Brooks, et al, J Comput Chem, 30, 1545 (2009). .. _pair-MacKerell: - - **(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). .. _Steinbach: - - **(Steinbach)** Steinbach, Brooks, J Comput Chem, 15, 667 (1994). diff --git a/doc/src/pair_class2.rst b/doc/src/pair_class2.rst index 3b005ed517..d1c673ab97 100644 --- a/doc/src/pair_class2.rst +++ b/doc/src/pair_class2.rst @@ -36,7 +36,6 @@ pair_style lj/class2/coul/long/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -44,7 +43,6 @@ Syntax * style = *lj/class2* or *lj/class2/coul/cut* or *lj/class2/coul/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/class2* args = cutoff @@ -59,7 +57,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/class2 10.0 @@ -84,11 +81,10 @@ The *lj/class2* styles compute a 6/9 Lennard-Jones potential given by .. math:: - E = \epsilon \left[ 2 \left(\frac{\sigma}{r}\right)^9 - + E = \epsilon \left[ 2 \left(\frac{\sigma}{r}\right)^9 - 3 \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c - :math:`r_c` is the cutoff. The *lj/class2/coul/cut* and *lj/class2/coul/long* styles add a @@ -118,13 +114,11 @@ Coulombic terms. For *lj/class2/coul/long* only the class 2 cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff -specified in the pair\_style command. - +specified in the pair_style command. ---------- - -If the pair\_coeff command is not used to define coefficients for a +If the pair_coeff command is not used to define coefficients for a particular I != J type pair, the mixing rule for :math:`\epsilon` and :math:`\sigma` for all class2 potentials is to use the *sixthpower* formulas documented by the :doc:`pair_modify <pair_modify>` command. @@ -132,19 +126,15 @@ The :doc:`pair_modify mix <pair_modify>` setting is thus ignored for class2 potentials for epsilon and sigma. However it is still followed for mixing the cutoff distance. - ---------- - A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in free energy calculations, is part of the USER-FEP package and is documented with the :doc:`pair_style */soft <pair_fep_soft>` styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -163,17 +153,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/class2 pair styles can be mixed. Epsilon and sigma are always mixed with the value *sixthpower*\ . The -cutoff distance is mixed by whatever option is set by the pair\_modify -command (default = geometric). See the "pair\_modify" command for +cutoff distance is mixed by whatever option is set by the pair_modify +command (default = geometric). See the "pair_modify" command for details. All of the lj/class2 pair styles support the @@ -189,19 +177,18 @@ All of the lj/class2 pair styles support the tail correction to the energy and pressure of the Lennard-Jones portion of the pair interaction. -All of the lj/class2 pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do +All of the lj/class2 pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Only the *lj/class2* and *lj/class2/coul/long* pair styles support the use of the *inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa <run_style>` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. -The other styles only support the *pair* keyword of run\_style respa. +The other styles only support the *pair* keyword of run_style respa. See the :doc:`run_style <run_style>` command for details. Restrictions """""""""""" - These styles are part of the CLASS2 package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -212,12 +199,8 @@ Related commands **Default:** none - ---------- - .. _pair-Sun: - - **(Sun)** Sun, J Phys Chem B 102, 7338-7364 (1998). diff --git a/doc/src/pair_coeff.rst b/doc/src/pair_coeff.rst index 3b8b93e3ff..26910c1746 100644 --- a/doc/src/pair_coeff.rst +++ b/doc/src/pair_coeff.rst @@ -6,7 +6,6 @@ pair_coeff command Syntax """""" - .. code-block:: LAMMPS pair_coeff I J args @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_coeff 1 2 1.0 1.0 2.5 @@ -51,18 +49,17 @@ types from 1 to N. A leading asterisk means all types from 1 to n (inclusive). Note that only type pairs with I <= J are considered; if asterisks imply type pairs where J < I, they are ignored. -Note that a pair\_coeff command can override a previous setting for the +Note that a pair_coeff command can override a previous setting for the same I,J pair. For example, these commands set the coeffs for all I,J pairs, then overwrite the coeffs for just the I,J = 2,3 pair: - .. code-block:: LAMMPS pair_coeff \* \* 1.0 1.0 2.5 pair_coeff 2 3 2.0 1.0 1.12 A line in a data file that specifies pair coefficients uses the exact -same format as the arguments of the pair\_coeff command in an input +same format as the arguments of the pair_coeff command in an input script, with the exception of the I,J type arguments. In each line of the "Pair Coeffs" section of a data file, only a single type I is specified, which sets the coefficients for type I interacting with @@ -72,34 +69,33 @@ should also not be used as part of the I argument. Thus in a data file, the line corresponding to the 1st example above would be listed as - .. parsed-literal:: 2 1.0 1.0 2.5 For many potentials, if coefficients for type pairs with I != J are -not set explicitly by a pair\_coeff command, the values are inferred +not set explicitly by a pair_coeff command, the values are inferred from the I,I and J,J settings by mixing rules; see the :doc:`pair_modify <pair_modify>` command for a discussion. Details on this option as it pertains to individual potentials are described on the doc page for the potential. Many pair styles, typically for many-body potentials, use tabulated -potential files as input, when specifying the pair\_coeff command. +potential files as input, when specifying the pair_coeff command. Potential files provided with LAMMPS are in the potentials directory of the distribution. For some potentials, such as EAM, other archives of suitable files can be found on the Web. They can be used with LAMMPS so long as they are in the format LAMMPS expects, as discussed on the individual doc pages. -When a pair\_coeff command using a potential file is specified, LAMMPS +When a pair_coeff command using a potential file is specified, LAMMPS looks for the potential file in 2 places. First it looks in the location specified. E.g. if the file is specified as "niu3.eam", it is looked for in the current working directory. If it is specified as "../potentials/niu3.eam", then it is looked for in the potentials directory, assuming it is a sister directory of the current working directory. If the file is not found, it is then looked for in the -directory specified by the LAMMPS\_POTENTIALS environment variable. +directory specified by the LAMMPS_POTENTIALS environment variable. Thus if this is set to the potentials directory in the LAMMPS distribution, then you can use those files from anywhere on your system, without copying them into your working directory. Environment variables are @@ -108,44 +104,36 @@ for csh, tcsh: - .. parsed-literal:: % setenv LAMMPS_POTENTIALS /path/to/lammps/potentials bash: - .. parsed-literal:: % export LAMMPS_POTENTIALS=/path/to/lammps/potentials Windows: - .. parsed-literal:: % set LAMMPS_POTENTIALS="C:\\Path to LAMMPS\\Potentials" - ---------- - The alphabetic list of pair styles defined in LAMMPS is given on the :doc:`pair_style <pair_style>` doc page. They are also listed in more compact form on the :doc:`Commands pair <Commands_pair>` doc page. Click on the style to display the formula it computes and its -coefficients as specified by the associated pair\_coeff command. - +coefficients as specified by the associated pair_coeff command. ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a :doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`, or :doc:`create_box <create_box>` command. diff --git a/doc/src/pair_colloid.rst b/doc/src/pair_colloid.rst index f94c163e1d..d9f086059d 100644 --- a/doc/src/pair_colloid.rst +++ b/doc/src/pair_colloid.rst @@ -12,7 +12,6 @@ pair_style colloid/omp command Syntax """""" - .. code-block:: LAMMPS pair_style colloid cutoff @@ -22,7 +21,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style colloid 10.0 @@ -47,7 +45,7 @@ The colloid-colloid interaction energy is given by \frac{2 a_1 a_2}{r^2-\left(a_1+a_2\right)^2} + \frac{2 a_1 a_2}{r^2 - \left(a_1 - a_2\right)^2} + \mathrm{ln} - \left( + \left( \frac{r^2-\left(a_1+a_2\right)^2}{r^2-\left(a_1-a_2\right)^2} \right) \right] \\ @@ -75,9 +73,9 @@ The colloid-solvent interaction energy is given by .. math:: - U = \frac{2 ~ a^3 ~ \sigma^3 ~ A_{cs}}{9 \left( a^2 - r^2 \right)^3} + U = \frac{2 ~ a^3 ~ \sigma^3 ~ A_{cs}}{9 \left( a^2 - r^2 \right)^3} \left[ 1 - \frac{\left(5 ~ a^6+45~a^4~r^2+63~a^2~r^4+15~r^6\right) \sigma^6} - {15 \left(a-r\right)^6 \left( a+r \right)^6} \right], \quad r < r_c + {15 \left(a-r\right)^6 \left( a+r \right)^6} \right], \quad r < r_c where :math:A_{cs}` is the Hamaker constant, *a* is the radius of the colloidal particle, and :math:`r_c` is the cutoff. This formula is derived from the @@ -139,12 +137,12 @@ particle of size :math:`\sigma`. If either d1 = 0 or d2 = 0 and the other is larger, then the pair interacts via the colloid-solvent formula. Note that the diameter of a particular particle type may appear in -multiple pair\_coeff commands, as it interacts with other particle +multiple pair_coeff commands, as it interacts with other particle types. You should insure the particle diameter is specified consistently each time it appears. The last coefficient is optional. If not specified, the global cutoff -specified in the pair\_style command is used. However, you typically +specified in the pair_style command is used. However, you typically want different cutoffs for interactions between different particle sizes. E.g. if colloidal particles of diameter 10 are used with solvent particles of diameter 1, then a solvent-solvent cutoff of 2.5 @@ -155,16 +153,14 @@ colloid-solvent cutoff in this case. .. note:: - When using pair\_style colloid for a mixture with 2 (or more) + When using pair_style colloid for a mixture with 2 (or more) widely different particles sizes (e.g. sigma=10 colloids in a background sigma=1 LJ fluid), you will likely want to use these commands for efficiency: :doc:`neighbor multi <neighbor>` and :doc:`comm_modify multi <comm_modify>`. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -183,17 +179,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the A, sigma, d1, and d2 coefficients and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. D1 and d2 are distance values and are mixed like sigma. The default mix value is -*geometric*\ . See the "pair\_modify" command for details. +*geometric*\ . See the "pair_modify" command for details. This pair style supports the :doc:`pair_modify <pair_modify>` shift option for the energy of the pair interaction. @@ -205,34 +199,31 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the COLLOID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. Normally, this pair style should be used with finite-size particles which have a diameter, e.g. see the :doc:`atom_style sphere <atom_style>` command. However, this is not a requirement, -since the only definition of particle size is via the pair\_coeff +since the only definition of particle size is via the pair_coeff parameters for each type. In other words, the physical radius of the particle is ignored. Thus you should insure that the d1,d2 parameters you specify are consistent with the physical size of the particles of that type. Per-particle polydispersity is not yet supported by this pair style; -only per-type polydispersity is enabled via the pair\_coeff parameters. +only per-type polydispersity is enabled via the pair_coeff parameters. Related commands """""""""""""""" @@ -241,12 +232,8 @@ Related commands **Default:** none - ---------- - .. _Everaers1: - - **(Everaers)** Everaers, Ejtehadi, Phys Rev E, 67, 041710 (2003). diff --git a/doc/src/pair_comb.rst b/doc/src/pair_comb.rst index b893f56502..a03bc3fffe 100644 --- a/doc/src/pair_comb.rst +++ b/doc/src/pair_comb.rst @@ -12,24 +12,19 @@ pair_style comb3 command Syntax """""" - .. code-block:: LAMMPS pair_style comb pair_style comb3 keyword - .. parsed-literal:: keyword = *polar* *polar* value = *polar_on* or *polar_off* = whether or not to include atomic polarization - - Examples """""""" - .. code-block:: LAMMPS pair_style comb @@ -51,8 +46,7 @@ total energy :math:`E_T` of a system of atoms is given by .. math:: E_T = & \sum_i [ E_i^{self} (q_i) + \sum_{j>i} [E_{ij}^{short} (r_{ij}, q_i, q_j) + E_{ij}^{Coul} (r_{ij}, q_i, q_j)] + \\ - & E^{polar} (q_i, r_{ij}) + E^{vdW} (r_{ij}) + E^{barr} (q_i) + E^{corr} (r_{ij}, \theta_{jik})] - + & E^{polar} (q_i, r_{ij}) + E^{vdW} (r_{ij}) + E^{barr} (q_i) + E^{corr} (r_{ij}, \theta_{jik})] where :math:`E_i^{self}` is the self-energy of atom *i* (including atomic ionization energies and electron affinities), @@ -73,17 +67,16 @@ that determine how often charge equilibration is performed, its convergence criterion, and which atoms are included in the calculation. -Only a single pair\_coeff command is used with the *comb* and *comb3* +Only a single pair_coeff command is used with the *comb* and *comb3* styles which specifies the COMB potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the potential file in the pair\_coeff +N additional arguments after the potential file in the pair_coeff command, where N is the number of LAMMPS atom types. For example, if your LAMMPS simulation of a Si/SiO2/ HfO2 interface has 4 atom types, and you want the 1st and last to be Si, the 2nd to be Hf, and the 3rd to be O, and you would -use the following pair\_coeff command: - +use the following pair_coeff command: .. code-block:: LAMMPS @@ -132,27 +125,24 @@ following table: * M = Only optimized for dimer molecule * P = in progress, but have it from mixing rule - For style *comb3*\ , in addition to ffield.comb3, a special parameter file, *lib.comb3*\ , that is exclusively used for C/O/H systems, will be automatically loaded if carbon atom is detected in LAMMPS input structure. This file must be in your working directory or in the -directory pointed to by the environment variable LAMMPS\_POTENTIALS, as +directory pointed to by the environment variable LAMMPS_POTENTIALS, as described on the :doc:`pair_coeff <pair_coeff>` command doc page. Keyword *polar* indicates whether the force field includes the atomic polarization. Since the equilibration of the polarization -has not yet been implemented, it can only set polar\_off at present. +has not yet been implemented, it can only set polar_off at present. .. note:: You can not use potential file *ffield.comb* with style *comb3*\ , nor file *ffield.comb3* with style *comb*\ . - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -171,10 +161,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to @@ -185,21 +173,18 @@ These pair styles does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. These pair styles do not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style, pair\_coeff, and :doc:`fix qeq/comb <fix_qeq_comb>` commands in an input script that reads a +need to re-specify the pair_style, pair_coeff, and :doc:`fix qeq/comb <fix_qeq_comb>` commands in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These pair styles are part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -221,28 +206,20 @@ Related commands **Default:** none - ---------- - .. _COMB: - - **(COMB)** T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, and S. R. Phillpot, Phys. Rev. B 81, 125328 (2010) .. _COMB3: - - **(COMB3)** T. Liang, T.-R. Shan, Y.-T. Cheng, B. D. Devine, M. Noordhoek, Y. Li, Z. Lu, S. R. Phillpot, and S. B. Sinnott, Mat. Sci. & Eng: R 74, 255-279 (2013). .. _Rick2: - - **(Rick)** S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys 101, 6141 (1994). diff --git a/doc/src/pair_cosine_squared.rst b/doc/src/pair_cosine_squared.rst index c29dda8224..4f19ddd1e4 100644 --- a/doc/src/pair_cosine_squared.rst +++ b/doc/src/pair_cosine_squared.rst @@ -6,14 +6,12 @@ pair_style cosine/squared command Syntax """""" - .. code-block:: LAMMPS pair_style cosine/squared cutoff * cutoff = global cutoff for cosine-squared interactions (distance units) - .. code-block:: LAMMPS pair_coeff i j eps sigma @@ -30,7 +28,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style cosine/squared 3.0 @@ -46,19 +43,18 @@ Style *cosine/squared* computes a potential of the form .. math:: - E = + E = \begin{cases} -\epsilon& \quad r < \sigma \\ -\epsilon\cos\left(\frac{\pi\left(r - \sigma\right)}{2\left(r_c - \sigma\right)}\right)&\quad \sigma \leq r < r_c \\ 0& \quad r \geq r_c \end{cases} - between two point particles, where (:math:`\sigma, -\epsilon`) is the location of the (rightmost) minimum of the potential, as explained in the syntax section above. -This potential was first used in (Cooke)\_#CKD for a coarse-grained lipid +This potential was first used in (Cooke)_#CKD for a coarse-grained lipid membrane model. It is generally very useful as a non-specific interaction potential because it is fully adjustable in depth and width while joining the minimum at (sigma, -epsilon) and zero at (cutoff, 0) @@ -67,16 +63,15 @@ energy calculations etc. This evidently requires *cutoff* to be larger than *sigma*\ . If the *wca* option is used then a Weeks-Chandler-Andersen potential -(Weeks)\_#WCA is added to the above specified cosine-squared potential, +(Weeks)_#WCA is added to the above specified cosine-squared potential, specifically the following: .. math:: - E = \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + E = \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - 2\left(\frac{\sigma}{r}\right)^6 + 1\right] , \quad r < \sigma - In this case, and this case only, the :math:`\sigma` parameter can be equal to *cutoff* (:math:`\sigma =` cutoff) which will result in ONLY the WCA potential being used (and print a warning), so the minimum will be attained at @@ -91,31 +86,26 @@ in the graphs below: .. image:: JPG/pair_cosine_squared_graphs.jpg :align: center - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : Mixing is not supported for this style. The *shift*\ , *table* and *tail* options are not relevant for this style. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *cosine/squared* style is part of the "USER-MISC" package. It is only enabled if LAMMPS is build with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -129,12 +119,8 @@ Related commands .. _CKD: - - **(Cooke)** "Cooke, Kremer and Deserno, Phys. Rev. E, 72, 011506 (2005)" .. _WCA: - - **(Weeks)** "Weeks, Chandler and Andersen, J. Chem. Phys., 54, 5237 (1971)" diff --git a/doc/src/pair_coul.rst b/doc/src/pair_coul.rst index ac4aa4e8d5..8f77a622d6 100644 --- a/doc/src/pair_coul.rst +++ b/doc/src/pair_coul.rst @@ -81,7 +81,6 @@ pair_style tip4p/long/omp command Syntax """""" - .. code-block:: LAMMPS pair_style coul/cut cutoff @@ -101,7 +100,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style coul/cut 2.5 @@ -144,16 +142,13 @@ potential given by E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c - where C is an energy-conversion constant, Qi and Qj are the charges on the 2 atoms, and :math:`\epsilon` is the dielectric constant which can be set by the :doc:`dielectric <dielectric>` command. The cutoff :math:`r_c` truncates the interaction distance. - ---------- - Style *coul/debye* adds an additional exp() damping factor to the Coulombic term, given by @@ -161,22 +156,18 @@ Coulombic term, given by E = \frac{C q_i q_j}{\epsilon r} \exp(- \kappa r) \qquad r < r_c - where :math:`\kappa` is the Debye length. This potential is another way to mimic the screening effect of a polar solvent. - ---------- - Style *coul/dsf* computes Coulombic interactions via the damped shifted force model described in :ref:`Fennell <Fennell1>`, given by: .. math:: - E = q_iq_j \left[ \frac{\mbox{erfc} (\alpha r)}{r} - \frac{\mbox{erfc} (\alpha r_c)}{r_c} + - \left( \frac{\mbox{erfc} (\alpha r_c)}{r_c^2} + \frac{2\alpha}{\sqrt{\pi}}\frac{\exp (-\alpha^2 r^2_c)}{r_c} \right)(r-r_c) \right] \qquad r < r_c - + E = q_iq_j \left[ \frac{\mbox{erfc} (\alpha r)}{r} - \frac{\mbox{erfc} (\alpha r_c)}{r_c} + + \left( \frac{\mbox{erfc} (\alpha r_c)}{r_c^2} + \frac{2\alpha}{\sqrt{\pi}}\frac{\exp (-\alpha^2 r^2_c)}{r_c} \right)(r-r_c) \right] \qquad r < r_c where :math:`\alpha` is the damping parameter and erfc() is the complementary error-function. The potential corrects issues in the @@ -184,21 +175,18 @@ Wolf model (described below) to provide consistent forces and energies (the Wolf potential is not differentiable at the cutoff) and smooth decay to zero. - ---------- - Style *coul/wolf* computes Coulombic interactions via the Wolf summation method, described in :ref:`Wolf <Wolf1>`, given by: .. math:: - E_i = \frac{1}{2} \sum_{j \neq i} - \frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} + - \frac{1}{2} \sum_{j \neq i} + E_i = \frac{1}{2} \sum_{j \neq i} + \frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} + + \frac{1}{2} \sum_{j \neq i} \frac{q_i q_j {\rm erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c - where :math:`\alpha` is the damping parameter, and erc() and erfc() are error-function and complementary error-function terms. This potential is essentially a short-range, spherically-truncated, @@ -212,10 +200,8 @@ forces calculated by the Wolf summation method approach those of the Ewald sum. So it is a means of getting effective long-range interactions with a short-range potential. - ---------- - Style *coul/streitz* is the Coulomb pair interaction defined as part of the Streitz-Mintmire potential, as described in :ref:`this paper <Streitz2>`, in which charge distribution about an atom is modeled as a Slater 1\ *s* orbital. More details can be found in the referenced @@ -226,7 +212,6 @@ short-range potential that has been parameterized appropriately) via the :doc:`pair_style hybrid/overlay <pair_hybrid>` command. Likewise, charge equilibration must be performed via the :doc:`fix qeq/slater <fix_qeq>` command. For example: - .. code-block:: LAMMPS pair_style hybrid/overlay coul/streitz 12.0 wolf 0.31 eam/alloy @@ -240,7 +225,6 @@ parameter is required for the Wolf summation, as described for the coul/wolf potential above. Alternatively, Coulombic interactions can be computed via an Ewald summation. For example: - .. code-block:: LAMMPS pair_style hybrid/overlay coul/streitz 12.0 ewald eam/alloy @@ -269,10 +253,8 @@ any other pair style such as EAM, MEAM, Tersoff, or LJ in hybrid/overlay mode. To do this, you would need to provide a Streitz-Mintmire parameterization for the material being modeled. - ---------- - Styles *coul/long* and *coul/msm* compute the same Coulombic interactions as style *coul/cut* except that an additional damping factor is applied so it can be used in conjunction with the @@ -287,7 +269,7 @@ a massless site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as -pair\_style arguments. Style *tip4p/cut* uses a global cutoff for +pair_style arguments. Style *tip4p/cut* uses a global cutoff for Coulomb interactions; style *tip4p/long* is for use with a long-range Coulombic solver (Ewald or PPPM). @@ -310,10 +292,8 @@ shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can test the trade-off for your model. - ---------- - Note that these potentials are designed to be combined with other pair potentials via the :doc:`pair_style hybrid/overlay <pair_hybrid>` command. This is because they have no repulsive core. Hence if they @@ -331,17 +311,15 @@ commands, or by mixing as described below: For *coul/cut* and *coul/debye*\ , the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default -global value specified in the pair\_style command is used. +global value specified in the pair_style command is used. For *coul/long* and *coul/msm* no cutoff can be specified for an -individual I,J type pair via the pair\_coeff command. All type pairs -use the same global Coulomb cutoff specified in the pair\_style +individual I,J type pair via the pair_coeff command. All type pairs +use the same global Coulomb cutoff specified in the pair_style command. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -360,15 +338,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the cutoff distance for the *coul/cut* style can be mixed. The default mix value is *geometric*\ . -See the "pair\_modify" command for details. +See the "pair_modify" command for details. The :doc:`pair_modify <pair_modify>` shift option is not relevant for these pair styles. @@ -381,21 +357,18 @@ These pair styles do not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -These pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *coul/long*\ , *coul/msm* and *tip4p/long* styles are part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more @@ -408,34 +381,24 @@ Related commands **Default:** none - ---------- - .. _Wolf1: - - **(Wolf)** D. Wolf, P. Keblinski, S. R. Phillpot, J. Eggebrecht, J Chem Phys, 110, 8254 (1999). .. _Fennell1: - - **(Fennell)** C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, 234104 (2006). .. _Streitz2: - - **(Streitz)** F. H. Streitz, J. W. Mintmire, Phys Rev B, 50, 11996-12003 (1994). .. _Jorgensen3: - - **(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). diff --git a/doc/src/pair_coul_diel.rst b/doc/src/pair_coul_diel.rst index 47b93387d3..02ad620327 100644 --- a/doc/src/pair_coul_diel.rst +++ b/doc/src/pair_coul_diel.rst @@ -9,7 +9,6 @@ pair_style coul/diel/omp command Syntax """""" - .. code-block:: LAMMPS pair_style coul/diel cutoff @@ -19,7 +18,6 @@ cutoff = global cutoff (distance units) Examples """""""" - .. code-block:: LAMMPS pair_style coul/diel 3.5 @@ -30,7 +28,7 @@ Description Style *coul/diel* computes a Coulomb correction for implicit solvent ion interactions in which the dielectric permittivity is distance dependent. -The dielectric permittivity epsilon\_D(r) connects to limiting regimes: +The dielectric permittivity epsilon_D(r) connects to limiting regimes: One limit is defined by a small dielectric permittivity (close to vacuum) at or close to contact separation between the ions. At larger separations the dielectric permittivity reaches a bulk value used in the regular Coulomb @@ -41,14 +39,13 @@ in the Coulomb correction term for small ion separations as follows .. math:: E = & \frac{Cq_iq_j}{\epsilon r} \left( \frac{\epsilon}{\epsilon_D(r)}-1\right) \qquad r < r_c \\ - \epsilon_D(r) = & \frac{5.2+\epsilon}{2} + \frac{\epsilon-5.2}{2}\tanh\left(\frac{r-r_{me}}{\sigma_e}\right) - + \epsilon_D(r) = & \frac{5.2+\epsilon}{2} + \frac{\epsilon-5.2}{2}\tanh\left(\frac{r-r_{me}}{\sigma_e}\right) where :math:`r_{me}` is the inflection point of :math:`\epsilon_D(r)` and :math:`\sigma_e` is a slope defining length scale. C is the same Coulomb conversion factor as in the -pair\_styles coul/cut, coul/long, and coul/debye. In this way the Coulomb +pair_styles coul/cut, coul/long, and coul/debye. In this way the Coulomb interaction between ions is corrected at small distances r. The lower -limit of epsilon\_D(r->0)=5.2 due to dielectric saturation :ref:`(Stiles) <Stiles>` +limit of epsilon_D(r->0)=5.2 due to dielectric saturation :ref:`(Stiles) <Stiles>` while the Coulomb interaction reaches its bulk limit by setting :math:`\epsilon_D(r \to \infty) = \epsilon`, the bulk value of the solvent which is 78 for water at 298K. @@ -70,12 +67,10 @@ commands: * :math:`r_{me}` (distance units) * :math:`\sigma_e` (distance units) -The global cutoff (:math:`r_c`) specified in the pair\_style command is used. - +The global cutoff (:math:`r_c`) specified in the pair_style command is used. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support parameter mixing. Coefficients must @@ -99,7 +94,6 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" - This style is part of the "USER-MISC" package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -111,27 +105,19 @@ Related commands **Default:** none - ---------- - .. _Stiles: - - **(Stiles)** Stiles , Hubbard, and Kayser, J Chem Phys, 77, 6189 (1982). .. _Lenart1: - - **(Lenart)** Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, 044509 (2007). .. _Jusufi1: - - **(Jusufi)** Jusufi, Hynninen, and Panagiotopoulos, J Phys Chem B, 112, 13783 (2008). diff --git a/doc/src/pair_coul_shield.rst b/doc/src/pair_coul_shield.rst index 97df7d4a13..c9acbf40ef 100644 --- a/doc/src/pair_coul_shield.rst +++ b/doc/src/pair_coul_shield.rst @@ -6,18 +6,16 @@ pair_style coul/shield command Syntax """""" - .. code-block:: LAMMPS pair_style coul/shield cutoff tap_flag * cutoff = global cutoff (distance units) -* tap\_flag = 0/1 to turn off/on the taper function +* tap_flag = 0/1 to turn off/on the taper function Examples """""""" - .. code-block:: LAMMPS pair_style coul/shield 16.0 1 @@ -48,7 +46,6 @@ the pair style :doc:`ilp/graphene/hbn <pair_ilp_graphene_hbn>` 84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 - 35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1 - Where Tap(:math:`r_{ij}`) is the taper function which provides a continuous cutoff (up to third derivative) for inter-atomic separations larger than :math:`r_c` :ref:`(Leven1) <Leven3>`, :ref:`(Leven2) <Leven4>` and :ref:`(Maaravi) <Maaravi1>`. @@ -61,12 +58,10 @@ each pair of atom types via the :doc:`pair_coeff <pair_coeff>` command as in the example above, or in the data file or restart files read by the :doc:`read_data <read_data>` or :doc:`read_restart <read_restart>` commands: -The global cutoff (:math:`r_c`) specified in the pair\_style command is used. - +The global cutoff (:math:`r_c`) specified in the pair_style command is used. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support parameter mixing. Coefficients must @@ -86,7 +81,6 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" - This style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -96,26 +90,18 @@ Related commands :doc:`pair_coeff <pair_coeff>` :doc:`pair_style ilp/graphene/hbn <pair_ilp_graphene_hbn>` -**Default:** tap\_flag = 1 - +**Default:** tap_flag = 1 ---------- - .. _Leven3: - - **(Leven1)** I. Leven, I. Azuri, L. Kronik and O. Hod, J. Chem. Phys. 140, 104106 (2014). .. _Leven4: - - **(Leven2)** I. Leven et al, J. Chem.Theory Comput. 12, 2896-905 (2016). .. _Maaravi1: - - **(Maaravi)** T. Maaravi et al, J. Phys. Chem. C 121, 22826-22835 (2017). diff --git a/doc/src/pair_cs.rst b/doc/src/pair_cs.rst index ebbbdcaeca..72332a87b2 100644 --- a/doc/src/pair_cs.rst +++ b/doc/src/pair_cs.rst @@ -33,7 +33,6 @@ pair_style lj/cut/coul/long/cs command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -41,7 +40,6 @@ Syntax * style = *born/coul/dsf/cs* or *born/coul/long/cs* or *born/coul/wolf/cs* or *buck/coul/long/cs* or *coul/long/cs* or *coul/wolf/cs* or *lj/cut/coul/long/cs* * args = list of arguments for a particular style - .. parsed-literal:: *born/coul/dsf/cs* args = alpha cutoff (cutoff2) @@ -70,7 +68,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style born/coul/dsf/cs 0.1 10.0 12.0 @@ -135,14 +132,13 @@ to 0.0, which works because the core and shell atoms are bonded to each other. This induces a long-range correction approximation which fails at small distances (~< 10e-8). Therefore, the Coulomb term which is used to calculate the correction factor is extended by a minimal -distance (r\_min = 1.0-6) when the interaction between a core/shell +distance (r_min = 1.0-6) when the interaction between a core/shell pair is treated, as follows .. math:: E = \frac{C q_i q_j}{\epsilon (r + r_{min})} \qquad r \rightarrow 0 - where C is an energy-conversion constant, :math:`q_i` and :math:`q_j` are the charges on the core and shell, epsilon is the dielectric constant and :math:`r_{min}` is the minimal distance. @@ -152,10 +148,8 @@ For styles that are not used with a long-range solver, i.e. those with a minimal distance to avoid the possible r = 0.0 case for a core/shell pair. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -174,24 +168,19 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : See the corresponding doc pages for pair styles without the "cs" suffix to see how mixing, shifting, tabulation, tail correction, restarting, and rRESPA are handled by theses pair styles. - ---------- - Restrictions """""""""""" - These pair styles are part of the CORESHELL package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -203,13 +192,9 @@ Related commands **Default:** none - ---------- - .. _MitchellFinchham2: - - **(Mitchell and Finchham)** Mitchell, Finchham, J Phys Condensed Matter, 5, 1031-1038 (1993). diff --git a/doc/src/pair_dipole.rst b/doc/src/pair_dipole.rst index 6d685f27c3..38731dcb6d 100644 --- a/doc/src/pair_dipole.rst +++ b/doc/src/pair_dipole.rst @@ -30,7 +30,6 @@ pair_style lj/long/dipole/long command Syntax """""" - .. code-block:: LAMMPS pair_style lj/cut/dipole/cut cutoff (cutoff2) @@ -40,27 +39,24 @@ Syntax * cutoff = global cutoff LJ (and Coulombic if only 1 arg) (distance units) * cutoff2 = global cutoff for Coulombic and dipole (optional) (distance units) -* flag\_lj = *long* or *cut* or *off* - +* flag_lj = *long* or *cut* or *off* + .. parsed-literal:: - + *long* = use long-range damping on dispersion 1/r\^6 term *cut* = use a cutoff on dispersion 1/r\^6 term *off* = omit disperion 1/r\^6 term entirely -* flag\_coul = *long* or *off* - +* flag_coul = *long* or *off* + .. parsed-literal:: - + *long* = use long-range damping on Coulombic 1/r and point-dipole terms *off* = omit Coulombic and point-dipole terms entirely - - Examples """""""" - .. code-block:: LAMMPS pair_style lj/cut/dipole/cut 10.0 @@ -92,32 +88,31 @@ interactions are computed by these formulas for the energy (E), force .. math:: - E_{LJ} = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + E_{LJ} = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \\ E_{qq} = & \frac{q_i q_j}{r} \\ E_{qp} = & \frac{q}{r^3} (p \bullet \vec{r}) \\ - E_{pp} = & \frac{1}{r^3} (\vec{p_i} \bullet \vec{p_j}) - + E_{pp} = & \frac{1}{r^3} (\vec{p_i} \bullet \vec{p_j}) - \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r}) \\ & \\ F_{qq} = & \frac{q_i q_j}{r^3} \vec{r} \\ - F_{qp} = & -\frac{q}{r^3} \vec{p} + \frac{3q}{r^5} + F_{qp} = & -\frac{q}{r^3} \vec{p} + \frac{3q}{r^5} (\vec{p} \bullet \vec{r}) \vec{r} \\ F_{pp} = & \frac{3}{r^5} (\vec{p_i} \bullet \vec{p_j}) \vec{r} - - \frac{15}{r^7} (\vec{p_i} \bullet \vec{r}) - (\vec{p_j} \bullet \vec{r}) \vec{r} + - \frac{3}{r^5} \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + + \frac{15}{r^7} (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \bullet \vec{r}) \vec{r} + + \frac{3}{r^5} \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + (\vec{p_i} \bullet \vec{r}) \vec{p_j} \right] \\ & \\ T_{pq} = T_{ij} = & \frac{q_j}{r^3} (\vec{p_i} \times \vec{r}) \\ T_{qp} = T_{ji} = & - \frac{q_i}{r^3} (\vec{p_j} \times \vec{r}) \\ - T_{pp} = T_{ij} = & -\frac{1}{r^3} (\vec{p_i} \times \vec{p_j}) + + T_{pp} = T_{ij} = & -\frac{1}{r^3} (\vec{p_i} \times \vec{p_j}) + \frac{3}{r^5} (\vec{p_j} \bullet \vec{r}) (\vec{p_i} \times \vec{r}) \\ - T_{pp} = T_{ji} = & -\frac{1}{r^3} (\vec{p_j} \times \vec{p_i}) + - \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) + T_{pp} = T_{ji} = & -\frac{1}{r^3} (\vec{p_j} \times \vec{p_i}) + + \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \times \vec{r}) - where :math:`q_i` and :math:`q_j` are the charges on the two particles, :math:`\vec{p_i}` and :math:`\vec{p_j}` are the dipole moment vectors of the two particles, r is their separation distance, and the vector r = @@ -142,7 +137,7 @@ potential containing extra terms that make both the energy and its derivative go to zero at the cutoff distance; this removes (cutoff-related) problems in energy conservation and any numerical instability in the equations of motion :ref:`(Allen) <Allen2>`. Shifted-force -interactions for the Lennard-Jones (E\_LJ), charge-charge (Eqq), +interactions for the Lennard-Jones (E_LJ), charge-charge (Eqq), charge-dipole (Eqp), dipole-charge (Epq) and dipole-dipole (Epp) potentials are computed by these formulas for the energy (E), force (F), and torque (T) between particles I and J: @@ -151,7 +146,7 @@ potentials are computed by these formulas for the energy (E), force E_{LJ} = & 4\epsilon \left\{ \left[ \left( \frac{\sigma}{r} \right)^{\!12} - \left( \frac{\sigma}{r} \right)^{\!6} \right] + - \left[ 6\left( \frac{\sigma}{r_c} \right)^{\!12} - + \left[ 6\left( \frac{\sigma}{r_c} \right)^{\!12} - 3\left(\frac{\sigma}{r_c}\right)^{\!6}\right]\left(\frac{r}{r_c}\right)^{\!2} - 7\left( \frac{\sigma}{r_c} \right)^{\!12} + 4\left( \frac{\sigma}{r_c} \right)^{\!6}\right\} \\ @@ -163,14 +158,14 @@ potentials are computed by these formulas for the energy (E), force 3\left(\frac{r}{r_c}\right)^{\!2} + 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p}\bullet\vec{r}) \\ E_{pp} = & \left[1-4\left(\frac{r}{r_c}\right)^{\!3} + - 3\left(\frac{r}{r_c}\right)^{\!4}\right]\left[\frac{1}{r^3} - (\vec{p_i} \bullet \vec{p_j}) - \frac{3}{r^5} + 3\left(\frac{r}{r_c}\right)^{\!4}\right]\left[\frac{1}{r^3} + (\vec{p_i} \bullet \vec{p_j}) - \frac{3}{r^5} (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r})\right] \\ & \\ - - F_{LJ} = & \left\{\left[48\epsilon \left(\frac{\sigma}{r}\right)^{\!12} - - 24\epsilon \left(\frac{\sigma}{r}\right)^{\!6} \right]\frac{1}{r^2} - - \left[48\epsilon \left(\frac{\sigma}{r_c}\right)^{\!12} - 24\epsilon + + F_{LJ} = & \left\{\left[48\epsilon \left(\frac{\sigma}{r}\right)^{\!12} - + 24\epsilon \left(\frac{\sigma}{r}\right)^{\!6} \right]\frac{1}{r^2} - + \left[48\epsilon \left(\frac{\sigma}{r_c}\right)^{\!12} - 24\epsilon \left(\frac{\sigma}{r_c}\right)^{\!6} \right]\frac{1}{r_c^2}\right\}\vec{r}\\ F_{qq} = & \frac{q_i q_j}{r}\left(\frac{1}{r^2} - \frac{1}{r_c^2}\right)\vec{r} \\ @@ -178,22 +173,22 @@ potentials are computed by these formulas for the energy (E), force \left(\frac{r}{r_c}\right)^{\!2}\right](\vec{p}\bullet\vec{r})\vec{r} + \frac{q}{r^3}\left[1-3\left(\frac{r}{r_c}\right)^{\!2} + 2\left(\frac{r}{r_c}\right)^{\!3}\right] \vec{p} \\ - F_{qp} = & F_{ij} = \frac{3q}{r^5} \left[ 1 - + F_{qp} = & F_{ij} = \frac{3q}{r^5} \left[ 1 - \left(\frac{r}{r_c}\right)^{\!2}\right] (\vec{p}\bullet\vec{r})\vec{r} - \frac{q}{r^3}\left[1-3\left(\frac{r}{r_c}\right)^{\!2} + 2\left(\frac{r}{r_c}\right)^{\!3}\right] \vec{p} \\ F_{pp} = &\frac{3}{r^5}\Bigg\{\left[1-\left(\frac{r}{r_c}\right)^{\!4}\right] - \left[(\vec{p_i}\bullet\vec{p_j}) - \frac{3}{r^2} (\vec{p_i}\bullet\vec{r}) + \left[(\vec{p_i}\bullet\vec{p_j}) - \frac{3}{r^2} (\vec{p_i}\bullet\vec{r}) (\vec{p_j} \bullet \vec{r})\right] \vec{r} + \\ & \left[1 - 4\left(\frac{r}{r_c}\right)^{\!3}+3\left(\frac{r}{r_c}\right)^{\!4}\right] - \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + (\vec{p_i} \bullet \vec{r}) + \left[ (\vec{p_j} \bullet \vec{r}) \vec{p_i} + (\vec{p_i} \bullet \vec{r}) \vec{p_j} -\frac{2}{r^2} (\vec{p_i} \bullet \vec{r}) (\vec{p_j} \bullet \vec{r})\vec{r}\right] \Bigg\} .. math:: - T_{pq} = T_{ij} = & \frac{q_j}{r^3} \left[ 1 - + T_{pq} = T_{ij} = & \frac{q_j}{r^3} \left[ 1 - 3\left(\frac{r}{r_c}\right)^{\!2} + 2\left(\frac{r}{r_c}\right)^{\!3}\right] (\vec{p_i}\times\vec{r}) \\ T_{qp} = T_{ji} = & - \frac{q_i}{r^3} \left[ 1 - @@ -207,9 +202,8 @@ potentials are computed by these formulas for the energy (E), force T_{pp} = T_{ji} = & -\frac{1}{r^3}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + 3\left(\frac{r}{r_c}\right)^{\!4}\right](\vec{p_j} \times \vec{p_i}) + \\ & \frac{3}{r^5}\left[1-4\left(\frac{r}{r_c}\right)^{\!3} + - 3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_i} \bullet \vec{r}) - (\vec{p_j} \times \vec{r}) - + 3\left(\frac{r}{r_c}\right)^{\!4}\right] (\vec{p_i} \bullet \vec{r}) + (\vec{p_j} \times \vec{r}) where :math:`\epsilon` and :math:`\sigma` are the standard LJ parameters, :math:`r_c` is the cutoff, :math:`q_i` and :math:`q_j` are @@ -227,11 +221,11 @@ been obtained by applying equation 5.13 of :ref:`(Allen) <Allen2>`. The formulas for the corresponding forces and torques have been obtained by applying the 'chain rule' as in appendix C.3 of :ref:`(Allen) <Allen2>`. -If one cutoff is specified in the pair\_style command, it is used for +If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic (q,p) terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic (q,p) terms respectively. This pair style also supports an optional *scale* keyword -as part of a pair\_coeff statement, where the interactions can be +as part of a pair_coeff statement, where the interactions can be scaled according to this factor. This scale factor is also made available for use with fix adapt. @@ -249,19 +243,19 @@ dipole-charge, and charge-charge interactions are all supported, along with the standard 12/6 Lennard-Jones interactions. LJ interactions can be cutoff or long-ranged. -For style *lj/long/dipole/long*\ , if *flag\_lj* is set to *long*\ , no +For style *lj/long/dipole/long*\ , if *flag_lj* is set to *long*\ , no cutoff is used on the LJ 1/r\^6 dispersion term. The long-range -portion is calculated by using the :doc:`kspace_style ewald\_disp <kspace_style>` command. The specified LJ cutoff then +portion is calculated by using the :doc:`kspace_style ewald_disp <kspace_style>` command. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal -space via the Kspace style. If *flag\_lj* is set to *cut*\ , the LJ -interactions are simply cutoff, as with :doc:`pair_style lj/cut <pair_lj>`. If *flag\_lj* is set to *off*\ , LJ interactions +space via the Kspace style. If *flag_lj* is set to *cut*\ , the LJ +interactions are simply cutoff, as with :doc:`pair_style lj/cut <pair_lj>`. If *flag_lj* is set to *off*\ , LJ interactions are not computed at all. -If *flag\_coul* is set to *long*\ , no cutoff is used on the Coulombic or +If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic or dipole interactions. The long-range portion is calculated by using -*ewald\_disp* of the :doc:`kspace_style <kspace_style>` command. If -*flag\_coul* is set to *off*\ , Coulombic and dipole interactions are not +*ewald_disp* of the :doc:`kspace_style <kspace_style>` command. If +*flag_coul* is set to *off*\ , Coulombic and dipole interactions are not computed at all. Atoms with dipole moments should be integrated using the :doc:`fix nve/sphere update dipole <fix_nve_sphere>` or the :doc:`fix nvt/sphere update dipole <fix_nvt_sphere>` command to rotate the @@ -286,16 +280,14 @@ commands, or by mixing as described below: * cutoff2 (distance units) The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair\_style command are used. +LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -314,21 +306,19 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distances for this pair style can be mixed. The default -mix value is *geometric*\ . See the "pair\_modify" command for details. +mix value is *geometric*\ . See the "pair_modify" command for details. For atom type pairs I,J and I != J, the A, sigma, d1, and d2 coefficients and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. D1 and d2 are distance values and are mixed like sigma. The default mix value is -*geometric*\ . See the "pair\_modify" command for details. +*geometric*\ . See the "pair_modify" command for details. This pair style does not support the :doc:`pair_modify <pair_modify>` shift option for the energy of the Lennard-Jones portion of the pair @@ -341,7 +331,7 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the @@ -351,7 +341,6 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" - The *lj/cut/dipole/cut*\ , *lj/cut/dipole/long*\ , and *lj/long/dipole/long* styles are part of the DIPOLE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -370,32 +359,22 @@ Related commands **Default:** none - ---------- - .. _Allen2: - - **(Allen)** Allen and Tildesley, Computer Simulation of Liquids, Clarendon Press, Oxford, 1987. .. _Toukmaji2: - - **(Toukmaji)** Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113, 10913 (2000). .. _Stoddard: - - **(Stoddard)** Stoddard and Ford, Phys Rev A, 8, 1504 (1973). .. _Price2: - - **(Price)** Price, Stone and Alderton, Mol Phys, 52, 987 (1984). diff --git a/doc/src/pair_dpd.rst b/doc/src/pair_dpd.rst index a827627870..0a078585c6 100644 --- a/doc/src/pair_dpd.rst +++ b/doc/src/pair_dpd.rst @@ -24,7 +24,6 @@ pair_style dpd/tstat/omp command Syntax """""" - .. code-block:: LAMMPS pair_style dpd T cutoff seed @@ -38,7 +37,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style dpd 1.0 2.5 34387 @@ -75,7 +73,6 @@ of 3 terms F^R = & \sigma w(r) \alpha (\Delta t)^{-1/2} \\ w(r) = & 1 - r/r_c - where :math:`F^C` is a conservative force, :math:`F^D` is a dissipative force, and :math:`F^R` is a random force. :math:`r_{ij}` is a unit vector in the direction :math:`r_i - r_j`, :math:`V_{ij} is the vector @@ -84,7 +81,7 @@ difference in velocities of the two atoms :math:`= \vec{v}_i - unit variance, dt is the timestep size, and w(r) is a weighting factor that varies between 0 and 1. :math:`r_c` is the cutoff. :math:`\sigma` is set equal to :math:`\sqrt{2 k_B T \gamma}`, where :math:`k_B` is the -Boltzmann constant and T is the temperature parameter in the pair\_style +Boltzmann constant and T is the temperature parameter in the pair_style command. For style *dpd/tstat*\ , the force on atom I due to atom J is the same @@ -129,13 +126,17 @@ the work of :ref:`(Afshar) <Afshar>` and :ref:`(Phillips) <Phillips>`. .. note:: - The virial calculation for pressure when using this pair style + The virial calculation for pressure when using these pair styles includes all the components of force listed above, including the - random force. + random force. Since the random force depends on random numbers, + everything that changes the order of atoms in the neighbor list + (e.g. different number of MPI ranks or a different neighbor list + skin distance) will also change the sequence in which the random + numbers are applied and thus the individual forces and therefore + also the virial/pressure. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -154,10 +155,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all @@ -175,7 +174,7 @@ These pair style do not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -These pair styles writes their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +These pair styles writes their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Note that the user-specified random number seed is stored in the restart file, so when a simulation is restarted, each processor will @@ -193,14 +192,11 @@ runs, using the *start* and *stop* keywords of the :doc:`run <run>` command. See the :doc:`run <run>` command for details of how to do this. - ---------- - Restrictions """""""""""" - The default frequency for rebuilding neighbor lists is every 10 steps (see the :doc:`neigh_modify <neigh_modify>` command). This may be too infrequent for style *dpd* simulations since particles move rapidly @@ -225,26 +221,18 @@ Related commands **Default:** none - ---------- - .. _Groot1: - - **(Groot)** Groot and Warren, J Chem Phys, 107, 4423-35 (1997). .. _Afshar: - - **(Afshar)** Afshar, F. Schmid, A. Pishevar, S. Worley, Comput Phys Comm, 184, 1119-1128 (2013). .. _Phillips: - - **(Phillips)** C. L. Phillips, J. A. Anderson, S. C. Glotzer, Comput Phys Comm, 230, 7191-7201 (2011). diff --git a/doc/src/pair_dpd_fdt.rst b/doc/src/pair_dpd_fdt.rst index fecd602c50..223caf7681 100644 --- a/doc/src/pair_dpd_fdt.rst +++ b/doc/src/pair_dpd_fdt.rst @@ -12,7 +12,6 @@ pair_style dpd/fdt/energy/kk command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -20,7 +19,6 @@ Syntax * style = *dpd/fdt* or *dpd/fdt/energy* * args = list of arguments for a particular style - .. parsed-literal:: *dpd/fdt* args = T cutoff seed @@ -34,7 +32,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style dpd/fdt 300.0 2.5 34387 @@ -62,7 +59,6 @@ given as a sum of 3 terms F^R = & \sigma w(r) \alpha (\Delta t)^{-1/2} \\ w(r) = & 1 - r/r_c - where :math:`F^C` is a conservative force, :math:`F^D` is a dissipative force, and :math:`F^R` is a random force. :math:`r_{ij}` is a unit vector in the direction :math:`r_i - r_j`, :math:`V_{ij} is the vector @@ -107,10 +103,9 @@ energies are computed within style *dpd/fdt/energy* as: .. math:: du_{i}^{cond} = & \kappa_{ij}(\frac{1}{\theta_{i}}-\frac{1}{\theta_{j}})\omega_{ij}^{2} + \alpha_{ij}\omega_{ij}\zeta_{ij}^{q}(\Delta{t})^{-1/2} \\ - du_{i}^{mech} = & -\frac{1}{2}\gamma_{ij}\omega_{ij}^{2}(\frac{\vec{r_{ij}}}{r_{ij}}\bullet\vec{v_{ij}})^{2} - - \frac{\sigma^{2}_{ij}}{4}(\frac{1}{m_{i}}+\frac{1}{m_{j}})\omega_{ij}^{2} - - \frac{1}{2}\sigma_{ij}\omega_{ij}(\frac{\vec{r_{ij}}}{r_{ij}}\bullet\vec{v_{ij}})\zeta_{ij}(\Delta{t})^{-1/2} - + du_{i}^{mech} = & -\frac{1}{2}\gamma_{ij}\omega_{ij}^{2}(\frac{\vec{r_{ij}}}{r_{ij}}\bullet\vec{v_{ij}})^{2} - + \frac{\sigma^{2}_{ij}}{4}(\frac{1}{m_{i}}+\frac{1}{m_{j}})\omega_{ij}^{2} - + \frac{1}{2}\sigma_{ij}\omega_{ij}(\frac{\vec{r_{ij}}}{r_{ij}}\bullet\vec{v_{ij}})\zeta_{ij}(\Delta{t})^{-1/2} where @@ -120,7 +115,6 @@ where \sigma^{2}_{ij} = & 2\gamma_{ij}k_{B}\Theta_{ij} \\ \Theta_{ij}^{-1} = & \frac{1}{2}(\frac{1}{\theta_{i}}+\frac{1}{\theta_{j}}) - :math:`\zeta_ij^q` is a second Gaussian random number with zero mean and unit variance that is used to compute the internal conductive energy. The fluctuation-dissipation theorem defines :math:`alpha^2` to be set @@ -158,10 +152,8 @@ Shardlow splitting algorithm is advantageous, especially when performing DPD under isoenergetic conditions, as it allows significantly larger timesteps to be taken. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -180,14 +172,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - These commands are part of the USER-DPD package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -206,14 +195,10 @@ Related commands **Default:** none - ---------- - .. _Lisal3: - - **(Lisal)** M. Lisal, J.K. Brennan, J. Bonet Avalos, "Dissipative particle dynamics at isothermal, isobaric, isoenergetic, and isoenthalpic conditions using Shardlow-like splitting algorithms.", diff --git a/doc/src/pair_drip.rst b/doc/src/pair_drip.rst index e2dc88648f..1fa193777a 100644 --- a/doc/src/pair_drip.rst +++ b/doc/src/pair_drip.rst @@ -6,7 +6,6 @@ pair_style drip command Syntax """""" - .. code-block:: LAMMPS pair_style hybrid/overlay drip [styles ...] @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay drip @@ -45,7 +43,6 @@ The total potential energy of a system is E = & \frac{1}{2} \sum_{i} \sum_{j\notin\text{layer}\,i} \phi_{ij} \\ \phi_{ij} = &f_\text{c}(x_r) \left[ e^{-\lambda(r_{ij} - z_0 )} \left[C+f(\rho_{ij})+ g(\rho_{ij}, \{\alpha_{ij}^{(m)}\}) \right]- A\left (\frac{z_0}{r_{ij}} \right)^6 \right] - where the :math:`r^{-6}` term models the attractive London dispersion, the exponential term is designed to capture the registry effect due to overlapping *pi* bonds, and *fc* is a cutoff function. @@ -72,19 +69,16 @@ If you want, you can enforce this by assigning different atom types to atoms in different layers, and apply an intralayer potential to one atom type. See :doc:`pair_hybrid <pair_hybrid>` for details. - ---------- - The :doc:`pair_coeff <pair_coeff>` command for DRIP takes *4+N* arguments, where *N* is the number of LAMMPS atom types. The fist three arguments must be fixed to be *\* \* drip*, the fourth argument is the path to the DRIP parameter file, and the remaining N arguments specifying the mapping between element in the parameter file and atom types. For example, if your LAMMPS simulation has 3 atom -types and you want all of them to be C, you would use the following pair\_coeff +types and you want all of them to be C, you would use the following pair_coeff command: - .. code-block:: LAMMPS pair_coeff * * drip C.drip C C C @@ -95,7 +89,6 @@ element exists. Suppose you have a hydrocarbon system, with C of atom type 1 and H of atom type 2, you can use the following command to inform DRIP not to model H atoms: - .. code-block:: LAMMPS pair_style hybrid/overlay drip rebo @@ -106,26 +99,23 @@ model H atoms: The potential parameters developed in :ref:`(Wen) <Wen2018>` are provided with LAMMPS (see the "potentials" directory). Besides those in :ref:`Wen <Wen2018>`, an - additional parameter "normal\_cutoff", specific to the LAMMPS implementation, is + additional parameter "normal_cutoff", specific to the LAMMPS implementation, is used to find the three nearest neighbors of an atom to construct the normal. - ---------- - **Mixing, shift, table, tail correction, and restart info**\ : -This pair style does not support the pair\_modify mix, shift, table, +This pair style does not support the pair_modify mix, shift, table, and tail options. This pair style does not write their information to binary restart files, since -it is stored in potential files. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +it is stored in potential files. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. Restrictions """""""""""" - This pair style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -142,24 +132,18 @@ simulation doesn't use "metal" units. Related commands """""""""""""""" -:doc:`pair_style lebedeva\_z <pair_lebedeva_z>`, +:doc:`pair_style lebedeva_z <pair_lebedeva_z>`, :doc:`pair_style kolmogorov/crespi/z <pair_kolmogorov_crespi_z>`, :doc:`pair_style kolmogorov/crespi/full <pair_kolmogorov_crespi_full>`, :doc:`pair_style ilp/graphene/hbn <pair_ilp_graphene_hbn>`. - ---------- - .. _Wen2018: - - **(Wen)** M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B, 98, 235404 (2018) .. _Kolmogorov2005: - - **(Kolmogorov)** A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) diff --git a/doc/src/pair_dsmc.rst b/doc/src/pair_dsmc.rst index c42e6e5b82..03f6505d47 100644 --- a/doc/src/pair_dsmc.rst +++ b/doc/src/pair_dsmc.rst @@ -6,22 +6,20 @@ pair_style dsmc command Syntax """""" - .. code-block:: LAMMPS pair_style dsmc max_cell_size seed weighting Tref Nrecompute Nsample -* max\_cell\_size = global maximum cell size for DSMC interactions (distance units) +* max_cell_size = global maximum cell size for DSMC interactions (distance units) * seed = random # seed (positive integer) * weighting = macroparticle weighting * Tref = reference temperature (temperature units) -* Nrecompute = re-compute v\*sigma\_max every this many timesteps (timesteps) -* Nsample = sample this many times in recomputing v\*sigma\_max +* Nrecompute = re-compute v\*sigma_max every this many timesteps (timesteps) +* Nsample = sample this many times in recomputing v\*sigma_max Examples """""""" - .. code-block:: LAMMPS pair_style dsmc 2.5 34387 10 1.0 100 20 @@ -36,13 +34,13 @@ direct simulation Monte Carlo (DSMC) model following the exposition in :ref:`(Bird) <Bird>`. Each collision resets the velocities of the two particles involved. The number of pairwise collisions for each pair or particle types and the length scale within which they occur are -determined by the parameters of the pair\_style and pair\_coeff +determined by the parameters of the pair_style and pair_coeff commands. Stochastic collisions are performed using the variable hard sphere -(VHS) approach, with the user-defined *max\_cell\_size* value used as +(VHS) approach, with the user-defined *max_cell_size* value used as the maximum DSMC cell size, and reference cross-sections for -collisions given using the pair\_coeff command. +collisions given using the pair_coeff command. There is no pairwise energy or virial contributions associated with this pair style. @@ -55,16 +53,14 @@ commands: * sigma (area units, i.e. distance-squared) -The global DSMC *max\_cell\_size* determines the maximum cell length +The global DSMC *max_cell_size* determines the maximum cell length used in the DSMC calculation. A structured mesh is overlayed on the simulation box such that an integer number of cells are created in each direction for each processor's sub-domain. Cell lengths are adjusted up to the user-specified maximum cell size. - ---------- - To perform a DSMC simulation with LAMMPS, several additional options should be set in your input script, though LAMMPS does not check for these settings. @@ -73,7 +69,6 @@ Since this pair style does not compute particle forces, you should use the "fix nve/noforce" time integration fix for the DSMC particles, e.g. - .. code-block:: LAMMPS fix 1 all nve/noforce @@ -84,7 +79,6 @@ possible to perform all collisions between pairs of particles that are on the same processor. To ensure this occurs, you should use these commands: - .. code-block:: LAMMPS neighbor 0.0 bin @@ -104,15 +98,12 @@ uniform, which will not give good DSMC collision rates. Specify "dist gaussian" when using the :doc:`velocity <velocity>` command as in the following: - .. code-block:: LAMMPS velocity all create 594.6 87287 loop geom dist gaussian - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all @@ -128,7 +119,7 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Note that the user-specified random number seed is stored in the restart file, so when a simulation is restarted, each processor will @@ -141,14 +132,11 @@ This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -161,13 +149,9 @@ Related commands **Default:** none - ---------- - .. _Bird: - - **(Bird)** G. A. Bird, "Molecular Gas Dynamics and the Direct Simulation of Gas Flows" (1994). diff --git a/doc/src/pair_e3b.rst b/doc/src/pair_e3b.rst index 84c793d192..68f8708b27 100644 --- a/doc/src/pair_e3b.rst +++ b/doc/src/pair_e3b.rst @@ -6,7 +6,6 @@ pair_style e3b command Syntax """""" - .. code-block:: LAMMPS pair_style e3b Otype @@ -43,7 +42,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style e3b 1 @@ -70,9 +68,8 @@ The *e3b* style computes an \"explicit three-body\" (E3B) potential for water :r 0 & r>R_f\\ \end{cases} - This potential was developed as a water model that includes the three-body cooperativity of hydrogen bonding explicitly. -To use it in this way, it must be applied in conjunction with a conventional two-body water model, through *pair\_style hybrid/overlay*. +To use it in this way, it must be applied in conjunction with a conventional two-body water model, through *pair_style hybrid/overlay*. The three body interactions are split into three types: A, B, and C. Type A corresponds to anti-cooperative double hydrogen bond donor interactions. Type B corresponds to the cooperative interaction of molecules that both donate and accept a hydrogen bond. @@ -82,9 +79,9 @@ The two-body interactions are designed to correct for the effective many-body in The two-body interactions are cut off sharply at Rc2, because K3 is typically significantly smaller than K2. See :ref:`(Kumar 2008) <Kumar>` for more details. -Only a single *pair\_coeff* command is used with the *e3b* style. +Only a single *pair_coeff* command is used with the *e3b* style. The 1st two arguments must be \* \*. -The oxygen atom type for the pair style is passed as the only argument to the *pair\_style* command, not in the *pair\_coeff* command. +The oxygen atom type for the pair style is passed as the only argument to the *pair_style* command, not in the *pair_coeff* command. The hydrogen atom type is inferred by the ordering of the atoms. .. note:: @@ -93,14 +90,14 @@ The hydrogen atom type is inferred by the ordering of the atoms. Each water molecule must have consecutive IDs with the oxygen first. This pair style does not test that this criteria is met. -The *pair\_coeff* command must have at least one keyword/value pair, as described above. +The *pair_coeff* command must have at least one keyword/value pair, as described above. The *preset* keyword sets the potential parameters to the values used in :ref:`(Tainter 2011) <Tainter2011>` or :ref:`(Tainter 2015) <Tainter2015>`. -To use the water models defined in those references, the *e3b* style should always be used in conjunction with an *lj/cut/tip4p/long* style through *pair\_style hybrid/overlay*, as demonstrated in the second example above. +To use the water models defined in those references, the *e3b* style should always be used in conjunction with an *lj/cut/tip4p/long* style through *pair_style hybrid/overlay*, as demonstrated in the second example above. The *preset 2011* option should be used with the :doc:`TIP4P water model <Howto_tip4p>`. The *preset 2015* option should be used with the :doc:`TIP4P/2005 water model <Howto_tip4p>`. If the *preset* keyword is used, no other keyword is needed. Changes to the preset parameters can be made by specifying the *preset* keyword followed by the specific parameter to change, like *Ea*\ . -Note that the other keywords must come after *preset* in the pair\_style command. +Note that the other keywords must come after *preset* in the pair_style command. The *e3b* style can also be used to implement any three-body potential of the same form by specifying all the keywords except *neigh*\ : *Ea*\ , *Eb*\ , *Ec*\ , *E2*\ , *K3*\ , *K2*\ , *Rc3*\ , *Rc2*\ , *Rs*\ , and *bondL*\ . The keyword *bondL* specifies the intramolecular OH bond length of the water model being used. This is needed to include H atoms that are within the cutoff even when the attached oxygen atom is not. @@ -116,29 +113,24 @@ The 4 values correspond to the terms in the first equation above: the E2 term, t See the examples/USER/misc/e3b directory for a complete example script. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style is incompatible with :doc:`respa <run_style>`. - ---------- - Restrictions """""""""""" - This pair style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -146,7 +138,7 @@ This pair style requires the :doc:`newton <newton>` setting to be "on" for pair interactions. This pair style requires a fixed number of atoms in the simulation, so it is incompatible with fixes like :doc:`fix deposit <fix_deposit>`. -If the number of atoms changes between runs, this pair style must be re-initialized by calling the *pair\_style* and *pair\_coeffs* commands. +If the number of atoms changes between runs, this pair style must be re-initialized by calling the *pair_style* and *pair_coeffs* commands. This is not a fundamental limitation of the pair style, but the code currently does not support a variable number of atoms. The *preset* keyword currently only works with real, metal, si, and cgs :doc:`units <units>`. @@ -161,22 +153,16 @@ Default The option default for the *neigh* keyword is 10. - ---------- - .. _Kumar: - - .. _Tainter2011: **(Kumar)** Kumar and Skinner, J. Phys. Chem. B, 112, 8311 (2008) - .. _Tainter2015: **(Tainter 2011)** Tainter, Pieniazek, Lin, and Skinner, J. Chem. Phys., 134, 184501 (2011) - **(Tainter 2015)** Tainter, Shi, and Skinner, 11, 2268 (2015) diff --git a/doc/src/pair_eam.rst b/doc/src/pair_eam.rst index 82da121a79..4710f8a9a1 100644 --- a/doc/src/pair_eam.rst +++ b/doc/src/pair_eam.rst @@ -69,7 +69,6 @@ pair_style eam/fs/opt command Syntax """""" - .. code-block:: LAMMPS pair_style style @@ -79,7 +78,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style eam @@ -104,10 +102,9 @@ energy Ei of an atom I is given by .. math:: - E_i = F_\alpha \left(\sum_{j \neq i}\ \rho_\beta (r_{ij})\right) + + E_i = F_\alpha \left(\sum_{j \neq i}\ \rho_\beta (r_{ij})\right) + \frac{1}{2} \sum_{j \neq i} \phi_{\alpha\beta} (r_{ij}) - where F is the embedding energy which is a function of the atomic electron density rho, phi is a pair potential interaction, and alpha and beta are the element types of atoms I and J. The multi-body @@ -139,7 +136,7 @@ are parameterized in terms of LAMMPS :doc:`metal units <units>`. .. note:: Note that unlike for other potentials, cutoffs for EAM - potentials are not set in the pair\_style or pair\_coeff command; they + potentials are not set in the pair_style or pair_coeff command; they are specified in the EAM potential files themselves. Likewise, the EAM potential files list atomic masses; thus you do not need to use the :doc:`mass <mass>` command to specify them. @@ -147,7 +144,6 @@ are parameterized in terms of LAMMPS :doc:`metal units <units>`. There are several WWW sites that distribute and document EAM potentials stored in DYNAMO or other formats: - .. parsed-literal:: http://www.ctcms.nist.gov/potentials @@ -160,28 +156,25 @@ and described on this page. The NIST site is maintained by Chandler Becker (cbecker at nist.gov) who is good resource for info on interatomic potentials and file formats. - ---------- - For style *eam*\ , potential values are read from a file that is in the DYNAMO single-element *funcfl* format. If the DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. Note that unlike for other potentials, cutoffs for EAM potentials are -not set in the pair\_style or pair\_coeff command; they are specified in +not set in the pair_style or pair_coeff command; they are specified in the EAM potential files themselves. For style *eam* a potential file must be assigned to each I,I pair of -atom types by using one or more pair\_coeff commands, each with a +atom types by using one or more pair_coeff commands, each with a single argument: * filename Thus the following command - .. code-block:: LAMMPS pair_coeff *2 1*2 cuu3.eam @@ -232,17 +225,14 @@ sqrt(Hartree \* Bohr-radii). For two interacting atoms i,j this is used by LAMMPS to compute the pair potential term in the EAM energy expression as r\*phi, in units of eV-Angstroms, via the formula - .. math:: r \cdot \phi = 27.2 \cdot 0.529 \cdot Z_i \cdot Z_j where 1 Hartree = 27.2 eV and 1 Bohr = 0.529 Angstroms. - ---------- - Style *eam/alloy* computes pairwise interactions using the same formula as style *eam*\ . However the associated :doc:`pair_coeff <pair_coeff>` command reads a DYNAMO *setfl* file @@ -259,24 +249,23 @@ DYNAMO file was created by a Fortran program, it cannot have "D" values in it for exponents. C only recognizes "e" or "E" for scientific notation. -Only a single pair\_coeff command is used with the *eam/alloy* style +Only a single pair_coeff command is used with the *eam/alloy* style which specifies a DYNAMO *setfl* file, which contains information for M elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of *setfl* elements to atom types -As an example, the potentials/NiAlH\_jea.eam.alloy file is a *setfl* +As an example, the potentials/NiAlH_jea.eam.alloy file is a *setfl* file which has tabulated EAM values for 3 elements and their alloy interactions: Ni, Al, and H. See the :doc:`pair_coeff <pair_coeff>` doc page for alternate ways to specify the path for the potential file. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to -be Ni, and the 4th to be Al, you would use the following pair\_coeff +be Ni, and the 4th to be Al, you would use the following pair_coeff command: - .. code-block:: LAMMPS pair_coeff * * NiAlH_jea.eam.alloy Ni Ni Ni Al @@ -334,10 +323,8 @@ the tabulated values for each phi function are listed in *setfl* files directly as r\*phi (in units of eV-Angstroms), since they are for atom pairs. - ---------- - Style *eam/cd* is similar to the *eam/alloy* style, except that it computes alloy pairwise interactions using the concentration-dependent embedded-atom method (CD-EAM). This model can reproduce the enthalpy @@ -345,7 +332,7 @@ of mixing of alloys over the full composition range, as described in :ref:`(Stukowski) <Stukowski>`. Style *eam/cd/old* is an older, slightly different and slower two-site formulation of the model :ref:`(Caro) <Caro>`. -The pair\_coeff command is specified the same as for the *eam/alloy* +The pair_coeff command is specified the same as for the *eam/alloy* style. However the DYNAMO *setfl* file must has two lines added to it, at the end of the file: @@ -365,10 +352,8 @@ the input EAM file are always taken as the *A* and *B* species. *CD-EAM* files in the *potentials* directory of the LAMMPS distribution have a ".cdeam" suffix. - ---------- - Style *eam/fs* computes pairwise interactions for metals and metal alloys using a generalized form of EAM potentials due to Finnis and Sinclair :ref:`(Finnis) <Finnis1>`. The total energy Ei of an atom I is @@ -376,11 +361,10 @@ given by .. math:: - E_i = F_\alpha \left(\sum_{j \neq i}\ - \rho_{\alpha\beta} (r_{ij})\right) + + E_i = F_\alpha \left(\sum_{j \neq i}\ + \rho_{\alpha\beta} (r_{ij})\right) + \frac{1}{2} \sum_{j \neq i} \phi_{\alpha\beta} (r_{ij}) - This has the same form as the EAM formula above, except that rho is now a functional specific to the atomic types of both atoms I and J, so that different elements can contribute differently to the total @@ -389,7 +373,7 @@ element at that atomic site. The associated :doc:`pair_coeff <pair_coeff>` command for style *eam/fs* reads a DYNAMO *setfl* file that has been extended to include -additional rho\_alpha\_beta arrays of tabulated values. A discussion of +additional rho_alpha_beta arrays of tabulated values. A discussion of how FS EAM differs from conventional EAM alloy potentials is given in :ref:`(Ackland1) <Ackland1>`. An example of such a potential is the same author's Fe-P FS potential :ref:`(Ackland2) <Ackland2>`. Note that while FS @@ -398,10 +382,9 @@ dependence on the total density, the implementation in LAMMPS does not require that; the user can tabulate any functional form desired in the FS potential files. -For style *eam/fs*\ , the form of the pair\_coeff command is exactly the +For style *eam/fs*\ , the form of the pair_coeff command is exactly the same as for style *eam/alloy*\ , e.g. - .. code-block:: LAMMPS pair_coeff * * NiAlH_jea.eam.fs Ni Ni Ni Al @@ -451,10 +434,8 @@ eV-Angstroms) as in EAM *setfl* files. Note that in Finnis/Sinclair, the phi(r) arrays are still symmetric, so only phi arrays for i >= j are listed. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -473,36 +454,31 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS as described above with the individual styles. You never need to specify -a pair\_coeff command with I != J arguments for the eam styles. +a pair_coeff command with I != J arguments for the eam styles. This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. The eam pair styles do not write their information to :doc:`binary restart files <restart>`, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair\_style and pair\_coeff commands in +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. The eam pair styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - All of these styles are part of the MANYBODY package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -513,45 +489,31 @@ Related commands **Default:** none - ---------- - .. _Ackland1: - - **(Ackland1)** Ackland, Condensed Matter (2005). .. _Ackland2: - - **(Ackland2)** Ackland, Mendelev, Srolovitz, Han and Barashev, Journal of Physics: Condensed Matter, 16, S2629 (2004). .. _Daw: - - **(Daw)** Daw, Baskes, Phys Rev Lett, 50, 1285 (1983). Daw, Baskes, Phys Rev B, 29, 6443 (1984). .. _Finnis1: - - **(Finnis)** Finnis, Sinclair, Philosophical Magazine A, 50, 45 (1984). .. _Stukowski: - - **(Stukowski)** Stukowski, Sadigh, Erhart, Caro; Modeling Simulation Materials Science & Engineering, 7, 075005 (2009). .. _Caro: - - **(Caro)** A Caro, DA Crowson, M Caro; Phys Rev Lett, 95, 075702 (2005) diff --git a/doc/src/pair_edip.rst b/doc/src/pair_edip.rst index 24f1aebd74..02f779bebf 100644 --- a/doc/src/pair_edip.rst +++ b/doc/src/pair_edip.rst @@ -12,7 +12,6 @@ pair_style edip/multi command Syntax """""" - .. code-block:: LAMMPS pair_style style @@ -45,7 +44,7 @@ In EDIP, the energy E of a system of atoms is \phi_{2}(r, Z) = & A\left[\left(\frac{B}{r}\right)^{\rho} - e^{-\beta Z^2}\right]exp{\left(\frac{\sigma}{r-a}\right)} \\ \phi_{3}(R_{ij}, R_{ik}, Z_i) = & exp{\left(\frac{\gamma}{R_{ij}-a}\right)}exp{\left(\frac{\gamma}{R_{ik}-a}\right)}h(cos\theta_{ijk},Z_i) \\ Z_i = & \sum_{m \ne i} f(R_{im}) \qquad - f(r) = \begin{cases} + f(r) = \begin{cases} 1 & \quad r<c \\ \exp\left(\frac{\alpha}{1-x^{-3}}\right) & \quad c<r<a \\ 0 & \quad r>a @@ -53,7 +52,6 @@ In EDIP, the energy E of a system of atoms is h(l,Z) = & \lambda [(1-e^{-Q(Z)(l+\tau(Z))^2}) + \eta Q(Z)(l+\tau(Z))^2 ] \\ Q(Z) = & Q_0 e^{-\mu Z} \qquad \tau(Z) = u_1 + u_2 (u_3 e^{-u_4 Z} - e^{-2u_4 Z}) - where :math:`\phi_2` is a two-body term and :math:`\phi_3` is a three-body term. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = a. Both terms depend on the @@ -61,10 +59,10 @@ local environment of atom I through its effective coordination number defined by Z, which is unity for a cutoff distance < c and gently goes to 0 at distance = a. -Only a single pair\_coeff command is used with the *edip* style which +Only a single pair_coeff command is used with the *edip* style which specifies a EDIP potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -108,7 +106,7 @@ for three-body interactions. The alpha and cutoffC parameters are used for the coordination environment function only. The EDIP potential file must contain entries for all the -elements listed in the pair\_coeff command. It can also contain +elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. @@ -125,10 +123,8 @@ multi-element EDIP parameterization. If you know any and you are interest in that, please contact the author of the EDIP package. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -147,31 +143,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -192,12 +183,8 @@ Related commands **Default:** none - ---------- - .. _EDIP: - - **(EDIP)** J F Justo et al, Phys Rev B 58, 2539 (1998). diff --git a/doc/src/pair_eff.rst b/doc/src/pair_eff.rst index 9a902054da..f163e5afaa 100644 --- a/doc/src/pair_eff.rst +++ b/doc/src/pair_eff.rst @@ -6,16 +6,15 @@ pair_style eff/cut command Syntax """""" - .. code-block:: LAMMPS pair_style eff/cut cutoff keyword args ... * cutoff = global cutoff for Coulombic interactions * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *limit/eradius* or *pressure/evirials* or *ecp* *limit/eradius* args = none *pressure/evirials* args = none @@ -23,12 +22,9 @@ Syntax type = LAMMPS atom type (1 to Ntypes) element = element symbol (e.g. H, Si) - - Examples """""""" - .. code-block:: LAMMPS pair_style eff/cut 39.7 @@ -93,9 +89,9 @@ electronically excited and ionized states of matter can occur and coexist. Furthermore, the interactions between particles -nuclei and electrons- reduce to the sum of a set of effective pairwise potentials in the eFF formulation. The *eff/cut* style computes the pairwise -Coulomb interactions between nuclei and electrons (E\_NN,E\_Ne,E\_ee), -and the quantum-derived Pauli (E\_PR) and Kinetic energy interactions -potentials between electrons (E\_KE) for a total energy expression +Coulomb interactions between nuclei and electrons (E_NN,E_Ne,E_ee), +and the quantum-derived Pauli (E_PR) and Kinetic energy interactions +potentials between electrons (E_KE) for a total energy expression given as, .. math:: @@ -112,10 +108,10 @@ The individual terms are defined as follows: E_{ee} = & \frac{1}{{4\pi \varepsilon _0 }}\sum\limits_{i < j} {\frac{1}{{r_{ij} }}Erf\left( {\frac{{\sqrt 2 r_{ij} }}{{\sqrt {s_i^2 + s_j^2 } }}} \right)} \\ E_{Pauli} = & \sum\limits_{\sigma _i = \sigma _j } {E\left( { \uparrow \uparrow } \right)_{ij}} + \sum\limits_{\sigma _i \ne \sigma _j } {E\left( { \uparrow \downarrow } \right)_{ij}} \\ -where, s\_i correspond to the electron sizes, the sigmas i's to the -fixed spins of the electrons, Z\_i to the charges on the nuclei, R\_ij +where, s_i correspond to the electron sizes, the sigmas i's to the +fixed spins of the electrons, Z_i to the charges on the nuclei, R_ij to the distances between the nuclei or the nuclei and electrons, and -r\_ij to the distances between electrons. For additional details see +r_ij to the distances between electrons. For additional details see :ref:`(Jaramillo-Botero) <Jaramillo-Botero>`. The overall electrostatics energy is given in Hartree units of energy @@ -147,17 +143,15 @@ commands, or by mixing as described below: For *eff/cut*\ , the cutoff coefficient is optional. If it is not used (as in some of the examples above), the default global value specified -in the pair\_style command is used. +in the pair_style command is used. For *eff/long* (not yet available) no cutoff will be specified for an individual I,J type pair via the :doc:`pair_coeff <pair_coeff>` command. -All type pairs use the same global cutoff specified in the pair\_style +All type pairs use the same global cutoff specified in the pair_style command. - ---------- - The *limit/eradius* and *pressure/evirials* keywords are optional. Neither or both must be specified. If not specified they are unset. @@ -166,7 +160,7 @@ becoming excessively diffuse at very high temperatures were the Gaussian wave packet representation breaks down, and from expanding as free particles to infinite size. If unset, electron radius is free to increase without bounds. If set, a restraining harmonic potential of -the form E = 1/2k\_ss\^2 for s > L\_box/2, where k\_s = 1 Hartrees/Bohr\^2, +the form E = 1/2k_ss\^2 for s > L_box/2, where k_s = 1 Hartrees/Bohr\^2, is applied on the electron radius. The *pressure/evirials* keyword is used to control between two types @@ -185,7 +179,7 @@ representations, after the "ecp" keyword. .. note:: Default ECP parameters are provided for C, N, O, Al, and Si. - Users can modify these using the pair\_coeff command as exemplified + Users can modify these using the pair_coeff command as exemplified above. For this, the User must distinguish between two different functional forms supported, one that captures the orbital overlap assuming the s-type core interacts with an s-like valence electron @@ -197,7 +191,7 @@ representations, after the "ecp" keyword. .. note:: there are two different pressures that can be reported for eFF - when defining this pair\_style, one (default) that considers electrons + when defining this pair_style, one (default) that considers electrons do not contribute radial virial components (i.e. electrons treated as incompressible 'rigid' spheres) and one that does. The radial electronic contributions to the virials are only tallied if the @@ -208,10 +202,8 @@ representations, after the "ecp" keyword. significant over long-term averaged runs (i.e. even though the energy partitioning changes, the total energy remains similar). - ---------- - .. note:: This implementation of eFF gives a reasonably accurate description @@ -226,7 +218,7 @@ representations, after the "ecp" keyword. .. math:: E_{Pauli(ECP_s)} = & p_1\exp\left(-\frac{p_2r^2}{p_3+s^2} \right) \\ - E_{Pauli(ECP_p)} = & p_1\left( \frac{2}{p_2/s+s/p_2} \right)\left( r-p_3s\right)^2\exp \left[ -\frac{p_4\left( r-p_3s \right)^2}{p_5+s^2} \right] + E_{Pauli(ECP_p)} = & p_1\left( \frac{2}{p_2/s+s/p_2} \right)\left( r-p_3s\right)^2\exp \left[ -\frac{p_4\left( r-p_3s \right)^2}{p_5+s^2} \right] Where the 1st form correspond to core interactions with s-type valence electrons and the 2nd to core interactions with p-type valence @@ -266,15 +258,13 @@ metals (e.g. beryllium) and semimetals such as boron; and various compounds containing ionic and/or multicenter bonds, such as boron dihydride. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the cutoff distance for the *eff/cut* style can be mixed. The default mix value is *geometric*\ . -See the "pair\_modify" command for details. +See the "pair_modify" command for details. The :doc:`pair_modify <pair_modify>` shift option is not relevant for these pair styles. @@ -287,21 +277,18 @@ These pair styles do not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -These pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These pair styles will only be enabled if LAMMPS is built with the USER-EFF package. It will only be enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for @@ -323,23 +310,17 @@ Related commands Default """"""" -If not specified, limit\_eradius = 0 and pressure\_with\_evirials = 0. - +If not specified, limit_eradius = 0 and pressure_with_evirials = 0. ---------- - .. _Su: - - **(Su)** Su and Goddard, Excited Electron Dynamics Modeling of Warm Dense Matter, Phys Rev Lett, 99:185003 (2007). .. _Jaramillo-Botero: - - **(Jaramillo-Botero)** Jaramillo-Botero, Su, Qi, Goddard, Large-scale, Long-term Non-adiabatic Electron Molecular Dynamics for Describing Material Properties and Phenomena in Extreme Environments, J Comp diff --git a/doc/src/pair_eim.rst b/doc/src/pair_eim.rst index a3fee3fb96..bb09e10ed2 100644 --- a/doc/src/pair_eim.rst +++ b/doc/src/pair_eim.rst @@ -9,7 +9,6 @@ pair_style eim/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style @@ -19,7 +18,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style eim @@ -40,8 +38,8 @@ energy of the system E is given by The first term is a double pairwise sum over the J neighbors of all I atoms, where :math:`\phi_{ij}` is a pair potential. The second term sums over -the embedding energy E\_i of atom I, which is a function of its charge -q\_i and the electrical potential :math:`\sigma_i` at its location. E\_i, q\_i, +the embedding energy E_i of atom I, which is a function of its charge +q_i and the electrical potential :math:`\sigma_i` at its location. E_i, q_i, and :math:`sigma_i` are calculated as .. math:: @@ -79,12 +77,10 @@ atoms in the atomic pair. charge on each atom and thus requires you to assign a charge to each atom, e.g. the *charge* or *full* atom styles. This is because the EIM potential infers the charge on an atom from the equation above for - q\_i; you do not assign charges explicitly. - + q_i; you do not assign charges explicitly. ---------- - All the EIM parameters are listed in a potential file which is specified by the :doc:`pair_coeff <pair_coeff>` command. This is an ASCII text file in a format described below. The "ffield.eim" file @@ -94,15 +90,15 @@ A system with any combination of these elements can be modeled. This file is parameterized in terms of LAMMPS :doc:`metal units <units>`. Note that unlike other potentials, cutoffs for EIM potentials are not -set in the pair\_style or pair\_coeff command; they are specified in the +set in the pair_style or pair_coeff command; they are specified in the EIM potential file itself. Likewise, the EIM potential file lists atomic masses; thus you do not need to use the :doc:`mass <mass>` command to specify them. -Only a single pair\_coeff command is used with the *eim* style which +Only a single pair_coeff command is used with the *eim* style which specifies an EIM potential file and the element(s) to extract information for. The EIM elements are mapped to LAMMPS atom types by -specifying N additional arguments after the filename in the pair\_coeff +specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * Elem1, Elem2, ... @@ -115,8 +111,7 @@ to specify the path for the potential file. As an example like one of those above, suppose you want to model a system with Na and Cl atoms. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Na, and the 4th to be Cl, you would -use the following pair\_coeff command: - +use the following pair_coeff command: .. code-block:: LAMMPS @@ -152,17 +147,15 @@ radius (LAMMPS ignores it), ionic radius (LAMMPS ignores it), cohesive energy (LAMMPS ignores it), and q0 (must be 0). Lines starting with "pair:" are entered as: element 1, element 2, -r\_(c,phi), r\_(c,phi) (redundant for historical reasons), E\_b, r\_e, -alpha, beta, r\_(c,eta), A\_(eta), r\_(s,eta), r\_(c,psi), A\_(psi), zeta, -r\_(s,psi), and p. +r_(c,phi), r_(c,phi) (redundant for historical reasons), E_b, r_e, +alpha, beta, r_(c,eta), A_(eta), r_(s,eta), r_(c,psi), A_(psi), zeta, +r_(s,psi), and p. The lines in the file can be in any order; LAMMPS extracts the info it needs. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -181,14 +174,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. @@ -199,13 +189,9 @@ Related commands **Default:** none - ---------- - .. _Zhou2: - - **(Zhou)** Zhou, submitted for publication (2010). Please contact Xiaowang Zhou (Sandia) for details via email at xzhou at sandia.gov. diff --git a/doc/src/pair_exp6_rx.rst b/doc/src/pair_exp6_rx.rst index 453f6f9aa8..7f2be1817a 100644 --- a/doc/src/pair_exp6_rx.rst +++ b/doc/src/pair_exp6_rx.rst @@ -9,7 +9,6 @@ pair_style exp6/rx/kk command Syntax """""" - .. code-block:: LAMMPS pair_style exp6/rx cutoff ... @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style exp6/rx 10.0 @@ -47,7 +45,6 @@ particle through a site-site interaction potential model. The U_{ij}(r) = \frac{\epsilon}{\alpha-6}\{6\exp[\alpha(1-\frac{r_{ij}}{R_{m}})]-\alpha(\frac{R_{m}}{r_{ij}})^6\} - where the :math:`\epsilon` parameter determines the depth of the potential minimum located at :math:`R_m`, and :math:`\alpha` determines the softness of the repulsion. @@ -96,14 +93,11 @@ arguments. This is equivalent to specifying the *exponent* option with The final argument specifies the interaction cutoff (optional). - ---------- - The format of a tabulated file is as follows (without the parenthesized comments): - .. parsed-literal:: # exponential-6 parameters for various species (one or more comment or blank lines) @@ -116,7 +110,6 @@ parenthesized comments): The format of the polynomial scaling file as follows (without the parenthesized comments): - .. parsed-literal:: # POLYNOMIAL FILE (one or more comment or blank lines) @@ -155,17 +148,14 @@ where .. math:: \epsilon_{ab} = & \sqrt{\epsilon_{a}\epsilon_{b}} \\ - R_{m,ab} = & \frac{R_{m,a}+R_{m,b}}{2} \\ + R_{m,ab} = & \frac{R_{m,a}+R_{m,b}}{2} \\ \alpha_{ab} = & \sqrt{\alpha_{a}\alpha_{b}} - and :math:`x_a` and :math:`x_b` are the mole fractions of a and b, respectively, which comprise the gas mixture. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all @@ -174,14 +164,12 @@ I,J pairs must be specified explicitly. This style does not support the :doc:`pair_modify <pair_modify>` shift option for the energy of the exp() and 1/r\^6 portion of the pair interaction. -This style does not support the pair\_modify tail option for adding long-range +This style does not support the pair_modify tail option for adding long-range tail corrections to energy and pressure for the A,C terms in the pair interaction. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -200,14 +188,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_extep.rst b/doc/src/pair_extep.rst index 4618c44804..8e5bc3ac9f 100644 --- a/doc/src/pair_extep.rst +++ b/doc/src/pair_extep.rst @@ -6,7 +6,6 @@ pair_style extep command Syntax """""" - .. code-block:: LAMMPS pair_style extep @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style extep @@ -26,10 +24,8 @@ Description Style *extep* computes the Extended Tersoff Potential (ExTeP) interactions as described in :ref:`(Los2017) <Los2017>`. - ---------- - Restrictions """""""""""" none @@ -37,18 +33,14 @@ none Related commands """""""""""""""" -"pair\_tersoff" pair\_tersoff.html +"pair_tersoff" pair_tersoff.html **Default:** none - ---------- - .. _Los2017: - - **(Los2017)** J. H. Los et al. "Extended Tersoff potential for boron nitride: Energetics and elastic properties of pristine and defective h-BN", Phys. Rev. B 96 (184108), 2017. diff --git a/doc/src/pair_fep_soft.rst b/doc/src/pair_fep_soft.rst index 2d81628c0d..c8f7d0d7ab 100644 --- a/doc/src/pair_fep_soft.rst +++ b/doc/src/pair_fep_soft.rst @@ -63,7 +63,6 @@ pair_style morse/soft command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -71,7 +70,6 @@ Syntax * style = *lj/cut/soft* or *lj/cut/coul/cut/soft* or *lj/cut/coul/long/soft* or *lj/cut/tip4p/long/soft* or *lj/charmm/coul/long/soft* or *lj/class2/soft* or *lj/class2/coul/cut/soft* or *lj/class2/coul/long/soft* or *coul/cut/soft* or *coul/long/soft* or *tip4p/long/soft* or *morse/soft* * args = list of arguments for a particular style - .. parsed-literal:: *lj/cut/soft* args = n alpha_lj cutoff @@ -127,7 +125,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/cut/soft 2.0 0.5 9.5 @@ -231,7 +228,6 @@ every 0.1. .. image:: JPG/lj_soft.jpg .. image:: JPG/coul_soft.jpg - For the *lj/cut/coul/cut/soft* or *lj/cut/coul/long/soft* pair styles, as well as for the equivalent *class2* versions, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` @@ -246,7 +242,7 @@ or by mixing as described below: * cutoff2 (distance units) The latter two coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair\_style command are used. +LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this @@ -313,10 +309,8 @@ example hydrogen atoms in several water models). the *coul/long/soft* or similar sub-style can be used via the :doc:`pair_style hybrid/overlay <pair_hybrid>` command. - ---------- - The *morse/soft* variant modifies the :doc:`pair_morse <pair_morse>` style at short range to have a soft core. The functional form differs from that of the *lj/soft* styles, and is instead given by: @@ -345,10 +339,8 @@ The *morse/soft* style requires the following pair coefficients: The last coefficient is optional. If not specified, the global morse cutoff is used. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -368,10 +360,8 @@ command in your input script. See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, tail correction, restart info**\ : The different versions of the *lj/cut/soft* pair styles support mixing. For @@ -416,17 +406,14 @@ The *morse/soft* pair style does not support the :doc:`pair_modify pressure. All of these pair styles write information to :doc:`binary restart files -<restart>`, so pair\_style and pair\_coeff commands do not need to be specified +<restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. - ---------- - Restrictions """""""""""" - The pair styles with soft core are only enabled if LAMMPS was built with the USER-FEP package. The *long* versions also require the KSPACE package to be installed. The soft *tip4p* versions also require the MOLECULE package to be @@ -442,13 +429,9 @@ Related commands **Default:** none - ---------- - .. _Beutler: - - **(Beutler)** Beutler, Mark, van Schaik, Gerber, van Gunsteren, Chem Phys Lett, 222, 529 (1994). diff --git a/doc/src/pair_gauss.rst b/doc/src/pair_gauss.rst index 911b1c1504..1f183c00b9 100644 --- a/doc/src/pair_gauss.rst +++ b/doc/src/pair_gauss.rst @@ -18,7 +18,6 @@ pair_style gauss/cut/omp command Syntax """""" - .. code-block:: LAMMPS pair_style gauss cutoff @@ -29,7 +28,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style gauss 12.0 @@ -48,7 +46,6 @@ Style *gauss* computes a tethering potential of the form E = - A \exp(-B r^2) \qquad r < r_c - between an atom and its corresponding tether site which will typically be a frozen atom in the simulation. :math:`r_c` is the cutoff. @@ -72,7 +69,6 @@ between pairs of particles: E = \frac{H}{\sigma_h\sqrt{2\pi}} \exp\left[-\frac{(r-r_{mh})^2}{2\sigma_h^2}\right] - where H determines together with the standard deviation :math:`\sigma_h` the peak height of the Gaussian function, and :math:`r_{mh}` the peak position. Examples of the use of the Gaussian potentials include @@ -117,28 +113,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -For atom type pairs I,J and I != J, the A, B, H, sigma\_h, r\_mh +For atom type pairs I,J and I != J, the A, B, H, sigma_h, r_mh parameters, and the cutoff distance for these pair styles can be mixed: A (energy units) sqrt(1/B) (distance units, see below) H (energy units) -sigma\_h (distance units) -r\_mh (distance units) +sigma_h (distance units) +r_mh (distance units) cutoff (distance units):ul The default mix value is *geometric*\ . Only *arithmetic* and *geometric* mix values are supported. -See the "pair\_modify" command for details. +See the "pair_modify" command for details. The A and H parameters are mixed using the same rules normally used to mix the "epsilon" parameter in a Lennard Jones interaction. -The sigma\_h, r\_mh, and the cutoff distance are mixed using the same +The sigma_h, r_mh, and the cutoff distance are mixed using the same rules used to mix the "sigma" parameter in a Lennard Jones interaction. The B parameter is converted to a distance (sigma), before mixing (using sigma=B\^-0.5), and converted back to a coefficient @@ -160,7 +154,7 @@ interaction. The :doc:`pair_modify <pair_modify>` table and tail options are not relevant for these pair styles. -These pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the @@ -174,21 +168,17 @@ sites have an atom within the distance at which the force is a maximum To print this quantity to the log file (with a descriptive column heading) the following commands could be included in an input script: - .. code-block:: LAMMPS compute gauss all pair gauss variable occ equal c_gauss[1] thermo_style custom step temp epair v_occ - ---------- - Restrictions """""""""""" - The *gauss/cut* style is part of the "user-misc" package. It is only enabled if LAMMPS is build with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -202,14 +192,10 @@ Related commands .. _Lenart2: - - **(Lenart)** Lenart , Jusufi, and Panagiotopoulos, J Chem Phys, 126, 044509 (2007). .. _Jusufi2: - - **(Jusufi)** Jusufi, Hynninen, and Panagiotopoulos, J Phys Chem B, 112, 13783 (2008). diff --git a/doc/src/pair_gayberne.rst b/doc/src/pair_gayberne.rst index e69d30a834..e6cf480852 100644 --- a/doc/src/pair_gayberne.rst +++ b/doc/src/pair_gayberne.rst @@ -15,7 +15,6 @@ pair_style gayberne/omp command Syntax """""" - .. code-block:: LAMMPS pair_style gayberne gamma upsilon mu cutoff @@ -28,7 +27,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style gayberne 1.0 1.0 1.0 10.0 @@ -100,7 +98,7 @@ commands, or by mixing as described below: * cutoff (distance units) The last coefficient is optional. If not specified, the global -cutoff specified in the pair\_style command is used. +cutoff specified in the pair_style command is used. It is typical with the Gay-Berne potential to define :math:`\sigma` as the minimum of the 3 shape diameters of the particles involved in an I,I @@ -110,7 +108,7 @@ meaning for :math:`\sigma` than the :doc:`pair_style resquared The :math:`\epsilon_i` and :math:`\epsilon_j` coefficients are actually defined for atom types, not for pairs of atom types. Thus, in a series -of pair\_coeff commands, they only need to be specified once for each +of pair_coeff commands, they only need to be specified once for each atom type. Specifically, if any of :math:`\epsilon_{i,a}`, :math:`\epsilon_{i,b}`, @@ -118,20 +116,20 @@ Specifically, if any of :math:`\epsilon_{i,a}`, :math:`\epsilon_{i,b}`, atom type I. If all the :math:`\epsilon_i` values are zero, they are ignored. If any of :math:`\epsilon_{j,a}`, :math:`\epsilon_{j,b}`, :math:`\epsilon_{j,c}` are non-zero, the three values are assigned to -atom type J. If all three epsilon\_j values are zero, they are ignored. +atom type J. If all three epsilon_j values are zero, they are ignored. Thus the typical way to define the :math:`\epsilon_i` and -:math:`\epsilon_j` coefficients is to list their values in "pair\_coeff +:math:`\epsilon_j` coefficients is to list their values in "pair_coeff I J" commands when I = J, but set them to 0.0 when I != J. If you do list them when I != J, you should insure they are consistent with their -values in other pair\_coeff commands, since only the last setting will +values in other pair_coeff commands, since only the last setting will be in effect. Note that if this potential is being used as a sub-style of -:doc:`pair_style hybrid <pair_hybrid>`, and there is no "pair\_coeff I I" +:doc:`pair_style hybrid <pair_hybrid>`, and there is no "pair_coeff I I" setting made for Gay-Berne for a particular type I (because I-I interactions are computed by another hybrid pair potential), then you still need to insure the :math:`\epsilon` a,b,c coefficients are assigned to -that type. e.g. in a "pair\_coeff I J" command. +that type. e.g. in a "pair_coeff I J" command. .. note:: @@ -144,13 +142,13 @@ that type. e.g. in a "pair\_coeff I J" command. as the standard LJ parameters. This is much cheaper to compute than the full Gay-Berne formula. To treat the particle as a LJ sphere with sigma = D, you should normally set :math:`\epsilon` a = b = c = - 1.0, set the pair\_coeff :math:`\sigma = D`, and also set the 3 shape + 1.0, set the pair_coeff :math:`\sigma = D`, and also set the 3 shape parameters for the particle to D. The one exception is that if the 3 shape parameters are set to 0.0, which is a valid way in LAMMPS to specify a point particle, then the Gay-Berne potential will treat that as shape parameters of 1.0 (i.e. a LJ particle with :math:`\sigma = 1`), since it requires finite-size particles. In - this case you should still set the pair\_coeff :math:`\sigma` to 1.0 + this case you should still set the pair_coeff :math:`\sigma` to 1.0 as well. ---------- @@ -173,15 +171,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for this pair style can be mixed. The default mix -value is *geometric*\ . See the "pair\_modify" command for details. +value is *geometric*\ . See the "pair_modify" command for details. This pair styles supports the :doc:`pair_modify <pair_modify>` shift option for the energy of the Lennard-Jones portion of the pair @@ -196,21 +192,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *gayberne* style is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -241,31 +234,21 @@ Related commands **Default:** none - ---------- - .. _Everaers2: - - **(Everaers)** Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). .. _Berardi: - - **(Berardi)** Berardi, Fava, Zannoni, Chem Phys Lett, 297, 8-14 (1998). Berardi, Muccioli, Zannoni, J Chem Phys, 128, 024905 (2008). .. _Perram: - - **(Perram)** Perram and Rasmussen, Phys Rev E, 54, 6565-6572 (1996). .. _Allen3: - - **(Allen)** Allen and Germano, Mol Phys 104, 3225-3235 (2006). diff --git a/doc/src/pair_gran.rst b/doc/src/pair_gran.rst index 3a75a410b1..3cfe946e41 100644 --- a/doc/src/pair_gran.rst +++ b/doc/src/pair_gran.rst @@ -24,7 +24,6 @@ pair_style gran/hertz/history/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style Kn Kt gamma_n gamma_t xmu dampflag @@ -32,19 +31,18 @@ Syntax * style = *gran/hooke* or *gran/hooke/history* or *gran/hertz/history* * Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) * Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) -* gamma\_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) -* gamma\_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) +* gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) +* gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) * xmu = static yield criterion (unitless value between 0.0 and 1.0e4) * dampflag = 0 or 1 if tangential damping force is excluded or included - .. note:: Versions of LAMMPS before 9Jan09 had different style names for granular force fields. This is to emphasize the fact that the Hertzian equation has changed to model polydispersity more accurately. - A side effect of the change is that the Kn, Kt, gamma\_n, and gamma\_t - coefficients in the pair\_style command must be specified with + A side effect of the change is that the Kn, Kt, gamma_n, and gamma_t + coefficients in the pair_style command must be specified with different values in order to reproduce calculations made with earlier versions of LAMMPS, even for monodisperse systems. See the NOTE below for details. @@ -52,7 +50,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style gran/hooke/history 200000.0 NULL 50.0 NULL 0.5 1 @@ -72,24 +69,22 @@ The two Hookean styles use this formula: .. math:: - F_{hk} = (k_n \delta \mathbf{n}_{ij} - - m_{eff} \gamma_n\mathbf{ v}_n) - + F_{hk} = (k_n \delta \mathbf{n}_{ij} - + m_{eff} \gamma_n\mathbf{ v}_n) - (k_t \mathbf{ \Delta s}_t + m_{eff} \gamma_t \mathbf{v}_t) - The Hertzian style uses this formula: .. math:: - F_{hz} = \sqrt{\delta} \sqrt{\frac{R_i R_j}{R_i + R_j}} F_{hk} = - \sqrt{\delta} \sqrt{\frac{R_i R_j}{R_i + R_j}} - \Big[ (k_n \delta \mathbf{n}_{ij} - + F_{hz} = \sqrt{\delta} \sqrt{\frac{R_i R_j}{R_i + R_j}} F_{hk} = + \sqrt{\delta} \sqrt{\frac{R_i R_j}{R_i + R_j}} + \Big[ (k_n \delta \mathbf{n}_{ij} - m_{eff} \: \gamma_n \mathbf{ v}_n) - (k_t \mathbf{ \Delta s}_t + m_{eff} \: \gamma_t \mathbf{v}_t) \Big] - In both equations the first parenthesized term is the normal force between the two particles and the second parenthesized term is the tangential force. The normal force has 2 terms, a contact force and a @@ -109,14 +104,14 @@ The other quantities in the equations are as follows: * :math:`K_t` = elastic constant for tangential contact * :math:`\gamma_n` = viscoelastic damping constant for normal contact * :math:`\gamma_t` = viscoelastic damping constant for tangential contact -* :math:`m_{eff} = M_i M_j / (M_i + M_j) =` effective mass of 2 particles of mass M\_i and M\_j +* :math:`m_{eff} = M_i M_j / (M_i + M_j) =` effective mass of 2 particles of mass M_i and M_j * :math:`\mathbf{\Delta s}_t =` tangential displacement vector between 2 particles which is truncated to satisfy a frictional yield criterion * :math:`n_{ij} =` unit vector along the line connecting the centers of the 2 particles * :math:`V_n =` normal component of the relative velocity of the 2 particles * :math:`V_t =` tangential component of the relative velocity of the 2 particles The :math:`K_n`, :math:`K_t`, :math:`\gamma_n`, and :math:`\gamma_t` -coefficients are specified as parameters to the pair\_style command. If +coefficients are specified as parameters to the pair_style command. If a NULL is used for :math:`K_t`, then a default value is used where :math:`K_t = 2/7 K_n`. If a NULL is used for :math:`\gamma_t`, then a default value is used where :math:`\gamma_t = 1/2 \gamma_n`. @@ -175,7 +170,7 @@ Hookean styles may not be a suitable model for polydisperse systems. of diameter 1, all 4 of these coefficients should now be set 2x larger than they were previously. -Xmu is also specified in the pair\_style command and is the upper limit +Xmu is also specified in the pair_style command and is the upper limit of the tangential force through the Coulomb criterion Ft = xmu\*Fn, where Ft and Fn are the total tangential and normal force components in the formulas above. Thus in the Hookean case, the tangential force @@ -191,7 +186,7 @@ holds, though the spring is no longer linear. for modeling of systems which can sustain very large tangential forces. -The effective mass *m\_eff* is given by the formula above for two +The effective mass *m_eff* is given by the formula above for two isolated particles. If either particle is part of a rigid body, its mass is replaced by the mass of the rigid body in the formula above. This is determined by searching for a :doc:`fix rigid <fix_rigid>` @@ -199,11 +194,10 @@ command (or its variants). For granular styles there are no additional coefficients to set for each pair of atom types via the :doc:`pair_coeff <pair_coeff>` command. -All settings are global and are made via the pair\_style command. +All settings are global and are made via the pair_style command. However you must still use the :doc:`pair_coeff <pair_coeff>` for all pairs of granular atom types. For example the command - .. code-block:: LAMMPS pair_coeff * * @@ -211,13 +205,11 @@ pairs of granular atom types. For example the command should be used if all atoms in the simulation interact via a granular potential (i.e. one of the pair styles above is used). If a granular potential is used as a sub-style of :doc:`pair_style hybrid <pair_hybrid>`, then specific atom types can be used in the -pair\_coeff command to determine which atoms interact via a granular +pair_coeff command to determine which atoms interact via a granular potential. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -236,16 +228,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : The :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options are not relevant for granular pair styles. -These pair styles write their information to :doc:`binary restart files <restart>`, so a pair\_style command does not need to be +These pair styles write their information to :doc:`binary restart files <restart>`, so a pair_style command does not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the @@ -267,14 +257,11 @@ tangential direction. These extra quantities can be accessed by the :doc:`compute pair/local <compute_pair_local>` command, as *p1*\ , *p2*\ , ..., *p10*\ . - ---------- - Restrictions """""""""""" - All the granular pair styles are part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -299,26 +286,18 @@ Related commands **Default:** none - ---------- - .. _Brilliantov: - - **(Brilliantov)** Brilliantov, Spahn, Hertzsch, Poschel, Phys Rev E, 53, p 5382-5392 (1996). .. _Silbert: - - **(Silbert)** Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev E, 64, p 051302 (2001). .. _Zhang3: - - **(Zhang)** Zhang and Makse, Phys Rev E, 72, p 011301 (2005). diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index 6d5dfbdba8..73b1ec85ec 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -6,7 +6,6 @@ pair_style granular command Syntax """""" - .. code-block:: LAMMPS pair_style granular cutoff @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style granular @@ -67,14 +65,12 @@ on a Johnson-Kendall-Roberts normal contact model and 2-2 interactions are based on a DMT cohesive model (see below). In that example, 1-1 and 2-2 interactions have different model forms, in which case mixing of coefficients cannot be determined, so 1-2 interactions must be -explicitly defined via the *pair\_coeff 1 \** command, otherwise an +explicitly defined via the *pair_coeff 1 \** command, otherwise an error would result. - ---------- - -The first required keyword for the *pair\_coeff* command is the normal +The first required keyword for the *pair_coeff* command is the normal contact model. Currently supported options for normal contact models and their required arguments are: @@ -95,7 +91,6 @@ damping mode, see below); E is Young's modulus in units of For the *hooke* model, the normal, elastic component of force acting on particle *i* due to contact with particle *j* is given by: - .. math:: \mathbf{F}_{ne, Hooke} = k_N \delta_{ij} \mathbf{n} @@ -109,7 +104,6 @@ for *hooke*\ , the units of the spring constant :math:`k_n` are For the *hertz* model, the normal component of force is given by: - .. math:: \mathbf{F}_{ne, Hertz} = k_N R_{eff}^{1/2}\delta_{ij}^{3/2} \mathbf{n} @@ -121,7 +115,6 @@ equivalently *pressure*\ . For the *hertz/material* model, the force is given by: - .. math:: \mathbf{F}_{ne, Hertz/material} = \frac{4}{3} E_{eff} R_{eff}^{1/2}\delta_{ij}^{3/2} \mathbf{n} @@ -136,7 +129,6 @@ The *dmt* model corresponds to the :ref:`(Derjaguin-Muller-Toporov) <DMT1975>` cohesive model, where the force is simply Hertz with an additional attractive cohesion term: - .. math:: \mathbf{F}_{ne, dmt} = \left(\frac{4}{3} E R^{1/2}\delta_{ij}^{3/2} - 4\pi\gamma R\right)\mathbf{n} @@ -144,7 +136,6 @@ is simply Hertz with an additional attractive cohesion term: The *jkr* model is the :ref:`(Johnson-Kendall-Roberts) <JKR1971>` model, where the force is computed as: - .. math:: \mathbf{F}_{ne, jkr} = \left(\frac{4Ea^3}{3R} - 2\pi a^2\sqrt{\frac{4\gamma E}{\pi a}}\right)\mathbf{n} @@ -152,7 +143,6 @@ where the force is computed as: Here, *a* is the radius of the contact zone, related to the overlap :math:`\delta` according to: - .. math:: \delta = a^2/R - 2\sqrt{\pi \gamma a/E} @@ -168,14 +158,11 @@ initially will not experience force until they come into contact experience a tensile force up to :math:`3\pi\gamma R`, at which point they lose contact. - ---------- - In addition, the normal force is augmented by a damping term of the following general form: - .. math:: \mathbf{F}_{n,damp} = -\eta_n \mathbf{v}_{n,rel} @@ -183,7 +170,7 @@ following general form: Here, :math:`\mathbf{v}_{n,rel} = (\mathbf{v}_j - \mathbf{v}_i) \cdot \mathbf{n} \mathbf{n}` is the component of relative velocity along :math:`\mathbf{n}`. -The optional *damping* keyword to the *pair\_coeff* command followed by +The optional *damping* keyword to the *pair_coeff* command followed by a keyword determines the model form of the damping factor :math:`\eta_n`, and the interpretation of the :math:`\eta_{n0}` or :math:`e` coefficients specified as part of the normal contact model settings. The *damping* @@ -194,7 +181,7 @@ other settings, potentially also the twisting damping). The options for the damping model currently supported are: 1. *velocity* -2. *mass\_velocity* +2. *mass_velocity* 3. *viscoelastic* 4. *tsuji* @@ -204,7 +191,6 @@ used by default. For *damping velocity*\ , the normal damping is simply equal to the user-specified damping coefficient in the *normal* model: - .. math:: \eta_n = \eta_{n0} @@ -212,8 +198,7 @@ user-specified damping coefficient in the *normal* model: Here, :math:`\eta_{n0}` is the damping coefficient specified for the normal contact model, in units of *mass*\ /\ *time*\ . -For *damping mass\_velocity*, the normal damping is given by: - +For *damping mass_velocity*, the normal damping is given by: .. math:: @@ -222,14 +207,13 @@ For *damping mass\_velocity*, the normal damping is given by: Here, :math:`\eta_{n0}` is the damping coefficient specified for the normal contact model, in units of *mass*\ /\ *time* and :math:`m_{eff} = m_i m_j/(m_i + m_j)` is the effective mass. -Use *damping mass\_velocity* to reproduce the damping behavior of +Use *damping mass_velocity* to reproduce the damping behavior of *pair gran/hooke/\**. The *damping viscoelastic* model is based on the viscoelastic treatment of :ref:`(Brilliantov et al) <Brill1996>`, where the normal damping is given by: - .. math:: \eta_n = \eta_{n0}\ a m_{eff} @@ -243,7 +227,6 @@ The *tsuji* model is based on the work of :ref:`(Tsuji et al) <Tsuji1992>`. Here the normal model is interpreted as a restitution coefficient :math:`e`. The damping constant :math:`\eta_n` is given by: - .. math:: \eta_n = \alpha (m_{eff}k_n)^{1/2} @@ -251,7 +234,6 @@ the normal model is interpreted as a restitution coefficient For normal contact models based on material parameters, :math:`k_n = 4/3Ea`. The parameter :math:`\alpha` is related to the restitution coefficient *e* according to: - .. math:: \alpha = 1.2728-4.2783e+11.087e^2-22.348e^3+27.467e^4-18.022e^5+4.8218e^6 @@ -263,34 +245,30 @@ no error check is performed on this. The total normal force is computed as the sum of the elastic and damping components: - .. math:: \mathbf{F}_n = \mathbf{F}_{ne} + \mathbf{F}_{n,damp} - ---------- - -The *pair\_coeff* command also requires specification of the tangential +The *pair_coeff* command also requires specification of the tangential contact model. The required keyword *tangential* is expected, followed by the model choice and associated parameters. Currently supported tangential model choices and their expected parameters are as follows: -1. *linear\_nohistory* : :math:`x_{\gamma,t}`, :math:`\mu_s` -2. *linear\_history* : :math:`k_t`, :math:`x_{\gamma,t}`, :math:`\mu_s` +1. *linear_nohistory* : :math:`x_{\gamma,t}`, :math:`\mu_s` +2. *linear_history* : :math:`k_t`, :math:`x_{\gamma,t}`, :math:`\mu_s` 3. *mindlin* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` -4. *mindlin\_rescale* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` +4. *mindlin_rescale* : :math:`k_t` or NULL, :math:`x_{\gamma,t}`, :math:`\mu_s` Here, :math:`x_{\gamma,t}` is a dimensionless multiplier for the normal damping :math:`\eta_n` that determines the magnitude of the tangential damping, :math:`\mu_t` is the tangential (or sliding) friction coefficient, and :math:`k_t` is the tangential stiffness coefficient. -For *tangential linear\_nohistory*, a simple velocity-dependent Coulomb +For *tangential linear_nohistory*, a simple velocity-dependent Coulomb friction criterion is used, which mimics the behavior of the *pair -gran/hooke* style. The tangential force (\mathbf{F}\_t\) is given by: - +gran/hooke* style. The tangential force (\mathbf{F}_t\) is given by: .. math:: @@ -298,7 +276,6 @@ gran/hooke* style. The tangential force (\mathbf{F}\_t\) is given by: The tangential damping force :math:`\mathbf{F}_\mathrm{t,damp}` is given by: - .. math:: \mathbf{F}_\mathrm{t,damp} = -\eta_t \mathbf{v}_{t,rel} @@ -306,7 +283,6 @@ The tangential damping force :math:`\mathbf{F}_\mathrm{t,damp}` is given by: The tangential damping prefactor :math:`\eta_t` is calculated by scaling the normal damping :math:`\eta_n` (see above): - .. math:: \eta_t = -x_{\gamma,t} \eta_n @@ -327,7 +303,6 @@ depends on the form of the contact model. For non-cohesive models (\ *hertz*\ , *hertz/material*\ , *hooke*\ ), it is given by the magnitude of the normal force: - .. math:: F_{n0} = \|\mathbf{F}_n\| @@ -337,7 +312,6 @@ adjusted so that the critical tangential force approaches :math:`\mu_t F_{pullof :ref:`Thornton <Thornton1991>`. For both models, :math:`F_{n0}` takes the form: - .. math:: F_{n0} = \|\mathbf{F}_ne + 2 F_{pulloff}\| @@ -347,11 +321,10 @@ Where :math:`F_{pulloff} = 3\pi \gamma R` for *jkr*\ , and The remaining tangential options all use accumulated tangential displacement (i.e. contact history). This is discussed below in the -context of the *linear\_history* option, but the same treatment of the +context of the *linear_history* option, but the same treatment of the accumulated displacement applies to the other options as well. -For *tangential linear\_history*, the tangential force is given by: - +For *tangential linear_history*, the tangential force is given by: .. math:: @@ -360,7 +333,6 @@ For *tangential linear\_history*, the tangential force is given by: Here, :math:`\mathbf{\xi}` is the tangential displacement accumulated during the entire duration of the contact: - .. math:: \mathbf{\xi} = \int_{t0}^t \mathbf{v}_{t,rel}(\tau) \mathrm{d}\tau @@ -382,7 +354,6 @@ preserve the magnitude. This follows the discussion in :ref:`Luding <Luding2008>`, see equation 17 and relevant discussion in that work: - .. math:: \mathbf{\xi} = \left(\mathbf{\xi'} - (\mathbf{n} \cdot \mathbf{\xi'})\mathbf{n}\right) \frac{\|\mathbf{\xi'}\|}{\|\mathbf{\xi'}\| - \mathbf{n}\cdot\mathbf{\xi'}} @@ -399,7 +370,6 @@ tangential displacement is re-scaled to match the value for the critical force (see :ref:`Luding <Luding2008>`, equation 20 and related discussion): - .. math:: \mathbf{\xi} = -\frac{1}{k_t}\left(\mu_t F_{n0}\mathbf{t} + \mathbf{F}_{t,damp}\right) @@ -409,20 +379,17 @@ damping) to produce the total force on the particle. The tangential force also acts at the contact point (defined as the center of the overlap region) to induce a torque on each particle according to: - .. math:: \mathbf{\tau}_i = -(R_i - 0.5 \delta) \mathbf{n} \times \mathbf{F}_t - .. math:: \mathbf{\tau}_j = -(R_j - 0.5 \delta) \mathbf{n} \times \mathbf{F}_t -For *tangential mindlin*\ , the :ref:`Mindlin <Mindlin1949>` no-slip solution is used, which differs from the *linear\_history* +For *tangential mindlin*\ , the :ref:`Mindlin <Mindlin1949>` no-slip solution is used, which differs from the *linear_history* option by an additional factor of *a*\ , the radius of the contact region. The tangential force is given by: - .. math:: \mathbf{F}_t = -min(\mu_t F_{n0}, \|-k_t a \mathbf{\xi} + \mathbf{F}_\mathrm{t,damp}\|) \mathbf{t} @@ -438,16 +405,14 @@ normal contact model that specifies material parameters :math:`E` and case, mixing of the shear modulus for different particle types *i* and *j* is done according to: - .. math:: 1/G = 2(2-\nu_i)(1+\nu_i)/E_i + 2(2-\nu_j)(1+\nu_j)/E_j -The *mindlin\_rescale* option uses the same form as *mindlin*\ , but the +The *mindlin_rescale* option uses the same form as *mindlin*\ , but the magnitude of the tangential displacement is re-scaled as the contact unloads, i.e. if :math:`a < a_{t_{n-1}}`: - .. math:: \mathbf{\xi} = \mathbf{\xi_{t_{n-1}}} \frac{a}{a_{t_{n-1}}} @@ -460,10 +425,8 @@ created without the rescaling above (:ref:`Walton <WaltonPC>` ). See also discussion in :ref:`Thornton et al, 2013 <Thornton2013>` , particularly equation 18(b) of that work and associated discussion. - ---------- - The optional *rolling* keyword enables rolling friction, which resists pure rolling motion of particles. The options currently supported are: @@ -480,7 +443,6 @@ rolling displacement due to changes in the frame of reference of the contacting pair. The rolling pseudo-force is computed analogously to the tangential force: - .. math:: \mathbf{F}_{roll,0} = k_{roll} \mathbf{\xi}_{roll} - \gamma_{roll} \mathbf{v}_{roll} @@ -489,7 +451,6 @@ Here, :math:`\mathbf{v}_{roll} = -R(\mathbf{\Omega}_i - \mathbf{\Omega}_j) \time velocity, as given in :ref:`Wang et al <Wang2015>` and :ref:`Luding <Luding2008>`. This differs from the expressions given by :ref:`Kuhn and Bagi <Kuhn2004>` and used in :ref:`Marshall <Marshall2009>`; see :ref:`Wang et al <Wang2015>` for details. The rolling displacement is given by: - .. math:: \mathbf{\xi}_{roll} = \int_{t_0}^t \mathbf{v}_{roll} (\tau) \mathrm{d} \tau @@ -497,7 +458,6 @@ velocity, as given in :ref:`Wang et al <Wang2015>` and A Coulomb friction criterion truncates the rolling pseudo-force if it exceeds a critical value: - .. math:: \mathbf{F}_{roll} = min(\mu_{roll} F_{n,0}, \|\mathbf{F}_{roll,0}\|)\mathbf{k} @@ -514,20 +474,16 @@ The rolling pseudo-force does not contribute to the total force on either particle (hence 'pseudo'), but acts only to induce an equal and opposite torque on each particle, according to: - .. math:: \tau_{roll,i} = R_{eff} \mathbf{n} \times \mathbf{F}_{roll} - .. math:: \tau_{roll,j} = -\tau_{roll,i} - ---------- - The optional *twisting* keyword enables twisting friction, which resists rotation of two contacting particles about the vector :math:`\mathbf{n}` that connects their centers. The options currently @@ -546,7 +502,6 @@ changes in the frame of reference due to rotations of the particle pair. The formulation in :ref:`Marshall <Marshall2009>` therefore provides the most straightforward treatment: - .. math:: \tau_{twist,0} = -k_{twist}\xi_{twist} - \gamma_{twist}\Omega_{twist} @@ -555,7 +510,6 @@ Here :math:`\xi_{twist} = \int_{t_0}^t \Omega_{twist} (\tau) \mathrm{d}\tau` is :math:`\Omega_{twist} = (\mathbf{\Omega}_i - \mathbf{\Omega}_j) \cdot \mathbf{n}` is the relative twisting angular velocity. The torque is then truncated according to: - .. math:: \tau_{twist} = min(\mu_{twist} F_{n,0}, \tau_{twist,0}) @@ -564,50 +518,42 @@ Similar to the sliding and rolling displacement, the angular displacement is rescaled so that it corresponds to the critical value if the twisting torque exceeds this critical value: - .. math:: \xi_{twist} = \frac{1}{k_{twist}} (\mu_{twist} F_{n,0}sgn(\Omega_{twist}) - \gamma_{twist}\Omega_{twist}) For *twisting sds*\ , the coefficients :math:`k_{twist}, \gamma_{twist}` and :math:`\mu_{twist}` are simply the user input parameters that follow -the *twisting sds* keywords in the *pair\_coeff* command. +the *twisting sds* keywords in the *pair_coeff* command. -For *twisting\_marshall*, the coefficients are expressed in terms of +For *twisting_marshall*, the coefficients are expressed in terms of sliding friction coefficients, as discussed in :ref:`Marshall <Marshall2009>` (see equations 32 and 33 of that work): - .. math:: k_{twist} = 0.5k_ta^2 - .. math:: \eta_{twist} = 0.5\eta_ta^2 - .. math:: \mu_{twist} = \frac{2}{3}a\mu_t Finally, the twisting torque on each particle is given by: - .. math:: \mathbf{\tau}_{twist,i} = \tau_{twist}\mathbf{n} - .. math:: \mathbf{\tau}_{twist,j} = -\mathbf{\tau}_{twist,i} - ---------- - The *granular* pair style can reproduce the behavior of the *pair gran/\** styles with the appropriate settings (some very minor differences can be expected due to corrections in @@ -620,34 +566,30 @@ The second example is equivalent to The third example is equivalent to *pair gran/hertz/history 1000.0 500.0 50.0 50.0 0.4 1*\ . - ---------- - -LAMMPS automatically sets pairwise cutoff values for *pair\_style +LAMMPS automatically sets pairwise cutoff values for *pair_style granular* based on particle radii (and in the case of *jkr* pull-off distances). In the vast majority of situations, this is adequate. -However, a cutoff value can optionally be appended to the *pair\_style +However, a cutoff value can optionally be appended to the *pair_style granular* command to specify a global cutoff (i.e. a cutoff for all atom types). Additionally, the optional *cutoff* keyword can be passed -to the *pair\_coeff* command, followed by a cutoff value. This will -set a pairwise cutoff for the atom types in the *pair\_coeff* command. +to the *pair_coeff* command, followed by a cutoff value. This will +set a pairwise cutoff for the atom types in the *pair_coeff* command. These options may be useful in some rare cases where the automatic cutoff determination is not sufficient, e.g. if particle diameters are being modified via the *fix adapt* command. In that case, the -global cutoff specified as part of the *pair\_style granular* command +global cutoff specified as part of the *pair_style granular* command is applied to all atom types, unless it is overridden for a given atom type combination by the *cutoff* value specified in the *pair coeff* command. If *cutoff* is only specified in the *pair coeff* command -and no global cutoff is appended to the *pair\_style granular* command, +and no global cutoff is appended to the *pair_style granular* command, then LAMMPS will use that cutoff for the specified atom type combination, and automatically set pairwise cutoffs for the remaining atom types. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -666,10 +608,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : The :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options @@ -680,12 +620,11 @@ most quantities, e.g. if friction coefficient for type 1-type 1 interactions is set to :math:`\mu_1`, and friction coefficient for type 2-type 2 interactions is set to :math:`\mu_2`, the friction coefficient for type1-type2 interactions is computed as :math:`\sqrt{\mu_1\mu_2}` -(unless explicitly specified to a different value by a *pair\_coeff 1 2 +(unless explicitly specified to a different value by a *pair_coeff 1 2 ...* command). The exception to this is elastic modulus, only applicable to *hertz/material*\ , *dmt* and *jkr* normal contact models. In that case, the effective elastic modulus is computed as: - .. math:: E_{eff,ij} = \left(\frac{1-\nu_i^2}{E_i} + \frac{1-\nu_j^2}{E_j}\right)^{-1} @@ -693,19 +632,17 @@ models. In that case, the effective elastic modulus is computed as: If the *i-j* coefficients :math:`E_{ij}` and :math:`\nu_{ij}` are explicitly specified, the effective modulus is computed as: - .. math:: E_{eff,ij} = \left(\frac{1-\nu_{ij}^2}{E_{ij}} + \frac{1-\nu_{ij}^2}{E_{ij}}\right)^{-1} or - .. math:: E_{eff,ij} = \frac{E_{ij}}{2(1-\nu_{ij})} -These pair styles write their information to :doc:`binary restart files <restart>`, so a pair\_style command does not need to be +These pair styles write their information to :doc:`binary restart files <restart>`, so a pair_style command does not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the @@ -724,19 +661,16 @@ particle I. The next entry (8) is the magnitude of the rolling torque. The next entry (9) is the magnitude of the twisting torque acting about the vector connecting the two particle centers. The last 3 (10-12) are the components of the vector connecting -the centers of the two particles (x\_I - x\_J). +the centers of the two particles (x_I - x_J). These extra quantities can be accessed by the :doc:`compute pair/local <compute_pair_local>` command, as *p1*\ , *p2*\ , ..., *p12*\ . - ---------- - Restrictions """""""""""" - All the granular pair styles are part of the GRANULAR package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -763,23 +697,19 @@ Related commands Default """"""" -For the *pair\_coeff* settings: *damping viscoelastic*\ , *rolling none*\ , +For the *pair_coeff* settings: *damping viscoelastic*\ , *rolling none*\ , *twisting none*\ . **References:** .. _Brill1996: - - **(Brilliantov et al, 1996)** Brilliantov, N. V., Spahn, F., Hertzsch, J. M., & Poschel, T. (1996). Model for collisions in granular gases. Physical review E, 53(5), 5382. .. _Tsuji1992: - - **(Tsuji et al, 1992)** Tsuji, Y., Tanaka, T., & Ishida, T. (1992). Lagrangian numerical simulation of plug flow of cohesionless particles in a horizontal pipe. Powder technology, 71(3), @@ -787,39 +717,29 @@ cohesionless particles in a horizontal pipe. Powder technology, 71(3), .. _JKR1971: - - **(Johnson et al, 1971)** Johnson, K. L., Kendall, K., & Roberts, A. D. (1971). Surface energy and the contact of elastic solids. Proc. R. Soc. Lond. A, 324(1558), 301-313. .. _DMT1975: - - **Derjaguin et al, 1975)** Derjaguin, B. V., Muller, V. M., & Toporov, Y. P. (1975). Effect of contact deformations on the adhesion of particles. Journal of Colloid and interface science, 53(2), 314-326. .. _Luding2008: - - **(Luding, 2008)** Luding, S. (2008). Cohesive, frictional powders: contact models for tension. Granular matter, 10(4), 235. .. _Marshall2009: - - **(Marshall, 2009)** Marshall, J. S. (2009). Discrete-element modeling of particulate aerosol flows. Journal of Computational Physics, 228(5), 1541-1561. .. _Silbert2001: - - **(Silbert, 2001)** Silbert, L. E., Ertas, D., Grest, G. S., Halsey, T. C., Levine, D., & Plimpton, S. J. (2001). Granular flow down an inclined plane: Bagnold scaling and rheology. Physical Review E, @@ -827,38 +747,28 @@ inclined plane: Bagnold scaling and rheology. Physical Review E, .. _Kuhn2004: - - **(Kuhn and Bagi, 2005)** Kuhn, M. R., & Bagi, K. (2004). Contact rolling and deformation in granular media. International journal of solids and structures, 41(21), 5793-5820. .. _Wang2015: - - **(Wang et al, 2015)** Wang, Y., Alonso-Marroquin, F., & Guo, W. W. (2015). Rolling and sliding in 3-D discrete element models. Particuology, 23, 49-55. .. _Thornton1991: - - **(Thornton, 1991)** Thornton, C. (1991). Interparticle sliding in the presence of adhesion. J. Phys. D: Appl. Phys. 24 1942 .. _Mindlin1949: - - **(Mindlin, 1949)** Mindlin, R. D. (1949). Compliance of elastic bodies in contact. J. Appl. Mech., ASME 16, 259-268. .. _Thornton2013: - - **(Thornton et al, 2013)** Thornton, C., Cummins, S. J., & Cleary, P. W. (2013). An investigation of the comparative behaviour of alternative contact force models during inelastic collisions. Powder @@ -866,6 +776,4 @@ Technology, 233, 30-46. .. _WaltonPC: - - **(Otis R. Walton)** Walton, O.R., Personal Communication diff --git a/doc/src/pair_gromacs.rst b/doc/src/pair_gromacs.rst index fd309c25a0..121181a90d 100644 --- a/doc/src/pair_gromacs.rst +++ b/doc/src/pair_gromacs.rst @@ -24,7 +24,6 @@ pair_style lj/gromacs/coul/gromacs/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -32,7 +31,6 @@ Syntax * style = *lj/gromacs* or *lj/gromacs/coul/gromacs* * args = list of arguments for a particular style - .. parsed-literal:: *lj/gromacs* args = inner outer @@ -44,7 +42,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/gromacs 9.0 12.0 @@ -66,7 +63,7 @@ the coarse-grained models of :ref:`(Marrink) <Marrink>`. .. math:: - E_{LJ} = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + E_{LJ} = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] + S_{LJ}(r) \qquad r < r_c \\ E_C = & \frac{C q_i q_j}{\epsilon r} + S_C(r) \qquad r < r_c \\ @@ -76,12 +73,11 @@ the coarse-grained models of :ref:`(Marrink) <Marrink>`. B = & (2 E'(r_c) - (r_c - r_1) E''(r_c))/(r_c - r_1)^3 \\ C = & -E(r_c) + \frac{1}{2} (r_c - r_1) E'(r_c) - \frac{1}{12} (r_c - r_1)^2 E''(r_c) - :math:`r_1` is the inner cutoff; :math:`r_c` is the outer cutoff. The coefficients A, B, and C are computed by LAMMPS to perform the shifting and smoothing. The function S(r) is actually applied once to each term of the LJ formula and once to the Coulombic formula, so there are 2 or 3 -sets of A,B,C coefficients depending on which pair\_style is used. The +sets of A,B,C coefficients depending on which pair_style is used. The boundary conditions applied to the smoothing function are as follows: :math:`S'(r_1) = S''(r_1) = 0, S(r_c) = -E(r_c), S'(r_c) = -E'(r_c)`, and :math:`S''(r_c) = -E''(r_c)`, where E(r) is the corresponding term @@ -91,7 +87,7 @@ respectively. The inner and outer cutoff for the LJ and Coulombic terms can be the same or different depending on whether 2 or 4 arguments are used in -the pair\_style command. The inner LJ cutoff must be > 0, but the +the pair_style command. The inner LJ cutoff must be > 0, but the inner Coulombic cutoff can be >= 0. The following coefficients must be defined for each pair of atoms @@ -115,12 +111,10 @@ are used. The last 2 coefficients cannot be used with style *lj/gromacs/coul/gromacs* because this force field does not allow varying cutoffs for individual atom pairs; all pairs use the global -cutoff(s) specified in the pair\_style command. - +cutoff(s) specified in the pair_style command. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -139,15 +133,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command +The default mix value is *geometric*\ . See the "pair_modify" command for details. None of the GROMACS pair styles support the @@ -163,17 +155,15 @@ None of the GROMACS pair styles support the corrections to energy and pressure, since there are no corrections for a potential that goes to 0.0 at the cutoff. -All of the GROMACS pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do +All of the GROMACS pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. All of the GROMACS pair styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -185,12 +175,8 @@ Related commands **Default:** none - ---------- - .. _Marrink: - - **(Marrink)** Marrink, de Vries, Mark, J Phys Chem B, 108, 750-760 (2004). diff --git a/doc/src/pair_gw.rst b/doc/src/pair_gw.rst index 06dfd240b3..d2d1283618 100644 --- a/doc/src/pair_gw.rst +++ b/doc/src/pair_gw.rst @@ -9,7 +9,6 @@ pair_style gw/zbl command Syntax """""" - .. code-block:: LAMMPS pair_style style @@ -42,10 +41,10 @@ to release the code anyway with only the technical explanations. For details of the model and the parameters, please refer to the linked publication. -Only a single pair\_coeff command is used with the *gw* and *gw/zbl* +Only a single pair_coeff command is used with the *gw* and *gw/zbl* styles which specifies a Gao-Weber potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by -specifying N additional arguments after the filename in the pair\_coeff +specifying N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -56,8 +55,7 @@ to specify the path for the potential file. As an example, imagine a file SiC.gw has Gao-Weber values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the first 3 to -be Si, and the 4th to be C, you would use the following pair\_coeff command: - +be Si, and the 4th to be C, you would use the following pair_coeff command: .. code-block:: LAMMPS @@ -79,10 +77,8 @@ is similar to other many-body potentials supported by LAMMPS. You have to refer to the comments in the files and the literature to learn more details. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to @@ -93,21 +89,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -127,13 +120,9 @@ Related commands **Default:** none - ---------- - .. _Gao: - - **(Gao)** Gao and Weber, Nuclear Instruments and Methods in Physics Research B 191 (2012) 504. diff --git a/doc/src/pair_hbond_dreiding.rst b/doc/src/pair_hbond_dreiding.rst index 1deaf35c39..0f5470d5f9 100644 --- a/doc/src/pair_hbond_dreiding.rst +++ b/doc/src/pair_hbond_dreiding.rst @@ -15,22 +15,20 @@ pair_style hbond/dreiding/morse/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style N inner_distance_cutoff outer_distance_cutoff angle_cutof * style = *hbond/dreiding/lj* or *hbond/dreiding/morse* * n = cosine angle periodicity -* inner\_distance\_cutoff = global inner cutoff for Donor-Acceptor interactions (distance units) -* outer\_distance\_cutoff = global cutoff for Donor-Acceptor interactions (distance units) -* angle\_cutoff = global angle cutoff for Acceptor-Hydrogen-Donor +* inner_distance_cutoff = global inner cutoff for Donor-Acceptor interactions (distance units) +* outer_distance_cutoff = global cutoff for Donor-Acceptor interactions (distance units) +* angle_cutoff = global angle cutoff for Acceptor-Hydrogen-Donor * interactions (degrees) Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/lj 4 9.0 11.0 90 @@ -55,13 +53,12 @@ force field, given by: \epsilon\left\lbrace 5\left[ \frac{\sigma}{r}\right]^{12}- 6\left[ \frac{\sigma}{r}\right]^{10} \right\rbrace cos^n\theta\\ Morse(r) = & D_0\left\lbrace \chi^2 - 2\chi\right\rbrace cos^n\theta= - D_{0}\left\lbrace e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} + D_{0}\left\lbrace e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right\rbrace cos^n\theta \\ - S(r) = & \frac{ \left[r_{\rm out}^2 - r^2\right]^2 - \left[r_{\rm out}^2 + 2r^2 - 3{r_{\rm in}^2}\right]} + S(r) = & \frac{ \left[r_{\rm out}^2 - r^2\right]^2 + \left[r_{\rm out}^2 + 2r^2 - 3{r_{\rm in}^2}\right]} { \left[r_{\rm out}^2 - {r_{\rm in}}^2\right]^3 } - where :math:`r_{\rm in}` is the inner spline distance cutoff, :math:`r_{\rm out}` is the outer distance cutoff, :math:`\theta_c` is the angle cutoff, and *n* is the cosine periodicity. @@ -115,13 +112,11 @@ on the DREIDING force field. In the original Dreiding force field paper 1-4 non-bonded interactions ARE allowed. If this is desired for your model, use the - special\_bonds command (e.g. "special\_bonds lj 0.0 0.0 1.0") to turn + special_bonds command (e.g. "special_bonds lj 0.0 0.0 1.0") to turn these interactions on. - ---------- - The following coefficients must be defined for pairs of eligible donor/acceptor types via the :doc:`pair_coeff <pair_coeff>` command as in the examples above. @@ -130,7 +125,7 @@ in the examples above. Unlike other pair styles and their associated :doc:`pair_coeff <pair_coeff>` commands, you do not need to specify - pair\_coeff settings for all possible I,J type pairs. Only I,J type + pair_coeff settings for all possible I,J type pairs. Only I,J type pairs for atoms which act as joint donors/acceptors need to be specified; all other type pairs are assumed to be inactive. @@ -139,11 +134,11 @@ in the examples above. A :doc:`pair_coeff <pair_coeff>` command can be specified multiple times for the same donor/acceptor type pair. This enables multiple hydrogen types to be assigned to the same donor/acceptor type pair. - For other pair\_styles, if the pair\_coeff command is re-used for the + For other pair_styles, if the pair_coeff command is re-used for the same I.J type pair, the settings for that type pair are overwritten. For the hydrogen bond potentials this is not the case; the settings are cumulative. This means the only way to turn off a previous - setting, is to re-use the pair\_style command and start over. + setting, is to re-use the pair_style command and start over. For the *hbond/dreiding/lj* style the list of coefficients is as follows: @@ -176,9 +171,9 @@ select multiple types as hydrogen atoms. This takes the form "\*" or "\*n" or "n\*" or "m\*n". See the :doc:`pair_coeff <pair_coeff>` command doc page for details. -If the donor flag is *i*\ , then the atom of type I in the pair\_coeff +If the donor flag is *i*\ , then the atom of type I in the pair_coeff command is treated as the donor, and J is the acceptor. If the donor -flag is *j*\ , then the atom of type J in the pair\_coeff command is +flag is *j*\ , then the atom of type J in the pair_coeff command is treated as the donor and I is the donor. This option is required because the :doc:`pair_coeff <pair_coeff>` command requires that I <= J. @@ -192,14 +187,12 @@ hydrogen bond potential based on a Morse functional form. The last 3 coefficients for both styles are optional. If not specified, the global n, distance cutoff, and angle cutoff specified -in the pair\_style command are used. If you wish to only override the +in the pair_style command are used. If you wish to only override the 2nd or 3rd optional parameter, you must also specify the preceding optional parameters. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -218,10 +211,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. You must explicitly identify @@ -237,7 +228,7 @@ These pair styles do not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -These pair styles do not write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands need to be +These pair styles do not write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands need to be re-specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the @@ -252,7 +243,6 @@ command as a vector of values of length 2. To print these quantities to the log file (with a descriptive column heading) the following commands could be included in an input script: - .. code-block:: LAMMPS compute hb all pair hbond/dreiding/lj @@ -260,10 +250,8 @@ heading) the following commands could be included in an input script: variable E_hbond equal c_hb[2] #hbond energy thermo_style custom step temp epair v_E_hbond - ---------- - Restrictions """""""""""" none @@ -275,20 +263,14 @@ Related commands **Default:** none - ---------- - .. _pair-Mayo: - - **(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990). .. _Liu: - - **(Liu)** Liu, Bryantsev, Diallo, Goddard III, J. Am. Chem. Soc 131 (8) 2798 (2009) diff --git a/doc/src/pair_hybrid.rst b/doc/src/pair_hybrid.rst index d8abec1f4a..8e40466faf 100644 --- a/doc/src/pair_hybrid.rst +++ b/doc/src/pair_hybrid.rst @@ -15,7 +15,6 @@ pair_style hybrid/overlay/kk command Syntax """""" - .. code-block:: LAMMPS pair_style hybrid style1 args style2 args ... @@ -26,7 +25,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0 @@ -60,7 +58,7 @@ using *lj/cut* and *coul/long* together gives the same result as if the *lj/cut/coul/long* potential were used by itself. In this case, it would be more efficient to use the single combined potential, but in general any combination of pair potentials can be used together in -to produce an interaction that is not encoded in any single pair\_style +to produce an interaction that is not encoded in any single pair_style file, e.g. adding Coulombic forces between granular particles. All pair styles that will be used are listed as "sub-styles" following @@ -78,7 +76,7 @@ a Tersoff potential for pure C for the other set (presumably with some could be listed twice. But if you just want to use a Lennard-Jones or other pairwise potential for several different atom type pairs in your model, then you should just list the sub-style once and use the -pair\_coeff command to assign parameters for the different type pairs. +pair_coeff command to assign parameters for the different type pairs. .. note:: @@ -87,10 +85,10 @@ pair\_coeff command to assign parameters for the different type pairs. This is because the GPU package currently assumes that only one instance of a pair style is being used. -In the pair\_coeff commands, the name of a pair style must be added +In the pair_coeff commands, the name of a pair style must be added after the I,J type specification, with the remaining coefficients being those appropriate to that style. If the pair style is used -multiple times in the pair\_style command, then an additional numeric +multiple times in the pair_style command, then an additional numeric argument must also be specified which is a number from 1 to M where M is the number of times the sub-style was listed in the pair style command. The extra number indicates which instance of the sub-style @@ -100,7 +98,6 @@ For example, consider a simulation with 3 atom types: types 1 and 2 are Ni atoms, type 3 are LJ atoms with charges. The following commands would set up a hybrid simulation: - .. code-block:: LAMMPS pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0 @@ -113,7 +110,6 @@ simulation with 2 atom types. Type 1 is Si, type 2 is C. The following commands would model the Si atoms with Tersoff, the C atoms with Tersoff, and the cross-interactions with Lennard-Jones: - .. code-block:: LAMMPS pair_style hybrid lj/cut 2.5 tersoff tersoff @@ -126,7 +122,6 @@ If pair coefficients are specified in the data file read via the E.g. "eam/alloy" or "lj/cut" must be added after the atom type, for each line in the "Pair Coeffs" section, e.g. - .. parsed-literal:: Pair Coeffs @@ -134,7 +129,7 @@ each line in the "Pair Coeffs" section, e.g. 1 lj/cut/coul/cut 1.0 1.0 ... -Note that the pair\_coeff command for some potentials such as +Note that the pair_coeff command for some potentials such as :doc:`pair_style eam/alloy <pair_eam>` includes a mapping specification of elements to all atom types, which in the hybrid case, can include atom types not assigned to the *eam/alloy* potential. The NULL @@ -144,21 +139,20 @@ sub-style. For the *hybrid* style, each atom type pair I,J is assigned to exactly one sub-style. Just as with a simulation using a single pair style, -if you specify the same atom type pair in a second pair\_coeff command, +if you specify the same atom type pair in a second pair_coeff command, the previous assignment will be overwritten. For the *hybrid/overlay* style, each atom type pair I,J can be assigned to one or more sub-styles. If you specify the same atom type -pair in a second pair\_coeff command with a new sub-style, then the +pair in a second pair_coeff command with a new sub-style, then the second sub-style is added to the list of potentials that will be calculated for two interacting atoms of those types. If you specify -the same atom type pair in a second pair\_coeff command with a +the same atom type pair in a second pair_coeff command with a sub-style that has already been defined for that pair of atoms, then the new pair coefficients simply override the previous ones, as in the -normal usage of the pair\_coeff command. E.g. these two sets of +normal usage of the pair_coeff command. E.g. these two sets of commands are the same: - .. code-block:: LAMMPS pair_style lj/cut 2.5 @@ -187,8 +181,7 @@ sub-style and use the :doc:`neigh_modify exclude type <neigh_modify>` command. You can assign it to some sub-style and set the coefficients so that there is effectively no interaction (e.g. epsilon = 0.0 in a LJ potential). Or, for *hybrid* and *hybrid/overlay* simulations, you -can use this form of the pair\_coeff command in your input script: - +can use this form of the pair_coeff command in your input script: .. code-block:: LAMMPS @@ -196,7 +189,6 @@ can use this form of the pair\_coeff command in your input script: or this form in the "Pair Coeffs" section of the data file: - .. parsed-literal:: 3 none @@ -210,10 +202,8 @@ command in your input script, if atoms in the simulation will need attributes from several atom styles, due to using multiple pair potentials. - ---------- - Different force fields (e.g. CHARMM vs AMBER) may have different rules for applying weightings that change the strength of pairwise interactions between pairs of atoms that are also 1-2, 1-3, and 1-4 @@ -229,7 +219,6 @@ Here is an example for mixing CHARMM and AMBER: The global *amber* setting sets the 1-4 interactions to non-zero scaling factors and then overrides them with 0.0 only for CHARMM: - .. code-block:: LAMMPS special_bonds amber @@ -238,7 +227,6 @@ then overrides them with 0.0 only for CHARMM: The this input achieves the same effect: - .. code-block:: LAMMPS special_bonds 0.0 0.0 0.1 @@ -253,7 +241,6 @@ Tersoff part of the system the force constants for the bonded interactions have been set to 0. Note the global settings are effectively *lj/coul 0.0 0.0 0.5* as required for OPLS/AA: - .. code-block:: LAMMPS special_bonds lj/coul 1e-20 1e-20 0.5 @@ -269,20 +256,16 @@ the compute tally styles, for example, if those pair styles See the :doc:`pair_modify <pair_modify>` doc page for details on the specific syntax, requirements and restrictions. - ---------- - The potential energy contribution to the overall system due to an individual sub-style can be accessed and output via the :doc:`compute pair <compute_pair>` command. - ---------- - .. note:: - Several of the potentials defined via the pair\_style command in + Several of the potentials defined via the pair_style command in LAMMPS are really many-body potentials, such as Tersoff, AIREBO, MEAM, ReaxFF, etc. The way to think about using these potentials in a hybrid setting is as follows. @@ -293,10 +276,10 @@ all types and the NULL keywords described above to exclude specific types not assigned to that potential. If types 1,3,4 were assigned in that way (but not type 2), this means that all many-body interactions between all atoms of types 1,3,4 will be computed by that potential. -Pair\_style hybrid allows interactions between type pairs 2-2, 1-2, +Pair_style hybrid allows interactions between type pairs 2-2, 1-2, 2-3, 2-4 to be specified for computation by other pair styles. You could even add a second interaction for 1-1 to be computed by another -pair style, assuming pair\_style hybrid/overlay is used. +pair style, assuming pair_style hybrid/overlay is used. But you should not, as a general rule, attempt to exclude the many-body interactions for some subset of the type pairs within the @@ -308,7 +291,7 @@ find the additional atoms in the group. It is typically non-physical to think of excluding an interaction between a particular pair of atoms when the potential computes 3-body or 4-body interactions. -However, you can still use the pair\_coeff none setting or the +However, you can still use the pair_coeff none setting or the :doc:`neigh_modify exclude <neigh_modify>` command to exclude certain type pairs from the neighbor list that will be passed to a many-body sub-style. This will alter the calculations made by a many-body @@ -322,7 +305,6 @@ to use a Tersoff potential to compute interactions within each surface, but not between surfaces. Then either of these two command sequences would implement that model: - .. code-block:: LAMMPS pair_style hybrid tersoff @@ -343,7 +325,6 @@ potentials together, in an overlapping manner. Imagine you have CNT interactions, and AIREBO for C/C interactions. Si atoms are type 1; C atoms are type 2. Something like this will work: - .. code-block:: LAMMPS pair_style hybrid/overlay tersoff airebo 3.0 @@ -355,10 +336,8 @@ interactions, you would need to modify the SiC.tersoff file to turn off C/C interaction, i.e. by setting the appropriate coefficients to 0.0. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -383,10 +362,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : Any pair potential settings made via the @@ -396,12 +373,12 @@ sub-styles of the hybrid potential. For atom type pairs I,J and I != J, if the sub-style assigned to I,I and J,J is the same, and if the sub-style allows for mixing, then the coefficients for I,J can be mixed. This means you do not have to -specify a pair\_coeff command for I,J since the I,J type pair will be +specify a pair_coeff command for I,J since the I,J type pair will be assigned automatically to the sub-style defined for both I,I and J,J and its coefficients generated by the mixing rule used by that sub-style. For the *hybrid/overlay* style, there is an additional requirement that both the I,I and J,J pairs are assigned to a single -sub-style. See the "pair\_modify" command for details of mixing rules. +sub-style. See the "pair_modify" command for details of mixing rules. See the See the doc page for the sub-style to see if allows for mixing. @@ -413,7 +390,7 @@ For the hybrid pair styles, the list of sub-styles and their respective settings are written to :doc:`binary restart files <restart>`, so a :doc:`pair_style <pair_style>` command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart -file. Thus, pair\_coeff commands need to be re-specified in the +file. Thus, pair_coeff commands need to be re-specified in the restart input script. These pair styles support the use of the *inner*\ , *middle*\ , and @@ -423,9 +400,8 @@ their sub-styles do. Restrictions """""""""""" - When using a long-range Coulombic solver (via the -:doc:`kspace_style <kspace_style>` command) with a hybrid pair\_style, +:doc:`kspace_style <kspace_style>` command) with a hybrid pair_style, one or more sub-styles will be of the "long" variety, e.g. *lj/cut/coul/long* or *buck/coul/long*\ . You must insure that the short-range Coulombic cutoff used by each of these long pair styles is diff --git a/doc/src/pair_ilp_graphene_hbn.rst b/doc/src/pair_ilp_graphene_hbn.rst index a727d87eb6..22f4a37380 100644 --- a/doc/src/pair_ilp_graphene_hbn.rst +++ b/doc/src/pair_ilp_graphene_hbn.rst @@ -6,18 +6,16 @@ pair_style ilp/graphene/hbn command Syntax """""" - .. code-block:: LAMMPS pair_style [hybrid/overlay ...] ilp/graphene/hbn cutoff tap_flag * cutoff = global cutoff (distance units) -* tap\_flag = 0/1 to turn off/on the taper function +* tap_flag = 0/1 to turn off/on the taper function Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay ilp/graphene/hbn 16.0 1 @@ -43,8 +41,8 @@ in :ref:`(Kolmogorov) <Kolmogorov2>`. .. math:: E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ - V_{ij} = & {\rm Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)} - \left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] - + V_{ij} = & {\rm Tap}(r_{ij})\left \{ e^{-\alpha (r_{ij}/\beta -1)} + \left [ \epsilon + f(\rho_{ij}) + f(\rho_{ji})\right ] - \frac{1}{1+e^{-d\left [ \left ( r_{ij}/\left (s_R \cdot r^{eff} \right ) \right )-1 \right ]}} \cdot \frac{C_6}{r^6_{ij}} \right \}\\ \rho_{ij}^2 = & r_{ij}^2 - ({\bf r}_{ij} \cdot {\bf n}_i)^2 \\ @@ -55,7 +53,6 @@ in :ref:`(Kolmogorov) <Kolmogorov2>`. 84\left ( \frac{r_{ij}}{R_{cut}} \right )^5 - 35\left ( \frac{r_{ij}}{R_{cut}} \right )^4 + 1 - Where :math:`\mathrm{Tap}(r_{ij})` is the taper function which provides a continuous cutoff (up to third derivative) for interatomic separations larger than :math:`r_c` :ref:`(Maaravi) <Maaravi2>`. The definitions of @@ -96,7 +93,7 @@ list for calculating the normals for each atom pair. .. note:: - Four new sets of parameters of ILP for 2D layered Materials with bilayer and + Four new sets of parameters of ILP for 2D layered Materials with bilayer and bulk configurations are presented in :ref:`(Ouyang1) <Ouyang1>` and :ref:`(Ouyang2) <Ouyang2>`, respectively. These parameters provide a good description in both short- and long-range interaction regimes. While the old ILP parameters published in :ref:`(Leven2) <Leven2>` and @@ -107,19 +104,18 @@ list for calculating the normals for each atom pair. be found in :ref:`(Ouyang1) <Ouyang1>` and :ref:`(Ouyang2) <Ouyang2>`. This potential must be used in combination with hybrid/overlay. -Other interactions can be set to zero using pair\_style *none*\ . +Other interactions can be set to zero using pair_style *none*\ . This pair style tallies a breakdown of the total interlayer potential energy into sub-categories, which can be accessed via the :doc:`compute pair <compute_pair>` command as a vector of values of length 2. The 2 values correspond to the following sub-categories: -1. *E\_vdW* = vdW (attractive) energy -2. *E\_Rep* = Repulsive energy +1. *E_vdW* = vdW (attractive) energy +2. *E_Rep* = Repulsive energy To print these quantities to the log file (with descriptive column headings) the following commands could be included in an input script: - .. code-block:: LAMMPS compute 0 all pair ilp/graphene/hbn @@ -127,24 +123,21 @@ headings) the following commands could be included in an input script: variable Erep equal c_0[2] thermo_style custom step temp epair v_Erep v_Evdw - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the pair\_modify mix, shift, table, and +This pair style does not support the pair_modify mix, shift, table, and tail options. This pair style does not write their information to binary restart files, since it is stored in potential files. Thus, you need to -re-specify the pair\_style and pair\_coeff commands in an input script +re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -164,49 +157,35 @@ Related commands :doc:`pair_none <pair_none>`, :doc:`pair_style hybrid/overlay <pair_hybrid>`, :doc:`pair_style drip <pair_drip>`, -:doc:`pair_style pair\_kolmogorov\_crespi\_z <pair_kolmogorov_crespi_z>`, -:doc:`pair_style pair\_kolmogorov\_crespi\_full <pair_kolmogorov_crespi_full>`, -:doc:`pair_style pair\_lebedeva\_z <pair_lebedeva_z>`, -:doc:`pair_style pair\_coul\_shield <pair_coul_shield>`. - -**Default:** tap\_flag = 1 +:doc:`pair_style pair_kolmogorov_crespi_z <pair_kolmogorov_crespi_z>`, +:doc:`pair_style pair_kolmogorov_crespi_full <pair_kolmogorov_crespi_full>`, +:doc:`pair_style pair_lebedeva_z <pair_lebedeva_z>`, +:doc:`pair_style pair_coul_shield <pair_coul_shield>`. +**Default:** tap_flag = 1 ---------- - .. _Leven1: - - **(Leven1)** I. Leven, I. Azuri, L. Kronik and O. Hod, J. Chem. Phys. 140, 104106 (2014). .. _Leven2: - - **(Leven2)** I. Leven et al, J. Chem.Theory Comput. 12, 2896-905 (2016). .. _Maaravi2: - - **(Maaravi)** T. Maaravi et al, J. Phys. Chem. C 121, 22826-22835 (2017). .. _Kolmogorov2: - - **(Kolmogorov)** A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005). .. _Ouyang1: - - **(Ouyang1)** W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Lett. 18, 6009-6016 (2018). .. _Ouyang2: - - **(Ouyang2)** W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020). diff --git a/doc/src/pair_kim.rst b/doc/src/pair_kim.rst index 72f4908b53..7717545f21 100644 --- a/doc/src/pair_kim.rst +++ b/doc/src/pair_kim.rst @@ -6,7 +6,6 @@ pair_style kim command Syntax """""" - .. code-block:: LAMMPS pair_style kim model @@ -16,7 +15,6 @@ model = name of a KIM model (the KIM ID for models archived in OpenKIM) Examples """""""" - .. code-block:: LAMMPS pair_style kim SW_StillingerWeber_1985_Si__MO_405512056662_005 @@ -35,18 +33,16 @@ KIM API Portable Model Interface (PMI) and can be used by any simulation code that conforms to the KIM API/PMI, and "KIM Simulator Models" that are natively implemented within a single simulation code (like LAMMPS) and can only be used with it. -The *pair\_style kim* command is limited to KIM PMs. It is +The *pair_style kim* command is limited to KIM PMs. It is used by the :doc:`kim_commands interface <kim_commands>` as needed. .. note:: - Since *pair\_style kim* is called by *kim\_interactions* as needed, + Since *pair_style kim* is called by *kim_interactions* as needed, is not recommended to be directly used in input scripts. - ---------- - The argument *model* is the name of the KIM PM. For potentials archived in OpenKIM this is the extended KIM ID (see :doc:`kim_commands <kim_commands>` @@ -55,18 +51,17 @@ be incompatibilities (for example due to unit matching issues). In the event of an incompatibility, the code will terminate with an error message. Check both the LAMMPS and KIM log files for details. -Only a single *pair\_coeff* command is used with the *kim* style, which +Only a single *pair_coeff* command is used with the *kim* style, which specifies the mapping of LAMMPS atom types to the species supported by the KIM PM. This is done by specifying *N* additional arguments -after the \* \* in the *pair\_coeff* command, where *N* is the number of +after the \* \* in the *pair_coeff* command, where *N* is the number of LAMMPS atom types: * N element names = mapping of KIM elements to atom types For example, consider a KIM PM that supports Si and C species. If the LAMMPS simulation has four atom types, where the first three are Si, -and the fourth is C, the following *pair\_coeff* command would be used: - +and the fourth is C, the following *pair_coeff* command would be used: .. code-block:: LAMMPS @@ -76,10 +71,8 @@ The first two arguments must be \* \* so as to span all LAMMPS atom types. The first three Si arguments map LAMMPS atom types 1, 2, and 3 to Si as defined within KIM PM. The final C argument maps LAMMPS atom type 4 to C. - ---------- - In addition to the usual LAMMPS error messages, the KIM library itself may generate errors, which should be printed to the screen. In this case it is also useful to check the *kim.log* file for additional error @@ -91,35 +84,30 @@ the *lib/kim/README* file. Once you have done this and built LAMMPS with the KIM package installed you can run the example input scripts in *examples/kim*\ . - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support the :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since KIM stores the potential parameters. -Thus, you need to re-specify the pair\_style and pair\_coeff commands in +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the KIM package. See details on restrictions in :doc:`kim_commands <kim_commands>`. -This current version of pair\_style kim is compatible with the +This current version of pair_style kim is compatible with the kim-api package version 2.0.0 and higher. Related commands diff --git a/doc/src/pair_kolmogorov_crespi_full.rst b/doc/src/pair_kolmogorov_crespi_full.rst index d8b1f6db12..8d9adf0341 100644 --- a/doc/src/pair_kolmogorov_crespi_full.rst +++ b/doc/src/pair_kolmogorov_crespi_full.rst @@ -6,18 +6,16 @@ pair_style kolmogorov/crespi/full command Syntax """""" - .. code-block:: LAMMPS pair_style hybrid/overlay kolmogorov/crespi/full cutoff tap_flag * cutoff = global cutoff (distance units) -* tap\_flag = 0/1 to turn off/on the taper function +* tap_flag = 0/1 to turn off/on the taper function Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay kolmogorov/crespi/full 20.0 0 @@ -43,7 +41,6 @@ No simplification is made, \rho_{ji}^2 = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{j})^2 \\ f(\rho) & = e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} { (\rho/\delta) }^{2n} - It is important to have a sufficiently large cutoff to ensure smooth forces and to include all the pairs to build the neighbor list for calculating the normals. Energies are shifted so that they go @@ -75,10 +72,10 @@ list for calculating the normals for each atom pair. .. note:: Two new sets of parameters of KC potential for hydrocarbons, CH.KC - (without the taper function) and CH\_taper.KC (with the taper function) + (without the taper function) and CH_taper.KC (with the taper function) are presented in :ref:`(Ouyang1) <Ouyang3>`. The energy for the KC potential with the taper function goes continuously to zero at the cutoff. The - parameters in both CH.KC and CH\_taper.KC provide a good description in + parameters in both CH.KC and CH_taper.KC provide a good description in both short- and long-range interaction regimes. While the original parameters (CC.KC) published in :ref:`(Kolmogorov) <Kolmogorov1>` are only suitable for long-range interaction regime. This feature is essential @@ -87,19 +84,18 @@ list for calculating the normals for each atom pair. comparison of these parameters can be found in :ref:`(Ouyang1) <Ouyang3>` and :ref:`(Ouyang2) <Ouyang4>`. This potential must be used in combination with hybrid/overlay. -Other interactions can be set to zero using pair\_style *none*\ . +Other interactions can be set to zero using pair_style *none*\ . This pair style tallies a breakdown of the total interlayer potential energy into sub-categories, which can be accessed via the :doc:`compute pair <compute_pair>` command as a vector of values of length 2. The 2 values correspond to the following sub-categories: -1. *E\_vdW* = vdW (attractive) energy -2. *E\_Rep* = Repulsive energy +1. *E_vdW* = vdW (attractive) energy +2. *E_Rep* = Repulsive energy To print these quantities to the log file (with descriptive column headings) the following commands could be included in an input script: - .. code-block:: LAMMPS compute 0 all pair kolmogorov/crespi/full @@ -107,24 +103,21 @@ headings) the following commands could be included in an input script: variable Erep equal c_0[2] thermo_style custom step temp epair v_Erep v_Evdw - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -This pair style does not support the pair\_modify mix, shift, table, +This pair style does not support the pair_modify mix, shift, table, and tail options. This pair style does not write their information to binary restart files, since it is stored in potential files. Thus, you need to -re-specify the pair\_style and pair\_coeff commands in an input script +re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -144,30 +137,22 @@ Related commands :doc:`pair_none <pair_none>`, :doc:`pair_style hybrid/overlay <pair_hybrid>`, :doc:`pair_style drip <pair_drip>`, -:doc:`pair_style pair\_lebedeva\_z <pair_lebedeva_z>`, +:doc:`pair_style pair_lebedeva_z <pair_lebedeva_z>`, :doc:`pair_style kolmogorov/crespi/z <pair_kolmogorov_crespi_z>`, :doc:`pair_style ilp/graphene/hbn <pair_ilp_graphene_hbn>`. -**Default:** tap\_flag = 0 - +**Default:** tap_flag = 0 ---------- - .. _Kolmogorov1: - - **(Kolmogorov)** A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) .. _Ouyang3: - - **(Ouyang1)** W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Lett. 18, 6009-6016 (2018). .. _Ouyang4: - - **(Ouyang2)** W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020). diff --git a/doc/src/pair_kolmogorov_crespi_z.rst b/doc/src/pair_kolmogorov_crespi_z.rst index c697226504..8b961773a3 100644 --- a/doc/src/pair_kolmogorov_crespi_z.rst +++ b/doc/src/pair_kolmogorov_crespi_z.rst @@ -6,7 +6,6 @@ pair_style kolmogorov/crespi/z command Syntax """""" - .. code-block:: LAMMPS pair_style [hybrid/overlay ...] kolmogorov/crespi/z cutoff @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay kolmogorov/crespi/z 20.0 @@ -39,8 +37,6 @@ which is to take all normals along the z-axis. \rho_{ij}^2 = & \rho_{ji}^2 = x_{ij}^2 + y_{ij}^2 \qquad \qquad (\mathbf{n}_i \equiv \mathbf{\hat{z}}) \\ f(\rho) = & e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} \left( \rho/\delta \right)^{2n} - - It is important to have a sufficiently large cutoff to ensure smooth forces. Energies are shifted so that they go continuously to zero at the cutoff assuming that the exponential part of :math:`V_{ij}` (first term) decays sufficiently fast. @@ -57,12 +53,11 @@ is available to facilitate scaling of energies in accordance with :ref:`(vanWijk) <vanWijk>`. This potential must be used in combination with hybrid/overlay. -Other interactions can be set to zero using pair\_style *none*\ . +Other interactions can be set to zero using pair_style *none*\ . Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -79,19 +74,13 @@ Related commands **Default:** none - ---------- - .. _KC05: - - **(Kolmogorov)** A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005) .. _vanWijk: - - **(vanWijk)** M. M. van Wijk, A. Schuring, M. I. Katsnelson, and A. Fasolino, Physical Review Letters, 113, 135504 (2014) diff --git a/doc/src/pair_lcbop.rst b/doc/src/pair_lcbop.rst index f492b79919..4eb7a345ee 100644 --- a/doc/src/pair_lcbop.rst +++ b/doc/src/pair_lcbop.rst @@ -6,7 +6,6 @@ pair_style lcbop command Syntax """""" - .. code-block:: LAMMPS pair_style lcbop @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lcbop @@ -27,10 +25,10 @@ The *lcbop* pair style computes the long-range bond-order potential for carbon (LCBOP) of :ref:`(Los and Fasolino) <Los>`. See section II in that paper for the analytic equations associated with the potential. -Only a single pair\_coeff command is used with the *lcbop* style which +Only a single pair_coeff command is used with the *lcbop* style which specifies an LCBOP potential file with parameters for specific elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -40,8 +38,7 @@ See the :doc:`pair_coeff <pair_coeff>` doc page for alternate ways to specify the path for the potential file. As an example, if your LAMMPS simulation has 4 atom types and you want -the 1st 3 to be C you would use the following pair\_coeff command: - +the 1st 3 to be C you would use the following pair_coeff command: .. code-block:: LAMMPS @@ -59,17 +56,15 @@ are listed in the C.lcbop file to agree with the original :ref:`(Los and Fasolin potential and the way it was fit, so modifying the file should be done carefully. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support the :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the @@ -79,7 +74,6 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" - This pair styles is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -99,13 +93,9 @@ Related commands **Default:** none - ---------- - .. _Los: - - **(Los and Fasolino)** J. H. Los and A. Fasolino, Phys. Rev. B 68, 024107 (2003). diff --git a/doc/src/pair_lebedeva_z.rst b/doc/src/pair_lebedeva_z.rst index b78a29fb54..df81d83999 100644 --- a/doc/src/pair_lebedeva_z.rst +++ b/doc/src/pair_lebedeva_z.rst @@ -6,7 +6,6 @@ pair_style lebedeva/z command Syntax """""" - .. code-block:: LAMMPS pair_style [hybrid/overlay ...] lebedeva/z cutoff @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay lebedeva/z 20.0 @@ -40,8 +38,6 @@ which is to take all normals along the z-axis. & - A \left(\frac{z_0}{r_ij}\right)^6 + A \left( \frac{z_0}{r_c} \right)^6 \\ \rho^2_{ij} = & x^2_{ij} + y^2_{ij} \qquad (\mathbf{n_i} \equiv \mathbf{\hat{z}}) - - It is important to have a sufficiently large cutoff to ensure smooth forces. Energies are shifted so that they go continuously to zero at the cutoff assuming that the exponential part of :math:`V_{ij}` (first term) decays sufficiently fast. @@ -52,12 +48,11 @@ The parameter file (e.g. CC.Lebedeva), is intended for use with metal is available to facilitate scaling of energies. This potential must be used in combination with hybrid/overlay. -Other interactions can be set to zero using pair\_style *none*\ . +Other interactions can be set to zero using pair_style *none*\ . Restrictions """""""""""" - This fix is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -74,12 +69,8 @@ Related commands **Default:** none - ---------- - .. _Leb01: - - **(Lebedeva et al.)** I. V. Lebedeva, A. A. Knizhnik, A. M. Popov, Y. E. Lozovik, B. V. Potapkin, Phys. Rev. B, 84, 245437 (2011) diff --git a/doc/src/pair_line_lj.rst b/doc/src/pair_line_lj.rst index 8320d1701c..70077c61f8 100644 --- a/doc/src/pair_line_lj.rst +++ b/doc/src/pair_line_lj.rst @@ -6,7 +6,6 @@ pair_style line/lj command Syntax """""" - .. code-block:: LAMMPS pair_style line/lj cutoff @@ -16,7 +15,6 @@ cutoff = global cutoff for interactions (distance units) Examples """""""" - .. code-block:: LAMMPS pair_style line/lj 3.0 @@ -51,7 +49,7 @@ each pair of points. The LJ interaction between 2 spheres on different line segments (or a sphere on a line segment and a point particles) is computed with sub-particle :math:`\epsilon`, :math:`\sigma`, and *cutoff* values that -are set by the pair\_coeff command, as described below. If the distance +are set by the pair_coeff command, as described below. If the distance between the 2 spheres is greater than the sub-particle cutoff, there is no interaction. This means that some pairs of sub-particles on 2 line segments may interact, but others may not. @@ -59,8 +57,8 @@ segments may interact, but others may not. For purposes of creating the neighbor list for pairs of interacting line segments or lines/point particles, a regular particle-particle cutoff is used, as defined by the *cutoff* setting above in the -pair\_style command or overridden with an optional argument in the -pair\_coeff command for a type pair as discussed below. The distance +pair_style command or overridden with an optional argument in the +pair_coeff command for a type pair as discussed below. The distance between the centers of 2 line segments, or the center of a line segment and a point particle, must be less than this distance (plus the neighbor skin; see the :doc:`neighbor <neighbor>` command), for @@ -71,7 +69,7 @@ the pair of particles to be included in the neighbor list. This means that a too-short value for the *cutoff* setting can exclude a pair of particles from the neighbor list even if pairs of their sub-particle spheres would interact, based on the sub-particle - cutoff specified in the pair\_coeff command. E.g. sub-particles at the + cutoff specified in the pair_coeff command. E.g. sub-particles at the ends of the line segments that are close to each other. Which may not be what you want, since it means the ends of 2 line segments could pass through each other. It is up to you to specify a *cutoff* @@ -95,7 +93,7 @@ The *sizeI* and *sizeJ* coefficients are the sub-particle sizes for line particles of type I and type J. They are used to define the N sub-particles per segment as described above. These coefficients are actually stored on a per-type basis. Thus if there are multiple -pair\_coeff commands that involve type I, as either the first or +pair_coeff commands that involve type I, as either the first or second atom type, you should use consistent values for sizeI or sizeJ in all of them. If you do not do this, the last value specified for sizeI will apply to all segments of type I. If typeI or typeJ refers @@ -113,10 +111,8 @@ and a point particle is calculated. The *cutoff* coefficient is optional. If not specified, the global cutoff is used. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, coefficients must be specified. @@ -131,14 +127,11 @@ This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_list.rst b/doc/src/pair_list.rst index 2dd5ec44de..93485b3471 100644 --- a/doc/src/pair_list.rst +++ b/doc/src/pair_list.rst @@ -6,7 +6,6 @@ pair_style list command Syntax """""" - .. code-block:: LAMMPS pair_style list listfile cutoff keyword @@ -18,7 +17,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style list restraints.txt 200.0 @@ -34,7 +32,7 @@ Description Style *list* computes interactions between explicitly listed pairs of atoms with the option to select functional form and parameters for each individual pair. Because the parameters are set in the list -file, the pair\_coeff command has no parameters (but still needs to be +file, the pair_coeff command has no parameters (but still needs to be provided). The *check* and *nocheck* keywords enable/disable a test that checks whether all listed bonds were present and computed. @@ -50,23 +48,20 @@ The format of the list file is as follows: * empty lines will be ignored * comment text starts with a '#' character * line syntax: *ID1 ID2 style coeffs cutoff* - + .. parsed-literal:: - + ID1 = atom ID of first atom ID2 = atom ID of second atom style = style of interaction coeffs = list of coeffs cutoff = cutoff for interaction (optional) - - The cutoff parameter is optional. If not specified, the global cutoff is used. Here is an example file: - .. parsed-literal:: # this is a comment @@ -81,7 +76,6 @@ The style *lj126* computes pairwise interactions with the formula E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c - and the coefficients: * :math:`\epsilon` (energy units) @@ -93,7 +87,6 @@ The style *morse* computes pairwise interactions with the formula E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c - and the coefficients: * :math:`D_0` (energy units) @@ -113,10 +106,8 @@ and the coefficients: Note that the usual 1/2 factor is included in :math:`K`. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing since all parameters are @@ -128,21 +119,18 @@ pair style. The :doc:`pair_modify <pair_modify>` table and tail options are not relevant for this pair style. -This pair style does not write its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands need +This pair style does not write its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style does not use a neighbor list and instead identifies atoms by their IDs. This has two consequences: 1) The cutoff has to be chosen sufficiently large, so that the second atom of a pair has to be diff --git a/doc/src/pair_lj.rst b/doc/src/pair_lj.rst index 7f97913be6..21357ab45f 100644 --- a/doc/src/pair_lj.rst +++ b/doc/src/pair_lj.rst @@ -108,7 +108,6 @@ pair_style lj/cut/tip4p/long/opt command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -116,7 +115,6 @@ Syntax * style = *lj/cut* or *lj/cut/coul/cut* or *lj/cut/coul/debye* or *lj/cut/coul/dsf* or *lj/cut/coul/long* *lj/cut/coul/msm* or *lj/cut/tip4p/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/cut* args = cutoff @@ -158,7 +156,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/cut 2.5 @@ -213,11 +210,10 @@ given by .. math:: - E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c - Rc is the cutoff. Style *lj/cut/coul/cut* adds a Coulombic pairwise interaction given by @@ -226,11 +222,10 @@ Style *lj/cut/coul/cut* adds a Coulombic pairwise interaction given by E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c - where C is an energy-conversion constant, :math:`q_i` and :math:`q_j` are the charges on the 2 atoms, and :math:`\epsilon` is the dielectric constant which can be set by the :doc:`dielectric <dielectric>` command. -If one cutoff is specified in the pair\_style command, it is used for +If one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic terms respectively. @@ -241,7 +236,6 @@ to the Coulombic term, given by E = \frac{C q_i q_j}{\epsilon r} \exp(- \kappa r) \qquad r < r_c - where :math:`\kappa` is the inverse of the Debye length. This potential is another way to mimic the screening effect of a polar solvent. @@ -250,10 +244,9 @@ shifted force model described in :ref:`Fennell <Fennell2>`, given by: .. math:: - E = - q_iq_j \left[ \frac{\mbox{erfc} (\alpha r)}{r} - \frac{\mbox{erfc} (\alpha r_c)}{r_c} + - \left( \frac{\mbox{erfc} (\alpha r_c)}{r_c^2} + \frac{2\alpha}{\sqrt{\pi}}\frac{\exp (-\alpha^2 r^2_c)}{r_c} \right)(r-r_c) \right] \qquad r < r_c - + E = + q_iq_j \left[ \frac{\mbox{erfc} (\alpha r)}{r} - \frac{\mbox{erfc} (\alpha r_c)}{r_c} + + \left( \frac{\mbox{erfc} (\alpha r_c)}{r_c^2} + \frac{2\alpha}{\sqrt{\pi}}\frac{\exp (-\alpha^2 r^2_c)}{r_c} \right)(r-r_c) \right] \qquad r < r_c where :math:`\alpha` is the damping parameter and erfc() is the complementary error-function. This potential is essentially a short-range, @@ -281,12 +274,11 @@ summation method, described in :ref:`Wolf <Wolf1>`, given by: .. math:: - E_i = \frac{1}{2} \sum_{j \neq i} - \frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} + - \frac{1}{2} \sum_{j \neq i} + E_i = \frac{1}{2} \sum_{j \neq i} + \frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} + + \frac{1}{2} \sum_{j \neq i} \frac{q_i q_j {\rm erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c - where :math:`\alpha` is the damping parameter, and erfc() is the complementary error-function terms. This potential is essentially a short-range, spherically-truncated, charge-neutralized, shifted, @@ -306,7 +298,7 @@ site located a short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the massless charge site are specified as -pair\_style arguments. Style *lj/cut/tip4p/cut* uses a cutoff for +pair_style arguments. Style *lj/cut/tip4p/cut* uses a cutoff for Coulomb interactions; style *lj/cut/tip4p/long* is for use with a long-range Coulombic solver (Ewald or PPPM). @@ -345,7 +337,7 @@ Note that :math:`\sigma` is defined in the LJ formula as the zero-crossing distance for the potential, not as the energy minimum at :math:`2^{\frac{1}{6}} \sigma`. The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair\_style command are used. +LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this @@ -356,12 +348,10 @@ For *lj/cut/coul/long* and *lj/cut/coul/msm* and *lj/cut/tip4p/cut* and *lj/cut/tip4p/long* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair\_style command. - +pair_style command. ---------- - A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in free energy calculations, is part of the USER-FEP package and is documented with the :doc:`pair_style */soft <pair_fep_soft>` @@ -369,10 +359,8 @@ styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -391,15 +379,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command +The default mix value is *geometric*\ . See the "pair_modify" command for details. All of the *lj/cut* pair styles support the @@ -415,23 +401,20 @@ All of the *lj/cut* pair styles support the tail correction to the energy and pressure for the Lennard-Jones portion of the pair interaction. -All of the *lj/cut* pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do +All of the *lj/cut* pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. The *lj/cut* and *lj/cut/coul/long* pair styles support the use of the *inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa <run_style>` command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. -The other styles only support the *pair* keyword of run\_style respa. +The other styles only support the *pair* keyword of run_style respa. See the :doc:`run_style <run_style>` command for details. - ---------- - Restrictions """""""""""" - The *lj/cut/coul/long* and *lj/cut/tip4p/long* styles are part of the KSPACE package. The *lj/cut/tip4p/cut* style is part of the MOLECULE package. These styles are only enabled if LAMMPS was built with those @@ -445,20 +428,14 @@ Related commands **Default:** none - ---------- - .. _Jorgensen2: - - **(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). .. _Fennell2: - - **(Fennell)** C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, 234104 (2006). diff --git a/doc/src/pair_lj96.rst b/doc/src/pair_lj96.rst index 2f2dcc76e4..3799020a05 100644 --- a/doc/src/pair_lj96.rst +++ b/doc/src/pair_lj96.rst @@ -12,7 +12,6 @@ pair_style lj96/cut/omp command Syntax """""" - .. code-block:: LAMMPS pair_style lj96/cut cutoff @@ -22,7 +21,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj96/cut 2.5 @@ -37,11 +35,10 @@ of the standard 12/6 potential, given by .. math:: - E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{9} - + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{9} - \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c - :math:`r_c` is the cutoff. The following coefficients must be defined for each pair of atoms @@ -55,12 +52,10 @@ commands, or by mixing as described below: * cutoff (distance units) The last coefficient is optional. If not specified, the global LJ -cutoff specified in the pair\_style command is used. - +cutoff specified in the pair_style command is used. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -79,15 +74,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command +The default mix value is *geometric*\ . See the "pair_modify" command for details. This pair style supports the :doc:`pair_modify <pair_modify>` shift @@ -100,7 +93,7 @@ This pair style supports the :doc:`pair_modify <pair_modify>` tail option for adding a long-range tail correction to the energy and pressure of the pair interaction. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style supports the use of the *inner*\ , *middle*\ , and *outer* @@ -109,10 +102,8 @@ pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the :doc:`run_style <run_style>` command for details. - ---------- - Restrictions """""""""""" none diff --git a/doc/src/pair_lj_cubic.rst b/doc/src/pair_lj_cubic.rst index f975a65524..5bf5d873e4 100644 --- a/doc/src/pair_lj_cubic.rst +++ b/doc/src/pair_lj_cubic.rst @@ -12,7 +12,6 @@ pair_style lj/cubic/omp command Syntax """""" - .. code-block:: LAMMPS pair_style lj/cubic @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/cubic @@ -43,8 +41,7 @@ the energy and force are zero. E & = u_{LJ}(r) \qquad r \leq r_s \\ & = u_{LJ}(r_s) + (r-r_s) u'_{LJ}(r_s) - \frac{1}{6} A_3 (r-r_s)^3 \qquad r_s < r \leq r_c \\ - & = 0 \qquad r > r_c - + & = 0 \qquad r > r_c The location of the inflection point :math:`r_s` is defined by the LJ diameter, :math:`r_s/\sigma = (26/7)^{1/6}`. The cutoff distance @@ -71,10 +68,8 @@ zero-crossing distance for the potential, not as the energy minimum, which is located at :math:`r_{min} = 2^{\frac{1}{6}} \sigma`. In the above example, :math:`\sigma = 0.8908987`, so :math:`r_{min} = 1.0`. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -93,15 +88,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/cut pair styles can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command +The default mix value is *geometric*\ . See the "pair_modify" command for details. The lj/cubic pair style does not support the @@ -117,17 +110,15 @@ The lj/cubic pair style does not support the corrections to energy and pressure, since there are no corrections for a potential that goes to 0.0 at the cutoff. -The lj/cubic pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do +The lj/cubic pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. The lj/cubic pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -139,17 +130,12 @@ Related commands **Default:** none - ---------- - .. _Holian: - - .. _Ravelo2: **(Holian)** Holian and Ravelo, Phys Rev B, 51, 11275 (1995). - **(Ravelo)** Ravelo, Holian, Germann and Lomdahl, Phys Rev B, 70, 014103 (2004). diff --git a/doc/src/pair_lj_expand.rst b/doc/src/pair_lj_expand.rst index 8d69c760ad..1478188bbb 100644 --- a/doc/src/pair_lj_expand.rst +++ b/doc/src/pair_lj_expand.rst @@ -21,7 +21,6 @@ pair_style lj/expand/coul/long/gpu command Syntax """""" - .. code-block:: LAMMPS pair_style lj/expand cutoff @@ -31,7 +30,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/expand 2.5 @@ -53,11 +51,10 @@ formula: .. math:: - E = 4 \epsilon \left[ \left(\frac{\sigma}{r - \Delta}\right)^{12} - + E = 4 \epsilon \left[ \left(\frac{\sigma}{r - \Delta}\right)^{12} - \left(\frac{\sigma}{r - \Delta}\right)^6 \right] \qquad r < r_c + \Delta - :math:`r_c` is the cutoff which does not include the :math:`\Delta` distance. I.e. the actual force cutoff is the sum of :math:`r_c + \Delta`. @@ -81,7 +78,7 @@ used. For *lj/expand/coul/long* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair\_style command. +pair_style command. ---------- @@ -103,17 +100,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon, sigma, and shift coefficients and cutoff distance for this pair style can be mixed. Shift is always mixed via an *arithmetic* rule. The other -coefficients are mixed according to the pair\_modify mix value. The -default mix value is *geometric*\ . See the "pair\_modify" command for +coefficients are mixed according to the pair_modify mix value. The +default mix value is *geometric*\ . See the "pair_modify" command for details. This pair style supports the :doc:`pair_modify <pair_modify>` shift @@ -126,17 +121,15 @@ This pair style supports the :doc:`pair_modify <pair_modify>` tail option for adding a long-range tail correction to the energy and pressure of the pair interaction. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none diff --git a/doc/src/pair_lj_long.rst b/doc/src/pair_lj_long.rst index 628eb40664..682f11b95b 100644 --- a/doc/src/pair_lj_long.rst +++ b/doc/src/pair_lj_long.rst @@ -21,7 +21,6 @@ pair_style lj/long/tip4p/long/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -29,7 +28,6 @@ Syntax * style = *lj/long/coul/long* or *lj/long/tip4p/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/long/coul/long* args = flag_lj flag_coul cutoff (cutoff2) @@ -58,7 +56,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/long/coul/long cut off 2.5 @@ -79,7 +76,7 @@ Style *lj/long/coul/long* computes the standard 12/6 Lennard-Jones potential: .. math:: - E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c \\ @@ -90,17 +87,16 @@ potential parameters, plus the Coulomb potential, given by: E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c - where C is an energy-conversion constant, :math:`q_i` and :math:`q_j` are the charges on the 2 atoms, :math:`\epsilon` is the dielectric constant which can be set by the :doc:`dielectric <dielectric>` command, and :math:`r_c` is the cutoff. If -one cutoff is specified in the pair\_style command, it is used for both +one cutoff is specified in the pair_style command, it is used for both the LJ and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the LJ and Coulombic terms respectively. The purpose of this pair style is to capture long-range interactions resulting from both attractive 1/r\^6 Lennard-Jones and Coulombic 1/r -interactions. This is done by use of the *flag\_lj* and *flag\_coul* +interactions. This is done by use of the *flag_lj* and *flag_coul* settings. The :ref:`In 't Veld <Veld2>` paper has more details on when it is appropriate to include long-range 1/r\^6 interactions, using this potential. @@ -110,7 +106,7 @@ Style *lj/long/tip4p/long* implements the TIP4P water model of short distance away from the oxygen atom along the bisector of the HOH angle. The atomic types of the oxygen and hydrogen atoms, the bond and angle types for OH and HOH interactions, and the distance to the -massless charge site are specified as pair\_style arguments. +massless charge site are specified as pair_style arguments. .. note:: @@ -130,22 +126,22 @@ LJ cutoff >= Coulombic cutoff + 2\*qdist, to shrink the size of the neighbor list. This leads to slightly larger cost for the long-range calculation, so you can test the trade-off for your model. -If *flag\_lj* is set to *long*\ , no cutoff is used on the LJ 1/r\^6 +If *flag_lj* is set to *long*\ , no cutoff is used on the LJ 1/r\^6 dispersion term. The long-range portion can be calculated by using the :doc:`kspace_style ewald/disp or pppm/disp <kspace_style>` commands. The specified LJ cutoff then determines which portion of the LJ interactions are computed directly by the pair potential versus which part is computed in reciprocal space via the Kspace style. If -*flag\_lj* is set to *cut*\ , the LJ interactions are simply cutoff, as +*flag_lj* is set to *cut*\ , the LJ interactions are simply cutoff, as with :doc:`pair_style lj/cut <pair_lj>`. -If *flag\_coul* is set to *long*\ , no cutoff is used on the Coulombic +If *flag_coul* is set to *long*\ , no cutoff is used on the Coulombic interactions. The long-range portion can calculated by using any of several :doc:`kspace_style <kspace_style>` command options such as -*pppm* or *ewald*\ . Note that if *flag\_lj* is also set to long, then +*pppm* or *ewald*\ . Note that if *flag_lj* is also set to long, then the *ewald/disp* or *pppm/disp* Kspace style needs to be used to perform the long-range calculations for both the LJ and Coulombic -interactions. If *flag\_coul* is set to *off*\ , Coulombic interactions +interactions. If *flag_coul* is set to *off*\ , Coulombic interactions are not computed. The following coefficients must be defined for each pair of atoms @@ -164,36 +160,32 @@ distance for the potential, not as the energy minimum at 2\^(1/6) sigma. The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair\_style command are used. +LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this type pair. -Note that if you are using *flag\_lj* set to *long*\ , you +Note that if you are using *flag_lj* set to *long*\ , you cannot specify a LJ cutoff for an atom type pair, since only one -global LJ cutoff is allowed. Similarly, if you are using *flag\_coul* +global LJ cutoff is allowed. Similarly, if you are using *flag_coul* set to *long*\ , you cannot specify a Coulombic cutoff for an atom type pair, since only one global Coulombic cutoff is allowed. For *lj/long/tip4p/long* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff -specified in the pair\_style command. - +specified in the pair_style command. ---------- - A version of these styles with a soft core, *lj/cut/soft*\ , suitable for use in free energy calculations, is part of the USER-FEP package and is documented with the :doc:`pair_style */soft <pair_fep_soft>` styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -212,20 +204,18 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/long pair styles can be mixed. -The default mix value is *geometric*\ . See the "pair\_modify" command +The default mix value is *geometric*\ . See the "pair_modify" command for details. These pair styles support the :doc:`pair_modify <pair_modify>` shift option for the energy of the Lennard-Jones portion of the pair -interaction, assuming *flag\_lj* is *cut*\ . +interaction, assuming *flag_lj* is *cut*\ . These pair styles support the :doc:`pair_modify <pair_modify>` table and table/disp options since they can tabulate the short-range portion of @@ -235,7 +225,7 @@ Thes pair styles do not support the :doc:`pair_modify <pair_modify>` tail option for adding a long-range tail correction to the Lennard-Jones portion of the energy and pressure. -These pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. The pair lj/long/coul/long styles support the use of the *inner*\ , @@ -244,14 +234,11 @@ command, meaning the pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the :doc:`run_style <run_style>` command for details. - ---------- - Restrictions """""""""""" - These styles are part of the KSPACE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -262,19 +249,13 @@ Related commands **Default:** none - ---------- - .. _Veld2: - - **(In 't Veld)** In 't Veld, Ismail, Grest, J Chem Phys (accepted) (2007). .. _Jorgensen4: - - **(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983). diff --git a/doc/src/pair_lj_smooth.rst b/doc/src/pair_lj_smooth.rst index d4be64fcc1..b2cf6f7493 100644 --- a/doc/src/pair_lj_smooth.rst +++ b/doc/src/pair_lj_smooth.rst @@ -9,7 +9,6 @@ pair_style lj/smooth/omp command Syntax """""" - .. code-block:: LAMMPS pair_style lj/smooth Rin Rc @@ -20,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/smooth 8.0 10.0 @@ -35,13 +33,12 @@ applied between the inner and outer cutoff. .. math:: - E & = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + E & = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_{in} \\ - F & = C_1 + C_2 (r - r_{in}) + C_3 (r - r_{in})^2 + C_4 (r - r_{in})^3 + F & = C_1 + C_2 (r - r_{in}) + C_3 (r - r_{in})^2 + C_4 (r - r_{in})^3 \qquad r_{in} < r < r_c - The polynomial coefficients C1, C2, C3, C4 are computed by LAMMPS to cause the force to vary smoothly from the inner cutoff :math:`r_{in}` to the outer cutoff :math:`r_c`. @@ -72,10 +69,8 @@ commands, or by mixing as described below: The last 2 coefficients are optional inner and outer cutoffs. If not specified, the global values for :math:`r_{in}` and :math:`r_c` are used. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -94,17 +89,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon, sigma, Rin coefficients and the cutoff distance for this pair style can be mixed. Rin is a cutoff value and is mixed like the cutoff. The other -coefficients are mixed according to the pair\_modify mix option. The -default mix value is *geometric*\ . See the "pair\_modify" command for +coefficients are mixed according to the pair_modify mix option. The +default mix value is *geometric*\ . See the "pair_modify" command for details. This pair style supports the :doc:`pair_modify <pair_modify>` shift @@ -118,17 +111,15 @@ tail option for adding long-range tail corrections to energy and pressure, since the energy of the pair interaction is smoothed to 0.0 at the cutoff. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none diff --git a/doc/src/pair_lj_smooth_linear.rst b/doc/src/pair_lj_smooth_linear.rst index 42da051b57..bb93eddd33 100644 --- a/doc/src/pair_lj_smooth_linear.rst +++ b/doc/src/pair_lj_smooth_linear.rst @@ -9,7 +9,6 @@ pair_style lj/smooth/linear/omp command Syntax """""" - .. code-block:: LAMMPS pair_style lj/smooth/linear cutoff @@ -19,7 +18,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/smooth/linear 2.5 @@ -37,10 +35,9 @@ continuously to zero at the cutoff Rc :ref:`(Toxvaerd) <Toxvaerd>`: .. math:: - \phi\left(r\right) & = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \phi\left(r\right) & = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - \left(\frac{\sigma}{r}\right)^6 \right] \\ - E\left(r\right) & = \phi\left(r\right) - \phi\left(R_c\right) - \left(r - R_c\right) \left.\frac{d\phi}{d r} \right|_{r=R_c} \qquad r < R_c - + E\left(r\right) & = \phi\left(r\right) - \phi\left(R_c\right) - \left(r - R_c\right) \left.\frac{d\phi}{d r} \right|_{r=R_c} \qquad r < R_c The following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command as in the examples @@ -53,12 +50,10 @@ commands, or by mixing as described below: * cutoff (distance units) The last coefficient is optional. If not specified, the global -LJ cutoff specified in the pair\_style command is used. - +LJ cutoff specified in the pair_style command is used. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -77,15 +72,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance can be mixed. The default mix value is geometric. -See the "pair\_modify" command for details. +See the "pair_modify" command for details. This pair style does not support the :doc:`pair_modify <pair_modify>` shift option for the energy of the pair interaction, since it goes @@ -99,17 +92,15 @@ tail option for adding long-range tail corrections to energy and pressure, since the energy of the pair interaction is smoothed to 0.0 at the cutoff. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -121,12 +112,8 @@ Related commands **Default:** none - ---------- - .. _Toxvaerd: - - **(Toxvaerd)** Toxvaerd, Dyre, J Chem Phys, 134, 081102 (2011). diff --git a/doc/src/pair_lj_switch3_coulgauss_long.rst b/doc/src/pair_lj_switch3_coulgauss_long.rst index 5f3a797040..24374658e3 100644 --- a/doc/src/pair_lj_switch3_coulgauss_long.rst +++ b/doc/src/pair_lj_switch3_coulgauss_long.rst @@ -6,7 +6,6 @@ pair_style lj/switch3/coulgauss/long command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -14,7 +13,6 @@ Syntax * style = *lj/switch3/coulgauss/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/switch3/coulgauss/long* args = cutoff (cutoff2) width @@ -25,7 +23,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/switch3/coulgauss/long 12.0 3.0 @@ -44,7 +41,7 @@ vdW potential E = 4\epsilon \left[ \left(\frac{\sigma}{r}\right)^{12}-\left(\frac{\sigma}{r}\right)^{6} \right] -, which goes smoothly to zero at the cutoff r\_c as defined +, which goes smoothly to zero at the cutoff r_c as defined by the switching function .. math:: @@ -55,7 +52,6 @@ by the switching function 0 & \quad\mathrm{if}\quad r >= r_\mathrm{c} \end{array} \right. - where w is the width defined in the arguments. This potential is combined with Coulomb interaction between Gaussian charge densities: @@ -86,7 +82,6 @@ commands: ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : Shifting the potential energy is not necessary because the switching @@ -95,7 +90,6 @@ function ensures that the potential is zero at the cut-off. Restrictions """""""""""" - These styles are part of the USER-YAFF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_local_density.rst b/doc/src/pair_local_density.rst index af317ac99c..f2510686a9 100644 --- a/doc/src/pair_local_density.rst +++ b/doc/src/pair_local_density.rst @@ -6,7 +6,6 @@ pair_style local/density command Syntax """""" - .. code-block:: LAMMPS pair_style style arg @@ -17,46 +16,43 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style local/density benzene_water.localdensity.table - pair_style hybrid/overlay table spline 500 local/density + pair_style hybrid/overlay table spline 500 local/density pair_coeff * * local/density benzene_water.localdensity.table Description """"""""""" -The local density (LD) potential is a mean-field manybody potential, and, in some -sense,a generalization of embedded atom models (EAM). The name "local density -potential" arises from the fact that it assigns an energy to an atom depending -on the number of neighboring atoms of given type around it within a predefined +The local density (LD) potential is a mean-field manybody potential, and, in some +sense,a generalization of embedded atom models (EAM). The name "local density +potential" arises from the fact that it assigns an energy to an atom depending +on the number of neighboring atoms of given type around it within a predefined spherical volume (i.e., within a cutoff). The bottom-up coarse-graining (CG) -literature suggests that such potentials can be widely useful in capturing -effective multibody forces in a computationally efficient manner so as to -improve the quality of CG models of implicit solvation:ref:`(Sanyal1) <Sanyal1>` and -phase-segregation in liquid mixtures:ref:`(Sanyal2) <Sanyal2>`, and provide guidelines -to determine the extent of manybody correlations present in a CG -model.:ref:`(Rosenberger) <Rosenberger>` The LD potential in LAMMPS is primarily -intended to be used as a corrective potential over traditional pair potentials -in bottom-up CG models, i.e., as a hybrid pair style with -other explicit pair interaction terms (e.g., table spline, Lennard Jones, etc.). -Because the LD potential is not a pair potential per se, it is implemented -simply as a single auxiliary file with all specifications that will be read +literature suggests that such potentials can be widely useful in capturing +effective multibody forces in a computationally efficient manner so as to +improve the quality of CG models of implicit solvation:ref:`(Sanyal1) <Sanyal1>` and +phase-segregation in liquid mixtures:ref:`(Sanyal2) <Sanyal2>`, and provide guidelines +to determine the extent of manybody correlations present in a CG +model.:ref:`(Rosenberger) <Rosenberger>` The LD potential in LAMMPS is primarily +intended to be used as a corrective potential over traditional pair potentials +in bottom-up CG models, i.e., as a hybrid pair style with +other explicit pair interaction terms (e.g., table spline, Lennard Jones, etc.). +Because the LD potential is not a pair potential per se, it is implemented +simply as a single auxiliary file with all specifications that will be read upon initialization. .. note:: - Thus when used as the only interaction in the system, there is no - corresponding pair\_coeff command and when used with other pair styles using the - hybrid/overlay option, the corresponding pair\_coeff command must be supplied + Thus when used as the only interaction in the system, there is no + corresponding pair_coeff command and when used with other pair styles using the + hybrid/overlay option, the corresponding pair_coeff command must be supplied \* \* as placeholders for the atom types. - ---------- - **System with a single CG atom type:** A system of a single atom type (e.g., LJ argon) with a single local density (LD) @@ -66,7 +62,6 @@ potential would have an energy given by: U_{LD} = \sum_i F(\rho_i) - where :math:`\rho_i` is the LD at atom *i* and :math:`F(\rho)` is similar in spirit to the embedding function used in EAM potentials. The LD at atom *i* is given by the sum @@ -75,7 +70,6 @@ LD at atom *i* is given by the sum \rho_i = \sum_{j \neq i} \varphi(r_{ij}) - where :math:`\varphi` is an indicator function that is one at r=0 and zero beyond a cutoff distance R2. The choice of the functional form of :math:`\varphi` is somewhat arbitrary, but the following piecewise cubic @@ -84,30 +78,28 @@ function has proven sufficiently general: :ref:`(Sanyal1) <Sanyal1>`, .. math:: - \varphi(r) = + \varphi(r) = \begin{cases} 1 & r \le R_1 \\ c_0 + c_2r^2 + c_4r^4 + c_6r^6 & r \in (R_1, R_2) \\ 0 & r \ge R_2 \end{cases} -The constants *c* are chosen so that the indicator function smoothly -interpolates between 1 and 0 between the distances R1 and R2, which are -called the inner and outer cutoffs, respectively. Thus phi satisfies -phi(R1) = 1, phi(R2) = dphi/dr @ (r=R1) = dphi/dr @ (r=R2) = 0. The embedding -function F(rho) may or may not have a closed-form expression. To maintain -generality, it is practically represented with a spline-interpolated table -over a predetermined range of rho. Outside of that range it simply adopts zero +The constants *c* are chosen so that the indicator function smoothly +interpolates between 1 and 0 between the distances R1 and R2, which are +called the inner and outer cutoffs, respectively. Thus phi satisfies +phi(R1) = 1, phi(R2) = dphi/dr @ (r=R1) = dphi/dr @ (r=R2) = 0. The embedding +function F(rho) may or may not have a closed-form expression. To maintain +generality, it is practically represented with a spline-interpolated table +over a predetermined range of rho. Outside of that range it simply adopts zero values at the endpoints. -It can be shown that the total force between two atoms due to the LD potential -takes the form of a pair force, which motivates its designation as a LAMMPS +It can be shown that the total force between two atoms due to the LD potential +takes the form of a pair force, which motivates its designation as a LAMMPS pair style. Please see :ref:`(Sanyal1) <Sanyal1>` for details of the derivation. - ---------- - **Systems with arbitrary numbers of atom types:** The potential is easily generalized to systems involving multiple atom types: @@ -116,14 +108,12 @@ The potential is easily generalized to systems involving multiple atom types: U_{LD} = \sum_i a_\alpha F(\rho_i) - with the LD expressed as .. math:: \rho_i = \sum_{j \neq i} b_\beta \varphi(r_{ij}) - where :math:`\alpha` gives the type of atom *i*\ , :math:`\beta` the type of atom *j*\ , and the coefficients *a* and *b* filter for atom types as specified by the user. *a* is called the central atom filter as @@ -146,39 +136,36 @@ which atom types to use in the calculation of the LD; :math:`b_{\beta} = **General form for implementation in LAMMPS:** -Of course, a system with many atom types may have many different possible LD -potentials, each with their own atom type filters, cutoffs, and embedding -functions. The most general form of this potential as implemented in the -pair\_style local/density is: +Of course, a system with many atom types may have many different possible LD +potentials, each with their own atom type filters, cutoffs, and embedding +functions. The most general form of this potential as implemented in the +pair_style local/density is: .. math:: - U_{LD} = \sum_k U_{LD}^{(k)} = \sum_i \left[ \sum_k a_\alpha^{(k)} F^{(k)} \left(\rho_i^{(k)}\right) \right] - + U_{LD} = \sum_k U_{LD}^{(k)} = \sum_i \left[ \sum_k a_\alpha^{(k)} F^{(k)} \left(\rho_i^{(k)}\right) \right] where, *k* is an index that spans the (arbitrary) number of applied LD -potentials N\_LD. Each LD is calculated as before with: +potentials N_LD. Each LD is calculated as before with: .. math:: \rho_i^{(k)} = \sum_j b_\beta^{(k)} \varphi^{(k)} (r_{ij}) - -The superscript on the indicator function phi simply indicates that it is -associated with specific values of the cutoff distances R1(k) and R2(k). In -summary, there may be N\_LD distinct LD potentials. With each potential type (k), +The superscript on the indicator function phi simply indicates that it is +associated with specific values of the cutoff distances R1(k) and R2(k). In +summary, there may be N_LD distinct LD potentials. With each potential type (k), one must specify: * the inner and outer cutoffs as R1 and R2 -* the central type filter a(k), where k = 1,2,...N\_LD -* the neighbor type filter b(k), where k = 1,2,...N\_LD +* the central type filter a(k), where k = 1,2,...N_LD +* the neighbor type filter b(k), where k = 1,2,...N_LD * the LD potential function F(k)(rho), typically as a table that is later spline-interpolated ---------- **Tabulated input file format:** - .. parsed-literal:: Line 1: comment or blank (ignored) @@ -202,9 +189,9 @@ one must specify: Block N_LD -Lines 5 to 9+N\_rho constitute the first block. Thus the input file is separated -(by blank lines) into N\_LD blocks each representing a separate LD potential and -each specifying its own upper and lower cutoffs, central and neighbor atoms, +Lines 5 to 9+N_rho constitute the first block. Thus the input file is separated +(by blank lines) into N_LD blocks each representing a separate LD potential and +each specifying its own upper and lower cutoffs, central and neighbor atoms, and potential. In general, blank lines anywhere are ignored. ---------- @@ -224,17 +211,14 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. The local/density pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair\_style and pair\_coeff commands in +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. - ---------- - Restrictions """""""""""" - The local/density pair style is a part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -245,23 +229,16 @@ Related commands **Default:** none - ---------- - .. _Sanyal1: - - .. _Sanyal2: **(Sanyal1)** Sanyal and Shell, Journal of Chemical Physics, 2016, 145 (3), 034109. - **(Sanyal2)** Sanyal and Shell, Journal of Physical Chemistry B, 122 (21), 5678-5693. .. _Rosenberger: - - **(Rosenberger)** Rosenberger, Sanyal, Shell and van der Vegt, Journal of Chemical Physics, 2019, 151 (4), 044111. diff --git a/doc/src/pair_lubricate.rst b/doc/src/pair_lubricate.rst index 6e2cefd091..563b88920e 100644 --- a/doc/src/pair_lubricate.rst +++ b/doc/src/pair_lubricate.rst @@ -15,7 +15,6 @@ pair_style lubricate/poly/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style mu flaglog flagfld cutinner cutoff flagHI flagVF @@ -31,7 +30,6 @@ Syntax **Examples:** (all assume radius = 1) - .. code-block:: LAMMPS pair_style lubricate 1.5 1 1 2.01 2.5 @@ -53,15 +51,14 @@ Ball-Melrose lubrication terms via the formulas in :ref:`(Ball and Melrose) <Bal .. math:: - W & = - a_{sq} | (v_1 - v_2) \bullet \mathbf{nn} |^2 - - a_{sh} | (\omega_1 + \omega_2) \bullet + W & = - a_{sq} | (v_1 - v_2) \bullet \mathbf{nn} |^2 - + a_{sh} | (\omega_1 + \omega_2) \bullet (\mathbf{I} - \mathbf{nn}) - 2 \Omega_N |^2 - \\ & a_{pu} | (\omega_1 - \omega_2) \bullet (\mathbf{I} - \mathbf{nn}) |^2 - a_{tw} | (\omega_1 - \omega_2) \bullet \mathbf{nn} |^2 \qquad r < r_c \\ & \\ \Omega_N & = \mathbf{n} \times (v_1 - v_2) / r - which represents the dissipation W between two nearby particles due to their relative velocities in the presence of a background solvent with viscosity *mu*\ . Note that this is dynamic viscosity which has units of @@ -94,13 +91,12 @@ represented by the following equation F^{H} = -R_{FU}(U-U^{\infty}) + R_{FE}E^{\infty} - where U represents the velocities and angular velocities of the particles, :math:`U^{\infty}` represents the velocity and the angular velocity of the undisturbed fluid, and :math:`E^{\infty}` represents the rate of strain tensor of the undisturbed fluid with viscosity *mu*\ . Again, note that this is dynamic viscosity which has units of mass/distance/time, not -kinematic viscosity. Volume fraction corrections to R\_FU are included +kinematic viscosity. Volume fraction corrections to R_FU are included as long as *flagVF* is set to 1 (default). .. note:: @@ -114,7 +110,7 @@ Style *lubricate* requires monodisperse spherical particles; style *lubricate/poly* allows for polydisperse spherical particles. The viscosity *mu* can be varied in a time-dependent manner over the -course of a simulation, in which case in which case the pair\_style +course of a simulation, in which case in which case the pair_style setting for *mu* will be overridden. See the :doc:`fix adapt <fix_adapt>` command for details. @@ -122,9 +118,9 @@ If the suspension is sheared via the :doc:`fix deform <fix_deform>` command then the pair style uses the shear rate to adjust the hydrodynamic interactions accordingly. Volume changes due to fix deform are accounted for when computing the volume fraction -corrections to R\_FU. +corrections to R_FU. -When computing the volume fraction corrections to R\_FU, the presence +When computing the volume fraction corrections to R_FU, the presence of walls (whether moving or stationary) will affect the volume fraction available to colloidal particles. This is currently accounted for with the following types of walls: :doc:`wall/lj93 <fix_wall>`, @@ -143,10 +139,8 @@ thermostat the system at a constant temperature. If Brownian motion and the brownian style should use consistent parameters for *mu*\ , *flaglog*\ , *flagfld*\ , *cutinner*\ , *cutoff*\ , *flagHI* and *flagVF*\ . - ---------- - The following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command as in the examples above, or in the data file or restart files read by the @@ -157,13 +151,11 @@ commands, or by mixing as described below: * cutoff (distance units) The two coefficients are optional. If neither is specified, the two -cutoffs specified in the pair\_style command are used. Otherwise both +cutoffs specified in the pair_style command are used. Otherwise both must be specified. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -182,15 +174,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See :doc:`this section <Speed>` of the manual for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the two cutoff distances for this pair style can be mixed. The default mix value is *geometric*\ . See -the "pair\_modify" command for details. +the "pair_modify" command for details. This pair style does not support the :doc:`pair_modify <pair_modify>` shift option for the energy of the pair interaction. @@ -202,28 +192,25 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These styles are part of the COLLOID package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. -Only spherical monodisperse particles are allowed for pair\_style +Only spherical monodisperse particles are allowed for pair_style lubricate. -Only spherical particles are allowed for pair\_style lubricate/poly. +Only spherical particles are allowed for pair_style lubricate/poly. These pair styles will not restart exactly when using the :doc:`read_restart <read_restart>` command, though they should provide @@ -242,20 +229,14 @@ Default The default settings for the optional args are flagHI = 1 and flagVF = 1. - ---------- - .. _Ball1: - - **(Ball)** Ball and Melrose, Physica A, 247, 444-472 (1997). .. _Kumar1: - - **(Kumar)** Kumar and Higdon, Phys Rev E, 82, 051401 (2010). See also his thesis for more details: A. Kumar, "Microscale Dynamics in Suspensions of Non-spherical Particles", Thesis, University of diff --git a/doc/src/pair_lubricateU.rst b/doc/src/pair_lubricateU.rst index 44eff99158..5b485746c8 100644 --- a/doc/src/pair_lubricateU.rst +++ b/doc/src/pair_lubricateU.rst @@ -9,7 +9,6 @@ pair_style lubricateU/poly command Syntax """""" - .. code-block:: LAMMPS pair_style style mu flaglog cutinner cutoff gdot flagHI flagVF @@ -25,7 +24,6 @@ Syntax **Examples:** (all assume radius = 1) - .. code-block:: LAMMPS pair_style lubricateU 1.5 1 2.01 2.5 0.01 1 1 @@ -45,15 +43,14 @@ Ball-Melrose lubrication terms via the formulas in :ref:`(Ball and Melrose) <Bal .. math:: - W & = - a_{sq} | (v_1 - v_2) \bullet \mathbf{nn} |^2 - - a_{sh} | (\omega_1 + \omega_2) \bullet + W & = - a_{sq} | (v_1 - v_2) \bullet \mathbf{nn} |^2 - + a_{sh} | (\omega_1 + \omega_2) \bullet (\mathbf{I} - \mathbf{nn}) - 2 \Omega_N |^2 - \\ & a_{pu} | (\omega_1 - \omega_2) \bullet (\mathbf{I} - \mathbf{nn}) |^2 - a_{tw} | (\omega_1 - \omega_2) \bullet \mathbf{nn} |^2 \qquad r < r_c \\ & \\ \Omega_N & = \mathbf{n} \times (v_1 - v_2) / r - which represents the dissipation W between two nearby particles due to their relative velocities in the presence of a background solvent with viscosity *mu*\ . Note that this is dynamic viscosity which has units of @@ -87,14 +84,13 @@ solved to balance the forces and torques is -R_{FU}(U-U^{\infty}) = -R_{FE}E^{\infty} - F^{rest} - where U represents the velocities and angular velocities of the particles, :math:`U^{\infty}` represents the velocities and the angular velocities of the undisturbed fluid, and :math:`E^{\infty}` represents the rate of strain tensor of the undisturbed fluid flow with viscosity *mu*\ . Again, note that this is dynamic viscosity which has units of mass/distance/time, not kinematic viscosity. Volume fraction -corrections to R\_FU are included if *flagVF* is set to 1 (default). +corrections to R_FU are included if *flagVF* is set to 1 (default). F\ *rest* represents the forces and torques due to all other types of interactions, e.g. Brownian, electrostatic etc. Note that this @@ -127,9 +123,9 @@ If the suspension is sheared via the :doc:`fix deform <fix_deform>` command then the pair style uses the shear rate to adjust the hydrodynamic interactions accordingly. Volume changes due to fix deform are accounted for when computing the volume fraction -corrections to R\_FU. +corrections to R_FU. -When computing the volume fraction corrections to R\_FU, the presence +When computing the volume fraction corrections to R_FU, the presence of walls (whether moving or stationary) will affect the volume fraction available to colloidal particles. This is currently accounted for with the following types of walls: :doc:`wall/lj93 <fix_wall>`, @@ -137,7 +133,7 @@ for with the following types of walls: :doc:`wall/lj93 <fix_wall>`, :doc:`wall/harmonic <fix_wall>`. For these wall styles, the correct volume fraction will be used when walls do not coincide with the box boundary, as well as when walls move and thereby cause a change in the -volume fraction. To use these wall styles with pair\_style *lubricateU* +volume fraction. To use these wall styles with pair_style *lubricateU* or *lubricateU/poly*\ , the *fld yes* option must be specified in the fix wall command. @@ -148,10 +144,8 @@ thermostat the system at a constant temperature. If Brownian motion and the brownian style should use consistent parameters for *mu*\ , *flaglog*\ , *flagfld*\ , *cutinner*\ , *cutoff*\ , *flagHI* and *flagVF*\ . - ---------- - The following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command as in the examples above, or in the data file or restart files read by the @@ -162,18 +156,16 @@ commands, or by mixing as described below: * cutoff (distance units) The two coefficients are optional. If neither is specified, the two -cutoffs specified in the pair\_style command are used. Otherwise both +cutoffs specified in the pair_style command are used. Otherwise both must be specified. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the two cutoff distances for this pair style can be mixed. The default mix value is *geometric*\ . See -the "pair\_modify" command for details. +the "pair_modify" command for details. This pair style does not support the :doc:`pair_modify <pair_modify>` shift option for the energy of the pair interaction. @@ -185,21 +177,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These styles are part of the COLLOID package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -210,10 +199,10 @@ the pair styles, and that no fixes apply additional constraint forces. One exception is the :doc:`fix wall/colloid <fix_wall>` commands, which has an "fld" option to apply their wall forces correctly. -Only spherical monodisperse particles are allowed for pair\_style +Only spherical monodisperse particles are allowed for pair_style lubricateU. -Only spherical particles are allowed for pair\_style lubricateU/poly. +Only spherical particles are allowed for pair_style lubricateU/poly. For sheared suspensions, it is assumed that the shearing is done in the xy plane, with x being the velocity direction and y being the @@ -230,18 +219,12 @@ Default The default settings for the optional args are flagHI = 1 and flagVF = 1. - ---------- - .. _Ball2: - - **(Ball)** Ball and Melrose, Physica A, 247, 444-472 (1997). .. _Kumar2: - - **(Kumar)** Kumar and Higdon, Phys Rev E, 82, 051401 (2010). diff --git a/doc/src/pair_mdf.rst b/doc/src/pair_mdf.rst index 2ec6cfc0af..983e817f1d 100644 --- a/doc/src/pair_mdf.rst +++ b/doc/src/pair_mdf.rst @@ -12,16 +12,15 @@ pair_style lennard/mdf command Syntax """""" - .. code-block:: LAMMPS pair_style style args * style = *lj/mdf* or *buck/mdf* or *lennard/mdf* * args = list of arguments for a particular style - + .. parsed-literal:: - + *lj/mdf* args = cutoff1 cutoff2 cutoff1 = inner cutoff for the start of the tapering function cutoff1 = out cutoff for the end of the tapering function @@ -32,12 +31,9 @@ Syntax cutoff1 = inner cutoff for the start of the tapering function cutoff1 = out cutoff for the end of the tapering function - - Examples """""""" - .. code-block:: LAMMPS pair_style lj/mdf 2.5 3.0 @@ -64,7 +60,6 @@ inner and outer cutoff. E_{smooth}(r) = E(r)*f(r) - The tapering, *f(r)*\ , is done by using the Mei, Davenport, Fernando function :ref:`(Mei) <Mei>`. @@ -80,24 +75,20 @@ where x = \frac{(r-r_m)}{(r_{cut}-r_m)} - Here :math:`r_m` is the inner cutoff radius and :math:`r_{cut}` is the outer cutoff radius. - ---------- - -For the *lj/mdf* pair\_style, the potential energy, *E(r)*\ , is the +For the *lj/mdf* pair_style, the potential energy, *E(r)*\ , is the standard 12-6 Lennard-Jones written in the epsilon/sigma form: .. math:: E(r) = 4\epsilon\biggl[\bigl(\frac{\sigma}{r}\bigr)^{12} - \bigl(\frac{\sigma}{r}\bigr)^6\biggr] - Either the first two or all of the following coefficients must be -defined for each pair of atoms types via the pair\_coeff command as in +defined for each pair of atoms types via the pair_coeff command as in the examples above, or in the data file read by the :doc:`read_data <read_data>`. The two cutoffs default to the global values and :math:`\epsilon` and :math:`\sigma` can also be determined by mixing as @@ -110,7 +101,7 @@ described below: ---------- -For the *buck/mdf* pair\_style, the potential energy, *E(r)*\ , is the +For the *buck/mdf* pair_style, the potential energy, *E(r)*\ , is the standard Buckingham potential with three required coefficients. The two cutoffs can be omitted and default to the corresponding global values: @@ -119,7 +110,6 @@ global values: E(r) = A e^{(-r/\rho)} -\frac{C}{r^6} - * *A* (energy units) * :math:`\rho` (distance units) * *C* (energy-distance\^6 units) @@ -128,17 +118,16 @@ global values: ---------- -For the *lennard/mdf* pair\_style, the potential energy, *E(r)*\ , is the +For the *lennard/mdf* pair_style, the potential energy, *E(r)*\ , is the standard 12-6 Lennard-Jones written in the A/B form: .. math:: E(r) = \frac{A}{r^{12}} - \frac{B}{r^{6}} - The following coefficients must be defined for each pair of atoms -types via the pair\_coeff command as in the examples above, or in the -data file read by the read\_data commands, or by mixing as described below. +types via the pair_coeff command as in the examples above, or in the +data file read by the read_data commands, or by mixing as described below. The two cutoffs default to their global values and must be either both given or both left out: @@ -154,7 +143,7 @@ given or both left out: For atom type pairs I,J and I != J, the :math:`\epsilon` and :math:`sigma` coefficients and cutoff distances for the lj/mdf pair style can be mixed. The default mix value is *geometric*\ . See the -"pair\_modify" command for details. The other two pair styles buck/mdf +"pair_modify" command for details. The other two pair styles buck/mdf and lennard/mdf do not support mixing, so all I,J pairs of coefficients must be specified explicitly. @@ -162,7 +151,7 @@ None of the lj/mdf, buck/mdf, or lennard/mdf pair styles supports the :doc:`pair_modify <pair_modify>` shift option or long-range tail corrections to pressure and energy. -These styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +These styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , @@ -184,12 +173,8 @@ Related commands **Default:** none - ---------- - .. _Mei: - - **(Mei)** Mei, Davenport, Fernando, Phys Rev B, 43 4653 (1991) diff --git a/doc/src/pair_meam_spline.rst b/doc/src/pair_meam_spline.rst index 7e91d6185a..6c4da24625 100644 --- a/doc/src/pair_meam_spline.rst +++ b/doc/src/pair_meam_spline.rst @@ -9,7 +9,6 @@ pair_style meam/spline/omp command Syntax """""" - .. code-block:: LAMMPS pair_style meam/spline @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code:: LAMMPS pair_style meam/spline @@ -66,7 +64,7 @@ distribution and have a ".meam.spline" file suffix. All of these files are parameterized in terms of LAMMPS :doc:`metal units <units>`. Note that unlike for other potentials, cutoffs for spline-based MEAM -potentials are not set in the pair\_style or pair\_coeff command; they +potentials are not set in the pair_style or pair_coeff command; they are specified in the potential files themselves. Unlike the EAM pair style, which retrieves the atomic mass from the @@ -74,10 +72,10 @@ potential file, the spline-based MEAM potentials do not include mass information; thus you need to use the :doc:`mass <mass>` command to specify it. -Only a single pair\_coeff command is used with the *meam/spline* style +Only a single pair_coeff command is used with the *meam/spline* style which specifies a potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -88,10 +86,9 @@ to specify the path for the potential file. As an example, imagine the Ti.meam.spline file has values for Ti (old style). If your LAMMPS simulation has 3 atoms types and they are all to be -treated with this potentials, you would use the following pair\_coeff +treated with this potentials, you would use the following pair_coeff command: - .. code-block:: LAMMPS pair_coeff * * Ti.meam.spline Ti Ti Ti @@ -108,7 +105,6 @@ on the command line to that single type. An example with a two component spline (new style) is TiO.meam.spline, where the command - .. code-block:: LAMMPS pair_coeff * * TiO.meam.spline Ti O @@ -119,10 +115,8 @@ names of the elements in the TiO.meam.spline file; otherwise an error will be raised. This behavior is different than the old style MEAM files. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -141,31 +135,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. The *meam/spline* pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in an external -potential parameter file. Thus, you need to re-specify the pair\_style -and pair\_coeff commands in an input script that reads a restart file. +potential parameter file. Thus, you need to re-specify the pair_style +and pair_coeff commands in an input script that reads a restart file. The *meam/spline* pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style requires the :doc:`newton <newton>` setting to be "on" for pair interactions. @@ -180,20 +169,14 @@ Related commands **Default:** none - ---------- - .. _Lenosky1: - - **(Lenosky)** Lenosky, Sadigh, Alonso, Bulatov, de la Rubia, Kim, Voter, Kress, Modelling Simulation Materials Science Engineering, 8, 825 (2000). .. _Zhang4: - - **(Zhang)** Zhang and Trinkle, Computational Materials Science, 124, 204-210 (2016). diff --git a/doc/src/pair_meam_sw_spline.rst b/doc/src/pair_meam_sw_spline.rst index 827497e1a0..ebb51795c2 100644 --- a/doc/src/pair_meam_sw_spline.rst +++ b/doc/src/pair_meam_sw_spline.rst @@ -6,7 +6,6 @@ pair_style meam/sw/spline command Syntax """""" - .. code-block:: LAMMPS pair_style meam/sw/spline @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style meam/sw/spline @@ -52,7 +50,7 @@ distribution and have a ".meam.sw.spline" file suffix. All of these files are parameterized in terms of LAMMPS :doc:`metal units <units>`. Note that unlike for other potentials, cutoffs for spline-based -MEAM+SW potentials are not set in the pair\_style or pair\_coeff +MEAM+SW potentials are not set in the pair_style or pair_coeff command; they are specified in the potential files themselves. Unlike the EAM pair style, which retrieves the atomic mass from the @@ -60,10 +58,10 @@ potential file, the spline-based MEAM+SW potentials do not include mass information; thus you need to use the :doc:`mass <mass>` command to specify it. -Only a single pair\_coeff command is used with the meam/sw/spline style +Only a single pair_coeff command is used with the meam/sw/spline style which specifies a potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -74,10 +72,10 @@ to specify the path for the potential file. As an example, imagine the Ti.meam.sw.spline file has values for Ti. If your LAMMPS simulation has 3 atoms types and they are all to be -treated with this potential, you would use the following pair\_coeff +treated with this potential, you would use the following pair_coeff command: -pair\_coeff \* \* Ti.meam.sw.spline Ti Ti Ti +pair_coeff \* \* Ti.meam.sw.spline Ti Ti Ti The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The three Ti arguments map LAMMPS atom types 1,2,3 to the Ti element @@ -94,12 +92,10 @@ potentials. systems in the future. Example input scripts that use this pair style are provided -in the examples/USER/misc/meam\_sw\_spline directory. - +in the examples/USER/misc/meam_sw_spline directory. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : The pair style does not support multiple element types or mixing. @@ -110,21 +106,18 @@ shift, table, and tail options. The *meam/sw/spline* pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in an external -potential parameter file. Thus, you need to re-specify the pair\_style -and pair\_coeff commands in an input script that reads a restart file. +potential parameter file. Thus, you need to re-specify the pair_style +and pair_coeff commands in an input script that reads a restart file. The *meam/sw/spline* pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style requires the :doc:`newton <newton>` setting to be "on" for pair interactions. @@ -140,27 +133,19 @@ Related commands **Default:** none - ---------- - .. _Lenosky2: - - **(Lenosky)** Lenosky, Sadigh, Alonso, Bulatov, de la Rubia, Kim, Voter, Kress, Modell. Simul. Mater. Sci. Eng. 8, 825 (2000). .. _Stillinger1: - - **(Stillinger)** Stillinger, Weber, Phys. Rev. B 31, 5262 (1985). .. _Nicklas: - - **(Nicklas)** The spline-based MEAM+SW format was first devised and used to develop potentials for bcc transition metals by Jeremy Nicklas, Michael Fellinger, diff --git a/doc/src/pair_meamc.rst b/doc/src/pair_meamc.rst index 60a6585e5b..850be5b583 100644 --- a/doc/src/pair_meamc.rst +++ b/doc/src/pair_meamc.rst @@ -13,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style meam/c @@ -26,7 +25,7 @@ Description .. note:: The behavior of the MEAM potential for alloy systems has changed - as of November 2010; see description below of the mixture\_ref\_t + as of November 2010; see description below of the mixture_ref_t parameter Style *meam/c* computes pairwise interactions for a variety of materials @@ -48,7 +47,6 @@ given by: E = \sum_i \left\{ F_i(\bar{\rho}_i) + \frac{1}{2} \sum_{i \neq j} \phi_{ij} (r_{ij}) \right\} - where *F* is the embedding energy which is a function of the atomic electron density :math:`\rho`, and :math:`\phi` is a pair potential interaction. The pair interaction is summed over all neighbors J of @@ -67,13 +65,13 @@ distribution with a ".meam" suffix. All of these are parameterized in terms of LAMMPS :doc:`metal units <units>`. Note that unlike for other potentials, cutoffs for MEAM potentials are -not set in the pair\_style or pair\_coeff command; they are specified in +not set in the pair_style or pair_coeff command; they are specified in the MEAM potential files themselves. -Only a single pair\_coeff command is used with the *meam* style which +Only a single pair_coeff command is used with the *meam* style which specifies two MEAM files and the element(s) to extract information for. The MEAM elements are mapped to LAMMPS atom types by specifying -N additional arguments after the 2nd filename in the pair\_coeff +N additional arguments after the 2nd filename in the pair_coeff command, where N is the number of LAMMPS atom types: * MEAM library file @@ -88,8 +86,7 @@ As an example, the potentials/library.meam file has generic MEAM settings for a variety of elements. The potentials/SiC.meam file has specific parameter settings for a Si and C alloy system. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, -and the 4th to be C, you would use the following pair\_coeff command: - +and the 4th to be C, you would use the following pair_coeff command: .. code-block:: LAMMPS @@ -122,7 +119,7 @@ that will be used with other potentials. filenames can appear in any order, e.g. "Si C" or "C Si" in the example above. However, if the 2nd filename is not NULL (as in the example above), it contains settings that are Fortran-indexed for the - elements that preceed it. Thus you need to insure you list the + elements that precede it. Thus you need to insure you list the elements between the filenames in an order consistent with how the values in the 2nd filename are indexed. See details below on the syntax for settings in the 2nd file. @@ -141,7 +138,7 @@ Cu and lat = dia or fcc. Because the library file is used by Fortran MD codes, these strings may be enclosed in single quotes, but this is not required. The other numeric parameters match values in the formulas above. The value of the "elt" string is what is used in the -pair\_coeff command to identify which settings from the library file +pair_coeff command to identify which settings from the library file you wish to read in. There can be multiple entries in the library file with the same "elt" value; LAMMPS reads the 1st matching entry it finds and ignores the rest. @@ -149,7 +146,6 @@ finds and ignores the rest. Other parameters in the MEAM library file correspond to single-element potential parameters: - .. parsed-literal:: lat = lattice structure of reference configuration @@ -170,7 +166,6 @@ is typically 1.0 for single-element systems. The ibar parameter selects the form of the function G(Gamma) used to compute the electron density; options are - .. parsed-literal:: 0 => G = sqrt(1+Gamma) @@ -188,7 +183,6 @@ blank and comment lines (start with #) which can appear anywhere, each line has one of the following forms. Each line can also have a trailing comment (starting with #) which is ignored. - .. parsed-literal:: keyword = value @@ -200,7 +194,6 @@ The indices I, J, K correspond to the elements selected from the MEAM library file numbered in the order of how those elements were selected starting from 1. Thus for the example given below - .. code-block:: LAMMPS pair_coeff * * library.meam Si C sic.meam Si Si Si C @@ -210,11 +203,10 @@ an index of 1 would refer to Si and an index of 2 to C. The recognized keywords for the parameter file are as follows: Ec, alpha, rho0, delta, lattce, attrac, repuls, nn2, Cmin, Cmax, rc, delr, -augt1, gsmooth\_factor, re +augt1, gsmooth_factor, re where - .. parsed-literal:: rc = cutoff radius for cutoff function; default = 4.0 @@ -238,7 +230,7 @@ where hcp = hexagonal close-packed dim = dimer dia = diamond (interlaced fcc for alloy) - dia3= diamond structure with primary 1NN and secondary 3NN interation + dia3= diamond structure with primary 1NN and secondary 3NN interaction b1 = rock salt (NaCl structure) c11 = MoSi2 structure l12 = Cu3Au structure (lower case L, followed by 12) @@ -306,7 +298,6 @@ where N is the number of MEAM elements being used. Thus these lines - .. parsed-literal:: rho0(2) = 2.25 @@ -329,25 +320,24 @@ automatically. When parameter values are fit using the modified density function, as in more recent literature, augt1 should be set to 0. -The mixture\_ref\_t parameter is available to match results with those +The mixture_ref_t parameter is available to match results with those of previous versions of lammps (before January 2011). Newer versions of lammps, by default, use the single-element values of the t parameters to compute the background reference density. This is the proper way to compute these parameters. Earlier versions of lammps used an alloy mixture averaged value of t to compute the background -reference density. Setting mixture\_ref\_t=1 gives the old behavior. -WARNING: using mixture\_ref\_t=1 will give results that are demonstrably +reference density. Setting mixture_ref_t=1 gives the old behavior. +WARNING: using mixture_ref_t=1 will give results that are demonstrably incorrect for second-neighbor MEAM, and non-standard for first-neighbor MEAM; this option is included only for matching with previous versions of lammps and should be avoided if possible. The parameters attrac and repuls, along with the integer selection -parameter erose\_form, can be used to modify the Rose energy function +parameter erose_form, can be used to modify the Rose energy function used to compute the pair potential. This function gives the energy of the reference state as a function of interatomic spacing. The form of this function is: - .. parsed-literal:: astar = alpha \* (r/re - 1.d0) @@ -367,40 +357,35 @@ recent published MEAM parameter sets, such as :ref:`(Valone) <Valone>` in March 2009. The current version is correct, but may show different behavior compared with earlier versions of lammps with the attrac and/or repuls parameters are non-zero. To obtain the previous default - form, use erose\_form = 1 (this form does not seem to appear in the + form, use erose_form = 1 (this form does not seem to appear in the literature). An alternative form (see e.g. :ref:`(Lee2) <Lee2>`) is - available using erose\_form = 2. - + available using erose_form = 2. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS with user-specifiable parameters as described above. You never need to -specify a pair\_coeff command with I != J arguments for this style. +specify a pair_coeff command with I != J arguments for this style. This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *meam/c* style is provided in the USER-MEAMC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -420,54 +405,36 @@ Related commands **Default:** none - ---------- - .. _Baskes: - - **(Baskes)** Baskes, Phys Rev B, 46, 2727-2742 (1992). .. _Gullet: - - **(Gullet)** Gullet, Wagner, Slepoy, SANDIA Report 2003-8782 (2003). This report may be accessed on-line via `this link <sandreport_>`_. -.. _sandreport: http://infoserve.sandia.gov/sand\_doc/2003/038782.pdf - - +.. _sandreport: http://infoserve.sandia.gov/sand_doc/2003/038782.pdf .. _Lee: - - **(Lee)** Lee, Baskes, Phys. Rev. B, 62, 8564-8567 (2000). .. _Lee2: - - **(Lee2)** Lee, Baskes, Kim, Cho. Phys. Rev. B, 64, 184102 (2001). .. _Valone: - - **(Valone)** Valone, Baskes, Martin, Phys. Rev. B, 73, 214209 (2006). .. _Wang2: - - **(Wang)** Wang, Van Hove, Ross, Baskes, J. Chem. Phys., 121, 5410 (2004). .. _ZBL: - - **(ZBL)** J.F. Ziegler, J.P. Biersack, U. Littmark, "Stopping and Ranges of Ions in Matter", Vol 1, 1985, Pergamon Press. diff --git a/doc/src/pair_mesocnt.rst b/doc/src/pair_mesocnt.rst index 4aea500e79..6d9ba79a31 100644 --- a/doc/src/pair_mesocnt.rst +++ b/doc/src/pair_mesocnt.rst @@ -6,7 +6,6 @@ pair_style mesocnt command Syntax """""" - .. code-block:: LAMMPS pair_style mesocnt @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style mesocnt @@ -46,17 +44,17 @@ potential. In LAMMPS, cylindrical segments are represented by bonds. Each segment is defined by its two end points ("nodes") which correspond to atoms in LAMMPS. For the exact functional form of the potential -and implementation details, the reader is referred to the -original papers :ref:`(Volkov1) <Volkov1>` and +and implementation details, the reader is referred to the +original papers :ref:`(Volkov1) <Volkov1>` and :ref:`(Volkov2) <Volkov2>`. -The potential requires tabulated data provided in a single ASCII -text file specified in the :doc:`pair_coeff <pair_coeff>` command. +The potential requires tabulated data provided in a single ASCII +text file specified in the :doc:`pair_coeff <pair_coeff>` command. The first line of the file provides a time stamp and general information. The second line lists four integers giving the number of data points provided in the subsequent four -data tables. The third line lists four floating point numbers: -the CNT radius R, the LJ parameter sigma and two numerical +data tables. The third line lists four floating point numbers: +the CNT radius R, the LJ parameter sigma and two numerical parameters delta1 and delta2. These four parameters are given in Angstroms. This is followed by four data tables each separated by a single empty line. The first two tables have two columns @@ -66,11 +64,11 @@ array and list the parameters Phi and uSemiParallel respectively. uInfParallel and uSemiParallel are given in eV/Angstrom, Phi is given in eV and Gamma is unitless. -Potential files for CNTs can be readily generated using the freely +Potential files for CNTs can be readily generated using the freely available code provided on .. parsed-literal:: - + https://github.com/phankl/cntpot Using the same approach, it should also be possible to @@ -89,7 +87,7 @@ boron nitride nanotubes. The *mesocnt* style requires CNTs to be represented as a chain of atoms connected by bonds. Atoms need - to be numbered consecutively within one chain. + to be numbered consecutively within one chain. Atoms belonging to different CNTs need to be assigned different molecule IDs. @@ -97,10 +95,8 @@ A full summary of the method and LAMMPS implementation details is expected to soon become available in Computer Physics Communications. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. @@ -108,23 +104,20 @@ This pair style does not support mixing. This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. -The *mesocnt* pair style do not write their information to :doc:`binary restart files <restart>`, +The *mesocnt* pair style do not write their information to :doc:`binary restart files <restart>`, since it is stored in tabulated potential files. -Thus, you need to re-specify the pair\_style and pair\_coeff commands in +Thus, you need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -138,19 +131,13 @@ Related commands **Default:** none - ---------- - .. _Volkov1: - - **(Volkov1)** Volkov and Zhigilei, J Phys Chem C, 114, 5513 (2010). .. _Volkov2: - - -**(Volkov2)** Volkov, Simov and Zhigilei, APS Meeting Abstracts, +**(Volkov2)** Volkov, Simov and Zhigilei, APS Meeting Abstracts, Q31.013 (2008). diff --git a/doc/src/pair_mesodpd.rst b/doc/src/pair_mesodpd.rst index f51b1b4a2c..b2e8507d61 100644 --- a/doc/src/pair_mesodpd.rst +++ b/doc/src/pair_mesodpd.rst @@ -15,16 +15,15 @@ pair_style tdpd command Syntax """""" - .. code-block:: LAMMPS pair_style style args * style = *edpd* or *mdpd* or *mdpd/rhosum* or *tdpd* * args = list of arguments for a particular style - + .. parsed-literal:: - + *edpd* args = cutoff seed cutoff = global cutoff for eDPD interactions (distance units) seed = random # seed (integer) (if <= 0, eDPD will use current time as the seed) @@ -38,12 +37,9 @@ Syntax cutoff = global cutoff for tDPD interactions (distance units) seed = random # seed (integer) (if <= 0, tDPD will use current time as the seed) - - Examples """""""" - .. code-block:: LAMMPS pair_style edpd 1.58 9872598 @@ -64,7 +60,7 @@ Description The *edpd* style computes the pairwise interactions and heat fluxes for eDPD particles following the formulations in -:ref:`(Li2014\_JCP) <Li2014_JCP>` and :ref:`Li2015\_CC <Li2015_CC>`. The time +:ref:`(Li2014_JCP) <Li2014_JCP>` and :ref:`Li2015_CC <Li2015_CC>`. The time evolution of an eDPD particle is governed by the conservation of momentum and energy given by @@ -109,9 +105,8 @@ where the mesoscopic heat friction :math:`\kappa` is given by \kappa = \frac{315k_B\upsilon }{2\pi \rho C_v r_{ct}^5}\frac{1}{Pr}, - with :math:`\upsilon` being the kinematic viscosity. For more details, -see Eq.(15) in :ref:`(Li2014\_JCP) <Li2014_JCP>`. +see Eq.(15) in :ref:`(Li2014_JCP) <Li2014_JCP>`. The following coefficients must be defined in eDPD system for each pair of atom types via the :doc:`pair_coeff <pair_coeff>` command as in @@ -119,11 +114,11 @@ the examples above. * A (force units) * :math:`\gamma` (force/velocity units) -* power\_f (positive real) +* power_f (positive real) * cutoff (distance units) * kappa (thermal conductivity units) -* power\_T (positive real) -* cutoff\_T (distance units) +* power_T (positive real) +* cutoff_T (distance units) * optional keyword = power or kappa The keyword *power* or *kappa* is optional. Both "power" and "kappa" @@ -132,13 +127,11 @@ dependence of the exponent :math:`s(T) = \mathrm{power}_f ( 1+c_1 (T-1) + c_2 (T-1)^2 + c_3 (T-1)^3 + c_4 (T-1)^4 )` and of the mesoscopic heat friction :math:`s_T(T) = \kappa (1 + c_1 (T-1) + c_2 (T-1)^2 + c_3 (T-1)^3 + c_4 (T-1)^4)`. If the keyword *power* or *kappa* is not -specified, the eDPD system will use constant power\_f and +specified, the eDPD system will use constant power_f and :math:`\kappa`, which is independent to temperature changes. - ---------- - The *mdpd/rhosum* style computes the local particle mass density :math:`\rho` for mDPD particles by kernel function interpolation. @@ -151,7 +144,7 @@ via the :doc:`pair_coeff <pair_coeff>` command as in the examples above. The *mdpd* style computes the many-body interactions between mDPD particles following the formulations in -:ref:`(Li2013\_POF) <Li2013_POF>`. The dissipative and random forces are in +:ref:`(Li2013_POF) <Li2013_POF>`. The dissipative and random forces are in the form same as the classical DPD, but the conservative force is local density dependent, which are given by @@ -173,14 +166,14 @@ The following coefficients must be defined for each pair of atom types via the * A (force units) * B (force units) * :math:`\gamma` (force/velocity units) -* cutoff\_c (distance units) -* cutoff\_d (distance units) +* cutoff_c (distance units) +* cutoff_d (distance units) ---------- The *tdpd* style computes the pairwise interactions and chemical concentration fluxes for tDPD particles following the formulations in -:ref:`(Li2015\_JCP) <Li2015_JCP>`. The time evolution of a tDPD particle is +:ref:`(Li2015_JCP) <Li2015_JCP>`. The time evolution of a tDPD particle is governed by the conservation of momentum and concentration given by .. math:: @@ -198,7 +191,7 @@ force :math:`F_{ij}^C` are expressed as \mathbf{F}_{ij}^{D} & = -\gamma {\omega_{D}}(r_{ij})(\mathbf{e}_{ij} \cdot \mathbf{v}_{ij})\mathbf{e}_{ij} \\ \mathbf{F}_{ij}^{R} & = \sigma {\omega_{R}}(r_{ij}){\xi_{ij}}\Delta t^{-1/2} \mathbf{e}_{ij} \\ \omega_{C}(r) & = 1 - r/r_c \\ - \omega_{D}(r) & = \omega^2_{R}(r) = (1-r/r_c)^{\rm power\_f} \\ + \omega_{D}(r) & = \omega^2_{R}(r) = (1-r/r_c)^{\rm power_f} \\ \sigma^2 = 2\gamma k_B T The concentration flux between two tDPD particles includes the Fickian @@ -209,13 +202,13 @@ by Q_{ij}^D & = -\kappa_{ij} w_{DC}(r_{ij}) \left( C_i - C_j \right) \\ Q_{ij}^R & = \epsilon_{ij}\left( C_i + C_j \right) w_{RC}(r_{ij}) \xi_{ij} \\ - w_{DC}(r_{ij}) & =w^2_{RC}(r_{ij}) = (1 - r/r_{cc})^{\rm power\_{cc}} \\ + w_{DC}(r_{ij}) & =w^2_{RC}(r_{ij}) = (1 - r/r_{cc})^{\rm power_{cc}} \\ \epsilon_{ij}^2 & = m_s^2\kappa_{ij}\rho where the parameters kappa and epsilon determine the strength of the Fickian and random fluxes. :math:`m_s` is the mass of a single solute molecule. In general, :math:`m_s` is much smaller than the mass of a -tDPD particle *m*\ . For more details, see :ref:`(Li2015\_JCP) +tDPD particle *m*\ . For more details, see :ref:`(Li2015_JCP) <Li2015_JCP>`. The following coefficients must be defined for each pair of atom types via the @@ -223,16 +216,16 @@ The following coefficients must be defined for each pair of atom types via the * A (force units) * :math:`\gamma` (force/velocity units) -* power\_f (positive real) +* power_f (positive real) * cutoff (distance units) -* cutoff\_CC (distance units) +* cutoff_CC (distance units) * :math:`\kappa_i` (diffusivity units) * :math:`\epsilon_i` (diffusivity units) -* power\_cc\_i (positive real) +* power_cc_i (positive real) The last 3 values must be repeated Nspecies times, so that values for each of the Nspecies chemical species are specified, as indicated by -the "I" suffix. In the first pair\_coeff example above for pair\_style +the "I" suffix. In the first pair_coeff example above for pair_style tdpd, Nspecies = 1. In the second example, Nspecies = 2, so 3 additional coeffs are specified (for species 2). @@ -243,7 +236,7 @@ additional coeffs are specified (for species 2). There are example scripts for using all these pair styles in examples/USER/meso. The example for an eDPD simulation models heat conduction with source terms analog of periodic Poiseuille flow -problem. The setup follows Fig.12 in :ref:`(Li2014\_JCP) <Li2014_JCP>`. The +problem. The setup follows Fig.12 in :ref:`(Li2014_JCP) <Li2014_JCP>`. The output of the short eDPD simulation (about 2 minutes on a single core) gives a temperature and density profiles as @@ -252,7 +245,7 @@ gives a temperature and density profiles as The example for a mDPD simulation models the oscillations of a liquid droplet started from a liquid film. The mDPD parameters are adopted -from :ref:`(Li2013\_POF) <Li2013_POF>`. The short mDPD run (about 2 minutes +from :ref:`(Li2013_POF) <Li2013_POF>`. The short mDPD run (about 2 minutes on a single core) generates a particle trajectory which can be visualized as follows. @@ -271,7 +264,7 @@ The example for a tDPD simulation computes the effective diffusion coefficient of a tDPD system using a method analogous to the periodic Poiseuille flow. The tDPD system is specified with two chemical species, and the setup follows Fig.1 in -:ref:`(Li2015\_JCP) <Li2015_JCP>`. The output of the short tDPD simulation +:ref:`(Li2015_JCP) <Li2015_JCP>`. The output of the short tDPD simulation (about one and a half minutes on a single core) gives the concentration profiles of the two chemical species as @@ -290,7 +283,7 @@ the :doc:`pair_modify <pair_modify>` shift, table, and tail options. The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not write information to :doc:`binary restart files <restart>`. Thus, you need -to re-specify the pair\_style and pair\_coeff commands in an input script +to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. Restrictions @@ -312,34 +305,24 @@ Related commands **Default:** none - ---------- +.. _Li2014_JCP: -.. _Li2014\_JCP: - - - -**(Li2014\_JCP)** Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, +**(Li2014_JCP)** Li, Tang, Lei, Caswell, Karniadakis, J Comput Phys, 265: 113-127 (2014). DOI: 10.1016/j.jcp.2014.02.003. -.. _Li2015\_CC: +.. _Li2015_CC: - - -**(Li2015\_CC)** Li, Tang, Li, Karniadakis, Chem Commun, 51: 11038-11040 +**(Li2015_CC)** Li, Tang, Li, Karniadakis, Chem Commun, 51: 11038-11040 (2015). DOI: 10.1039/C5CC01684C. -.. _Li2013\_POF: +.. _Li2013_POF: - - -**(Li2013\_POF)** Li, Hu, Wang, Ma, Zhou, Phys Fluids, 25: 072103 (2013). +**(Li2013_POF)** Li, Hu, Wang, Ma, Zhou, Phys Fluids, 25: 072103 (2013). DOI: 10.1063/1.4812366. -.. _Li2015\_JCP: +.. _Li2015_JCP: - - -**(Li2015\_JCP)** Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, +**(Li2015_JCP)** Li, Yazdani, Tartakovsky, Karniadakis, J Chem Phys, 143: 014101 (2015). DOI: 10.1063/1.4923254. diff --git a/doc/src/pair_mgpt.rst b/doc/src/pair_mgpt.rst index 3d33d7da26..57fec82a7b 100644 --- a/doc/src/pair_mgpt.rst +++ b/doc/src/pair_mgpt.rst @@ -6,7 +6,6 @@ pair_style mgpt command Syntax """""" - .. code-block:: LAMMPS pair_style mgpt @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style mgpt @@ -35,24 +33,23 @@ elemental bulk material in the form .. math:: - E_{\rm tot}({\bf R}_1 \ldots {\bf R}_N) = NE_{\rm vol}(\Omega ) - + \frac{1}{2} \sum _{i,j} \mbox{}^\prime \ v_2(ij;\Omega ) - + \frac{1}{6} \sum _{i,j,k} \mbox{}^\prime \ v_3(ijk;\Omega ) + E_{\rm tot}({\bf R}_1 \ldots {\bf R}_N) = NE_{\rm vol}(\Omega ) + + \frac{1}{2} \sum _{i,j} \mbox{}^\prime \ v_2(ij;\Omega ) + + \frac{1}{6} \sum _{i,j,k} \mbox{}^\prime \ v_3(ijk;\Omega ) + \frac{1}{24} \sum _{i,j,k,l} \mbox{}^\prime \ v_4(ijkl;\Omega ) - where the prime on each summation sign indicates the exclusion of all self-interaction terms from the summation. The leading volume term -E\_vol as well as the two-ion central-force pair potential v\_2 and the -three- and four-ion angular-force potentials, v\_3 and v\_4, depend +E_vol as well as the two-ion central-force pair potential v_2 and the +three- and four-ion angular-force potentials, v_3 and v_4, depend explicitly on the atomic volume Omega, but are structure independent and transferable to all bulk ion configurations, either ordered or disordered, and with of without the presence of point and line defects. The simplified model GPT or MGPT (:ref:`Moriarty2 <Moriarty2>`, -:ref:`Moriarty3 <Moriarty3>`), which retains the form of E\_tot and permits +:ref:`Moriarty3 <Moriarty3>`), which retains the form of E_tot and permits more efficient large-scale atomistic simulations, derives from the GPT -through a series of systematic approximations applied to E\_vol and the -potentials v\_n that are valid for mid-period transition metals with +through a series of systematic approximations applied to E_vol and the +potentials v_n that are valid for mid-period transition metals with nearly half-filled d bands. Both analytic (:ref:`Moriarty2 <Moriarty2>`) and matrix @@ -67,12 +64,12 @@ algorithms have been developed independently by Glosli (:ref:`Oppelstrup <Oppelstrup>`) The *mgpt* pair style calculates forces, energies, and the total -energy per atom, E\_tot/N, using the Oppelstrup matrix-MGPT algorithm. +energy per atom, E_tot/N, using the Oppelstrup matrix-MGPT algorithm. Input potential and control data are entered through the :doc:`pair_coeff <pair_coeff>` command. Each material treated requires input parmin and potin potential files, as shown in the above examples, as well as specification by the user of the initial atomic -volume Omega through pair\_coeff. At the beginning of a time step in +volume Omega through pair_coeff. At the beginning of a time step in any simulation, the total volume of the simulation cell V should always be equal to Omega\*N, where N is the number of metal ions present, taking into account the presence of any vacancies and/or @@ -82,25 +79,25 @@ style, Omega, V and N all remain constant throughout the simulation and thus are equal to their initial values. In a constant-stress simulation, the cell volume V will change (slowly) as the simulation proceeds. After each time step, the atomic volume should be updated -by the code as Omega = V/N. In addition, the volume term E\_vol and -the potentials v\_2, v\_3 and v\_4 have to be removed at the end of the +by the code as Omega = V/N. In addition, the volume term E_vol and +the potentials v_2, v_3 and v_4 have to be removed at the end of the time step, and then respecified at the new value of Omega. In all simulations, Omega must remain within the defined volume range for -E\_vol and the potentials for the given material. +E_vol and the potentials for the given material. The default option volpress yes in the :doc:`pair_coeff <pair_coeff>` -command includes all volume derivatives of E\_tot required to calculate +command includes all volume derivatives of E_tot required to calculate the stress tensor and pressure correctly. The option volpress no disregards the pressure contribution resulting from the volume term -E\_vol, and can be used for testing and analysis purposes. The +E_vol, and can be used for testing and analysis purposes. The additional optional variable nbody controls the specific terms in -E\_tot that are calculated. The default option and the normal option +E_tot that are calculated. The default option and the normal option for mid-period transition and actinide metals is nbody 1234 for which -all four terms in E\_tot are retained. The option nbody 12, for +all four terms in E_tot are retained. The option nbody 12, for example, retains only the volume term and the two-ion pair potential term and can be used for GPT series-end transition metals that can be -well described without v\_3 and v\_4. The nbody option can also be used -to test or analyze the contribution of any of the four terms in E\_tot +well described without v_3 and v_4. The nbody option can also be used +to test or analyze the contribution of any of the four terms in E_tot to a given calculated property. The *mgpt* pair style makes extensive use of matrix algebra and @@ -150,31 +147,26 @@ before proceeding to more complex simulations. as provided, it will build with whatever low-level compiler (g++, icc, etc) is the default for your MPI installation. - ---------- - **Mixing, shift, table tail correction, restart**\ : This pair style does not support the :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -needs to re-specify the pair\_style and pair\_coeff commands in an input +needs to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the USER-MGPT package and is only enabled if LAMMPS is built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -187,7 +179,7 @@ energies in Rydbergs and distances in Bohr radii. The *mgpt* pair style converts Rydbergs to Hartrees to make the potential files compatible with LAMMPS electron :doc:`units <units>`. -The form of E\_tot used in the *mgpt* pair style is only appropriate +The form of E_tot used in the *mgpt* pair style is only appropriate for elemental bulk solids and liquids. This includes solids with point and extended defects such as vacancies, interstitials, grain boundaries and dislocations. Alloys and free surfaces, however, @@ -214,41 +206,29 @@ Default The options defaults for the :doc:`pair_coeff <pair_coeff>` command are volpress yes, nbody 1234, and precision double. - ---------- - .. _Moriarty1: - - **(Moriarty1)** Moriarty, Physical Review B, 38, 3199 (1988). .. _Moriarty2: - - **(Moriarty2)** Moriarty, Physical Review B, 42, 1609 (1990). Moriarty, Physical Review B 49, 12431 (1994). .. _Moriarty3: - - **(Moriarty3)** Moriarty, Benedict, Glosli, Hood, Orlikowski, Patel, Soderlind, Streitz, Tang, and Yang, Journal of Materials Research, 21, 563 (2006). .. _Glosli: - - **(Glosli)** Glosli, unpublished, 2005. Streitz, Glosli, Patel, Chan, Yates, de Supinski, Sexton and Gunnels, Journal of Physics: Conference Series, 46, 254 (2006). .. _Oppelstrup: - - **(Oppelstrup)** Oppelstrup, unpublished, 2015. Oppelstrup and Moriarty, to be published. diff --git a/doc/src/pair_mie.rst b/doc/src/pair_mie.rst index 17018ddf97..527a568728 100644 --- a/doc/src/pair_mie.rst +++ b/doc/src/pair_mie.rst @@ -9,7 +9,6 @@ pair_style mie/cut/gpu command Syntax """""" - .. code-block:: LAMMPS pair_style mie/cut cutoff @@ -19,7 +18,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style mie/cut 10.0 @@ -37,7 +35,6 @@ The *mie/cut* style computes the Mie potential, given by E = C \epsilon \left[ \left(\frac{\sigma}{r}\right)^{\gamma_{rep}} - \left(\frac{\sigma}{r}\right)^{\gamma_{att}} \right] \qquad r < r_c - Rc is the cutoff and C is a function that depends on the repulsive and attractive exponents, given by: @@ -45,7 +42,6 @@ attractive exponents, given by: C = \left(\frac{\gamma_{rep}}{\gamma_{rep}-\gamma_{att}}\right) \left(\frac{\gamma_{rep}}{\gamma_{att}}\right)^{\left(\frac{\gamma_{att}}{\gamma_{rep}-\gamma_{att}}\right)} - Note that for 12/6 exponents, C is equal to 4 and the formula is the same as the standard Lennard-Jones potential. @@ -62,12 +58,10 @@ commands, or by mixing as described below: * cutoff (distance units) The last coefficient is optional. If not specified, the global -cutoff specified in the pair\_style command is used. - +cutoff specified in the pair_style command is used. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients @@ -75,7 +69,7 @@ and cutoff distance for all of the mie/cut pair styles can be mixed. If not explicitly defined, both the repulsive and attractive gamma exponents for different atoms will be calculated following the same mixing rule defined for distances. The default mix value is -*geometric*\ . See the "pair\_modify" command for details. +*geometric*\ . See the "pair_modify" command for details. This pair style supports the :doc:`pair_modify <pair_modify>` shift option for the energy of the pair interaction. @@ -84,7 +78,7 @@ This pair style supports the :doc:`pair_modify <pair_modify>` tail option for adding a long-range tail correction to the energy and pressure of the pair interaction. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style supports the use of the *inner*\ , *middle*\ , and *outer* @@ -93,10 +87,8 @@ pairwise forces can be partitioned by distance at different levels of the rRESPA hierarchy. See the :doc:`run_style <run_style>` command for details. - ---------- - Restrictions """""""""""" none @@ -108,19 +100,13 @@ Related commands **Default:** none - ---------- - .. _Mie: - - **(Mie)** G. Mie, Ann Phys, 316, 657 (1903). .. _Avendano: - - **(Avendano)** C. Avendano, T. Lafitte, A. Galindo, C. S. Adjiman, G. Jackson, E. Muller, J Phys Chem B, 115, 11154 (2011). diff --git a/doc/src/pair_mm3_switch3_coulgauss_long.rst b/doc/src/pair_mm3_switch3_coulgauss_long.rst index 2b294574b1..1338682b95 100644 --- a/doc/src/pair_mm3_switch3_coulgauss_long.rst +++ b/doc/src/pair_mm3_switch3_coulgauss_long.rst @@ -6,7 +6,6 @@ pair_style mm3/switch3/coulgauss/long command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -14,7 +13,6 @@ Syntax * style = *mm3/switch3/coulgauss/long* * args = list of arguments for a particular style - .. parsed-literal:: *mm3/switch3/coulgauss/long* args = cutoff (cutoff2) width @@ -25,7 +23,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style mm3/switch3/coulgauss/long 12.0 3.0 @@ -43,11 +40,10 @@ vdW potential :ref:`(Allinger) <mm3-allinger1989>` .. math:: E & = \epsilon_{ij} \left[ -2.25 \left(\frac{r_{v,ij}}{r_{ij}}\right)^6 + 1.84(10)^5 \exp\left[-12.0 r_{ij}/r_{v,ij}\right] \right] S_3(r_{ij}) \\ - r_{v,ij} & = r_{v,i} + r_{v,j} \\ + r_{v,ij} & = r_{v,i} + r_{v,j} \\ \epsilon_{ij} & = \sqrt{\epsilon_i \epsilon_j} - -, which goes smoothly to zero at the cutoff r\_c as defined +, which goes smoothly to zero at the cutoff r_c as defined by the switching function .. math:: @@ -58,7 +54,6 @@ by the switching function 0 & \quad\mathrm{if}\quad r >= r_\mathrm{c} \end{array} \right. - where w is the width defined in the arguments. This potential is combined with Coulomb interaction between Gaussian charge densities: @@ -66,7 +61,6 @@ is combined with Coulomb interaction between Gaussian charge densities: E = \frac{q_i q_j \mathrm{erf}\left( r/\sqrt{\gamma_1^2+\gamma_2^2} \right) }{\epsilon r_{ij}} - where :math:`q_i` and :math:`q_j` are the charges on the 2 atoms, epsilon is the dielectric constant which can be set by the :doc:`dielectric <dielectric>` command, ::math:`\gamma_i` and @@ -100,7 +94,6 @@ function ensures that the potential is zero at the cut-off. Restrictions """""""""""" - These styles are part of the USER-YAFF package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_modify.rst b/doc/src/pair_modify.rst index 5c78b93716..b8969c0131 100644 --- a/doc/src/pair_modify.rst +++ b/doc/src/pair_modify.rst @@ -6,18 +6,17 @@ pair_modify command Syntax """""" - .. code-block:: LAMMPS pair_modify keyword values ... * one or more keyword/value pairs may be listed * keyword = *pair* or *shift* or *mix* or *table* or *table/disp* or *tabinner* - or *tabinner/disp* or *tail* or *compute* or *nofdotr* or *special* or + or *tabinner/disp* or *tail* or *compute* or *nofdotr* or *special* or *compute/tally* - + .. parsed-literal:: - + *pair* value = sub-style N sub-style = sub-style of :doc:`pair hybrid <pair_hybrid>` N = which instance of sub-style (1 to M), only specify if sub-style is used multiple times @@ -39,11 +38,9 @@ Syntax w1,w2,w3 = 1-2, 1-3, 1-4 weights from 0.0 to 1.0 inclusive *compute/tally* value = *yes* or *no* - Examples """""""" - .. code-block:: LAMMPS pair_modify shift yes mix geometric @@ -77,7 +74,7 @@ must be set explicitly, either in the input script via the :doc:`pair_coeff <pair_coeff>` command or in the "Pair Coeffs" section of the :doc:`data file <read_data>`. For some pair styles it is not necessary to specify coefficients when I != J, since a "mixing" rule -will create them from the I,I and J,J settings. The pair\_modify +will create them from the I,I and J,J settings. The pair_modify *mix* value determines what formulas are used to compute the mixed coefficients. In each case, the cutoff distance is mixed the same way as sigma. @@ -92,7 +89,6 @@ performed. - mix *geometric* - .. math:: \epsilon_{ij} = & \sqrt{\epsilon_i \epsilon_j} \\ @@ -100,7 +96,6 @@ performed. - mix *arithmetic* - .. math:: \epsilon_{ij} = & \sqrt{\epsilon_i \epsilon_j} \\ @@ -108,7 +103,6 @@ performed. - mix *sixthpower* - .. math:: \epsilon_{ij} = & \frac{2 \sqrt{\epsilon_i \epsilon_j} \sigma_i^3 \sigma_j^3}{\sigma_i^6 + \sigma_j^6} \\ @@ -207,7 +201,6 @@ including the following: pressure reported by the simulation include an estimated contribution from those interactions. - The *compute* keyword allows pairwise computations to be turned off, even though a :doc:`pair_style <pair_style>` is defined. This is not useful for running a real simulation, but can be useful for debugging @@ -228,7 +221,6 @@ The *nofdotr* keyword allows to disable an optimization that computes the global stress tensor from the total forces and atom positions rather than from summing forces between individual pairs of atoms. - ---------- The *pair* keyword can only be used with the :doc:`hybrid and @@ -289,10 +281,8 @@ the *pair* keyword. Use *no* to disable, or *yes* to enable. The "pair_modify pair compute/tally" command must be issued **before** the corresponding compute style is defined. - ---------- - Restrictions """""""""""" @@ -317,18 +307,12 @@ tabinner = sqrt(2.0), tail = no, and compute = yes. Note that some pair styles perform mixing, but only a certain style of mixing. See the doc pages for individual pair styles for details. - ---------- - .. _Wolff1: - - **(Wolff)** Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). .. _Sun: - - **(Sun)** Sun, J Phys Chem B, 102, 7338-7364 (1998). diff --git a/doc/src/pair_momb.rst b/doc/src/pair_momb.rst index 81a3eb3320..ed9a0b98dd 100644 --- a/doc/src/pair_momb.rst +++ b/doc/src/pair_momb.rst @@ -6,7 +6,6 @@ pair_style momb command Syntax """""" - .. code-block:: LAMMPS pair_style momb cutoff s6 d @@ -18,7 +17,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style momb 12.0 0.75 20.0 @@ -41,7 +39,6 @@ dispersion in density functional theory calculations. E & = D_0 [\exp^{-2 \alpha (r-r_0)} - 2\exp^{-\alpha (r-r_0)}] - s_6 \frac{C_6}{r^6} f_{damp}(r,R_r) \\ f_{damp}(r,R_r) & = \frac{1}{1 + \exp^{-d(r/R_r - 1)}} - For the *momb* pair style, the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command as in the examples above, or in the data file or restart files @@ -69,10 +66,8 @@ Related commands **Default:** none - ---------- - .. _Grimme: **(Grimme)** Grimme, J Comput Chem, 27(15), 1787-1799 (2006). diff --git a/doc/src/pair_morse.rst b/doc/src/pair_morse.rst index 121d4fbc76..d031c70cd2 100644 --- a/doc/src/pair_morse.rst +++ b/doc/src/pair_morse.rst @@ -24,7 +24,6 @@ pair_style morse/kk command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -32,7 +31,6 @@ Syntax * style = *morse* or *morse/smooth/linear* or *morse/soft* * args = list of arguments for a particular style - .. parsed-literal:: *morse* args = cutoff @@ -43,7 +41,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style morse 2.5 @@ -61,7 +58,6 @@ Style *morse* computes pairwise interactions with the formula E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c - Rc is the cutoff. The following coefficients must be defined for each pair of atoms @@ -78,10 +74,8 @@ commands: The last coefficient is optional. If not specified, the global morse cutoff is used. - ---------- - The *morse/smooth/linear* variant is similar to the lj/smooth/linear variant in that it adds to the potential a shift and a linear term so that both, potential energy and force, go to zero at the cut-off: @@ -89,16 +83,13 @@ so that both, potential energy and force, go to zero at the cut-off: .. math:: \phi\left(r\right) & = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] \qquad r < r_c \\ - E\left(r\right) & = \phi\left(r\right) - \phi\left(R_c\right) - \left(r - R_c\right) \left.\frac{d\phi}{d r} \right|_{r=R_c} \qquad r < R_c + E\left(r\right) & = \phi\left(r\right) - \phi\left(R_c\right) - \left(r - R_c\right) \left.\frac{d\phi}{d r} \right|_{r=R_c} \qquad r < R_c - -The syntax of the pair\_style and pair\_coeff commands are the same for +The syntax of the pair_style and pair_coeff commands are the same for the *morse* and *morse/smooth/linear* styles. - ---------- - A version of the *morse* style with a soft core, *morse/soft*\ , suitable for use in free energy calculations, is part of the USER-FEP package and is documented with the :doc:`pair_style */soft @@ -106,10 +97,8 @@ package and is documented with the :doc:`pair_style */soft LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -128,10 +117,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : None of these pair styles support mixing. Thus, coefficients for all @@ -147,21 +134,18 @@ None of these pair styles support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -All of these pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +All of these pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - The *morse/smooth/linear* pair style is only enabled if LAMMPS was built with the USER-MISC package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_multi_lucy.rst b/doc/src/pair_multi_lucy.rst index 39b641361e..37da1ab965 100644 --- a/doc/src/pair_multi_lucy.rst +++ b/doc/src/pair_multi_lucy.rst @@ -6,7 +6,6 @@ pair_style multi/lucy command Syntax """""" - .. code-block:: LAMMPS pair_style multi/lucy style N keyword ... @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style multi/lucy linear 1000 @@ -32,9 +30,8 @@ the many-body form described in :ref:`(Moore) <Moore1>` and .. math:: - F_{i}^{DD}(\rho_i,\rho_j,r_{ij}) = \frac{1}{2} \omega_{DD}\left(r_{ij}\right) - \left[A\left(\rho_i\right) + A\left(\rho_j\right)\right]e_{ij} - + F_{i}^{DD}(\rho_i,\rho_j,r_{ij}) = \frac{1}{2} \omega_{DD}\left(r_{ij}\right) + \left[A\left(\rho_i\right) + A\left(\rho_j\right)\right]e_{ij} which consists of a density-dependent function, :math:`A(\rho)`, and a radial-dependent weight function, :math:`\omega_{DD}(r_{ij})`. The @@ -45,14 +42,12 @@ as the Lucy function: \omega_{DD}\left(r_{ij}\right) = \left(1+\frac{3r_{ij}}{r_{cut}}\right)\left(1+\frac{r_{ij}}{r_{cut}}\right)^3 - The density-dependent energy for a given particle is given by: .. math:: u_{i}^{DD}\left(\rho_{i}\right) = \frac{\pi r_{cut}^4}{84} \int_{\rho_0}^{\rho_i} A\left(\rho'\right) d\rho' - See the supporting information of :ref:`(Brennan) <Brennan1>` or the publication by :ref:`(Moore) <Moore1>` for more details on the functional form. @@ -94,14 +89,11 @@ tabulated distance. If specified, only file values up to the cutoff are used to create the interpolation table. The format of this file is described below. - ---------- - The format of a tabulated file is a series of one or more sections, defined as follows (without the parenthesized comments): - .. parsed-literal:: # Density-dependent function (one or more comment or blank lines) @@ -118,7 +110,7 @@ A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair\_coeff +initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. @@ -126,7 +118,7 @@ numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* specified in the :doc:`pair_style multi/lucy <pair_multi_lucy>` command. -Let Ntable = *N* in the pair\_style command, and Nfile = "N" in the +Let Ntable = *N* in the pair_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate the density-dependent energy and force at @@ -174,10 +166,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all @@ -186,25 +176,22 @@ I,J pairs must be specified explicitly. The :doc:`pair_modify <pair_modify>` shift, table, and tail options are not relevant for this pair style. -This pair style writes the settings for the "pair\_style multi/lucy" command -to :doc:`binary restart files <restart>`, so a pair\_style command does +This pair style writes the settings for the "pair_style multi/lucy" command +to :doc:`binary restart files <restart>`, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair\_coeff +file, since it is tabulated in the potential files. Thus, pair_coeff commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -215,24 +202,16 @@ Related commands **Default:** none - ---------- - .. _Warren1: - - **(Warren)** Warren, Phys Rev E, 68, 066702 (2003). .. _Brennan1: - - **(Brennan)** Brennan, J Chem Phys Lett, 5, 2144-2149 (2014). .. _Moore1: - - **(Moore)** Moore, J Chem Phys, 144, 104501 (2016). diff --git a/doc/src/pair_multi_lucy_rx.rst b/doc/src/pair_multi_lucy_rx.rst index e057b184f7..3824ca96cf 100644 --- a/doc/src/pair_multi_lucy_rx.rst +++ b/doc/src/pair_multi_lucy_rx.rst @@ -9,7 +9,6 @@ pair_style multi/lucy/rx/kk command Syntax """""" - .. code-block:: LAMMPS pair_style multi/lucy/rx style N keyword ... @@ -21,7 +20,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style multi/lucy/rx linear 1000 @@ -45,9 +43,8 @@ following from the many-body form described in :ref:`(Moore) <Moore2>` and .. math:: - F_{i}^{DD}(\rho_i,\rho_j,r_{ij}) = \frac{1}{2} \omega_{DD}\left(r_{ij}\right) - \left[A\left(\rho_i\right) + A\left(\rho_j\right)\right]e_{ij} - + F_{i}^{DD}(\rho_i,\rho_j,r_{ij}) = \frac{1}{2} \omega_{DD}\left(r_{ij}\right) + \left[A\left(\rho_i\right) + A\left(\rho_j\right)\right]e_{ij} which consists of a density-dependent function, :math:`A(\rho)`, and a radial-dependent weight function, :math:`\omega_{DD}(r_{ij})`. The @@ -58,14 +55,12 @@ as the Lucy function: \omega_{DD}\left(r_{ij}\right) = \left(1+\frac{3r_{ij}}{r_{cut}}\right)\left(1+\frac{r_{ij}}{r_{cut}}\right)^3 - The density-dependent energy for a given particle is given by: .. math:: u_{i}^{DD}\left(\rho_{i}\right) = \frac{\pi r_{cut}^4}{84} \int_{\rho_0}^{\rho_i} A\left(\rho'\right) d\rho' - See the supporting information of :ref:`(Brennan) <Brennan2>` or the publication by :ref:`(Moore) <Moore2>` for more details on the functional form. @@ -122,14 +117,11 @@ associated with the interacting coarse-grained particles (see the stored before and after the reaction kinetics solver is applied, where the difference is defined to be the internal chemical energy (uChem). - ---------- - The format of a tabulated file is a series of one or more sections, defined as follows (without the parenthesized comments): - .. parsed-literal:: # Density-dependent function (one or more comment or blank lines) @@ -146,7 +138,7 @@ A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair\_coeff +initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. @@ -154,7 +146,7 @@ numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* specified in the :doc:`pair_style multi/lucy/rx <pair_multi_lucy_rx>` -command. Let Ntable = *N* in the pair\_style command, and Nfile = "N" +command. Let Ntable = *N* in the pair_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate the density-dependent @@ -202,10 +194,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all @@ -214,21 +204,19 @@ I,J pairs must be specified explicitly. The :doc:`pair_modify <pair_modify>` shift, table, and tail options are not relevant for this pair style. -This pair style writes the settings for the "pair\_style multi/lucy/rx" command -to :doc:`binary restart files <restart>`, so a pair\_style command does +This pair style writes the settings for the "pair_style multi/lucy/rx" command +to :doc:`binary restart files <restart>`, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair\_coeff +file, since it is tabulated in the potential files. Thus, pair_coeff commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -247,14 +235,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -265,24 +250,16 @@ Related commands **Default:** fractional weighting - ---------- - .. _Warren2: - - **(Warren)** Warren, Phys Rev E, 68, 066702 (2003). .. _Brennan2: - - **(Brennan)** Brennan, J Chem Phys Lett, 5, 2144-2149 (2014). .. _Moore2: - - **(Moore)** Moore, J Chem Phys, 144, 104501 (2016). diff --git a/doc/src/pair_nb3b_harmonic.rst b/doc/src/pair_nb3b_harmonic.rst index 48a7038fb2..c4f3f3c3e8 100644 --- a/doc/src/pair_nb3b_harmonic.rst +++ b/doc/src/pair_nb3b_harmonic.rst @@ -6,7 +6,6 @@ pair_style nb3b/harmonic command Syntax """""" - .. code-block:: LAMMPS pair_style nb3b/harmonic @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style nb3b/harmonic @@ -28,18 +26,17 @@ energy E of a system of atoms as .. math:: - E = K (\theta - \theta_0)^2 - + E = K (\theta - \theta_0)^2 where :math:`\theta_0` is the equilibrium value of the angle and *K* is a prefactor. Note that the usual 1/2 factor is included in *K*\ . The form -of the potential is identical to that used in angle\_style *harmonic*\ , +of the potential is identical to that used in angle_style *harmonic*\ , but in this case, the atoms do not need to be explicitly bonded. -Only a single pair\_coeff command is used with this style which +Only a single pair_coeff command is used with this style which specifies a potential file with parameters for specified elements. These are mapped to LAMMPS atom types by specifying N additional -arguments after the filename in the pair\_coeff command, where N is the +arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -51,8 +48,7 @@ to specify the path for the potential file. As an example, imagine a file SiC.nb3b.harmonic has potential values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the -following pair\_coeff command: - +following pair_coeff command: .. code-block:: LAMMPS @@ -65,10 +61,10 @@ type 4 to the C element in the potential file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when the potential is used as part of the *hybrid* pair style. The NULL values are placeholders for atom types that will be used with -other potentials. An example of a pair\_coeff command for use with the +other potentials. An example of a pair_coeff command for use with the *hybrid* pair style is: -pair\_coeff \* \* nb3b/harmonic MgOH.nb3b.harmonic Mg O H +pair_coeff \* \* nb3b/harmonic MgOH.nb3b.harmonic Mg O H Three-body non-bonded harmonic files in the *potentials* directory of the LAMMPS distribution have a ".nb3b.harmonic" suffix. Lines that @@ -90,20 +86,17 @@ the entry is for the *K* and :math:`\theta_0` parameters (the cutoff in this case is irrelevant). It is required that the potential file contains entries for *all* -permutations of the elements listed in the pair\_coeff command. +permutations of the elements listed in the pair_coeff command. If certain combinations are not parameterized the corresponding parameters should be set to zero. The potential file can also contain entries for additional elements which are not used in a particular simulation; LAMMPS ignores those entries. - ---------- - Restrictions """""""""""" - This pair style can only be used if LAMMPS was built with the MANYBODY package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_nm.rst b/doc/src/pair_nm.rst index 27bb11fe65..196747b291 100644 --- a/doc/src/pair_nm.rst +++ b/doc/src/pair_nm.rst @@ -21,16 +21,15 @@ pair_style nm/cut/coul/long/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style args * style = *nm/cut* or *nm/cut/coul/cut* or *nm/cut/coul/long* * args = list of arguments for a particular style - + .. parsed-literal:: - + *nm/cut* args = cutoff cutoff = global cutoff for Pair interactions (distance units) *nm/cut/coul/cut* args = cutoff (cutoff2) @@ -40,12 +39,9 @@ Syntax cutoff = global cutoff for Pair (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) - - Examples """""""" - .. code-block:: LAMMPS pair_style nm/cut 12.0 @@ -84,7 +80,7 @@ Style *nm/cut/coul/cut* adds a Coulombic pairwise interaction given by where :math:`C` is an energy-conversion constant, :math:`q_i` and :math:`q_j` are the charges on the 2 atoms, and epsilon is the dielectric constant which can be set by the :doc:`dielectric <dielectric>` command. If one cutoff is -specified in the pair\_style command, it is used for both the N-M and Coulombic +specified in the pair_style command, it is used for both the N-M and Coulombic terms. If two cutoffs are specified, they are used as cutoffs for the N-M and Coulombic terms respectively. @@ -112,7 +108,7 @@ commands. * cutoff2 (distance units) The latter 2 coefficients are optional. If not specified, the global -N-M and Coulombic cutoffs specified in the pair\_style command are used. +N-M and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both N-M and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the N-M and Coulombic cutoffs for this @@ -122,12 +118,10 @@ has no Coulombic terms. For *nm/cut/coul/long* only the N-M cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global Coulombic cutoff specified in the -pair\_style command. - +pair_style command. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all @@ -145,17 +139,15 @@ All of the *nm* pair styles support the :doc:`pair_modify <pair_modify>` tail option for adding a long-range tail correction to the energy and pressure for the N-M portion of the pair interaction. -All of the *nm* pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +All of the *nm* pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. All of the *nm* pair styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -177,7 +169,6 @@ instructions on how to use the accelerated styles effectively. Restrictions """""""""""" - These pair styles are part of the MISC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -188,12 +179,8 @@ Related commands **Default:** none - ---------- - .. _Clarke: - - **(Clarke)** Clarke and Smith, J Chem Phys, 84, 2290 (1986). diff --git a/doc/src/pair_none.rst b/doc/src/pair_none.rst index 11a4a79163..2cb9cb608a 100644 --- a/doc/src/pair_none.rst +++ b/doc/src/pair_none.rst @@ -13,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style none diff --git a/doc/src/pair_oxdna.rst b/doc/src/pair_oxdna.rst index f24520f473..748a3affe7 100644 --- a/doc/src/pair_oxdna.rst +++ b/doc/src/pair_oxdna.rst @@ -18,7 +18,6 @@ pair_style oxdna/coaxstk command Syntax """""" - .. code-block:: LAMMPS pair_style style1 @@ -30,7 +29,6 @@ Syntax * style2 = *oxdna/excv* or *oxdna/stk* or *oxdna/hbond* or *oxdna/xstk* or *oxdna/coaxstk* * args = list of arguments for these particular styles - .. parsed-literal:: *oxdna/stk* args = seq T xi kappa 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 @@ -45,7 +43,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk @@ -66,9 +63,9 @@ excluded volume interaction *oxdna/excv*\ , the stacking *oxdna/stk*\ , cross-st and coaxial stacking interaction *oxdna/coaxstk* as well as the hydrogen-bonding interaction *oxdna/hbond* between complementary pairs of nucleotides on opposite strands. Average sequence or sequence-dependent stacking and base-pairing strengths -are supported :ref:`(Sulc) <Sulc1>`. Quasi-unique base-pairing between nucleotides can be achieved by using -more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. -This prevents the hybridization of in principle complementary bases within Ntypes/4 bases +are supported :ref:`(Sulc) <Sulc1>`. Quasi-unique base-pairing between nucleotides can be achieved by using +more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. +This prevents the hybridization of in principle complementary bases within Ntypes/4 bases up and down along the backbone. The exact functional form of the pair styles is rather complex. @@ -100,17 +97,15 @@ on the model, its implementation and performance as well as the structure of the data and input file. The preprint version of the article can be found `here <PDF/USER-CGDNA.pdf>`_. Please cite also the relevant oxDNA publications -:ref:`(Ouldridge) <Ouldridge1>`, +:ref:`(Ouldridge) <Ouldridge1>`, :ref:`(Ouldridge-DPhil) <Ouldridge-DPhil1>` and :ref:`(Sulc) <Sulc1>`. ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -122,9 +117,8 @@ Related commands :doc:`bond_style oxdna2/fene <bond_oxdna>`, :doc:`pair_style oxdna2/excv <pair_oxdna2>`, :doc:`bond_style oxrna2/fene <bond_oxdna>`, :doc:`pair_style oxrna2/excv <pair_oxrna2>`, :doc:`fix nve/dotc/langevin <fix_nve_dotc_langevin>` - -**Default:** none +**Default:** none ---------- diff --git a/doc/src/pair_oxdna2.rst b/doc/src/pair_oxdna2.rst index 368a203b8a..465f46a913 100644 --- a/doc/src/pair_oxdna2.rst +++ b/doc/src/pair_oxdna2.rst @@ -21,7 +21,6 @@ pair_style oxdna2/dh command Syntax """""" - .. code-block:: LAMMPS pair_style style1 @@ -33,7 +32,6 @@ Syntax * style2 = *oxdna2/excv* or *oxdna2/stk* or *oxdna2/hbond* or *oxdna2/xstk* or *oxdna2/coaxstk* or *oxdna2/dh* * args = list of arguments for these particular styles - .. parsed-literal:: *oxdna2/stk* args = seq T xi kappa 6.0 0.4 0.9 0.32 0.75 1.3 0 0.8 0.9 0 0.95 0.9 0 0.95 2.0 0.65 2.0 0.65 @@ -52,7 +50,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh @@ -74,9 +71,9 @@ excluded volume interaction *oxdna2/excv*\ , the stacking *oxdna2/stk*\ , cross- and coaxial stacking interaction *oxdna2/coaxstk*\ , electrostatic Debye-Hueckel interaction *oxdna2/dh* as well as the hydrogen-bonding interaction *oxdna2/hbond* between complementary pairs of nucleotides on opposite strands. Average sequence or sequence-dependent stacking and base-pairing strengths -are supported :ref:`(Sulc) <Sulc2>`. Quasi-unique base-pairing between nucleotides can be achieved by using -more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. -This prevents the hybridization of in principle complementary bases within Ntypes/4 bases +are supported :ref:`(Sulc) <Sulc2>`. Quasi-unique base-pairing between nucleotides can be achieved by using +more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. +This prevents the hybridization of in principle complementary bases within Ntypes/4 bases up and down along the backbone. The exact functional form of the pair styles is rather complex. @@ -112,11 +109,9 @@ Please cite also the relevant oxDNA2 publications ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -131,7 +126,6 @@ Related commands **Default:** none - ---------- .. _Henrich2: diff --git a/doc/src/pair_oxrna2.rst b/doc/src/pair_oxrna2.rst index 38e77e3368..0cca929c49 100644 --- a/doc/src/pair_oxrna2.rst +++ b/doc/src/pair_oxrna2.rst @@ -21,7 +21,6 @@ pair_style oxrna2/dh command Syntax """""" - .. code-block:: LAMMPS pair_style style1 @@ -33,7 +32,6 @@ Syntax * style2 = *oxrna2/excv* or *oxrna2/stk* or *oxrna2/hbond* or *oxrna2/xstk* or *oxrna2/coaxstk* or *oxrna2/dh* * args = list of arguments for these particular styles - .. parsed-literal:: *oxrna2/stk* args = seq T xi kappa 6.0 0.43 0.93 0.35 0.78 0.9 0 0.95 0.9 0 0.95 1.3 0 0.8 1.3 0 0.8 2.0 0.65 2.0 0.65 @@ -41,7 +39,7 @@ Syntax T = temperature (oxDNA units, 0.1 = 300 K) xi = 1.40206 (temperature-independent coefficient in stacking strength) kappa = 2.77 (coefficient of linear temperature dependence in stacking strength) - *oxrna2/hbond* args = seq eps 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 + *oxrna2/hbond* args = seq eps 8.0 0.4 0.75 0.34 0.7 1.5 0 0.7 1.5 0 0.7 1.5 0 0.7 0.46 3.141592653589793 0.7 4.0 1.5707963267948966 0.45 4.0 1.5707963267948966 0.45 seq = seqav (for average sequence base-pairing strength) or seqdep (for sequence-dependent base-pairing strength) eps = 0.870439 (between base pairs A-T, C-G and G-T) or 0 (all other pairs) *oxrna2/dh* args = T rhos qeff @@ -52,7 +50,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh @@ -75,9 +72,9 @@ excluded volume interaction *oxrna2/excv*\ , the stacking *oxrna2/stk*\ , cross- and coaxial stacking interaction *oxrna2/coaxstk*\ , electrostatic Debye-Hueckel interaction *oxrna2/dh* as well as the hydrogen-bonding interaction *oxrna2/hbond* between complementary pairs of nucleotides on opposite strands. Average sequence or sequence-dependent stacking and base-pairing strengths -are supported :ref:`(Sulc2) <Sulc32>`. Quasi-unique base-pairing between nucleotides can be achieved by using -more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. -This prevents the hybridization of in principle complementary bases within Ntypes/4 bases +are supported :ref:`(Sulc2) <Sulc32>`. Quasi-unique base-pairing between nucleotides can be achieved by using +more complementary pairs of atom types like 5-8 and 6-7, 9-12 and 10-11, 13-16 and 14-15, etc. +This prevents the hybridization of in principle complementary bases within Ntypes/4 bases up and down along the backbone. The exact functional form of the pair styles is rather complex. @@ -113,11 +110,9 @@ Please cite also the relevant oxRNA2 publications ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the USER-CGDNA package and the MOLECULE and ASPHERE package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -134,7 +129,6 @@ Related commands none - ---------- .. _Henrich3: diff --git a/doc/src/pair_peri.rst b/doc/src/pair_peri.rst index d08da012f2..2b3d3e9b99 100644 --- a/doc/src/pair_peri.rst +++ b/doc/src/pair_peri.rst @@ -21,7 +21,6 @@ pair_style peri/eps command Syntax """""" - .. code-block:: LAMMPS pair_style style @@ -31,7 +30,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style peri/pmb @@ -75,8 +73,8 @@ R. Rahman and J. T. Foster at University of Texas at San Antonio. The original VES formulation is described in "(Mitchell2011)" and the original EPS formulation is in "(Mitchell2011a)". Additional PDF docs that describe the VES and EPS implementations are include in the -LAMMPS distribution in `doc/PDF/PDLammps\_VES.pdf <PDF/PDLammps_VES.pdf>`_ and -`doc/PDF/PDLammps\_EPS.pdf <PDF/PDLammps_EPS.pdf>`_. For questions +LAMMPS distribution in `doc/PDF/PDLammps_VES.pdf <PDF/PDLammps_VES.pdf>`_ and +`doc/PDF/PDLammps_EPS.pdf <PDF/PDLammps_EPS.pdf>`_. For questions regarding the VES and EPS models in LAMMPS you can contact R. Rahman (rezwanur.rahman at utsa.edu). @@ -120,15 +118,15 @@ For the *peri/ves* style: * horizon (distance units) * s00 (unitless) * :math:`\alpha` (unitless) -* m\_lambdai (unitless) -* m\_taubi (unitless) +* m_lambdai (unitless) +* m_taubi (unitless) K is the bulk modulus and G is the shear modulus. The horizon is a cutoff distance for truncating interactions, and s00 and :math:`\alpha` are -used as a bond breaking criteria. m\_lambdai and m\_taubi are the +used as a bond breaking criteria. m_lambdai and m_taubi are the viscoelastic relaxation parameter and time constant, -respectively. m\_lambdai varies within zero to one. For very small -values of m\_lambdai the viscoelastic model responds very similar to a +respectively. m_lambdai varies within zero to one. For very small +values of m_lambdai the viscoelastic model responds very similar to a linear elastic model. For details please see the description in "(Mtchell2011)". @@ -139,17 +137,15 @@ For the *peri/eps* style: * horizon (distance units) * s00 (unitless) * :math:`\alpha` (unitless) -* m\_yield\_stress (force/area units) +* m_yield_stress (force/area units) K is the bulk modulus and G is the shear modulus. The horizon is a cutoff distance and s00 and :math:`\alpha` are used as a bond breaking -criteria. m\_yield\_stress is the yield stress of the material. For +criteria. m_yield_stress is the yield stress of the material. For details please see the description in "(Mtchell2011a)". - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -168,10 +164,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : These pair styles do not support mixing. Thus, coefficients for all @@ -183,21 +177,18 @@ shift option. The :doc:`pair_modify <pair_modify>` table and tail options are not relevant for these pair styles. -These pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - All of these styles are part of the PERI package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -208,42 +199,30 @@ Related commands **Default:** none - ---------- - .. _Parks: - - **(Parks)** Parks, Lehoucq, Plimpton, Silling, Comp Phys Comm, 179(11), 777-783 (2008). .. _Silling2000: - - **(Silling 2000)** Silling, J Mech Phys Solids, 48, 175-209 (2000). .. _Silling2007: - - **(Silling 2007)** Silling, Epton, Weckner, Xu, Askari, J Elasticity, 88, 151-184 (2007). .. _Mitchell2011: - - **(Mitchell2011)** Mitchell. A non-local, ordinary-state-based viscoelasticity model for peridynamics. Sandia National Lab Report, 8064:1-28 (2011). .. _Mitchell2011a: - - **(Mitchell2011a)** Mitchell. A Nonlocal, Ordinary, State-Based Plasticity Model for Peridynamics. Sandia National Lab Report, 3166:1-34 (2011). diff --git a/doc/src/pair_polymorphic.rst b/doc/src/pair_polymorphic.rst index b19f3b9f3b..e06e9e7855 100644 --- a/doc/src/pair_polymorphic.rst +++ b/doc/src/pair_polymorphic.rst @@ -6,7 +6,6 @@ pair_style polymorphic command Syntax """""" - .. code-block:: LAMMPS pair_style polymorphic @@ -16,7 +15,6 @@ style = *polymorphic* Examples """""""" - .. code-block:: LAMMPS pair_style polymorphic @@ -64,14 +62,13 @@ Stillinger-Weber potential (:ref:`SW <SW>`) if we set \left\{\begin{array}{l} \eta_{ij} = \delta_{ij},\xi_{IJ}=0 \\ U_{IJ}\left(r\right)=A_{IJ}\cdot\epsilon_{IJ}\cdot \left(\frac{\sigma_{IJ}}{r}\right)^q\cdot \left[B_{IJ}\cdot \left(\frac{\sigma_{IJ}}{r}\right)^{p-q}-1\right]\cdot exp\left(\frac{\sigma_{IJ}}{r-a_{IJ}\cdot \sigma_{IJ}}\right) \\ - V_{IJ}\left(r\right)=\sqrt{\lambda_{IJ}\cdot \epsilon_{IJ}}\cdot exp\left(\frac{\gamma_{IJ}\cdot \sigma_{IJ}}{r-a_{IJ}\cdot \sigma_{IJ}}\right) \\ + V_{IJ}\left(r\right)=\sqrt{\lambda_{IJ}\cdot \epsilon_{IJ}}\cdot exp\left(\frac{\gamma_{IJ}\cdot \sigma_{IJ}}{r-a_{IJ}\cdot \sigma_{IJ}}\right) \\ F_{IJ}\left(X\right)=-X \\ - P_{IJ}\left(\Delta r\right)=1 \\ + P_{IJ}\left(\Delta r\right)=1 \\ W_{IJ}\left(r\right)=\sqrt{\lambda_{IJ}\cdot \epsilon_{IJ}}\cdot exp\left(\frac{\gamma_{IJ}\cdot \sigma_{IJ}}{r-a_{IJ}\cdot \sigma_{IJ}}\right) \\ G_{JIK}\left(\theta\right)=\left(cos\theta+\frac{1}{3}\right)^2 \end{array}\right. - The potential reduces to Tersoff types of potential (:ref:`Tersoff <Tersoff>` or :ref:`Albe <poly-Albe>`) if we set @@ -82,12 +79,11 @@ The potential reduces to Tersoff types of potential U_{IJ}\left(r\right)=\frac{D_{e,IJ}}{S_{IJ}-1}\cdot exp\left[-\beta_{IJ}\sqrt{2S_{IJ}\left(r-r_{e,IJ}\right)}\right]\cdot f_{c,IJ}\left(r\right) \\ V_{IJ}\left(r\right)=\frac{S_{IJ}\cdot D_{e,IJ}}{S_{IJ}-1}\cdot exp\left[-\beta_{IJ}\sqrt{\frac{2}{S_{IJ}}\left(r-r_{e,IJ}\right)}\right]\cdot f_{c,IJ}\left(r\right) \\ F_{IJ}\left(X\right)=\left(1+X\right)^{-\frac{1}{2}} \\ - P_{IJ}\left(\Delta r\right)=exp\left(2\mu_{IK}\cdot \Delta r\right) \\ + P_{IJ}\left(\Delta r\right)=exp\left(2\mu_{IK}\cdot \Delta r\right) \\ W_{IJ}\left(r\right)=f_{c,IK}\left(r\right) \\ G_{JIK}\left(\theta\right)=\gamma_{IK}\left[1+\frac{c_{IK}^2}{d_{IK}^2}-\frac{c_{IK}^2}{d_{IK}^2+\left(h_{IK}+cos\theta\right)^2}\right] \end{array}\right. - .. math:: f_{c,IJ}=\left\{\begin{array}{lr} @@ -96,7 +92,6 @@ The potential reduces to Tersoff types of potential 0, & r \geq r_{c,IJ} \\ \end{array}\right. - The potential reduces to Rockett-Tersoff (:ref:`Wang <Wang3>`) type if we set .. math:: @@ -114,12 +109,11 @@ The potential reduces to Rockett-Tersoff (:ref:`Wang <Wang3>`) type if we set B_{IJ} \cdot exp\left(-\lambda_{2,IJ}\cdot r\right)\cdot f_{c,IJ}\left(r\right)+A_{IJ}\cdot exp\left(-\lambda_{1,IJ}\cdot r\right)\cdot & \\ ~~~~~~ f_{c,IJ}\left(r\right) & r \ge r_{c,1,IJ} \end{array}\right. \\ F_{IJ}\left(X\right)=\left[1+\left(\beta_{IJ}\cdot X\right)^{n_{IJ}}\right]^{-\frac{1}{2n_{IJ}}} \\ - P_{IJ}\left(\Delta r\right)=exp\left(\lambda_{3,IK}\cdot \Delta r^3\right) \\ + P_{IJ}\left(\Delta r\right)=exp\left(\lambda_{3,IK}\cdot \Delta r^3\right) \\ W_{IJ}\left(r\right)=f_{c,IK}\left(r\right) \\ G_{JIK}\left(\theta\right)=1+\frac{c_{IK}^2}{d_{IK}^2}-\frac{c_{IK}^2}{d_{IK}^2+\left(h_{IK}+cos\theta\right)^2} \end{array}\right. - .. math:: f_{c,IJ}=\left\{\begin{array}{lr} @@ -128,7 +122,6 @@ The potential reduces to Rockett-Tersoff (:ref:`Wang <Wang3>`) type if we set 0, & r \geq r_{c,IJ} \\ \end{array}\right. - .. math:: f_{c,1,IJ}=\left\{\begin{array}{lr} @@ -137,7 +130,6 @@ The potential reduces to Rockett-Tersoff (:ref:`Wang <Wang3>`) type if we set 0, & r \geq r_{c,1,IJ} \\ \end{array}\right. - The potential becomes embedded atom method (:ref:`Daw <poly-Daw>`) if we set .. math:: @@ -147,12 +139,11 @@ The potential becomes embedded atom method (:ref:`Daw <poly-Daw>`) if we set U_{IJ}\left(r\right)=\phi_{IJ}\left(r\right) \\ V_{IJ}\left(r\right)=1 \\ F_{II}\left(X\right)=-2F_I\left(X\right) \\ - P_{IJ}\left(\Delta r\right)=1 \\ + P_{IJ}\left(\Delta r\right)=1 \\ W_{IJ}\left(r\right)=f_{K}\left(r\right) \\ G_{JIK}\left(\theta\right)=1 \end{array}\right. - In the embedded atom method case, :math:`\phi_{IJ}(r_{ij})` is the pair energy, :math:`F_I(X)` is the embedding energy, *X* is the local electron density, and :math:`f_K(r)` is the atomic electron density function. @@ -170,25 +161,24 @@ pair style is different from the sw pair style in this case. It just means that the definitions of the atom energies and atom stresses are different. -Only a single pair\_coeff command is used with the polymorphic style +Only a single pair_coeff command is used with the polymorphic style which specifies an potential file for all needed elements. These are mapped to LAMMPS atom types by specifying N additional arguments after -the filename in the pair\_coeff command, where N is the number of +the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of Tersoff elements to atom types -See the pair\_coeff doc page for alternate ways to specify the path for +See the pair_coeff doc page for alternate ways to specify the path for the potential file. Several files for polymorphic potentials are included in the potentials directory of the LAMMPS distribution. They have a "poly" suffix. -As an example, imagine the SiC\_tersoff.poly file has tabulated +As an example, imagine the SiC_tersoff.poly file has tabulated functions for Si-C tersoff potential. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you -would use the following pair\_coeff command: - +would use the following pair_coeff command: .. parsed-literal:: @@ -208,21 +198,19 @@ have a ".poly" suffix. At the beginning of the files, an unlimited number of lines starting with '#' are used to describe the potential and are ignored by LAMMPS. The next line lists two numbers: - .. parsed-literal:: ntypes :math:`\eta` Here ntypes represent total number of species defined in the potential file, and :math:`\eta = 0` or 1. The number ntypes must equal the total -number of different species defined in the pair\_coeff command. When +number of different species defined in the pair_coeff command. When :math:`\eta = 1`, :math:\eta_{ij}` defined in the potential functions above is set to :math:`1 - \delta_{ij}`, otherwise :math:`\eta_{ij}` is set to :math:`\delta_{ij}`. The next ntypes lines each lists two numbers and a character string representing atomic number, atomic mass, and name of the species of the ntypes elements: - .. parsed-literal:: atomic_number atomic-mass element (1) @@ -232,7 +220,6 @@ of the species of the ntypes elements: The next ntypes\*(ntypes+1)/2 lines contain two numbers: - .. parsed-literal:: cut :math:`xi` (1) @@ -267,7 +254,7 @@ Tabulated functions are specified by spline n x1 x2, where n=number of point, (x1,x2)=range and then followed by n values evaluated uniformly over these argument ranges. The valid argument ranges of the functions are between 0 <= r <= cut for the U(r), V(r), W(r) -functions, -cutmax <= delta\_r <= cutmax for the P(delta\_r) functions, +functions, -cutmax <= delta_r <= cutmax for the P(delta_r) functions, -1 <= :math:`\cos\theta` <= 1 for the G(:math:`\cos\theta`) functions, and 0 <= X <= maxX for the F(X) functions. @@ -277,19 +264,16 @@ This pair styles does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write their information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. - ---------- - Restrictions """""""""""" - -If using create\_atoms command, atomic masses must be defined in the -input script. If using read\_data, atomic masses must be defined in the +If using create_atoms command, atomic masses must be defined in the +input script. If using read_data, atomic masses must be defined in the atomic structure data file. This pair style is part of the MANYBODY package. It is only enabled if @@ -308,44 +292,30 @@ Related commands :doc:`pair_coeff <pair_coeff>` - ---------- - .. _Zhou3: - - **(Zhou)** X. W. Zhou, M. E. Foster, R. E. Jones, P. Yang, H. Fan, and F. P. Doty, J. Mater. Sci. Res., 4, 15 (2015). .. _SW: - - **(SW)** F. H. Stillinger-Weber, and T. A. Weber, Phys. Rev. B, 31, 5262 (1985). .. _Tersoff: - - **(Tersoff)** J. Tersoff, Phys. Rev. B, 39, 5566 (1989). .. _poly-Albe: - - **(Albe)** K. Albe, K. Nordlund, J. Nord, and A. Kuronen, Phys. Rev. B, 66, 035205 (2002). .. _Wang3: - - **(Wang)** J. Wang, and A. Rockett, Phys. Rev. B, 43, 12571 (1991). .. _poly-Daw: - - **(Daw)** M. S. Daw, and M. I. Baskes, Phys. Rev. B, 29, 6443 (1984). diff --git a/doc/src/pair_python.rst b/doc/src/pair_python.rst index 23c83ed52e..fa76d4c16c 100644 --- a/doc/src/pair_python.rst +++ b/doc/src/pair_python.rst @@ -6,7 +6,6 @@ pair_style python command Syntax """""" - .. code-block:: LAMMPS pair_style python cutoff @@ -16,7 +15,6 @@ cutoff = global cutoff for interactions in python potential classes Examples """""""" - .. code-block:: LAMMPS pair_style python 2.5 @@ -40,10 +38,10 @@ corresponding compiled code. This penalty can be significantly reduced through generating tabulations from the python code through the :doc:`pair_write <pair_write>` command, which is supported by this style. -Only a single pair\_coeff command is used with the *python* pair style +Only a single pair_coeff command is used with the *python* pair style which specifies a python class inside a python module or file that LAMMPS will look up in the current directory, the folder pointed to by -the LAMMPS\_POTENTIALS environment variable or somewhere in your python +the LAMMPS_POTENTIALS environment variable or somewhere in your python path. A single python module can hold multiple python pair class definitions. The class definitions itself have to follow specific rules that are explained below. @@ -51,16 +49,15 @@ rules that are explained below. Atom types in the python class are specified through symbolic constants, typically strings. These are mapped to LAMMPS atom types by specifying N additional arguments after the class name in the -pair\_coeff command, where N must be the number of currently defined +pair_coeff command, where N must be the number of currently defined atom types: -As an example, imagine a file *py\_pot.py* has a python potential class +As an example, imagine a file *py_pot.py* has a python potential class names *LJCutMelt* with parameters and potential functions for a two Lennard-Jones atom types labeled as 'LJ1' and 'LJ2'. In your LAMMPS input and you would have defined 3 atom types, out of which the first two are supposed to be using the 'LJ1' parameters and the third the -'LJ2' parameters, then you would use the following pair\_coeff command: - +'LJ2' parameters, then you would use the following pair_coeff command: .. code-block:: LAMMPS @@ -68,7 +65,7 @@ two are supposed to be using the 'LJ1' parameters and the third the The first two arguments **must** be \* \* so as to span all LAMMPS atom types. The first two LJ1 arguments map LAMMPS atom types 1 and 2 to -the LJ1 atom type in the LJCutMelt class of the py\_pot.py file. The +the LJ1 atom type in the LJCutMelt class of the py_pot.py file. The final LJ2 argument maps LAMMPS atom type 3 to the LJ2 atom type the python file. If a mapping value is specified as NULL, the mapping is not performed, any pair interaction with this atom type will be @@ -76,17 +73,14 @@ skipped. This can be used when a *python* potential is used as part of the *hybrid* or *hybrid/overlay* pair style. The NULL values are then placeholders for atom types that will be used with other potentials. - ---------- - The python potential file has to start with the following code: - .. code-block:: python from __future__ import print_function - + class LAMMPSPairPotential(object): def __init__(self): self.pmap=dict() @@ -114,7 +108,6 @@ Here is an example for a single type Lennard-Jones potential class *LJCutMelt* in reduced units, which defines an atom type *lj* for which the parameters epsilon and sigma are both 1.0: - .. code-block:: python class LJCutMelt(LAMMPSPairPotential): @@ -126,8 +119,8 @@ which the parameters epsilon and sigma are both 1.0: self.coeff = {'lj' : {'lj' : (48.0,24.0,4.0,4.0)}} The class also has to provide two methods for the computation of the -potential energy and forces, which have be named *compute\_force*, -and *compute\_energy*, which both take 3 numerical arguments: +potential energy and forces, which have be named *compute_force*, +and *compute_energy*, which both take 3 numerical arguments: * rsq = the square of the distance between a pair of atoms (float) * itype = the (numerical) type of the first atom @@ -139,7 +132,6 @@ and use the result as return value. The functions need to use the value of the internal potential parameter data structure. Following the *LJCutMelt* example, here are the two functions: - .. code-block:: python def compute_force(self,rsq,itype,jtype): @@ -161,16 +153,14 @@ the *LJCutMelt* example, here are the two functions: .. note:: for consistency with the C++ pair styles in LAMMPS, the - *compute\_force* function follows the conventions of the Pair::single() + *compute_force* function follows the conventions of the Pair::single() methods and does not return the full force, but the force scaled by the distance between the two atoms, so this value only needs to be multiplied by delta x, delta y, and delta z to conveniently obtain the three components of the force vector between these two atoms. - ---------- - .. note:: The evaluation of scripted python code will slow down the @@ -180,7 +170,6 @@ the *LJCutMelt* example, here are the two functions: fly using the :doc:`pair_write <pair_write>` command. Please see below for an example LAMMPS input of how to build a table file: - .. code-block:: LAMMPS pair_style python 2.5 @@ -189,7 +178,7 @@ the *LJCutMelt* example, here are the two functions: pair_write 1 1 2000 rsq 0.01 2.5 lj1_lj2.table lj Note that it is strongly recommended to try to **delete** the potential -table file before generating it. Since the *pair\_write* command will +table file before generating it. Since the *pair_write* command will always **append** to a table file, while pair style table will use the **first match**\ . Thus when changing the potential function in the python class, the table pair style will still read the old variant unless the @@ -198,7 +187,6 @@ table file is first deleted. After switching the pair style to *table*\ , the potential tables need to be assigned to the LAMMPS atom types like this: - .. code-block:: LAMMPS pair_style table linear 2000 @@ -207,10 +195,8 @@ to be assigned to the LAMMPS atom types like this: This can also be done for more complex systems. Please see the *examples/python* folders for a few more examples. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : Mixing of potential parameters has to be handled inside the provided @@ -223,21 +209,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the PYTHON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_quip.rst b/doc/src/pair_quip.rst index 4c91677f08..7781f3a9fb 100644 --- a/doc/src/pair_quip.rst +++ b/doc/src/pair_quip.rst @@ -6,7 +6,6 @@ pair_style quip command Syntax """""" - .. code-block:: LAMMPS pair_style quip @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style quip @@ -33,7 +31,7 @@ interface is chiefly intended to be used to run Gaussian Approximation Potentials (GAP), which are described in the following publications: :ref:`(Bartok et al) <Bartok_2010>` and :ref:`(PhD thesis of Bartok) <Bartok_PhD>`. -Only a single pair\_coeff command is used with the *quip* style that +Only a single pair_coeff command is used with the *quip* style that specifies a QUIP potential file containing the parameters of the potential for all needed elements in XML format. This is followed by a QUIP initialization string. Finally, the QUIP elements are mapped to @@ -66,7 +64,7 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the @@ -76,7 +74,6 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" - This pair style is part of the USER-QUIP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -86,7 +83,7 @@ therefore should be used with LAMMPS metal :doc:`units <units>`. QUIP potentials are generally not designed to work with the scaling factors set by the :doc:`special_bonds <special_bonds>` command. The recommended setting in molecular systems is to include all -interactions, i.e. to use *special\_bonds lj/coul 1.0 1.0 1.0*. Scaling +interactions, i.e. to use *special_bonds lj/coul 1.0 1.0 1.0*. Scaling factors > 0.0 will be ignored and treated as 1.0. The only exception to this rule is if you know that your QUIP potential needs to exclude bonded, 1-3, or 1-4 interactions and does not already do this exclusion @@ -100,20 +97,14 @@ Related commands :doc:`pair_coeff <pair_coeff>` - ---------- +.. _Bartok_2010: -.. _Bartok\_2010: - - - -**(Bartok\_2010)** AP Bartok, MC Payne, R Kondor, and G Csanyi, Physical +**(Bartok_2010)** AP Bartok, MC Payne, R Kondor, and G Csanyi, Physical Review Letters 104, 136403 (2010). -.. _Bartok\_PhD: +.. _Bartok_PhD: - - -**(Bartok\_PhD)** A Bartok-Partay, PhD Thesis, University of Cambridge, +**(Bartok_PhD)** A Bartok-Partay, PhD Thesis, University of Cambridge, (2010). diff --git a/doc/src/pair_reaxc.rst b/doc/src/pair_reaxc.rst index ee5eb878c8..e40fbe60c1 100644 --- a/doc/src/pair_reaxc.rst +++ b/doc/src/pair_reaxc.rst @@ -12,16 +12,15 @@ pair_style reax/c/omp command Syntax """""" - .. code-block:: LAMMPS pair_style reax/c cfile keyword value * cfile = NULL or name of a control file * zero or more keyword/value pairs may be appended - + .. parsed-literal:: - + keyword = *checkqeq* or *lgvdw* or *safezone* or *mincap* *checkqeq* value = *yes* or *no* = whether or not to require qeq/reax fix *enobonds* value = *yes* or *no* = whether or not to tally energy of atoms with no bonds @@ -29,12 +28,9 @@ Syntax *safezone* = factor used for array allocation *mincap* = minimum size for array allocation - - Examples """""""" - .. code-block:: LAMMPS pair_style reax/c NULL @@ -67,7 +63,7 @@ consideration when using the *reax/c/kk* style is the choice of either half or full neighbor lists. This setting can be changed using the Kokkos :doc:`package <package>` command. -The *reax/c* style differs from the (obsolete) "pair\_style reax" +The *reax/c* style differs from the (obsolete) "pair_style reax" command in the implementation details. The *reax* style was a Fortran library, linked to LAMMPS. The *reax* style has been removed from LAMMPS after the 12 December 2018 version. @@ -78,7 +74,7 @@ documented in potentials/README.reax. The default ffield.reax contains parameterizations for the following elements: C, H, O, N. The format of these files is identical to that used originally by van -Duin. We have tested the accuracy of *pair\_style reax/c* potential +Duin. We have tested the accuracy of *pair_style reax/c* potential against the original ReaxFF code for the systems mentioned above. You can use other ffield files for specific chemical systems that may be available elsewhere (but note that their accuracy may not have been @@ -112,7 +108,7 @@ below. code. If these are changed by setting control variables in the control file, the results from LAMMPS and the serial code will not agree. -Examples using *pair\_style reax/c* are provided in the examples/reax +Examples using *pair_style reax/c* are provided in the examples/reax sub-directory. Use of this pair style requires that a charge be defined for every @@ -122,7 +118,7 @@ charges. The ReaxFF parameter files provided were created using a charge equilibration (QEq) model for handling the electrostatic interactions. -Therefore, by default, LAMMPS requires that the :doc:`fix qeq/reax <fix_qeq_reax>` command be used with *pair\_style reax/c* +Therefore, by default, LAMMPS requires that the :doc:`fix qeq/reax <fix_qeq_reax>` command be used with *pair_style reax/c* when simulating a ReaxFF model, to equilibrate charge each timestep. Using the keyword *checkqeq* with the value *no* turns off the check for *fix qeq/reax*\ , @@ -188,7 +184,6 @@ code): To print these quantities to the log file (with descriptive column headings) the following commands could be included in an input script: - .. code-block:: LAMMPS compute reax all pair reax/c @@ -198,10 +193,10 @@ headings) the following commands could be included in an input script: variable eqeq equal c_reax[14] thermo_style custom step temp epair v_eb v_ea [...] v_eqeq -Only a single pair\_coeff command is used with the *reax/c* style which +Only a single pair_coeff command is used with the *reax/c* style which specifies a ReaxFF potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -224,20 +219,16 @@ types that will be used with other potentials. As an example, say your LAMMPS simulation has 4 atom types and the elements are ordered as C, H, O, N in the *ffield* file. If you want the LAMMPS atom type 1 and 2 to be C, type 3 to be N, and type 4 to be -H, you would use the following pair\_coeff command: - +H, you would use the following pair_coeff command: .. code-block:: LAMMPS pair_coeff * * ffield.reax C C N H - ---------- - The format of a line in the control file is as follows: - .. parsed-literal:: variable_name value @@ -248,16 +239,16 @@ If the value of a control variable is not specified, then default values are used. What follows is the list of variables along with a brief description of their use and default values. -simulation\_name: Output files produced by *pair\_style reax/c* carry +simulation_name: Output files produced by *pair_style reax/c* carry this name + extensions specific to their contents. Partial energies are reported with a ".pot" extension, while the trajectory file has ".trj" extension. -tabulate\_long\_range: To improve performance, long range interactions +tabulate_long_range: To improve performance, long range interactions can optionally be tabulated (0 means no tabulation). Value of this variable denotes the size of the long range interaction table. The range from 0 to long range cutoff (defined in the *ffield* file) is -divided into *tabulate\_long\_range* points. Then at the start of +divided into *tabulate_long_range* points. Then at the start of simulation, we fill in the entries of the long range interaction table by computing the energies and forces resulting from van der Waals and Coulomb interactions between every possible atom type pairs present in @@ -266,64 +257,60 @@ interaction table to estimate the energy and forces between a pair of atoms. Linear interpolation is used for estimation. (default value = 0) -energy\_update\_freq: Denotes the frequency (in number of steps) of +energy_update_freq: Denotes the frequency (in number of steps) of writes into the partial energies file. (default value = 0) -nbrhood\_cutoff: Denotes the near neighbors cutoff (in Angstroms) +nbrhood_cutoff: Denotes the near neighbors cutoff (in Angstroms) regarding the bonded interactions. (default value = 5.0) -hbond\_cutoff: Denotes the cutoff distance (in Angstroms) for hydrogen +hbond_cutoff: Denotes the cutoff distance (in Angstroms) for hydrogen bond interactions.(default value = 7.5. A value of 0.0 turns off hydrogen bonds) -bond\_graph\_cutoff: is the threshold used in determining what is a +bond_graph_cutoff: is the threshold used in determining what is a physical bond, what is not. Bonds and angles reported in the trajectory file rely on this cutoff. (default value = 0.3) -thb\_cutoff: cutoff value for the strength of bonds to be considered in +thb_cutoff: cutoff value for the strength of bonds to be considered in three body interactions. (default value = 0.001) -thb\_cutoff\_sq: cutoff value for the strength of bond order products +thb_cutoff_sq: cutoff value for the strength of bond order products to be considered in three body interactions. (default value = 0.00001) -write\_freq: Frequency of writes into the trajectory file. (default +write_freq: Frequency of writes into the trajectory file. (default value = 0) -traj\_title: Title of the trajectory - not the name of the trajectory +traj_title: Title of the trajectory - not the name of the trajectory file. -atom\_info: 1 means print only atomic positions + charge (default = 0) +atom_info: 1 means print only atomic positions + charge (default = 0) -atom\_forces: 1 adds net forces to atom lines in the trajectory file +atom_forces: 1 adds net forces to atom lines in the trajectory file (default = 0) -atom\_velocities: 1 adds atomic velocities to atoms line (default = 0) +atom_velocities: 1 adds atomic velocities to atoms line (default = 0) -bond\_info: 1 prints bonds in the trajectory file (default = 0) - -angle\_info: 1 prints angles in the trajectory file (default = 0) +bond_info: 1 prints bonds in the trajectory file (default = 0) +angle_info: 1 prints angles in the trajectory file (default = 0) ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support the :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -342,14 +329,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This pair style is part of the USER-REAXC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -370,27 +354,19 @@ Default The keyword defaults are checkqeq = yes, enobonds = yes, lgvdw = no, safezone = 1.2, mincap = 50. - ---------- +.. _Chenoweth_20082: -.. _Chenoweth\_20082: - - - -**(Chenoweth\_2008)** Chenoweth, van Duin and Goddard, +**(Chenoweth_2008)** Chenoweth, van Duin and Goddard, Journal of Physical Chemistry A, 112, 1040-1053 (2008). .. _Aktulga: - - (Aktulga) Aktulga, Fogarty, Pandit, Grama, Parallel Computing, 38, 245-259 (2012). -.. _Liu\_2011: - - +.. _Liu_2011: **(Liu)** L. Liu, Y. Liu, S. V. Zybin, H. Sun and W. A. Goddard, Journal of Physical Chemistry A, 115, 11016-11022 (2011). diff --git a/doc/src/pair_resquared.rst b/doc/src/pair_resquared.rst index a28549c344..5bb4de7cb2 100644 --- a/doc/src/pair_resquared.rst +++ b/doc/src/pair_resquared.rst @@ -12,7 +12,6 @@ pair_style resquared/omp command Syntax """""" - .. code-block:: LAMMPS pair_style resquared cutoff @@ -22,7 +21,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style resquared 10.0 @@ -84,7 +82,6 @@ units: A_{12} = 4\pi^2\epsilon_{\mathrm{LJ}}(\rho\sigma^3)^2 - where :math:`\rho` gives the number density of the spherical particles composing the ellipsoids and :math:`\epsilon_{\mathrm{LJ}}` determines the interaction strength of the spherical particles. @@ -122,7 +119,7 @@ than the :doc:`pair_style gayberne <pair_gayberne>` potential uses. The :math:`\epsilon_i` and :math:`\epsilon_j` coefficients are defined for atom types, not for pairs of atom types. Thus, in a series of -pair\_coeff commands, they only need to be specified once for each atom +pair_coeff commands, they only need to be specified once for each atom type. Specifically, if any of :math:`\epsilon_{i,a}`, :math:`\epsilon_{i,b}`, @@ -132,19 +129,19 @@ ignored. If any of :math:`\epsilon_{j,a}`, :math:`\epsilon_{j,b}`, :math:`\epsilon_{j,c}` are non-zero, the three values are assigned to atom type J. If all three :math:`\epsilon_i` values are zero, they are ignored. Thus the typical way to define the :math:`\epsilon_i` and -:math:`\epsilon_j` coefficients is to list their values in "pair\_coeff +:math:`\epsilon_j` coefficients is to list their values in "pair_coeff I J" commands when I = J, but set them to 0.0 when I != J. If you do list them when I != J, you should insure they are consistent with their -values in other pair\_coeff commands. +values in other pair_coeff commands. Note that if this potential is being used as a sub-style of -:doc:`pair_style hybrid <pair_hybrid>`, and there is no "pair\_coeff I I" +:doc:`pair_style hybrid <pair_hybrid>`, and there is no "pair_coeff I I" setting made for RE-squared for a particular type I (because I-I interactions are computed by another hybrid pair potential), then you still need to insure the epsilon a,b,c coefficients are assigned to -that type in a "pair\_coeff I J" command. +that type in a "pair_coeff I J" command. -For large uniform molecules it has been shown that the epsilon\_\*\_\* +For large uniform molecules it has been shown that the :math:`\epsilon_{*,*}` energy parameters are approximately representable in terms of local contact curvatures :ref:`(Everaers) <Everaers3>`: @@ -157,12 +154,10 @@ contact curvatures :ref:`(Everaers) <Everaers3>`: where a, b, and c give the particle diameters. The last coefficient is optional. If not specified, the global cutoff -specified in the pair\_style command is used. - +specified in the pair_style command is used. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -181,15 +176,13 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance can be mixed, but only for sphere pairs. The -default mix value is *geometric*\ . See the "pair\_modify" command for +default mix value is *geometric*\ . See the "pair_modify" command for details. Other type pairs cannot be mixed, due to the different meanings of the energy prefactors used to calculate the interactions and the implicit dependence of the ellipsoid-sphere interaction on the @@ -210,21 +203,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords of the :doc:`run_style command <run_style>`. - ---------- - Restrictions """""""""""" - This style is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -247,18 +237,12 @@ Related commands **Default:** none - ---------- - .. _Everaers3: - - **(Everaers)** Everaers and Ejtehadi, Phys Rev E, 67, 041710 (2003). .. _Babadi: - - **(Berardi)** Babadi, Ejtehadi, Everaers, J Comp Phys, 219, 770-779 (2006). diff --git a/doc/src/pair_sdk.rst b/doc/src/pair_sdk.rst index ba28262813..2a5167030b 100644 --- a/doc/src/pair_sdk.rst +++ b/doc/src/pair_sdk.rst @@ -30,7 +30,6 @@ pair_style lj/sdk/coul/msm/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -38,7 +37,6 @@ Syntax * style = *lj/sdk* or *lj/sdk/coul/long* * args = list of arguments for a particular style - .. parsed-literal:: *lj/sdk* args = cutoff @@ -50,7 +48,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/sdk 2.5 @@ -72,17 +69,16 @@ given by .. math:: - E = & \frac{27}{4} \epsilon \left[ \left(\frac{\sigma}{r}\right)^{9} - - \left(\frac{\sigma}{r}\right)^6 \right] + E = & \frac{27}{4} \epsilon \left[ \left(\frac{\sigma}{r}\right)^{9} - + \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c \\ - E = & \frac{3\sqrt{3}}{2} \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - - \left(\frac{\sigma}{r}\right)^4 \right] + E = & \frac{3\sqrt{3}}{2} \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^4 \right] \qquad r < r_c \\ - E = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - - \left(\frac{\sigma}{r}\right)^6 \right] + E = & 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] \qquad r < r_c - as required for the SDK Coarse-grained MD parameterization discussed in :ref:`(Shinoda) <Shinoda3>` and :ref:`(DeVane) <DeVane>`. Rc is the cutoff. @@ -100,7 +96,7 @@ above, or in the data file or restart files read by the :doc:`read_data <read_data>` or :doc:`read_restart <read_restart>` commands, or by mixing as described below: -* cg\_type (lj9\_6, lj12\_4, or lj12\_6) +* cg_type (lj9_6, lj12_4, or lj12_6) * epsilon (energy units) * sigma (distance units) * cutoff1 (distance units) @@ -110,7 +106,7 @@ distance for the potential, not as the energy minimum. The prefactors are chosen so that the potential minimum is at -epsilon. The latter 2 coefficients are optional. If not specified, the global -LJ and Coulombic cutoffs specified in the pair\_style command are used. +LJ and Coulombic cutoffs specified in the pair_style command are used. If only one cutoff is specified, it is used as the cutoff for both LJ and Coulombic interactions for this type pair. If both coefficients are specified, they are used as the LJ and Coulombic cutoffs for this @@ -119,12 +115,10 @@ type pair. For *lj/sdk/coul/long* and *lj/sdk/coul/msm* only the LJ cutoff can be specified since a Coulombic cutoff cannot be specified for an individual I,J type pair. All type pairs use the same global -Coulombic cutoff specified in the pair\_style command. - +Coulombic cutoff specified in the pair_style command. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp* or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -143,16 +137,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, and rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of the lj/sdk pair styles *cannot* be mixed, since different pairs may have different exponents. So all parameters -for all pairs have to be specified explicitly through the "pair\_coeff" +for all pairs have to be specified explicitly through the "pair_coeff" command. Defining then in a data file is also not supported, due to limitations of that file format. @@ -164,20 +156,17 @@ The *lj/sdk/coul/long* pair styles support the :doc:`pair_modify <pair_modify>` table option since they can tabulate the short-range portion of the long-range Coulombic interaction. -All of the lj/sdk pair styles write their information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do +All of the lj/sdk pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. The lj/sdk and lj/cut/coul/long pair styles do not support the use of the *inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa <run_style>` command. - ---------- - Restrictions """""""""""" - All of the lj/sdk pair styles are part of the USER-CGSDK package. The *lj/sdk/coul/long* style also requires the KSPACE package to be built (which is enabled by default). They are only enabled if LAMMPS was @@ -191,18 +180,12 @@ Related commands **Default:** none - ---------- - .. _Shinoda3: - - **(Shinoda)** Shinoda, DeVane, Klein, Mol Sim, 33, 27 (2007). .. _DeVane: - - **(DeVane)** Shinoda, DeVane, Klein, Soft Matter, 4, 2453-2462 (2008). diff --git a/doc/src/pair_sdpd_taitwater_isothermal.rst b/doc/src/pair_sdpd_taitwater_isothermal.rst index 7a60fdef65..05e7bbfac0 100644 --- a/doc/src/pair_sdpd_taitwater_isothermal.rst +++ b/doc/src/pair_sdpd_taitwater_isothermal.rst @@ -30,8 +30,6 @@ particles according to the Smoothed Dissipative Particle Dynamics model described in this paper by :ref:`(Espanol and Revenga) <Espanol_Revenga>` under the following assumptions: - - #. The temperature is constant and uniform. #. The shear viscosity is constant and uniform. #. The volume viscosity is negligible before the shear viscosity. @@ -81,7 +79,6 @@ above. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all @@ -90,8 +87,8 @@ I,J pairs must be specified explicitly. This style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. -This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. This style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. @@ -99,7 +96,6 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" - This pair style is part of the USER-SDPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -114,12 +110,8 @@ Default The default seed is 0 (before mixing). - ---------- - -.. _Espanol\_Revenga: - - +.. _Espanol_Revenga: **(Espanol and Revenga)** Espanol, Revenga, Physical Review E, 67, 026705 (2003). diff --git a/doc/src/pair_smd_hertz.rst b/doc/src/pair_smd_hertz.rst index 6395c76a1b..fd7f9c3e01 100644 --- a/doc/src/pair_smd_hertz.rst +++ b/doc/src/pair_smd_hertz.rst @@ -6,7 +6,6 @@ pair_style smd/hertz command Syntax """""" - .. code-block:: LAMMPS pair_style smd/hertz scale_factor @@ -28,33 +27,28 @@ belonging to different physical bodies. The contact forces are calculated using a Hertz potential, which evaluates the overlap between two particles (whose spatial extents are defined via its contact radius). The effect is that a particles -cannot penetrate into each other. The parameter <contact\_stiffness> +cannot penetrate into each other. The parameter <contact_stiffness> has units of pressure and should equal roughly one half of the Young's modulus (or bulk modulus in the case of fluids) of the material model associated with the SPH particles. -The parameter *scale\_factor* can be used to scale the particles' +The parameter *scale_factor* can be used to scale the particles' contact radii. This can be useful to control how close particles can -approach each other. Usually, *scale\_factor* =1.0. - +approach each other. Usually, *scale_factor* =1.0. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : No mixing is performed automatically. Currently, no part of USER-SMD supports restarting nor minimization. rRESPA does not apply to this pair style. - ---------- - Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_smd_tlsph.rst b/doc/src/pair_smd_tlsph.rst index 4b5d7cf1cc..ea819325b4 100644 --- a/doc/src/pair_smd_tlsph.rst +++ b/doc/src/pair_smd_tlsph.rst @@ -26,7 +26,6 @@ Smooth-Particle Hydrodynamics algorithm. This pair style is invoked with the following command: - .. code-block:: LAMMPS pair_style smd/tlsph @@ -52,24 +51,19 @@ be added. Please see the `SMD user guide <PDF/SMD_LAMMPS_userguide.pdf>`_ for a complete listing of the possible keywords and material models. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : No mixing is performed automatically. Currently, no part of USER-SMD supports restarting nor minimization. rRESPA does not apply to this pair style. - ---------- - Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_smd_triangulated_surface.rst b/doc/src/pair_smd_triangulated_surface.rst index 14495d6b06..d1177b2577 100644 --- a/doc/src/pair_smd_triangulated_surface.rst +++ b/doc/src/pair_smd_triangulated_surface.rst @@ -1,6 +1,6 @@ .. index:: pair_style smd/tri_surface -pair_style smd/tri\_surface command +pair_style smd/tri_surface command =================================== Syntax @@ -21,40 +21,35 @@ Examples Description """"""""""" -The *smd/tri\_surface* style calculates contact forces between SPH +The *smd/tri_surface* style calculates contact forces between SPH particles and a rigid wall boundary defined via the -:doc:`smd/wall\_surface <fix_smd_wall_surface>` fix. +:doc:`smd/wall_surface <fix_smd_wall_surface>` fix. The contact forces are calculated using a Hertz potential, which evaluates the overlap between a particle (whose spatial extents are defined via its contact radius) and the triangle. The effect is that a particle cannot penetrate into the triangular surface. The -parameter <contact\_stiffness> has units of pressure and should equal +parameter <contact_stiffness> has units of pressure and should equal roughly one half of the Young's modulus (or bulk modulus in the case of fluids) of the material model associated with the SPH particle -The parameter *scale\_factor* can be used to scale the particles' +The parameter *scale_factor* can be used to scale the particles' contact radii. This can be useful to control how close particles can -approach the triangulated surface. Usually, *scale\_factor* =1.0. - +approach the triangulated surface. Usually, *scale_factor* =1.0. ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : No mixing is performed automatically. Currently, no part of USER-SMD supports restarting nor minimization. rRESPA does not apply to this pair style. - ---------- - Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_smd_ulsph.rst b/doc/src/pair_smd_ulsph.rst index 32a49b14ea..6210de2423 100644 --- a/doc/src/pair_smd_ulsph.rst +++ b/doc/src/pair_smd_ulsph.rst @@ -6,14 +6,12 @@ pair_style smd/ulsph command Syntax """""" - .. code-block:: LAMMPS pair_style smd/ulsph args * these keywords must be given - .. parsed-literal:: keyword = *\*DENSITY_SUMMATION* or *\*DENSITY_CONTINUITY* and *\*VELOCITY_GRADIENT* or *\*NO_VELOCITY_GRADIENT* and *\*GRADIENT_CORRECTION* or *\*NO_GRADIENT_CORRECTION* @@ -21,7 +19,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION @@ -35,7 +32,6 @@ Smooth-Particle Hydrodynamics algorithm. This pair style is invoked similar to the following command: - .. code-block:: LAMMPS pair_style smd/ulsph *DENSITY_CONTINUITY *VELOCITY_GRADIENT *NO_GRADIENT_CORRECTION @@ -45,7 +41,7 @@ This pair style is invoked similar to the following command: Here, *i* and *j* denote the *LAMMPS* particle types for which this pair style is defined. Note that *i* and *j* can be different, i.e., *ulsph* cross interactions between different particle types are -allowed. However, *i*\ --\ *i* respectively *j*\ --\ *j* pair\_coeff lines have +allowed. However, *i*\ --\ *i* respectively *j*\ --\ *j* pair_coeff lines have to precede a cross interaction. In contrast to the usual *LAMMPS* *pair coeff* definitions, which are given solely a number of floats and integers, the *ulsph* *pair coeff* definition is organized using @@ -59,31 +55,26 @@ diagonal components of the stress tensor), and a material model to compute shear stresses (the off-diagonal components of the stress tensor). -Note that the use of \*GRADIENT\_CORRECTION can lead to severe numerical -instabilities. For a general fluid simulation, \*NO\_GRADIENT\_CORRECTION +Note that the use of \*GRADIENT_CORRECTION can lead to severe numerical +instabilities. For a general fluid simulation, \*NO_GRADIENT_CORRECTION is recommended. Please see the `SMD user guide <PDF/SMD_LAMMPS_userguide.pdf>`_ for a complete listing of the possible keywords and material models. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : No mixing is performed automatically. Currently, no part of USER-SMD supports restarting nor minimization. rRESPA does not apply to this pair style. - ---------- - Restrictions """""""""""" - This fix is part of the USER-SMD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_smtbq.rst b/doc/src/pair_smtbq.rst index b3ce8d7c5d..492820124e 100644 --- a/doc/src/pair_smtbq.rst +++ b/doc/src/pair_smtbq.rst @@ -6,7 +6,6 @@ pair_style smtbq command Syntax """""" - .. code-block:: LAMMPS pair_style smtbq @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style smtbq @@ -24,8 +22,8 @@ Description """"""""""" This pair style computes a variable charge SMTB-Q (Second-Moment -tight-Binding QEq) potential as described in :ref:`SMTB-Q\_1 <SMTB-Q_1>` and -:ref:`SMTB-Q\_2 <SMTB-Q_2>`. Briefly, the energy of metallic-oxygen systems +tight-Binding QEq) potential as described in :ref:`SMTB-Q_1 <SMTB-Q_1>` and +:ref:`SMTB-Q_2 <SMTB-Q_2>`. Briefly, the energy of metallic-oxygen systems is given by three contributions: .. math:: @@ -36,7 +34,6 @@ is given by three contributions: E_{OO} & = \sum_{i,j}^{i,j = O}{\biggl[Cexp( -\frac{r_{ij}}{\rho} ) - Df_{cut}^{r_1^{OO}r_2^{OO}}(r_{ij}) exp(Br_{ij})\biggr]} \\ E_{MO} & = \sum_i{E_{cov}^{i} + \sum_{j\neq i}{ Af_{cut}^{r_{c1}r_{c2}}(r_{ij})exp\bigl[-p(\frac{r_{ij}}{r_0} -1) \bigr] } } - where :math:`E_{tot}` is the total potential energy of the system, :math:`E_{ES}` is the electrostatic part of the total energy, :math:`E_{OO}` is the interaction between oxygen atoms and @@ -48,21 +45,20 @@ smooth convergence to zero interaction. The parameters appearing in the upper expressions are set in the ffield.SMTBQ.Syst file where Syst corresponds to the selected system (e.g. field.SMTBQ.Al2O3). Examples for :math:`\mathrm{TiO_2}`, -:math:`\mathrm{Al_2O_3}` are provided. A single pair\_coeff command +:math:`\mathrm{Al_2O_3}` are provided. A single pair_coeff command is used with the SMTBQ styles which provides the path to the potential file with parameters for needed elements. These are mapped to LAMMPS atom types by specifying additional arguments after the potential -filename in the pair\_coeff command. Note that atom type 1 must always +filename in the pair_coeff command. Note that atom type 1 must always correspond to oxygen atoms. As an example, to simulate a :math:`\mathrm{TiO_2}` system, atom type 1 has to be oxygen and atom type 2 Ti. The following -pair\_coeff command should then be used: - +pair_coeff command should then be used: .. code-block:: LAMMPS pair_coeff * * PathToLammps/potentials/ffield.smtbq.TiO2 O Ti -The electrostatic part of the energy consists of two components +The electrostatic part of the energy consists of two components self-energy of atom *i* in the form of a second order charge dependent polynomial and a long-range Coulombic electrostatic interaction. The @@ -76,7 +72,7 @@ Interaction between oxygen, :math:`E_{OO}`, consists of two parts, an attractive and a repulsive part. The attractive part is effective only at short range (< :math:`r_2^{OO}`). The attractive contribution was optimized to study surfaces reconstruction -(e.g. :ref:`SMTB-Q\_2 <SMTB-Q_2>` in :math:`\mathrm{TiO_2}`) and is not necessary +(e.g. :ref:`SMTB-Q_2 <SMTB-Q_2>` in :math:`\mathrm{TiO_2}`) and is not necessary for oxide bulk modeling. The repulsive part is the Pauli interaction between the electron clouds of oxygen. The Pauli repulsion and the coulombic electrostatic interaction have same cut off value. In the @@ -88,17 +84,16 @@ The short-range interaction between metal-oxygen, :math:`E_{MO}` is based on the second moment approximation of the density of states with a N-body potential for the band energy term, :math:`E^i_{cov}`, and a Born-Mayer type repulsive terms -as indicated by the keyword *'second\_moment'* in the +as indicated by the keyword *'second_moment'* in the ffield.SMTBQ.Syst. The energy band term is given by: .. math:: E_{cov}^{i(i=M,O)} & = - \biggl\{\eta_i(\mu \xi^{0})^2 f_{cut}^{r_{c1}r_{c2}}(r_{ij}) - \biggl( \sum_{j(j=O,M)}{ exp[ -2q(\frac{r_{ij}}{r_0} - 1)] } \biggr) + \biggl( \sum_{j(j=O,M)}{ exp[ -2q(\frac{r_{ij}}{r_0} - 1)] } \biggr) \delta Q_i \bigl( 2\frac{n_0}{\eta_i} - \delta Q_i \bigr) \biggr\}^{1/2} \\ \delta Q_i & = | Q_i^{F} | - | Q_i | - where :math:`\eta_i` is the stoichiometry of atom *i*\ , :math:`\delta Q_i` is the charge delocalization of atom *i*\ , compared to its formal charge @@ -115,7 +110,7 @@ anion. In the literature we find many ways to write the hopping integral depending on whether one takes the point of view of the anion or cation. These are equivalent vision. The correspondence between the two visions is explained in appendix A of the article in the -SrTiO3 :ref:`SMTB-Q\_3 <SMTB-Q_3>` (parameter :math:`\beta` shown in +SrTiO3 :ref:`SMTB-Q_3 <SMTB-Q_3>` (parameter :math:`\beta` shown in this article is in fact the :math:`\beta_O`). To summarize the relationship between the hopping integral :math:`\xi^O` and the others, we have in an oxide :math:`\mathrm{C_n O_m}` the following @@ -126,7 +121,6 @@ relationship: \xi^0 & = \frac{\xi_O}{m} = \frac{\xi_C}{n} \\ \frac{\beta_O}{\sqrt{m}} & = \frac{\beta_C}{\sqrt{n}} = \xi^0 \frac{\sqrt{m}+\sqrt{n}}{2} - Thus parameter :math:`\mu`, indicated above, is given by :math:`\mu = \frac{1}{2}(\sqrt{n}+\sqrt{m})` The potential offers the possibility to consider the polarizability of @@ -134,7 +128,7 @@ the electron clouds of oxygen by changing the slater radius of the charge density around the oxygen atoms through the parameters *rBB, rB and rS* in the ffield.SMTBQ.Syst. This change in radius is performed according to the method developed by E. Maras -:ref:`SMTB-Q\_2 <SMTB-Q_2>`. This method needs to determine the number of +:ref:`SMTB-Q_2 <SMTB-Q_2>`. This method needs to determine the number of nearest neighbors around the oxygen. This calculation is based on first (:math:`r_{1n}`) and second (:math:`r_{2n}`) distances neighbors. @@ -162,7 +156,7 @@ quotation marks (''). 2) Atomic parameters -For the anion (oxygen) +For the anion (oxygen) * Name of element (char) and stoichiometry in oxide * Formal charge and mass of element @@ -182,12 +176,12 @@ For each cations (metal): 3) Potential parameters: * Keyword for element1, element2 and interaction potential - ('second\_moment' or 'buck' or 'buckPlusAttr') between element 1 - and 2. If the potential is 'second\_moment', specify 'oxide' or + ('second_moment' or 'buck' or 'buckPlusAttr') between element 1 + and 2. If the potential is 'second_moment', specify 'oxide' or 'metal' for metal-oxygen or metal-metal interactions respectively. * Potential parameter: - - If type of potential is 'second\_moment' : A (eV), *p*, + - If type of potential is 'second_moment' : A (eV), *p*, :math:`\zeta^0` (eV) and *q*, :math:`r_{c1} (\mathrm{\mathring{A}})`, :math:`r_{c2} (\mathrm{\mathring{A}})` and :math:`r_0 (\mathrm{\mathring{A}})` - If type of potential is 'buck' : *C* (eV) and :math:`\rho (\mathrm{\mathring{A}})` @@ -240,10 +234,10 @@ For each cations (metal): * Parameter if necessary * Divider line -9) Verbose +9) Verbose * If you want the code to work in verbose mode or not : 'true' or 'false' -* If you want to print or not in the file 'Energy\_component.txt' the +* If you want to print or not in the file 'Energy_component.txt' the three main contributions to the energy of the system according to the description presented above : 'true' or 'false' and :math:`N_{Energy}`. This option writes to the file every @@ -253,7 +247,7 @@ For each cations (metal): in group *g*\ , electrostatic part of energy, :math:`E_{ES}`, the interaction between oxygen, :math:`E_{OO}`, and short range metal-oxygen interaction, :math:`E_{MO}`. -* If you want to print to the file 'Electroneg\_component.txt' the +* If you want to print to the file 'Electroneg_component.txt' the electronegativity component (:math:`\frac{\partial E_{tot}}{\partial Q_i}`) or not: 'true' or 'false' and :math:`N_{Electroneg}`. This option writes to the file every :math:`N_{Electroneg}` time steps. If @@ -277,7 +271,7 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -needs to re-specify the pair\_style and pair\_coeff commands in an input +needs to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the @@ -309,19 +303,19 @@ and R. Tetot, Comput. Mater. Sci. 111 (2016) 181-189 ---------- -.. _SMTB-Q\_1: +.. _SMTB-Q_1: -**(SMTB-Q\_1)** N. Salles, O. Politano, E. Amzallag, R. Tetot, +**(SMTB-Q_1)** N. Salles, O. Politano, E. Amzallag, R. Tetot, Comput. Mater. Sci. 111 (2016) 181-189 -.. _SMTB-Q\_2: +.. _SMTB-Q_2: -**(SMTB-Q\_2)** E. Maras, N. Salles, R. Tetot, T. Ala-Nissila, +**(SMTB-Q_2)** E. Maras, N. Salles, R. Tetot, T. Ala-Nissila, H. Jonsson, J. Phys. Chem. C 2015, 119, 10391-10399 -.. _SMTB-Q\_3: +.. _SMTB-Q_3: -**(SMTB-Q\_3)** R. Tetot, N. Salles, S. Landron, E. Amzallag, Surface +**(SMTB-Q_3)** R. Tetot, N. Salles, S. Landron, E. Amzallag, Surface Science 616, 19-8722 28 (2013) .. _Wolf2: diff --git a/doc/src/pair_snap.rst b/doc/src/pair_snap.rst index 32c092ee69..06ed748a07 100644 --- a/doc/src/pair_snap.rst +++ b/doc/src/pair_snap.rst @@ -9,7 +9,6 @@ pair_style snap/kk command Syntax """""" - .. code-block:: LAMMPS pair_style snap @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style snap @@ -42,7 +40,6 @@ expressed as a weighted sum over bispectrum components. E^i_{SNAP}(B_1^i,...,B_K^i) = \beta^{\alpha_i}_0 + \sum_{k=1}^K \beta_k^{\alpha_i} B_k^i - where :math:`B_k^i` is the *k*\ -th bispectrum component of atom *i*\ , and :math:`\beta_k^{\alpha_i}` is the corresponding linear coefficient that depends on :math:\alpha_i`, the SNAP element of atom *i*\ . The @@ -53,10 +50,10 @@ The bispectrum calculation is described in more detail in :doc:`compute sna/atom <compute_sna_atom>`. Note that unlike for other potentials, cutoffs for SNAP potentials are -not set in the pair\_style or pair\_coeff command; they are specified in +not set in the pair_style or pair_coeff command; they are specified in the SNAP potential files themselves. -Only a single pair\_coeff command is used with the *snap* style which +Only a single pair_coeff command is used with the *snap* style which specifies a SNAP coefficient file followed by a SNAP parameter file and then N additional arguments specifying the mapping of SNAP elements to LAMMPS atom types, where N is the number of @@ -68,8 +65,7 @@ LAMMPS atom types: As an example, if a LAMMPS indium phosphide simulation has 4 atoms types, with the first two being indium and the 3rd and 4th being -phophorous, the pair\_coeff command would look like this: - +phophorous, the pair_coeff command would look like this: .. code-block:: LAMMPS @@ -105,7 +101,6 @@ tantalum potential provided in the LAMMPS potentials directory combines the *snap* and *zbl* pair styles. It is invoked by the following commands: - .. code-block:: LAMMPS variable zblcutinner equal 4 @@ -153,7 +148,7 @@ The default values for these keywords are * *chunksize* = 2000 The keyword *chunksize* is only applicable when using the -pair style *snap* with the KOKKOS package and is ignored otherwise. +pair style *snap* with the KOKKOS package and is ignored otherwise. This keyword controls the number of atoms in each pass used to compute the bispectrum components and is used to avoid running out of memory. For example @@ -161,8 +156,8 @@ if there are 4000 atoms in the simulation and the *chunksize* is set to 2000, the bispectrum calculation will be broken up into two passes. -Detailed definitions for all the other keywords -are given on the :doc:`compute sna/atom <compute_sna_atom>` doc page. +Detailed definitions for all the other keywords +are given on the :doc:`compute sna/atom <compute_sna_atom>` doc page. If *quadraticflag* is set to 1, then the SNAP energy expression includes the quadratic term, 0.5\*B\^t.alpha.B, where alpha is a symmetric *K* by *K* matrix. The SNAP element file should contain *K*\ (\ *K*\ +1)/2 additional coefficients @@ -173,32 +168,28 @@ for each element, the upper-triangular elements of alpha. The previously used *diagonalstyle* keyword was removed in 2019, since all known SNAP potentials use the default value of 3. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to two different element types, mixing is performed by LAMMPS with user-specifiable parameters as described above. You never need to -specify a pair\_coeff command with I != J arguments for this style. +specify a pair_coeff command with I != J arguments for this style. This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -217,14 +208,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This style is part of the SNAP package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -237,24 +225,16 @@ Related commands **Default:** none - ---------- - .. _Thompson20142: - - **(Thompson)** Thompson, Swiler, Trott, Foiles, Tucker, J Comp Phys, 285, 316 (2015). .. _Bartok20102: - - **(Bartok2010)** Bartok, Payne, Risi, Csanyi, Phys Rev Lett, 104, 136403 (2010). .. _Bartok2013: - - **(Bartok2013)** Bartok, Gillan, Manby, Csanyi, Phys Rev B 87, 184115 (2013). diff --git a/doc/src/pair_soft.rst b/doc/src/pair_soft.rst index f1fa0af802..3339009052 100644 --- a/doc/src/pair_soft.rst +++ b/doc/src/pair_soft.rst @@ -12,7 +12,6 @@ pair_style soft/omp command Syntax """""" - .. code-block:: LAMMPS pair_style soft cutoff @@ -22,7 +21,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style soft 1.0 @@ -44,7 +42,6 @@ Style *soft* computes pairwise interactions with the formula E = A \left[ 1 + \cos\left(\frac{\pi r}{r_c}\right) \right] \qquad r < r_c - It is useful for pushing apart overlapping atoms, since it does not blow up as r goes to 0. A is a pre-factor that can be made to vary in time from the start to the end of the run (see discussion below), @@ -77,12 +74,11 @@ cutoff is used. The :doc:`fix adapt <fix_adapt>` command can be used to vary A for one or more pair types over the course of a simulation, in which case -pair\_coeff settings for A must still be specified, but will be +pair_coeff settings for A must still be specified, but will be overridden. For example these commands will vary the prefactor A for all pairwise interactions from 0.0 at the beginning to 30.0 at the end of a run: - .. code-block:: LAMMPS variable prefactor equal ramp(0,30) @@ -93,10 +89,8 @@ can use the current timestep, elapsed time in the current run, elapsed time since the beginning of a series of runs, as well as access other variables. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -115,17 +109,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is always mixed via a -*geometric* rule. The cutoff is mixed according to the pair\_modify +*geometric* rule. The cutoff is mixed according to the pair_modify mix value. The default mix value is *geometric*\ . See the -"pair\_modify" command for details. +"pair_modify" command for details. This pair style does not support the :doc:`pair_modify <pair_modify>` shift option, since the pair interaction goes to 0.0 at the cutoff. @@ -133,17 +125,15 @@ shift option, since the pair interaction goes to 0.0 at the cutoff. The :doc:`pair_modify <pair_modify>` table and tail options are not relevant for this pair style. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none diff --git a/doc/src/pair_sph_heatconduction.rst b/doc/src/pair_sph_heatconduction.rst index efd4b426da..45d064fdf5 100644 --- a/doc/src/pair_sph_heatconduction.rst +++ b/doc/src/pair_sph_heatconduction.rst @@ -6,7 +6,6 @@ pair_style sph/heatconduction command Syntax """""" - .. code-block:: LAMMPS pair_style sph/heatconduction @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style sph/heatconduction @@ -36,10 +34,8 @@ above. * D diffusion coefficient (length\^2/time units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all @@ -48,8 +44,8 @@ I,J pairs must be specified explicitly. This style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. -This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. This style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. @@ -57,13 +53,12 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" - This pair style is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff <pair_coeff>`, pair\_sph/rhosum +:doc:`pair_coeff <pair_coeff>`, pair_sph/rhosum **Default:** none diff --git a/doc/src/pair_sph_idealgas.rst b/doc/src/pair_sph_idealgas.rst index 2e1a2b9d53..fe874797eb 100644 --- a/doc/src/pair_sph_idealgas.rst +++ b/doc/src/pair_sph_idealgas.rst @@ -6,7 +6,6 @@ pair_style sph/idealgas command Syntax """""" - .. code-block:: LAMMPS pair_style sph/idealgas @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style sph/idealgas @@ -30,7 +28,6 @@ according to the ideal gas equation of state: p = (\gamma - 1) \rho e - where :math:`\gamma = 1.4` is the heat capacity ratio, :math:`\rho` is the local density, and e is the internal energy per unit mass. This pair style also computes Monaghan's artificial viscosity to prevent @@ -46,10 +43,8 @@ above. * :math:`\nu` artificial viscosity (no units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all @@ -58,8 +53,8 @@ I,J pairs must be specified explicitly. This style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. -This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. This style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. @@ -67,24 +62,19 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" - This pair style is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff <pair_coeff>`, pair\_sph/rhosum +:doc:`pair_coeff <pair_coeff>`, pair_sph/rhosum **Default:** none - ---------- - .. _ideal-Monoghan: - - **(Monaghan)** Monaghan and Gingold, Journal of Computational Physics, 52, 374-389 (1983). diff --git a/doc/src/pair_sph_lj.rst b/doc/src/pair_sph_lj.rst index 45b611e441..bdfe530cfb 100644 --- a/doc/src/pair_sph_lj.rst +++ b/doc/src/pair_sph_lj.rst @@ -6,7 +6,6 @@ pair_style sph/lj command Syntax """""" - .. code-block:: LAMMPS pair_style sph/lj @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style sph/lj @@ -40,10 +38,8 @@ above. * :math:`\nu` artificial viscosity (no units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all @@ -52,8 +48,8 @@ I,J pairs must be specified explicitly. This style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. -This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. This style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. @@ -61,7 +57,6 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" - As noted above, the Lennard-Jones parameters epsilon and sigma are set to unity. @@ -71,23 +66,17 @@ if LAMMPS was built with that package. See the :doc:`Build package <Build_packa Related commands """""""""""""""" -:doc:`pair_coeff <pair_coeff>`, pair\_sph/rhosum +:doc:`pair_coeff <pair_coeff>`, pair_sph/rhosum **Default:** none - ---------- - .. _Ree: - - **(Ree)** Ree, Journal of Chemical Physics, 73, 5401 (1980). .. _Monoghan: - - **(Monaghan)** Monaghan and Gingold, Journal of Computational Physics, 52, 374-389 (1983). diff --git a/doc/src/pair_sph_rhosum.rst b/doc/src/pair_sph_rhosum.rst index 68f55021e3..b3148bcd6a 100644 --- a/doc/src/pair_sph_rhosum.rst +++ b/doc/src/pair_sph_rhosum.rst @@ -6,7 +6,6 @@ pair_style sph/rhosum command Syntax """""" - .. code-block:: LAMMPS pair_style sph/rhosum Nstep @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style sph/rhosum 10 @@ -37,10 +35,8 @@ above. * h (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all @@ -49,8 +45,8 @@ I,J pairs must be specified explicitly. This style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. -This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. This style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. @@ -58,13 +54,12 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" - This pair style is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff <pair_coeff>`, pair\_sph/taitwater +:doc:`pair_coeff <pair_coeff>`, pair_sph/taitwater **Default:** none diff --git a/doc/src/pair_sph_taitwater.rst b/doc/src/pair_sph_taitwater.rst index ae200ee024..3431a20319 100644 --- a/doc/src/pair_sph_taitwater.rst +++ b/doc/src/pair_sph_taitwater.rst @@ -6,7 +6,6 @@ pair_style sph/taitwater command Syntax """""" - .. code-block:: LAMMPS pair_style sph/taitwater @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style sph/taitwater @@ -30,7 +28,6 @@ according to Tait's equation of state: p = B \biggl[\left(\frac{\rho}{\rho_0}\right)^{\gamma} - 1\biggr] - where :math:`\gamma = 7` and :math:`B = c_0^2 \rho_0 / \gamma`, with :math:`\rho_0` being the reference density and :math:`c_0` the reference speed of sound. @@ -50,10 +47,8 @@ above. * :math:`\nu` artificial viscosity (no units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all @@ -62,8 +57,8 @@ I,J pairs must be specified explicitly. This style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. -This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. This style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. @@ -71,24 +66,19 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" - This pair style is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff <pair_coeff>`, pair\_sph/rhosum +:doc:`pair_coeff <pair_coeff>`, pair_sph/rhosum **Default:** none - ---------- - .. _Monaghan: - - **(Monaghan)** Monaghan and Gingold, Journal of Computational Physics, 52, 374-389 (1983). diff --git a/doc/src/pair_sph_taitwater_morris.rst b/doc/src/pair_sph_taitwater_morris.rst index c4dcb87758..9c65fd91ec 100644 --- a/doc/src/pair_sph_taitwater_morris.rst +++ b/doc/src/pair_sph_taitwater_morris.rst @@ -6,7 +6,6 @@ pair_style sph/taitwater/morris command Syntax """""" - .. code-block:: LAMMPS pair_style sph/taitwater/morris @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style sph/taitwater/morris @@ -30,7 +28,6 @@ particles according to Tait's equation of state: p = B \biggl[\left(\frac{\rho}{\rho_0}\right)^{\gamma} - 1\biggr] - where :math:`\gamma = 7` and :math:`B = c_0^2 \rho_0 / \gamma`, with :math:`\rho_0` being the reference density and :math:`c_0` the reference speed of sound. @@ -49,10 +46,8 @@ above. * :math:`\nu` dynamic viscosity (mass\*distance/time units) * h kernel function cutoff (distance units) - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This style does not support mixing. Thus, coefficients for all @@ -61,8 +56,8 @@ I,J pairs must be specified explicitly. This style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. -This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This style does not write information to :doc:`binary restart files <restart>`. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. This style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. @@ -70,23 +65,18 @@ This style can only be used via the *pair* keyword of the :doc:`run_style respa Restrictions """""""""""" - This pair style is part of the USER-SPH package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff <pair_coeff>`, pair\_sph/rhosum +:doc:`pair_coeff <pair_coeff>`, pair_sph/rhosum **Default:** none - ---------- - .. _Morris: - - **(Morris)** Morris, Fox, Zhu, J Comp Physics, 136, 214-226 (1997). diff --git a/doc/src/pair_spin_dipole.rst b/doc/src/pair_spin_dipole.rst index d1d35f9b8d..fae22d5e8a 100644 --- a/doc/src/pair_spin_dipole.rst +++ b/doc/src/pair_spin_dipole.rst @@ -9,7 +9,6 @@ pair_style spin/dipole/long command Syntax """""" - .. code-block:: LAMMPS pair_style spin/dipole/cut cutoff @@ -18,7 +17,6 @@ Syntax * cutoff = global cutoff for magnetic dipole energy and forces (optional) (distance units) - Examples """""""" @@ -44,15 +42,15 @@ vector omega and mechanical force between particles I and J. .. math:: - \mathcal{H}_{\rm long} & = - -\frac{\mu_{0} \left( \mu_B\right)^2}{4\pi} + \mathcal{H}_{\rm long} & = + -\frac{\mu_{0} \left( \mu_B\right)^2}{4\pi} \sum_{i,j,i\neq j}^{N} \frac{g_i g_j}{r_{ij}^3} - \biggl(3 - \left(\vec{e}_{ij}\cdot \vec{s}_{i}\right) - \left(\vec{e}_{ij}\cdot \vec{s}_{j}\right) + \biggl(3 + \left(\vec{e}_{ij}\cdot \vec{s}_{i}\right) + \left(\vec{e}_{ij}\cdot \vec{s}_{j}\right) -\vec{s}_i\cdot\vec{s}_j \biggr) \\ - \mathbf{\omega}_i & = + \mathbf{\omega}_i & = \frac{\mu_0 (\mu_B)^2}{4\pi\hbar}\sum_{j} \frac{g_i g_j}{r_{ij}^3} \, \biggl( @@ -61,7 +59,7 @@ vector omega and mechanical force between particles I and J. \mathbf{F}_i & = \frac{3\, \mu_0 (\mu_B)^2}{4\pi} \sum_j \frac{g_i g_j}{r_{ij}^4} - \biggl[\bigl( (\vec{s}_i\cdot\vec{s}_j) + \biggl[\bigl( (\vec{s}_i\cdot\vec{s}_j) -5(\vec{e}_{ij}\cdot\vec{s}_i) (\vec{e}_{ij}\cdot\vec{s}_j)\bigr) \vec{e}_{ij}+ \bigl( @@ -81,10 +79,8 @@ A :doc:`kspace_style <kspace_style>` must be defined to use this pair style. Currently, :doc:`kspace_style ewald/dipole/spin <kspace_style>` and :doc:`kspace_style pppm/dipole/spin <kspace_style>` support long-range magnetic dipole-dipole interactions. - ---------- - The :doc:`pair_modify <pair_modify>` table option is not relevant for this pair style. @@ -92,13 +88,12 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. Restrictions """""""""""" - The *spin/dipole/cut* and *spin/dipole/long* styles are part of the SPIN package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more diff --git a/doc/src/pair_spin_dmi.rst b/doc/src/pair_spin_dmi.rst index 6ef65dfa93..dc2d22b30a 100644 --- a/doc/src/pair_spin_dmi.rst +++ b/doc/src/pair_spin_dmi.rst @@ -12,7 +12,6 @@ Syntax * cutoff = global cutoff pair (distance in metal units) - Examples """""""" @@ -32,9 +31,9 @@ the following DM energy: .. math:: - \mathbf{H}_{dm} = \sum_{{ i,j}=1,i\neq j}^{N} + \mathbf{H}_{dm} = \sum_{{ i,j}=1,i\neq j}^{N} \left( \vec{e}_{ij} \times \vec{D} \right) - \cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right), + \cdot\left(\vec{s}_{i}\times \vec{s}_{j}\right), where :math:`\vec{s}_i` and :math:`\vec{s}_j` are two neighboring magnetic spins of two particles, :math:`\vec{e}_ij = \frac{r_i - r_j}{\left| r_i - r_j \right|}` @@ -52,9 +51,9 @@ particle i: .. math:: - \vec{\omega}_i = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times \left(\vec{e}_{ij}\times \vec{D} \right) + \vec{\omega}_i = -\frac{1}{\hbar} \sum_{j}^{Neighb} \vec{s}_{j}\times \left(\vec{e}_{ij}\times \vec{D} \right) ~~{\rm and}~~ - \vec{F}_i = -\sum_{j}^{Neighb} \frac{1}{r_{ij}} \vec{D} \times \left( \vec{s}_{i}\times \vec{s}_{j} \right) + \vec{F}_i = -\sum_{j}^{Neighb} \frac{1}{r_{ij}} \vec{D} \times \left( \vec{s}_{i}\times \vec{s}_{j} \right) More details about the derivation of these torques/forces are reported in :ref:`(Tranchida) <Tranchida5>`. @@ -75,17 +74,14 @@ the norm of the DM vector (in eV), and Dx, Dy and Dz define its direction. None of those coefficients is optional. If not specified, the *spin/dmi* pair style cannot be used. - ---------- - Restrictions """""""""""" - All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom\_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" @@ -95,7 +91,6 @@ Related commands **Default:** none - ---------- .. _Rohart: @@ -105,6 +100,5 @@ Related commands **(Rohart)** Rohart and Thiaville, Physical Review B, 88(18), 184422. (2013). - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/pair_spin_exchange.rst b/doc/src/pair_spin_exchange.rst index b2ad9a8f69..14eefaccec 100644 --- a/doc/src/pair_spin_exchange.rst +++ b/doc/src/pair_spin_exchange.rst @@ -6,18 +6,15 @@ pair_style spin/exchange command Syntax """""" - .. code-block:: LAMMPS pair_style spin/exchange cutoff * cutoff = global cutoff pair (distance in metal units) - Examples """""""" - .. code-block:: LAMMPS pair_style spin/exchange 4.0 @@ -32,11 +29,11 @@ pairs of magnetic spins: .. math:: - H_{ex} = -\sum_{i,j}^N J_{ij} (r_{ij}) \,\vec{s}_i \cdot \vec{s}_j + H_{ex} = -\sum_{i,j}^N J_{ij} (r_{ij}) \,\vec{s}_i \cdot \vec{s}_j where :math:`\vec{s}_i` and :math:`\vec{s}_j` are two neighboring magnetic spins of two particles, :math:`r_{ij} = \vert \vec{r}_i - \vec{r}_j \vert` is the inter-atomic distance between the two -particles. The summation is over pairs of nearest neighbors. +particles. The summation is over pairs of nearest neighbors. :math:`J(r_{ij})` is a function defining the intensity and the sign of the exchange interaction for different neighboring shells. This function is defined as: @@ -45,7 +42,7 @@ interaction for different neighboring shells. This function is defined as: {J}\left( r_{ij} \right) = 4 a \left( \frac{r_{ij}}{d} \right)^2 \left( 1 - b \left( \frac{r_{ij}}{d} \right)^2 \right) e^{-\left( \frac{r_{ij}}{d} \right)^2 }\Theta (R_c - r_{ij}) where :math:`a`, :math:`b` and :math:`d` are the three constant coefficients defined in the associated -"pair\_coeff" command, and :math:`R_c` is the radius cutoff associated to +"pair_coeff" command, and :math:`R_c` is the radius cutoff associated to the pair interaction (see below for more explanations). The coefficients :math:`a`, :math:`b`, and :math:`d` need to be fitted so that the function above matches with @@ -60,10 +57,10 @@ such as: .. math:: - \vec{\omega}_{i} = \frac{1}{\hbar} \sum_{j}^{Neighb} {J} - \left(r_{ij} \right)\,\vec{s}_{j} - ~~{\rm and}~~ - \vec{F}_{i} = \sum_{j}^{Neighb} \frac{\partial {J} \left(r_{ij} \right)}{ \partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{e}_{ij} + \vec{\omega}_{i} = \frac{1}{\hbar} \sum_{j}^{Neighb} {J} + \left(r_{ij} \right)\,\vec{s}_{j} + ~~{\rm and}~~ + \vec{F}_{i} = \sum_{j}^{Neighb} \frac{\partial {J} \left(r_{ij} \right)}{ \partial r_{ij}} \left( \vec{s}_{i}\cdot \vec{s}_{j} \right) \vec{e}_{ij} with :math:`\hbar` the Planck constant (in metal units), and :math:`\vec{e}_{ij} = \frac{\vec{r}_i - \vec{r}_j}{\vert \vec{r}_i-\vec{r}_j \vert}` the unit vector between sites :math:`i` and :math:`j`. @@ -89,17 +86,14 @@ of the function :math:`J(r_{ij})` defined above. None of those coefficients is optional. If not specified, the *spin/exchange* pair style cannot be used. - ---------- - Restrictions """""""""""" - All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom\_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" @@ -111,13 +105,9 @@ Related commands none - ---------- - .. _Tranchida3: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/pair_spin_magelec.rst b/doc/src/pair_spin_magelec.rst index 526806959f..a220299b07 100644 --- a/doc/src/pair_spin_magelec.rst +++ b/doc/src/pair_spin_magelec.rst @@ -6,18 +6,15 @@ pair_style spin/magelec command Syntax """""" - .. code-block:: LAMMPS pair_style spin/magelec cutoff * cutoff = global cutoff pair (distance in metal units) - Examples """""""" - .. code-block:: LAMMPS pair_style spin/magelec 4.5 @@ -53,21 +50,17 @@ electric polarization vector. The norm and direction of E are giving the intensity and the direction of a screened dielectric atomic polarization (in eV). - More details about the derivation of these torques/forces are reported in :ref:`(Tranchida) <Tranchida4>`. - ---------- - Restrictions """""""""""" - All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom\_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" @@ -77,19 +70,13 @@ Related commands **Default:** none - ---------- - .. _Katsura1: - - **(Katsura)** H. Katsura, N. Nagaosa, A.V. Balatsky. Phys. Rev. Lett., 95(5), 057205. (2005) .. _Tranchida4: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau, and Thompson, Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/pair_spin_neel.rst b/doc/src/pair_spin_neel.rst index 872b40d522..4e6eba1f34 100644 --- a/doc/src/pair_spin_neel.rst +++ b/doc/src/pair_spin_neel.rst @@ -6,18 +6,15 @@ pair_style spin/neel command Syntax """""" - .. code-block:: LAMMPS pair_style spin/neel cutoff * cutoff = global cutoff pair (distance in metal units) - Examples """""""" - .. code-block:: LAMMPS pair_style spin/neel 4.0 @@ -59,7 +56,7 @@ the same Bethe-Slater function used to fit the exchange interaction: {J}\left( r_{ij} \right) = 4 a \left( \frac{r_{ij}}{d} \right)^2 \left( 1 - b \left( \frac{r_{ij}}{d} \right)^2 \right) e^{-\left( \frac{r_{ij}}{d} \right)^2 }\Theta (R_c - r_{ij}) where :math:`a`, :math:`b` and :math:`d` are the three constant coefficients defined in the -associated "pair\_coeff" command. +associated "pair_coeff" command. The coefficients :math:`a`, :math:`b`, and :math:`d` need to be fitted so that the function above matches with the values of the magneto-elastic constant of the @@ -76,17 +73,14 @@ calculations only). More details about the derivation of these torques/forces are reported in :ref:`(Tranchida) <Tranchida6>`. - ---------- - Restrictions """""""""""" - All the *pair/spin* styles are part of the SPIN package. These styles are only enabled if LAMMPS was built with this package, and if the -atom\_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info. +atom_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info. Related commands """""""""""""""" @@ -98,13 +92,9 @@ Related commands none - ---------- - .. _Tranchida6: - - **(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson, Journal of Computational Physics, 372, 406-425, (2018). diff --git a/doc/src/pair_srp.rst b/doc/src/pair_srp.rst index 8762f3e4a9..01517df434 100644 --- a/doc/src/pair_srp.rst +++ b/doc/src/pair_srp.rst @@ -15,18 +15,15 @@ Syntax * distance = *min* or *mid* * zero or more keyword/value pairs may be appended * keyword = *exclude* - + .. parsed-literal:: - + *bptype* value = atom type for bond particles *exclude* value = *yes* or *no* - - Examples """""""" - .. code-block:: LAMMPS pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 1 mid exclude yes @@ -34,7 +31,7 @@ Examples pair_coeff 1 2 none pair_coeff 2 2 srp 100.0 0.8 - pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 \* min exclude yes + pair_style hybrid dpd 1.0 1.0 12345 srp 0.8 * min exclude yes pair_coeff 1 1 dpd 60.0 50 1.0 pair_coeff 1 2 none pair_coeff 2 2 srp 40.0 @@ -60,8 +57,7 @@ bond-pairwise potential, such that the force on bond *i* due to bond .. math:: - F^{SRP}_{ij} & = C(1-r/r_c)\hat{r}_{ij} \qquad r < r_c - + F^{\mathrm{SRP}}_{ij} = C(1-r/r_c)\hat{r}_{ij} \qquad r < r_c where *r* and :math:`\hat{r}_{ij}` are the distance and unit vector between the two bonds. Note that *btype* can be specified as an @@ -74,9 +70,8 @@ lever rule, .. math:: - F_{i1}^{SRP} & = F^{SRP}_{ij}(L) \\ - F_{i2}^{SRP} & = F^{SRP}_{ij}(1-L) - + F_{i1}^{\mathrm{SRP}} & = F^{\mathrm{SRP}}_{ij}(L) \\ + F_{i2}^{\mathrm{SRP}} & = F^{\mathrm{SRP}}_{ij}(1-L) where *L* is the normalized distance from the atom to the point of closest approach of bond *i* and *j*\ . The *mid* option takes *L* as @@ -124,10 +119,8 @@ by particle number, as if the command :doc:`thermo_modify norm no <thermo_modify The pairwise energy associated with style *srp* is shifted to be zero at the cutoff distance :math:`r_c`. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair styles does not support mixing. @@ -144,21 +137,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes global and per-atom information to :doc:`binary restart files <restart>`. Pair srp should be used with :doc:`pair_style hybrid <pair_hybrid>`, thus the pair\_coeff commands need to be +This pair style writes global and per-atom information to :doc:`binary restart files <restart>`. Pair srp should be used with :doc:`pair_style hybrid <pair_hybrid>`, thus the pair_coeff commands need to be specified in the input script when reading a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the USER-MISC package. It is only enabled if LAMMPS was built with that package. See the Making LAMMPS section for more info. @@ -181,13 +171,9 @@ Default The default keyword value is exclude = yes. - ---------- - .. _Sirk2: - - **(Sirk)** Sirk TW, Sliozberg YR, Brennan JK, Lisal M, Andzelm JW, J Chem Phys, 136 (13) 134903, 2012. diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index f2c1ed7c97..0433dfa861 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -6,7 +6,6 @@ pair_style command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style lj/cut 2.5 @@ -65,29 +63,27 @@ pairwise interaction between two atoms separated by a distance *r*\ . The force between the atoms is the negative derivative of this expression. -If the pair\_style command has a cutoff argument, it sets global +If the pair_style command has a cutoff argument, it sets global cutoffs for all pairs of atom types. The distance(s) can be smaller or larger than the dimensions of the simulation box. Typically, the global cutoff value can be overridden for a specific pair of atom types by the :doc:`pair_coeff <pair_coeff>` command. The pair style settings (including global cutoffs) can be changed by a -subsequent pair\_style command using the same style. This will reset +subsequent pair_style command using the same style. This will reset the cutoffs for all atom type pairs, including those previously set explicitly by a :doc:`pair_coeff <pair_coeff>` command. The exceptions -to this are that pair\_style *table* and *hybrid* settings cannot be -reset. A new pair\_style command for these styles will wipe out all -previously specified pair\_coeff values. - +to this are that pair_style *table* and *hybrid* settings cannot be +reset. A new pair_style command for these styles will wipe out all +previously specified pair_coeff values. ---------- - Here is an alphabetic list of pair styles defined in LAMMPS. They are also listed in more compact form on the :doc:`Commands pair <Commands_pair>` doc page. Click on the style to display the formula it computes, any additional -arguments specified in the pair\_style command, and coefficients +arguments specified in the pair_style command, and coefficients specified by the associated :doc:`pair_coeff <pair_coeff>` command. There are also additional accelerated pair styles included in the @@ -327,14 +323,11 @@ accelerated styles exist. * :doc:`yukawa/colloid <pair_yukawa_colloid>` - screened Yukawa potential for finite-size particles * :doc:`zbl <pair_zbl>` - Ziegler-Biersack-Littmark potential - ---------- - Restrictions """""""""""" - This command must be used before any coefficients are set by the :doc:`pair_coeff <pair_coeff>`, :doc:`read_data <read_data>`, or :doc:`read_restart <read_restart>` commands. @@ -353,7 +346,6 @@ Related commands Default """"""" - .. code-block:: LAMMPS pair_style none diff --git a/doc/src/pair_sw.rst b/doc/src/pair_sw.rst index 39ece6ea97..f7999c720a 100644 --- a/doc/src/pair_sw.rst +++ b/doc/src/pair_sw.rst @@ -18,7 +18,6 @@ pair_style sw/omp command Syntax """""" - .. code-block:: LAMMPS pair_style sw @@ -40,26 +39,25 @@ potential for the energy E of a system of atoms as .. math:: - E & = \sum_i \sum_{j > i} \phi_2 (r_{ij}) + - \sum_i \sum_{j \neq i} \sum_{k > j} + E & = \sum_i \sum_{j > i} \phi_2 (r_{ij}) + + \sum_i \sum_{j \neq i} \sum_{k > j} \phi_3 (r_{ij}, r_{ik}, \theta_{ijk}) \\ - \phi_2(r_{ij}) & = A_{ij} \epsilon_{ij} \left[ B_{ij} (\frac{\sigma_{ij}}{r_{ij}})^{p_{ij}} - - (\frac{\sigma_{ij}}{r_{ij}})^{q_{ij}} \right] + \phi_2(r_{ij}) & = A_{ij} \epsilon_{ij} \left[ B_{ij} (\frac{\sigma_{ij}}{r_{ij}})^{p_{ij}} - + (\frac{\sigma_{ij}}{r_{ij}})^{q_{ij}} \right] \exp \left( \frac{\sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right) \\ - \phi_3(r_{ij},r_{ik},\theta_{ijk}) & = \lambda_{ijk} \epsilon_{ijk} \left[ \cos \theta_{ijk} - + \phi_3(r_{ij},r_{ik},\theta_{ijk}) & = \lambda_{ijk} \epsilon_{ijk} \left[ \cos \theta_{ijk} - \cos \theta_{0ijk} \right]^2 \exp \left( \frac{\gamma_{ij} \sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right) \exp \left( \frac{\gamma_{ik} \sigma_{ik}}{r_{ik} - a_{ik} \sigma_{ik}} \right) - where :math:`\phi_2` is a two-body term and :math:`\phi_3` is a three-body term. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance :math:`a `\sigma`. -Only a single pair\_coeff command is used with the *sw* style which +Only a single pair_coeff command is used with the *sw* style which specifies a Stillinger-Weber potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -71,7 +69,7 @@ to specify the path for the potential file. As an example, imagine a file SiC.sw has Stillinger-Weber values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following -pair\_coeff command: +pair_coeff command: .. code-block:: LAMMPS @@ -128,7 +126,7 @@ can be separately controlled. If tol = 0.0, then the standard Stillinger-Weber cutoff is used. The Stillinger-Weber potential file must contain entries for all the -elements listed in the pair\_coeff command. It can also contain +elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. @@ -165,10 +163,8 @@ used for anything and can be set to 0.0 if desired. This is also true for the parameters in :math:`\phi_3` that are taken from the ij and ik pairs (:math:`\sigma`, *a*\ , :math:`\gamma`) - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -192,10 +188,8 @@ These parameters are common for modeling silicon and water. See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to @@ -206,21 +200,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -240,12 +231,8 @@ Related commands **Default:** none - ---------- - .. _Stillinger2: - - **(Stillinger)** Stillinger and Weber, Phys Rev B, 31, 5262 (1985). diff --git a/doc/src/pair_table.rst b/doc/src/pair_table.rst index 9bfd22f8dc..9d1a21f1dc 100644 --- a/doc/src/pair_table.rst +++ b/doc/src/pair_table.rst @@ -15,7 +15,6 @@ pair_style table/omp command Syntax """""" - .. code-block:: LAMMPS pair_style table style N keyword ... @@ -95,7 +94,7 @@ table. The format of this file is described below. If your tabulated potential(s) are designed to be used as the short-range part of one of the long-range solvers specified by the :doc:`kspace_style <kspace_style>` command, then you must use one or -more of the optional keywords listed above for the pair\_style command. +more of the optional keywords listed above for the pair_style command. These are *ewald* or *pppm* or *msm* or *dispersion* or *tip4p*\ . This is so LAMMPS can insure the short-range potential and long-range solver are compatible with each other, as it does for other @@ -103,11 +102,9 @@ short-range pair styles, such as :doc:`pair_style lj/cut/coul/long <pair_lj>`. the tabulated values for each pair of atom types has the correct functional form to be compatible with the matching long-range solver. - ---------- - -Here are some guidelines for using the pair\_style table command to +Here are some guidelines for using the pair_style table command to best effect: * Vary the number of table points; you may need to use more than you think @@ -116,7 +113,7 @@ best effect: of what the final interpolated potential looks like. This can show up interpolation "features" you may not like. * Start with the linear style; it's the style least likely to have problems. -* Use *N* in the pair\_style command equal to the "N" in the tabulation +* Use *N* in the pair_style command equal to the "N" in the tabulation file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation is not needed. See discussion below. * Make sure that your tabulated forces and tabulated energies are @@ -125,15 +122,11 @@ best effect: * Use as large an inner cutoff as possible. This avoids fitting splines to very steep parts of the potential. - - ---------- - The format of a tabulated file is a series of one or more sections, defined as follows (without the parenthesized comments): - .. parsed-literal:: # Morse potential for Fe (one or more comment or blank lines) @@ -150,7 +143,7 @@ A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair\_coeff +initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. @@ -158,7 +151,7 @@ numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* specified in the :doc:`pair_style table <pair_style>` command. Let -Ntable = *N* in the pair\_style command, and Nfile = "N" in the +Ntable = *N* in the pair_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate energy and force values at Ntable different @@ -202,8 +195,8 @@ This ordering is complex, so it is not documented here, since this file is typically produced by the :doc:`pair_write <pair_write>` command with its *bitmap* option. When the table is in BITMAP format, the "N" parameter in the file must be equal to 2\^M where M is the value -specified in the pair\_style command. Also, a cutoff parameter cannot -be used as an optional 3rd argument in the pair\_coeff command; the +specified in the pair_style command. Also, a cutoff parameter cannot +be used as an optional 3rd argument in the pair_coeff command; the entire table extent as specified in the file must be used. If used, the parameter "FPRIME" is followed by 2 values *fplo* and @@ -224,10 +217,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -246,10 +237,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all @@ -258,21 +247,19 @@ I,J pairs must be specified explicitly. The :doc:`pair_modify <pair_modify>` shift, table, and tail options are not relevant for this pair style. -This pair style writes the settings for the "pair\_style table" command -to :doc:`binary restart files <restart>`, so a pair\_style command does +This pair style writes the settings for the "pair_style table" command +to :doc:`binary restart files <restart>`, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair\_coeff +file, since it is tabulated in the potential files. Thus, pair_coeff commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -284,12 +271,8 @@ Related commands **Default:** none - ---------- - .. _Wolff2: - - **(Wolff)** Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). diff --git a/doc/src/pair_table_rx.rst b/doc/src/pair_table_rx.rst index c98e3372e0..32863cbd29 100644 --- a/doc/src/pair_table_rx.rst +++ b/doc/src/pair_table_rx.rst @@ -9,7 +9,6 @@ pair_style table/rx/kk command Syntax """""" - .. code-block:: LAMMPS pair_style table style N ... @@ -98,11 +97,9 @@ associated with the interacting coarse-grained particles (see the stored before and after the reaction kinetics solver is applied, where the difference is defined to be the internal chemical energy (uChem). - ---------- - -Here are some guidelines for using the pair\_style table/rx command to +Here are some guidelines for using the pair_style table/rx command to best effect: * Vary the number of table points; you may need to use more than you think @@ -111,7 +108,7 @@ best effect: of what the final interpolated potential looks like. This can show up interpolation "features" you may not like. * Start with the linear style; it's the style least likely to have problems. -* Use *N* in the pair\_style command equal to the "N" in the tabulation +* Use *N* in the pair_style command equal to the "N" in the tabulation file, and use the "RSQ" or "BITMAP" parameter, so additional interpolation is not needed. See discussion below. * Make sure that your tabulated forces and tabulated energies are consistent @@ -119,15 +116,11 @@ best effect: * Use as large an inner cutoff as possible. This avoids fitting splines to very steep parts of the potential. - - ---------- - The format of a tabulated file is a series of one or more sections, defined as follows (without the parenthesized comments): - .. parsed-literal:: # Morse potential for Fe (one or more comment or blank lines) @@ -144,7 +137,7 @@ A section begins with a non-blank line whose 1st character is not a "#"; blank lines or lines starting with "#" can be used as comments between sections. The first line begins with a keyword which identifies the section. The line can contain additional text, but the -initial text must match the argument specified in the pair\_coeff +initial text must match the argument specified in the pair_coeff command. The next line lists (in any order) one or more parameters for the table. Each parameter is a keyword followed by one or more numeric values. @@ -152,7 +145,7 @@ numeric values. The parameter "N" is required and its value is the number of table entries that follow. Note that this may be different than the *N* specified in the :doc:`pair_style table/rx <pair_style>` command. Let -Ntable = *N* in the pair\_style command, and Nfile = "N" in the +Ntable = *N* in the pair_style command, and Nfile = "N" in the tabulated file. What LAMMPS does is a preliminary interpolation by creating splines using the Nfile tabulated values as nodal points. It uses these to interpolate as needed to generate energy and force @@ -186,8 +179,8 @@ This ordering is complex, so it is not documented here, since this file is typically produced by the :doc:`pair_write <pair_write>` command with its *bitmap* option. When the table is in BITMAP format, the "N" parameter in the file must be equal to 2\^M where M is the value -specified in the pair\_style command. Also, a cutoff parameter cannot -be used as an optional 3rd argument in the pair\_coeff command; the +specified in the pair_style command. Also, a cutoff parameter cannot +be used as an optional 3rd argument in the pair_coeff command; the entire table extent as specified in the file must be used. If used, the parameter "FPRIME" is followed by 2 values *fplo* and @@ -208,10 +201,8 @@ Note that one file can contain many sections, each with a tabulated potential. LAMMPS reads the file section by section until it finds one that matches the specified keyword. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support mixing. Thus, coefficients for all @@ -220,21 +211,19 @@ I,J pairs must be specified explicitly. The :doc:`pair_modify <pair_modify>` shift, table, and tail options are not relevant for this pair style. -This pair style writes the settings for the "pair\_style table/rx" command -to :doc:`binary restart files <restart>`, so a pair\_style command does +This pair style writes the settings for the "pair_style table/rx" command +to :doc:`binary restart files <restart>`, so a pair_style command does not need to specified in an input script that reads a restart file. However, the coefficient information is not stored in the restart -file, since it is tabulated in the potential files. Thus, pair\_coeff +file, since it is tabulated in the potential files. Thus, pair_coeff commands do need to be specified in the restart input script. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -253,14 +242,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - This command is part of the USER-DPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -271,12 +257,8 @@ Related commands **Default:** fractional weighting - ---------- - .. _Wolff: - - **(Wolff)** Wolff and Rudd, Comp Phys Comm, 120, 200-32 (1999). diff --git a/doc/src/pair_tersoff.rst b/doc/src/pair_tersoff.rst index 655a4bb47a..7881c8ee70 100644 --- a/doc/src/pair_tersoff.rst +++ b/doc/src/pair_tersoff.rst @@ -33,7 +33,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style tersoff @@ -47,7 +46,7 @@ Description """"""""""" The *tersoff* style computes a 3-body Tersoff potential -:ref:`(Tersoff\_1) <Tersoff_11>` for the energy E of a system of atoms as +:ref:`(Tersoff_1) <Tersoff_11>` for the energy E of a system of atoms as .. math:: @@ -64,10 +63,9 @@ The *tersoff* style computes a 3-body Tersoff potential b_{ij} & = \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\ \zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) \exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\ - g(\theta) & = \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - + g(\theta) & = \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - \frac{c^2}{\left[ d^2 + (\cos \theta - \cos \theta_0)^2\right]} \right) - where :math:`f_R` is a two-body term and :math:`f_A` includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = R + D. @@ -78,10 +76,10 @@ between adjacent table entries. The table length is chosen to be accurate within 10\^-6 with respect to the *tersoff* style energy. The *tersoff/table* should give better performance in terms of speed. -Only a single pair\_coeff command is used with the *tersoff* style +Only a single pair_coeff command is used with the *tersoff* style which specifies a Tersoff potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -93,8 +91,7 @@ to specify the path for the potential file. As an example, imagine the SiC.tersoff file has Tersoff values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following -pair\_coeff command: - +pair_coeff command: .. code-block:: LAMMPS @@ -142,7 +139,7 @@ parameters are used for both two-body and three-body interactions. The non-annotated parameters are unitless. The value of m must be 3 or 1. The Tersoff potential file must contain entries for all the elements -listed in the pair\_coeff command. It can also contain entries for +listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. @@ -174,7 +171,7 @@ be set to 0.0 if desired. Note that the twobody parameters in entries such as SiCC and CSiSi are often the same, due to the common use of symmetric mixing rules, but this is not always the case. For example, the beta and n parameters in -Tersoff\_2 :ref:`(Tersoff\_2) <Tersoff_21>` are not symmetric. +Tersoff_2 :ref:`(Tersoff_2) <Tersoff_21>` are not symmetric. We chose the above form so as to enable users to define all commonly used variants of the Tersoff potential. In particular, our form @@ -182,15 +179,15 @@ reduces to the original Tersoff form when m = 3 and gamma = 1, while it reduces to the form of :ref:`Albe et al. <Albe>` when beta = 1 and m = 1. Note that in the current Tersoff implementation in LAMMPS, m must be specified as either 3 or 1. Tersoff used a slightly different but -equivalent form for alloys, which we will refer to as Tersoff\_2 -potential :ref:`(Tersoff\_2) <Tersoff_21>`. +equivalent form for alloys, which we will refer to as Tersoff_2 +potential :ref:`(Tersoff_2) <Tersoff_21>`. The *tersoff/table* style implements -Tersoff\_2 parameterization only. +Tersoff_2 parameterization only. -LAMMPS parameter values for Tersoff\_2 can be obtained as follows: +LAMMPS parameter values for Tersoff_2 can be obtained as follows: :math:`\gamma_{ijk} = \omega_{ik}`, :math:`\lambda_3 = 0` and the value of m has no effect. The parameters for species i and j can be calculated -using the Tersoff\_2 mixing rules: +using the Tersoff_2 mixing rules: .. math:: @@ -201,11 +198,10 @@ using the Tersoff\_2 mixing rules: R_{i,j} & = (R_{i}R_{j})^{1/2}\\ S_{i,j} & = (S_{i}S_{j})^{1/2} - -Tersoff\_2 parameters R and S must be converted to the LAMMPS +Tersoff_2 parameters R and S must be converted to the LAMMPS parameters R and D (R is different in both forms), using the following relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the -Tersoff\_2 parameters. +Tersoff_2 parameters. In the potentials directory, the file SiCGe.tersoff provides the LAMMPS parameters for Tersoff's various versions of Si, as well as his @@ -221,10 +217,8 @@ Many thanks to Rutuparna Narulkar, David Farrell, and Xiaowang Zhou for helping clarify how Tersoff parameters for alloys have been defined in various papers. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -243,10 +237,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to @@ -257,21 +249,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -291,25 +280,17 @@ Related commands **Default:** none - ---------- +.. _Tersoff_11: -.. _Tersoff\_11: - - - -**(Tersoff\_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). +**(Tersoff_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). .. _Albe: - - **(Albe)** J. Nord, K. Albe, P. Erhart, and K. Nordlund, J. Phys.: Condens. Matter, 15, 5649(2003). -.. _Tersoff\_21: +.. _Tersoff_21: - - -**(Tersoff\_2)** J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) +**(Tersoff_2)** J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) diff --git a/doc/src/pair_tersoff_mod.rst b/doc/src/pair_tersoff_mod.rst index bcbeb6f138..3d5bdbdaee 100644 --- a/doc/src/pair_tersoff_mod.rst +++ b/doc/src/pair_tersoff_mod.rst @@ -21,7 +21,6 @@ pair_style tersoff/mod/c/omp command Syntax """""" - .. code-block:: LAMMPS pair_style tersoff/mod @@ -44,7 +43,7 @@ Description The *tersoff/mod* and *tersoff/mod/c* styles computes a bond-order type interatomic potential :ref:`(Kumagai) <Kumagai>` based on a 3-body Tersoff -potential :ref:`(Tersoff\_1) <Tersoff_12>`, :ref:`(Tersoff\_2) <Tersoff_22>` with +potential :ref:`(Tersoff_1) <Tersoff_12>`, :ref:`(Tersoff_2) <Tersoff_22>` with modified cutoff function and angular-dependent term, giving the energy E of a system of atoms as @@ -67,18 +66,16 @@ E of a system of atoms as g_o(\theta) & = \frac{c_2 (h - \cos \theta)^2}{c_3 + (h - \cos \theta)^2} \\ g_a(\theta) & = 1 + c_4 \exp \left[ -c_5 (h - \cos \theta)^2 \right] \\ - where :math:`f_R` is a two-body term and :math:`f_A` includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = R + D. The *tersoff/mod/c* style differs from *tersoff/mod* only in the -formulation of the V\_ij term, where it contains an additional c0 term. +formulation of the V_ij term, where it contains an additional c0 term. .. math:: V_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) + c_0 \right] - The modified cutoff function :math:`f_C` proposed by :ref:`(Murty) <Murty>` and having a continuous second-order differential is employed. The angular-dependent term :math:`g(\theta)` was modified to increase the @@ -90,19 +87,18 @@ form in which the angular-dependent term is improved. The model performs extremely well in describing the crystalline, liquid, and amorphous phases :ref:`(Schelling) <Schelling>`. -Only a single pair\_coeff command is used with the *tersoff/mod* style +Only a single pair_coeff command is used with the *tersoff/mod* style which specifies a Tersoff/MOD potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename * N element names = mapping of Tersoff/MOD elements to atom types -As an example, imagine the Si.tersoff\_mod file has Tersoff values for Si. +As an example, imagine the Si.tersoff_mod file has Tersoff values for Si. If your LAMMPS simulation has 3 Si atoms types, you would use the following -pair\_coeff command: - +pair_coeff command: .. code-block:: LAMMPS @@ -153,7 +149,7 @@ The c0 term applies to *tersoff/mod/c* only. The non-annotated parameters are unitless. The Tersoff/MOD potential file must contain entries for all the elements -listed in the pair\_coeff command. It can also contain entries for +listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. @@ -163,10 +159,8 @@ the center atom in a three-body interaction and it is bonded to the 2nd atom and the bond is influenced by the 3rd atom. Thus an entry for SiSiSi means Si bonded to a Si with another Si atom influencing the bond. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -185,31 +179,26 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -229,37 +218,25 @@ Related commands **Default:** none - ---------- - .. _Kumagai: - - **(Kumagai)** T. Kumagai, S. Izumi, S. Hara, S. Sakai, Comp. Mat. Science, 39, 457 (2007). -.. _Tersoff\_12: +.. _Tersoff_12: +**(Tersoff_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). +.. _Tersoff_22: -**(Tersoff\_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). - -.. _Tersoff\_22: - - - -**(Tersoff\_2)** J. Tersoff, Phys Rev B, 38, 9902 (1988). +**(Tersoff_2)** J. Tersoff, Phys Rev B, 38, 9902 (1988). .. _Murty: - - **(Murty)** M.V.R. Murty, H.A. Atwater, Phys Rev B, 51, 4889 (1995). .. _Schelling: - - **(Schelling)** Patrick K. Schelling, Comp. Mat. Science, 44, 274 (2008). diff --git a/doc/src/pair_tersoff_zbl.rst b/doc/src/pair_tersoff_zbl.rst index 19cbafa192..fe86ef2cbb 100644 --- a/doc/src/pair_tersoff_zbl.rst +++ b/doc/src/pair_tersoff_zbl.rst @@ -15,7 +15,6 @@ pair_style tersoff/zbl/omp command Syntax """""" - .. code-block:: LAMMPS pair_style tersoff/zbl @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style tersoff/zbl @@ -33,7 +31,7 @@ Description """"""""""" The *tersoff/zbl* style computes a 3-body Tersoff potential -:ref:`(Tersoff\_1) <zbl-Tersoff_1>` with a close-separation pairwise modification +:ref:`(Tersoff_1) <zbl-Tersoff_1>` with a close-separation pairwise modification based on a Coulomb potential and the Ziegler-Biersack-Littmark universal screening function :ref:`(ZBL) <zbl-ZBL>`, giving the energy E of a system of atoms as @@ -62,10 +60,9 @@ system of atoms as b_{ij} & = \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\ \zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) \exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\ - g(\theta) & = \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - + g(\theta) & = \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - \frac{c^2}{\left[ d^2 + (\cos \theta - \cos \theta_0)^2\right]} \right) - The :math:`f_F` term is a fermi-like function used to smoothly connect the ZBL repulsive potential with the Tersoff potential. There are 2 parameters used to adjust it: :math:`A_F` and :math:`r_C`. :math:`A_F` @@ -88,10 +85,10 @@ includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = R + D. -Only a single pair\_coeff command is used with the *tersoff/zbl* style +Only a single pair_coeff command is used with the *tersoff/zbl* style which specifies a Tersoff/ZBL potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -103,8 +100,7 @@ to specify the path for the potential file. As an example, imagine the SiC.tersoff.zbl file has Tersoff/ZBL values for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the -following pair\_coeff command: - +following pair_coeff command: .. code-block:: LAMMPS @@ -159,7 +155,7 @@ portion of the potential and in the Fermi-like function. The non-annotated parameters are unitless. The value of m must be 3 or 1. The Tersoff/ZBL potential file must contain entries for all the -elements listed in the pair\_coeff command. It can also contain +elements listed in the pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. @@ -191,7 +187,7 @@ be set to 0.0 if desired. Note that the twobody parameters in entries such as SiCC and CSiSi are often the same, due to the common use of symmetric mixing rules, but this is not always the case. For example, the beta and n parameters in -Tersoff\_2 :ref:`(Tersoff\_2) <zbl-Tersoff_2>` are not symmetric. +Tersoff_2 :ref:`(Tersoff_2) <zbl-Tersoff_2>` are not symmetric. We chose the above form so as to enable users to define all commonly used variants of the Tersoff portion of the potential. In particular, @@ -200,12 +196,12 @@ our form reduces to the original Tersoff form when m = 3 and gamma = and m = 1. Note that in the current Tersoff implementation in LAMMPS, m must be specified as either 3 or 1. Tersoff used a slightly different but equivalent form for alloys, which we will refer to as -Tersoff\_2 potential :ref:`(Tersoff\_2) <zbl-Tersoff_2>`. +Tersoff_2 potential :ref:`(Tersoff_2) <zbl-Tersoff_2>`. -LAMMPS parameter values for Tersoff\_2 can be obtained as follows: +LAMMPS parameter values for Tersoff_2 can be obtained as follows: :math:`\gamma = \omega_{ijk}`, :math:`\lambda_3 = 0` and the value of m has no effect. The parameters for species i and j can be calculated -using the Tersoff\_2 mixing rules: +using the Tersoff_2 mixing rules: .. math:: @@ -216,11 +212,10 @@ using the Tersoff\_2 mixing rules: R_{i,j} & = (R_{i}R_{j})^{1/2}\\ S_{i,j} & = (S_{i}S_{j})^{1/2}\\ - -Tersoff\_2 parameters R and S must be converted to the LAMMPS +Tersoff_2 parameters R and S must be converted to the LAMMPS parameters R and D (R is different in both forms), using the following relations: R=(R'+S')/2 and D=(S'-R')/2, where the primes indicate the -Tersoff\_2 parameters. +Tersoff_2 parameters. In the potentials directory, the file SiCGe.tersoff provides the LAMMPS parameters for Tersoff's various versions of Si, as well as his @@ -237,10 +232,8 @@ for helping clarify how Tersoff parameters for alloys have been defined in various papers. Also thanks to Ram Devanathan for providing the base ZBL implementation. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -259,10 +252,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to @@ -273,21 +264,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style is part of the MANYBODY package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -308,32 +296,22 @@ Related commands **Default:** none - ---------- +.. _zbl-Tersoff_1: -.. _zbl-Tersoff\_1: - - - -**(Tersoff\_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). +**(Tersoff_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). .. _zbl-ZBL: - - **(ZBL)** J.F. Ziegler, J.P. Biersack, U. Littmark, 'Stopping and Ranges of Ions in Matter' Vol 1, 1985, Pergamon Press. .. _zbl-Albe: - - **(Albe)** J. Nord, K. Albe, P. Erhart and K. Nordlund, J. Phys.: Condens. Matter, 15, 5649(2003). -.. _zbl-Tersoff\_2: +.. _zbl-Tersoff_2: - - -**(Tersoff\_2)** J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) +**(Tersoff_2)** J. Tersoff, Phys Rev B, 39, 5566 (1989); errata (PRB 41, 3248) diff --git a/doc/src/pair_thole.rst b/doc/src/pair_thole.rst index b3d33f6036..7adf267469 100644 --- a/doc/src/pair_thole.rst +++ b/doc/src/pair_thole.rst @@ -12,7 +12,6 @@ pair_style lj/cut/thole/long/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -20,7 +19,6 @@ Syntax * style = *thole* or *lj/cut/thole/long* or *lj/cut/thole/long/omp* * args = list of arguments for a particular style - .. parsed-literal:: *thole* args = damp cutoff @@ -34,7 +32,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style hybrid/overlay ... thole 2.6 12.0 @@ -59,7 +56,7 @@ containing *coul/cut* or *coul/long* in its style name. The *lj/cut/thole/long* pair style is equivalent to, but more convenient that the frequent combination *hybrid/overlay lj/cut/coul/long cutoff thole damp -cutoff2*\ . It is not only a shorthand for this pair\_style combination, but +cutoff2*\ . It is not only a shorthand for this pair_style combination, but it also allows for mixing pair coefficients instead of listing them all. The *lj/cut/thole/long* pair style is also a bit faster because it avoids an overlay and can benefit from OMP acceleration. Moreover, it uses a more @@ -70,7 +67,6 @@ Drude particles. The *thole* pair styles compute the Coulomb interaction damped at short distances by a function - .. math:: T_{ij}(r_{ij}) = 1 - \left( 1 + @@ -87,7 +83,6 @@ the atom types. The mixing rule for Thole damping parameters is the arithmetic average, and for polarizabilities the geometric average between the atom-specific values. - .. math:: s_{ij} = \frac{ a_{ij} }{ @@ -109,7 +104,7 @@ non-polarizable atoms are also subject to these weighting factors. The Drude particles inherit the 1-2, 1-3 and 1-4 neighbor relations from their respective cores. -For pair\_style *thole*\ , the following coefficients must be defined for +For pair_style *thole*\ , the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff <pair_coeff>` command as in the example above. @@ -118,7 +113,7 @@ as in the example above. * cutoff (distance units) The last two coefficients are optional. If not specified the global -Thole damping parameter or global cutoff specified in the pair\_style +Thole damping parameter or global cutoff specified in the pair_style command are used. In order to specify a cutoff (third argument) a damp parameter (second argument) must also be specified. @@ -133,12 +128,10 @@ command. * LJ cutoff (distance units) The last two coefficients are optional and default to the global values from -the *pair\_style* command line. - +the *pair_style* command line. ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -165,7 +158,6 @@ for all I,J pairs must be specified explicitly. The *lj/cut/thole/long* pair style does support mixing. Mixed coefficients are defined using - .. math:: \alpha_{ij} = & \sqrt{\alpha_i\alpha_j} \\ @@ -175,11 +167,10 @@ are defined using Restrictions """""""""""" - These pair styles are part of the USER-DRUDE package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. -This pair\_style should currently not be used with the :doc:`charmm dihedral style <dihedral_charmm>` if the latter has non-zero 1-4 weighting +This pair_style should currently not be used with the :doc:`charmm dihedral style <dihedral_charmm>` if the latter has non-zero 1-4 weighting factors. This is because the *thole* pair style does not know which pairs are 1-4 partners of which dihedrals. @@ -195,18 +186,12 @@ Related commands **Default:** none - ---------- - .. _Noskov1: - - **(Noskov)** Noskov, Lamoureux and Roux, J Phys Chem B, 109, 6705 (2005). .. _Thole1: - - **(Thole)** Chem Phys, 59, 341 (1981). diff --git a/doc/src/pair_tri_lj.rst b/doc/src/pair_tri_lj.rst index 9d021f79a4..1dd69778ed 100644 --- a/doc/src/pair_tri_lj.rst +++ b/doc/src/pair_tri_lj.rst @@ -41,16 +41,16 @@ its entirety or not at all. The set of non-overlapping spherical particles that represent a triangle, for purposes of this pair style, are generated in the -following manner. Assume the triangle is of type I, and sigma\_II has +following manner. Assume the triangle is of type I, and sigma_II has been specified. We want a set of spheres with centers in the plane of -the triangle, none of them larger in diameter than sigma\_II, which +the triangle, none of them larger in diameter than sigma_II, which completely cover the triangle's area, but with minimal overlap and a minimal total number of spheres. This is done in a recursive manner. Place a sphere at the centroid of the original triangle. Calculate what diameter it must have to just cover all 3 corner points of the -triangle. If that diameter is equal to or smaller than sigma\_II, then +triangle. If that diameter is equal to or smaller than sigma_II, then include a sphere of the calculated diameter in the set of covering -spheres. It the diameter is larger than sigma\_II, then split the +spheres. It the diameter is larger than sigma_II, then split the triangle into 2 triangles by bisecting its longest side. Repeat the process on each sub-triangle, recursing as far as needed to generate a set of covering spheres. When finished, the original criteria are @@ -62,8 +62,8 @@ The LJ interaction between 2 spheres on different triangles of types I,J is computed with an arithmetic mixing of the sigma values of the 2 spheres and using the specified epsilon value for I,J atom types. Note that because the sigma values for triangles spheres is computed -using only sigma\_II values, specific to the triangles's type, this -means that any specified sigma\_IJ values (for I != J) are effectively +using only sigma_II values, specific to the triangles's type, this +means that any specified sigma_IJ values (for I != J) are effectively ignored. For style *tri/lj*\ , the following coefficients must be defined for @@ -79,15 +79,13 @@ commands: The last coefficient is optional. If not specified, the global cutoff is used. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of this pair style can be mixed. The -default mix value is *geometric*\ . See the "pair\_modify" command for +default mix value is *geometric*\ . See the "pair_modify" command for details. This pair style does not support the :doc:`pair_modify <pair_modify>` @@ -99,14 +97,11 @@ This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the ASPHERE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/pair_ufm.rst b/doc/src/pair_ufm.rst index bf567bb821..2562b2fc2f 100644 --- a/doc/src/pair_ufm.rst +++ b/doc/src/pair_ufm.rst @@ -15,7 +15,6 @@ pair_style ufm/opt command Syntax """""" - .. code-block:: LAMMPS pair_style ufm cutoff @@ -46,7 +45,6 @@ Style *ufm* computes pairwise interactions using the Uhlenbeck-Ford model (UFM) E & = -\varepsilon\, \ln{\left[1-\exp{\left(-r^{2}/\sigma^{2}\right)}\right]} \qquad r < r_c \\ \varepsilon & = p\,k_B\,T - where :math:`r_c` is the cutoff, :math:`\sigma` is a distance-scale and :math:`\epsilon` is an energy-scale, i.e., a product of Boltzmann constant :math:`k_B`, temperature *T* and the Uhlenbeck-Ford p-parameter which @@ -68,12 +66,11 @@ The last coefficient is optional. If not specified, the global *ufm* cutoff is used. The :doc:`fix adapt <fix_adapt>` command can be used to vary epsilon and sigma for this pair style over the course of a simulation, in which case -pair\_coeff settings for epsilon and sigma must still be specified, but will be +pair_coeff settings for epsilon and sigma must still be specified, but will be overridden. For example these commands will vary the prefactor epsilon for all pairwise interactions from 10.0 at the beginning to 100.0 at the end of a run: - .. code-block:: LAMMPS variable prefactor equal ramp(10,100) @@ -89,10 +86,8 @@ of a run: use this command and perform nonequilibrium thermodynamic integration in LAMMPS is given in the paper by :ref:`(Freitas) <Freitas2>`. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -111,17 +106,15 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is always mixed via a -*geometric* rule. The cutoff is mixed according to the pair\_modify +*geometric* rule. The cutoff is mixed according to the pair_modify mix value. The default mix value is *geometric*\ . See the -"pair\_modify" command for details. +"pair_modify" command for details. This pair style support the :doc:`pair_modify <pair_modify>` shift option for the energy of the pair interaction. @@ -130,17 +123,15 @@ pair style. This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -154,20 +145,14 @@ Related commands .. _PL1: - - **(Paula Leite2017)** Paula Leite, Santos-Florez, and de Koning, Phys Rev E, 96, 32115 (2017). .. _PL2: - - **(Paula Leite2016)** Paula Leite , Freitas, Azevedo, and de Koning, J Chem Phys, 126, 044509 (2016). .. _Freitas2: - - **(Freitas)** Freitas, Asta, and de Koning, Computational Materials Science, 112, 333 (2016). diff --git a/doc/src/pair_vashishta.rst b/doc/src/pair_vashishta.rst index f3e9ce1db0..044709d65d 100644 --- a/doc/src/pair_vashishta.rst +++ b/doc/src/pair_vashishta.rst @@ -21,7 +21,6 @@ pair_style vashishta/table/omp command Syntax """""" - .. code-block:: LAMMPS pair_style style args @@ -29,7 +28,6 @@ Syntax * style = *vashishta* or *vashishta/table* or *vashishta/omp* or *vashishta/table/omp* * args = list of arguments for a particular style - .. parsed-literal:: *vashishta* or *vashishta/omp* args = none @@ -40,7 +38,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style vashishta @@ -70,7 +67,6 @@ The potential for the energy U of a system of atoms is U_{ijk}^{(3)}(r_{ij},r_{ik},\theta_{ijk}) & = B_{ijk} \frac{\left[ \cos \theta_{ijk} - \cos \theta_{0ijk} \right]^2} {1+C_{ijk}\left[ \cos \theta_{ijk} - \cos \theta_{0ijk} \right]^2} \times \\ & \exp \left( \frac{\gamma_{ij}}{r_{ij} - r_{0,ij}} \right) \exp \left( \frac{\gamma_{ik}}{r_{ik} - r_{0,ik}} \right), r_{ij} < r_{0,ij}, r_{ik} < r_{0,ik} - where we follow the notation used in :ref:`Branicio2009 <Branicio2009>`. :math:`U^2` is a two-body term and U3 is a three-body term. The summation over two-body terms is over all neighbors J within @@ -91,10 +87,10 @@ with moderate to little loss of accuracy for Ntable values between 10000 and 1000000. It is not recommended to use less than 5000 tabulation points. -Only a single pair\_coeff command is used with either style which +Only a single pair_coeff command is used with either style which specifies a Vashishta potential file with parameters for all needed elements. These are mapped to LAMMPS atom types by specifying N -additional arguments after the filename in the pair\_coeff command, +additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename @@ -106,8 +102,7 @@ to specify the path for the potential file. As an example, imagine a file SiC.vashishta has parameters for Si and C. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following -pair\_coeff command: - +pair_coeff command: .. code-block:: LAMMPS @@ -148,7 +143,7 @@ and three-body coefficients in the formulae above: The non-annotated parameters are unitless. The Vashishta potential file must contain entries for all the elements listed in the -pair\_coeff command. It can also contain entries for additional +pair_coeff command. It can also contain entries for additional elements not being used in a particular simulation; LAMMPS ignores those entries. For a single-element simulation, only a single entry is required (e.g. SiSiSi). For a two-element simulation, the file @@ -196,10 +191,8 @@ an Si atom and a second C atom will take three-body parameters from the CSiC entry, but two-body parameters from the CCC and CSiSi entries. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -218,10 +211,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, where types I and J correspond to @@ -232,21 +223,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files <restart>`, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - These pair style are part of the MANYBODY package. They is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -266,27 +254,19 @@ Related commands **Default:** none - ---------- - .. _Vashishta1990: - - **(Vashishta1990)** P. Vashishta, R. K. Kalia, J. P. Rino, Phys. Rev. B 41, 12197 (1990). .. _Vashishta2007: - - **(Vashishta2007)** P. Vashishta, R. K. Kalia, A. Nakano, J. P. Rino. J. Appl. Phys. 101, 103515 (2007). .. _Branicio2009: - - **(Branicio2009)** Branicio, Rino, Gan and Tsuzuki, J. Phys Condensed Matter 21 (2009) 095002 diff --git a/doc/src/pair_write.rst b/doc/src/pair_write.rst index 69639e3f99..acb6de4f13 100644 --- a/doc/src/pair_write.rst +++ b/doc/src/pair_write.rst @@ -6,7 +6,6 @@ pair_write command Syntax """""" - .. code-block:: LAMMPS pair_write itype jtype N style inner outer file keyword Qi Qj @@ -22,7 +21,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_write 1 3 500 r 1.0 10.0 table.txt LJ @@ -67,14 +65,13 @@ and a force (in force units). Restrictions """""""""""" - All force field coefficients for pair and other kinds of interactions must be set before this command can be invoked. Due to how the pairwise force is computed, an inner value > 0.0 must be specified even if the potential has a finite value at r = 0.0. -For EAM potentials, the pair\_write command only tabulates the +For EAM potentials, the pair_write command only tabulates the pairwise portion of the potential, not the embedding portion. Related commands diff --git a/doc/src/pair_yukawa.rst b/doc/src/pair_yukawa.rst index 15b9f0fc0b..fad035ed4b 100644 --- a/doc/src/pair_yukawa.rst +++ b/doc/src/pair_yukawa.rst @@ -15,7 +15,6 @@ pair_style yukawa/kk command Syntax """""" - .. code-block:: LAMMPS pair_style yukawa kappa cutoff @@ -26,7 +25,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style yukawa 2.0 2.5 @@ -42,7 +40,6 @@ Style *yukawa* computes pairwise interactions with the formula E = A \frac{e^{- \kappa r}}{r} \qquad r < r_c - :math:`r_c` is the cutoff. The following coefficients must be defined for each pair of atoms @@ -57,10 +54,8 @@ commands, or by mixing as described below: The last coefficient is optional. If not specified, the global yukawa cutoff is used. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -79,16 +74,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. The default mix value is *geometric*\ . See the -"pair\_modify" command for details. +"pair_modify" command for details. This pair style supports the :doc:`pair_modify <pair_modify>` shift option for the energy of the pair interaction. @@ -100,17 +93,15 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none diff --git a/doc/src/pair_yukawa_colloid.rst b/doc/src/pair_yukawa_colloid.rst index c8659cb157..f775f37703 100644 --- a/doc/src/pair_yukawa_colloid.rst +++ b/doc/src/pair_yukawa_colloid.rst @@ -12,7 +12,6 @@ pair_style yukawa/colloid/omp command Syntax """""" - .. code-block:: LAMMPS pair_style yukawa/colloid kappa cutoff @@ -23,7 +22,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style yukawa/colloid 2.0 2.5 @@ -39,7 +37,6 @@ Style *yukawa/colloid* computes pairwise interactions with the formula E = \frac{A}{\kappa} e^{- \kappa (r - (r_i + r_j))} \qquad r < r_c - where :math:`r_i` and :math:`r_j` are the radii of the two particles and :math:`r_c` is the cutoff. @@ -47,7 +44,7 @@ In contrast to :doc:`pair_style yukawa <pair_yukawa>`, this functional form arises from the Coulombic interaction between two colloid particles, screened due to the presence of an electrolyte, see the book by :ref:`Safran <Safran>` for a derivation in the context of DLVO -theory. :doc:`Pair\_style yukawa <pair_yukawa>` is a screened Coulombic +theory. :doc:`Pair_style yukawa <pair_yukawa>` is a screened Coulombic potential between two point-charges and uses no such approximation. This potential applies to nearby particle pairs for which the Derjagin @@ -73,7 +70,6 @@ that the A for this potential style has different units than the A used in :doc:`pair_style yukawa <pair_yukawa>`. For low surface potentials, i.e. less than about 25 mV, A can be written as: - .. math:: A = 2 \pi R\varepsilon\varepsilon_0 \kappa \psi^2 @@ -89,10 +85,8 @@ where The last coefficient is optional. If not specified, the global yukawa/colloid cutoff is used. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -111,16 +105,14 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs I,J and I != J, the A coefficient and cutoff distance for this pair style can be mixed. A is an energy value mixed like a LJ epsilon. The default mix value is *geometric*\ . See the -"pair\_modify" command for details. +"pair_modify" command for details. This pair style supports the :doc:`pair_modify <pair_modify>` shift option for the energy of the pair interaction. @@ -132,21 +124,18 @@ This pair style does not support the :doc:`pair_modify <pair_modify>` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This style is part of the COLLOID package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. @@ -166,13 +155,9 @@ Related commands **Default:** none - ---------- - .. _Safran: - - **(Safran)** Safran, Statistical Thermodynamics of Surfaces, Interfaces, And Membranes, Westview Press, ISBN: 978-0813340791 (2003). diff --git a/doc/src/pair_zbl.rst b/doc/src/pair_zbl.rst index f2f310dae9..26960f71b3 100644 --- a/doc/src/pair_zbl.rst +++ b/doc/src/pair_zbl.rst @@ -15,7 +15,6 @@ pair_style zbl/omp command Syntax """""" - .. code-block:: LAMMPS pair_style zbl inner outer @@ -26,7 +25,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS pair_style zbl 3.0 4.0 @@ -41,7 +39,7 @@ repulsion for describing high-energy collisions between atoms. :ref:`(Ziegler) <Ziegler>`. It includes an additional switching function that ramps the energy, force, and curvature smoothly to zero between an inner and outer cutoff. The potential -energy due to a pair of atoms at a distance r\_ij is given by: +energy due to a pair of atoms at a distance r_ij is given by: .. math:: @@ -73,7 +71,7 @@ When used with :doc:`hybrid/overlay <pair_hybrid>` and pairs are assigned to more than one sub-style, the mixing rule is not used and each pair of types interacting with the ZBL sub-style must -be included in a pair\_coeff command. +be included in a pair_coeff command. .. note:: @@ -85,10 +83,8 @@ be included in a pair\_coeff command. always be given as multiples of a proton's charge, e.g. 29.0 for copper. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -107,10 +103,8 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : For atom type pairs *i,j* and :math:`i \neq i`, the :math:`Z_i` and @@ -121,7 +115,7 @@ specified for with :doc:`hybrid/overlay <pair_hybrid>` and pairs are assigned to more than one sub-style, the mixing rule is not used and each pair of types interacting with the ZBL sub-style -must be included in a pair\_coeff command. +must be included in a pair_coeff command. The :doc:`pair_modify <pair_modify>` mix option has no effect on the mixing behavior @@ -137,17 +131,15 @@ tail option for adding long-range tail corrections to energy and pressure, since there are no corrections for a potential that goes to 0.0 at the cutoff. -This pair style does not write information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands must be +This pair style does not write information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands must be specified in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa <run_style>` command. It does not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" none @@ -159,13 +151,9 @@ Related commands **Default:** none - ---------- - .. _Ziegler: - - **(Ziegler)** J.F. Ziegler, J. P. Biersack and U. Littmark, "The Stopping and Range of Ions in Matter," Volume 1, Pergamon, 1985. diff --git a/doc/src/pair_zero.rst b/doc/src/pair_zero.rst index 0a9db6472a..a704cf92f2 100644 --- a/doc/src/pair_zero.rst +++ b/doc/src/pair_zero.rst @@ -6,19 +6,17 @@ pair_style zero command Syntax """""" - .. code-block:: LAMMPS pair_style zero cutoff [nocoeff] * zero = style name of this pair style * cutoff = global cutoff (distance units) -* nocoeff = ignore all pair\_coeff parameters (optional) +* nocoeff = ignore all pair_coeff parameters (optional) Examples """""""" - .. code-block:: LAMMPS pair_style zero 10.0 @@ -43,7 +41,7 @@ used to insure communication of ghost atoms even when a pair style is not defined, but it will not trigger neighbor list generation. The optional *nocoeff* flag allows to read data files with a PairCoeff -section for any pair style. Similarly, any pair\_coeff commands +section for any pair style. Similarly, any pair_coeff commands will only be checked for the atom type numbers and the rest ignored. In this case, only the global cutoff will be used. @@ -56,32 +54,28 @@ commands, or by mixing as described below: * cutoff (distance units) This coefficient is optional. If not specified, the global cutoff -specified in the pair\_style command is used. If the pair\_style has +specified in the pair_style command is used. If the pair_style has been specified with the optional *nocoeff* flag, then a cutoff pair coefficient is ignored. - ---------- - **Mixing, shift, table, tail correction, restart, rRESPA info**\ : The cutoff distance for this pair style can be mixed. The default mix -value is *geometric*\ . See the "pair\_modify" command for details. +value is *geometric*\ . See the "pair_modify" command for details. This pair style does not support the :doc:`pair_modify <pair_modify>` shift, table, and tail options. -This pair style writes its information to :doc:`binary restart files <restart>`, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need to be specified in an input script that reads a restart file. This pair style supports the use of the *inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa <run_style>` command. - ---------- - Restrictions """""""""""" none diff --git a/doc/src/pairs.rst b/doc/src/pairs.rst index 4fdf2b2c69..b764c74cc7 100644 --- a/doc/src/pairs.rst +++ b/doc/src/pairs.rst @@ -1,7 +1,6 @@ Pair Styles ########### - .. toctree:: :maxdepth: 1 :glob: diff --git a/doc/src/partition.rst b/doc/src/partition.rst index 7ad5a4b3ed..be0e1152f5 100644 --- a/doc/src/partition.rst +++ b/doc/src/partition.rst @@ -6,7 +6,6 @@ partition command Syntax """""" - .. parsed-literal:: partition style N command ... @@ -18,13 +17,12 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS partition yes 1 processors 4 10 6 partition no 5 print "Active partition" - partition yes \*5 fix all nve - partition yes 6\* fix all nvt temp 1.0 1.0 0.1 + partition yes *5 fix all nve + partition yes 6* fix all nvt temp 1.0 1.0 0.1 Description """"""""""" @@ -61,7 +59,7 @@ from 1 to n (inclusive). A trailing asterisk means all partitions from n to Np (inclusive). A middle asterisk means all partitions from m to n (inclusive). -This command can be useful for the "run\_style verlet/split" command +This command can be useful for the "run_style verlet/split" command which imposed requirements on how the :doc:`processors <processors>` command lays out a 3d grid of processors in each of 2 partitions. diff --git a/doc/src/prd.rst b/doc/src/prd.rst index 212439ddce..c3bd1ad1d3 100644 --- a/doc/src/prd.rst +++ b/doc/src/prd.rst @@ -6,23 +6,22 @@ prd command Syntax """""" - .. parsed-literal:: prd N t_event n_dephase t_dephase t_correlate compute-ID seed keyword value ... * N = # of timesteps to run (not including dephasing/quenching) -* t\_event = timestep interval between event checks -* n\_dephase = number of velocity randomizations to perform in each dephase run -* t\_dephase = number of timesteps to run dynamics after each velocity randomization during dephase -* t\_correlate = number of timesteps within which 2 consecutive events are considered to be correlated +* t_event = timestep interval between event checks +* n_dephase = number of velocity randomizations to perform in each dephase run +* t_dephase = number of timesteps to run dynamics after each velocity randomization during dephase +* t_correlate = number of timesteps within which 2 consecutive events are considered to be correlated * compute-ID = ID of the compute used for event detection -* random\_seed = random # seed (positive integer) +* random_seed = random # seed (positive integer) * zero or more keyword/value pairs may be appended * keyword = *min* or *temp* or *vel* - + .. parsed-literal:: - + *min* values = etol ftol maxiter maxeval etol = stopping tolerance for energy, used in quenching ftol = stopping tolerance for force, used in quenching @@ -37,13 +36,10 @@ Syntax *steps* = simulation runs for N timesteps on each replica (default) *clock* = simulation runs for N timesteps across all replicas - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS prd 5000 100 10 10 100 1 54982 prd 5000 100 10 10 100 1 54982 min 0.1 0.1 100 200 @@ -100,7 +96,6 @@ A PRD run has several stages, which are repeated each time an "event" occurs in one of the replicas, as explained below. The logic for a PRD run is as follows: - .. parsed-literal:: while (time remains): @@ -124,9 +119,9 @@ storing the resulting coordinates for reference. In the first stage, dephasing is performed by each replica independently to eliminate correlations between replicas. This is done by choosing a random set of velocities, based on the -*random\_seed* that is specified, and running *t\_dephase* timesteps of -dynamics. This is repeated *n\_dephase* times. At each of the -*n\_dephase* stages, if an event occurs during the *t\_dephase* steps of +*random_seed* that is specified, and running *t_dephase* timesteps of +dynamics. This is repeated *n_dephase* times. At each of the +*n_dephase* stages, if an event occurs during the *t_dephase* steps of dynamics for a particular replica, the replica repeats the stage until no event occurs. @@ -138,7 +133,7 @@ The style of velocity randomization is controlled using the keyword in the :doc:`velocity <velocity>` command. In the second stage, each replica runs dynamics continuously, stopping -every *t\_event* steps to check if a transition event has occurred. +every *t_event* steps to check if a transition event has occurred. This check is performed by quenching the system and comparing the resulting atom coordinates to the coordinates from the previous basin. The first time through the PRD loop, the "previous basin" is the set @@ -163,8 +158,8 @@ distance. If so, an "event" has occurred. In the third stage, the replica on which the event occurred (event replica) continues to run dynamics to search for correlated events. -This is done by running dynamics for *t\_correlate* steps, quenching -every *t\_event* steps, and checking if another event has occurred. +This is done by running dynamics for *t_correlate* steps, quenching +every *t_event* steps, and checking if another event has occurred. The first time no correlated event occurs, the final state of the event replica is shared with all replicas, the new basin reference @@ -186,10 +181,8 @@ elapsed. This aggregate time is the "clock" time defined below, which typically advances nearly M times faster than the timestepping on a single replica, where M is the number of replicas. - ---------- - Four kinds of output can be generated during a PRD run: event statistics, thermodynamic output by each replica, dump files, and restart files. @@ -237,19 +230,17 @@ when a correlated event occurs during the third stage of the loop listed above, i.e. when only one replica is running dynamics. When more than one replica detects an event at the end of the same -event check (every *t\_event* steps) during the second stage, then +event check (every *t_event* steps) during the second stage, then one of them is chosen at random. The number of coincident events is the number of replicas that detected an event. Normally, this value should be 1. If it is often greater than 1, then either the number of -replicas is too large, or *t\_event* is too large. +replicas is too large, or *t_event* is too large. The replica number is the ID of the replica (from 0 to M-1) in which the event occurred. - ---------- - When running on multiple partitions, LAMMPS produces additional log files for each partition, e.g. log.lammps.0, log.lammps.1, etc. For the PRD command, these contain the thermodynamic output for each @@ -262,10 +253,8 @@ After the PRD command completes, timing statistics for the PRD run are printed in each replica's log file, giving a breakdown of how much CPU time was spent in each stage (dephasing, dynamics, quenching, etc). - ---------- - Any :doc:`dump files <dump>` defined in the input script, will be written to during a PRD run at timesteps corresponding to both uncorrelated and correlated events. This means the requested dump @@ -280,19 +269,17 @@ snapshot corresponding to the initial minimum state used for event detection is written to the dump file at the beginning of each PRD run. - ---------- - If the :doc:`restart <restart>` command is used, a single restart file for all the partitions is generated, which allows a PRD run to be continued by a new input script in the usual manner. The restart file is generated at the end of the loop listed above. If no correlated events are found, this means it contains a snapshot of -the system at time T + *t\_correlate*, where T is the time at which the +the system at time T + *t_correlate*, where T is the time at which the uncorrelated event occurred. If correlated events were found, then it -contains a snapshot of the system at time T + *t\_correlate*, where T +contains a snapshot of the system at time T + *t_correlate*, where T is the time of the last correlated event. The restart frequency specified in the :doc:`restart <restart>` command @@ -305,24 +292,21 @@ event. When an input script reads a restart file from a previous PRD run, the new script can be run on a different number of replicas or processors. -However, it is assumed that *t\_correlate* in the new PRD command is +However, it is assumed that *t_correlate* in the new PRD command is the same as it was previously. If not, the calculation of the "clock" value for the first event in the new run will be slightly off. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package <Build_package>` doc page for more info. -The *N* and *t\_correlate* settings must be integer multiples of -*t\_event*. +The *N* and *t_correlate* settings must be integer multiples of +*t_event*. Runs restarted from restart file written during a PRD run will not produce identical results due to changes in the random numbers used @@ -348,19 +332,13 @@ Default The option defaults are min = 0.1 0.1 40 50, no temp setting, vel = geom gaussian, and time = steps. - ---------- - .. _Voter1998: - - **(Voter1998)** Voter, Phys Rev B, 57, 13985 (1998). .. _Voter2002prd: - - **(Voter2002)** Voter, Montalenti, Germann, Annual Review of Materials Research 32, 321 (2002). diff --git a/doc/src/print.rst b/doc/src/print.rst index 93534ba9b5..b9ed8555fa 100644 --- a/doc/src/print.rst +++ b/doc/src/print.rst @@ -6,7 +6,6 @@ print command Syntax """""" - .. parsed-literal:: print string keyword value @@ -14,21 +13,18 @@ Syntax * string = text string to print, which may contain variables * zero or more keyword/value pairs may be appended * keyword = *file* or *append* or *screen* or *universe* - + .. parsed-literal:: - + *file* value = filename *append* value = filename *screen* value = *yes* or *no* *universe* value = *yes* or *no* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS print "Done with equilibration" file info.dat print Vol=$v append info.dat screen no diff --git a/doc/src/processors.rst b/doc/src/processors.rst index 2b30653167..899c87f4b0 100644 --- a/doc/src/processors.rst +++ b/doc/src/processors.rst @@ -6,7 +6,6 @@ processors command Syntax """""" - .. parsed-literal:: processors Px Py Pz keyword args ... @@ -14,9 +13,9 @@ Syntax * Px,Py,Pz = # of processors in each dimension of 3d grid overlaying the simulation domain * zero or more keyword/arg pairs may be appended * keyword = *grid* or *map* or *part* or *file* - + .. parsed-literal:: - + *grid* arg = gstyle params ... gstyle = *onelevel* or *twolevel* or *numa* or *custom* onelevel params = none @@ -39,21 +38,18 @@ Syntax *file* arg = outfile outfile = name of file to write 3d grid of processors to - - Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - processors \* \* 5 + processors * * 5 processors 2 4 4 - processors \* \* 8 map xyz - processors \* \* \* grid numa - processors \* \* \* grid twolevel 4 \* \* 1 + processors * * 8 map xyz + processors * * * grid numa + processors * * * grid twolevel 4 * * 1 processors 4 8 16 grid custom myfile - processors \* \* \* part 1 2 multiple + processors * * * part 1 2 multiple Description """"""""""" @@ -97,8 +93,7 @@ Px,Py,Pz values for different partitions. You can use the :doc:`partition <partition>` command to specify different processor grids for different partitions, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS partition yes 1 processors 4 4 4 partition yes 2 processors 2 3 2 @@ -127,10 +122,8 @@ different sizes and shapes which no longer have a logical 3d connectivity. If that occurs, all the information specified by the processors command is ignored. - ---------- - The *grid* keyword affects the factorization of P into Px,Py,Pz and it can also affect how the P processor IDs are mapped to the 3d grid of processors. @@ -194,7 +187,6 @@ blank or comment lines (starting with a "#" character) can be present. The first non-blank, non-comment line should have 3 values: - .. parsed-literal:: Px Py Py @@ -205,7 +197,6 @@ and the Px, Py, Pz settings of the processors command. This line should be immediately followed by P = Px\*Py\*Pz lines of the form: - .. parsed-literal:: ID I J K @@ -215,18 +206,16 @@ processors location in the 3d grid. I must be a number from 1 to Px (inclusive) and similarly for J and K. The P lines can be listed in any order, but no processor ID should appear more than once. - ---------- - The *map* keyword affects how the P processor IDs (from 0 to P-1) are mapped to the 3d grid of processors. It is only used by the *onelevel* and *twolevel* grid settings. The *cart* style uses the family of MPI Cartesian functions to perform -the mapping, namely MPI\_Cart\_create(), MPI\_Cart\_get(), -MPI\_Cart\_shift(), and MPI\_Cart\_rank(). It invokes the -MPI\_Cart\_create() function with its reorder flag = 0, so that MPI is +the mapping, namely MPI_Cart_create(), MPI_Cart_get(), +MPI_Cart_shift(), and MPI_Cart_rank(). It invokes the +MPI_Cart_create() function with its reorder flag = 0, so that MPI is not free to reorder the processors. The *cart/reorder* style does the same thing as the *cart* style @@ -241,7 +230,6 @@ ID in the K direction varies slowest. For example, if you select style *xyz* and you have a 2x2x2 grid of 8 processors, the assignments of the 8 octants of the simulation domain will be: - .. parsed-literal:: proc 0 = lo x, lo y, lo z octant @@ -256,7 +244,7 @@ of the 8 octants of the simulation domain will be: Note that, in principle, an MPI implementation on a particular machine should be aware of both the machine's network topology and the specific subset of processors and nodes that were assigned to your -simulation. Thus its MPI\_Cart calls can optimize the assignment of +simulation. Thus its MPI_Cart calls can optimize the assignment of MPI processes to the 3d grid to minimize communication costs. In practice, however, few if any MPI implementations actually do this. So it is likely that the *cart* and *cart/reorder* styles simply give @@ -267,10 +255,8 @@ used to first map the nodes to the 3d grid, then again to the cores within each node. For the latter step, the *cart* and *cart/reorder* styles are not supported, so an *xyz* style is used in their place. - ---------- - The *part* keyword affects the factorization of P into Px,Py,Pz. It can be useful when running in multi-partition mode, e.g. with the @@ -310,10 +296,8 @@ processors, it could create a 4x2x10 grid, but it will not create a this, but your simulation will likely hang in its setup phase if this error has been made. - ---------- - The *file* keyword writes the mapping of the factorization of P processors and their mapping to the 3d grid to the specified file *outfile*\ . This is useful to check that you assigned physical @@ -344,19 +328,16 @@ I,J,K are the indices of the processor in the regular 3d grid, each from 1 to Nd, where Nd is the number of processors in that dimension of the grid. -The *name* is what is returned by a call to MPI\_Get\_processor\_name() +The *name* is what is returned by a call to MPI_Get_processor_name() and should represent an identifier relevant to the physical processors in your machine. Note that depending on the MPI implementation, multiple cores can have the same *name*\ . - ---------- - Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a :doc:`read_data <read_data>` or :doc:`create_box <create_box>` command. It can be used before a restart file is read to change the 3d diff --git a/doc/src/python.rst b/doc/src/python.rst index a92b2d8446..70dfbb70ba 100644 --- a/doc/src/python.rst +++ b/doc/src/python.rst @@ -6,16 +6,15 @@ python command Syntax """""" - .. parsed-literal:: python func keyword args ... * func = name of Python function * one or more keyword/args pairs must be appended - + .. parsed-literal:: - + keyword = *invoke* or *input* or *return* or *format* or *length* or *file* or *here* or *exists* or *source* *invoke* arg = none = invoke the previously defined Python function *input* args = N i1 i2 ... iN @@ -44,12 +43,9 @@ Syntax inline = one or more lines of Python code which will be executed immediately must be a single argument, typically enclosed between triple quotes - - Examples """""""" - .. code-block:: LAMMPS python pForce input 2 v_x 20.0 return v_f format fff file force.py @@ -110,10 +106,8 @@ A broader overview of how Python can be used with LAMMPS is given on the :doc:`Python <Python_head>` doc page. There is an examples/python directory which illustrates use of the python command. - ---------- - The *func* setting specifies the name of the Python function. The code for the function is defined using the *file* or *here* keywords as explained below. In case of the *source* keyword, the name of @@ -145,14 +139,14 @@ itself. This enables the function to call back to LAMMPS through its library interface as explained below. This allows the Python function to query or set values internal to LAMMPS which can affect the subsequent execution of the input script. A LAMMPS variable can also -be used as an argument, specified as v\_name, where "name" is the name +be used as an argument, specified as v_name, where "name" is the name of the variable. Any style of LAMMPS variable can be used, as defined by the :doc:`variable <variable>` command. Each time the Python function is invoked, the LAMMPS variable is evaluated and its value is passed to the Python function. The *return* keyword is only needed if the Python function returns a -value. The specified *varReturn* must be of the form v\_name, where +value. The specified *varReturn* must be of the form v_name, where "name" is the name of a python-style LAMMPS variable, defined by the :doc:`variable <variable>` command. The Python function can return a numeric or string value, as specified by the *format* keyword. @@ -162,7 +156,6 @@ of a python-style variable associates a Python function name with the variable. This must match the *func* setting for this command. For example these two commands would be self-consistent: - .. code-block:: LAMMPS variable foo python myMultiply @@ -195,10 +188,8 @@ include the string terminator). If the Python function generates a string longer than the default 63 or the specified *Nlen*\ , it will be truncated. - ---------- - Either the *file*\ , *here*\ , or *exists* keyword must be used, but only one of them. These keywords specify what Python code to load into the Python interpreter. The *file* keyword gives the name of a file, @@ -226,10 +217,8 @@ later invoked, the function code must match the *input* and *return* and *format* keywords specified by the python command. Otherwise Python will generate an error. - ---------- - This section describes how Python code can be written to work with LAMMPS. @@ -242,7 +231,7 @@ conflict with the triple-quote parsing that the LAMMPS input script performs. All the Python code you specify via one or more python commands is -loaded into the Python "main" module, i.e. \__main\__. The code can +loaded into the Python "main" module, i.e. __main__. The code can define global variables or statements that are outside of function definitions. It can contain multiple functions, only one of which matches the *func* setting in the python command. This means you can @@ -261,7 +250,6 @@ python-style variable associated with the function. For example, consider this function loaded with two global variables defined outside the function: - .. code-block:: python nsteplast = -1 @@ -313,21 +301,18 @@ LAMMPS with that library. Third, if your Python code calls back to LAMMPS (discussed in the next section) and causes LAMMPS to perform an MPI operation requires -global communication (e.g. via MPI\_Allreduce), such as computing the +global communication (e.g. via MPI_Allreduce), such as computing the global temperature of the system, then you must insure all your Python functions (running independently on different processors) call back to LAMMPS. Otherwise the code may hang. - ---------- - Your Python function can "call back" to LAMMPS through its library interface, if you use the SELF input to pass Python a pointer to LAMMPS. The mechanism for doing this in your Python function is as follows: - .. code-block:: python def foo(lmpptr,...): @@ -347,7 +332,6 @@ string argument which is a LAMMPS input script command for LAMMPS to execute, the same as if it appeared in your input script. In this case, LAMMPS should output - .. parsed-literal:: Hello from inside Python @@ -363,7 +347,6 @@ library interface. A more interesting example is in the examples/python/in.python script which loads and runs the following function from examples/python/funcs.py: - .. code-block:: python def loop(N,cut0,thresh,lmpptr): @@ -387,7 +370,6 @@ which loads and runs the following function from examples/python/funcs.py: with these input script commands: - .. parsed-literal:: python loop input 4 10 1.0 -4.0 SELF format iffp file funcs.py @@ -402,15 +384,15 @@ with complex logic, much more so than can be created using the LAMMPS :doc:`jump <jump>` and :doc:`if <if>` commands. Several LAMMPS library functions are called from the loop function. -Get\_natoms() returns the number of atoms in the simulation, so that it +Get_natoms() returns the number of atoms in the simulation, so that it can be used to normalize the potential energy that is returned by -extract\_compute() for the "thermo\_pe" compute that is defined by -default for LAMMPS thermodynamic output. Set\_variable() sets the +extract_compute() for the "thermo_pe" compute that is defined by +default for LAMMPS thermodynamic output. Set_variable() sets the value of a string variable defined in LAMMPS. This library function is a useful way for a Python function to return multiple values to LAMMPS, more than the single value that can be passed back via a return statement. This cutoff value in the "cut" variable is then -substituted (by LAMMPS) in the pair\_style command that is executed +substituted (by LAMMPS) in the pair_style command that is executed next. Alternatively, the "LAMMPS command option" line could be used in place of the 2 preceding lines, to have Python insert the value into the LAMMPS command string. @@ -440,10 +422,8 @@ being attempted. The same applies to Python functions called during a simulation run at each time step using :doc:`fix python/invoke <fix_python_invoke>`. - ---------- - If you run Python code directly on your workstation, either interactively or by using Python to launch a Python script stored in a file, and your code has an error, you will typically see informative @@ -456,7 +436,6 @@ logic errors, you may get an error from Python pointing to the offending line, or you may get one of these generic errors from LAMMPS: - .. parsed-literal:: Could not process Python file @@ -465,7 +444,6 @@ LAMMPS: When the Python function is invoked, if it does not return properly, you will typically get this generic error from LAMMPS: - .. parsed-literal:: Python function evaluation failed @@ -485,7 +463,6 @@ Third, use Python exception handling. For example, say this statement in your Python function is failing, because you have not initialized the variable foo: - .. code-block:: python foo += 1 @@ -493,7 +470,6 @@ variable foo: If you put one (or more) statements inside a "try" statement, like this: - .. code-block:: python import exceptions @@ -505,7 +481,6 @@ like this: then you will get this message printed to the screen: - .. parsed-literal:: FOO error: local variable 'foo' referenced before assignment @@ -514,14 +489,11 @@ If there is no error in the try statements, then nothing is printed. Either way the function continues on (unless you put a return or sys.exit() in the except clause). - ---------- - Restrictions """""""""""" - This command is part of the PYTHON package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/quit.rst b/doc/src/quit.rst index 9741a7477d..8059232c6a 100644 --- a/doc/src/quit.rst +++ b/doc/src/quit.rst @@ -6,7 +6,6 @@ quit command Syntax """""" - .. parsed-literal:: quit status @@ -16,8 +15,7 @@ status = numerical exit status (optional) Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS quit if "$n > 10000" then "quit 1" diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index ea36675bc6..2714cee4c1 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -6,7 +6,6 @@ read_data command Syntax """""" - .. code-block:: LAMMPS read_data file keyword args ... @@ -14,9 +13,9 @@ Syntax * file = name of data file to read in * zero or more keyword/arg pairs may be appended * keyword = *add* or *offset* or *shift* or *extra/atom/types* or *extra/bond/types* or *extra/angle/types* or *extra/dihedral/types* or *extra/improper/types* or *extra/bond/per/atom* or *extra/angle/per/atom* or *extra/dihedral/per/atom* or *extra/improper/per/atom* or *group* or *nocoeff* or *fix* - + .. parsed-literal:: - + *add* arg = *append* or *IDoffset* or *IDoffset MOLoffset* or *merge* append = add new atoms with atom IDs appended to current IDs IDoffset = add new atoms with atom IDs having IDoffset added @@ -48,12 +47,9 @@ Syntax header-string = header lines containing this string will be passed to fix section-string = section names with this string will be passed to fix - - Examples """""""" - .. code-block:: LAMMPS read_data data.lj @@ -87,7 +83,7 @@ the :doc:`displace_atoms <displace_atoms>` command. Note that atoms read from the data file are also always added to the "all" group. The :doc:`group <group>` command discusses atom groups, as used in LAMMPS. -The *nocoeff* keyword tells read\_data to ignore force field parameters. +The *nocoeff* keyword tells read_data to ignore force field parameters. The various Coeff sections are still read and have to have the correct number of lines, but they are not applied. This also allows to read a data file without having any pair, bond, angle, dihedral or improper @@ -95,28 +91,26 @@ styles defined, or to read a data file for a different force field. The use of the *fix* keyword is discussed below. - ---------- - **Reading multiple data files** -The read\_data command can be used multiple times with the same or +The read_data command can be used multiple times with the same or different data files to build up a complex system from components contained in individual data files. For example one data file could contain fluid in a confined domain; a second could contain wall atoms, and the second file could be read a third time to create a wall on the other side of the fluid. The third set of atoms could be rotated to an opposing direction using the :doc:`displace_atoms <displace_atoms>` -command, after the third read\_data command is used. +command, after the third read_data command is used. The *add*\ , *offset*\ , *shift*\ , *extra*\ , and *group* keywords are useful in this context. If a simulation box does not yet exist, the *add* keyword -cannot be used; the read\_data command is being used for the first +cannot be used; the read_data command is being used for the first time. If a simulation box does exist, due to using the -:doc:`create_box <create_box>` command, or a previous read\_data command, +:doc:`create_box <create_box>` command, or a previous read_data command, then the *add* keyword must be used. .. note:: @@ -180,12 +174,12 @@ to move a subset of atoms after they have been read from a data file. Likewise, the :doc:`delete_atoms <delete_atoms>` command can be used to remove overlapping atoms. Note that the shift values (Sx, Sy, Sz) are also added to the simulation box information (xlo, xhi, ylo, yhi, zlo, -zhi) in the data file to shift its boundaries. E.g. xlo\_new = xlo + -Sx, xhi\_new = xhi + Sx. +zhi) in the data file to shift its boundaries. E.g. xlo_new = xlo + +Sx, xhi_new = xhi + Sx. -The *extra* keywords can only be used the first time the read\_data +The *extra* keywords can only be used the first time the read_data command is used. They are useful if you intend to add new atom, bond, -angle, etc types later with additional read\_data commands. This is +angle, etc types later with additional read_data commands. This is because the maximum number of allowed atom, bond, angle, etc types is set by LAMMPS when the system is first initialized. If you do not use the *extra* keywords, then the number of these types will be limited @@ -211,18 +205,16 @@ you would still need to specify coefficients for H/Si and O/Si interactions in your input script to have a complete pairwise interaction model. -An alternative to using the *extra* keywords with the read\_data +An alternative to using the *extra* keywords with the read_data command, is to use the :doc:`create_box <create_box>` command to initialize the simulation box and all the various type limits you need -via its *extra* keywords. Then use the read\_data command one or more +via its *extra* keywords. Then use the read_data command one or more times to populate the system with atoms, bonds, angles, etc, using the *offset* keyword if desired to alter types used in the various data files you read. - ---------- - **Format of a data file** The structure of the data file is important, though many settings and @@ -266,10 +258,8 @@ be capitalized as shown and can't have extra white-space between their words - e.g. two spaces or a tab between the 2 words in "xlo xhi" or the 2 words in "Bond Coeffs", is not valid. - ---------- - **Format of the header of a data file** These are the recognized header keywords. Header lines can come in @@ -389,13 +379,13 @@ data file. "shrink-wrap" boundary conditions (see the :doc:`boundary <boundary>` command), a huge (mostly empty) box may cause a parallel simulation to lose atoms when LAMMPS shrink-wraps the box around the atoms. The - read\_data command will generate an error in this case. + read_data command will generate an error in this case. The "extra bond per atom" setting (angle, dihedral, improper) is only needed if new bonds (angles, dihedrals, impropers) will be added to the system when a simulation runs, e.g. by using the :doc:`fix bond/create <fix_bond_create>` command. Using this header flag is deprecated; please use the *extra/bond/per/atom* keyword (and -correspondingly for angles, dihedrals and impropers) in the read\_data +correspondingly for angles, dihedrals and impropers) in the read_data command instead. Either will pre-allocate space in LAMMPS data structures for storing the new bonds (angles, dihedrals, impropers). @@ -415,7 +405,7 @@ pages for more discussion of 1-2,1-3,1-4 neighbors. All of the "extra" settings are only applied in the first data file read and when no simulation box has yet been created; as soon as - the simulation box is created (and read\_data implies that), these + the simulation box is created (and read_data implies that), these settings are *locked* and cannot be changed anymore. Please see the description of the *add* keyword above for reading multiple data files. If they appear in later data files, they are ignored. @@ -440,10 +430,8 @@ are point particles. See the discussion of ellipsoidflag and the keywords, though it is not necessary. If specified, they must match the maximum values defined in any of the template molecules. - ---------- - **Format of the body of a data file** These are the section keywords for the body of the file. @@ -460,7 +448,6 @@ currently defined style: For example, these lines: - .. parsed-literal:: Atoms # sphere @@ -480,120 +467,97 @@ Any individual line in the various sections can have a trailing comment starting with "#" for annotation purposes. E.g. in the Atoms section: - .. parsed-literal:: 10 1 17 -1.0 10.0 5.0 6.0 # salt ion - ---------- - *Angle Coeffs* section: * one line per angle type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = angle type (1-N) coeffs = list of coeffs * example: - + .. parsed-literal:: - + 6 70 108.5 0 0 - - The number and meaning of the coefficients are specific to the defined angle style. See the :doc:`angle_style <angle_style>` and :doc:`angle_coeff <angle_coeff>` commands for details. Coefficients can also be set via the :doc:`angle_coeff <angle_coeff>` command in the input script. - ---------- - *AngleAngle Coeffs* section: * one line per improper type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = improper type (1-N) coeffs = list of coeffs (see :doc:`improper_coeff <improper_coeff>`) - - - ---------- - *AngleAngleTorsion Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs (see :doc:`dihedral_coeff <dihedral_coeff>`) - - - ---------- - *Angles* section: * one line per angle * line syntax: ID type atom1 atom2 atom3 - + .. parsed-literal:: - + ID = number of angle (1-Nangles) type = angle type (1-Nangletype) atom1,atom2,atom3 = IDs of 1st,2nd,3rd atoms in angle example: - + .. parsed-literal:: - + 2 2 17 29 430 - - The 3 atoms are ordered linearly within the angle. Thus the central atom (around which the angle is computed) is the atom2 in the list. E.g. H,O,H for a water molecule. The *Angles* section must appear after the *Atoms* section. All values in this section must be integers (1, not 1.0). - ---------- - *AngleTorsion Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs (see :doc:`dihedral_coeff <dihedral_coeff>`) - - - ---------- - *Atoms* section: * one line per atom @@ -622,7 +586,7 @@ of analysis. +------------+---------------------------------------------------------------------------+ | dpd | atom-ID atom-type theta x y z | +------------+---------------------------------------------------------------------------+ -| edpd | atom-ID atom-type edpd\_temp edpd\_cv x y z | +| edpd | atom-ID atom-type edpd_temp edpd_cv x y z | +------------+---------------------------------------------------------------------------+ | mdpd | atom-ID atom-type rho x y z | +------------+---------------------------------------------------------------------------+ @@ -652,7 +616,7 @@ of analysis. +------------+---------------------------------------------------------------------------+ | tri | atom-ID molecule-ID atom-type triangleflag density x y z | +------------+---------------------------------------------------------------------------+ -| wavepacket | atom-ID atom-type charge spin eradius etag cs\_re cs\_im x y z | +| wavepacket | atom-ID atom-type charge spin eradius etag cs_re cs_im x y z | +------------+---------------------------------------------------------------------------+ | hybrid | atom-ID atom-type x y z sub-style1 sub-style2 ... | +------------+---------------------------------------------------------------------------+ @@ -664,13 +628,13 @@ The per-atom values have these meanings and units, listed alphabetically: * bodyflag = 1 for body particles, 0 for point particles * cc = chemical concentration for tDPD particles for each species (mole/volume units) * contact-radius = ??? (distance units) -* cs\_re,cs\_im = real/imaginary parts of wave packet coefficients +* cs_re,cs_im = real/imaginary parts of wave packet coefficients * cv = heat capacity (need units) for SPH particles * density = density of particle (mass/distance\^3 or mass/distance\^2 or mass/distance units, depending on dimensionality of particle) * diameter = diameter of spherical atom (distance units) * e = energy (need units) for SPH particles -* edpd\_temp = temperature for eDPD particles (temperature units) -* edpd\_cv = volumetric heat capacity for eDPD particles (energy/temperature/volume units) +* edpd_temp = temperature for eDPD particles (temperature units) +* edpd_cv = volumetric heat capacity for eDPD particles (energy/temperature/volume units) * ellipsoidflag = 1 for ellipsoidal particles, 0 for point particles * eradius = electron radius (or fixed-core radius) * etag = integer ID of electron that each wave packet belongs to @@ -749,12 +713,12 @@ body is unknown. Note that for 2d simulations of spheres, this command will treat them as spheres when converting density to mass. However, they can also be modeled as 2d discs (circles) if the :doc:`set density/disc <set>` -command is used to reset their mass after the read\_data command is +command is used to reset their mass after the read_data command is used. A *disc* keyword can also be used with time integration fixes, such as :doc:`fix nve/sphere <fix_nve_sphere>` and :doc:`fix nvt/sphere <fix_nve_sphere>` to time integrate their motion as 2d discs (not 3d spheres), by changing their moment of inertia. -For atom\_style hybrid, following the 5 initial values (ID,type,x,y,z), +For atom_style hybrid, following the 5 initial values (ID,type,x,y,z), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the :doc:`atom_style <atom_style>` command. The sub-style specific values @@ -763,22 +727,19 @@ example, for the "charge" sub-style, a "q" value would appear. For the "full" sub-style, a "molecule-ID" and "q" would appear. These are listed in the same order they appear as listed above. Thus if - .. parsed-literal:: atom_style hybrid charge sphere were used in the input script, each atom line would have these fields: - .. parsed-literal:: atom-ID atom-type x y z q diameter density Note that if a non-standard value is defined by multiple sub-styles, it must appear multiple times in the atom line. E.g. the atom line -for atom\_style hybrid dipole full would list "q" twice: - +for atom_style hybrid dipole full would list "q" twice: .. parsed-literal:: @@ -827,7 +788,6 @@ that use unwrapped coordinates internally are as follows: continued run (restarted from a data file) begins with image flags that are consistent with the previous run. - .. note:: If your system is an infinite periodic crystal with bonds then @@ -841,40 +801,36 @@ a *Velocities* section in the data file or by a :doc:`velocity <velocity>` or :doc:`set <set>` command in the input script. - ---------- - *Bodies* section: * one or more lines per body * first line syntax: atom-ID Ninteger Ndouble - + .. parsed-literal:: - + Ninteger = # of integer quantities for this particle Ndouble = # of floating-point quantities for this particle * 0 or more integer lines with total of Ninteger values * 0 or more double lines with total of Ndouble values * example: - + .. parsed-literal:: - + 12 3 6 2 3 2 1.0 2.0 3.0 1.0 2.0 4.0 * example: - + .. parsed-literal:: - + 12 0 14 1.0 2.0 3.0 1.0 2.0 4.0 1.0 2.0 3.0 1.0 2.0 4.0 4.0 2.0 - - The *Bodies* section must appear if :doc:`atom_style body <atom_style>` is used and any atoms listed in the *Atoms* section have a bodyflag = 1. The number of bodies should be specified in the header section via @@ -896,186 +852,154 @@ particular type, no lines appear for that type. The *Bodies* section must appear after the *Atoms* section. - ---------- - *Bond Coeffs* section: * one line per bond type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = bond type (1-N) coeffs = list of coeffs * example: - + .. parsed-literal:: - + 4 250 1.49 - - The number and meaning of the coefficients are specific to the defined bond style. See the :doc:`bond_style <bond_style>` and :doc:`bond_coeff <bond_coeff>` commands for details. Coefficients can also be set via the :doc:`bond_coeff <bond_coeff>` command in the input script. - ---------- - *BondAngle Coeffs* section: * one line per angle type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = angle type (1-N) coeffs = list of coeffs (see class 2 section of :doc:`angle_coeff <angle_coeff>`) - - - ---------- - *BondBond Coeffs* section: * one line per angle type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = angle type (1-N) coeffs = list of coeffs (see class 2 section of :doc:`angle_coeff <angle_coeff>`) - - - ---------- - *BondBond13 Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs (see class 2 section of :doc:`dihedral_coeff <dihedral_coeff>`) - - - ---------- - *Bonds* section: * one line per bond * line syntax: ID type atom1 atom2 - + .. parsed-literal:: - + ID = bond number (1-Nbonds) type = bond type (1-Nbondtype) atom1,atom2 = IDs of 1st,2nd atoms in bond * example: - + .. parsed-literal:: - + 12 3 17 29 - - The *Bonds* section must appear after the *Atoms* section. All values in this section must be integers (1, not 1.0). - ---------- - *Dihedral Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs * example: - + .. parsed-literal:: - + 3 0.6 1 0 1 - - The number and meaning of the coefficients are specific to the defined dihedral style. See the :doc:`dihedral_style <dihedral_style>` and :doc:`dihedral_coeff <dihedral_coeff>` commands for details. Coefficients can also be set via the :doc:`dihedral_coeff <dihedral_coeff>` command in the input script. - ---------- - *Dihedrals* section: * one line per dihedral * line syntax: ID type atom1 atom2 atom3 atom4 - + .. parsed-literal:: - + ID = number of dihedral (1-Ndihedrals) type = dihedral type (1-Ndihedraltype) atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in dihedral * example: - + .. parsed-literal:: - + 12 4 17 29 30 21 - - The 4 atoms are ordered linearly within the dihedral. The *Dihedrals* section must appear after the *Atoms* section. All values in this section must be integers (1, not 1.0). - ---------- - *Ellipsoids* section: * one line per ellipsoid * line syntax: atom-ID shapex shapey shapez quatw quati quatj quatk - + .. parsed-literal:: - + atom-ID = ID of atom which is an ellipsoid shapex,shapey,shapez = 3 diameters of ellipsoid (distance units) quatw,quati,quatj,quatk = quaternion components for orientation of atom * example: - + .. parsed-literal:: - + 12 1 2 1 1 0 0 0 - - The *Ellipsoids* section must appear if :doc:`atom_style ellipsoid <atom_style>` is used and any atoms are listed in the *Atoms* section with an ellipsoidflag = 1. The number of ellipsoids should be specified in the header section via the "ellipsoids" @@ -1099,73 +1023,61 @@ specified as a unit vector. The *Ellipsoids* section must appear after the *Atoms* section. - ---------- - *EndBondTorsion Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs (see class 2 section of :doc:`dihedral_coeff <dihedral_coeff>`) - - - ---------- - *Improper Coeffs* section: * one line per improper type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = improper type (1-N) coeffs = list of coeffs * example: - + .. parsed-literal:: - + 2 20 0.0548311 - - The number and meaning of the coefficients are specific to the defined improper style. See the :doc:`improper_style <improper_style>` and :doc:`improper_coeff <improper_coeff>` commands for details. Coefficients can also be set via the :doc:`improper_coeff <improper_coeff>` command in the input script. - ---------- - *Impropers* section: * one line per improper * line syntax: ID type atom1 atom2 atom3 atom4 - + .. parsed-literal:: - + ID = number of improper (1-Nimpropers) type = improper type (1-Nimpropertype) atom1,atom2,atom3,atom4 = IDs of 1st,2nd,3rd,4th atoms in improper * example: - + .. parsed-literal:: - + 12 3 17 29 13 100 - - The ordering of the 4 atoms determines the definition of the improper angle used in the formula for each :doc:`improper style <improper_style>`. See the doc pages for individual styles for details. @@ -1173,29 +1085,25 @@ for details. The *Impropers* section must appear after the *Atoms* section. All values in this section must be integers (1, not 1.0). - ---------- - *Lines* section: * one line per line segment * line syntax: atom-ID x1 y1 x2 y2 - + .. parsed-literal:: - + atom-ID = ID of atom which is a line segment x1,y1 = 1st end point x2,y2 = 2nd end point * example: - + .. parsed-literal:: - + 12 1.0 0.0 2.0 0.0 - - The *Lines* section must appear if :doc:`atom_style line <atom_style>` is used and any atoms are listed in the *Atoms* section with a lineflag = 1. The number of lines should be specified in the header @@ -1210,138 +1118,118 @@ for defining some interactions. The *Lines* section must appear after the *Atoms* section. - ---------- - *Masses* section: * one line per atom type * line syntax: ID mass - + .. parsed-literal:: - + ID = atom type (1-N) mass = mass value * example: - + .. parsed-literal:: - + 3 1.01 - - This defines the mass of each atom type. This can also be set via the :doc:`mass <mass>` command in the input script. This section cannot be used for atom styles that define a mass for individual atoms - e.g. :doc:`atom_style sphere <atom_style>`. - ---------- - *MiddleBondTorsion Coeffs* section: * one line per dihedral type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = dihedral type (1-N) coeffs = list of coeffs (see class 2 section of :doc:`dihedral_coeff <dihedral_coeff>`) - - - ---------- - *Pair Coeffs* section: * one line per atom type * line syntax: ID coeffs - + .. parsed-literal:: - + ID = atom type (1-N) coeffs = list of coeffs * example: - + .. parsed-literal:: - + 3 0.022 2.35197 0.022 2.35197 - - The number and meaning of the coefficients are specific to the defined pair style. See the :doc:`pair_style <pair_style>` and :doc:`pair_coeff <pair_coeff>` commands for details. Since pair coefficients for types I != J are not specified, these will be generated automatically by the pair style's mixing rule. See the -individual pair\_style doc pages and the :doc:`pair_modify mix <pair_modify>` command for details. Pair coefficients can also +individual pair_style doc pages and the :doc:`pair_modify mix <pair_modify>` command for details. Pair coefficients can also be set via the :doc:`pair_coeff <pair_coeff>` command in the input script. - ---------- - *PairIJ Coeffs* section: * one line per pair of atom types for all I,J with I <= J * line syntax: ID1 ID2 coeffs - + .. parsed-literal:: - + ID1 = atom type I = 1-N ID2 = atom type J = I-N, with I <= J coeffs = list of coeffs * examples: - + .. parsed-literal:: - + 3 3 0.022 2.35197 0.022 2.35197 3 5 0.022 2.35197 0.022 2.35197 - - This section must have N\*(N+1)/2 lines where N = # of atom types. The number and meaning of the coefficients are specific to the defined pair style. See the :doc:`pair_style <pair_style>` and :doc:`pair_coeff <pair_coeff>` commands for details. Since pair coefficients for types I != J are all specified, these values will turn off the default mixing rule defined by the pair style. See the -individual pair\_style doc pages and the :doc:`pair_modify mix <pair_modify>` command for details. Pair coefficients can also +individual pair_style doc pages and the :doc:`pair_modify mix <pair_modify>` command for details. Pair coefficients can also be set via the :doc:`pair_coeff <pair_coeff>` command in the input script. - ---------- - *Triangles* section: * one line per triangle * line syntax: atom-ID x1 y1 z1 x2 y2 z2 x3 y3 z3 - + .. parsed-literal:: - + atom-ID = ID of atom which is a line segment x1,y1,z1 = 1st corner point x2,y2,z2 = 2nd corner point x3,y3,z3 = 3rd corner point * example: - + .. parsed-literal:: - + 12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 - - The *Triangles* section must appear if :doc:`atom_style tri <atom_style>` is used and any atoms are listed in the *Atoms* section with a triangleflag = 1. The number of lines should be specified in the header section via the "triangles" keyword. @@ -1354,10 +1242,8 @@ orientation may be important for defining some interactions. The *Triangles* section must appear after the *Atoms* section. - ---------- - *Velocities* section: * one line per atom @@ -1391,7 +1277,7 @@ Vx, vy, vz, and ervel are in :doc:`units <units>` of velocity. Lx, ly, lz are in units of angular momentum (distance-velocity-mass). Wx, Wy, Wz are in units of angular velocity (radians/time). -For atom\_style hybrid, following the 4 initial values (ID,vx,vy,vz), +For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the :doc:`atom_style <atom_style>` command. The sub-style specific values @@ -1400,7 +1286,6 @@ example, for the "sphere" sub-style, "wx", "wy", "wz" values would appear. These are listed in the same order they appear as listed above. Thus if - .. code-block:: LAMMPS atom_style hybrid electron sphere @@ -1408,7 +1293,6 @@ above. Thus if were used in the input script, each velocity line would have these fields: - .. parsed-literal:: atom-ID vx vy vz ervel wx wy wz @@ -1416,16 +1300,13 @@ fields: Translational velocities can also be set by the :doc:`velocity <velocity>` command in the input script. - ---------- - Restrictions """""""""""" - To read gzipped data files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. See the :doc:`Build settings <Build_settings>` +-DLAMMPS_GZIP option. See the :doc:`Build settings <Build_settings>` doc page for details. Related commands diff --git a/doc/src/read_dump.rst b/doc/src/read_dump.rst index 5de1e8f25d..c46c12c951 100644 --- a/doc/src/read_dump.rst +++ b/doc/src/read_dump.rst @@ -6,7 +6,6 @@ read_dump command Syntax """""" - .. code-block:: LAMMPS read_dump file Nstep field1 field2 ... keyword values ... @@ -14,9 +13,9 @@ Syntax * file = name of dump file to read * Nstep = snapshot timestep to read from file * one or more fields may be appended - + .. parsed-literal:: - + field = *x* or *y* or *z* or *vx* or *vy* or *vz* or *q* or *ix* or *iy* or *iz* or *fx* or *fy* or *fz* *x*\ ,\ *y*\ ,\ *z* = atom coordinates *vx*\ ,\ *vy*\ ,\ *vz* = velocity components @@ -26,9 +25,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *nfile* or *box* or *replace* or *purge* or *trim* or *add* or *label* or *scaled* or *wrapped* or *format* - + .. parsed-literal:: - + *nfile* value = Nfiles = how many parallel dump files exist *box* value = *yes* or *no* = replace simulation box with dump box *replace* value = *yes* or *no* = overwrite atoms with dump atoms @@ -50,12 +49,9 @@ Syntax style = *dcd* or *xyz* or others supported by molfile plugins path = optional path for location of molfile plugins - - Examples """""""" - .. code-block:: LAMMPS read_dump dump.file 5000 x y z @@ -84,9 +80,9 @@ commands for alternative methods to do this. Also see the from a dump file. Note that a simulation box must already be defined before using the -read\_dump command. This can be done by the +read_dump command. This can be done by the :doc:`create_box <create_box>`, :doc:`read_data <read_data>`, or -:doc:`read_restart <read_restart>` commands. The read\_dump command can +:doc:`read_restart <read_restart>` commands. The read_dump command can reset the simulation box dimensions, as explained below. Also note that reading per-atom information from a dump snapshot is @@ -96,13 +92,11 @@ a valid simulation, such as atom charge, or bond topology information for a molecular system, are not read from (or even contained in) dump files. Thus this auxiliary information should be defined in the usual way, e.g. in a data file read in by a :doc:`read_data <read_data>` -command, before using the read\_dump command, or by the :doc:`set <set>` +command, before using the read_dump command, or by the :doc:`set <set>` command, after the dump snapshot is read. - ---------- - If the dump filename specified as *file* ends with ".gz", the dump file is read in gzipped format. You cannot (yet) read a dump file that was written in binary format with a ".bin" suffix. @@ -141,39 +135,36 @@ contain multiple directories separated by a colon (or semi-colon on windows). The *path* keyword is optional and defaults to ".", i.e. the current directory. -The *adios* format supports reading data that was written by the -:doc:`dump adios <dump_adios>` command. The +The *adios* format supports reading data that was written by the +:doc:`dump adios <dump_adios>` command. The entire dump is read in parallel across all the processes, dividing the atoms evenly among the processes. The number of writers that has written the dump file does not matter. Using the adios style for -dump and read_dump is a convenient way to dump all atoms from *N* -writers and read it back by *M* readers. If one is running two -LAMMPS instances concurrently where one dumps data and the other is -reading it with the rerun command, the timeout option can be specified -to wait on the reader side for the arrival of the requested step. +dump and read_dump is a convenient way to dump all atoms from *N* +writers and read it back by *M* readers. If one is running two +LAMMPS instances concurrently where one dumps data and the other is +reading it with the rerun command, the timeout option can be specified +to wait on the reader side for the arrival of the requested step. Support for other dump format readers may be added in the future. - ---------- - Global information is first read from the dump file, namely timestep and box information. The dump file is scanned for a snapshot with a timestamp that matches the specified *Nstep*\ . This means the LAMMPS timestep the dump file -snapshot was written on for the *native* or *adios* formats. +snapshot was written on for the *native* or *adios* formats. -The list of timestamps available in an adios .bp file is stored in the +The list of timestamps available in an adios .bp file is stored in the variable *ntimestep*: .. parsed-literal:: $ bpls dump.bp -d ntimestep - uint64_t ntimestep 5*scalar - (0) 0 50 100 150 200 - + uint64_t ntimestep 5*scalar + (0) 0 50 100 150 200 Note that the *xyz* and *molfile* formats do not store the timestep. For these formats, @@ -201,13 +192,11 @@ orthogonal/triclinic box shape is available. The USER-MOLFILE package makes a best effort to guess based on heuristics, but this may not always work perfectly. - ---------- - Per-atom information from the dump file snapshot is then read from the dump file snapshot. This corresponds to the specified *fields* listed -in the read\_dump command. It is an error to specify a z-dimension +in the read_dump command. It is an error to specify a z-dimension field, namely *z*\ , *vz*\ , or *iz*\ , for a 2d simulation. For dump files in *native* format, each column of per-atom data has a @@ -215,7 +204,6 @@ text label listed in the file. A matching label for each field must appear, e.g. the label "vy" for the field *vy*\ . For the *x*\ , *y*\ , *z* fields any of the following labels are considered a match: - .. parsed-literal:: x, xs, xu, xsu for field *x* @@ -261,7 +249,7 @@ See the :doc:`dump_modify sort <dump_modify>` command if the dump file was written by LAMMPS. The *adios* format supports all fields that the *native* format supports -except for the *q* charge field. +except for the *q* charge field. The list of fields stored in an adios .bp file is recorded in the attributes *columns* (array of short strings) and *columnstr* (space-separated single string). @@ -271,11 +259,8 @@ The list of fields stored in an adios .bp file is recorded in the attributes string columns attr = {"id", "type", "x", "y", "z", "vx", "vy", "vz"} string columnstr attr = "id type x y z vx vy vz " - - ---------- - Information from the dump file snapshot is used to overwrite or replace properties of the current system. There are various options for how this is done, determined by the specified fields and optional @@ -330,10 +315,8 @@ Any other attributes (e.g. charge or particle diameter for spherical particles) will be set to default values, the same as if the :doc:`create_atoms <create_atoms>` command were used. - ---------- - Atom coordinates read from the dump file are first converted into unscaled coordinates, relative to the box dimensions of the snapshot. These coordinates are then be assigned to an existing or new atom in @@ -382,16 +365,13 @@ coordinates are scaled and the simulation box is triclinic, then all 3 of the *x*\ , *y*\ , *z* fields must be specified, since they are all needed to generate absolute, unscaled coordinates. - ---------- - Restrictions """""""""""" - To read gzipped dump files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. See the :doc:`Build settings <Build_settings>` +-DLAMMPS_GZIP option. See the :doc:`Build settings <Build_settings>` doc page for details. The *molfile* dump file formats are part of the USER-MOLFILE package. diff --git a/doc/src/read_restart.rst b/doc/src/read_restart.rst index e4c7a7b7cf..ef77cef1af 100644 --- a/doc/src/read_restart.rst +++ b/doc/src/read_restart.rst @@ -6,7 +6,6 @@ read_restart command Syntax """""" - .. code-block:: LAMMPS read_restart file flag @@ -17,7 +16,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS read_restart save.10000 @@ -46,11 +44,11 @@ changed by the :doc:`balance <balance>` or :doc:`fix balance <fix_balance>` comm Normally, restart files are written by the :doc:`restart <restart>` or :doc:`write_restart <write_restart>` commands so that all atoms in the restart file are inside the simulation box. - If this is not the case, the read\_restart command will print an error + If this is not the case, the read_restart command will print an error that atoms were "lost" when the file is read. This error should be reported to the LAMMPS developers so the invalid writing of the restart file can be fixed. If you still wish to use the restart file, - the optional *remap* flag can be appended to the read\_restart command. + the optional *remap* flag can be appended to the read_restart command. This should avoid the error, by explicitly remapping each atom back into the simulation box, updating image flags for the atom appropriately. @@ -99,11 +97,11 @@ the run command so it doesn't need to be changed either. If a "%" character appears in the restart filename, LAMMPS expects a set of multiple files to exist. The :doc:`restart <restart>` and :doc:`write_restart <write_restart>` commands explain how such sets are -created. Read\_restart will first read a filename where "%" is +created. Read_restart will first read a filename where "%" is replaced by "base". This file tells LAMMPS how many processors -created the set and how many files are in it. Read\_restart then reads +created the set and how many files are in it. Read_restart then reads the additional files. For example, if the restart file was specified -as save.% when it was written, then read\_restart reads the files +as save.% when it was written, then read_restart reads the files save.base, save.0, save.1, ... save.P-1, where P is the number of processors that created the restart file. @@ -124,7 +122,6 @@ MPI-IO is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g. - .. code-block:: bash make yes-mpiio # installs the MPIIO package @@ -135,10 +132,8 @@ does not have to end in ".mpiio", just contain those characters. Unlike MPI-IO dump files, a particular restart file must be both written and read using MPI-IO. - ---------- - Here is the list of information included in a restart file, which means these quantities do not need to be re-specified in the input script that reads the restart file, though you can redefine many of @@ -174,7 +169,7 @@ reading the restart file. The :doc:`newton <newton>` command has two settings, one for pairwise interactions, the other for bonded. Both settings are stored in the restart file. For the bond setting, the value in the file will -overwrite the current value (at the time the read\_restart command is +overwrite the current value (at the time the read_restart command is issued) and warn if the two values are not the same and the current value is not the default. For the pair setting, the value in the file will not overwrite the current value (so that you can override the @@ -229,7 +224,7 @@ its calculations in a consistent manner. There are a handful of commands which can be used before or between runs which may require a system initialization. Examples - include the "balance", "displace\_atoms", "delete\_atoms", "set" (some + include the "balance", "displace_atoms", "delete_atoms", "set" (some options), and "velocity" (some options) commands. This is because they can migrate atoms to new processors. Thus they will also discard unused "state" information from fixes. You will know the discard has @@ -263,14 +258,11 @@ Bonds that have been broken by the :doc:`fix bond/break <fix_bond_break>` comman system. No information about these bonds is written to the restart file. - ---------- - Restrictions """""""""""" - To write and read restart files in parallel with MPI-IO, the MPIIO package must be installed. diff --git a/doc/src/region.rst b/doc/src/region.rst index f1d008cbd3..9f2d996b20 100644 --- a/doc/src/region.rst +++ b/doc/src/region.rst @@ -6,16 +6,15 @@ region command Syntax """""" - .. parsed-literal:: region ID style args keyword arg ... * ID = user-assigned name for the region * style = *delete* or *block* or *cone* or *cylinder* or *plane* or *prism* or *sphere* or *union* or *intersect* - + .. parsed-literal:: - + *delete* = no args *block* args = xlo xhi ylo yhi zlo zhi xlo,xhi,ylo,yhi,zlo,zhi = bounds of block in all dimensions (distance units) @@ -51,9 +50,9 @@ Syntax * zero or more keyword/arg pairs may be appended * keyword = *side* or *units* or *move* or *rotate* or *open* - + .. parsed-literal:: - + *side* value = *in* or *out* *in* = the region is inside the specified geometry *out* = the region is outside the specified geometry @@ -70,12 +69,10 @@ Syntax * accelerated styles (with same args) = *block/kk* - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS region 1 block -3.0 5.0 INF 10.0 INF INF region 2 sphere 0.0 0.0 0.0 5 side out @@ -189,7 +186,7 @@ geometrically equivalent. The *radius* value for style *sphere* and *cylinder* can be specified as an equal-style :doc:`variable <variable>`. If the value is a -variable, it should be specified as v\_name, where name is the variable +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to determine the radius of the region. For style *sphere* also the x-, y-, and z- coordinate of the center of the sphere and for @@ -218,10 +215,8 @@ consisting of the volume that is common to all the listed regions. from their list of sub-regions. Thus you cannot delete the sub-regions after defining a *union* or *intersection* region. - ---------- - The *side* keyword determines whether the region is considered to be inside or outside of the specified geometry. Using this keyword in conjunction with *union* and *intersect* regions, complex geometries @@ -266,10 +261,8 @@ define the lattice spacings which are used as follows: applied to the sphere center x,y,z. The spacing in dimension x is applied to the sphere radius. - ---------- - If the *move* or *rotate* keywords are used, the region is "dynamic", meaning its location or orientation changes with time. These keywords cannot be used with a *union* or *intersect* style region. Instead, @@ -280,7 +273,7 @@ point), though this is not a requirement. The *move* keyword allows one or more :doc:`equal-style variables <variable>` to be used to specify the x,y,z displacement of the region, typically as a function of time. A variable is -specified as v\_name, where name is the variable name. Any of the +specified as v_name, where name is the variable name. Any of the three variables can be specified as NULL, in which case no displacement is calculated in that dimension. @@ -296,8 +289,7 @@ For example, these commands would displace a region from its initial position, in the positive x direction, effectively at a constant velocity: - -.. parsed-literal:: +.. code-block:: LAMMPS variable dx equal ramp(0,10) region 2 sphere 10.0 10.0 0.0 5 move v_dx NULL NULL @@ -307,17 +299,16 @@ Note that the initial displacement is 0.0, though that is not required. Either of these variables would "wiggle" the region back and forth in the y direction: - -.. parsed-literal:: +.. code-block:: LAMMPS variable dy equal swiggle(0,5,100) - variable dysame equal 5\*sin(2\*PI\*elaplong\*dt/100) + variable dysame equal 5*sin(2*PI*elaplong*dt/100) region 2 sphere 10.0 10.0 0.0 5 move NULL v_dy NULL The *rotate* keyword rotates the region around a rotation axis *R* = (Rx,Ry,Rz) that goes through a point *P* = (Px,Py,Pz). The rotation angle is calculated, presumably as a function of time, by a variable -specified as v\_theta, where theta is the variable name. The variable +specified as v_theta, where theta is the variable name. The variable should generate its result in radians. The direction of rotation for the region around the rotation axis is consistent with the right-hand rule: if your right-hand thumb points along *R*\ , then your fingers @@ -327,10 +318,8 @@ The *move* and *rotate* keywords can be used together. In this case, the displacement specified by the *move* keyword is applied to the *P* point of the *rotate* keyword. - ---------- - The *open* keyword can be used (multiple times) to indicate that one or more faces of the region are ignored for purposes of particle/wall interactions. This keyword is only relevant for regions used by the @@ -380,10 +369,8 @@ For all other styles, the *open* keyword is ignored. As indicated above, this includes the *intersect* and *union* regions, though their sub-regions can be defined with the *open* keyword. - ---------- - Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available @@ -405,14 +392,11 @@ by including their suffix, or you can use the :doc:`-suffix command-line switch See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - A prism cannot be of 0.0 thickness in any dimension; use a small z thickness for 2d simulations. For 2d simulations, the xz and yz parameters must be 0.0. diff --git a/doc/src/replicate.rst b/doc/src/replicate.rst index 94d899a459..18038ae2dd 100644 --- a/doc/src/replicate.rst +++ b/doc/src/replicate.rst @@ -6,26 +6,22 @@ replicate command Syntax """""" - .. parsed-literal:: replicate nx ny nz *keyword* -nx,ny,nz = replication factors in each dimension +nx,ny,nz = replication factors in each dimension * optional *keyword* = *bbox* - + .. parsed-literal:: - + *bbox* = only check atoms in replicas that overlap with a processor's sub-domain - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS replicate 2 3 2 @@ -66,7 +62,6 @@ replicated. Restrictions """""""""""" - A 2d simulation cannot be replicated in the z dimension. If a simulation is non-periodic in a dimension, care should be used diff --git a/doc/src/rerun.rst b/doc/src/rerun.rst index aa244e7d72..8463fd774b 100644 --- a/doc/src/rerun.rst +++ b/doc/src/rerun.rst @@ -6,16 +6,15 @@ rerun command Syntax """""" - .. parsed-literal:: rerun file1 file2 ... keyword args ... * file1,file2,... = dump file(s) to read * one or more keywords may be appended, keyword *dump* must appear and be last - + .. parsed-literal:: - + keyword = *first* or *last* or *every* or *skip* or *start* or *stop* or *dump* *first* args = Nfirst Nfirst = dump timestep to start on @@ -31,20 +30,17 @@ Syntax Nstop = timestep to which pseudo run will end *dump* args = same as :doc:`read_dump <read_dump>` command starting with its field arguments - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS rerun dump.file dump x y z vx vy vz rerun dump1.txt dump2.txt first 10000 every 1000 dump x y z rerun dump.vels dump x y z vx vy vz box yes format molfile lammpstrj rerun dump.dcd dump x y z box no format molfile dcd rerun ../run7/dump.file.gz skip 2 dump x y z box yes - rerun dump.bp dump x y z box no format adios + rerun dump.bp dump x y z box no format adios rerun dump.bp dump x y z vx vy vz format adios timeout 10.0 Description @@ -57,7 +53,7 @@ computed on the shapshot to produce thermodynamic or other output. This can be useful in the following kinds of scenarios, after an initial simulation produced the dump file: -* Compute the energy and forces of snaphots using a different potential. +* Compute the energy and forces of snapshots using a different potential. * Calculate one or more diagnostic quantities on the snapshots that weren't computed in the initial run. These can also be computed with settings not used in the initial run, e.g. computing an RDF via the @@ -69,7 +65,6 @@ initial simulation produced the dump file: Doing this in the original script would result in different (bad) dynamics. - Conceptually, using the rerun command is like running an input script that has a loop in it (see the :doc:`next <next>` and :doc:`jump <jump>` commands). Each iteration of the loop reads one snapshot from the @@ -101,10 +96,8 @@ same as for output from any LAMMPS simulation. See further info below as to what that means if the timesteps for snapshots read from dump files do not match the specified output frequency. - ---------- - If more than one dump file is specified, the dump files are read one after the other. It is assumed that snapshot timesteps will be in ascending order. If a snapshot is encountered that is not in @@ -162,10 +155,8 @@ options it allows for extracting information from the dump file snapshots, and for using that information to alter the LAMMPS simulation. - ---------- - In general, a LAMMPS input script that uses a rerun command can include and perform all the usual operations of an input script that uses the :doc:`run <run>` command. There are a few exceptions and @@ -209,16 +200,13 @@ but no output will be produced. If you want output for every dump snapshot, you can simply use N=1 for an output frequency, e.g. for thermodynamic output or new dump file output. - ---------- - Restrictions """""""""""" - To read gzipped dump files, you must compile LAMMPS with the --DLAMMPS\_GZIP option. See the :doc:`Build settings <Build_settings>` +-DLAMMPS_GZIP option. See the :doc:`Build settings <Build_settings>` doc page for details. Related commands diff --git a/doc/src/reset_ids.rst b/doc/src/reset_ids.rst index 29b8c1ca70..13a374fc29 100644 --- a/doc/src/reset_ids.rst +++ b/doc/src/reset_ids.rst @@ -6,7 +6,6 @@ reset_ids command Syntax """""" - .. code-block:: LAMMPS reset_ids @@ -14,7 +13,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS reset_ids @@ -27,8 +25,8 @@ for bond, angle, dihedral, improper topology data. This will create a set of IDs that are numbered contiguously from 1 to N for a N atoms system. -This can be useful to do after performing a "delete\_atoms" command for -a molecular system. The delete\_atoms compress yes option will not +This can be useful to do after performing a "delete_atoms" command for +a molecular system. The delete_atoms compress yes option will not perform this operation due to the existence of bond topology. It can also be useful to do after any simulation which has lost atoms, e.g. due to atoms moving outside a simulation box with fixed @@ -49,8 +47,8 @@ as the :doc:`create_atoms <create_atoms>` command explains. communication was not sufficient to find atoms in bonds, angles, etc that are owned by other processors. The :doc:`comm_modify cutoff <comm_modify>` command can be used to correct this issue. Or you can define a pair style before using this command. If you do - the former, you should unset the comm\_modify cutoff after using - reset\_ids so that subsequent communication is not inefficient. + the former, you should unset the comm_modify cutoff after using + reset_ids so that subsequent communication is not inefficient. Restrictions """""""""""" diff --git a/doc/src/reset_timestep.rst b/doc/src/reset_timestep.rst index 5dcaf9daf4..b985bd4154 100644 --- a/doc/src/reset_timestep.rst +++ b/doc/src/reset_timestep.rst @@ -6,7 +6,6 @@ reset_timestep command Syntax """""" - .. code-block:: LAMMPS reset_timestep N @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS reset_timestep 0 diff --git a/doc/src/restart.rst b/doc/src/restart.rst index 6ff78d2f97..fd4c1e9e24 100644 --- a/doc/src/restart.rst +++ b/doc/src/restart.rst @@ -6,7 +6,6 @@ restart command Syntax """""" - .. parsed-literal:: restart 0 @@ -19,21 +18,18 @@ Syntax * file1,file2 = two full filenames, toggle between them when writing file * zero or more keyword/value pairs may be appended * keyword = *fileper* or *nfile* - + .. parsed-literal:: - + *fileper* arg = Np Np = write one file for every this many processors *nfile* arg = Nf Nf = write this many files, one from each of Nf processors - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS restart 0 restart 1000 poly.restart @@ -89,8 +85,7 @@ file via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g. - -.. parsed-literal:: +.. code-block:: bash make yes-mpiio # installs the MPIIO package make mpi # build LAMMPS for your platform @@ -108,7 +103,7 @@ timestep of a run unless it is a multiple of N. A restart file is written on the last timestep of a minimization if N > 0 and the minimization converges. -Instead of a numeric value, N can be specified as an :doc:`equal-style variable <variable>`, which should be specified as v\_name, where +Instead of a numeric value, N can be specified as an :doc:`equal-style variable <variable>`, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which a restart file will be written out. On that timestep, the variable will @@ -122,16 +117,13 @@ For example, the following commands will write restart files every step from 1100 to 1200, and could be useful for debugging a simulation where something goes wrong at step 1163: - -.. parsed-literal:: +.. code-block:: LAMMPS variable s equal stride(1100,1200,1) restart v_s tmp.restart - ---------- - See the :doc:`read_restart <read_restart>` command for information about what is stored in a restart file. @@ -152,10 +144,8 @@ another machine. In this case, you can use the :doc:`-r command-line switch <Ru to re-use that information. See the :doc:`read_restart <read_restart>` command for information about what is stored in a restart file. - ---------- - The optional *nfile* or *fileper* keywords can be used in conjunction with the "%" wildcard character in the specified restart file name(s). As explained above, the "%" character causes the restart file to be @@ -174,14 +164,11 @@ file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the next 3 processors and write it to a restart file. - ---------- - Restrictions """""""""""" - To write and read restart files in parallel with MPI-IO, the MPIIO package must be installed. @@ -193,7 +180,6 @@ Related commands Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS restart 0 diff --git a/doc/src/run.rst b/doc/src/run.rst index 440d21d959..f36fb73187 100644 --- a/doc/src/run.rst +++ b/doc/src/run.rst @@ -6,7 +6,6 @@ run command Syntax """""" - .. parsed-literal:: run N keyword values ... @@ -14,9 +13,9 @@ Syntax * N = # of timesteps * zero or more keyword/value pairs may be appended * keyword = *upto* or *start* or *stop* or *pre* or *post* or *every* - + .. parsed-literal:: - + *upto* value = none *start* value = N1 N1 = timestep at which 1st run started @@ -29,13 +28,10 @@ Syntax c1,c2,...,cN = one or more LAMMPS commands, each enclosed in quotes c1 = NULL means no command will be invoked - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS run 10000 run 1000000 upto @@ -74,8 +70,7 @@ keywords. For example, consider this fix followed by 10 run commands: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 1 all nvt 200.0 300.0 1.0 run 1000 start 0 stop 10000 @@ -149,16 +144,14 @@ of M steps each. After each M-length run, the specified commands are invoked. If only a single command is specified as NULL, then no command is invoked. Thus these lines: - -.. parsed-literal:: +.. code-block:: LAMMPS variable q equal x[100] run 6000 every 2000 "print 'Coord = $q'" are the equivalent of: - -.. parsed-literal:: +.. code-block:: LAMMPS variable q equal x[100] run 2000 @@ -176,8 +169,7 @@ Note that by using the line continuation character "&", the run every command can be spread across many lines, though it is still a single command: - -.. parsed-literal:: +.. code-block:: LAMMPS run 100000 every 1000 & "print 'Minimum value = $a'" & @@ -195,8 +187,7 @@ skipped for intermediate runs. You might wish to specify a command that exits the run by jumping out of the loop, e.g. - -.. parsed-literal:: +.. code-block:: LAMMPS variable t equal temp run 10000 every 100 "if '$t < 300.0' then 'jump SELF afterrun'" @@ -210,7 +201,6 @@ has additional options for how to exit the run. Restrictions """""""""""" - When not using the *upto* keyword, the number of specified timesteps N must fit in a signed 32-bit integer, so you are limited to slightly more than 2 billion steps (2\^31) in a single run. When using *upto*\ , diff --git a/doc/src/run_style.rst b/doc/src/run_style.rst index 7008f6f6bf..474eab2b85 100644 --- a/doc/src/run_style.rst +++ b/doc/src/run_style.rst @@ -6,15 +6,14 @@ run_style command Syntax """""" - .. code-block:: LAMMPS run_style style args * style = *verlet* or *verlet/split* or *respa* or *respa/omp* - + .. parsed-literal:: - + *verlet* args = none *verlet/split* args = none *respa* args = N n1 n2 ... keyword values ... @@ -52,8 +51,6 @@ Syntax *kspace* value = M M = which level (1-N) to compute kspace forces in - - Examples """""""" @@ -72,10 +69,8 @@ simulations performed by LAMMPS. The *verlet* style is a standard velocity-Verlet integrator. - ---------- - The *verlet/split* style is also a velocity-Verlet integrator, but it splits the force calculation within each timestep over 2 partitions of processors. See the :doc:`-partition command-line switch <Run_options>` @@ -88,7 +83,7 @@ partition. This include the :doc:`pair style <pair_style>`, :doc:`bond style <b :doc:`kspace_style <kspace_style>` portion of the calculation is performed on the 2nd partition. -This is most useful for the PPPM kspace\_style when its performance on +This is most useful for the PPPM kspace_style when its performance on a large number of processors degrades due to the cost of communication in its 3d FFTs. In this scenario, splitting your P total processors into 2 subsets of processors, P1 in the 1st partition and P2 in the @@ -110,7 +105,6 @@ match the integer multiple constraint. See the :doc:`processors <processors>` command with its *part* keyword for a way to control this, e.g. - .. code-block:: LAMMPS processors * * * part 1 2 multiple @@ -119,7 +113,6 @@ You can also use the :doc:`partition <partition>` command to explicitly specify the processor layout on each partition. E.g. for 2 partitions of 60 and 15 processors each: - .. code-block:: LAMMPS partition yes 1 processors 3 4 5 @@ -139,10 +132,8 @@ processors in the 2 partitions to the physical cores of a parallel machine. The :doc:`processors <processors>` command has options to support this, and strategies are discussed in :doc:`Section 5 <Speed>` of the manual. - ---------- - The *respa* style implements the rRESPA multi-timescale integrator :ref:`(Tuckerman) <Tuckerman3>` with N hierarchical levels, where level 1 is the innermost loop (shortest timestep) and level N is the outermost @@ -205,7 +196,7 @@ levels. This can be useful, for example, to set different timesteps for hybrid coarse-grained/all-atom models. The *hybrid* keyword requires as many level assignments as there are hybrid sub-styles, which assigns each sub-style to a rRESPA level, following their order -of definition in the pair\_style command. Since the *hybrid* keyword +of definition in the pair_style command. Since the *hybrid* keyword operates on pair style computations, it is mutually exclusive with either the *pair* or the *inner*\ /\ *middle*\ /\ *outer* keywords. @@ -233,7 +224,6 @@ cutoffs) works reasonably well. We thus recommend the following settings for use of the *respa* style without SHAKE in biomolecular simulations: - .. code-block:: LAMMPS timestep 4.0 @@ -255,7 +245,6 @@ the size of the time steps in the respa hierarchy. The following settings can be used for biomolecular simulations with SHAKE and rRESPA: - .. code-block:: LAMMPS fix 2 all shake 0.000001 500 0 m 1.0 a 1 @@ -271,7 +260,6 @@ advantageous if there is a clear separation of time scales - fast and slow modes in the simulation. For example, a system of slowly-moving charged polymer chains could be setup as follows: - .. code-block:: LAMMPS timestep 4.0 @@ -290,16 +278,13 @@ In real units, for a pure LJ fluid at liquid density, with a sigma of 3.0 angstroms, and epsilon of 0.1 Kcal/mol, the following settings seem to work well: - .. code-block:: LAMMPS timestep 36.0 run_style respa 3 3 4 inner 1 3.0 4.0 middle 2 6.0 7.0 outer 3 - ---------- - The *respa/omp* style is a variant of *respa* adapted for use with pair, bond, angle, dihedral, improper, or kspace styles with an *omp* suffix. It is functionally equivalent to *respa* but performs @@ -316,14 +301,11 @@ input script. See the :doc:`Speed packages <Speed_packages>` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - The *verlet/split* style can only be used if LAMMPS was built with the REPLICA package. Correspondingly the *respa/omp* style is available only if the USER-OMP package was included. See the :doc:`Build package <Build_package>` doc page for more info. @@ -340,12 +322,11 @@ Related commands Default """"""" - .. code-block:: LAMMPS run_style verlet -For run\_style respa, the default assignment of interactions +For run_style respa, the default assignment of interactions to rRESPA levels is as follows: * bond forces = level 1 (innermost loop) @@ -356,13 +337,9 @@ to rRESPA levels is as follows: * kspace forces = same level as pair forces * inner, middle, outer forces = no default - ---------- - .. _Tuckerman3: - - **(Tuckerman)** Tuckerman, Berne and Martyna, J Chem Phys, 97, p 1990 (1992). diff --git a/doc/src/server.rst b/doc/src/server.rst index c0aeef2565..a25d97ba40 100644 --- a/doc/src/server.rst +++ b/doc/src/server.rst @@ -6,7 +6,6 @@ server command Syntax """""" - .. parsed-literal:: server protocol @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS server md @@ -53,14 +51,11 @@ For protocol *md*\ , LAMMPS can be either a client (via the :doc:`fix client/md For protocol *mc*\ , LAMMPS can be the server. See the :doc:`server mc <server_mc>` doc page for details on the protocol. - ---------- - Restrictions """""""""""" - This command is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/server_mc.rst b/doc/src/server_mc.rst index 1953cac687..e4846a7a33 100644 --- a/doc/src/server_mc.rst +++ b/doc/src/server_mc.rst @@ -6,7 +6,6 @@ server mc command Syntax """""" - .. parsed-literal:: server mc @@ -16,8 +15,7 @@ mc = the protocol argument to the :doc:`server <server>` command Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS server mc @@ -43,12 +41,10 @@ processed. The :doc:`server <server>` doc page gives other options for using LAMMPS See an example of how this command is used in -examples/COUPLE/lammps\_mc/in.server. - +examples/COUPLE/lammps_mc/in.server. ---------- - When using this command, LAMMPS (as the server code) receives instructions from a Monte Carlo (MC) driver to displace random atoms, compute the energy before and after displacement, and run dynamics to @@ -61,19 +57,18 @@ runs. The format and content of the exchanged messages are explained here in a conceptual sense. Python-style pseudo code for the library calls to the CSlib is shown, which performs the actual message exchange between -the two codes. See the `CSlib website <http://cslib.sandia.gov>`_ doc +the two codes. See the `CSlib website <https://cslib.sandia.gov>`_ doc pages for more details on the actual library syntax. The "cs" object in this pseudo code is a pointer to an instance of the CSlib. -See the src/MESSAGE/server\_mc.cpp file for details on how LAMMPS uses -these messages. See the examples/COUPLE/lammps\_mc/mc.cpp file for an +See the src/MESSAGE/server_mc.cpp file for details on how LAMMPS uses +these messages. See the examples/COUPLE/lammps_mc/mc.cpp file for an example of how an MC driver code can use these messages. Define NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. **Client sends one of these kinds of message**\ : - .. parsed-literal:: cs->send(NATOMS,0) # msgID = 1 with no fields @@ -92,7 +87,6 @@ Define NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. **Server replies**\ : - .. parsed-literal:: cs->send(NATOMS,1) # msgID = 1 with 1 field @@ -109,14 +103,11 @@ Define NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5. cs->send(RUN,0) # msgID = 5 with no fields - ---------- - Restrictions """""""""""" - This command is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/server_md.rst b/doc/src/server_md.rst index 9a2ae5e880..8304c808b2 100644 --- a/doc/src/server_md.rst +++ b/doc/src/server_md.rst @@ -6,7 +6,6 @@ server md command Syntax """""" - .. parsed-literal:: server md @@ -16,8 +15,7 @@ md = the protocol argument to the :doc:`server <server>` command Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS server md @@ -45,10 +43,8 @@ The :doc:`server <server>` doc page gives other options for using LAMMPS in server mode. See an example of how this command is used in examples/message/in.message.server. - ---------- - When using this command, LAMMPS (as the server code) receives the current coordinates of all particles from the client code each timestep, computes their interaction, and returns the energy, forces, @@ -64,21 +60,20 @@ forces, and pressure values from the server code. The format and content of the exchanged messages are explained here in a conceptual sense. Python-style pseudo code for the library calls to the CSlib is shown, which performs the actual message exchange between -the two codes. See the `CSlib website <http://cslib.sandia.gov>`_ doc +the two codes. See the `CSlib website <https://cslib.sandia.gov>`_ doc pages for more details on the actual library syntax. The "cs" object in this pseudo code is a pointer to an instance of the CSlib. -See the src/MESSAGE/server\_md.cpp and src/MESSAGE/fix\_client\_md.cpp +See the src/MESSAGE/server_md.cpp and src/MESSAGE/fix_client_md.cpp files for details on how LAMMPS uses these messages. See the -examples/COUPLE/lammps\_vasp/vasp\_wrap.py or -examples/COUPLE/lammps\_nwchem/nwchem\_wrap.py files for examples of how +examples/COUPLE/lammps_vasp/vasp_wrap.py or +examples/COUPLE/lammps_nwchem/nwchem_wrap.py files for examples of how a quantum code (VASP or NWChem) can use these messages. The following pseudo-code uses these values, defined as enums. Define: - .. parsed-literal:: SETUP=1, STEP=2 @@ -87,7 +82,6 @@ Define: **Client sends 2 kinds of messages**\ : - .. parsed-literal:: # required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS @@ -117,7 +111,6 @@ Define: **Server replies to either kind of message**\ : - .. parsed-literal:: # required fields: FORCES, ENERGY, PRESSURE @@ -129,10 +122,8 @@ Define: cs->pack(PRESSURE,6,press) # global pressure tensor (6-vector) cs->pack_int(ERROR,flag) # server had an error (e.g. DFT non-convergence) - ---------- - The units for various quantities that are sent and received iva messages are defined for atomic-scale simulations in the table below. The client and server codes (including LAMMPS) can use internal units @@ -151,14 +142,11 @@ If you wish to run LAMMPS in another its non-atomic units, e.g. :doc:`lj units < message as indicated above, and both the client and server should agree on the units for the data they exchange. - ---------- - Restrictions """""""""""" - This command is part of the MESSAGE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/server_md.txt b/doc/src/server_md.txt deleted file mode 100644 index daa6ab57ce..0000000000 --- a/doc/src/server_md.txt +++ /dev/null @@ -1,150 +0,0 @@ -"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c - -:link(lws,http://lammps.sandia.gov) -:link(ld,Manual.html) -:link(lc,Commands_all.html) - -:line - -server md command :h3 - -[Syntax:] - -server md :pre - -md = the protocol argument to the "server"_server.html command - -[Examples:] - -server md :pre - -[Description:] - -This command starts LAMMPS running in "server" mode, where it will -expect messages from a separate "client" code that match the {md} -protocol for format and content explained below. For each message -LAMMPS receives it will send a message back to the client. - -The "Howto client/server"_Howto_client_server.html doc page gives an -overview of client/server coupling of LAMMPS with another code where -one code is the "client" and sends request messages to a "server" -code. The server responds to each request with a reply message. This -enables the two codes to work in tandem to perform a simulation. - -When this command is invoked, LAMMPS will run in server mode in an -endless loop, waiting for messages from the client code. The client -signals when it is done sending messages to LAMMPS, at which point the -loop will exit, and the remainder of the LAMMPS script will be -processed. - -The "server"_server.html doc page gives other options for using LAMMPS -in server mode. See an example of how this command is used in -examples/message/in.message.server. - -:line - -When using this command, LAMMPS (as the server code) receives the -current coordinates of all particles from the client code each -timestep, computes their interaction, and returns the energy, forces, -and pressure for the interacting particles to the client code, so it -can complete the timestep. This command could also be used with a -client code that performs energy minimization, using the server to -compute forces and energy each iteration of its minimizer. - -When using the "fix client/md"_fix_client_md.html command, LAMMPS (as -the client code) does the timestepping and receives needed energy, -forces, and pressure values from the server code. - -The format and content of the exchanged messages are explained here in -a conceptual sense. Python-style pseudo code for the library calls to -the CSlib is shown, which performs the actual message exchange between -the two codes. See the "CSlib website"_http://cslib.sandia.gov doc -pages for more details on the actual library syntax. The "cs" object -in this pseudo code is a pointer to an instance of the CSlib. - -See the src/MESSAGE/server_md.cpp and src/MESSAGE/fix_client_md.cpp -files for details on how LAMMPS uses these messages. See the -examples/COUPLE/lammps_vasp/vasp_wrap.py or -examples/COUPLE/lammps_nwchem/nwchem_wrap.py files for examples of how -a quantum code (VASP or NWChem) can use these messages. - -The following pseudo-code uses these values, defined as enums. - -Define: - -SETUP=1, STEP=2 -DIM=1, PERIODICITY=2, ORIGIN=3, BOX=4, NATOMS=5, NTYPES=6, TYPES=7, COORDS=8, UNITS-9, CHARGE=10 -FORCES=1, ENERGY=2, PRESSURE=3, ERROR=4 :pre - -[Client sends 2 kinds of messages]: - -# required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS -# optional fields: UNITS, CHARGE :pre - -cs->send(SETUP,nfields) # msgID with nfields :pre - -cs->pack_int(DIM,dim) # dimension (2,3) of simulation -cs->pack(PERIODICITY,3,xyz) # periodicity flags in 3 dims -cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box -cs->pack(BOX,9,box) # 3 edge vectors of simulation box -cs->pack_int(NATOMS,natoms) # total number of atoms -cs->pack_int(NTYPES,ntypes) # number of atom types -cs->pack(TYPES,natoms,type) # vector of per-atom types -cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords -cs->pack_string(UNITS,units) # units = "lj", "real", "metal", etc -cs->pack(CHARGE,natoms,q) # vector of per-atom charge :pre - -# required fields: COORDS -# optional fields: ORIGIN, BOX :pre - -cs->send(STEP,nfields) # msgID with nfields :pre - -cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords -cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box -cs->pack(BOX,9,box) # 3 edge vectors of simulation box :pre - -[Server replies to either kind of message]: - -# required fields: FORCES, ENERGY, PRESSURE -# optional fields: ERROR :pre - -cs->send(msgID,nfields) # msgID with nfields -cs->pack(FORCES,3*Natoms,f) # vector of 3N forces on atoms -cs->pack(ENERGY,1,poteng) # total potential energy of system -cs->pack(PRESSURE,6,press) # global pressure tensor (6-vector) -cs->pack_int(ERROR,flag) # server had an error (e.g. DFT non-convergence) :pre - -:line - -The units for various quantities that are sent and received iva -messages are defined for atomic-scale simulations in the table below. -The client and server codes (including LAMMPS) can use internal units -different than these (e.g. "real units"_units.html in LAMMPS), so long -as they convert to these units for messaging. - -COORDS, ORIGIN, BOX = Angstroms -CHARGE = multiple of electron charge (1.0 is a proton) -ENERGY = eV -FORCES = eV/Angstrom -PRESSURE = bars :ul - -Note that these are "metal units"_units.html in LAMMPS. - -If you wish to run LAMMPS in another its non-atomic units, e.g. "lj -units"_units.html, then the client and server should exchange a UNITS -message as indicated above, and both the client and server should -agree on the units for the data they exchange. - -:line - -[Restrictions:] - -This command is part of the MESSAGE package. It is only enabled if -LAMMPS was built with that package. See the "Build -package"_Build_package.html doc page for more info. - -[Related commands:] - -"message"_message.html, "fix client/md"_fix_client_md.html - -[Default:] none diff --git a/doc/src/set.rst b/doc/src/set.rst index e7f3620b0f..84792d1a58 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -6,7 +6,6 @@ set command Syntax """""" - .. parsed-literal:: set style ID keyword values ... @@ -14,10 +13,10 @@ Syntax * style = *atom* or *type* or *mol* or *group* or *region* * ID = atom ID range or type range or mol ID range or group ID or region ID * one or more keyword/value pairs may be appended -* keyword = *type* or *type/fraction* or *type/ratio* or *type/subset* or *mol* or *x* or *y* or *z* or *charge* or *dipole* or *dipole/random* or *quat* or *spin* or *spin/random* or *quat* or *quat/random* or *diameter* or *shape* or *length* or *tri* or *theta* or *theta/random* or *angmom* or *omega* or *mass* or *density* or *density/disc* or *volume* or *image* or *bond* or *angle* or *dihedral* or *improper* or *meso/e* or *meso/cv* or *meso/rho* or *smd/contact/radius* or *smd/mass/density* or *dpd/theta* or *edpd/temp* or *edpd/cv* or *cc* or *i\_name* or *d\_name* - +* keyword = *type* or *type/fraction* or *type/ratio* or *type/subset* or *mol* or *x* or *y* or *z* or *charge* or *dipole* or *dipole/random* or *quat* or *spin* or *spin/random* or *quat* or *quat/random* or *diameter* or *shape* or *length* or *tri* or *theta* or *theta/random* or *angmom* or *omega* or *mass* or *density* or *density/disc* or *volume* or *image* or *bond* or *angle* or *dihedral* or *improper* or *meso/e* or *meso/cv* or *meso/rho* or *smd/contact/radius* or *smd/mass/density* or *dpd/theta* or *edpd/temp* or *edpd/cv* or *cc* or *i_name* or *d_name* + .. parsed-literal:: - + *type* value = atom type value can be an atom-style variable (see below) *type/fraction* values = type fraction seed @@ -118,22 +117,19 @@ Syntax *i_name* value = value for custom integer vector with name *d_name* value = value for custom floating-point vector with name - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS set group solvent type 2 set group solvent type/fraction 2 0.5 12393 set group edge bond 4 set region half charge 0.5 set type 3 charge 0.5 - set type 1\*3 charge 0.5 - set atom \* charge v_atomfile - set atom 100\*200 x 0.5 y 1.0 + set type 1*3 charge 0.5 + set atom * charge v_atomfile + set atom 100*200 x 0.5 y 1.0 set atom 100 vx 0.0 vy 0.0 vz -1.0 set atom 1492 type 3 @@ -158,10 +154,8 @@ their properties reset. The remaining keywords specify which properties to reset and what the new values are. Some strings like *type* or *mol* can be used as a style and/or a keyword. - ---------- - This section describes how to select which atoms to change the properties of, via the *style* and *ID* arguments. @@ -184,17 +178,15 @@ style *region* selects all the atoms in the specified geometric region. See the :doc:`group <group>` and :doc:`region <region>` commands for details of how to specify a group or region. - ---------- - This section describes the keyword options for which properties to change, for the selected atoms. Note that except where explicitly prohibited below, all of the keywords allow an :doc:`atom-style or atomfile-style variable <variable>` to be used as the specified value(s). If the value is a -variable, it should be specified as v\_name, where name is the +variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its resulting per-atom value used to determine the value assigned to each selected atom. Note that the per-atom value from the variable will be @@ -471,19 +463,18 @@ Keyword *cc* sets the chemical concentration of a tDPD particle for a specified species as defined by the USER-MESODPD package. Currently, only :doc:`atom_style tdpd <atom_style>` defines particles with this attribute. An integer for "index" selects a chemical species (1 to -Nspecies) where Nspecies is set by the atom\_style command. The value +Nspecies) where Nspecies is set by the atom_style command. The value for the chemical concentration must be >= 0.0. -Keywords *i\_name* and *d\_name* refer to custom integer and +Keywords *i_name* and *d_name* refer to custom integer and floating-point properties that have been added to each atom via the :doc:`fix property/atom <fix_property_atom>` command. When that command is used specific names are given to each attribute which are what is -specified as the "name" portion of *i\_name* or *d\_name*. +specified as the "name" portion of *i_name* or *d_name*. Restrictions """""""""""" - You cannot set an atom attribute (e.g. *mol* or *q* or *volume*\ ) if the :doc:`atom_style <atom_style>` does not have that attribute. diff --git a/doc/src/shell.rst b/doc/src/shell.rst index 9cb94dd93f..a7646a74d2 100644 --- a/doc/src/shell.rst +++ b/doc/src/shell.rst @@ -6,15 +6,14 @@ shell command Syntax """""" - .. parsed-literal:: shell cmd args * cmd = *cd* or *mkdir* or *mv* or *rm* or *rmdir* or *putenv* or arbitrary command - + .. parsed-literal:: - + *cd* arg = dir dir = directory to change to *mkdir* args = dir1 dir2 ... @@ -30,13 +29,10 @@ Syntax var=value = one of more definitions of environment variables anything else is passed as a command to the shell for direct execution - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS shell cd sub1 shell cd .. @@ -93,8 +89,7 @@ Any other cmd is passed as-is to the shell along with its arguments as one string, invoked by the C-library system() call. For example, these lines in your input script: - -.. parsed-literal:: +.. code-block:: LAMMPS variable n equal 10 variable foo string file2 @@ -102,18 +97,16 @@ these lines in your input script: would be the same as invoking - -.. parsed-literal:: +.. code-block:: bash % my_setup file1 10 file2 -from a command-line prompt. The executable program "my\_setup" is run +from a command-line prompt. The executable program "my_setup" is run with 3 arguments: file1 10 file2. Restrictions """""""""""" - LAMMPS does not detect errors or print warnings when any of these commands execute. E.g. if the specified directory does not exist, executing the *cd* command will silently do nothing. diff --git a/doc/src/special_bonds.rst b/doc/src/special_bonds.rst index 8c9a082c28..d00467b3e8 100644 --- a/doc/src/special_bonds.rst +++ b/doc/src/special_bonds.rst @@ -6,16 +6,15 @@ special_bonds command Syntax """""" - .. code-block:: LAMMPS special_bonds keyword values ... * one or more keyword/value pairs may be appended * keyword = *amber* or *charmm* or *dreiding* or *fene* or *lj/coul* or *lj* or *coul* or *angle* or *dihedral* - + .. parsed-literal:: - + *amber* values = none *charmm* values = none *dreiding* values = none @@ -29,11 +28,8 @@ Syntax *angle* value = *yes* or *no* *dihedral* value = *yes* or *no* - - Examples: - .. code-block:: LAMMPS special_bonds amber @@ -69,7 +65,7 @@ atoms should be excluded (or reduced by a weighting factor). sense to define permanent bonds between atoms that interact via these potentials, though such bonds may exist elsewhere in your system, e.g. when using the :doc:`pair_style hybrid <pair_hybrid>` command. - Thus LAMMPS ignores special\_bonds settings when many-body potentials + Thus LAMMPS ignores special_bonds settings when many-body potentials are calculated. Please note, that the existence of explicit bonds for atoms that are described by a many-body potential will alter the neighbor list and thus can render the computation of those interactions @@ -187,10 +183,8 @@ interaction between atoms 2 and 5 will be unaffected (full weighting of 1.0). If the *dihedral* keyword is specified as *no* which is the default, then the 2,5 interaction will also be weighted by 0.5. - ---------- - .. note:: LAMMPS stores and maintains a data structure with a list of the @@ -205,17 +199,14 @@ default, then the 2,5 interaction will also be weighted by 0.5. neighbors to be added. If you do not do this, you may get an error when bonds (or molecules) are added. - ---------- - .. note:: If you reuse this command in an input script, you should set all the options you need each time. This command cannot be used a 2nd time incrementally. E.g. these two commands: - .. code-block:: LAMMPS special_bonds lj 0.0 1.0 1.0 @@ -223,14 +214,12 @@ default, then the 2,5 interaction will also be weighted by 0.5. are not the same as - .. code-block:: LAMMPS special_bonds lj 0.0 1.0 1.0 coul 0.0 0.0 1.0 In the first case you end up with (after the 2nd command): - .. parsed-literal:: LJ: 0.0 0.0 0.0 @@ -238,7 +227,6 @@ In the first case you end up with (after the 2nd command): while only in the second case, you get the desired settings of: - .. parsed-literal:: LJ: 0.0 1.0 1.0 @@ -246,7 +234,7 @@ while only in the second case, you get the desired settings of: This happens because the LJ (and Coul) settings are reset to their default values before modifying them, each time the -*special\_bonds* command is issued. +*special_bonds* command is issued. Restrictions """""""""""" @@ -263,33 +251,23 @@ Default All 3 Lennard-Jones and 3 Coulombic weighting coefficients = 0.0, angle = no, dihedral = no. - ---------- - .. _Cornell: - - **(Cornell)** Cornell, Cieplak, Bayly, Gould, Merz, Ferguson, Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995). .. _Kremer: - - **(Kremer)** Kremer, Grest, J Chem Phys, 92, 5057 (1990). .. _MacKerell: - - **(MacKerell)** MacKerell, Bashford, Bellott, Dunbrack, Evanseck, Field, Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998). .. _Mayo: - - **(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909 (1990). diff --git a/doc/src/suffix.rst b/doc/src/suffix.rst index f24bdadfdc..ba94214a9b 100644 --- a/doc/src/suffix.rst +++ b/doc/src/suffix.rst @@ -6,7 +6,6 @@ suffix command Syntax """""" - .. parsed-literal:: suffix style args @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS suffix off suffix on @@ -44,7 +42,7 @@ package. These are the variants these packages provide: -* GPU = a handful of pair styles and the PPPM kspace\_style, optimized to +* GPU = a handful of pair styles and the PPPM kspace_style, optimized to run on one or more GPUs or multicore CPU/GPU nodes * USER-INTEL = a collection of pair styles and neighbor routines optimized to run in single, mixed, or double precision on CPUs and @@ -59,10 +57,9 @@ These are the variants these packages provide: performance * HYBRID = a combination of two packages can be specified (see below) - As an example, all of the packages provide a :doc:`pair_style lj/cut <pair_lj>` variant, with style names lj/cut/opt, lj/cut/omp, lj/cut/gpu, lj/cut/intel, or lj/cut/kk. A variant styles -can be specified explicitly in your input script, e.g. pair\_style +can be specified explicitly in your input script, e.g. pair_style lj/cut/gpu. If the suffix command is used with the appropriate style, you do not need to modify your input script. The specified suffix (opt,omp,gpu,intel,kk) is automatically appended whenever your @@ -95,9 +92,9 @@ commands in your input script. The default :doc:`run_style <run_style>` verlet is invoked prior to reading the input script and is therefore not affected by a suffix command - in the input script. The KOKKOS package requires "run\_style verlet/kk", + in the input script. The KOKKOS package requires "run_style verlet/kk", so when using the KOKKOS package it is necessary to either use the command - line "-sf kk" command or add an explicit "run\_style verlet" command to the + line "-sf kk" command or add an explicit "run_style verlet" command to the input script. Restrictions diff --git a/doc/src/tad.rst b/doc/src/tad.rst index 206c915e3f..7f4845dc3c 100644 --- a/doc/src/tad.rst +++ b/doc/src/tad.rst @@ -6,23 +6,22 @@ tad command Syntax """""" - .. parsed-literal:: tad N t_event T_lo T_hi delta tmax compute-ID keyword value ... * N = # of timesteps to run (not including dephasing/quenching) -* t\_event = timestep interval between event checks -* T\_lo = temperature at which event times are desired -* T\_hi = temperature at which MD simulation is performed +* t_event = timestep interval between event checks +* T_lo = temperature at which event times are desired +* T_hi = temperature at which MD simulation is performed * delta = desired confidence level for stopping criterion * tmax = reciprocal of lowest expected pre-exponential factor (time units) * compute-ID = ID of the compute used for event detection * zero or more keyword/value pairs may be appended -* keyword = *min* or *neb* or *min\_style* or *neb\_style* or *neb\_log* - +* keyword = *min* or *neb* or *min_style* or *neb_style* or *neb_log* + .. parsed-literal:: - + *min* values = etol ftol maxiter maxeval etol = stopping tolerance for energy (energy units) ftol = stopping tolerance for force (force units) @@ -39,13 +38,10 @@ Syntax dtneb = timestep for NEB damped dynamics minimization *neb_log* value = file where NEB statistics are printed - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS tad 2000 50 1800 2300 0.01 0.01 event tad 2000 50 1800 2300 0.01 0.01 event & @@ -103,7 +99,6 @@ page for further discussion of multi-replica simulations. A TAD run has several stages, which are repeated each time an event is performed. The logic for a TAD run is as follows: - .. parsed-literal:: while (time remains): @@ -124,7 +119,7 @@ initial state and storing the resulting coordinates for reference. Inside the inner loop, dynamics is run continuously according to whatever integrator has been specified by the user, stopping every -*t\_event* steps to check if a transition event has occurred. This +*t_event* steps to check if a transition event has occurred. This check is performed by quenching the system and comparing the resulting atom coordinates to the coordinates from the previous basin. @@ -145,19 +140,17 @@ distance. If so, an "event" has occurred. The NEB calculation is similar to that invoked by the :doc:`neb <neb>` command, except that the final state is generated internally, instead of being read in from a file. The style of minimization performed by -NEB is determined by the *neb\_style* keyword and must be a damped +NEB is determined by the *neb_style* keyword and must be a damped dynamics minimizer. The tolerances and limits for each NEB calculation can be set by the *neb* keyword. As discussed on the :doc:`neb <neb>`, it is often advantageous to use a larger timestep for NEB than for normal dynamics. Since the size of the timestep set by the :doc:`timestep <timestep>` command is used by TAD for performing -dynamics, there is a *neb\_step* keyword which can be used to set a +dynamics, there is a *neb_step* keyword which can be used to set a larger timestep for each NEB calculation if desired. - ---------- - A key aspect of the TAD method is setting the stopping criterion appropriately. If this criterion is too conservative, then many events must be generated before one is finally executed. Conversely, @@ -171,16 +164,14 @@ are not well characterized (the most common case), it will be necessary to experiment with the values of *delta* and *tmax* to get a good trade-off between accuracy and performance. -A second key aspect is the choice of *t\_hi*. A larger value greatly +A second key aspect is the choice of *t_hi*. A larger value greatly increases the rate at which new events are generated. However, too large a value introduces errors due to anharmonicity (not accounted for within hTST). Once again, for any given system, experimentation is -necessary to determine the best value of *t\_hi*. - +necessary to determine the best value of *t_hi*. ---------- - Five kinds of output can be generated during a TAD run: event statistics, NEB statistics, thermodynamic output by each replica, dump files, and restart files. @@ -188,7 +179,7 @@ files, and restart files. Event statistics are printed to the screen and master log.lammps file each time an event is executed. The quantities are the timestep, CPU time, global event number *N*\ , local event number *M*\ , event status, -energy barrier, time margin, *t\_lo* and *delt\_lo*. The timestep is +energy barrier, time margin, *t_lo* and *delt_lo*. The timestep is the usual LAMMPS timestep, which corresponds to the high-temperature time at which the event was detected, in units of timestep. The CPU time is the total processor time since the start of the TAD run. The @@ -203,9 +194,9 @@ The time margin is the ratio of the high temperature time in the current basin to the stopping time. This last number can be used to judge whether the stopping time is too short or too long (see above). -*t\_lo* is the low-temperature event time when the current basin was -entered, in units of timestep. del*t\_lo* is the time of each detected -event, measured relative to *t\_lo*. *delt\_lo* is equal to the +*t_lo* is the low-temperature event time when the current basin was +entered, in units of timestep. del*t_lo* is the time of each detected +event, measured relative to *t_lo*. *delt_lo* is equal to the high-temperature time since entering the current basin, scaled by an exponential factor that depends on the hi/lo temperature ratio and the energy barrier for that event. @@ -214,11 +205,11 @@ On lines for executed events, with status *E*\ , the global event number is incremented by one, the local event number and time margin are reset to zero, while the global event number, energy barrier, and -*delt\_lo* match the last event with status *DF* +*delt_lo* match the last event with status *DF* in the immediately preceding block of detected events. -The low-temperature event time *t\_lo* is incremented by *delt\_lo*. +The low-temperature event time *t_lo* is incremented by *delt_lo*. -NEB statistics are written to the file specified by the *neb\_log* +NEB statistics are written to the file specified by the *neb_log* keyword. If the keyword value is "none", then no NEB statistics are printed out. The statistics are written every *Nevery* timesteps. See the :doc:`neb <neb>` command for a full description of the NEB @@ -276,19 +267,16 @@ files do not always increase monotonically. However, the timestep values printed to the master log file, dump files, and restart files are always monotonically increasing. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package <Build_package>` doc page for more info. -*N* setting must be integer multiple of *t\_event*. +*N* setting must be integer multiple of *t_event*. Runs restarted from restart files written during a TAD run will only produce identical results if the user-specified integrator supports @@ -313,22 +301,16 @@ Default """"""" The option defaults are *min* = 0.1 0.1 40 50, *neb* = 0.01 100 100 -10, *neb\_style* = *quickmin*\ , *neb\_step* = the same timestep set by -the :doc:`timestep <timestep>` command, and *neb\_log* = "none". - +10, *neb_style* = *quickmin*\ , *neb_step* = the same timestep set by +the :doc:`timestep <timestep>` command, and *neb_log* = "none". ---------- - .. _Voter2000: - - **(Voter2000)** Sorensen and Voter, J Chem Phys, 112, 9599 (2000) .. _Voter2002: - - **(Voter2002)** Voter, Montalenti, Germann, Annual Review of Materials Research 32, 321 (2002). diff --git a/doc/src/temper.rst b/doc/src/temper.rst index 018d8b9b7a..bb470f0cc0 100644 --- a/doc/src/temper.rst +++ b/doc/src/temper.rst @@ -6,7 +6,6 @@ temper command Syntax """""" - .. parsed-literal:: temper N M temp fix-ID seed1 seed2 index @@ -22,8 +21,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS temper 100000 100 $t tempfix 0 58728 temper 40000 100 $t tempfix 0 32285 $w @@ -52,8 +50,7 @@ variable previously set in the input script, so that each partition is assigned a different temperature. See the :doc:`variable <variable>` command for more details. For example: - -.. parsed-literal:: +.. code-block:: LAMMPS variable t world 300.0 310.0 320.0 330.0 fix myfix all nvt temp $t $t 100.0 @@ -80,7 +77,6 @@ The main screen and log file (log.lammps) will list information about which temperature is assigned to each replica at each thermodynamic output timestep. E.g. for a simulation with 16 replicas: - .. parsed-literal:: Running on 16 partitions of processors @@ -106,11 +102,10 @@ screen.N files as time proceeds. You can have each replica create its own dump file in the following manner: - -.. parsed-literal:: +.. code-block:: LAMMPS variable rep world 0 1 2 3 4 5 6 7 - dump 1 all atom 1000 dump.temper.$\ *rep* + dump 1 all atom 1000 dump.temper.${rep} .. note:: @@ -123,9 +118,9 @@ manner: dump file with snapshots at 300K (from all replicas), another with snapshots at 310K, etc. Note that these new dump files will not contain "continuous trajectories" for individual atoms, because two - successive snapshots (in time) may be from different replicas. The - reorder\_remd\_traj python script can do the reordering for you - (and additionally also calculated configurational log-weights of + successive snapshots (in time) may be from different replicas. The + reorder_remd_traj python script can do the reordering for you + (and additionally also calculated configurational log-weights of trajectory snapshots in the canonical ensemble). The script can be found in the tools/replica directory while instructions on how to use it is available in doc/Tools (in brief) and as a README file in tools/replica @@ -142,29 +137,24 @@ the variable to the *N* values listed in the log file for the previous run for the replica temperatures at that timestep. For example if the log file listed the following for a simulation with 5 replicas: - .. parsed-literal:: 500000 2 4 0 1 3 then a setting of - -.. parsed-literal:: +.. code-block:: LAMMPS variable w world 2 4 0 1 3 would be used to restart the run with a tempering command like the example above with $w as the last argument. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`Build package <Build_package>` doc page for more info. diff --git a/doc/src/temper_grem.rst b/doc/src/temper_grem.rst index 150e2f27db..c492adfa69 100644 --- a/doc/src/temper_grem.rst +++ b/doc/src/temper_grem.rst @@ -6,7 +6,6 @@ temper/grem command Syntax """""" - .. parsed-literal:: temper/grem N M lambda fix-ID thermostat-ID seed1 seed2 index @@ -23,11 +22,10 @@ Syntax Examples """""""" +.. code-block:: LAMMPS -.. parsed-literal:: - - temper/grem 100000 1000 $\ *lambda* fxgREM fxnvt 0 58728 - temper/grem 40000 100 $\ *lambda* fxgREM fxnpt 0 32285 $\ *walkers* + temper/grem 100000 1000 ${lambda} fxgREM fxnvt 0 58728 + temper/grem 40000 100 ${lambda} fxgREM fxnpt 0 32285 ${walkers} Description """"""""""" @@ -49,18 +47,18 @@ has the same dependencies, restraints, and input variables which are discussed there in greater detail. Instead of temperature, this command performs replica exchanges in -lambda as per the generalized ensemble enforced by :doc:`fix grem <fix_grem>`. The desired lambda is specified by *lambda*\ , -which is typically a variable previously set in the input script, so -that each partition is assigned a different temperature. See the -:doc:`variable <variable>` command for more details. For example: +lambda as per the generalized ensemble enforced by :doc:`fix grem +<fix_grem>`. The desired lambda is specified by *lambda*\ , which is +typically a variable previously set in the input script, so that each +partition is assigned a different temperature. See the :doc:`variable +<variable>` command for more details. For example: - -.. parsed-literal:: +.. code-block:: LAMMPS variable lambda world 400 420 440 460 fix fxnvt all nvt temp 300.0 300.0 100.0 - fix fxgREM all grem $\ *lambda* -0.05 -50000 fxnvt - temper 100000 100 $\ *lambda* fxgREM fxnvt 3847 58382 + fix fxgREM all grem ${lambda} -0.05 -50000 fxnvt + temper/grem 100000 100 ${lambda} fxgREM fxnvt 3847 58382 would define 4 lambdas with constant kinetic temperature but unique generalized temperature, and assign one of them to :doc:`fix grem <fix_grem>` used by each replica, and to the grem command. @@ -84,30 +82,25 @@ replica) which had previously swapped to new lambda. This is done using a variable. For example if the log file listed the following for a simulation with 5 replicas: - .. parsed-literal:: 500000 2 4 0 1 3 then a setting of - -.. parsed-literal:: +.. code-block:: LAMMPS variable walkers world 2 4 0 1 3 would be used to restart the run with a grem command like the example -above with $\ *walkers* as the last argument. This functionality is +above with ${walkers} as the last argument. This functionality is identical to :doc:`temper <temper>`. - ---------- - Restrictions """""""""""" - This command 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. @@ -123,6 +116,4 @@ Related commands .. _KimStraub: - - **(Kim)** Kim, Keyes, Straub, J Chem Phys, 132, 224107 (2010). diff --git a/doc/src/temper_npt.rst b/doc/src/temper_npt.rst index e8db3eca86..e0897886f4 100644 --- a/doc/src/temper_npt.rst +++ b/doc/src/temper_npt.rst @@ -6,7 +6,6 @@ temper/npt command Syntax """""" - .. parsed-literal:: temper/npt N M temp fix-ID seed1 seed2 pressure index @@ -23,8 +22,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS temper/npt 100000 100 $t nptfix 0 58728 1 temper/npt 2500000 1000 300 nptfix 0 32285 $p @@ -48,14 +46,11 @@ of pressure, this command works much like the :doc:`temper <temper>` command. See the documentation on :doc:`temper <temper>` for information on how the parallel tempering is handled in general. - ---------- - Restrictions """""""""""" - This command 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. @@ -72,12 +67,8 @@ Related commands .. _Okabe2: - - **(Okabe)** T. Okabe, M. Kawata, Y. Okamoto, M. Masuhiro, Chem. Phys. Lett., 335, 435-439 (2001). .. _Mori2: - - **(Mori)** Y. Mori, Y. Okamoto, J. Phys. Soc. Jpn., 7, 074003 (2010). diff --git a/doc/src/thermo.rst b/doc/src/thermo.rst index 08e1e4cbbb..154fd59431 100644 --- a/doc/src/thermo.rst +++ b/doc/src/thermo.rst @@ -6,7 +6,6 @@ thermo command Syntax """""" - .. parsed-literal:: thermo N @@ -17,8 +16,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS thermo 100 @@ -34,7 +32,7 @@ The content and format of what is printed is controlled by the :doc:`thermo_style <thermo_style>` and :doc:`thermo_modify <thermo_modify>` commands. -Instead of a numeric value, N can be specified as an :doc:`equal-style variable <variable>`, which should be specified as v\_name, where +Instead of a numeric value, N can be specified as an :doc:`equal-style variable <variable>`, which should be specified as v_name, where name is the variable name. In this case, the variable is evaluated at the beginning of a run to determine the next timestep at which thermodynamic info will be written out. On that timestep, the @@ -47,8 +45,7 @@ options for :doc:`equal-style variables <variable>`. For example, the following commands will output thermodynamic info at timesteps 0,10,20,30,100,200,300,1000,2000,etc: - -.. parsed-literal:: +.. code-block:: LAMMPS variable s equal logfreq(10,3,10) thermo v_s @@ -65,7 +62,6 @@ Related commands Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS thermo 0 diff --git a/doc/src/thermo_modify.rst b/doc/src/thermo_modify.rst index 1fa84a40f4..3cec230189 100644 --- a/doc/src/thermo_modify.rst +++ b/doc/src/thermo_modify.rst @@ -6,15 +6,14 @@ thermo_modify command Syntax """""" - .. code-block:: LAMMPS thermo_modify keyword value ... * one or more keyword/value pairs may be listed - + .. parsed-literal:: - + keyword = *lost* or *lost/bond* or *norm* or *flush* or *line* or *format* or *temp* or *press*\ :l *lost* value = *error* or *warn* or *ignore* *lost/bond* value = *error* or *warn* or *ignore* @@ -27,12 +26,9 @@ Syntax *temp* value = compute ID that calculates a temperature *press* value = compute ID that calculates a pressure - - Examples """""""" - .. code-block:: LAMMPS thermo_modify lost ignore flush yes @@ -51,9 +47,9 @@ by LAMMPS. These options apply to the currently defined thermo style. When you specify a :doc:`thermo_style <thermo_style>` command, all thermodynamic settings are restored to their default values, including - those previously reset by a thermo\_modify command. Thus if your input - script specifies a thermo\_style command, you should use the - thermo\_modify command after it. + those previously reset by a thermo_modify command. Thus if your input + script specifies a thermo_style command, you should use the + thermo_modify command after it. The *lost* keyword determines whether LAMMPS checks for lost atoms each time it computes thermodynamics and what it does if atoms are @@ -108,7 +104,7 @@ The *line* keyword determines whether thermodynamics will be output as a series of numeric values on one line or in a multi-line format with 3 quantities with text strings per line and a dashed-line header containing the timestep and CPU time. This modify option overrides -the *one* and *multi* thermo\_style settings. +the *one* and *multi* thermo_style settings. The *format* keyword can be used to change the default numeric format of any of quantities the :doc:`thermo_style <thermo_style>` command @@ -148,7 +144,7 @@ The specified compute ID must have been previously defined by the user via the :doc:`compute <compute>` command and it must be a style of compute that calculates a temperature. As described in the :doc:`thermo_style <thermo_style>` command, thermo output uses a default -compute for temperature with ID = *thermo\_temp*. This option allows +compute for temperature with ID = *thermo_temp*. This option allows the user to override the default. The *press* keyword is used to determine how thermodynamic pressure is @@ -158,13 +154,13 @@ must have been previously defined by the user via the :doc:`compute <compute>` command and it must be a style of compute that calculates a pressure. As described in the :doc:`thermo_style <thermo_style>` command, thermo output uses a default -compute for pressure with ID = *thermo\_press*. This option allows the +compute for pressure with ID = *thermo_press*. This option allows the user to override the default. .. note:: If both the *temp* and *press* keywords are used in a single - thermo\_modify command (or in two separate commands), then the order in + thermo_modify command (or in two separate commands), then the order in which the keywords are specified is important. Note that a :doc:`pressure compute <compute_pressure>` defines its own temperature compute as an argument when it is specified. The *temp* keyword will override this (for the pressure compute being used by thermodynamics), but only @@ -187,7 +183,7 @@ Default The option defaults are lost = error, norm = yes for unit style of *lj*\ , norm = no for unit style of *real* and *metal*\ , flush = no, -and temp/press = compute IDs defined by thermo\_style. +and temp/press = compute IDs defined by thermo_style. The defaults for the line and format options depend on the thermo style. For styles "one" and "custom", the line and format defaults diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index b093160611..dbb634a2b0 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -12,9 +12,9 @@ Syntax * style = *one* or *multi* or *custom* * args = list of arguments for a particular style - + .. parsed-literal:: - + *one* args = none *multi* args = none *custom* args = list of keywords @@ -83,8 +83,6 @@ Syntax v_name = value calculated by an equal-style variable with name v_name[I] = value calculated by a vector-style variable with name - - Examples """""""" @@ -102,17 +100,17 @@ Set the style and content for printing thermodynamic data to the screen and log file. Style *one* prints a one-line summary of thermodynamic info that is -the equivalent of "thermo\_style custom step temp epair emol etotal +the equivalent of "thermo_style custom step temp epair emol etotal press". The line contains only numeric values. Style *multi* prints a multiple-line listing of thermodynamic info -that is the equivalent of "thermo\_style custom etotal ke temp pe ebond +that is the equivalent of "thermo_style custom etotal ke temp pe ebond eangle edihed eimp evdwl ecoul elong press". The listing contains numeric values and a string ID for each quantity. Style *custom* is the most general setting and allows you to specify which of the keywords listed above you want printed on each -thermodynamic timestep. Note that the keywords c\_ID, f\_ID, v\_name are +thermodynamic timestep. Note that the keywords c_ID, f_ID, v_name are references to :doc:`computes <compute>`, :doc:`fixes <fix>`, and equal-style :doc:`variables <variable>` that have been defined elsewhere in the input script or can even be new styles which users have added @@ -126,7 +124,7 @@ outputs if the simulation box volume changes during the simulation. The values printed by the various keywords are instantaneous values, calculated on the current timestep. Time-averaged quantities, which include values from previous timesteps, can be output by using the -f\_ID keyword and accessing a fix that does time-averaging such as the +f_ID keyword and accessing a fix that does time-averaging such as the :doc:`fix ave/time <fix_ave_time>` command. Options invoked by the :doc:`thermo_modify <thermo_modify>` command can @@ -137,28 +135,25 @@ atoms in the system), and the numeric precision of each printed value. .. note:: - When you use a "thermo\_style" command, all thermodynamic + When you use a "thermo_style" command, all thermodynamic settings are restored to their default values, including those previously set by a :doc:`thermo_modify <thermo_modify>` command. Thus - if your input script specifies a thermo\_style command, you should use - the thermo\_modify command after it. - + if your input script specifies a thermo_style command, you should use + the thermo_modify command after it. ---------- - Several of the thermodynamic quantities require a temperature to be computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx", etc. By default this is done by using a *temperature* compute which is created when LAMMPS starts up, as if this command had been issued: - .. code-block:: LAMMPS compute thermo_temp all temp See the :doc:`compute temp <compute_temp>` command for details. Note -that the ID of this compute is *thermo\_temp* and the group is *all*\ . +that the ID of this compute is *thermo_temp* and the group is *all*\ . You can change the attributes of this temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify <compute_modify>` command. Alternatively, you can directly assign a new compute (that @@ -171,13 +166,12 @@ computed: "press", "enthalpy", "pxx", etc. By default this is done by using a *pressure* compute which is created when LAMMPS starts up, as if this command had been issued: - .. code-block:: LAMMPS compute thermo_press all pressure thermo_temp See the :doc:`compute pressure <compute_pressure>` command for details. -Note that the ID of this compute is *thermo\_press* and the group is +Note that the ID of this compute is *thermo_press* and the group is *all*\ . You can change the attributes of this pressure via the :doc:`compute_modify <compute_modify>` command. Alternatively, you can directly assign a new compute (that calculates pressure) which you @@ -190,20 +184,17 @@ be computed: "pe", "etotal", "ebond", etc. This is done by using a *pe* compute which is created when LAMMPS starts up, as if this command had been issued: - .. code-block:: LAMMPS compute thermo_pe all pe See the :doc:`compute pe <compute_pe>` command for details. Note that -the ID of this compute is *thermo\_pe* and the group is *all*\ . You can +the ID of this compute is *thermo_pe* and the group is *all*\ . You can change the attributes of this potential energy via the :doc:`compute_modify <compute_modify>` command. - ---------- - The kinetic energy of the system *ke* is inferred from the temperature of the system with :math:`\frac{1}{2} k_B T` of energy for each degree of freedom. Thus, using different :doc:`compute commands <compute>` for @@ -225,10 +216,8 @@ is included in *evdwl*\ , *epair*\ , *pe*\ , and *etotal*\ , and the corresponding tail correction to the pressure is included in *press* and *pxx*\ , *pyy*\ , etc. - ---------- - The *step*\ , *elapsed*\ , and *elaplong* keywords refer to timestep count. *Step* is the current timestep, or iteration count when a :doc:`minimization <minimize>` is being performed. *Elapsed* is the @@ -244,7 +233,7 @@ The *dt* keyword is the current timestep size in time simulation time, also in time :doc:`units <units>`, which is simply (step\*dt) if the timestep size has not changed and the timestep has not been reset. If the timestep has changed (e.g. via :doc:`fix dt/reset <fix_dt_reset>`) or the timestep has been reset (e.g. via -the "reset\_timestep" command), then the simulation time is effectively +the "reset_timestep" command), then the simulation time is effectively a cumulative value up to the current point. The *cpu* keyword is elapsed CPU seconds since the beginning of this @@ -283,7 +272,6 @@ If the timeout timer is inactive, the value of this keyword is 0.0 and if the timer is expired, it is negative. This allows for example to exit loops cleanly, if the timeout is expired with: - .. code-block:: LAMMPS if "$(timeremain) < 0.0" then "quit 0" @@ -314,12 +302,10 @@ of triclinic periodic cells, including a precise definition of these quantities in terms of the internal LAMMPS cell dimensions *lx*\ , *ly*\ , *lz*\ , *yz*\ , *xz*\ , *xy*\ . - ---------- - For output values from a compute or fix, the bracketed index I used to -index a vector, as in *c\_ID[I]* or *f\_ID[I]*, can be specified +index a vector, as in *c_ID[I]* or *f_ID[I]*, can be specified using a wildcard asterisk with the index to effectively specify multiple values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". If N = the size of the vector (for *mode* = scalar) or the number of @@ -330,11 +316,10 @@ all indices from n to N (inclusive). A middle asterisk means all indices from m to n (inclusive). Using a wildcard is the same as if the individual elements of the -vector had been listed one by one. E.g. these 2 thermo\_style commands +vector had been listed one by one. E.g. these 2 thermo_style commands are equivalent, since the :doc:`compute temp <compute_temp>` command creates a global vector with 6 values. - .. code-block:: LAMMPS compute myTemp all temp @@ -343,18 +328,16 @@ creates a global vector with 6 values. c_myTemp[1] c_myTemp[2] c_myTemp[3] & c_myTemp[4] c_myTemp[5] c_myTemp[6] - ---------- - -The *c\_ID* and *c\_ID[I]* and *c\_ID[I][J]* keywords allow global +The *c_ID* and *c_ID[I]* and *c_ID[I][J]* keywords allow global values calculated by a compute to be output. As discussed on the :doc:`compute <compute>` doc page, computes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom compute values for an individual atom can be referenced in a :doc:`variable <variable>` and the variable -referenced by thermo\_style custom, as discussed below. See the -discussion above for how the I in *c\_ID[I]* can be specified with a +referenced by thermo_style custom, as discussed below. See the +discussion above for how the I in *c_ID[I]* can be specified with a wildcard asterisk to effectively specify multiple values from a global compute vector. @@ -368,18 +351,18 @@ Note that some computes calculate "intensive" global quantities like temperature; others calculate "extensive" global quantities like kinetic energy that are summed over all atoms in the compute group. Intensive quantities are printed directly without normalization by -thermo\_style custom. Extensive quantities may be normalized by the +thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in the compute group) when output, depending on the :doc:`thermo_modify norm <thermo_modify>` option being used. -The *f\_ID* and *f\_ID[I]* and *f\_ID[I][J]* keywords allow global +The *f_ID* and *f_ID[I]* and *f_ID[I][J]* keywords allow global values calculated by a fix to be output. As discussed on the :doc:`fix <fix>` doc page, fixes can calculate global, per-atom, or local values. Only global values can be referenced by this command. However, per-atom fix values can be referenced for an individual atom in a :doc:`variable <variable>` and the variable referenced by -thermo\_style custom, as discussed below. See the discussion above for -how the I in *f\_ID[I]* can be specified with a wildcard asterisk to +thermo_style custom, as discussed below. See the discussion above for +how the I in *f_ID[I]* can be specified with a wildcard asterisk to effectively specify multiple values from a global fix vector. The ID in the keyword should be replaced by the actual ID of a fix @@ -391,13 +374,13 @@ brackets will reference a scalar value from the fix. Note that some fixes calculate "intensive" global quantities like timestep size; others calculate "extensive" global quantities like energy that are summed over all atoms in the fix group. Intensive -quantities are printed directly without normalization by thermo\_style +quantities are printed directly without normalization by thermo_style custom. Extensive quantities may be normalized by the total number of atoms in the simulation (NOT the number of atoms in the fix group) when output, depending on the :doc:`thermo_modify norm <thermo_modify>` option being used. -The *v\_name* keyword allow the current value of a variable to be +The *v_name* keyword allow the current value of a variable to be output. The name in the keyword should be replaced by the variable name that has been defined elsewhere in the input script. Only equal-style and vector-style variables can be referenced; the latter @@ -413,17 +396,14 @@ output. Note that equal-style and vector-style variables are assumed to produce "intensive" global quantities, which are thus printed as-is, -without normalization by thermo\_style custom. You can include a +without normalization by thermo_style custom. You can include a division by "natoms" in the variable formula if this is not the case. - ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a :doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`, or :doc:`create_box <create_box>` command. @@ -438,7 +418,6 @@ Related commands Default """"""" - .. code-block:: LAMMPS thermo_style one diff --git a/doc/src/third_order.rst b/doc/src/third_order.rst index 3356bd007f..2a6de933e0 100644 --- a/doc/src/third_order.rst +++ b/doc/src/third_order.rst @@ -6,7 +6,6 @@ third_order command Syntax """""" - .. code-block:: LAMMPS third_order group-ID style delta args keyword value ... @@ -15,19 +14,16 @@ Syntax * style = *regular* or *eskm* * delta = finite different displacement length (distance units) * one or more keyword/arg pairs may be appended - + .. parsed-literal:: - + keyword = *file* or *binary* *file* name = name of output file for the third order tensor *binary* arg = *yes* or *no* or *gzip* - - Examples """""""" - .. code-block:: LAMMPS third_order 1 regular 0.000001 @@ -50,13 +46,12 @@ three elements correspond to the three gamma elements for a specific i/alpha/j/b The initial five numbers are i, alpha, j, beta, and k respectively. If the style eskm is selected, the tensor will be using energy units of 10 J/mol. -These units conform to eskm style from the dynamical\_matrix command, which +These units conform to eskm style from the dynamical_matrix command, which will simplify operations using dynamical matrices with third order tensors. Restrictions """""""""""" - The command collects a 9 times the number of atoms in the group on every single MPI rank, so the memory requirements can be very significant for large systems. @@ -71,4 +66,4 @@ Related commands Default """"""" -The default settings are file = "third\_order.dat", binary = no +The default settings are file = "third_order.dat", binary = no diff --git a/doc/src/timer.rst b/doc/src/timer.rst index b833542d09..eac86656af 100644 --- a/doc/src/timer.rst +++ b/doc/src/timer.rst @@ -6,7 +6,6 @@ timer command Syntax """""" - .. parsed-literal:: timer args @@ -27,8 +26,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS timer full sync timer timeout 2:00:00 every 100 @@ -127,8 +125,7 @@ Related commands Default """"""" - -.. parsed-literal:: +.. code-block:: LAMMPS timer normal nosync timer timeout off diff --git a/doc/src/timestep.rst b/doc/src/timestep.rst index f3faaf25d2..7ee090740a 100644 --- a/doc/src/timestep.rst +++ b/doc/src/timestep.rst @@ -6,7 +6,6 @@ timestep command Syntax """""" - .. parsed-literal:: timestep dt @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS timestep 2.0 timestep 0.003 diff --git a/doc/src/uncompute.rst b/doc/src/uncompute.rst index 0950dd6bb2..16efdb86bf 100644 --- a/doc/src/uncompute.rst +++ b/doc/src/uncompute.rst @@ -6,7 +6,6 @@ uncompute command Syntax """""" - .. parsed-literal:: uncompute compute-ID @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS uncompute 2 uncompute lower-boundary diff --git a/doc/src/undump.rst b/doc/src/undump.rst index 98c18ea8f7..b45e10082b 100644 --- a/doc/src/undump.rst +++ b/doc/src/undump.rst @@ -6,7 +6,6 @@ undump command Syntax """""" - .. parsed-literal:: undump dump-ID @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS undump mine undump 2 diff --git a/doc/src/unfix.rst b/doc/src/unfix.rst index d85436c275..e5696a1d7d 100644 --- a/doc/src/unfix.rst +++ b/doc/src/unfix.rst @@ -6,7 +6,6 @@ unfix command Syntax """""" - .. parsed-literal:: unfix fix-ID @@ -16,8 +15,7 @@ Syntax Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS unfix 2 unfix lower-boundary diff --git a/doc/src/units.rst b/doc/src/units.rst index 4104b428ce..95792f7edf 100644 --- a/doc/src/units.rst +++ b/doc/src/units.rst @@ -6,7 +6,6 @@ units command Syntax """""" - .. parsed-literal:: units style @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS units metal @@ -51,10 +49,8 @@ new units. And you must correctly convert all output from the new units to the old units when comparing to the original results. That is often not simple to do. - ---------- - For style *lj*\ , all quantities are unitless. Without loss of generality, LAMMPS sets the fundamental quantities mass, :math:`\sigma`, :math:`\epsilon`, and the Boltzmann constant :math:`k_B = 1`. The @@ -219,7 +215,6 @@ distance to default values for each style: Restrictions """""""""""" - This command cannot be used after the simulation box is defined by a :doc:`read_data <read_data>` or :doc:`create_box <create_box>` command. @@ -228,7 +223,6 @@ This command cannot be used after the simulation box is defined by a Default """"""" - .. code-block:: LAMMPS units lj diff --git a/doc/src/variable.rst b/doc/src/variable.rst index 9aeb9dc4ba..0e30efc0ab 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -6,16 +6,15 @@ variable command Syntax """""" - .. parsed-literal:: variable name style args ... * name = name of variable to define * style = *delete* or *index* or *loop* or *world* or *universe* or *uloop* or *string* or *format* or *getenv* or *file* or *atomfile* or *python* or *internal* or *equal* or *vector* or *atom* - + .. parsed-literal:: - + *delete* = no args *index* args = one or more strings *loop* args = N @@ -74,22 +73,19 @@ Syntax fix references = f_ID, f_ID[i], f_ID[i][j], F_ID, F_ID[i] variable references = v_name, v_name[i] - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS variable x index run1 run2 run3 run4 run5 run6 run7 run8 variable LoopVar loop $n variable beta equal temp/3.0 - variable b1 equal x[234]+0.5\*vol - variable b1 equal "x[234] + 0.5\*vol" + variable b1 equal x[234]+0.5*vol + variable b1 equal "x[234] + 0.5*vol" variable b equal xcm(mol1,x)/2.0 variable b equal c_myTemp - variable b atom x\*y/vol + variable b atom x*y/vol variable foo string myfile variable foo internal 3.5 variable myPy python increase @@ -198,7 +194,7 @@ There are two exceptions to this rule. First, variables of style allows these style of variables to be redefined multiple times in an input script. In a loop, this means the formula associated with an *equal* or *atom* style variable can change if it contains a -substitution for another variable, e.g. $x or v\_x. +substitution for another variable, e.g. $x or v_x. Second, as described below, if a variable is iterated on to the end of its list of strings via the :doc:`next <next>` command, it is removed @@ -206,10 +202,8 @@ from the list of active variables, and is thus available to be re-defined in a subsequent variable command. The *delete* style does the same thing. - ---------- - The :doc:`Commands parse <Commands_parse>` doc page explains how occurrences of a variable name in an input script line are replaced by the variable's string. The variable name can be referenced as $x if @@ -231,8 +225,7 @@ script or when the input script is looped over. This can be useful when breaking out of a loop via the :doc:`if <if>` and :doc:`jump <jump>` commands before the variable would become exhausted. For example, - -.. parsed-literal:: +.. code-block:: LAMMPS label loop variable a loop 5 @@ -243,10 +236,8 @@ commands before the variable would become exhausted. For example, label break variable a delete - ---------- - This section describes how all the various variable styles are defined and what they store. Except for the *equal* and *vector* and *atom* styles, which are explained in the next section. @@ -379,7 +370,6 @@ the count N of per-atom lines to immediately follow. N can be the total number of atoms in the system, or only a subset. The next N lines have the following format - .. parsed-literal:: ID value @@ -398,8 +388,7 @@ to match a function name specified in a :doc:`python <python>` command which returns a value to this variable as defined by its *return* keyword. For example these two commands would be self-consistent: - -.. parsed-literal:: +.. code-block:: LAMMPS variable foo python myMultiply python myMultiply return v_foo format f file funcs.py @@ -430,10 +419,8 @@ internal-style variable can be used in place of an equal-style variable anywhere else in an input script, e.g. as an argument to another command that allows for equal-style variables. - ---------- - For the *equal* and *vector* and *atom* styles, a single string is specified which represents a formula that will be evaluated afresh each time the variable is used. If you want spaces in the string, @@ -468,10 +455,9 @@ simple, but multiple quantities can be nested and combined in various ways to build up formulas of arbitrary complexity. For example, this is a valid (though strange) variable formula: +.. code-block:: LAMMPS -.. parsed-literal:: - - variable x equal "pe + c_MyTemp / vol\^(1/3)" + variable x equal "pe + c_MyTemp / vol^(1/3)" Specifically, a formula can contain numbers, constants, thermo keywords, math operators, math functions, group functions, region @@ -499,11 +485,11 @@ references, and references to other variables. +--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Atom vectors | id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q | +--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Compute references | c\_ID, c\_ID[i], c\_ID[i][j], C\_ID, C\_ID[i] | +| Compute references | c_ID, c_ID[i], c_ID[i][j], C_ID, C_ID[i] | +--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Fix references | f\_ID, f\_ID[i], f\_ID[i][j], F\_ID, F\_ID[i] | +| Fix references | f_ID, f_ID[i], f_ID[i][j], F_ID, F_ID[i] | +--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| Other variables | v\_name, v\_name[i] | +| Other variables | v_name, v_name[i] | +--------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Most of the formula elements produce a scalar value. Some produce a @@ -530,10 +516,8 @@ the atom-style variable, only atoms in the group are included in the formula evaluation. The variable evaluates to 0.0 for atoms not in the group. - ---------- - Numbers, constants, and thermo keywords --------------------------------------- @@ -551,8 +535,7 @@ adapt automatically to LAMMPS versions, when non-backwards compatible syntax changes are introduced. Here is an illustrative example (which will not work, since the *version* has been introduced more recently): - -.. parsed-literal:: +.. code-block:: LAMMPS if $(version<20140513) then "communicate vel yes" else "comm_modify vel yes" @@ -562,7 +545,7 @@ require a :doc:`compute <compute>` to calculate their values such as "temp" or "press", use computes stored and invoked by the :doc:`thermo_style <thermo_style>` command. This means that you can only use those keywords in a variable if the style you are using with -the thermo\_style command (and the thermo keywords associated with that +the thermo_style command (and the thermo keywords associated with that style) also define and use the needed compute. Note that some thermo keywords use a compute indirectly to calculate their value (e.g. the enthalpy keyword uses temp, pe, and pressure). If a variable is @@ -570,10 +553,8 @@ evaluated directly in an input script (not during a run), then the values accessed by the thermo keyword must be current. See the discussion below about "Variable Accuracy". - ---------- - Math Operators -------------- @@ -622,10 +603,8 @@ whose properties satisfy one or more criteria could be calculated by taking the returned per-atom vector of ones and zeroes and passing it to the :doc:`compute reduce <compute_reduce>` command. - ---------- - Math Functions -------------- @@ -673,7 +652,6 @@ The ramp(x,y) function uses the current timestep to generate a value linearly interpolated between the specified x,y values over the course of a run, according to this formula: - .. parsed-literal:: value = x + (y-x) \* (timestep-startstep) / (stopstep-startstep) @@ -691,7 +669,6 @@ timestep in the sequence is returned. Thus if stagger(1000,100) is used in a variable by the :doc:`dump_modify every <dump_modify>` command, it will generate the sequence of output timesteps: - .. parsed-literal:: 100,1000,1100,2000,2100,3000,etc @@ -706,7 +683,6 @@ any current timestep, the next timestep in the sequence is returned. Thus if logfreq(100,4,10) is used in a variable by the :doc:`dump_modify every <dump_modify>` command, it will generate this sequence of output timesteps: - .. parsed-literal:: 100,200,300,400,1000,2000,3000,4000,10000,20000,etc @@ -718,7 +694,6 @@ logfreq2(100,18,10) is used in a variable by the :doc:`dump_modify every <dump_m 1000 is divided as 900/18 = 50 steps, and it will generate the sequence of output timesteps: - .. parsed-literal:: 100,150,200,...950,1000,1500,2000,...9500,10000,15000,etc @@ -731,7 +706,6 @@ between 10 and 1000 is divided into 24 parts with a multiplicative separation of ~1.21, and it will generate the following sequence of output timesteps: - .. parsed-literal:: 10, 13, 15, 18, 22, 27, 32,...384, 465, 563, 682, 826, 1000 @@ -746,7 +720,6 @@ in the sequence is returned. Thus if stride(1000,2000,100) is used in a variable by the :doc:`dump_modify every <dump_modify>` command, it will generate the sequence of output timesteps: - .. parsed-literal:: 1000,1100,1200, ... ,1900,2000 @@ -766,7 +739,6 @@ if stride2(1000,2000,100,1350,1360,1) is used in a variable by the :doc:`dump_modify every <dump_modify>` command, it will generate the sequence of output timesteps: - .. parsed-literal:: 1000,1100,1200,1300,1350,1351,1352, ... 1359,1360,1400,1500, ... ,2000 @@ -776,7 +748,6 @@ velocity, and uses the elapsed time to change the value by a linear displacement due to the applied velocity over the course of a run, according to this formula: - .. parsed-literal:: value = value0 + velocity\*(timestep-startstep)\*dt @@ -794,7 +765,6 @@ x = value0, y = amplitude, z = period. They use the elapsed time to oscillate the value by a sin() or cos() function over the course of a run, according to one of these formulas, where omega = 2 PI / period: - .. parsed-literal:: value = value0 + Amplitude \* sin(omega\*(timestep-startstep)\*dt) @@ -808,10 +778,8 @@ the *start* keyword of the :doc:`run <run>` command. See the :doc:`thermo_style <thermo_style>` keyword elaplong = timestep-startstep. - ---------- - Group and Region Functions -------------------------- @@ -845,10 +813,8 @@ The function is computed for all atoms that are in both the group and the region. If the group is "all", then the only criteria for atom inclusion is that it be in the region. - ---------- - Special Functions ----------------- @@ -856,15 +822,15 @@ Special functions take specific kinds of arguments, meaning their arguments cannot be formulas themselves. The sum(x), min(x), max(x), ave(x), trap(x), and slope(x) functions -each take 1 argument which is of the form "c\_ID" or "c\_ID[N]" or -"f\_ID" or "f\_ID[N]" or "v\_name". The first two are computes and the +each take 1 argument which is of the form "c_ID" or "c_ID[N]" or +"f_ID" or "f_ID[N]" or "v_name". The first two are computes and the second two are fixes; the ID in the reference should be replaced by the ID of a compute or fix defined elsewhere in the input script. The compute or fix must produce either a global vector or array. If it produces a global vector, then the notation without "[N]" should be used. If it produces a global array, then the notation with "[N]" should be used, when N is an integer, to specify which column of the -global array is being referenced. The last form of argument "v\_name" +global array is being referenced. The last form of argument "v_name" is for a vector-style variable where "name" is replaced by the name of the variable. @@ -909,7 +875,7 @@ variables. It returns a 1 for atoms that are in both the group and region, and a 0 for atoms that are not in both. The next(x) function takes 1 argument which is a variable ID (not -"v\_foo", just "foo"). It must be for a file-style or atomfile-style +"v_foo", just "foo"). It must be for a file-style or atomfile-style variable. Each time the next() function is invoked (i.e. each time the equal-style or atom-style variable is evaluated), the following steps occur. @@ -933,10 +899,8 @@ invoked more times than there are lines or sets of lines in the file, the variable is deleted, similar to how the :doc:`next <next>` command operates. - ---------- - Feature Functions ----------------- @@ -948,23 +912,23 @@ themselves (only $-style immediate variable expansion is possible). Return value is either 1.0 or 0.0 depending on whether the function evaluates to true or false, respectively. -The *is\_active()* function allows to query for active settings which +The *is_active()* function allows to query for active settings which are grouped by categories. Currently supported categories and arguments are: * *package* (argument = *gpu* or *intel* or *kokkos* or *omp*\ ) * *newton* (argument = *pair* or *bond* or *any*\ ) * *pair* (argument = *single* or *respa* or *manybody* or *tail* or *shift*\ ) -* *comm\_style* (argument = *brick* or *tiled*\ ) -* *min\_style* (argument = any of the compiled in minimizer styles) -* *run\_style* (argument = any of the compiled in run styles) -* *atom\_style* (argument = any of the compiled in atom styles) -* *pair\_style* (argument = any of the compiled in pair styles) -* *bond\_style* (argument = any of the compiled in bond styles) -* *angle\_style* (argument = any of the compiled in angle styles) -* *dihedral\_style* (argument = any of the compiled in dihedral styles) -* *improper\_style* (argument = any of the compiled in improper styles) -* *kspace\_style* (argument = any of the compiled in kspace styles) +* *comm_style* (argument = *brick* or *tiled*\ ) +* *min_style* (argument = any of the compiled in minimizer styles) +* *run_style* (argument = any of the compiled in run styles) +* *atom_style* (argument = any of the compiled in atom styles) +* *pair_style* (argument = any of the compiled in pair styles) +* *bond_style* (argument = any of the compiled in bond styles) +* *angle_style* (argument = any of the compiled in angle styles) +* *dihedral_style* (argument = any of the compiled in dihedral styles) +* *improper_style* (argument = any of the compiled in improper styles) +* *kspace_style* (argument = any of the compiled in kspace styles) Most of the settings are self-explanatory, the *single* argument in the *pair* category allows to check whether a pair style supports a @@ -975,8 +939,7 @@ the checking is also done using suffix flags, if available and enabled. Example 1: disable use of suffix for pppm when using GPU package (i.e. run it on the CPU concurrently to running the pair style on the GPU), but do use the suffix otherwise (e.g. with USER-OMP). - -.. parsed-literal:: +.. code-block:: LAMMPS pair_style lj/cut/coul/long 14.0 if $(is_active(package,gpu)) then "suffix off" @@ -984,20 +947,19 @@ Example 1: disable use of suffix for pppm when using GPU package (i.e. run it on Example 2: use r-RESPA with inner/outer cutoff, if supported by pair style, otherwise fall back to using pair and reducing the outer time step +.. code-block:: LAMMPS -.. parsed-literal:: - - timestep $(2.0\*(1.0+2.0\*is_active(pair,respa)) + timestep $(2.0*(1.0+2.0*is_active(pair,respa)) if $(is_active(pair,respa)) then "run_style respa 4 3 2 2 improper 1 inner 2 5.5 7.0 outer 3 kspace 4" else "run_style respa 3 3 2 improper 1 pair 2 kspace 3" -The *is\_defined()* function allows to query categories like *compute*\ , +The *is_defined()* function allows to query categories like *compute*\ , *dump*\ , *fix*\ , *group*\ , *region*\ , and *variable* whether an entry with the provided name or id is defined. -The *is\_available(category,name)* function allows to query whether +The *is_available(category,name)* function allows to query whether a specific optional feature is available, i.e. compiled in. This currently works for the following categories: *command*\ , -*compute*\ , *fix*\ , *pair\_style* and *feature*\ . For all categories +*compute*\ , *fix*\ , *pair_style* and *feature*\ . For all categories except *command* and *feature* also appending active suffixes is tried before reporting failure. @@ -1009,30 +971,27 @@ and C++ exceptions for error handling. Corresponding values for name are This enables writing input scripts which only dump using a given format if the compiled binary supports it. - -.. parsed-literal:: +.. code-block:: LAMMPS if "$(is_available(feature,png))" then "print 'PNG supported'" else "print 'PNG not supported'" if "$(is_available(feature,ffmpeg)" then "dump 3 all movie 25 movie.mp4 type type zoom 1.6 adiam 1.0" - ---------- - Atom Values and Vectors ----------------------- Atom values take an integer argument I from 1 to N, where I is the atom-ID, e.g. x[243], which means use the x coordinate of the atom -with ID = 243. Or they can take a variable name, specified as v\_name, -where name is the name of the variable, like x[v\_myIndex]. The +with ID = 243. Or they can take a variable name, specified as v_name, +where name is the name of the variable, like x[v_myIndex]. The variable can be of any style except *vector* or *atom* or *atomfile* variables. The variable is evaluated and the result is expected to be numeric and is cast to an integer (i.e. 3.4 becomes 3), to use an index, which must be a value from 1 to N. Note that a "formula" cannot be used as the argument between the brackets, e.g. x[243+10] -or x[v\_myIndex+1] are not allowed. To do this a single variable can +or x[v_myIndex+1] are not allowed. To do this a single variable can be defined that contains the needed formula. Note that the 0 < atom-ID <= N, where N is the largest atom ID @@ -1052,10 +1011,8 @@ Note that many other atom attributes can be used as inputs to a variable by using the :doc:`compute property/atom <compute_property_atom>` command and then specifying a quantity from that compute. - ---------- - Compute References ------------------ @@ -1081,15 +1038,15 @@ reference means, since computes only produce either global or per-atom quantities, never both. +-------------+-------------------------------------------------------------------------------------------------------+ -| c\_ID | global scalar, or per-atom vector | +| c_ID | global scalar, or per-atom vector | +-------------+-------------------------------------------------------------------------------------------------------+ -| c\_ID[I] | Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array | +| c_ID[I] | Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array | +-------------+-------------------------------------------------------------------------------------------------------+ -| c\_ID[I][J] | I,J element of global array, or atom I's Jth value in per-atom array | +| c_ID[I][J] | I,J element of global array, or atom I's Jth value in per-atom array | +-------------+-------------------------------------------------------------------------------------------------------+ For I and J indices, integers can be specified or a variable name, -specified as v\_name, where name is the name of the variable. The +specified as v_name, where name is the name of the variable. The rules for this syntax are the same as for the "Atom Values and Vectors" discussion above. @@ -1099,17 +1056,16 @@ global vector. Consider a compute with ID "foo" that does this, referenced as follows by variable "a", where "myVec" is another vector-style variable: +.. code-block:: LAMMPS -.. parsed-literal:: + variable a vector c_foo*v_myVec - variable a vector c_foo\*v_myVec - -The reference "c\_foo" could refer to either the global scalar or -global vector produced by compute "foo". In this case, "c\_foo" will -always refer to the global scalar, and "C\_foo" can be used to +The reference "c_foo" could refer to either the global scalar or +global vector produced by compute "foo". In this case, "c_foo" will +always refer to the global scalar, and "C_foo" can be used to reference the global vector. Similarly if the compute produces both a -global vector and global array, then "c\_foo[I]" will always refer to -an element of the global vector, and "C\_foo[I]" can be used to +global vector and global array, then "c_foo[I]" will always refer to +an element of the global vector, and "C_foo[I]" can be used to reference the Ith column of the global array. Note that if a variable containing a compute is evaluated directly in @@ -1117,10 +1073,8 @@ an input script (not during a run), then the values accessed by the compute must be current. See the discussion below about "Variable Accuracy". - ---------- - Fix References -------------- @@ -1144,15 +1098,15 @@ as to what a reference means, since fixes only produce either global or per-atom quantities, never both. +-------------+-------------------------------------------------------------------------------------------------------+ -| f\_ID | global scalar, or per-atom vector | +| f_ID | global scalar, or per-atom vector | +-------------+-------------------------------------------------------------------------------------------------------+ -| f\_ID[I] | Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array | +| f_ID[I] | Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array | +-------------+-------------------------------------------------------------------------------------------------------+ -| f\_ID[I][J] | I,J element of global array, or atom I's Jth value in per-atom array | +| f_ID[I][J] | I,J element of global array, or atom I's Jth value in per-atom array | +-------------+-------------------------------------------------------------------------------------------------------+ For I and J indices, integers can be specified or a variable name, -specified as v\_name, where name is the name of the variable. The +specified as v_name, where name is the name of the variable. The rules for this syntax are the same as for the "Atom Values and Vectors" discussion above. @@ -1160,10 +1114,10 @@ One source of ambiguity for fix references is the same ambiguity discussed for compute references above. Namely when a vector-style variable refers to a fix that produces both a global scalar and a global vector. The solution is the same as for compute references. -For a fix with ID "foo", "f\_foo" will always refer to the global -scalar, and "F\_foo" can be used to reference the global vector. And +For a fix with ID "foo", "f_foo" will always refer to the global +scalar, and "F_foo" can be used to reference the global vector. And similarly for distinguishing between a fix's global vector versus -global array with "f\_foo[I]" versus "F\_foo[I]". +global array with "f_foo[I]" versus "F_foo[I]". Note that if a variable containing a fix is evaluated directly in an input script (not during a run), then the values accessed by the fix @@ -1176,10 +1130,8 @@ error is generated. For example, the :doc:`fix ave/time <fix_ave_time>` command may only generate averaged quantities every 100 steps. See the doc pages for individual fix commands for details. - ---------- - Variable References ------------------- @@ -1195,7 +1147,7 @@ generate a per-atom vector of numeric values. All other variables store one or more strings. The formula for an equal-style variable can use any style of variable -including a vector\_style or atom-style or atomfile-style. For these +including a vector_style or atom-style or atomfile-style. For these 3 styles, a subscript must be used to access a single value from the vector-, atom-, or atomfile-style variable. If a string-storing variable is used, the string is converted to a numeric value. Note @@ -1217,26 +1169,24 @@ There is no ambiguity as to what a reference means, since variables produce only a global scalar or global vector or per-atom vector. +------------+----------------------------------------------------------------------+ -| v\_name | global scalar from equal-style variable | +| v_name | global scalar from equal-style variable | +------------+----------------------------------------------------------------------+ -| v\_name | global vector from vector-style variable | +| v_name | global vector from vector-style variable | +------------+----------------------------------------------------------------------+ -| v\_name | per-atom vector from atom-style or atomfile-style variable | +| v_name | per-atom vector from atom-style or atomfile-style variable | +------------+----------------------------------------------------------------------+ -| v\_name[I] | Ith element of a global vector from vector-style variable | +| v_name[I] | Ith element of a global vector from vector-style variable | +------------+----------------------------------------------------------------------+ -| v\_name[I] | value of atom with ID = I from atom-style or atomfile-style variable | +| v_name[I] | value of atom with ID = I from atom-style or atomfile-style variable | +------------+----------------------------------------------------------------------+ For the I index, an integer can be specified or a variable name, -specified as v\_name, where name is the name of the variable. The +specified as v_name, where name is the name of the variable. The rules for this syntax are the same as for the "Atom Values and Vectors" discussion above. - ---------- - **Immediate Evaluation of Variables:** If you want an equal-style variable to be evaluated immediately, it @@ -1250,12 +1200,12 @@ named variable. More generally, there is a difference between referencing a variable with a leading $ sign (e.g. $x or ${abc}) versus with a leading "v\_" -(e.g. v\_x or v\_abc). The former can be used in any input script +(e.g. v_x or v_abc). The former can be used in any input script command, including a variable command. The input script parser evaluates the reference variable immediately and substitutes its value into the command. As explained on the :doc:`Commands parse <Commands_parse>` doc page, you can also use un-named "immediate" variables for this purpose. For example, a string like -this $((xlo+xhi)/2+sqrt(v\_area)) in an input script command evaluates +this $((xlo+xhi)/2+sqrt(v_area)) in an input script command evaluates the string between the parenthesis as an equal-style variable formula. Referencing a variable with a leading "v\_" is an optional or required @@ -1269,23 +1219,21 @@ evaluated. As an example, suppose you use this command in your input script to define the variable "v" as - -.. parsed-literal:: +.. code-block:: LAMMPS variable v equal vol before a run where the simulation box size changes. You might think this will assign the initial volume to the variable "v". That is not the case. Rather it assigns a formula which evaluates the volume -(using the thermo\_style keyword "vol") to the variable "v". If you +(using the thermo_style keyword "vol") to the variable "v". If you use the variable "v" in some other command like :doc:`fix ave/time <fix_ave_time>` then the current volume of the box will be evaluated continuously during the run. If you want to store the initial volume of the system, you can do it this way: - -.. parsed-literal:: +.. code-block:: LAMMPS variable v equal vol variable v0 equal $v @@ -1294,8 +1242,7 @@ The second command will force "v" to be evaluated (yielding the initial volume) and assign that value to the variable "v0". Thus the command - -.. parsed-literal:: +.. code-block:: LAMMPS thermo_style custom step v_v v_v0 @@ -1305,8 +1252,7 @@ during the run. Note that it is a mistake to enclose a variable formula in double quotes if it contains variables preceded by $ signs. For example, - -.. parsed-literal:: +.. code-block:: LAMMPS variable vratio equal "${vfinal}/${v0}" @@ -1314,10 +1260,8 @@ This is because the quotes prevent variable substitution (explained on the :doc:`Commands parse <Commands_parse>` doc page), and thus an error will occur when the formula for "vratio" is evaluated later. - ---------- - **Variable Accuracy:** Obviously, LAMMPS attempts to evaluate variables containing formulas @@ -1365,8 +1309,7 @@ timestep of the preceding run, e.g. by thermodynamic output. One way to get around this problem is to perform a 0-timestep run before using the variable. For example, these commands - -.. parsed-literal:: +.. code-block:: LAMMPS variable t equal temp print "Initial temperature = $t" @@ -1378,8 +1321,7 @@ a compute for calculating the temperature to be invoked. However, this sequence of commands would be fine: - -.. parsed-literal:: +.. code-block:: LAMMPS run 0 variable t equal temp @@ -1413,8 +1355,7 @@ a 0-timestep run before printing the variable has the desired effect. way to detect this has occurred. Consider the following sequence of commands: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 1 1.0 1.0 run 1000 @@ -1440,8 +1381,7 @@ the system is up-to-date. For example, this sequence of commands would print a potential energy that reflected the changed pairwise coefficient: - -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 1 1.0 1.0 run 1000 @@ -1450,14 +1390,11 @@ coefficient: variable e equal pe print "Final potential energy = $e" - ---------- - Restrictions """""""""""" - Indexing any formula element by global atom ID, such as an atom value, requires the :doc:`atom style <atom_style>` to use a global mapping in order to look up the vector indices. By default, only atom styles diff --git a/doc/src/velocity.rst b/doc/src/velocity.rst index 631ef80263..59ce0a19f6 100644 --- a/doc/src/velocity.rst +++ b/doc/src/velocity.rst @@ -6,16 +6,15 @@ velocity command Syntax """""" - .. parsed-literal:: velocity group-ID style args keyword value ... * group-ID = ID of group of atoms whose velocity will be changed * style = *create* or *set* or *scale* or *ramp* or *zero* - + .. parsed-literal:: - + *create* args = temp seed temp = temperature value (temperature units) seed = random # seed (positive integer) @@ -35,9 +34,9 @@ Syntax * zero or more keyword/value pairs may be appended * keyword = *dist* or *sum* or *mom* or *rot* or *temp* or *bias* or *loop* or *units* - + .. parsed-literal:: - + *dist* value = *uniform* or *gaussian* *sum* value = *no* or *yes* *mom* value = *no* or *yes* @@ -49,13 +48,10 @@ Syntax fix-ID = ID of rigid body fix *units* value = *box* or *lattice* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS velocity all create 300.0 4928459 rot yes dist gaussian velocity border set NULL 4.0 v_vz sum yes units box @@ -78,7 +74,7 @@ The *set* style sets the velocities of all atoms in the group to the specified values. If any component is specified as NULL, then it is not set. Any of the vx,vy,vz velocity components can be specified as an equal-style or atom-style :doc:`variable <variable>`. If the value -is a variable, it should be specified as v\_name, where name is the +is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated, and its value used to determine the velocity component. Note that if a variable is used, the velocity it calculates must be in box units, not @@ -124,10 +120,8 @@ coordinates depend on whether the *units* keyword is set to *box* or For all styles, no atoms are assigned z-component velocities if the simulation is 2d; see the :doc:`dimension <dimension>` command. - ---------- - The keyword/value options are used in the following ways by the various styles. @@ -145,10 +139,8 @@ The *mom* and *rot* keywords are used by *create*\ . If mom = yes, the linear momentum of the newly created ensemble of velocities is zeroed; if rot = yes, the angular momentum is zeroed. - ---------- - If specified, the *temp* keyword is used by *create* and *scale* to specify a :doc:`compute <compute>` that calculates temperature in a desired way, e.g. by first subtracting out a velocity bias, as @@ -156,8 +148,7 @@ discussed on the :doc:`Howto thermostat <Howto_thermostat>` doc page. If this keyword is not specified, *create* and *scale* calculate temperature using a compute that is defined internally as follows: - -.. parsed-literal:: +.. code-block:: LAMMPS compute velocity_temp group-ID temp @@ -190,10 +181,8 @@ specifying the ID of a :doc:`compute temp/ramp <compute_temp_ramp>` or :doc:`compute temp/profile <compute_temp_profile>` command, and the *bias* keyword set to a *yes* value. - ---------- - The *loop* keyword is used by *create* in the following ways. If loop = all, then each processor loops over all atoms in the @@ -226,10 +215,8 @@ This is because the computations based on xyz coordinates are sensitive to tiny differences in the double-precision value for a coordinate as stored on a particular machine. - ---------- - The *rigid* keyword only has meaning when used with the *zero* style. It allows specification of a fix-ID for one of the :doc:`rigid-body fix <fix_rigid>` variants which defines a set of rigid bodies. The zeroing of linear or angular momentum is then performed for each rigid @@ -243,14 +230,11 @@ are in units of lattice spacings per time (e.g. spacings/fmsec) and coordinates are in lattice spacings. The :doc:`lattice <lattice>` command must have been previously used to define the lattice spacing. - ---------- - Restrictions """""""""""" - Assigning a temperature via the *create* style to a system with :doc:`rigid bodies <fix_rigid>` or :doc:`SHAKE constraints <fix_shake>` may not have the desired outcome for two reasons. First, the velocity command can be invoked before all of the relevant fixes are created and @@ -262,8 +246,7 @@ temperature than desired. A workaround for this is to perform a :doc:`run 0 <ru properly, and then rescale the temperature to the desired value before performing a simulation. For example: - -.. parsed-literal:: +.. code-block:: LAMMPS velocity all create 300.0 12345 run 0 # temperature may not be 300K diff --git a/doc/src/write_coeff.rst b/doc/src/write_coeff.rst index 67e0c1e48b..71cfe9cb02 100644 --- a/doc/src/write_coeff.rst +++ b/doc/src/write_coeff.rst @@ -6,7 +6,6 @@ write_coeff command Syntax """""" - .. code-block:: LAMMPS write_coeff file @@ -16,7 +15,6 @@ Syntax Examples """""""" - .. code-block:: LAMMPS write_coeff polymer.coeff @@ -32,18 +30,15 @@ the Coeffs sections from a data file into a separate file. .. note:: - The write\_coeff command is not yet fully implemented as + The write_coeff command is not yet fully implemented as some pair styles do not output their coefficient information. This means you will need to add/copy this information manually. - ---------- - Restrictions """""""""""" - none Related commands diff --git a/doc/src/write_data.rst b/doc/src/write_data.rst index 31f4bb64ac..13a6476ac4 100644 --- a/doc/src/write_data.rst +++ b/doc/src/write_data.rst @@ -6,7 +6,6 @@ write_data command Syntax """""" - .. code-block:: LAMMPS write_data file keyword value ... @@ -14,21 +13,18 @@ Syntax * file = name of data file to write out * zero or more keyword/value pairs may be appended * keyword = *pair* or *nocoeff* - + .. parsed-literal:: - + *nocoeff* = do not write out force field info *nofix* = do not write out extra sections read by fixes *pair* value = *ii* or *ij* *ii* = write one line of pair coefficient info per atom type *ij* = write one line of pair coefficient info per IJ atom type pair - - Examples """""""" - .. code-block:: LAMMPS write_data data.polymer @@ -55,7 +51,7 @@ value. the :doc:`pair_coeff <pair_coeff>` command. Second, a few of the :doc:`atom styles <atom_style>` (body, ellipsoid, line, tri) that store auxiliary "bonus" information about aspherical particles, do not yet write the bonus info into the data file. Both these functionalities - will be added to the write\_data command later. + will be added to the write_data command later. Because a data file is in text format, if you use a data file written out by this command to restart a simulation, the initial state of the @@ -87,10 +83,8 @@ Bonds that are broken (e.g. by a bond-breaking potential) are not written to the data file. Thus these bonds will not exist when the data file is read. - ---------- - The *nocoeff* keyword requests that no force field parameters should be written to the data file. This can be very helpful, if one wants to make significant changes to the force field or if the parameters @@ -123,14 +117,11 @@ in the input script after reading the data file, by specifying additional :doc:`pair_coeff <pair_coeff>` commands for any desired I,J pairs. - ---------- - Restrictions """""""""""" - This command requires inter-processor communication to migrate atoms before the data file is written. This means that your system must be ready to perform a simulation before using this command (force fields diff --git a/doc/src/write_dump.rst b/doc/src/write_dump.rst index 54a55db6c6..f0f57bd674 100644 --- a/doc/src/write_dump.rst +++ b/doc/src/write_dump.rst @@ -6,7 +6,6 @@ write_dump command Syntax """""" - .. code-block:: LAMMPS write_dump group-ID style file dump-args modify dump_modify-args @@ -18,11 +17,9 @@ Syntax * modify = all args after this keyword are passed to :doc:`dump_modify <dump_modify>` (optional) * dump-modify-args = args for :doc:`dump_modify <dump_modify>` (optional) - Examples """""""" - .. code-block:: LAMMPS write_dump all atom dump.atom @@ -52,24 +49,21 @@ added. The latter is so that the full range of :doc:`dump_modify <dump_modify>` options can be specified for the single snapshot, just as they can be for multiple snapshots. The *modify* keyword separates the arguments that would normally be passed to the -*dump* command from those that would be given the *dump\_modify*. Both +*dump* command from those that would be given the *dump_modify*. Both support optional arguments and thus LAMMPS needs to be able to cleanly separate the two sets of args. Note that if the specified filename uses wildcard characters "\*" or "%", as supported by the :doc:`dump <dump>` command, they will operate in the same fashion to create the new filename(s). Normally, :doc:`dump image <dump_image>` files require a filename with a "\*" character -for the timestep. That is not the case for the write\_dump command; no +for the timestep. That is not the case for the write_dump command; no wildcard "\*" character is necessary. - ---------- - Restrictions """""""""""" - All restrictions for the :doc:`dump <dump>` and :doc:`dump_modify <dump_modify>` commands apply to this command as well, with the exception of the :doc:`dump image <dump_image>` filename not diff --git a/doc/src/write_restart.rst b/doc/src/write_restart.rst index cade19c0dc..bdb77dd4b4 100644 --- a/doc/src/write_restart.rst +++ b/doc/src/write_restart.rst @@ -6,7 +6,6 @@ write_restart command Syntax """""" - .. code-block:: LAMMPS write_restart file keyword value ... @@ -14,20 +13,17 @@ Syntax * file = name of file to write restart information to * zero or more keyword/value pairs may be appended * keyword = *fileper* or *nfile* - + .. parsed-literal:: - + *fileper* arg = Np Np = write one file for every this many processors *nfile* arg = Nf Nf = write this many files, one from each of Nf processors - - Examples """""""" - .. code-block:: LAMMPS write_restart restart.equil @@ -41,7 +37,7 @@ Write a binary restart file of the current state of the simulation. During a long simulation, the :doc:`restart <restart>` command is typically used to output restart files periodically. The -write\_restart command is useful after a minimization or whenever you +write_restart command is useful after a minimization or whenever you wish to write out a single current restart file. Similar to :doc:`dump <dump>` files, the restart filename can contain @@ -62,7 +58,6 @@ file via the MPI-IO library, which is part of the MPI standard for versions 2.0 and above. Using MPI-IO requires two steps. First, build LAMMPS with its MPIIO package installed, e.g. - .. code-block:: bash make yes-mpiio # installs the MPIIO package @@ -92,10 +87,8 @@ another machine. In this case, you can use the :doc:`-r command-line switch <Ru :doc:`read_restart <read_restart>` command for general information about what is stored in a restart file. - ---------- - The optional *nfile* or *fileper* keywords can be used in conjunction with the "%" wildcard character in the specified restart file name. As explained above, the "%" character causes the restart file to be @@ -114,14 +107,11 @@ file for every Np processors. For example, if Np = 4, every 4th processor (0,4,8,12,etc) will collect information from itself and the next 3 processors and write it to a restart file. - ---------- - Restrictions """""""""""" - This command requires inter-processor communication to migrate atoms before the restart file is written. This means that your system must be ready to perform a simulation before using this command (force diff --git a/doc/utils/converters/lammpsdoc/eqImg2mathjaxInline.py b/doc/utils/converters/lammpsdoc/eqImg2mathjaxInline.py deleted file mode 100644 index 353eed8b6e..0000000000 --- a/doc/utils/converters/lammpsdoc/eqImg2mathjaxInline.py +++ /dev/null @@ -1,255 +0,0 @@ -#! /usr/bin/env python3 -# LAMMPS Documentation Utilities -# -# Scan for duplicate anchor labels in documentation files -# -# Copyright (C) 2019 E. Anne Gunn -# Based largely on doc_anchor_check.py by Richard Berger -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -import argparse -import os -import re -import shutil -import sys - - -# We only want to replace image lines where image is -# pulled from Eqs subfolder -image_pattern = re.compile(r'.*image:: Eqs/(.*)\.jpg') -tex_eq_pattern = re.compile(r'\$\$') -latex_begin_eq_pattern = re.compile(r'\\begin{equation}') -latex_end_eq_pattern = re.compile(r'\\end{equation}') -latex_begin_eqArray_pattern = re.compile(r'\\begin{eqnarray\*}') -latex_end_eqArray_pattern = re.compile(r'\\end{eqnarray\*}') - -imageMarker = ">>>image was here" -image_marker_pattern = re.compile(r'>>>image was here') -align_pattern = re.compile(r'.*:align: center') - -modifiedRstFolder = "src/modifiedRst/" -safeRstFolder = "src/safeRst/" -# Since this is a proof of concept implementation, -# skip any rst files that are known to cause problems -skipFileList = ["pair_tersoff_zbl.rst"] - -runReport = { -} - - -def checkForEquationStart(texLine): - eqType = None - texMatch = tex_eq_pattern.match(texLine) - if texMatch: - eqType = "texMatch" - else: - eqMatch = latex_begin_eq_pattern.match(texLine) - if eqMatch: - eqType = "eqMatch" - else: - eqArrayMatch = latex_begin_eqArray_pattern.match(texLine) - if eqArrayMatch: - eqType = "eqArrayMatch" - return eqType - - -def checkForEquationEnd(texLine, eqType): - endPattern = tex_eq_pattern - if eqType == "texMatch": - endPattern = tex_eq_pattern - elif eqType == "eqMatch": - endPattern = latex_end_eq_pattern - elif eqType == "eqArrayMatch": - endPattern = latex_end_eqArray_pattern - else: - print("***error: unexpected eqType %s, will look for tex delimiter" % eqType) - - endMatch = endPattern.match(texLine) - endFound = endMatch is not None - if endFound: - print("found pattern end, line: %s" % texLine) - return endFound - - -def startMathjax(): - mathjaxLines = [] - mathjaxLines.append(".. math::\n\n") - return mathjaxLines - - -def endMathjax(mathjaxLines): - mathjaxLines.append("\n") - mathjaxLines.append("%s\n" % imageMarker) - return mathjaxLines - - -def processFile(filename): - print("in processFile for filename: %s" % filename) - imageCount = 0 - - modifiedFileLines = [] - doWriteModifiedFile = False - with open(filename, 'rt') as f: - for line_number, line in enumerate(f): - m = image_pattern.match(line) - if m: - fileroot = m.group(1) - print("fileroot: {0}".format(fileroot)) - imageCount += 1 - texFilename = "src/Eqs/{0}.tex".format(fileroot) - print("will try to open %s" % texFilename) - eqType = None - eqLines = [] - try: - with open(texFilename, 'rt', encoding='utf-8') as t: - print("%s file opened ok" % texFilename) - eqLines = startMathjax() - try: - for dummy, texLine in enumerate(t): - #print(texLine) - if eqType == None: - eqType = checkForEquationStart(texLine) - if eqType != None: - print("equation type: {0}".format(eqType)) - else: - endFound = checkForEquationEnd(texLine, eqType) - if endFound != True: - eqLines.append(texLine) - else: - eqType = None - eqLines = endMathjax(eqLines) - print("Equation lines will be:") - print("-----------------------------") - print(*eqLines, sep="\n") - print("-----------------------------") - except UnicodeDecodeError: - print("UnicodeDecodeError reading file file %s, image markup will be left in place" % texFilename) - break - except EnvironmentError: - error = "could not open source tex file {0}, line: {1}".format(texFilename, line) - print(error) - print("image markup will be left in place") - if filename not in runReport: - runReport[filename] = [] - runReport[filename].append(error) - # put the image line we could not replace back into the output - eqLines.append(line) - if len(eqLines) > 0: - modifiedFileLines.extend(eqLines) - doWriteModifiedFile = True - eqLines = [] - else: - # not an equation line, so simply queue it up for output as is - modifiedFileLines.append(line) - if doWriteModifiedFile: - # We're going to write out a modified file, so first copy the original rst - # file into the original file folder. - nameParts = filename.split("/") - filenamePos = len(nameParts) - 1 - safeFilePath = "{0}{1}".format(safeRstFolder, nameParts[filenamePos]) - shutil.copyfile(filename, safeFilePath) - - print("modifiedFileLines has %d lines before align center cleanup" % len(modifiedFileLines)) - # First, go through the file and pull out the lines where there is - # now an image file marker followed by an align center directive - deleteLines = [] - for lineNumber, line in enumerate(modifiedFileLines): - m = image_marker_pattern.match(line) - if m: - print("found image marker in line %d" % lineNumber) - n = align_pattern.match(modifiedFileLines[lineNumber+1]) - if n: - print("found align center") - deleteLines.append(lineNumber) - deleteLines.append(lineNumber+1) - #When deleting, always work from the back of the list to the front - for lineNumber in reversed(deleteLines): - print(lineNumber) - del modifiedFileLines[lineNumber] - print("modifiedFileLines has %d lines after align center cleanup" % len(modifiedFileLines)) - # Now we can actually write out the new contents - try: - modFilePath = "{0}{1}".format(modifiedRstFolder, nameParts[filenamePos]) - modRst = open(modFilePath, "w") - for rstLine in modifiedFileLines: - modRst.write(rstLine) - modRst.close() - except OSError: - print('Error: Creating directory. ' + modifiedRstFolder) - return imageCount - - -def main(): - fileCount = 0 - totalImageCount = 0 - - parser = argparse.ArgumentParser(description='replace image markup in rst files with inline mathjax markup from .txt source of images') - parser.add_argument('files', metavar='file', nargs='+', help='one or more files to scan') - parsed_args = parser.parse_args() - print(parsed_args) - - if not os.path.exists(safeRstFolder): - os.makedirs(safeRstFolder) - if not os.path.exists(modifiedRstFolder): - os.makedirs(modifiedRstFolder) - - # Because we may decide to add files to the skip list between runs, - # if we have more than one file to process, - # files from both original and modified folders - # zombie modifications - if len(parsed_args.files) > 1: - for outputFile in os.listdir(modifiedRstFolder): - filePath = os.path.join(modifiedRstFolder, outputFile) - try: - if os.path.isfile(filePath): - os.unlink(filePath) - except Exception as e: - print(e) - sys.exit(1) - for safeFile in os.listdir(safeRstFolder): - filePath = os.path.join(safeRstFolder, safeFile) - try: - if os.path.isfile(filePath): - os.unlink(filePath) - except Exception as e: - print(e) - sys.exit(1) - - for filename in parsed_args.files: - print("filename: %s" % filename) - doSkip = False - for skipName in skipFileList: - if filename.find(skipName) != -1: - print("skipping file: %s" % filename) - doSkip = True - runReport[filename] = ["skipped based on skipFileList"] - break - if not doSkip: - fileCount += 1 - ic = processFile(filename) - totalImageCount += ic - - print("============================================") - print("Processed %d rst files." % fileCount) - print("Found %d image lines." % totalImageCount) - - for fileKey in runReport: - print("--------------------------------------------") - print("run report for %s:" % fileKey) - print(*runReport[fileKey], sep="\n") - - print("============================================") - -if __name__ == "__main__": - main() diff --git a/doc/utils/sphinx-config/LAMMPSLexer.py b/doc/utils/sphinx-config/LAMMPSLexer.py index 3ff23439de..72536d494f 100644 --- a/doc/utils/sphinx-config/LAMMPSLexer.py +++ b/doc/utils/sphinx-config/LAMMPSLexer.py @@ -1,31 +1,53 @@ -from pygments.lexer import RegexLexer, words +from pygments.lexer import RegexLexer, words, include, default from pygments.token import * LAMMPS_COMMANDS = ("angle_coeff", "angle_style", "atom_modify", "atom_style", "balance", "bond_coeff", "bond_style", "bond_write", "boundary", "box", -"change_box", "clear", "comm_modify", "comm_style", "compute", +"clear", "comm_modify", "comm_style", "compute_modify", "create_atoms", "create_bonds", "create_box", "delete_atoms", "delete_bonds", "dielectric", "dihedral_coeff", "dihedral_style", "dimension", -"displace_atoms", "dump", "dump_modify", "dynamical_matrix", "echo", "fix", -"fix_modify", "group", "group2ndx", "hyper", "if", "improper_coeff", +"displace_atoms", "dump_modify", "dynamical_matrix", "echo", +"fix_modify", "group2ndx", "hyper", "if", "improper_coeff", "improper_style", "include", "info", "jump", "kim_init", "kim_interactions", "kim_param", "kim_query", "kspace_modify", "kspace_style", "label", "lattice", "log", "mass", "message", "minimize", "min_modify", "min_style", "molecule", "ndx2group", "neb", "neb/spin", "neighbor", "neigh_modify", "newton", "next", "package", "pair_coeff", "pair_modify", "pair_style", "pair_write", "partition", "prd", "print", "processors", "python", "quit", "read_data", -"read_dump", "read_restart", "region", "replicate", "rerun", "reset_ids", +"read_dump", "read_restart", "replicate", "rerun", "reset_ids", "reset_timestep", "restart", "run", "run_style", "server", "set", "shell", "special_bonds", "suffix", "tad", "temper", "temper/grem", "temper/npt", "thermo", "thermo_modify", "thermo_style", "then", "third_order", "timer", "timestep", -"uncompute", "undump", "unfix", "units", "variable", "velocity", "write_coeff", -"write_data", "write_dump", "write_restart") +"units", "velocity", "write_coeff", +"write_data", "write_restart") + +#fix ID group-ID style args +#compute ID group-ID style args +#dump ID group-ID style N file args +#region ID style args keyword arg ... +#variable name style args ... +#group ID style args +#uncompute compute-ID +#undump dump-ID +#unfix fix-ID +#write_dump group-ID style file dump-args modify dump_modify-args class LAMMPSLexer(RegexLexer): name = 'LAMMPS' tokens = { 'root': [ - (words(LAMMPS_COMMANDS, suffix=r'\b', prefix=r'^'), Keyword), + (r'fix\s+', Keyword, 'fix'), + (r'compute\s+', Keyword, 'compute'), + (r'dump\s+', Keyword, 'dump'), + (r'region\s+', Keyword, 'region'), + (r'variable\s+', Keyword, 'variable'), + (r'group\s+', Keyword, 'group'), + (r'change_box\s+', Keyword, 'change_box'), + (r'uncompute\s+', Keyword, 'uncompute'), + (r'unfix\s+', Keyword, 'unfix'), + (r'undump\s+', Keyword, 'undump'), + (r'write_dump\s+', Keyword, 'write_dump'), + include('keywords'), (r'#.*?\n', Comment), ('"', String, 'string'), ('\'', String, 'single_quote_string'), @@ -37,6 +59,10 @@ class LAMMPSLexer(RegexLexer): (r'\s+', Whitespace), (r'[\+\-\*\^\|\/\!%&=<>]', Operator), ], + 'keywords' : [ + (words(LAMMPS_COMMANDS, suffix=r'\b', prefix=r'^'), Keyword) + ] + , 'variable' : [ ('[^\}]+', Name.Variable), ('\}', Name.Variable, '#pop'), @@ -53,5 +79,56 @@ class LAMMPSLexer(RegexLexer): ('[^\(\)]+', Name.Variable), ('\(', Name.Variable, 'expression'), ('\)', Name.Variable, '#pop'), + ], + 'fix' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + (r'\s+', Whitespace, 'group_id'), + default('#pop') + ], + 'compute' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + (r'\s+', Whitespace, 'group_id'), + default('#pop') + ], + 'dump' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + (r'\s+', Whitespace, 'group_id'), + default('#pop') + ], + 'region' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'variable' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'group' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'change_box' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'unfix' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'undump' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'uncompute' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'write_dump' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop') + ], + 'group_id' : [ + (r'[\w_\-\.\[\]]+', Name.Variable.Identifier), + default('#pop:2') ] } diff --git a/doc/utils/sphinx-config/conf.py b/doc/utils/sphinx-config/conf.py index a9f9cb952a..ffb43e7bff 100644 --- a/doc/utils/sphinx-config/conf.py +++ b/doc/utils/sphinx-config/conf.py @@ -334,3 +334,6 @@ from sphinx.highlighting import lexers lexers['LAMMPS'] = LAMMPSLexer.LAMMPSLexer(startinline=True) sys.path.append(os.path.join(os.path.dirname(__file__), '../../../python')) + +# avoid syntax highlighting in blocks that don't specify language +highlight_language = 'none' diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 92660801df..ba981a0761 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1929,6 +1929,7 @@ Nelement Nelements nemd netcdf +netstat Nettleton Neumann Nevent @@ -2279,8 +2280,6 @@ Prakash pre Pre prec -preceed -preceeded precession prefactor prefactors @@ -2673,7 +2672,6 @@ smtbq sna snad snapcoeff -snaphots snapparam snav Snodin @@ -2817,7 +2815,6 @@ tdamp tdpd tDPD Tdrude -Technolgy Telsa tempCorrCoeff templated @@ -3140,7 +3137,6 @@ Whelan whitesmoke Wi Wicaksono -wih Wijk Wikipedia wildcard diff --git a/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out b/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out index 27185413eb..92f2ff0037 100644 --- a/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out +++ b/examples/COUPLE/lammps_nwchem/planewave/nwchem_lammps.out @@ -1845,7 +1845,7 @@ Translation force removed: ( -0.00000 -0.00000 -0.00000) - Outputing formatted_stress_filename: ./W.vpp2 + Outputting formatted_stress_filename: ./W.vpp2 ====================== diff --git a/examples/COUPLE/lammps_quest/lmpqst.cpp b/examples/COUPLE/lammps_quest/lmpqst.cpp index 76a89f1d06..6d31a9251b 100644 --- a/examples/COUPLE/lammps_quest/lmpqst.cpp +++ b/examples/COUPLE/lammps_quest/lmpqst.cpp @@ -84,7 +84,7 @@ int main(int narg, char **arg) lmp->input->file(lammps_input); - // make info avaiable to callback function + // make info available to callback function Info info; info.me = me; diff --git a/examples/HEAT/README b/examples/HEAT/README index 89ad04398f..ff6abb8dd6 100644 --- a/examples/HEAT/README +++ b/examples/HEAT/README @@ -6,7 +6,7 @@ All input scripts are part of the supplementary (open access) material supporting the publication of Wirnsberger et al. [J. Chem. Phys. 143, 124104 (2015)] and allow one to reproduce the key results reported in that paper. The full article is available for download under -http://dx.doi.org/10.1063/1.4931597 or http://arxiv.org/pdf/1507.07081 +https://doi.org/10.1063/1.4931597 or http://arxiv.org/pdf/1507.07081 and the supplementary material is available under https://www.repository.cam.ac.uk/handle/1810/250539. diff --git a/examples/UNITS/README b/examples/UNITS/README index 3980b38688..7271e5d62b 100644 --- a/examples/UNITS/README +++ b/examples/UNITS/README @@ -27,7 +27,7 @@ The real and metal scripts each have a set of variables at the top which define scale factors for converting quantities like distance, energy, pressure from reduced LJ units to real or metal units. Once these are defined the rest of the input script is very similar to the -LJ script. The approprate scale factor is applied to every input. +LJ script. The appropriate scale factor is applied to every input. Output quantities are printed in both the native real/metal units and unscaled back to LJ units. So that you can see the outputs are the same if you examine the log files. Comments about this comparison @@ -49,6 +49,6 @@ identical input script in an alternate set of units. Where "identical" means it runs the same simulation in a statistical sense. You can find the full set of scale factors LAMMPS uses internally for -different unit systems it supports, at the top of the src/udpate.cpp +different unit systems it supports, at the top of the src/update.cpp file. A couple of those values are used in the real and metal scripts. diff --git a/examples/USER/atc/README b/examples/USER/atc/README index aa874f3300..73996edb9a 100644 --- a/examples/USER/atc/README +++ b/examples/USER/atc/README @@ -68,7 +68,7 @@ elastic: in.cnt_electrostatic2 - Mechanical response of CNT with self-consistent charge density and electric field in.cnt_fixed_charge - Mechancial response of CNT with fixed atomic charges in an electric field in.eam_energy - Quasi-static/quasi-1D coupling and transfer extraction of energy density for EAM gold - in.electron_density - Mechanical response of differnt CNT models with a self-consistent electron density and electric field + in.electron_density - Mechanical response of different CNT models with a self-consistent electron density and electric field in.electrostatic_bending_dos - Quasi-static bending of a CNT using a quantum density of states model for electron density in.no_atoms - FE solution of a box subject to an initial displacement condition in.no_atoms_cb - FE solution of a box subject to an initial displacement condition with a Cauchy-Born material model @@ -149,7 +149,7 @@ elastic: in.cnt_electrostatic2 - Mechanical response of CNT with self-consistent charge density and electric field in.cnt_fixed_charge - Mechancial response of CNT with fixed atomic charges in an electric field in.eam_energy - Quasi-static/quasi-1D coupling and transfer extraction of energy density for EAM gold - in.electron_density - Mechanical response of differnt CNT models with a self-consistent electron density and electric field + in.electron_density - Mechanical response of different CNT models with a self-consistent electron density and electric field in.electrostatic_bending_dos - Quasi-static bending of a CNT using a quantum density of states model for electron density in.no_atoms - FE solution of a box subject to an initial displacement condition in.no_atoms_cb - FE solution of a box subject to an initial displacement condition with a Cauchy-Born material model diff --git a/examples/USER/atc/fluids/in.bar1d_fluids b/examples/USER/atc/fluids/in.bar1d_fluids index af152bfbab..79a6c8a4c2 100644 --- a/examples/USER/atc/fluids/in.bar1d_fluids +++ b/examples/USER/atc/fluids/in.bar1d_fluids @@ -85,7 +85,7 @@ fix_modify AtC control localized_lambda on fix_modify AtC filter type exponential fix_modify AtC filter scale 1000.0 fix_modify AtC filter on -# ouput commands +# output commands fix_modify AtC output bar1d_fluidsFE 100 text #undump D1 #dump D2 all atom 200 dump.bar1d diff --git a/examples/USER/atc/fluids/in.conducting_interface b/examples/USER/atc/fluids/in.conducting_interface index 7ee906e45a..c534231fca 100644 --- a/examples/USER/atc/fluids/in.conducting_interface +++ b/examples/USER/atc/fluids/in.conducting_interface @@ -1,6 +1,6 @@ # simulation of negatively charge liquid argon-positively charged solid/frozen argon # MAKE this conducting_interface then interface (major difference: non-uniform grid) -# START with extrinsic charges on both and then use an instrinsic charge density for frozen +# START with extrinsic charges on both and then use an intrinsic charge density for frozen echo both units real atom_style full diff --git a/examples/USER/atc/fluids/in.dielectric_interface b/examples/USER/atc/fluids/in.dielectric_interface index e9cbe7882a..dd6034a0cc 100644 --- a/examples/USER/atc/fluids/in.dielectric_interface +++ b/examples/USER/atc/fluids/in.dielectric_interface @@ -1,6 +1,6 @@ # simulation of negatively charge liquid argon-positively charged solid/frozen argon # MAKE this dielectric_interface then interface (major difference: non-uniform grid) -# START with extrinsic charges on both and then use an instrinsic charge density for frozen +# START with extrinsic charges on both and then use an intrinsic charge density for frozen echo both units real atom_style full diff --git a/examples/USER/atc/fluids/in.shear_flow b/examples/USER/atc/fluids/in.shear_flow index c5a53b1273..3c06676c64 100644 --- a/examples/USER/atc/fluids/in.shear_flow +++ b/examples/USER/atc/fluids/in.shear_flow @@ -75,7 +75,7 @@ fix_modify AtC control localized_lambda on #fix_modify AtC filter scale 1000.0 #fix_modify AtC filter on -# ouput commands +# output commands fix_modify AtC output shear_flowFE 100 text #binary #undump D1 #dump D1 all custom 100 shear_flow.dmp id type xs ys zs vx vy vz diff --git a/examples/USER/atc/fluids/in.shear_no_atoms b/examples/USER/atc/fluids/in.shear_no_atoms index 8bd350f06c..6c778578c9 100644 --- a/examples/USER/atc/fluids/in.shear_no_atoms +++ b/examples/USER/atc/fluids/in.shear_no_atoms @@ -25,7 +25,7 @@ fix_modify AtC reset_time fix_modify AtC fix velocity y rbc 0.1 fix_modify AtC fix velocity y lbc 0. -# ouput commands +# output commands fix_modify AtC output shear_no_atomsFE 200 text binary # set-up non-equilibrium IC thermo 100 diff --git a/examples/USER/atc/thermal/bar1d.screen b/examples/USER/atc/thermal/bar1d.screen index 33f6590e4d..3c7f8db212 100644 --- a/examples/USER/atc/thermal/bar1d.screen +++ b/examples/USER/atc/thermal/bar1d.screen @@ -239,7 +239,7 @@ fix_modify AtC output bar1dFE 100 text binary ATC: Warning : text output can create _LARGE_ files ATC: output custom names: -# ouput command +# output command #dump D1 all atom 1000 dump.bar1d # run with FE reset_timestep 0 diff --git a/examples/USER/atc/thermal/in.bar1d b/examples/USER/atc/thermal/in.bar1d index 5591f7177d..3f70577ec3 100644 --- a/examples/USER/atc/thermal/in.bar1d +++ b/examples/USER/atc/thermal/in.bar1d @@ -71,7 +71,7 @@ thermo 1 run 100 # set up output, should be before a "run" fix_modify AtC output bar1dFE 100 text binary -# ouput command +# output command #dump D1 all atom 1000 dump.bar1d # run with FE reset_timestep 0 diff --git a/examples/USER/atc/thermal/in.bar1d_all_atoms b/examples/USER/atc/thermal/in.bar1d_all_atoms index 2c8851137f..2219b803ec 100644 --- a/examples/USER/atc/thermal/in.bar1d_all_atoms +++ b/examples/USER/atc/thermal/in.bar1d_all_atoms @@ -93,7 +93,7 @@ fix_modify AtC fix_flux temperature lbndy 0.0000000001 fix_modify AtC fix_flux temperature rbndy -0.0000000001 # set up output, should be before a "run" fix_modify AtC output bar1d_all_atomsFE 200 text binary -# ouput command +# output command #dump D1 all atom 1000 dump.bar1d # run with FE reset_timestep 0 diff --git a/examples/USER/atc/thermal/in.bar1d_combined b/examples/USER/atc/thermal/in.bar1d_combined index 767544d2d4..70dafe72be 100644 --- a/examples/USER/atc/thermal/in.bar1d_combined +++ b/examples/USER/atc/thermal/in.bar1d_combined @@ -79,7 +79,7 @@ thermo 100 # set up output, should be before a "run" fix_modify AtC output bar1d_combinedFE 100 text -# ouput command +# output command #dump D1 all atom 100 dump.bar1d_combined # run with FE reset_timestep 0 diff --git a/examples/USER/atc/thermal/in.bar1d_flux b/examples/USER/atc/thermal/in.bar1d_flux index eae32ec5b2..2b79aa6339 100644 --- a/examples/USER/atc/thermal/in.bar1d_flux +++ b/examples/USER/atc/thermal/in.bar1d_flux @@ -71,7 +71,7 @@ fix_modify AtC fix temperature rbc 20. run 100 # set up output, should be before a "run" fix_modify AtC output bar1d_fluxFE 100 text binary -# ouput command +# output command #dump D1 all atom 1000 dump.bar1d # run with FE reset_timestep 0 diff --git a/examples/USER/atc/thermal/in.bar1d_frac_step b/examples/USER/atc/thermal/in.bar1d_frac_step index eddec44b52..e8540d9151 100644 --- a/examples/USER/atc/thermal/in.bar1d_frac_step +++ b/examples/USER/atc/thermal/in.bar1d_frac_step @@ -72,7 +72,7 @@ fix_modify AtC filter scale 1000.0 fix_modify AtC filter on # set up output, should be before a "run" fix_modify AtC output bar1d_frac_stepFE 200 text -# ouput command +# output command #dump D1 all atom 1000 dump.bar1d # run with FE reset_timestep 0 diff --git a/examples/USER/cgdna/README b/examples/USER/cgdna/README index 49b7cd1f84..a403ce0321 100644 --- a/examples/USER/cgdna/README +++ b/examples/USER/cgdna/README @@ -46,7 +46,7 @@ moment of inertia set to the value used in the standalone implementation of oxDNA (M = I = 1). The masses can be set directly in the input and data file, whereas the moment of inertia is set via the diameter of the ellipsoid in the data file and has a value of 3.16227766. -The change of mass and moment of inertia allows direct comparision of +The change of mass and moment of inertia allows direct comparison of trajectory data or time-dependent observables on a per-timestep basis. As mentioned above, the stacking and hydrogen-bonding interactions diff --git a/examples/USER/cgdna/examples/oxDNA2/unique_bp/generate_unique.py b/examples/USER/cgdna/examples/oxDNA2/unique_bp/generate_unique.py index e5141bc47a..131f51e9b4 100644 --- a/examples/USER/cgdna/examples/oxDNA2/unique_bp/generate_unique.py +++ b/examples/USER/cgdna/examples/oxDNA2/unique_bp/generate_unique.py @@ -105,7 +105,7 @@ EXCL_RC2 = 0.335388426126 EXCL_RC3 = 0.52329943261 """ -Define auxillary variables for the construction of a helix +Define auxiliary variables for the construction of a helix """ # center of the double strand COM_CENTRE_DS = POS_BASE + 0.2 @@ -127,7 +127,7 @@ number_to_base = {1 : 'A', 2 : 'C', 3 : 'G', 4 : 'T'} base_to_number = {'A' : 1, 'a' : 1, 'C' : 2, 'c' : 2, 'G' : 3, 'g' : 3, 'T' : 4, 't' : 4} -# auxillary arrays +# auxiliary arrays positions = [] a1s = [] a3s = [] @@ -373,7 +373,7 @@ def generate_strand(bp, sequence=None, start_pos=np.array([0, 0, 0]), \ # if not provided switch off random orientation if perp is None or perp is False: v1 = np.random.random_sample(3) - # comment in to suppress randomised base vector + # comment in to suppress randomized base vector v1 = [1,0,0] v1 -= dir * (np.dot(dir, v1)) v1 /= np.sqrt(sum(v1*v1)) @@ -551,7 +551,7 @@ def read_strands(filename): smallest_n_bases = n_g if smallest_n_bases < N_BASE_TYPES: - print('## Not enough occurances of base types in the sequence for ' + str(N_BASE_TYPES)) + print('## Not enough occurrences of base types in the sequence for ' + str(N_BASE_TYPES)) print('## unique base types, switching to ' + str(smallest_n_bases) + ' unique types') else: smallest_n_bases = N_BASE_TYPES @@ -644,12 +644,12 @@ def read_strands(filename): # generate random position of the first nucleotide com = box_offset + np.random.random_sample(3) * box - # comment out to randomise + # comment out to randomize com = [0,0,0] # generate the random direction of the helix axis = np.random.random_sample(3) - # comment out to randomise + # comment out to randomize axis = [0,0,1] axis /= np.sqrt(np.dot(axis, axis)) @@ -702,12 +702,12 @@ def read_strands(filename): # generate random position of the first nucleotide com = box_offset + np.random.random_sample(3) * box - # comment out to randomise + # comment out to randomize com = [-30,0,0] # generate the random direction of the helix axis = np.random.random_sample(3) - # comment out to randomise + # comment out to randomize axis = [0,0,1] axis /= np.sqrt(np.dot(axis, axis)) diff --git a/examples/USER/cgdna/util/generate.py b/examples/USER/cgdna/util/generate.py index eb97f482cc..e175455970 100644 --- a/examples/USER/cgdna/util/generate.py +++ b/examples/USER/cgdna/util/generate.py @@ -81,7 +81,7 @@ EXCL_RC2 = 0.335388426126 EXCL_RC3 = 0.52329943261 """ -Define auxillary variables for the construction of a helix +Define auxiliary variables for the construction of a helix """ # center of the double strand CM_CENTER_DS = POS_BASE + 0.2 @@ -103,7 +103,7 @@ number_to_base = {1 : 'A', 2 : 'C', 3 : 'G', 4 : 'T'} base_to_number = {'A' : 1, 'a' : 1, 'C' : 2, 'c' : 2, 'G' : 3, 'g' : 3, 'T' : 4, 't' : 4} -# auxillary arrays +# auxiliary arrays positions = [] a1s = [] a3s = [] diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 b/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 index 3b5203ba6f..1003b9729e 100644 --- a/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 +++ b/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 @@ -101,7 +101,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. @@ -405,7 +405,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.4 b/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.4 index 586ebbc5c5..91ef59b619 100644 --- a/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.4 +++ b/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.4 @@ -101,7 +101,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. @@ -405,7 +405,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.1 b/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.1 index 8e5c990f40..df7aca475f 100644 --- a/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.1 +++ b/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.1 @@ -100,7 +100,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. diff --git a/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.4 b/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.4 index 47f1b672df..b1916fda17 100644 --- a/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.4 +++ b/examples/USER/colvars/log.27Nov18.peptide-colvars2.g++.4 @@ -100,7 +100,7 @@ colvars: Creating proxy instance colvars: ---------------------------------------------------------------------- colvars: Initializing the collective variables module, version 2018-11-16. colvars: Please cite Fiorin et al, Mol Phys 2013: -colvars: http://dx.doi.org/10.1080/00268976.2013.813594 +colvars: https://doi.org/10.1080/00268976.2013.813594 colvars: in any publication based on this calculation. colvars: SMP parallelism is available. colvars: Using LAMMPS interface, version 2018-08-29. diff --git a/examples/USER/diffraction/README b/examples/USER/diffraction/README index 265201beb1..e36062923b 100644 --- a/examples/USER/diffraction/README +++ b/examples/USER/diffraction/README @@ -1,4 +1,4 @@ -This is a simple example of showing the computation of virutal x-ray +This is a simple example of showing the computation of virtual x-ray and electron diffraction patterns for Ni. In addition to the LAMMPS output, a simple visualizaiton of the electron diff --git a/examples/USER/eff/Li-dendritic/README b/examples/USER/eff/Li-dendritic/README index 24eed28f85..4fdaed1efb 100644 --- a/examples/USER/eff/Li-dendritic/README +++ b/examples/USER/eff/Li-dendritic/README @@ -1,2 +1,2 @@ -Shows the formation of lithium dendrites during the minimization of a volume expanded lithium cell with particle positions remaped to fit the cell. +Shows the formation of lithium dendrites during the minimization of a volume expanded lithium cell with particle positions remapped to fit the cell. This depicts the process of electrode replating in lithium batteries, which leads to failure (short-circuit). diff --git a/examples/USER/lb/fourspheres/in.fourspheres_default_gamma b/examples/USER/lb/fourspheres/in.fourspheres_default_gamma index 2fa161aefa..bce9aec0e9 100755 --- a/examples/USER/lb/fourspheres/in.fourspheres_default_gamma +++ b/examples/USER/lb/fourspheres/in.fourspheres_default_gamma @@ -1,5 +1,5 @@ #===========================================================================# -# Sytem of 2 pairs of rigid particles moving towards one another. # +# System of 2 pairs of rigid particles moving towards one another. # # At each timestep, the hydrodynamic force acting on one of these four # # rigid particles is printed to the screen. # # # diff --git a/examples/USER/lb/fourspheres/in.fourspheres_set_gamma b/examples/USER/lb/fourspheres/in.fourspheres_set_gamma index 452d90ba00..8c32051536 100755 --- a/examples/USER/lb/fourspheres/in.fourspheres_set_gamma +++ b/examples/USER/lb/fourspheres/in.fourspheres_set_gamma @@ -1,5 +1,5 @@ #===========================================================================# -# Sytem of 2 pairs of rigid particles moving towards one another. # +# System of 2 pairs of rigid particles moving towards one another. # # At each timestep, the hydrodynamic force acting on one of these four # # rigid particles is printed to the screen. # # # diff --git a/examples/USER/manifold/diffusion/plot_msd.gpl b/examples/USER/manifold/diffusion/plot_msd.gpl index dbc87eee07..4694343ad4 100644 --- a/examples/USER/manifold/diffusion/plot_msd.gpl +++ b/examples/USER/manifold/diffusion/plot_msd.gpl @@ -47,7 +47,7 @@ set object 1 rectangle from graph 0,0 to graph 1,1 fillcolor rgb "white" behind unset key set grid front -set title 'Short time behaviour' offset 0,-0.8 +set title 'Short time behavior' offset 0,-0.8 set ylabel '' set xrange[0:10] set yrange[0:40] diff --git a/examples/USER/misc/ees/README b/examples/USER/misc/ees/README index 9f4cb4f159..bfc55e4375 100644 --- a/examples/USER/misc/ees/README +++ b/examples/USER/misc/ees/README @@ -5,7 +5,7 @@ Here one may find simple examples showing how "fix wall/ess" and "fix wall/regio This input uses "Data_region" to setup a system of three particles colliding with a cubic region which its walls interact with particle with EES potential. To find out details - of how to set parameters of "fix wall/region/ees" see documentaion. + of how to set parameters of "fix wall/region/ees" see documentation. --in.fix_wall diff --git a/examples/USER/misc/hma/README b/examples/USER/misc/hma/README index 5af6ec15fa..75c24705d3 100644 --- a/examples/USER/misc/hma/README +++ b/examples/USER/misc/hma/README @@ -15,7 +15,7 @@ Averages of the potential energy (#3 and #4) agree although #4 (HMA) is more pre Averages of the pressure (#5 and #6) agree once the ideal gas contribution is included; #6 (HMA) is more precise. -The heat capacity can be computed from colume #3 (convential) as +The heat capacity can be computed from colume #3 (conventional) as Cv = Var(#3)/(k T^2) With HMA, the heat capacity can be computed from column #4 and #7 as diff --git a/examples/USER/misc/rhok/README.md b/examples/USER/misc/rhok/README.md index 4e011255fc..cbef8e9e14 100644 --- a/examples/USER/misc/rhok/README.md +++ b/examples/USER/misc/rhok/README.md @@ -19,7 +19,7 @@ For future reference we note that the structure factor S(k) is given by the vari It is recommended to get familiar with the interface pinning method by reading: - [Ulf R. Pedersen, JCP 139, 104102 (2013)](http://dx.doi.org/10.1063/1.4818747) + [Ulf R. Pedersen, JCP 139, 104102 (2013)](https://doi.org/10.1063/1.4818747) A detailed bibliography is provided at @@ -63,8 +63,8 @@ can be used to show this. The present directory contains the input files that we the value fluctuates around the anchor point (a) -- showing that this is indeed a coexistence state point. -The reference [JCP 139, 104102 (2013)](http://dx.doi.org/10.1063/1.4818747) gives details on using the method to find coexistence state points, -and the reference [JCP 142, 044104 (2015)](http://dx.doi.org/10.1063/1.4818747) show how the crystal growth rate can be computed from fluctuations. +The reference [JCP 139, 104102 (2013)](https://doi.org/10.1063/1.4818747) gives details on using the method to find coexistence state points, +and the reference [JCP 142, 044104 (2015)](https://doi.org/10.1063/1.4818747) show how the crystal growth rate can be computed from fluctuations. That method have been experienced to be most effective in the slightly super-heated regime above the melting temperature. ## Contact diff --git a/examples/USER/misc/ti/in.ti_spring b/examples/USER/misc/ti/in.ti_spring index 2e853bc5c3..383d4b688c 100644 --- a/examples/USER/misc/ti/in.ti_spring +++ b/examples/USER/misc/ti/in.ti_spring @@ -2,7 +2,7 @@ # # Description: nonequilibrium thermodynamic integration. Further details in: # R. Freitas, M. Asta, and M. de Koning, Computational Materials Science, (2016) -# http://dx.doi.org/10.1016/j.commatsci.2015.10.050 +# https://doi.org/10.1016/j.commatsci.2015.10.050 #--------------------------- System setup -------------------------------------# diff --git a/examples/USER/plumed/reference/p.log b/examples/USER/plumed/reference/p.log index 29d99077e4..13a63bdbf1 100644 --- a/examples/USER/plumed/reference/p.log +++ b/examples/USER/plumed/reference/p.log @@ -48,7 +48,7 @@ PLUMED: [1] The PLUMED consortium, Nat. Methods 16, 670 (2019) PLUMED: [2] Tribello, Bonomi, Branduardi, Camilloni, and Bussi, Comput. Phys. Commun. 185, 604 (2014) PLUMED: Please read and cite where appropriate! PLUMED: Finished setup -PLUMED: Cycles Total Average Minumum Maximum +PLUMED: Cycles Total Average Minimum Maximum PLUMED: 1 0.010018 0.010018 0.010018 0.010018 PLUMED: 1 Prepare dependencies 102 0.000241 0.000002 0.000001 0.000003 PLUMED: 2 Sharing data 102 0.002132 0.000021 0.000006 0.000151 diff --git a/examples/USER/qtb/methane_qbmsst/methane_qtb.mod b/examples/USER/qtb/methane_qbmsst/methane_qtb.mod index 181fb99d00..65bfc5d7f7 100644 --- a/examples/USER/qtb/methane_qbmsst/methane_qtb.mod +++ b/examples/USER/qtb/methane_qbmsst/methane_qtb.mod @@ -48,7 +48,7 @@ neigh_modify every 10 delay 0 check no ## This part equilibrates liquid methane to a temperature of ${temperature}(unit temperatureture) with quantum nuclear effects -#Initilization +#Initialization velocity all create ${temperature} 93 dist gaussian sum no mom yes rot yes loop all #Setup output diff --git a/examples/USER/qtb/methane_qtb/methane_qtb.in b/examples/USER/qtb/methane_qtb/methane_qtb.in index f0ea94a221..e31f0695b9 100644 --- a/examples/USER/qtb/methane_qtb/methane_qtb.in +++ b/examples/USER/qtb/methane_qtb/methane_qtb.in @@ -54,7 +54,7 @@ neigh_modify every 10 delay 0 check no ## This part equilibrates liquid methane to a temperature of ${temperature}(unit temperatureture) with quantum nuclear effects -#Initilization +#Initialization velocity all create ${temperature} 93 dist gaussian sum no mom yes rot yes loop all #Setup output diff --git a/examples/USER/quip/in.molecular b/examples/USER/quip/in.molecular index 4253399d7c..08921ef865 100644 --- a/examples/USER/quip/in.molecular +++ b/examples/USER/quip/in.molecular @@ -17,7 +17,7 @@ pair_style hybrid/overlay lj/cut 8.0 quip special_bonds lj/coul 0.999999999 0.999999999 0.999999999 # Intermolecular: OPLS (JACS 118 (45), p. 11225 (1996)) -# Coulomb interactions ommitted for simplicity +# Coulomb interactions omitted for simplicity pair_coeff 1 1 lj/cut 0.0028619844 3.5 # CT pair_coeff 2 2 lj/cut 0.0013009018 2.5 # HC pair_coeff 1 2 lj/cut 0.0019295487 2.95 diff --git a/examples/USER/quip/log.24Jul17.molecular.g++.1 b/examples/USER/quip/log.24Jul17.molecular.g++.1 index 28fc63579b..ca1b83c268 100644 --- a/examples/USER/quip/log.24Jul17.molecular.g++.1 +++ b/examples/USER/quip/log.24Jul17.molecular.g++.1 @@ -39,7 +39,7 @@ special_bonds lj/coul 0.999999999 0.999999999 0.999999999 4 = max # of special neighbors # Intermolecular: OPLS (JACS 118 (45), p. 11225 (1996)) -# Coulomb interactions ommitted for simplicity +# Coulomb interactions omitted for simplicity pair_coeff 1 1 lj/cut 0.0028619844 3.5 # CT pair_coeff 2 2 lj/cut 0.0013009018 2.5 # HC pair_coeff 1 2 lj/cut 0.0019295487 2.95 diff --git a/examples/USER/quip/log.24Jul17.molecular.g++.4 b/examples/USER/quip/log.24Jul17.molecular.g++.4 index a8be8e77bb..2226e45bfb 100644 --- a/examples/USER/quip/log.24Jul17.molecular.g++.4 +++ b/examples/USER/quip/log.24Jul17.molecular.g++.4 @@ -39,7 +39,7 @@ special_bonds lj/coul 0.999999999 0.999999999 0.999999999 4 = max # of special neighbors # Intermolecular: OPLS (JACS 118 (45), p. 11225 (1996)) -# Coulomb interactions ommitted for simplicity +# Coulomb interactions omitted for simplicity pair_coeff 1 1 lj/cut 0.0028619844 3.5 # CT pair_coeff 2 2 lj/cut 0.0013009018 2.5 # HC pair_coeff 1 2 lj/cut 0.0019295487 2.95 diff --git a/examples/USER/smd/aluminum_strip_pull/aluminum_strip_pull.lmp b/examples/USER/smd/aluminum_strip_pull/aluminum_strip_pull.lmp index b75bab10e9..50b20a0787 100644 --- a/examples/USER/smd/aluminum_strip_pull/aluminum_strip_pull.lmp +++ b/examples/USER/smd/aluminum_strip_pull/aluminum_strip_pull.lmp @@ -2,7 +2,7 @@ # # TLSPH example: elongate a 2d strip of aluminum py pulling its ends apart # -# unit sytem: GPa / mm / ms +# unit system: GPa / mm / ms # #################################################################################################### @@ -18,7 +18,7 @@ variable q2 equal 0.0 # standard artificial viscosity quadratic coeffici variable hg equal 10.0 # hourglass control coefficient variable cp equal 1.0 # heat capacity of material -- not used here -variable JC_A equal 0.3241 # Johnson Cook arameters +variable JC_A equal 0.3241 # Johnson Cook parameters variable JC_B equal 0.1138 variable JC_N equal 0.42 variable JC_C equal 0 #0.002 diff --git a/examples/USER/smd/fluid_structure_interaction/fluid_structure_interaction.lmp b/examples/USER/smd/fluid_structure_interaction/fluid_structure_interaction.lmp index 0f7d726e21..e4f3ea603a 100644 --- a/examples/USER/smd/fluid_structure_interaction/fluid_structure_interaction.lmp +++ b/examples/USER/smd/fluid_structure_interaction/fluid_structure_interaction.lmp @@ -4,7 +4,7 @@ # # A column of water is placed in a container and allowed to collapse unter the # influence of gravity. Several solid objects are also placed in the container. -# The water flow pushes the solid objects around until the sytem comes to halt due to +# The water flow pushes the solid objects around until the system comes to halt due to # viscous damping. The solid objects have a lower mass density than water and finally float on # the water surface. # @@ -12,7 +12,7 @@ # Total Lagrangian formalism. Contact forces between container, solid bodies, and water prevent # mutual penetration of these physical entities. # -# unit sytem: GPa / mm / ms +# unit system: GPa / mm / ms # #################################################################################################### diff --git a/examples/USER/smd/funnel_flow/funnel_flow.lmp b/examples/USER/smd/funnel_flow/funnel_flow.lmp index 7cc1e13f4f..b1fde2c2db 100644 --- a/examples/USER/smd/funnel_flow/funnel_flow.lmp +++ b/examples/USER/smd/funnel_flow/funnel_flow.lmp @@ -5,7 +5,7 @@ # The boundary dump file (see below) can be converted into VTK format using the conversion # tool dump2vtk_tris from the tools/smd directory. # -# unit sytem: GPa / mm / ms +# unit system: GPa / mm / ms # #################################################################################################### diff --git a/examples/USER/smd/rubber_rings_3d/rubber_rings_3d.lmp b/examples/USER/smd/rubber_rings_3d/rubber_rings_3d.lmp index 956abd6c4a..11b988e818 100644 --- a/examples/USER/smd/rubber_rings_3d/rubber_rings_3d.lmp +++ b/examples/USER/smd/rubber_rings_3d/rubber_rings_3d.lmp @@ -3,7 +3,7 @@ # # TLSPH example: Two rubber rings impact each other. # -# unit sytem: GPa / mm / ms +# unit system: GPa / mm / ms # #################################################################################################### diff --git a/examples/USER/smd/rubber_strip_pull/rubber_strip_pull.lmp b/examples/USER/smd/rubber_strip_pull/rubber_strip_pull.lmp index 4e53daf993..0e8be3b9da 100644 --- a/examples/USER/smd/rubber_strip_pull/rubber_strip_pull.lmp +++ b/examples/USER/smd/rubber_strip_pull/rubber_strip_pull.lmp @@ -2,7 +2,7 @@ # # TLSPH example: elongate a 2d strip of a linear elastic material py pulling its ends apart # -# unit sytem: GPa / mm / ms +# unit system: GPa / mm / ms # #################################################################################################### diff --git a/examples/USER/tally/in.pe b/examples/USER/tally/in.pe index c6228cebd0..a7a3360c44 100644 --- a/examples/USER/tally/in.pe +++ b/examples/USER/tally/in.pe @@ -37,7 +37,7 @@ group hyd type 2 compute epa oxy group/group hyd pair yes kspace no boundary no # tally pairwise energy between all oygen and all hydrogen compute c1 oxy pe/tally hyd -# tally pairwise energy beween all atoms to compare with globals +# tally pairwise energy between all atoms to compare with globals compute c2 all pe/tally all # collect per atom energies compute c3 all pe/atom pair diff --git a/examples/USER/tally/log.12Jun17.pe.1 b/examples/USER/tally/log.12Jun17.pe.1 index 8b0f753414..ecdaee86d5 100644 --- a/examples/USER/tally/log.12Jun17.pe.1 +++ b/examples/USER/tally/log.12Jun17.pe.1 @@ -89,7 +89,7 @@ group hyd type 2 compute epa oxy group/group hyd pair yes kspace no boundary no # tally pairwise energy between all oygen and all hydrogen compute c1 oxy pe/tally hyd -# tally pairwise energy beween all atoms to compare with globals +# tally pairwise energy between all atoms to compare with globals compute c2 all pe/tally all # collect per atom energies compute c3 all pe/atom pair diff --git a/examples/USER/tally/log.12Jun17.pe.4 b/examples/USER/tally/log.12Jun17.pe.4 index f684fabe01..242cad77f3 100644 --- a/examples/USER/tally/log.12Jun17.pe.4 +++ b/examples/USER/tally/log.12Jun17.pe.4 @@ -89,7 +89,7 @@ group hyd type 2 compute epa oxy group/group hyd pair yes kspace no boundary no # tally pairwise energy between all oygen and all hydrogen compute c1 oxy pe/tally hyd -# tally pairwise energy beween all atoms to compare with globals +# tally pairwise energy between all atoms to compare with globals compute c2 all pe/tally all # collect per atom energies compute c3 all pe/atom pair diff --git a/examples/hugoniostat/in.hugoniostat b/examples/hugoniostat/in.hugoniostat index 01c2a246fc..571f92b59e 100644 --- a/examples/hugoniostat/in.hugoniostat +++ b/examples/hugoniostat/in.hugoniostat @@ -67,7 +67,7 @@ fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -115,7 +115,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -153,7 +153,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes diff --git a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 b/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 index 2473641dea..c1381629eb 100644 --- a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 +++ b/examples/hugoniostat/log.27Nov18.hugoniostat.g++.1 @@ -129,7 +129,7 @@ fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -232,7 +232,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -327,7 +327,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes diff --git a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 b/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 index 30f1335ea9..dd0766e81a 100644 --- a/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 +++ b/examples/hugoniostat/log.27Nov18.hugoniostat.g++.4 @@ -129,7 +129,7 @@ fix myhug all nphug temp 1.0 1.0 10.0 z 40.0 40.0 70.0 drag 0.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -232,7 +232,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 drag 200.0 tchain 1 pchain fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes @@ -327,7 +327,7 @@ fix myhug all nphug temp 1.0 1.0 1.0 z 40.0 40.0 70.0 fix_modify myhug e0 -6334.0 p0 0.0 v0 680.73519 -# Add fix energy to ouput etotal +# Add fix energy to output etotal fix_modify myhug energy yes diff --git a/examples/reax/HNS/README.txt b/examples/reax/HNS/README.txt index 465d64d171..95ffbb0ebb 100644 --- a/examples/reax/HNS/README.txt +++ b/examples/reax/HNS/README.txt @@ -17,7 +17,7 @@ Questions: Mitchell Wood, mitwood@sandia.gov The type of simulation is set by the 'fix' commands, dynamic charges are controlled with 'fix qeq' and the integration style is given as 'fix nve' here. More information about each of the individual commands can be found online at lammps.sandia.gov in the user manual section. - *There are four free varaibles in this file, three of which control the size of the simulation and the last will dictate how many MD time steps are taken. + *There are four free variables in this file, three of which control the size of the simulation and the last will dictate how many MD time steps are taken. *The size of the system is controlled by the 'replicate' command given the values of $x, $y and $z. *The number of timesteps taken is controlled by the 'run' command given the value of $t diff --git a/lib/atc/ATC_Coupling.cpp b/lib/atc/ATC_Coupling.cpp index 9468064f8d..db72b0cb0c 100644 --- a/lib/atc/ATC_Coupling.cpp +++ b/lib/atc/ATC_Coupling.cpp @@ -625,7 +625,7 @@ namespace ATC { /*! \page man_consistent_fe_initialization fix_modify AtC consistent_fe_initialization \section syntax fix_modify AtC consistent_fe_initialization <on | off> - - <on|off> = switch to activiate/deactiviate the intial setting of FE intrinsic field to match the projected MD field + - <on|off> = switch to activiate/deactiviate the initial setting of FE intrinsic field to match the projected MD field \section examples <TT> fix_modify atc consistent_fe_initialization on </TT> \section description diff --git a/lib/atc/ATC_Coupling.h b/lib/atc/ATC_Coupling.h index 3816a82798..9f406febbe 100644 --- a/lib/atc/ATC_Coupling.h +++ b/lib/atc/ATC_Coupling.h @@ -227,7 +227,7 @@ namespace ATC { void set_mass_mat_time_filter(FieldName thisField,TimeFilterManager::FilterIntegrationType filterIntegrationType); - /** return referece to ExtrinsicModelManager */ + /** return reference to ExtrinsicModelManager */ ExtrinsicModelManager & extrinsic_model_manager() { return extrinsicModelManager_; } /** access to time integrator */ diff --git a/lib/atc/ATC_CouplingEnergy.cpp b/lib/atc/ATC_CouplingEnergy.cpp index 0338054902..c3b07c242d 100644 --- a/lib/atc/ATC_CouplingEnergy.cpp +++ b/lib/atc/ATC_CouplingEnergy.cpp @@ -364,7 +364,7 @@ namespace ATC { (_tiIt_->second)->post_process(); } - // auxilliary data + // auxiliary data for (_tiIt_ = timeIntegrators_.begin(); _tiIt_ != timeIntegrators_.end(); ++_tiIt_) { (_tiIt_->second)->output(outputData); } diff --git a/lib/atc/ATC_CouplingMass.cpp b/lib/atc/ATC_CouplingMass.cpp index 801752d569..d36643e590 100644 --- a/lib/atc/ATC_CouplingMass.cpp +++ b/lib/atc/ATC_CouplingMass.cpp @@ -221,7 +221,7 @@ namespace ATC { (_tiIt_->second)->post_process(); } - // auxilliary data + // auxiliary data for (_tiIt_ = timeIntegrators_.begin(); _tiIt_ != timeIntegrators_.end(); ++_tiIt_) { (_tiIt_->second)->output(outputData); } diff --git a/lib/atc/ATC_CouplingMomentum.cpp b/lib/atc/ATC_CouplingMomentum.cpp index f59aa525cb..6757245119 100644 --- a/lib/atc/ATC_CouplingMomentum.cpp +++ b/lib/atc/ATC_CouplingMomentum.cpp @@ -325,7 +325,7 @@ namespace ATC { (_tiIt_->second)->post_process(); } - // auxilliary data + // auxiliary data for (_tiIt_ = timeIntegrators_.begin(); _tiIt_ != timeIntegrators_.end(); ++_tiIt_) { (_tiIt_->second)->output(outputData); } diff --git a/lib/atc/ATC_CouplingMomentumEnergy.cpp b/lib/atc/ATC_CouplingMomentumEnergy.cpp index bf0edc71fb..1fc2931977 100644 --- a/lib/atc/ATC_CouplingMomentumEnergy.cpp +++ b/lib/atc/ATC_CouplingMomentumEnergy.cpp @@ -446,7 +446,7 @@ namespace ATC { (_tiIt_->second)->post_process(); } - // auxilliary data + // auxiliary data for (_tiIt_ = timeIntegrators_.begin(); _tiIt_ != timeIntegrators_.end(); ++_tiIt_) { (_tiIt_->second)->output(outputData); diff --git a/lib/atc/ATC_Method.cpp b/lib/atc/ATC_Method.cpp index 5d61a7bed8..f2173e9575 100644 --- a/lib/atc/ATC_Method.cpp +++ b/lib/atc/ATC_Method.cpp @@ -693,12 +693,12 @@ pecified /*! \page man_boundary fix_modify AtC boundary \section syntax fix_modify AtC boundary type <atom-type-id> - - <atom-type-id> = type id for atoms that represent a ficticious + - <atom-type-id> = type id for atoms that represent a fictitious boundary internal to the FE mesh \section examples <TT> fix_modify AtC boundary type ghost_atoms </TT> \section description - Command to define the atoms that represent the ficticious + Command to define the atoms that represent the fictitious boundary internal to the FE mesh. For fully overlapped MD/FE domains with periodic boundary conditions no boundary atoms should be defined. diff --git a/lib/atc/ATC_Transfer.cpp b/lib/atc/ATC_Transfer.cpp index c876f46634..833e1d1f27 100644 --- a/lib/atc/ATC_Transfer.cpp +++ b/lib/atc/ATC_Transfer.cpp @@ -148,7 +148,7 @@ namespace ATC { } if (!initialized_ || ATC::LammpsInterface::instance()->atoms_sorted() || resetKernelFunction_) { - // initialize kernel funciton matrix N_Ia + // initialize kernel function matrix N_Ia if (! kernelOnTheFly_) { try{ if (!moleculeIds_.empty()) compute_kernel_matrix_molecule(); //KKM add @@ -654,7 +654,7 @@ namespace ATC { <TT> fix_modify AtC gradients add temperature velocity stress </TT> \n <TT> fix_modify AtC gradients delete velocity </TT> \n \section description - Requests calculation and ouput of gradients of the fields from the + Requests calculation and output of gradients of the fields from the transfer class. These gradients will be with regard to spatial or material coordinate for eulerian or lagrangian analysis, respectively, as specified by atom_element_map (see \ref man_atom_element_map ) @@ -698,7 +698,7 @@ namespace ATC { <TT> fix_modify AtC rates add temperature velocity stress </TT> \n <TT> fix_modify AtC rates delete stress </TT> \n \section description - Requests calculation and ouput of rates (time derivatives) of the fields from the + Requests calculation and output of rates (time derivatives) of the fields from the transfer class. For eulerian analysis (see \ref man_atom_element_map ), these rates are the partial time derivatives of the nodal fields, not the full (material) time derivatives. \n @@ -865,7 +865,7 @@ namespace ATC { } //------------------------------------------------------------------- - // called at the begining of second half timestep + // called at the beginning of second half timestep // REFACTOR move this to post_neighbor void ATC_Transfer::pre_final_integrate() { diff --git a/lib/atc/AtomToMoleculeTransfer.h b/lib/atc/AtomToMoleculeTransfer.h index c6523137a7..c628ee356f 100644 --- a/lib/atc/AtomToMoleculeTransfer.h +++ b/lib/atc/AtomToMoleculeTransfer.h @@ -217,7 +217,7 @@ namespace ATC { /** reference to shape function matrix */ SPAR_MAN * shapeFunction_; - /** persistant workspace */ + /** persistent workspace */ mutable DENS_MAT _workspace_; diff --git a/lib/atc/AtomicRegulator.h b/lib/atc/AtomicRegulator.h index 8fb7de1006..b9fccb902c 100644 --- a/lib/atc/AtomicRegulator.h +++ b/lib/atc/AtomicRegulator.h @@ -585,7 +585,7 @@ namespace ATC { protected: - /** lumped version of the matrix governing lamda */ + /** lumped version of the matrix governing lambda */ DIAG_MAT lumpedMatrix_; /** set of regulated nodes */ diff --git a/lib/atc/CbPotential.h b/lib/atc/CbPotential.h index e218ae2254..1d5386fcd5 100644 --- a/lib/atc/CbPotential.h +++ b/lib/atc/CbPotential.h @@ -7,7 +7,7 @@ namespace ATC enum Interaction{PAIRWISE=1, EAM=2, THREE_BDY=4, ANGLE_BND=8}; //! Booleans that enable types of terms the potential uses. struct Interactions { - //! Enables up to 3 interaction types. (order independant) + //! Enables up to 3 interaction types. (order independent) Interactions(int a=0, int b=0, int c=0); bool pairwise; //!< Pairwise interaction terms exist. bool embedding; //!< Embedding interaction terms (EAM) exist. diff --git a/lib/atc/ChargeRegulator.cpp b/lib/atc/ChargeRegulator.cpp index cbfda69480..bae78a7613 100644 --- a/lib/atc/ChargeRegulator.cpp +++ b/lib/atc/ChargeRegulator.cpp @@ -214,7 +214,7 @@ namespace ATC { qV2e_ = lammpsInterface_->qv2e(); qqrd2e_ = lammpsInterface_->qqrd2e(); - // note derived method set intialized to true + // note derived method set initialized to true } @@ -327,7 +327,7 @@ namespace ATC { // - if (nInfluenceNodes_ < nControlNodes_) throw ATC_Error(" least square not implmented "); + if (nInfluenceNodes_ < nControlNodes_) throw ATC_Error(" least square not implemented "); if (nInfluenceNodes_ > nControlNodes_) throw ATC_Error(" solve not possible "); DENS_MAT G(nInfluenceNodes_,nControlNodes_); DENS_VEC G_I; diff --git a/lib/atc/ConcentrationRegulator.cpp b/lib/atc/ConcentrationRegulator.cpp index 8055433f5d..4255b919b9 100644 --- a/lib/atc/ConcentrationRegulator.cpp +++ b/lib/atc/ConcentrationRegulator.cpp @@ -263,7 +263,7 @@ const double kMinScale_ = 10000.; volumes_(i) += volumes_(i-1); } - // record orginal energetic properties + // record original energetic properties int ntypes = lammpsInterface_->ntypes(); epsilon0_.reset(ntypes); p_ = lammpsInterface_->potential(); diff --git a/lib/atc/DiagonalMatrix.h b/lib/atc/DiagonalMatrix.h index 6c2fe23144..ca3001f225 100644 --- a/lib/atc/DiagonalMatrix.h +++ b/lib/atc/DiagonalMatrix.h @@ -472,7 +472,7 @@ inline DiagonalMatrix<double> inv(const DiagonalMatrix<double>& A) return A.inv(); } //----------------------------------------------------------------------------- -// general diagonalmatrix assigment +// general diagonalmatrix assignment //----------------------------------------------------------------------------- template<typename T> void DiagonalMatrix<T>::_set_equal(const Matrix<T> &r) diff --git a/lib/atc/ElasticTimeIntegrator.cpp b/lib/atc/ElasticTimeIntegrator.cpp index 9793f6a58e..5e11f1584c 100644 --- a/lib/atc/ElasticTimeIntegrator.cpp +++ b/lib/atc/ElasticTimeIntegrator.cpp @@ -91,7 +91,7 @@ namespace ATC { atc_->set_mass_mat_time_filter(MOMENTUM,TimeFilterManager::EXPLICIT_IMPLICIT); break; default: - throw ATC_Error("Uknown time integration type in ThermalTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in ThermalTimeIntegrator::Initialize()"); } } @@ -102,7 +102,7 @@ namespace ATC { break; } default: - throw ATC_Error("Uknown time integration type in MomentumTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in MomentumTimeIntegrator::Initialize()"); } } else { @@ -120,7 +120,7 @@ namespace ATC { break; } default: - throw ATC_Error("Uknown time integration type in MomentumTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in MomentumTimeIntegrator::Initialize()"); } } } diff --git a/lib/atc/ElectronHeatFlux.h b/lib/atc/ElectronHeatFlux.h index 41c89d6c6d..d0bc2a44f2 100644 --- a/lib/atc/ElectronHeatFlux.h +++ b/lib/atc/ElectronHeatFlux.h @@ -126,7 +126,7 @@ namespace ATC { /** * @class ElectronHeatFluxThermopower * @brief Class for an electron heat flux proportional to the temperature gradient but with a condu -ctivity proportional to the ratio of the electron and phonon temperatures with the thermopower from teh electric current included +ctivity proportional to the ratio of the electron and phonon temperatures with the thermopower from the electric current included */ class ElectronHeatFluxThermopower : public ElectronHeatFlux diff --git a/lib/atc/ExtrinsicModelElectrostatic.cpp b/lib/atc/ExtrinsicModelElectrostatic.cpp index b10e77a306..ef3aa52dee 100644 --- a/lib/atc/ExtrinsicModelElectrostatic.cpp +++ b/lib/atc/ExtrinsicModelElectrostatic.cpp @@ -144,7 +144,7 @@ namespace ATC { } } - /** switch to account for short range interaces */ + /** switch to account for short range interfaces */ else if (strcmp(arg[argIndx],"short_range")==0) { argIndx++; if (strcmp(arg[argIndx],"on")==0) { diff --git a/lib/atc/ExtrinsicModelElectrostatic.h b/lib/atc/ExtrinsicModelElectrostatic.h index c4a0af464d..86cba31471 100644 --- a/lib/atc/ExtrinsicModelElectrostatic.h +++ b/lib/atc/ExtrinsicModelElectrostatic.h @@ -92,7 +92,7 @@ namespace ATC { /** rhs mask for Poisson solver */ Array2D<bool> rhsMask_; - /** estimate instrinsic charge density */ + /** estimate intrinsic charge density */ void add_electrostatic_forces(MATRIX & nodalPotential); /** correct short range FE electric field */ diff --git a/lib/atc/FE_Element.cpp b/lib/atc/FE_Element.cpp index 9eec08c483..0d2fc036c7 100644 --- a/lib/atc/FE_Element.cpp +++ b/lib/atc/FE_Element.cpp @@ -408,7 +408,7 @@ static const double localCoordinatesTolerance = 1.e-09; throw ATC_Error("Unrecognized interpolation order specified " "for element class: \n" " element only knows how to construct lin " - "and quad elments."); + "and quad elements."); } localCoords_.resize(nSD_,numNodes_); @@ -637,7 +637,7 @@ static const double localCoordinatesTolerance = 1.e-09; throw ATC_Error("Unrecognized interpolation order specified " "for element class: \n" " element only knows how to construct lin " - "and quad elments."); + "and quad elements."); } localCoords_.resize(nSD_+1, numNodes_); diff --git a/lib/atc/FE_Engine.cpp b/lib/atc/FE_Engine.cpp index bef135a5f2..5e01709b19 100644 --- a/lib/atc/FE_Engine.cpp +++ b/lib/atc/FE_Engine.cpp @@ -349,7 +349,7 @@ namespace ATC{ else throw ATC_Error("not enough element partitions"); } } - // each segment of the piecewise funcion is length-normalized separately + // each segment of the piecewise function is length-normalized separately else if (strcmp(arg[argIdx],"position-number-density")==0) { argIdx++; double *y = new double[nx]; diff --git a/lib/atc/FE_Engine.h b/lib/atc/FE_Engine.h index 18dae0e6b4..eb59f04eef 100644 --- a/lib/atc/FE_Engine.h +++ b/lib/atc/FE_Engine.h @@ -510,7 +510,7 @@ namespace ATC { /** finite element mesh */ FE_Mesh *feMesh_; - /** auxillary kernel function */ + /** auxiliary kernel function */ KernelFunction *kernelFunction_; /** initialized flag */ diff --git a/lib/atc/FE_Interpolate.cpp b/lib/atc/FE_Interpolate.cpp index 19753a8007..5e5bd5ecf1 100644 --- a/lib/atc/FE_Interpolate.cpp +++ b/lib/atc/FE_Interpolate.cpp @@ -564,7 +564,7 @@ namespace ATC { N = 1.0; dNdr = 1.0; - // mapping returns the 1d nodes in each dimension that sould be multiplied + // mapping returns the 1d nodes in each dimension that should be multiplied // to achieve the shape functions in 3d vector<int> mapping(nSD_); for (int inode=0; inode<numEltNodes; ++inode) { @@ -890,7 +890,7 @@ namespace ATC { * * Note: degenerating quads/hexes can yield simplices * as well, but this class is for computing these - * shape fucntions _natively_, in their own + * shape functions _natively_, in their own * triangular/tetrahedral coordinate systems. * *********************************************************/ diff --git a/lib/atc/FieldEulerIntegrator.h b/lib/atc/FieldEulerIntegrator.h index c7b79f85d9..fc3863311c 100644 --- a/lib/atc/FieldEulerIntegrator.h +++ b/lib/atc/FieldEulerIntegrator.h @@ -158,7 +158,7 @@ class FieldImplicitDirectEulerIntegrator : public FieldEulerIntegrator { /** Destructor */ virtual ~FieldImplicitDirectEulerIntegrator(); - /** initalize - init the matrices and inverses */ + /** initialize - init the matrices and inverses */ void initialize(const double dt, const double time, FIELDS & fields); diff --git a/lib/atc/FundamentalAtomicQuantity.h b/lib/atc/FundamentalAtomicQuantity.h index 6561b8112d..5fb525cd6f 100644 --- a/lib/atc/FundamentalAtomicQuantity.h +++ b/lib/atc/FundamentalAtomicQuantity.h @@ -167,7 +167,7 @@ namespace ATC { // destructor virtual ~ComputedAtomQuantity() {}; - /** resets compute, must be this way to accomodate atom sorting between runs */ + /** resets compute, must be this way to accommodate atom sorting between runs */ virtual void post_exchange() {this->needReset_ = true;}; /** specialized reset to account for forcing lammps to perform the compute */ diff --git a/lib/atc/GhostManager.cpp b/lib/atc/GhostManager.cpp index 3c9e54b4f5..77594ec406 100644 --- a/lib/atc/GhostManager.cpp +++ b/lib/atc/GhostManager.cpp @@ -523,7 +523,7 @@ namespace ATC { { compute_distances(); int nlayers = find_layers(); - if (nlayers > ((int)gamma_.size())) throw ATC_Error("GhostModifierDampedHarmonicLayers::initialize not enough damping factors specfied " + to_string(gamma_.size())); + if (nlayers > ((int)gamma_.size())) throw ATC_Error("GhostModifierDampedHarmonicLayers::initialize not enough damping factors specified " + to_string(gamma_.size())); } //-------------------------------------------------------- diff --git a/lib/atc/InterscaleOperators.cpp b/lib/atc/InterscaleOperators.cpp index 0e218bdef4..f1e5607b6e 100644 --- a/lib/atc/InterscaleOperators.cpp +++ b/lib/atc/InterscaleOperators.cpp @@ -157,7 +157,7 @@ namespace ATC{ bool isTemporary = (quantity->memory_type()==TEMPORARY); for (it = (quantity->dependentQuantities_).begin(); it != (quantity->dependentQuantities_).end(); it++) { - // make sure that if quantity isn't persistent, none of it's depedencies are + // make sure that if quantity isn't persistent, none of it's dependencies are if ((*it)->memory_type()==PERSISTENT && isTemporary) { throw ATC_Error("InterscaleManager::dfs_visit - a persistent quantity has a temporary dependency"); } diff --git a/lib/atc/InterscaleOperators.h b/lib/atc/InterscaleOperators.h index 0ddca1dc67..3a4d81212e 100644 --- a/lib/atc/InterscaleOperators.h +++ b/lib/atc/InterscaleOperators.h @@ -245,19 +245,19 @@ namespace ATC { /** container for molecule sets */ std::map<std::string, SmallMoleculeSet * > smallMoleculeSets_; - /** container for atomic quantities which must be transfered when atoms cross processors */ + /** container for atomic quantities which must be transferred when atoms cross processors */ std::set<PerAtomQuantity<double> *> exchangeList_; - /** container for atomic quantities which must be transfered to ghost atoms on other processors */ + /** container for atomic quantities which must be transferred to ghost atoms on other processors */ std::vector<PerAtomQuantity<double> *> commList_; - /** container for integer atomic quantities which must be transfered to ghost atoms on other processors */ + /** container for integer atomic quantities which must be transferred to ghost atoms on other processors */ std::vector<PerAtomQuantity<int> *> commIntList_; - /** container for atomic diagonal matrices which must be transfered to ghost atoms on other processors */ + /** container for atomic diagonal matrices which must be transferred to ghost atoms on other processors */ std::vector<PerAtomDiagonalMatrix<double> *> commDmList_; - /** container for atomic sparse matrices which must be transfered to ghost atoms on other processors */ + /** container for atomic sparse matrices which must be transferred to ghost atoms on other processors */ std::vector<PerAtomSparseMatrix<double> *> commSmList_; /** prefix for labeling associated lammps arrays */ @@ -329,7 +329,7 @@ namespace ATC { (it->second)->set_memory_type(TEMPORARY); } - /** helper function to perform intialization for dfs of a list */ + /** helper function to perform initialization for dfs of a list */ template <typename data> void dfs_prepare_loop(std::map<std::string,data * > & list) { diff --git a/lib/atc/KinetoThermostat.h b/lib/atc/KinetoThermostat.h index 6f7d113734..bc40f19ed1 100644 --- a/lib/atc/KinetoThermostat.h +++ b/lib/atc/KinetoThermostat.h @@ -607,7 +607,7 @@ namespace ATC { /* /\** change in restricted atomic FE energy over a timestep *\/ */ /* DENS_MAT deltaNodalAtomicEnergy_; */ -/* /\** intial restricted atomic FE energy used to compute change *\/ */ +/* /\** initial restricted atomic FE energy used to compute change *\/ */ /* DENS_MAT initialNodalAtomicEnergy_; */ /* /\** filtered nodal atomic energy *\/ */ diff --git a/lib/atc/Kinetostat.cpp b/lib/atc/Kinetostat.cpp index 8093d5925a..7f95398dcb 100644 --- a/lib/atc/Kinetostat.cpp +++ b/lib/atc/Kinetostat.cpp @@ -2233,7 +2233,7 @@ namespace ATC { // initialize_delta_nodal_atomic_momentum: // initializes storage for the variable tracking // the change in the nodal atomic momentum - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- void KinetostatFixed::initialize_delta_nodal_atomic_momentum(double dt) { @@ -2248,7 +2248,7 @@ namespace ATC { //-------------------------------------------------------- // compute_delta_nodal_atomic_momentum: // computes the change in the nodal atomic momentum - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- void KinetostatFixed::compute_delta_nodal_atomic_momentum(double dt) { diff --git a/lib/atc/Kinetostat.h b/lib/atc/Kinetostat.h index 691b929e9f..e3e1c17e52 100644 --- a/lib/atc/Kinetostat.h +++ b/lib/atc/Kinetostat.h @@ -806,7 +806,7 @@ namespace ATC { /** change in restricted atomic FE momentum over a timestep */ DENS_MAT deltaNodalAtomicMomentum_; - /** intial restricted atomic FE momentum used to compute change */ + /** initial restricted atomic FE momentum used to compute change */ DENS_MAT initialNodalAtomicMomentum_; /** filtered nodal atomic momentum */ diff --git a/lib/atc/LammpsInterface.cpp b/lib/atc/LammpsInterface.cpp index 9c2223f555..9964a1c4bb 100644 --- a/lib/atc/LammpsInterface.cpp +++ b/lib/atc/LammpsInterface.cpp @@ -631,7 +631,7 @@ LammpsInterface::LatticeType LammpsInterface::lattice_style() const throw ATC_Error("Lattice has not been defined"); } -//* retuns the number of basis vectors +//* returns the number of basis vectors int LammpsInterface::n_basis() const { return lammps_->domain->lattice->nbasis; diff --git a/lib/atc/Material.h b/lib/atc/Material.h index 18cccd8792..5a835d446b 100644 --- a/lib/atc/Material.h +++ b/lib/atc/Material.h @@ -83,7 +83,7 @@ namespace ATC /** each of these is a field function computed at a set of points */ /** if there is only one function it is in the base class - ** otherwise, a subsidary class is setup */ + ** otherwise, a subsidiary class is setup */ /* -----------------------------------------------------------------*/ /** densities */ /* -----------------------------------------------------------------*/ diff --git a/lib/atc/Matrix.cpp b/lib/atc/Matrix.cpp index 0741099872..1b77796b8b 100644 --- a/lib/atc/Matrix.cpp +++ b/lib/atc/Matrix.cpp @@ -81,7 +81,7 @@ DenseMatrix<double> inv(const MATRIX& A) GCK(A,A,info<0,"DenseMatrix::inv() dgetri error: Argument had bad value."); GCHK(info>0,"DenseMatrix::inv() dgetri error: Matrix not invertible."); - // Work size query succeded + // Work size query succeeded lwork = (int)work_dummy[0]; double *work = new double[lwork]; // Allocate vector of appropriate size @@ -287,7 +287,7 @@ double det(const MATRIX& A) double max_eigenvalue(const Matrix<double>& A) { - GCK(A,A,!A.is_size(3,3), "max_eigenvalue only implimented for 3x3"); + GCK(A,A,!A.is_size(3,3), "max_eigenvalue only implemented for 3x3"); const double c0 = det(A); const double c1 = A(1,0)*A(0,1) + A(2,0)*A(0,2) + A(1,2)*A(2,1) - A(0,0)*A(1,1) - A(0,0)*A(2,2) - A(1,1)*A(2,2); diff --git a/lib/atc/Matrix.h b/lib/atc/Matrix.h index 6745ea96db..c93576518c 100644 --- a/lib/atc/Matrix.h +++ b/lib/atc/Matrix.h @@ -150,7 +150,7 @@ protected: //* Matrix operations //@{ -//* Sets C as b*C + a*A[tranpose?]*B[transpose?] +//* Sets C as b*C + a*A[transpose?]*B[transpose?] template<typename T> void MultAB(const Matrix<T> &A, const Matrix<T> &B, DenseMatrix<T> &C, bool At=0, bool Bt=0, T a=1, T b=0); @@ -622,7 +622,7 @@ Matrix<T>& Matrix<T>::operator+=(const T v) return *this; } //----------------------------------------------------------------------------- -// substracts a constant to this matrix +// subtracts a constant to this matrix //----------------------------------------------------------------------------- template<typename T> Matrix<T>& Matrix<T>::operator-=(const T v) diff --git a/lib/atc/PhysicsModel.cpp b/lib/atc/PhysicsModel.cpp index 77cc41e972..f5c342c5a0 100644 --- a/lib/atc/PhysicsModel.cpp +++ b/lib/atc/PhysicsModel.cpp @@ -95,7 +95,7 @@ void PhysicsModel::parse_material_file(string fileName) } } else { - throw ATC_Error("units need to be specfied in material file"); + throw ATC_Error("units need to be specified in material file"); } } } diff --git a/lib/atc/SparseMatrix.h b/lib/atc/SparseMatrix.h index 35393187cd..700d2f3af6 100644 --- a/lib/atc/SparseMatrix.h +++ b/lib/atc/SparseMatrix.h @@ -38,9 +38,9 @@ class SparseMatrix : public Matrix<T> friend SparseMatrix<T> operator*<T>(const SparseMatrix<T> &A, const DiagonalMatrix<T>& D); //* SparseMatrix-SparseMatrix multiplication (S * S) friend SparseMatrix<T> operator*<T>(const SparseMatrix<T> &A, const SparseMatrix<T> &B); - //* computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). + //* computes the product of a SparseMatrix transpose with a SparseVector (M'*v). friend SparseVector<T> operator*<T>(const SparseMatrix<T> &M, const SparseVector<T> &v); - //* computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). + //* computes the product of a SparseMatrix transpose with a SparseVector (M'*v). friend SparseVector<T> operator*<T>(const SparseVector<T> &v, const SparseMatrix<T> &M); template<typename U> diff --git a/lib/atc/SparseVector-inl.h b/lib/atc/SparseVector-inl.h index 760eb66f58..7f2c844bd6 100644 --- a/lib/atc/SparseVector-inl.h +++ b/lib/atc/SparseVector-inl.h @@ -55,7 +55,7 @@ T dot(const SparseVector<T> &a, const SparseVector<T> &b) } return v; } -// Computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). +// Computes the product of a SparseMatrix transpose with a SparseVector (M'*v). template<class T> SparseVector<T> operator*(const SparseMatrix<T> &M, const SparseVector<T> &v) { @@ -73,7 +73,7 @@ SparseVector<T> operator*(const SparseMatrix<T> &M, const SparseVector<T> &v) return y; } -// computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). +// computes the product of a SparseMatrix transpose with a SparseVector (M'*v). template<class T> SparseVector<T> operator*(const SparseVector<T> &v, const SparseMatrix<T> &M) { diff --git a/lib/atc/SparseVector.h b/lib/atc/SparseVector.h index 4219bb2627..5cb16af527 100644 --- a/lib/atc/SparseVector.h +++ b/lib/atc/SparseVector.h @@ -30,9 +30,9 @@ class SparseVector : public Vector<T> { // for use with gcc friend T dot<T>(const SparseVector<T> &a, const SparseVector<T> &b); #endif - //* computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). + //* computes the product of a SparseMatrix transpose with a SparseVector (M'*v). friend SparseVector<T> operator*<T>(const SparseMatrix<T> &M, const SparseVector<T> &v); - //* computes the product of a SparseMatrix tranpose with a SparseVector (M'*v). + //* computes the product of a SparseMatrix transpose with a SparseVector (M'*v). friend SparseVector<T> operator*<T>(const SparseVector<T> &v, const SparseMatrix<T> &M); public: //* Constructor - sets length of vector (NOT # of nonzeros). @@ -71,9 +71,9 @@ public: void reset (INDEX nRows, INDEX nCols=1, bool zero=0); //* zeros out all elements while preserving sparcity pattern void zero(); - //* TODO impliment copy (or maybe not necessary) + //* TODO implement copy (or maybe not necessary) void copy(const T* ptr, INDEX nRows, INDEX nCols=1); - //* Writes a restart file (TODO impliment this if needed/wanted). + //* Writes a restart file (TODO implement this if needed/wanted). void write_restart(FILE *F) const; //* Adds SparseVector x, scaled by s to this one. Can be different sparcity. void add_scaled(SparseVector<T>& x, const T& s); diff --git a/lib/atc/Stress.cpp b/lib/atc/Stress.cpp index 906b15986e..72656c21ed 100644 --- a/lib/atc/Stress.cpp +++ b/lib/atc/Stress.cpp @@ -328,7 +328,7 @@ StressCauchyBorn::StressCauchyBorn(fstream &fileId, CbData &cb) if (line.size() && line[0]=="pair_coeff") break; } if (line[0] != "pair_coeff" || line.size() != 3) { - throw(ATC_Error("lj/cut needs 2 coefficents")); + throw(ATC_Error("lj/cut needs 2 coefficients")); } delete potential_; potential_ = new CbLjCut(str2dbl(line[1]), str2dbl(line[2]), rc); @@ -341,7 +341,7 @@ StressCauchyBorn::StressCauchyBorn(fstream &fileId, CbData &cb) if (line.size() && line[0]=="pair_coeff") break; } if (line[0] != "pair_coeff" || line.size() != 3) { - throw(ATC_Error("lj/smooth/linear needs 2 coefficents")); + throw(ATC_Error("lj/smooth/linear needs 2 coefficients")); } delete potential_; potential_ = new CbLjSmoothLinear(str2dbl(line[1]), str2dbl(line[2]), rc); diff --git a/lib/atc/ThermalTimeIntegrator.cpp b/lib/atc/ThermalTimeIntegrator.cpp index f68f46b01f..e74d46a20c 100644 --- a/lib/atc/ThermalTimeIntegrator.cpp +++ b/lib/atc/ThermalTimeIntegrator.cpp @@ -87,7 +87,7 @@ namespace ATC { break; } default: - throw ATC_Error("Uknown time integration type in ThermalTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in ThermalTimeIntegrator::Initialize()"); } } @@ -102,7 +102,7 @@ namespace ATC { break; } default: - throw ATC_Error("Uknown time integration type in ThermalTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in ThermalTimeIntegrator::Initialize()"); } } else { @@ -116,7 +116,7 @@ namespace ATC { break; } default: - throw ATC_Error("Uknown time integration type in ThermalTimeIntegrator::Initialize()"); + throw ATC_Error("Unknown time integration type in ThermalTimeIntegrator::Initialize()"); } } } diff --git a/lib/atc/ThermalTimeIntegrator.h b/lib/atc/ThermalTimeIntegrator.h index f0ce73b9b4..8f5175d8a2 100644 --- a/lib/atc/ThermalTimeIntegrator.h +++ b/lib/atc/ThermalTimeIntegrator.h @@ -273,7 +273,7 @@ namespace ATC { /** change in FE temperature due to atomic motions */ DENS_MAN atomicTemperatureDelta_; - /** fractional step auxilliary storage for restricted atomic energy */ + /** fractional step auxiliary storage for restricted atomic energy */ DENS_MAN * nodalAtomicEnergy_; /** power associated with thermostat for post-processing */ diff --git a/lib/atc/Thermostat.cpp b/lib/atc/Thermostat.cpp index 0ede724371..a602105854 100644 --- a/lib/atc/Thermostat.cpp +++ b/lib/atc/Thermostat.cpp @@ -1460,7 +1460,7 @@ namespace ATC { // initialize_delta_nodal_atomic_energy: // initializes storage for the variable tracking // the change in the nodal atomic energy - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- void ThermostatIntegratorFixed::initialize_delta_nodal_atomic_energy(double dt) { @@ -1475,7 +1475,7 @@ namespace ATC { //-------------------------------------------------------- // compute_delta_nodal_atomic_energy: // computes the change in the nodal atomic energy - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- void ThermostatIntegratorFixed::compute_delta_nodal_atomic_energy(double dt) { @@ -1778,7 +1778,7 @@ namespace ATC { // initialize_delta_nodal_atomic_energy: // initializes storage for the variable tracking // the change in the nodal atomic energy - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- @@ -1795,7 +1795,7 @@ namespace ATC { //-------------------------------------------------------- // compute_delta_nodal_atomic_energy: // computes the change in the nodal atomic energy - // that has occured over the past timestep + // that has occurred over the past timestep //-------------------------------------------------------- void ThermostatIntegratorFixedFiltered::compute_delta_nodal_atomic_energy(double dt) { diff --git a/lib/atc/Thermostat.h b/lib/atc/Thermostat.h index 95d2d1162d..3764d0b835 100644 --- a/lib/atc/Thermostat.h +++ b/lib/atc/Thermostat.h @@ -581,7 +581,7 @@ namespace ATC { /** change in restricted atomic FE energy over a timestep */ DENS_MAT deltaNodalAtomicEnergy_; - /** intial restricted atomic FE energy used to compute change */ + /** initial restricted atomic FE energy used to compute change */ DENS_MAT initialNodalAtomicEnergy_; /** filtered nodal atomic energy */ diff --git a/lib/atc/TimeIntegrator.h b/lib/atc/TimeIntegrator.h index ceeb7610fb..ccb9b9f426 100644 --- a/lib/atc/TimeIntegrator.h +++ b/lib/atc/TimeIntegrator.h @@ -362,7 +362,7 @@ namespace ATC { inline void explicit_1(MATRIX & f, const MATRIX & dot_f, double dt) - // 1rst order explict ODE update + // 1rst order explicit ODE update { f = f + dt*dot_f; }; @@ -371,7 +371,7 @@ namespace ATC { const MATRIX & dot_f, const MATRIX & ddot_f, double dt) - // 2nd order explict ODE update + // 2nd order explicit ODE update { f = f + dt*dot_f + .5*dt*dt*ddot_f; }; diff --git a/lib/atc/TransferOperator.h b/lib/atc/TransferOperator.h index 0ab92805be..5f776d04ca 100644 --- a/lib/atc/TransferOperator.h +++ b/lib/atc/TransferOperator.h @@ -466,7 +466,7 @@ namespace ATC { /** reference to shape function matrix */ SPAR_MAN * shapeFunction_; - /** persistant workspace */ + /** persistent workspace */ mutable DENS_MAT _workspace_; @@ -510,7 +510,7 @@ namespace ATC { /** reference to shape function matrix */ SPAR_MAN * shapeFunction_; - /** persistant workspace */ + /** persistent workspace */ mutable DENS_MAT _workspace_; @@ -560,7 +560,7 @@ namespace ATC { DIAG_MAN * weights_; DENS_MAT * reference_; - /** persistant workspace */ + /** persistent workspace */ mutable DENS_MAT _workspace_; @@ -887,7 +887,7 @@ namespace ATC { /** pointer to the mesh being used */ const FE_Mesh * feMesh_; - /** persistant workspace */ + /** persistent workspace */ mutable DENS_MAT _workspace_; diff --git a/lib/awpmd/ivutils/include/logexc.h b/lib/awpmd/ivutils/include/logexc.h index 4c8364671a..80942f60bf 100644 --- a/lib/awpmd/ivutils/include/logexc.h +++ b/lib/awpmd/ivutils/include/logexc.h @@ -42,7 +42,7 @@ enum vbLEVELS{ /// by default all exceptions have vblFATAL level template<class exc_t> struct log_exception_traits{ - /// exeption level according to the vbLEVELS + /// exception level according to the vbLEVELS static int level(const exc_t & /* signal */){ return vblFATAL; } /// the string name of exception category static string name(const exc_t & /* signal */){ return typeid(exc_t).name();} @@ -59,7 +59,7 @@ struct log_exception_traits{ /// integer exceptions have the level equal to their value template<> struct log_exception_traits<int>{ - /// exeption level according to the vbLEVELS + /// exception level according to the vbLEVELS static int level(const int &signal){ return signal; } /// the string name of exception category static string name(const int &signal){ @@ -294,7 +294,7 @@ const char *fmt(const char *format,...); /// this may be used to inherit exceptions /// where level and name are defined whithin a class struct log_exception { - /// exeption level according to the vbLEVELS + /// exception level according to the vbLEVELS static int level(const log_exception &signal){ return vblFATAL; } /// the string name of exception category static string name(const log_exception &signal){ return "undefined exception";} diff --git a/lib/awpmd/ivutils/include/wavepacket.h b/lib/awpmd/ivutils/include/wavepacket.h index c4f3837022..337a056e79 100644 --- a/lib/awpmd/ivutils/include/wavepacket.h +++ b/lib/awpmd/ivutils/include/wavepacket.h @@ -168,13 +168,13 @@ public: return imag(b) - real(b)*(imag(a)/real(a)); } - ///\en Transforms derivatives of a function whith respect to WP parameters + ///\en Transforms derivatives of a function with respect to WP parameters /// from internal into physical representation, i. e.:\n /// from df/d{are,aim,b0re,b0im,b1re,b1im,b2re,b2im} (8 values accessed by input iterator d_it in the given order)\n /// to df/d{x0,x1,x2}, df/d{p0,p1,p2}, df/dw, df/dpw /// The supplied inputs (val) are modified by op: val=op(val,phys_der). /// Use operation=eq_second for the supplied inputs to be replaced by new physical derivative values. - /// The inpput and output locations may coinside, an internal buffer is used for transformation. + /// The input and output locations may coinside, an internal buffer is used for transformation. template<template<class A> class operation, class d_it, class dfdx_it, class dfdp_it, class dfdw_it, class dfdpw_it> void int2phys_der(d_it dfdi_,dfdx_it dfdx, dfdp_it dfdp, dfdw_it dfdw, dfdpw_it dfdpw, double h_p=h_plank) const { operation<double> op; diff --git a/lib/awpmd/systems/interact/TCP/wpmd.cpp b/lib/awpmd/systems/interact/TCP/wpmd.cpp index ad5d8e26bc..1e53f3141c 100644 --- a/lib/awpmd/systems/interact/TCP/wpmd.cpp +++ b/lib/awpmd/systems/interact/TCP/wpmd.cpp @@ -217,7 +217,7 @@ int AWPMD::interaction_hartree(int flag, Vector_3P fi, Vector_3P fe_x, // 0. resizing the arrays if needed enum APPROX tmp=HARTREE; - swap(tmp,approx); // do not neeed large matrices + swap(tmp,approx); // do not need large matrices resize(flag); swap(tmp,approx); //1. clearing forces diff --git a/lib/awpmd/systems/interact/TCP/wpmd.h b/lib/awpmd/systems/interact/TCP/wpmd.h index bcb99e2092..e5a7c27697 100644 --- a/lib/awpmd/systems/interact/TCP/wpmd.h +++ b/lib/awpmd/systems/interact/TCP/wpmd.h @@ -201,7 +201,7 @@ inline pair<double,double> operator*(const pair<double,double> &right, double le return make_pair(right.first*left,right.second*left); } -// Auxilary class to handle the normalizing term derivatives +// Auxiliary class to handle the normalizing term derivatives class NormDeriv { public: @@ -235,7 +235,7 @@ inline NormDeriv conj(const NormDeriv& src){ return dst; } -///\en Auxilary class to handle derivatives of overlaps +///\en Auxiliary class to handle derivatives of overlaps class OverlapDeriv{ public: WavePacket w1, w2, w12; @@ -496,7 +496,7 @@ public: } protected: - //e translates wp2 to the nearest image postion relative to wp1 + //e translates wp2 to the nearest image position relative to wp1 //e gets the translation vector Vector_3 move_to_image(const WavePacket &wp1, WavePacket &wp2) const { Vector_3 r1=wp1.get_r(); @@ -646,7 +646,7 @@ public: Vector_3P fe_p, double *fe_w, double *fe_pw, Vector_2P fe_c=NULL); - ///\en Creates wave packet acording to the given physical parameters. + ///\en Creates wave packet according to the given physical parameters. /// The function may change its arguments by applying existing constraints! /// Default mass (-1) is the electron mass AWPMD::me. WavePacket create_wp(Vector_3 &x, Vector_3 &v, double &w, double &pw, double mass=-1); diff --git a/lib/awpmd/systems/interact/TCP/wpmd_split.cpp b/lib/awpmd/systems/interact/TCP/wpmd_split.cpp index 691dbac91b..732707d717 100644 --- a/lib/awpmd/systems/interact/TCP/wpmd_split.cpp +++ b/lib/awpmd/systems/interact/TCP/wpmd_split.cpp @@ -351,7 +351,7 @@ int AWPMD_split::interaction_hartree(int flag, Vector_3P fi, Vector_3P fe_x, // resize arrays if needed enum APPROX tmp=HARTREE; - swap(tmp,approx); // do not neeed large matrices + swap(tmp,approx); // do not need large matrices resize(flag); swap(tmp,approx); diff --git a/lib/colvars/README b/lib/colvars/README index 6be1b8dd58..cd6e59511a 100644 --- a/lib/colvars/README +++ b/lib/colvars/README @@ -27,7 +27,7 @@ Also available is a Doxygen-based developer documentation: The reference article is: G. Fiorin, M. L. Klein, and J. Hénin, Molecular Physics 111, 3345 (2013). - http://dx.doi.org/10.1080/00268976.2013.813594 + https://doi.org/10.1080/00268976.2013.813594 ## Requirements diff --git a/lib/colvars/colvar.cpp b/lib/colvars/colvar.cpp index fb95bda5ec..1002dc35d8 100644 --- a/lib/colvars/colvar.cpp +++ b/lib/colvars/colvar.cpp @@ -252,7 +252,7 @@ int colvar::init(std::string const &conf) // components may have different types only for scripted functions if (!(is_enabled(f_cv_scripted) || is_enabled(f_cv_custom_function)) && (colvarvalue::check_types(cvcs[i]->value(), cvcs[0]->value())) ) { - cvm::error("ERROR: you are definining this collective variable " + cvm::error("ERROR: you are defining this collective variable " "by using components of different types. " "You must use the same type in order to " "sum them together.\n", INPUT_ERROR); diff --git a/lib/colvars/colvarbias_abf.h b/lib/colvars/colvarbias_abf.h index 5a1a1c8128..1939b61a8b 100644 --- a/lib/colvars/colvarbias_abf.h +++ b/lib/colvars/colvarbias_abf.h @@ -109,7 +109,7 @@ private: colvar_grid_gradient *z_gradients; /// n-dim grid of number of samples on "real" coordinate for eABF z-based estimator colvar_grid_count *z_samples; - /// n-dim grid contining CZAR estimator of "real" free energy gradients + /// n-dim grid containing CZAR estimator of "real" free energy gradients colvar_grid_gradient *czar_gradients; /// n-dim grid of CZAR pmf (dimension 1 to 3) integrate_potential *czar_pmf; diff --git a/lib/colvars/colvarcomp.h b/lib/colvars/colvarcomp.h index b01c7e48e1..1ab7d17031 100644 --- a/lib/colvars/colvarcomp.h +++ b/lib/colvars/colvarcomp.h @@ -1512,7 +1512,7 @@ protected: std::map<std::string, std::function<colvar::cvc* (const std::string& subcv_conf)>> string_cv_map; /// Sub-colvar components std::vector<colvar::cvc*> cv; - /// Refernce colvar values from path + /// Reference colvar values from path std::vector<std::vector<colvarvalue>> ref_cv; /// If all sub-cvs use explicit gradients then we also use it bool use_explicit_gradients; diff --git a/lib/colvars/colvarcomp_protein.cpp b/lib/colvars/colvarcomp_protein.cpp index e0779b602e..3add471c04 100644 --- a/lib/colvars/colvarcomp_protein.cpp +++ b/lib/colvars/colvarcomp_protein.cpp @@ -210,7 +210,7 @@ void colvar::alpha_angles::collect_gradients(std::vector<int> const &atom_ids, s 1.0/(1.0 - (t*t*t*t)) * ( (-2.0 * t) + (-1.0*f)*(-4.0 * (t*t*t)) ); - // Coeficient of this CVC's gradient in the colvar gradient, times coefficient of this + // Coefficient of this CVC's gradient in the colvar gradient, times coefficient of this // angle's gradient in the CVC's gradient cvm::real const coeff = cvc_coeff * theta_norm * dfdt * (1.0/theta_tol); @@ -230,7 +230,7 @@ void colvar::alpha_angles::collect_gradients(std::vector<int> const &atom_ids, s cvm::real const hb_norm = hb_coeff / cvm::real(hb.size()); for (size_t i = 0; i < hb.size(); i++) { - // Coeficient of this CVC's gradient in the colvar gradient, times coefficient of this + // Coefficient of this CVC's gradient in the colvar gradient, times coefficient of this // hbond's gradient in the CVC's gradient cvm::real const coeff = cvc_coeff * 0.5 * hb_norm; @@ -473,7 +473,7 @@ void colvar::dihedPC::collect_gradients(std::vector<int> const &atom_ids, std::v cvm::real const t = (PI / 180.) * theta[i]->value().real_value; cvm::real const dcosdt = - (PI / 180.) * cvm::sin(t); cvm::real const dsindt = (PI / 180.) * cvm::cos(t); - // Coeficient of this dihedPC's gradient in the colvar gradient, times coefficient of this + // Coefficient of this dihedPC's gradient in the colvar gradient, times coefficient of this // dihedral's gradient in the dihedPC's gradient cvm::real const coeff = cvc_coeff * (coeffs[2*i] * dcosdt + coeffs[2*i+1] * dsindt); diff --git a/lib/colvars/colvardeps.h b/lib/colvars/colvardeps.h index 058ac3c78c..63669536fe 100644 --- a/lib/colvars/colvardeps.h +++ b/lib/colvars/colvardeps.h @@ -21,7 +21,7 @@ /// system. They may be enabled or disabled depending on dependencies. /// 2. User features may be enabled based on user input (they may trigger a failure upon dependency resolution, though) /// 3. Static features are static properties of the object, determined -/// programatically at initialization time. +/// programmatically at initialization time. /// /// The following diagram summarizes the dependency tree at the bias, colvar, and colvarcomp levels. /// Isolated and atom group features are not shown to save space. diff --git a/lib/colvars/colvarmodule.cpp b/lib/colvars/colvarmodule.cpp index 83632d9458..1d5f75bbca 100644 --- a/lib/colvars/colvarmodule.cpp +++ b/lib/colvars/colvarmodule.cpp @@ -50,7 +50,7 @@ colvarmodule::colvarmodule(colvarproxy *proxy_in) cvm::log("Initializing the collective variables module, version "+ cvm::to_str(COLVARS_VERSION)+".\n"); cvm::log("Please cite Fiorin et al, Mol Phys 2013:\n " - "https://dx.doi.org/10.1080/00268976.2013.813594\n" + "https://doi.org/10.1080/00268976.2013.813594\n" "in any publication based on this calculation.\n"); if (proxy->smp_enabled() == COLVARS_OK) { diff --git a/lib/colvars/colvarproxy.h b/lib/colvars/colvarproxy.h index 7a43946c52..ba91afb40e 100644 --- a/lib/colvars/colvarproxy.h +++ b/lib/colvars/colvarproxy.h @@ -334,7 +334,7 @@ class colvarproxy_atom_groups { public: - /// Contructor + /// Constructor colvarproxy_atom_groups(); /// Destructor diff --git a/lib/gpu/README b/lib/gpu/README index 2d98749a40..2ef8ce9556 100644 --- a/lib/gpu/README +++ b/lib/gpu/README @@ -52,7 +52,7 @@ user-gpu_SYSLIB = CUDA libraries needed by this package user-gpu_SYSPATH = path(s) to where those libraries are Because you have the CUDA compilers on your system, you should have -the needed libraries. If the CUDA developement tools were installed +the needed libraries. If the CUDA development tools were installed in the standard manner, the settings in the Makefile.lammps.standard file should work. diff --git a/lib/gpu/cudpp_mini/cudpp.cpp b/lib/gpu/cudpp_mini/cudpp.cpp index da5975406d..e2cd4621a4 100644 --- a/lib/gpu/cudpp_mini/cudpp.cpp +++ b/lib/gpu/cudpp_mini/cudpp.cpp @@ -27,7 +27,7 @@ * defined in cudpp.h. Public interface functions call functions in the * \link cudpp_app Application-Level\endlink interface. The public * interface functions include Plan Interface functions and Algorithm - * Interface functions. Plan Inteface functions are used for creating + * Interface functions. Plan Interface functions are used for creating * CUDPP Plan objects which contain configuration details, intermediate * storage space, and in the case of cudppSparseMatrix(), data. The * Algorithm Interface is the set of functions that do the real work diff --git a/lib/gpu/cudpp_mini/cutil.h b/lib/gpu/cudpp_mini/cutil.h index 3df93fb886..fbf139cda3 100644 --- a/lib/gpu/cudpp_mini/cutil.h +++ b/lib/gpu/cudpp_mini/cutil.h @@ -367,7 +367,7 @@ extern "C" { //! @param w width of the image //! @param h height of the image //! @note If a NULL pointer is passed to this function and it is - //! initialized withing Cutil then cutFree() has to be used to + //! initialized within Cutil then cutFree() has to be used to //! deallocate the memory //////////////////////////////////////////////////////////////////////////// DLL_MAPPING @@ -382,7 +382,7 @@ extern "C" { //! @param w width of the image //! @param h height of the image //! @note If a NULL pointer is passed to this function and it is - //! initialized withing Cutil then cutFree() has to be used to + //! initialized within Cutil then cutFree() has to be used to //! deallocate the memory //////////////////////////////////////////////////////////////////////////// DLL_MAPPING @@ -466,7 +466,7 @@ extern "C" { //////////////////////////////////////////////////////////////////////////// // Command line arguments: General notes // * All command line arguments begin with '--' followed by the token; - // token and value are seperated by '='; example --samples=50 + // token and value are separated by '='; example --samples=50 // * Arrays have the form --model=[one.obj,two.obj,three.obj] // (without whitespaces) //////////////////////////////////////////////////////////////////////////// diff --git a/lib/gpu/cudpp_mini/kernel/scan_kernel.cu b/lib/gpu/cudpp_mini/kernel/scan_kernel.cu index 966634c89b..d8eb477952 100644 --- a/lib/gpu/cudpp_mini/kernel/scan_kernel.cu +++ b/lib/gpu/cudpp_mini/kernel/scan_kernel.cu @@ -46,7 +46,7 @@ * the rows of \a d_blockSums (in elements) in \a blockSumRowPitch, and invoke * with a thread block grid with height greater than 1. * - * This function peforms one level of a recursive, multiblock scan. At the + * This function performs one level of a recursive, multiblock scan. At the * app level, this function is called by cudppScan and cudppMultiScan and used * in combination with vectorAddUniform4() to produce a complete scan. * diff --git a/lib/gpu/lal_base_atomic.h b/lib/gpu/lal_base_atomic.h index e3e9829abc..da17bd928d 100644 --- a/lib/gpu/lal_base_atomic.h +++ b/lib/gpu/lal_base_atomic.h @@ -43,7 +43,7 @@ class BaseAtomic { * \param k_name name for the kernel for force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_base_charge.h b/lib/gpu/lal_base_charge.h index 64c19554b9..29554ebfd5 100644 --- a/lib/gpu/lal_base_charge.h +++ b/lib/gpu/lal_base_charge.h @@ -44,7 +44,7 @@ class BaseCharge { * \param k_name name for the kernel for force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_base_dipole.h b/lib/gpu/lal_base_dipole.h index b51c4303cf..eecdcd3aab 100644 --- a/lib/gpu/lal_base_dipole.h +++ b/lib/gpu/lal_base_dipole.h @@ -42,7 +42,7 @@ class BaseDipole { * \param k_name name for the kernel for force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_base_dpd.h b/lib/gpu/lal_base_dpd.h index 7a75282d0a..b46de2197d 100644 --- a/lib/gpu/lal_base_dpd.h +++ b/lib/gpu/lal_base_dpd.h @@ -42,7 +42,7 @@ class BaseDPD { * \param k_name name for the kernel for force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_base_ellipsoid.h b/lib/gpu/lal_base_ellipsoid.h index 7deeccbf44..d4bdd9e969 100644 --- a/lib/gpu/lal_base_ellipsoid.h +++ b/lib/gpu/lal_base_ellipsoid.h @@ -44,7 +44,7 @@ class BaseEllipsoid { * \param k_name name for the kernel for force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_base_three.h b/lib/gpu/lal_base_three.h index f5f36863c4..96ca928edc 100644 --- a/lib/gpu/lal_base_three.h +++ b/lib/gpu/lal_base_three.h @@ -46,7 +46,7 @@ class BaseThree { * \param k_three name for the kernel for 3-body force calculation * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_beck.h b/lib/gpu/lal_beck.h index db26bebeb0..638f1bf626 100644 --- a/lib/gpu/lal_beck.h +++ b/lib/gpu/lal_beck.h @@ -32,7 +32,7 @@ class Beck : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_born.h b/lib/gpu/lal_born.h index 685f4d87a9..2a7f355d69 100644 --- a/lib/gpu/lal_born.h +++ b/lib/gpu/lal_born.h @@ -32,7 +32,7 @@ class Born : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_born_coul_long.h b/lib/gpu/lal_born_coul_long.h index d236b7b57f..e383d18e0c 100644 --- a/lib/gpu/lal_born_coul_long.h +++ b/lib/gpu/lal_born_coul_long.h @@ -32,7 +32,7 @@ class BornCoulLong : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_born_coul_long_cs.h b/lib/gpu/lal_born_coul_long_cs.h index df0fa0fcd4..6c4032b3be 100644 --- a/lib/gpu/lal_born_coul_long_cs.h +++ b/lib/gpu/lal_born_coul_long_cs.h @@ -32,7 +32,7 @@ class BornCoulLongCS : public BornCoulLong<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_born_coul_wolf.h b/lib/gpu/lal_born_coul_wolf.h index 4b817ee0ce..fa53f48939 100644 --- a/lib/gpu/lal_born_coul_wolf.h +++ b/lib/gpu/lal_born_coul_wolf.h @@ -32,7 +32,7 @@ class BornCoulWolf : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_born_coul_wolf_cs.h b/lib/gpu/lal_born_coul_wolf_cs.h index 1d9de0a457..e5bff1b4cc 100644 --- a/lib/gpu/lal_born_coul_wolf_cs.h +++ b/lib/gpu/lal_born_coul_wolf_cs.h @@ -32,7 +32,7 @@ class BornCoulWolfCS : public BornCoulWolf<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_buck.h b/lib/gpu/lal_buck.h index 3b84066355..7a09fae5dd 100644 --- a/lib/gpu/lal_buck.h +++ b/lib/gpu/lal_buck.h @@ -32,7 +32,7 @@ class Buck : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_buck_coul.h b/lib/gpu/lal_buck_coul.h index 3f8428bfe1..eebba78eb0 100644 --- a/lib/gpu/lal_buck_coul.h +++ b/lib/gpu/lal_buck_coul.h @@ -32,7 +32,7 @@ class BuckCoul : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_buck_coul_long.h b/lib/gpu/lal_buck_coul_long.h index 4a70a3a097..e2d69475cf 100644 --- a/lib/gpu/lal_buck_coul_long.h +++ b/lib/gpu/lal_buck_coul_long.h @@ -32,7 +32,7 @@ class BuckCoulLong : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_charmm_long.h b/lib/gpu/lal_charmm_long.h index 011083db13..5d9d9ea50b 100644 --- a/lib/gpu/lal_charmm_long.h +++ b/lib/gpu/lal_charmm_long.h @@ -32,7 +32,7 @@ class CHARMMLong : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_colloid.h b/lib/gpu/lal_colloid.h index dfbd4dbadd..35426007d8 100644 --- a/lib/gpu/lal_colloid.h +++ b/lib/gpu/lal_colloid.h @@ -32,7 +32,7 @@ class Colloid : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_coul.h b/lib/gpu/lal_coul.h index 6d9b6b1b2b..38472375fb 100644 --- a/lib/gpu/lal_coul.h +++ b/lib/gpu/lal_coul.h @@ -32,7 +32,7 @@ class Coul : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_coul_debye.h b/lib/gpu/lal_coul_debye.h index 328c3dd64e..13e4c5b0c6 100644 --- a/lib/gpu/lal_coul_debye.h +++ b/lib/gpu/lal_coul_debye.h @@ -32,7 +32,7 @@ class CoulDebye : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_coul_dsf.h b/lib/gpu/lal_coul_dsf.h index e52a51d583..3d57898f81 100644 --- a/lib/gpu/lal_coul_dsf.h +++ b/lib/gpu/lal_coul_dsf.h @@ -32,7 +32,7 @@ class CoulDSF : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_coul_long.h b/lib/gpu/lal_coul_long.h index ae25b91dc7..0668e0fd02 100644 --- a/lib/gpu/lal_coul_long.h +++ b/lib/gpu/lal_coul_long.h @@ -32,7 +32,7 @@ class CoulLong : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_coul_long_cs.h b/lib/gpu/lal_coul_long_cs.h index 3cfcb80fc8..fc3667d6a0 100644 --- a/lib/gpu/lal_coul_long_cs.h +++ b/lib/gpu/lal_coul_long_cs.h @@ -32,7 +32,7 @@ class CoulLongCS : public CoulLong<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_device.h b/lib/gpu/lal_device.h index 0c4d5f8c43..21bd039c42 100644 --- a/lib/gpu/lal_device.h +++ b/lib/gpu/lal_device.h @@ -41,7 +41,7 @@ class Device { /** Sets up a per-device MPI communicator for load balancing and initializes * the device (>=first_gpu and <=last_gpu) that this proc will be using * Returns: - * - 0 if successfull + * - 0 if successful * - -2 if GPU not found * - -4 if GPU library not compiled for GPU * - -6 if GPU could not be initialized for use @@ -62,7 +62,7 @@ class Device { * \param vel True if velocities need to be stored * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU @@ -76,7 +76,7 @@ class Device { * \param nall Total number of local+ghost particles * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU @@ -100,7 +100,7 @@ class Device { * \param threads_per_atom value to be used by the neighbor list only * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_dipole_lj.h b/lib/gpu/lal_dipole_lj.h index 615784ee8b..bd312324c6 100644 --- a/lib/gpu/lal_dipole_lj.h +++ b/lib/gpu/lal_dipole_lj.h @@ -32,7 +32,7 @@ class DipoleLJ : public BaseDipole<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_dipole_lj_sf.h b/lib/gpu/lal_dipole_lj_sf.h index 20357385a2..ae73508065 100644 --- a/lib/gpu/lal_dipole_lj_sf.h +++ b/lib/gpu/lal_dipole_lj_sf.h @@ -32,7 +32,7 @@ class DipoleLJSF : public BaseDipole<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_dipole_long_lj.h b/lib/gpu/lal_dipole_long_lj.h index 1381e24326..77e22a10a7 100644 --- a/lib/gpu/lal_dipole_long_lj.h +++ b/lib/gpu/lal_dipole_long_lj.h @@ -32,7 +32,7 @@ class DipoleLongLJ : public BaseDipole<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_dpd.h b/lib/gpu/lal_dpd.h index 42ef854522..3c36c39e05 100644 --- a/lib/gpu/lal_dpd.h +++ b/lib/gpu/lal_dpd.h @@ -32,7 +32,7 @@ class DPD : public BaseDPD<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_eam.h b/lib/gpu/lal_eam.h index ce26edc1f4..fa05075883 100644 --- a/lib/gpu/lal_eam.h +++ b/lib/gpu/lal_eam.h @@ -33,7 +33,7 @@ class EAM : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_gauss.h b/lib/gpu/lal_gauss.h index d023310c6d..1399b82d03 100644 --- a/lib/gpu/lal_gauss.h +++ b/lib/gpu/lal_gauss.h @@ -32,7 +32,7 @@ class Gauss : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_gayberne.h b/lib/gpu/lal_gayberne.h index 8792f1f1db..750c739cec 100644 --- a/lib/gpu/lal_gayberne.h +++ b/lib/gpu/lal_gayberne.h @@ -34,7 +34,7 @@ class GayBerne : public BaseEllipsoid<numtyp, acctyp> { * \return false if there is not sufficient memory or device init prob * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj.h b/lib/gpu/lal_lj.h index 01ce85c8ea..c6fec0d159 100644 --- a/lib/gpu/lal_lj.h +++ b/lib/gpu/lal_lj.h @@ -32,7 +32,7 @@ class LJ : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj96.h b/lib/gpu/lal_lj96.h index 3fdea5265e..eef6863f37 100644 --- a/lib/gpu/lal_lj96.h +++ b/lib/gpu/lal_lj96.h @@ -32,7 +32,7 @@ class LJ96 : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_class2_long.h b/lib/gpu/lal_lj_class2_long.h index d07b974a90..eac6451b2e 100644 --- a/lib/gpu/lal_lj_class2_long.h +++ b/lib/gpu/lal_lj_class2_long.h @@ -32,7 +32,7 @@ class LJClass2Long : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_coul.h b/lib/gpu/lal_lj_coul.h index a262c0837f..0e11162aa5 100644 --- a/lib/gpu/lal_lj_coul.h +++ b/lib/gpu/lal_lj_coul.h @@ -32,7 +32,7 @@ class LJCoul : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_coul_debye.h b/lib/gpu/lal_lj_coul_debye.h index 1d3d0ba375..22fcf7234b 100644 --- a/lib/gpu/lal_lj_coul_debye.h +++ b/lib/gpu/lal_lj_coul_debye.h @@ -32,7 +32,7 @@ class LJCoulDebye : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_coul_long.h b/lib/gpu/lal_lj_coul_long.h index 7b2d79c2a6..8f77671dc0 100644 --- a/lib/gpu/lal_lj_coul_long.h +++ b/lib/gpu/lal_lj_coul_long.h @@ -32,7 +32,7 @@ class LJCoulLong : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_coul_msm.h b/lib/gpu/lal_lj_coul_msm.h index 48d49a8742..6369ce8cb5 100644 --- a/lib/gpu/lal_lj_coul_msm.h +++ b/lib/gpu/lal_lj_coul_msm.h @@ -32,7 +32,7 @@ class LJCoulMSM : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_cubic.h b/lib/gpu/lal_lj_cubic.h index 818fb3581b..9578ca27e4 100644 --- a/lib/gpu/lal_lj_cubic.h +++ b/lib/gpu/lal_lj_cubic.h @@ -32,7 +32,7 @@ class LJCubic : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_dsf.h b/lib/gpu/lal_lj_dsf.h index 0195898ca4..b176e087db 100644 --- a/lib/gpu/lal_lj_dsf.h +++ b/lib/gpu/lal_lj_dsf.h @@ -32,7 +32,7 @@ class LJDSF : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_expand.h b/lib/gpu/lal_lj_expand.h index a732a3a686..2560d166c7 100644 --- a/lib/gpu/lal_lj_expand.h +++ b/lib/gpu/lal_lj_expand.h @@ -32,7 +32,7 @@ class LJExpand : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_expand_coul_long.h b/lib/gpu/lal_lj_expand_coul_long.h index 64fd9df1ab..404a36e5bc 100644 --- a/lib/gpu/lal_lj_expand_coul_long.h +++ b/lib/gpu/lal_lj_expand_coul_long.h @@ -32,7 +32,7 @@ class LJExpandCoulLong : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_gromacs.h b/lib/gpu/lal_lj_gromacs.h index 1e0f72dafc..3dec13c6d7 100644 --- a/lib/gpu/lal_lj_gromacs.h +++ b/lib/gpu/lal_lj_gromacs.h @@ -32,7 +32,7 @@ class LJGROMACS : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_sdk.h b/lib/gpu/lal_lj_sdk.h index ac2b9aafe3..fc50756a3f 100644 --- a/lib/gpu/lal_lj_sdk.h +++ b/lib/gpu/lal_lj_sdk.h @@ -32,7 +32,7 @@ class CGCMM : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_sdk_long.h b/lib/gpu/lal_lj_sdk_long.h index f56687cd7d..608488bd30 100644 --- a/lib/gpu/lal_lj_sdk_long.h +++ b/lib/gpu/lal_lj_sdk_long.h @@ -32,7 +32,7 @@ class CGCMMLong : public BaseCharge<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_lj_tip4p_long.h b/lib/gpu/lal_lj_tip4p_long.h index ab32d1e9f3..90c342e246 100644 --- a/lib/gpu/lal_lj_tip4p_long.h +++ b/lib/gpu/lal_lj_tip4p_long.h @@ -32,7 +32,7 @@ public: * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_mie.h b/lib/gpu/lal_mie.h index 8752fe1748..dfc2ee6e53 100644 --- a/lib/gpu/lal_mie.h +++ b/lib/gpu/lal_mie.h @@ -32,7 +32,7 @@ class Mie : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_morse.h b/lib/gpu/lal_morse.h index ef80fb4235..bf5f1c0f8f 100644 --- a/lib/gpu/lal_morse.h +++ b/lib/gpu/lal_morse.h @@ -32,7 +32,7 @@ class Morse : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_pppm.h b/lib/gpu/lal_pppm.h index 045423e079..65af157513 100644 --- a/lib/gpu/lal_pppm.h +++ b/lib/gpu/lal_pppm.h @@ -39,7 +39,7 @@ class PPPM { /// Clear any previous data and set up for a new LAMMPS run /** Success will be: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -2 if GPU could not be found * - -3 if there is an out of memory error diff --git a/lib/gpu/lal_re_squared.h b/lib/gpu/lal_re_squared.h index 8dc137d829..9e4f4af67a 100644 --- a/lib/gpu/lal_re_squared.h +++ b/lib/gpu/lal_re_squared.h @@ -34,7 +34,7 @@ class RESquared : public BaseEllipsoid<numtyp, acctyp> { * \return false if there is not sufficient memory or device init prob * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_soft.h b/lib/gpu/lal_soft.h index e72673248c..ff4524b30a 100644 --- a/lib/gpu/lal_soft.h +++ b/lib/gpu/lal_soft.h @@ -32,7 +32,7 @@ class Soft : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_sw.h b/lib/gpu/lal_sw.h index 3546f02eb7..1a2e025ae0 100644 --- a/lib/gpu/lal_sw.h +++ b/lib/gpu/lal_sw.h @@ -32,7 +32,7 @@ class SW : public BaseThree<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_table.h b/lib/gpu/lal_table.h index f667336679..38ae012bee 100644 --- a/lib/gpu/lal_table.h +++ b/lib/gpu/lal_table.h @@ -32,7 +32,7 @@ class Table : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_tersoff.h b/lib/gpu/lal_tersoff.h index fd01af031a..51e64c987b 100644 --- a/lib/gpu/lal_tersoff.h +++ b/lib/gpu/lal_tersoff.h @@ -32,7 +32,7 @@ class Tersoff : public BaseThree<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_tersoff_mod.h b/lib/gpu/lal_tersoff_mod.h index ab1560d951..29a561c71d 100644 --- a/lib/gpu/lal_tersoff_mod.h +++ b/lib/gpu/lal_tersoff_mod.h @@ -32,7 +32,7 @@ class TersoffMod : public BaseThree<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_tersoff_zbl.h b/lib/gpu/lal_tersoff_zbl.h index 0e6cac9587..eb03e9fb02 100644 --- a/lib/gpu/lal_tersoff_zbl.h +++ b/lib/gpu/lal_tersoff_zbl.h @@ -32,7 +32,7 @@ class TersoffZBL : public BaseThree<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_ufm.h b/lib/gpu/lal_ufm.h index aeeaacbe99..65ee15d5b5 100644 --- a/lib/gpu/lal_ufm.h +++ b/lib/gpu/lal_ufm.h @@ -34,7 +34,7 @@ class UFM : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_vashishta.h b/lib/gpu/lal_vashishta.h index c5c96a5b80..2da7a11e1e 100644 --- a/lib/gpu/lal_vashishta.h +++ b/lib/gpu/lal_vashishta.h @@ -32,7 +32,7 @@ class Vashishta : public BaseThree<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_yukawa.h b/lib/gpu/lal_yukawa.h index 4cc23c03e9..7d638d760e 100644 --- a/lib/gpu/lal_yukawa.h +++ b/lib/gpu/lal_yukawa.h @@ -32,7 +32,7 @@ class Yukawa : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_yukawa_colloid.h b/lib/gpu/lal_yukawa_colloid.h index ba69bc4bae..607bc42321 100644 --- a/lib/gpu/lal_yukawa_colloid.h +++ b/lib/gpu/lal_yukawa_colloid.h @@ -32,7 +32,7 @@ class YukawaColloid : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/gpu/lal_zbl.h b/lib/gpu/lal_zbl.h index 9885fcedf2..e205d326c6 100644 --- a/lib/gpu/lal_zbl.h +++ b/lib/gpu/lal_zbl.h @@ -32,7 +32,7 @@ class ZBL : public BaseAtomic<numtyp, acctyp> { * \param gpu_split fraction of particles handled by device * * Returns: - * - 0 if successfull + * - 0 if successful * - -1 if fix gpu not found * - -3 if there is an out of memory error * - -4 if the GPU library was not compiled for GPU diff --git a/lib/h5md/README b/lib/h5md/README index fb7d82bfcc..4768b50697 100644 --- a/lib/h5md/README +++ b/lib/h5md/README @@ -19,7 +19,7 @@ ch5md is a set of C routines to manipulate H5MD files. H5MD is a file format specification based on [HDF5](http://www.hdfgroup.org/HDF5/) for storing molecular data, whose development is found at <http://nongnu.org/h5md/>. -ch5md is developped by Pierre de Buyl and is released under the 3-clause BSD +ch5md is developed by Pierre de Buyl and is released under the 3-clause BSD license that can be found in the file LICENSE. To use the h5md dump style in lammps, execute diff --git a/lib/kokkos/algorithms/src/Kokkos_Random.hpp b/lib/kokkos/algorithms/src/Kokkos_Random.hpp index e14471a48a..da781de4fe 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Random.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Random.hpp @@ -102,9 +102,9 @@ namespace Kokkos { //Initializing constructor: calls init(seed,Device_Specific_Number); Pool(unsigned int seed); - //Intialize Pool with seed as a starting seed with a pool_size of num_states + //Initialize Pool with seed as a starting seed with a pool_size of num_states //The Random_XorShift64 generator is used in serial to initialize all states, - //thus the intialization process is platform independent and deterministic. + //thus the initialization process is platform independent and deterministic. void init(unsigned int seed, int num_states); //Get a generator. This will lock one of the states, guaranteeing that each thread diff --git a/lib/kokkos/benchmarks/policy_performance/script_sample_usage.sh b/lib/kokkos/benchmarks/policy_performance/script_sample_usage.sh index f4bfb87f8f..1c2db56648 100755 --- a/lib/kokkos/benchmarks/policy_performance/script_sample_usage.sh +++ b/lib/kokkos/benchmarks/policy_performance/script_sample_usage.sh @@ -2,7 +2,7 @@ # Sample script for benchmarking policy performance -# Suggested enviroment variables to export prior to executing script: +# Suggested environment variables to export prior to executing script: # KNL: # OMP_NUM_THREADS=256 KMP_AFFINITY=compact # Power: diff --git a/lib/kokkos/bin/hpcbind b/lib/kokkos/bin/hpcbind index b185a92821..6af091a7d8 100755 --- a/lib/kokkos/bin/hpcbind +++ b/lib/kokkos/bin/hpcbind @@ -383,7 +383,7 @@ fi # Check unknown arguments ################################################################################ if [[ ${#UNKNOWN_ARGS[*]} > 0 ]]; then - echo "HPCBIND Uknown options: ${UNKNOWN_ARGS[*]}" > >(tee -a ${HPCBIND_LOG}) + echo "HPCBIND Unknown options: ${UNKNOWN_ARGS[*]}" > >(tee -a ${HPCBIND_LOG}) exit 1 fi diff --git a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp index aed723288f..1406116e26 100644 --- a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp +++ b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp @@ -102,7 +102,7 @@ public: KOKKOS_FORCEINLINE_FUNCTION bool existing() const { return (m_status & EXISTING); } - /// Did the map fail to insert the key due to insufficent capacity + /// Did the map fail to insert the key due to insufficient capacity KOKKOS_FORCEINLINE_FUNCTION bool failed() const { return m_index == UnorderedMapInvalidIndex; } diff --git a/lib/kokkos/containers/src/Kokkos_Vector.hpp b/lib/kokkos/containers/src/Kokkos_Vector.hpp index 9b151d9505..a44d1f58b5 100644 --- a/lib/kokkos/containers/src/Kokkos_Vector.hpp +++ b/lib/kokkos/containers/src/Kokkos_Vector.hpp @@ -110,7 +110,7 @@ public: void assign (size_t n, const Scalar& val) { - /* Resize if necessary (behavour of std:vector) */ + /* Resize if necessary (behavior of std:vector) */ if(n>span()) DV::resize(size_t (n*_extra_storage)); @@ -177,7 +177,7 @@ public: const_reference back() const {return DV::h_view(_size - 1);} - /* std::algorithms wich work originally with iterators, here they are implemented as member functions */ + /* std::algorithms which work originally with iterators, here they are implemented as member functions */ size_t lower_bound (const size_t& start, diff --git a/lib/kokkos/containers/unit_tests/TestBitset.hpp b/lib/kokkos/containers/unit_tests/TestBitset.hpp index 371c0288b1..55d0e8b938 100644 --- a/lib/kokkos/containers/unit_tests/TestBitset.hpp +++ b/lib/kokkos/containers/unit_tests/TestBitset.hpp @@ -216,7 +216,7 @@ void test_bitset() bitset_type bitset(test_sizes[i]); - //std::cout << " Check inital count " << std::endl; + //std::cout << " Check initial count " << std::endl; // nothing should be set { Impl::TestBitsetTest< bitset_type > f(bitset); diff --git a/lib/kokkos/containers/unit_tests/TestViewCtorPropEmbeddedDim.hpp b/lib/kokkos/containers/unit_tests/TestViewCtorPropEmbeddedDim.hpp index d4b7cf0bdb..2dd5c56cd9 100644 --- a/lib/kokkos/containers/unit_tests/TestViewCtorPropEmbeddedDim.hpp +++ b/lib/kokkos/containers/unit_tests/TestViewCtorPropEmbeddedDim.hpp @@ -64,7 +64,7 @@ struct TestViewCtorProp_EmbeddedDim { using DynRankViewIntType = typename Kokkos::DynRankView< int, ExecSpace >; using DynRankViewDoubleType = typename Kokkos::DynRankView< double, ExecSpace >; - // Cuda 7.0 has issues with using a lamda in parallel_for to initialize the view - replace with this functor + // Cuda 7.0 has issues with using a lambda in parallel_for to initialize the view - replace with this functor template < class ViewType > struct Functor { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Locks.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Locks.hpp index 8363a45662..cfc46f0461 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Locks.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Locks.hpp @@ -113,10 +113,10 @@ Kokkos::Impl::CudaLockArrays g_device_cuda_lock_arrays ; #define CUDA_SPACE_ATOMIC_MASK 0x1FFFF -/// \brief Aquire a lock for the address +/// \brief Acquire a lock for the address /// -/// This function tries to aquire the lock for the hash value derived -/// from the provided ptr. If the lock is successfully aquired the +/// This function tries to acquire the lock for the hash value derived +/// from the provided ptr. If the lock is successfully acquired the /// function returns true. Otherwise it returns false. __device__ inline bool lock_address_cuda_space(void* ptr) { @@ -130,7 +130,7 @@ bool lock_address_cuda_space(void* ptr) { /// /// This function releases the lock for the hash value derived /// from the provided ptr. This function should only be called -/// after previously successfully aquiring a lock with +/// after previously successfully acquiring a lock with /// lock_address. __device__ inline void unlock_address_cuda_space(void* ptr) { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp index c05fbcc6c1..860d94d6c7 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel.hpp @@ -309,11 +309,11 @@ public: , m_thread_scratch_size {0,0} , m_chunk_size ( 32 ) { - // Make sure league size is permissable + // Make sure league size is permissible if(league_size_ >= int(Impl::cuda_internal_maximum_grid_count())) Impl::throw_runtime_exception( "Requested too large league_size for TeamPolicy on Cuda execution space."); - // Make sure total block size is permissable + // Make sure total block size is permissible if ( m_team_size * m_vector_length > 1024 ) { Impl::throw_runtime_exception(std::string("Kokkos::TeamPolicy< Cuda > the team size is too large. Team size x vector length must be smaller than 1024.")); } @@ -332,7 +332,7 @@ public: , m_thread_scratch_size {0,0} , m_chunk_size ( 32 ) { - // Make sure league size is permissable + // Make sure league size is permissible if(league_size_ >= int(Impl::cuda_internal_maximum_grid_count())) Impl::throw_runtime_exception( "Requested too large league_size for TeamPolicy on Cuda execution space."); } @@ -348,11 +348,11 @@ public: , m_thread_scratch_size {0,0} , m_chunk_size ( 32 ) { - // Make sure league size is permissable + // Make sure league size is permissible if(league_size_ >= int(Impl::cuda_internal_maximum_grid_count())) Impl::throw_runtime_exception( "Requested too large league_size for TeamPolicy on Cuda execution space."); - // Make sure total block size is permissable + // Make sure total block size is permissible if ( m_team_size * m_vector_length > 1024 ) { Impl::throw_runtime_exception(std::string("Kokkos::TeamPolicy< Cuda > the team size is too large. Team size x vector length must be smaller than 1024.")); } @@ -369,7 +369,7 @@ public: , m_thread_scratch_size {0,0} , m_chunk_size ( 32 ) { - // Make sure league size is permissable + // Make sure league size is permissible if(league_size_ >= int(Impl::cuda_internal_maximum_grid_count())) Impl::throw_runtime_exception( "Requested too large league_size for TeamPolicy on Cuda execution space."); } diff --git a/lib/kokkos/core/src/Kokkos_Concepts.hpp b/lib/kokkos/core/src/Kokkos_Concepts.hpp index 98ae141de4..ca2e8b4eb6 100644 --- a/lib/kokkos/core/src/Kokkos_Concepts.hpp +++ b/lib/kokkos/core/src/Kokkos_Concepts.hpp @@ -284,7 +284,7 @@ public: >::type host_mirror_space ; }; -// For backward compatiblity +// For backward compatibility namespace Impl { diff --git a/lib/kokkos/core/src/Kokkos_CopyViews.hpp b/lib/kokkos/core/src/Kokkos_CopyViews.hpp index f919fdb755..9210f21ab7 100644 --- a/lib/kokkos/core/src/Kokkos_CopyViews.hpp +++ b/lib/kokkos/core/src/Kokkos_CopyViews.hpp @@ -1247,7 +1247,7 @@ void deep_copy typename ViewType::value_type >::value , "deep_copy requires non-const type" ); - // If contigous we can simply do a 1D flat loop + // If contiguous we can simply do a 1D flat loop if(dst.span_is_contiguous()) { typedef Kokkos::View<typename ViewType::value_type*,Kokkos::LayoutRight, Kokkos::Device<typename ViewType::execution_space, diff --git a/lib/kokkos/core/src/Kokkos_CudaSpace.hpp b/lib/kokkos/core/src/Kokkos_CudaSpace.hpp index 7925619511..4b32811bfc 100644 --- a/lib/kokkos/core/src/Kokkos_CudaSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_CudaSpace.hpp @@ -126,7 +126,7 @@ int* atomic_lock_array_cuda_space_ptr(bool deallocate = false); /// \brief Retrieve the pointer to the scratch array for team and thread private global memory. /// /// Team and Thread private scratch allocations in -/// global memory are aquired via locks. +/// global memory are acquired via locks. /// This function retrieves the lock array pointer. /// If the array is not yet allocated it will do so. int* scratch_lock_array_cuda_space_ptr(bool deallocate = false); diff --git a/lib/kokkos/core/src/Kokkos_HBWSpace.hpp b/lib/kokkos/core/src/Kokkos_HBWSpace.hpp index bb5519a0c0..aaac7cd7f9 100644 --- a/lib/kokkos/core/src/Kokkos_HBWSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_HBWSpace.hpp @@ -63,10 +63,10 @@ namespace Impl { /// This function initializes the locks to zero (unset). void init_lock_array_hbw_space(); -/// \brief Aquire a lock for the address +/// \brief Acquire a lock for the address /// -/// This function tries to aquire the lock for the hash value derived -/// from the provided ptr. If the lock is successfully aquired the +/// This function tries to acquire the lock for the hash value derived +/// from the provided ptr. If the lock is successfully acquired the /// function returns true. Otherwise it returns false. bool lock_address_hbw_space( void* ptr ); @@ -74,7 +74,7 @@ bool lock_address_hbw_space( void* ptr ); /// /// This function releases the lock for the hash value derived /// from the provided ptr. This function should only be called -/// after previously successfully aquiring a lock with +/// after previously successfully acquiring a lock with /// lock_address. void unlock_address_hbw_space( void* ptr ); diff --git a/lib/kokkos/core/src/Kokkos_HostSpace.hpp b/lib/kokkos/core/src/Kokkos_HostSpace.hpp index 921ba0df34..06ccf63987 100644 --- a/lib/kokkos/core/src/Kokkos_HostSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_HostSpace.hpp @@ -73,10 +73,10 @@ namespace Impl { /// This function initializes the locks to zero (unset). void init_lock_array_host_space(); -/// \brief Aquire a lock for the address +/// \brief Acquire a lock for the address /// -/// This function tries to aquire the lock for the hash value derived -/// from the provided ptr. If the lock is successfully aquired the +/// This function tries to acquire the lock for the hash value derived +/// from the provided ptr. If the lock is successfully acquired the /// function returns true. Otherwise it returns false. bool lock_address_host_space(void* ptr); @@ -84,7 +84,7 @@ bool lock_address_host_space(void* ptr); /// /// This function releases the lock for the hash value derived /// from the provided ptr. This function should only be called -/// after previously successfully aquiring a lock with +/// after previously successfully acquiring a lock with /// lock_address. void unlock_address_host_space( void* ptr ); diff --git a/lib/kokkos/core/src/Kokkos_OpenMPTargetSpace.hpp b/lib/kokkos/core/src/Kokkos_OpenMPTargetSpace.hpp index f2491900ff..abb0b8588d 100644 --- a/lib/kokkos/core/src/Kokkos_OpenMPTargetSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_OpenMPTargetSpace.hpp @@ -68,10 +68,10 @@ namespace Impl { /// This function initializes the locks to zero (unset). //void init_lock_array_host_space(); -/// \brief Aquire a lock for the address +/// \brief Acquire a lock for the address /// -/// This function tries to aquire the lock for the hash value derived -/// from the provided ptr. If the lock is successfully aquired the +/// This function tries to acquire the lock for the hash value derived +/// from the provided ptr. If the lock is successfully acquired the /// function returns true. Otherwise it returns false. //bool lock_address_host_space(void* ptr); @@ -79,7 +79,7 @@ namespace Impl { /// /// This function releases the lock for the hash value derived /// from the provided ptr. This function should only be called -/// after previously successfully aquiring a lock with +/// after previously successfully acquiring a lock with /// lock_address. //void unlock_address_host_space(void* ptr); diff --git a/lib/kokkos/core/src/Kokkos_Parallel_Reduce.hpp b/lib/kokkos/core/src/Kokkos_Parallel_Reduce.hpp index 36bc6e4153..0e02c468e4 100644 --- a/lib/kokkos/core/src/Kokkos_Parallel_Reduce.hpp +++ b/lib/kokkos/core/src/Kokkos_Parallel_Reduce.hpp @@ -1253,7 +1253,7 @@ void parallel_reduce(const std::string& label, } //namespace Kokkos #ifdef KOKKOS_ENABLE_DEPRECATED_CODE -//backwards compatiblity for Kokkos::Experimental reducers +//backwards compatibility for Kokkos::Experimental reducers namespace Kokkos { namespace Experimental { using Kokkos::Sum; using Kokkos::Prod; diff --git a/lib/kokkos/core/src/Kokkos_ROCmSpace.hpp b/lib/kokkos/core/src/Kokkos_ROCmSpace.hpp index f50104e1fe..c0b7158fde 100644 --- a/lib/kokkos/core/src/Kokkos_ROCmSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_ROCmSpace.hpp @@ -131,7 +131,7 @@ int* atomic_lock_array_rocm_space_ptr(bool deallocate = false); /// \brief Retrieve the pointer to the scratch array for team and thread private global memory. /// /// Team and Thread private scratch allocations in -/// global memory are aquired via locks. +/// global memory are acquired via locks. /// This function retrieves the lock array pointer. /// If the array is not yet allocated it will do so. int* scratch_lock_array_rocm_space_ptr(bool deallocate = false); diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel.hpp index ae6b49f650..52f8e983d2 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel.hpp @@ -1019,7 +1019,7 @@ public: if ( is_dynamic ) { // Must synchronize to make sure each team has set its - // partition before begining the work stealing loop. + // partition before beginning the work stealing loop. if ( data.pool_rendezvous() ) data.pool_rendezvous_release(); } @@ -1185,7 +1185,7 @@ public: if ( is_dynamic ) { // Must synchronize to make sure each team has set its - // partition before begining the work stealing loop. + // partition before beginning the work stealing loop. if ( data.pool_rendezvous() ) data.pool_rendezvous_release(); } diff --git a/lib/kokkos/core/src/Qthreads/Kokkos_Qthreads_TaskPolicy.hpp.old b/lib/kokkos/core/src/Qthreads/Kokkos_Qthreads_TaskPolicy.hpp.old index adb6859763..f18b3bba8d 100644 --- a/lib/kokkos/core/src/Qthreads/Kokkos_Qthreads_TaskPolicy.hpp.old +++ b/lib/kokkos/core/src/Qthreads/Kokkos_Qthreads_TaskPolicy.hpp.old @@ -174,7 +174,7 @@ public: } //---------------------------------------- - /* Inheritence Requirements on task types: + /* Inheritance Requirements on task types: * typedef FunctorType::value_type value_type ; * class DerivedTaskType * : public TaskMember< Qthreads , value_type , FunctorType > diff --git a/lib/kokkos/core/src/Qthreads/Kokkos_Qthreads_TaskQueue_impl.hpp b/lib/kokkos/core/src/Qthreads/Kokkos_Qthreads_TaskQueue_impl.hpp index 152546fadc..c79332f653 100644 --- a/lib/kokkos/core/src/Qthreads/Kokkos_Qthreads_TaskQueue_impl.hpp +++ b/lib/kokkos/core/src/Qthreads/Kokkos_Qthreads_TaskQueue_impl.hpp @@ -318,7 +318,7 @@ void TaskQueue< ExecSpace >::complete // If 'task' is an aggregate then any of the runnable tasks that // it depends upon may be attempting to complete this 'task'. // Must only transition a task once to complete status. - // This is controled by atomically locking the wait queue. + // This is controlled by atomically locking the wait queue. // Stop other tasks from adding themselves to this task's wait queue // by locking the head of this task's wait queue. diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp index 347778f289..1a9a837af7 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp @@ -638,7 +638,7 @@ void ThreadsExec::initialize // Spawn thread executing the 'driver()' function. // Wait until spawned thread has attempted to initialize. - // If spawning and initialization is successfull then + // If spawning and initialization are successful then // an entry in 's_threads_exec' will be assigned. if ( ThreadsExec::spawn() ) { wait_yield( s_threads_process.m_pool_state , ThreadsExec::Inactive ); @@ -666,7 +666,7 @@ void ThreadsExec::initialize memory_fence(); if ( ! thread_spawn_failed ) { - // Bind process to the core on which it was located before spawning occured + // Bind process to the core on which it was located before spawning occurred if (hwloc_can_bind) { Kokkos::hwloc::bind_this_thread( proc_coord ); } diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec_base.cpp b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec_base.cpp index f6443e146d..4876614245 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec_base.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec_base.cpp @@ -52,7 +52,7 @@ #include <sched.h> #include <errno.h> -/* Standard C++ libaries */ +/* Standard C++ libraries */ #include <cstdlib> #include <string> @@ -159,7 +159,7 @@ void ThreadsExec::wait_yield( volatile int & flag , const int value ) #include <windows.h> #include <process.h> -/* Standard C++ libaries */ +/* Standard C++ libraries */ #include <cstdlib> #include <string> diff --git a/lib/kokkos/core/src/impl/Kokkos_Error.cpp b/lib/kokkos/core/src/impl/Kokkos_Error.cpp index 33b0ba918d..dea856606c 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Error.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Error.cpp @@ -110,7 +110,7 @@ std::string human_memory_size(size_t arg_bytes) */ /* Print call stack into an error stream, - * so one knows in which function the error occured. + * so one knows in which function the error occurred. * * Code copied from: * http://stupefydeveloper.blogspot.com/2008/10/cc-call-stack.html diff --git a/lib/kokkos/core/src/impl/Kokkos_HostBarrier.hpp b/lib/kokkos/core/src/impl/Kokkos_HostBarrier.hpp index 2416edbead..f7f1c4b50f 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostBarrier.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostBarrier.hpp @@ -68,7 +68,7 @@ namespace Kokkos { namespace Impl { // called split_release // // The purporse of the split functions is to allow the last thread to arrive -// an opprotunity to perform some actions before releasing the waiting threads +// an opportunity to perform some actions before releasing the waiting threads // // If all threads have arrived (and split_release has been call if using split_arrive) // before a wait type call, the wait may return quickly diff --git a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp index ccb8393d08..383b2ec2dc 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp @@ -253,7 +253,7 @@ int HostThreadTeamData::get_work_stealing() noexcept HostThreadTeamData * const * const pool = (HostThreadTeamData**)( m_pool_scratch + m_pool_members ); - // Attempt from begining failed, try to steal from end of neighbor + // Attempt from beginning failed, try to steal from end of neighbor pair_int_t volatile * steal_range = & ( pool[ m_steal_rank ]->m_work_range ); diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp index b5718573a2..54021a71be 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp @@ -267,7 +267,7 @@ public: // Use macros instead of inline functions to reduce // pressure on compiler optimization by reducing - // number of symbols and inline functons. + // number of symbols and inline functions. #if defined( KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST ) diff --git a/lib/kokkos/core/src/impl/Kokkos_TaskNode.hpp b/lib/kokkos/core/src/impl/Kokkos_TaskNode.hpp index 35f8853f1f..49aa4b4b21 100644 --- a/lib/kokkos/core/src/impl/Kokkos_TaskNode.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_TaskNode.hpp @@ -536,7 +536,7 @@ public: void acquire_predecessor_from(runnable_task_type& other) { KOKKOS_EXPECTS(m_predecessor == nullptr || other.m_predecessor == m_predecessor); - // since we're transfering, no need to modify the reference count + // since we're transferring, no need to modify the reference count m_predecessor = other.m_predecessor; other.m_predecessor = nullptr; } @@ -545,7 +545,7 @@ public: void acquire_predecessor_from(runnable_task_type& other) volatile { KOKKOS_EXPECTS(m_predecessor == nullptr || other.m_predecessor == m_predecessor); - // since we're transfering, no need to modify the reference count + // since we're transferring, no need to modify the reference count m_predecessor = other.m_predecessor; other.m_predecessor = nullptr; } diff --git a/lib/kokkos/core/src/impl/Kokkos_TaskQueue_impl.hpp b/lib/kokkos/core/src/impl/Kokkos_TaskQueue_impl.hpp index b5f8db0085..7a0e00a2f2 100644 --- a/lib/kokkos/core/src/impl/Kokkos_TaskQueue_impl.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_TaskQueue_impl.hpp @@ -642,7 +642,7 @@ void TaskQueue< ExecSpace, MemorySpace>::complete // If 'task' is an aggregate then any of the runnable tasks that // it depends upon may be attempting to complete this 'task'. // Must only transition a task once to complete status. - // This is controled by atomically locking the wait queue. + // This is controlled by atomically locking the wait queue. // Stop other tasks from adding themselves to this task's wait queue // by locking the head of this task's wait queue. diff --git a/lib/kokkos/core/src/impl/Kokkos_Traits.hpp b/lib/kokkos/core/src/impl/Kokkos_Traits.hpp index a5af82838f..fc501cb73e 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Traits.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Traits.hpp @@ -132,7 +132,7 @@ template< typename T , class ... Args > struct are_integral<T,Args...> { enum { value = // Accept std::is_integral OR std::is_enum as an integral value - // since a simple enum value is automically convertable to an + // since a simple enum value is automically convertible to an // integral value. ( std::is_integral<T>::value || std::is_enum<T>::value ) && diff --git a/lib/kokkos/core/unit_test/TestTeam.hpp b/lib/kokkos/core/unit_test/TestTeam.hpp index 5f325eb905..ff3977637c 100644 --- a/lib/kokkos/core/unit_test/TestTeam.hpp +++ b/lib/kokkos/core/unit_test/TestTeam.hpp @@ -1068,7 +1068,7 @@ struct TestTeamBroadcast { } ASSERT_EQ( size_t( expected_result ), size_t( total ) ); //printf("team_broadcast with value -- expected_result=%d, total=%d\n",expected_result, total); - //team_broadcast with funtion object + //team_broadcast with function object total = 0; Kokkos::parallel_reduce( policy_type_f( league_size, team_size ), functor, total ); @@ -1078,7 +1078,7 @@ struct TestTeamBroadcast { value_type val = ((i%team_size)*3+1)*2*team_size; expected_result+= val; } - ASSERT_EQ( size_t( expected_result ), size_t( total ) ); //printf("team_broadcast with funtion object -- expected_result=%d, total=%d\n",expected_result, total); + ASSERT_EQ( size_t( expected_result ), size_t( total ) ); //printf("team_broadcast with function object -- expected_result=%d, total=%d\n",expected_result, total); } }; diff --git a/lib/kokkos/core/unit_test/TestTeamVector.hpp b/lib/kokkos/core/unit_test/TestTeamVector.hpp index 45433012f9..46f2c98e37 100644 --- a/lib/kokkos/core/unit_test/TestTeamVector.hpp +++ b/lib/kokkos/core/unit_test/TestTeamVector.hpp @@ -570,7 +570,7 @@ struct functor_vec_single { KOKKOS_INLINE_FUNCTION void operator()( typename policy_type::member_type team ) const { - // Warning: this test case intentionally violates permissable semantics. + // Warning: this test case intentionally violates permissible semantics. // It is not valid to get references to members of the enclosing region // inside a parallel_for and write to it. Scalar value = 0; diff --git a/lib/kokkos/core/unit_test/TestViewCtorPropEmbeddedDim.hpp b/lib/kokkos/core/unit_test/TestViewCtorPropEmbeddedDim.hpp index 0b88052129..7730be2e1d 100644 --- a/lib/kokkos/core/unit_test/TestViewCtorPropEmbeddedDim.hpp +++ b/lib/kokkos/core/unit_test/TestViewCtorPropEmbeddedDim.hpp @@ -60,7 +60,7 @@ struct TestViewCtorProp_EmbeddedDim { using ViewIntType = typename Kokkos::View< int**, ExecSpace >; using ViewDoubleType = typename Kokkos::View< double*, ExecSpace >; - // Cuda 7.0 has issues with using a lamda in parallel_for to initialize the view - replace with this functor + // Cuda 7.0 has issues with using a lambda in parallel_for to initialize the view - replace with this functor template < class ViewType > struct Functor { diff --git a/lib/kokkos/core/unit_test/TestWorkGraph.hpp b/lib/kokkos/core/unit_test/TestWorkGraph.hpp index 248733420b..331d79d72a 100644 --- a/lib/kokkos/core/unit_test/TestWorkGraph.hpp +++ b/lib/kokkos/core/unit_test/TestWorkGraph.hpp @@ -55,7 +55,7 @@ namespace { The algorithm computes the N-th fibonacci number as follows: - Each "task" or "work item" computes the i-th fibonacci number - If a task as (i < 2), it will record the known answer ahead of time. - - If a taks has (i >= 2), it will "spawn" two more tasks to compute + - If a task has (i >= 2), it will "spawn" two more tasks to compute the (i - 1) and (i - 2) fibonacci numbers. We do NOT do any de-duplication of these tasks. De-duplication would result in only (N - 2) tasks which must be run in serial. diff --git a/lib/kokkos/example/fenl/fenl_functors.hpp b/lib/kokkos/example/fenl/fenl_functors.hpp index 96c89de29b..538f009a3f 100644 --- a/lib/kokkos/example/fenl/fenl_functors.hpp +++ b/lib/kokkos/example/fenl/fenl_functors.hpp @@ -250,7 +250,7 @@ public: const typename SetType::insert_result result = node_node_set.insert( key ); - // A successfull insert: the first time this pair was added + // A successful insert: the first time this pair was added if ( result.success() ) { // If row node is owned then increment count diff --git a/lib/kokkos/example/multi_fem/BoxMeshPartition.hpp b/lib/kokkos/example/multi_fem/BoxMeshPartition.hpp index b8f43d2a22..ea5d1de008 100644 --- a/lib/kokkos/example/multi_fem/BoxMeshPartition.hpp +++ b/lib/kokkos/example/multi_fem/BoxMeshPartition.hpp @@ -172,7 +172,7 @@ void box_partition_rcb( const BoxType & root_box , //---------------------------------------------------------------------------- /* Determine local id layout and communication maps for partitioned boxes. * - * Local ids are layed out as follows: + * Local ids are laid out as follows: * { [ owned-interior ids not sent ] , * [ owned-boundary ids to be sent to other processes ] , * [ received ids from processor ( my_part + 1 ) % part_count ] diff --git a/lib/kokkos/example/multi_fem/Implicit.hpp b/lib/kokkos/example/multi_fem/Implicit.hpp index f129c59546..7ca180bd2a 100644 --- a/lib/kokkos/example/multi_fem/Implicit.hpp +++ b/lib/kokkos/example/multi_fem/Implicit.hpp @@ -222,7 +222,7 @@ PerformanceData run( const typename FixtureType::FEMeshType & mesh , } //------------------------------------ - // Solve linear sytem + // Solve linear system cgsolve( mesh.parallel_data_map , linsys_matrix , linsys_rhs , linsys_solution , diff --git a/lib/kokkos/example/multi_fem/Nonlinear.hpp b/lib/kokkos/example/multi_fem/Nonlinear.hpp index b9585c7582..f5e462cc4b 100644 --- a/lib/kokkos/example/multi_fem/Nonlinear.hpp +++ b/lib/kokkos/example/multi_fem/Nonlinear.hpp @@ -389,7 +389,7 @@ PerformanceData run( const typename FixtureType::FEMeshType & mesh , } //------------------------------------ - // Solve linear sytem + // Solve linear system size_t cg_iteration_count = 0 ; double cg_residual_norm = 0 ; diff --git a/lib/kokkos/example/tutorial/03_simple_view/Makefile b/lib/kokkos/example/tutorial/03_simple_view/Makefile index de994a8df9..c9dc3a0fd0 100644 --- a/lib/kokkos/example/tutorial/03_simple_view/Makefile +++ b/lib/kokkos/example/tutorial/03_simple_view/Makefile @@ -43,7 +43,7 @@ include $(KOKKOS_PATH)/Makefile.kokkos build: $(EXE) -#for unit testing only, for best preformance with OpenMP 4.0 or better +#for unit testing only, for best performance with OpenMP 4.0 or better test: $(EXE) ./$(EXE) diff --git a/lib/kokkos/example/tutorial/Algorithms/01_random_numbers/random_numbers.cpp b/lib/kokkos/example/tutorial/Algorithms/01_random_numbers/random_numbers.cpp index 48b0d86cb8..f2095e346f 100644 --- a/lib/kokkos/example/tutorial/Algorithms/01_random_numbers/random_numbers.cpp +++ b/lib/kokkos/example/tutorial/Algorithms/01_random_numbers/random_numbers.cpp @@ -61,10 +61,10 @@ typedef Kokkos::HostSpace::execution_space DefaultHostType; // In Kokkos you are required to create a pool of generator states, so that threads can // grep their own. On CPU architectures the pool size is equal to the thread number, // on CUDA about 128k states are generated (enough to give every potentially simultaneously -// running thread its own state). With a kernel a thread is required to aquire a state from the +// running thread its own state). With a kernel a thread is required to acquire a state from the // pool and later return it. // On CPUs the Random number generator is deterministic if using the same number of threads. -// On GPUs (i.e. using the CUDA backend it is not deterministic because threads aquire states via +// On GPUs (i.e. using the CUDA backend it is not deterministic because threads acquire states via // atomics. // A Functor for generating uint64_t random numbers templated on the GeneratorPool type @@ -97,7 +97,7 @@ struct generate_random { for(int k = 0;k<samples;k++) vals(i*samples+k) = rand_gen.urand64(); - // Give the state back, which will allow another thread to aquire it + // Give the state back, which will allow another thread to acquire it rand_pool.free_state(rand_gen); } }; diff --git a/lib/linalg/dlaed8.f b/lib/linalg/dlaed8.f index c053347b10..f64679dc05 100644 --- a/lib/linalg/dlaed8.f +++ b/lib/linalg/dlaed8.f @@ -353,7 +353,7 @@ Z( I ) = W( INDX( I ) ) 40 CONTINUE * -* Calculate the allowable deflation tolerence +* Calculate the allowable deflation tolerance * IMAX = IDAMAX( N, Z, 1 ) JMAX = IDAMAX( N, D, 1 ) diff --git a/lib/linalg/dlalsa.f b/lib/linalg/dlalsa.f index b643f11c0b..478ee24b0e 100644 --- a/lib/linalg/dlalsa.f +++ b/lib/linalg/dlalsa.f @@ -43,7 +43,7 @@ *> *> \verbatim *> -*> DLALSA is an itermediate step in solving the least squares problem +*> DLALSA is an intermediate step in solving the least squares problem *> by computing the SVD of the coefficient matrix in compact form (The *> singular vectors are computed as products of simple orthorgonal *> matrices.). diff --git a/lib/linalg/dlasd7.f b/lib/linalg/dlasd7.f index e0ddedeb57..66f665cf88 100644 --- a/lib/linalg/dlasd7.f +++ b/lib/linalg/dlasd7.f @@ -400,7 +400,7 @@ VL( I ) = VLW( IDXI ) 50 CONTINUE * -* Calculate the allowable deflation tolerence +* Calculate the allowable deflation tolerance * EPS = DLAMCH( 'Epsilon' ) TOL = MAX( ABS( ALPHA ), ABS( BETA ) ) diff --git a/lib/linalg/iparam2stage.F b/lib/linalg/iparam2stage.F index 60bd0b696b..ecf30dbea8 100644 --- a/lib/linalg/iparam2stage.F +++ b/lib/linalg/iparam2stage.F @@ -87,14 +87,14 @@ *> *> \param[in] NBI *> \verbatim -*> NBI is INTEGER which is the used in the reduciton, +*> NBI is INTEGER which is the used in the reduction, * (e.g., the size of the band), needed to compute workspace * and LHOUS2. *> \endverbatim *> *> \param[in] IBI *> \verbatim -*> IBI is INTEGER which represent the IB of the reduciton, +*> IBI is INTEGER which represent the IB of the reduction, * needed to compute workspace and LHOUS2. *> \endverbatim *> @@ -130,7 +130,7 @@ *> of 2011 International Conference for High Performance Computing, *> Networking, Storage and Analysis (SC '11), New York, NY, USA, *> Article 8 , 11 pages. -*> http://doi.acm.org/10.1145/2063384.2063394 +*> https://doi.acm.org/10.1145/2063384.2063394 *> *> A. Haidar, J. Kurzak, P. Luszczek, 2013. *> An improved parallel singular value algorithm and its implementation @@ -138,7 +138,7 @@ *> for High Performance Computing, Networking, Storage and Analysis (SC '13). *> Denver, Colorado, USA, 2013. *> Article 90, 12 pages. -*> http://doi.acm.org/10.1145/2503210.2503292 +*> https://doi.acm.org/10.1145/2503210.2503292 *> *> A. Haidar, R. Solca, S. Tomov, T. Schulthess and J. Dongarra. *> A novel hybrid CPU-GPU generalized eigensolver for electronic structure diff --git a/lib/message/README b/lib/message/README index dafb94e9ef..e6e7d2103d 100644 --- a/lib/message/README +++ b/lib/message/README @@ -2,7 +2,7 @@ This directory contains the CSlib library which is required to use the MESSAGE package and its client/server commands in a LAMMPS input script. -The CSlib libary is included in the LAMMPS distribution. A fuller +The CSlib library is included in the LAMMPS distribution. A fuller version including documentation and test programs is available at http://cslib.sandia.gov. It was developed by Steve Plimpton at Sandia National Laboratories. diff --git a/lib/molfile/molfile_plugin.h b/lib/molfile/molfile_plugin.h index c79e7a5abf..057c403369 100644 --- a/lib/molfile/molfile_plugin.h +++ b/lib/molfile/molfile_plugin.h @@ -662,7 +662,7 @@ typedef struct { int **bondtype, int *nbondtypes, char ***bondtypename); /** - * XXX this function will be augmented and possibly superceded by a + * XXX this function will be augmented and possibly superseded by a * new QM-capable version named read_timestep(), when finished. * * Read the next timestep from the file. Return MOLFILE_SUCCESS, or diff --git a/lib/plumed/README b/lib/plumed/README index 0d5f52f6b2..6b9b22bbce 100644 --- a/lib/plumed/README +++ b/lib/plumed/README @@ -3,7 +3,7 @@ to use the PLUMED package and its fix plumed command in a LAMMPS input script. PLUMED should only be downloaded into this directory if you wish to statically link the library. If you wish to link PLUMED as a dynamic library (as we recommend) then you can compile and build PLUMED -separately to LAMMPS. To use PLUMED in conjuction with LAMMPS you then simply +separately to LAMMPS. To use PLUMED in conjunction with LAMMPS you then simply need to ensure that the PLUMED library is in your path at runtime. More info about the PLUMED library can be found at http://www.plumed.org. diff --git a/lib/poems/SystemProcessor.h b/lib/poems/SystemProcessor.h index 3be168c34d..f376890e99 100644 --- a/lib/poems/SystemProcessor.h +++ b/lib/poems/SystemProcessor.h @@ -124,7 +124,7 @@ POEMSChain * SystemProcessor::AddNewChain(POEMSNode * currentNode){ return NULL; } int * tmp; - POEMSNode * nextNode = NULL; //nextNode stores the proposed next node to add to the chain. this will be checked to make sure no backtracking is occuring before being assigned as the current node. + POEMSNode * nextNode = NULL; //nextNode stores the proposed next node to add to the chain. this will be checked to make sure no backtracking is occurring before being assigned as the current node. POEMSChain * newChain = new POEMSChain; //make a new POEMSChain object. This will be the object returned if(currentNode->links.GetNumElements() == 0) //if we have no links from this node, then the whole chain is only one node. Add this node to the chain and return it; mark node as visited for future reference @@ -226,7 +226,7 @@ bool SystemProcessor::setLinkVisited(POEMSNode * firstNode, POEMSNode * secondNo //cout << "Checking link between nodes " << firstNode->idNumber << " and " << secondNode->idNumber << "... "; ListElement<POEMSNode> * tmp = firstNode->links.GetHeadElement(); //get the head element of the list of pointers for node 1 ListElement<bool> * tmp2 = firstNode->taken.GetHeadElement(); //get the head element of the list of bool isVisited flags for node 1 - while(tmp->value != NULL || tmp2->value != NULL) //go through untill we reach the end of the lists + while(tmp->value != NULL || tmp2->value != NULL) //go through until we reach the end of the lists { if(tmp->value == secondNode) //if we find the link to the other node { diff --git a/lib/poems/fastmatrixops.h b/lib/poems/fastmatrixops.h index e7ccdbd0ca..c7e29f8903 100644 --- a/lib/poems/fastmatrixops.h +++ b/lib/poems/fastmatrixops.h @@ -38,7 +38,7 @@ void FastLUSubs(Mat3x3& LU, Matrix& B, Matrix& C, int *indx); // Appropriate For void FastLUSubs(Mat4x4& LU, Matrix& B, Matrix& C, int *indx); // Appropriate Forward and Back Substitution void FastLUSubs(Mat6x6& LU, Matrix& B, Matrix& C, int *indx); // Appropriate Forward and Back Substitution // The following LUSubsLH routine is incomplete at the moment. -void FastLUSubsLH(Matrix& B, Matrix& LU, Matrix& C, int *indx); // Appropriate Forward and Back Subsitution +void FastLUSubsLH(Matrix& B, Matrix& LU, Matrix& C, int *indx); // Appropriate Forward and Back Substitution void FastTripleSum(Vect3& a, Vect3& b, Vect3& c, Vect3& d); // d = a+b+c void FastTripleSumPPM(Vect3& a, Vect3& b, Vect3& c, Vect3& d); // d = a+b-c diff --git a/lib/poems/joint.cpp b/lib/poems/joint.cpp index 3bdd7b5fcd..3477c7e336 100644 --- a/lib/poems/joint.cpp +++ b/lib/poems/joint.cpp @@ -186,12 +186,12 @@ Mat3x3* Joint::Get_kCpk(){ } Matrix Joint::GetForward_sP(){ - cerr << "ERROR: Forward Spatial Partial Velocity is not suported for joint type " << GetType() << endl; + cerr << "ERROR: Forward Spatial Partial Velocity is not supported for joint type " << GetType() << endl; exit(0); } Matrix Joint::GetBackward_sP(){ - cerr << "ERROR: Backward Spatial Partial Velocity is not suported for joint type " << GetType() << endl; + cerr << "ERROR: Backward Spatial Partial Velocity is not supported for joint type " << GetType() << endl; exit(0); } diff --git a/lib/poems/matrixfun.cpp b/lib/poems/matrixfun.cpp index d193114679..9aa2818555 100644 --- a/lib/poems/matrixfun.cpp +++ b/lib/poems/matrixfun.cpp @@ -209,7 +209,7 @@ Matrix operator+ (const VirtualMatrix &A, const VirtualMatrix &B){ // addit Bcols = B.GetNumCols(); if( !((Arows == Brows) && (Acols == Bcols)) ){ - cerr << "Dimesion mismatch in matrix addition" << endl; + cerr << "Dimension mismatch in matrix addition" << endl; exit(1); } @@ -234,7 +234,7 @@ Matrix operator- (const VirtualMatrix &A, const VirtualMatrix &B){ // subtr Bcols = B.GetNumCols(); if( !((Arows == Brows) && (Acols == Bcols)) ){ - cerr << "Dimesion mismatch in matrix addition" << endl; + cerr << "Dimension mismatch in matrix addition" << endl; exit(1); } @@ -259,7 +259,7 @@ Matrix operator* (const VirtualMatrix &A, const VirtualMatrix &B){ // multi Bcols = B.GetNumCols(); if(Acols != Brows){ - cerr << "Dimesion mismatch in matrix multiplication" << endl; + cerr << "Dimension mismatch in matrix multiplication" << endl; exit(1); } diff --git a/lib/poems/poemstree.h b/lib/poems/poemstree.h index 8f8e80ab66..70750d4019 100644 --- a/lib/poems/poemstree.h +++ b/lib/poems/poemstree.h @@ -455,7 +455,7 @@ void Tree::Delete(const int& item) TreeNode *DNodePtr, *PNodePtr, *RNodePtr; // search for a node containing data value item. obtain its - // node adress and that of its parent + // node address and that of its parent if ((DNodePtr = FindNode (item, PNodePtr)) == NULL) return; @@ -575,8 +575,8 @@ TreeNode *Tree::CopyTree(TreeNode *t) } -// us the postorder scanning algorithm to traverse the nodes in -// the tree and delete each node as the vist operation +// use the postorder scanning algorithm to traverse the nodes in +// the tree and delete each node at the visit operation void Tree::DeleteTree(TreeNode *t) { if (t != NULL) { diff --git a/lib/qmmm/README b/lib/qmmm/README index 13d17c055e..196aa4d7e0 100644 --- a/lib/qmmm/README +++ b/lib/qmmm/README @@ -31,7 +31,7 @@ will need to perform the remaining steps manually, as outlined below. ------------------------------------------------- WARNING: This is code depending on two software packages that are -independently maitained and are under continuous active developement. +independently maitained and are under continuous active development. It is thus much easier to break the QM/MM interface without noticing. Thus please test *very* carefully before using this software for production calculations. diff --git a/lib/scafacos/README b/lib/scafacos/README index e5f1ecd92c..86335d9f98 100644 --- a/lib/scafacos/README +++ b/lib/scafacos/README @@ -3,7 +3,7 @@ is required to use the KSPACE scafacos and its kspace_style scafacos command in a LAMMPS input script. The ScaFaCoS library is available at http://scafacos.de or -on github at https://github.com/scafacos, the libary was +on github at https://github.com/scafacos, the library was developed by a consortium of different universities in Germany (Bonn, Chemnitz, Stuttgart, Wuppertal) and the Research Centre Juelich (Juelich Supercomputing Centre). @@ -47,17 +47,17 @@ Instructions: are: direct, ewald, fmm, p2nfft The other solvers might work, but support is purely experimental at the moment. To - give a list of solvers, use a comma seperated + give a list of solvers, use a comma separated list. --fcs-disable-doc: disables the compilation of the documentation, e.g. if no Latex is available on the system. 4.) To build the library after configuration, run 'make' from the base folder. -5.) To install the libray in the designated installation folder, run 'make install'. +5.) To install the library in the designated installation folder, run 'make install'. Installation is required, as ScaFaCoS does not support an in-source build! -6.) Create two soft links to this directory (lib/scafacos) to where the libary +6.) Create two soft links to this directory (lib/scafacos) to where the library is installed. E.g. if you built ScaFaCoS in the default install directory: % ln -s /usr/local/include includelink % ln -s /usr/local/lib liblink diff --git a/potentials/AlSiMgCuFe.meam b/potentials/AlSiMgCuFe.meam index 30f1c78df8..bbc8894a04 100644 --- a/potentials/AlSiMgCuFe.meam +++ b/potentials/AlSiMgCuFe.meam @@ -1,7 +1,7 @@ # DATE: 2012-06-29 CONTRIBUTOR: Greg Wagner, gjwagne@sandia.gov CITATION: Jelinek, Groh, Horstemeyer, Houze, Kim, Wagner, Moitra and Baskes, Phys Rev B, 85, 245102 (2012) # MEAM Al, Si, Mg, Cu, Fe alloy potential # use with AlS SiS MgS CuS FeS from library.meam -# http://dx.doi.org/10.1103/PhysRevB.85.245102 +# https://doi.org/10.1103/PhysRevB.85.245102 Cmin(1,1,1) = 0.8 repuls(1,1) = 0.1 diff --git a/potentials/BNCH-old.ILP b/potentials/BNCH-old.ILP index 30219e2a1e..2830172a86 100644 --- a/potentials/BNCH-old.ILP +++ b/potentials/BNCH-old.ILP @@ -1,5 +1,5 @@ # Interlayer Potential (ILP) for bilayer graphene/graphene, graphene/hBN and hBN/hBN junctions -# The parameters below are fitted against the HSE + MBD DFT referece data from 3.1 A to 15 A. +# The parameters below are fitted against the HSE + MBD DFT reference data from 3.1 A to 15 A. # Cite J. Chem.Theory Comput. 2016, 12, 2896-905 and J. Phys. Chem. C 2017, 121, 22826-22835. # beta alpha delta epsilon C d sR reff C6 S rcut diff --git a/potentials/BNCH.ILP b/potentials/BNCH.ILP index ed58adf946..eb15c35e0b 100644 --- a/potentials/BNCH.ILP +++ b/potentials/BNCH.ILP @@ -1,5 +1,5 @@ # Interlayer Potential (ILP) for bilayer graphene/graphene, graphene/hBN and hBN/hBN junctions -# The parameters below are fitted against the HSE + MBD DFT referece data from 2.5 A to 15 A. +# The parameters below are fitted against the HSE + MBD DFT reference data from 2.5 A to 15 A. # Cite as W. Ouyang, D. Mandelli, M. Urbakh and O. Hod, Nano Letters 18, 6009-6016 (2018). # # ----------------- Repulsion Potential ------------------++++++++++++++ Vdw Potential ++++++++++++++++************ diff --git a/potentials/BNC_MBD_bulk.ILP b/potentials/BNC_MBD_bulk.ILP index 9502e0a89a..9093f01447 100644 --- a/potentials/BNC_MBD_bulk.ILP +++ b/potentials/BNC_MBD_bulk.ILP @@ -1,5 +1,5 @@ # Interlayer Potential (ILP) for graphite, bulk-hBN and their heterojunctions -# The parameters below are fitted against the HSE + MBD DFT referece data from 2 A to 10 A. +# The parameters below are fitted against the HSE + MBD DFT reference data from 2 A to 10 A. # Cite as W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020). # # ------------------------------ Repulsion Potential --------------------++++++++++++++ Vdw Potential ++++++++++++++++************ diff --git a/potentials/BNC_TS_bulk.ILP b/potentials/BNC_TS_bulk.ILP index 1baca2ace0..13de8b25fc 100644 --- a/potentials/BNC_TS_bulk.ILP +++ b/potentials/BNC_TS_bulk.ILP @@ -1,5 +1,5 @@ # Interlayer Potential (ILP) for graphite, bulk-hBN and their heterojunctions -# The parameters below are fitted against the HSE + TS DFT referece data from 2 A to 10 A. +# The parameters below are fitted against the HSE + TS DFT reference data from 2 A to 10 A. # Cite as W. Ouyang et al., J. Chem. Theory Comput. 16(1), 666-676 (2020). # # ------------------------------ Repulsion Potential ------------------++++++++++++++ Vdw Potential ++++++++++++++++************ diff --git a/potentials/CH.airebo-m b/potentials/CH.airebo-m index fb543dd58f..3a0299c161 100644 --- a/potentials/CH.airebo-m +++ b/potentials/CH.airebo-m @@ -1,8 +1,8 @@ # DATE: 2016-03-15 CONTRIBUTOR: T.C. O'Connor CITATION: O'Connor, Andzelm, Robbins, J. Chem. Phys. 142, 024903 (2015) # AIREBO-M of T.C. O'Connor, J.W. Andzelm, M.O. Robbins (2015) -# Citation: J. Chem. Phys. 142, 024903 (2015); http://dx.doi.org/10.1063/1.4905549 +# Citation: J. Chem. Phys. 142, 024903 (2015); https://doi.org/10.1063/1.4905549 # Based on AIREBO of S.J. Stuart, A.B. Tutein, J.A. Harrison (2000) -# Citation: J. Chem. Phys. 112, 6472 (2000); http://dx.doi.org/10.1063/1.481208 +# Citation: J. Chem. Phys. 112, 6472 (2000); https://doi.org/10.1063/1.481208 1.7 rcmin_CC 1.3 rcmin_CH diff --git a/python/examples/pylammps/montecarlo/mc.ipynb b/python/examples/pylammps/montecarlo/mc.ipynb index 86a2a8bc95..0275171bdd 100644 --- a/python/examples/pylammps/montecarlo/mc.ipynb +++ b/python/examples/pylammps/montecarlo/mc.ipynb @@ -822,7 +822,7 @@ "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", - " // Handle any extra behaviour associated with a key event\n", + " // Handle any extra behavior associated with a key event\n", "}\n", "\n", "mpl.figure.prototype.key_event = function(event, name) {\n", @@ -887,7 +887,7 @@ " // Register the callback with on_msg.\n", " comm.on_msg(function(msg) {\n", " //console.log('receiving', msg['content']['data'], msg);\n", - " // Pass the mpl event to the overriden (by mpl) onmessage function.\n", + " // Pass the mpl event to the overridden (by mpl) onmessage function.\n", " ws.onmessage(msg['content']['data'])\n", " });\n", " return ws;\n", @@ -1053,7 +1053,7 @@ "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", + " // IPython event is triggered only after the cells have been serialized, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", diff --git a/python/lammps.py b/python/lammps.py index 2e597f9e18..bbe9c07a30 100644 --- a/python/lammps.py +++ b/python/lammps.py @@ -486,6 +486,7 @@ class lammps(object): return None elif style == 2: self.lib.lammps_extract_compute.restype = POINTER(c_int) + ptr = self.lib.lammps_extract_compute(self.lmp,id,style,type) return ptr[0] if type == 1: self.lib.lammps_extract_compute.restype = POINTER(c_double) @@ -509,6 +510,10 @@ class lammps(object): result = ptr[0] self.lib.lammps_free(ptr) return result + elif (style == 2) and (type == 0): + self.lib.lammps_extract_fix.restype = POINTER(c_int) + ptr = self.lib.lammps_extract_fix(self.lmp,id,style,type,i,j) + return ptr[0] elif (style == 1) or (style == 2): if type == 1: self.lib.lammps_extract_fix.restype = POINTER(c_double) @@ -1032,7 +1037,7 @@ def get_thermo_data(output): items = line.split() # Convert thermo output and store it. # It must have the same number of columns and - # all of them must be convertable to floats. + # all of them must be convertible to floats. # Otherwise we ignore the line if len(items) == len(columns): try: diff --git a/src/COLLOID/pair_lubricateU.cpp b/src/COLLOID/pair_lubricateU.cpp index e8715cec36..b0e21256ac 100644 --- a/src/COLLOID/pair_lubricateU.cpp +++ b/src/COLLOID/pair_lubricateU.cpp @@ -988,7 +988,7 @@ void PairLubricateU::compute_RU() fy = vxmu2f*fy; fz = vxmu2f*fz; - // Add to the total forc + // Add to the total force f[i][0] -= fx; f[i][1] -= fy; @@ -1449,7 +1449,7 @@ void PairLubricateU::compute_RE() fy = vxmu2f*fy; fz = vxmu2f*fz; - // Add to the total forc + // Add to the total force f[i][0] -= fx; f[i][1] -= fy; @@ -1614,7 +1614,7 @@ void PairLubricateU::compute_RE(double **x) fy = vxmu2f*fy; fz = vxmu2f*fz; - // Add to the total forc + // Add to the total force f[i][0] -= fx; f[i][1] -= fy; diff --git a/src/COLLOID/pair_lubricateU_poly.cpp b/src/COLLOID/pair_lubricateU_poly.cpp index 0f16d94300..6b6727172d 100644 --- a/src/COLLOID/pair_lubricateU_poly.cpp +++ b/src/COLLOID/pair_lubricateU_poly.cpp @@ -849,7 +849,7 @@ void PairLubricateUPoly::compute_RU(double **x) fy = vxmu2f*fy; fz = vxmu2f*fz; - // Add to the total forc + // Add to the total force f[i][0] -= fx; f[i][1] -= fy; @@ -1044,7 +1044,7 @@ void PairLubricateUPoly::compute_RE(double **x) fy = vxmu2f*fy; fz = vxmu2f*fz; - // Add to the total forc + // Add to the total force f[i][0] -= fx; f[i][1] -= fy; diff --git a/src/CORESHELL/pair_born_coul_wolf_cs.cpp b/src/CORESHELL/pair_born_coul_wolf_cs.cpp index 398c2ba1ee..870a776a22 100644 --- a/src/CORESHELL/pair_born_coul_wolf_cs.cpp +++ b/src/CORESHELL/pair_born_coul_wolf_cs.cpp @@ -98,7 +98,7 @@ void PairBornCoulWolfCS::compute(int eflag, int vflag) if (rsq < cutsq[itype][jtype]) { rsq += EPSILON; - // Add EPISLON for case: r = 0; Interaction must be removed + // Add EPSILON for case: r = 0; Interaction must be removed // by special bond r2inv = 1.0/rsq; diff --git a/src/CORESHELL/pair_coul_wolf_cs.cpp b/src/CORESHELL/pair_coul_wolf_cs.cpp index 20b7339480..997a202e00 100644 --- a/src/CORESHELL/pair_coul_wolf_cs.cpp +++ b/src/CORESHELL/pair_coul_wolf_cs.cpp @@ -93,7 +93,7 @@ void PairCoulWolfCS::compute(int eflag, int vflag) if (rsq < cut_coulsq) { rsq += EPSILON; - // Add EPISLON for case: r = 0; Interaction must be removed + // Add EPSILON for case: r = 0; Interaction must be removed // by special bond r = sqrt(rsq); prefactor = qqrd2e*qtmp*q[j]/r; diff --git a/src/GPU/pair_born_coul_wolf_cs_gpu.cpp b/src/GPU/pair_born_coul_wolf_cs_gpu.cpp index b00b5a0b56..4e488abc15 100644 --- a/src/GPU/pair_born_coul_wolf_cs_gpu.cpp +++ b/src/GPU/pair_born_coul_wolf_cs_gpu.cpp @@ -249,7 +249,7 @@ void PairBornCoulWolfCSGPU::cpu_compute(int start, int inum, int eflag, jtype = type[j]; if (rsq < cutsq[itype][jtype]) { - rsq += EPSILON; // Add EPISLON for case: r = 0; Interaction must be removed by special bond + rsq += EPSILON; // Add EPSILON for case: r = 0; Interaction must be removed by special bond r2inv = 1.0/rsq; if (rsq < cut_coulsq) { diff --git a/src/KIM/README b/src/KIM/README index e61f47426f..d01ea42a7c 100644 --- a/src/KIM/README +++ b/src/KIM/README @@ -11,7 +11,7 @@ maintains the code that implements these commands. Using this package requires the KIM-API library and its models (interatomic potentials) to be downloaded and installed on your system. The library can be downloaded and built in lib/kim or -elsewhere on your system, which must be done before bulding LAMMPS +elsewhere on your system, which must be done before building LAMMPS with this package. Details of the download, build, and install process for the KIM-API are given in the lib/kim/README file, and scripts are provided to help automate the process. Also see the diff --git a/src/KIM/kim_init.h b/src/KIM/kim_init.h index 62c404212b..7d06896215 100644 --- a/src/KIM/kim_init.h +++ b/src/KIM/kim_init.h @@ -69,7 +69,7 @@ CommandStyle(kim_init,KimInit) #include <string> // Forward declaration. -class KIM_Model; +typedef struct KIM_Model KIM_Model; namespace LAMMPS_NS { diff --git a/src/KIM/kim_units.cpp b/src/KIM/kim_units.cpp index 45f9b81a35..b059ec0d73 100644 --- a/src/KIM/kim_units.cpp +++ b/src/KIM/kim_units.cpp @@ -140,7 +140,7 @@ double const kcal_si = 4184.0; // [J] kilocalorie (heat energy // involved in warming up one // kilogram of water by one // degree Kelvin) -double const ev_si = 1.6021766208e-19; // [J] electon volt (amount of +double const ev_si = 1.6021766208e-19; // [J] electron volt (amount of // energy gained or lost by the // charge of a single electron // moving across an electric diff --git a/src/KOKKOS/atom_vec_bond_kokkos.cpp b/src/KOKKOS/atom_vec_bond_kokkos.cpp index 74c05a506c..4475131d77 100644 --- a/src/KOKKOS/atom_vec_bond_kokkos.cpp +++ b/src/KOKKOS/atom_vec_bond_kokkos.cpp @@ -625,7 +625,7 @@ struct AtomVecBondKokkos_PackExchangeFunctor { _lo(lo),_hi(hi){ // 3 comp of x, 3 comp of v, 1 tag, 1 type, 1 mask, 1 image, 1 molecule, 3 nspecial, // maxspecial special, 1 num_bond, bond_per_atom bond_type, bond_per_atom bond_atom, - // 1 to store buffer lenght + // 1 to store buffer length elements = 16+atom->maxspecial+atom->bond_per_atom+atom->bond_per_atom; const int maxsendlist = (buf.template view<DeviceType>().extent(0)* buf.template view<DeviceType>().extent(1))/elements; diff --git a/src/KOKKOS/comm_kokkos.cpp b/src/KOKKOS/comm_kokkos.cpp index 774d7040cc..a1ece37efd 100644 --- a/src/KOKKOS/comm_kokkos.cpp +++ b/src/KOKKOS/comm_kokkos.cpp @@ -478,7 +478,7 @@ void CommKokkos::reverse_comm_dump(Dump *dump) atoms exchanged with all 6 stencil neighbors send out atoms that have left my box, receive ones entering my box atoms will be lost if not inside some proc's box - can happen if atom moves outside of non-periodic bounary + can happen if atom moves outside of non-periodic boundary or if atom moves more than one proc away this routine called before every reneighboring for triclinic, atoms must be in lamda coords (0-1) before exchange is called diff --git a/src/KOKKOS/comm_tiled_kokkos.cpp b/src/KOKKOS/comm_tiled_kokkos.cpp index fc6de0a0d7..a29d9f63b3 100644 --- a/src/KOKKOS/comm_tiled_kokkos.cpp +++ b/src/KOKKOS/comm_tiled_kokkos.cpp @@ -113,7 +113,7 @@ void CommTiledKokkos::reverse_comm() atoms exchanged with procs that touch sub-box in each of 3 dims send out atoms that have left my box, receive ones entering my box atoms will be lost if not inside a touching proc's box - can happen if atom moves outside of non-periodic bounary + can happen if atom moves outside of non-periodic boundary or if atom moves more than one proc away this routine called before every reneighboring for triclinic, atoms must be in lamda coords (0-1) before exchange is called diff --git a/src/KOKKOS/fix_eos_table_rx_kokkos.h b/src/KOKKOS/fix_eos_table_rx_kokkos.h index 91d73f1036..21ec3d203b 100644 --- a/src/KOKKOS/fix_eos_table_rx_kokkos.h +++ b/src/KOKKOS/fix_eos_table_rx_kokkos.h @@ -207,6 +207,6 @@ Self-explanatory. E: Maxit exceeded in secant solver -The maximum number of interations was exceeded in the secant solver +The maximum number of iterations was exceeded in the secant solver */ diff --git a/src/KOKKOS/npair_ssa_kokkos.cpp b/src/KOKKOS/npair_ssa_kokkos.cpp index 5234c4e6d2..f9708e5fe8 100644 --- a/src/KOKKOS/npair_ssa_kokkos.cpp +++ b/src/KOKKOS/npair_ssa_kokkos.cpp @@ -234,7 +234,7 @@ int NPairSSAKokkosExecute<DeviceType>::exclusion(const int &i,const int &j, /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law - for use by Shardlow Spliting Algorithm + for use by Shardlow Splitting Algorithm each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ diff --git a/src/KOKKOS/pair_exp6_rx_kokkos.cpp b/src/KOKKOS/pair_exp6_rx_kokkos.cpp index 8698687377..f3f63c98b2 100644 --- a/src/KOKKOS/pair_exp6_rx_kokkos.cpp +++ b/src/KOKKOS/pair_exp6_rx_kokkos.cpp @@ -1944,7 +1944,7 @@ void PairExp6rxKokkos<DeviceType>::getMixingWeights(int id,double &epsilon1,doub fraction2 = nMolecules2/nTotal; } - // If Site1 or Site2 matches is a fluid, then compute the paramters + // If Site1 or Site2 matches is a fluid, then compute the parameters if (isOneFluidApprox(isite1) || isOneFluidApprox(isite2)) { if (isite1 == d_params[iparam].ispecies || isite2 == d_params[iparam].ispecies) continue; rmi = d_params[iparam].rm; @@ -2271,7 +2271,7 @@ void PairExp6rxKokkos<DeviceType>::getMixingWeightsVect(const int np_total, int } } - // If Site1 or Site2 matches is a fluid, then compute the paramters + // If Site1 or Site2 matches is a fluid, then compute the parameters if (isOneFluidApprox(isite1) || isOneFluidApprox(isite2)) { if (isite1 == d_params[iparam].ispecies || isite2 == d_params[iparam].ispecies) continue; diff --git a/src/KOKKOS/pair_snap_kokkos.h b/src/KOKKOS/pair_snap_kokkos.h index f20ab34231..e53dec4d86 100644 --- a/src/KOKKOS/pair_snap_kokkos.h +++ b/src/KOKKOS/pair_snap_kokkos.h @@ -37,12 +37,16 @@ struct TagPairSNAPBeta{}; struct TagPairSNAPComputeNeigh{}; struct TagPairSNAPPreUi{}; struct TagPairSNAPComputeUi{}; +struct TagPairSNAPComputeUiTot{}; // accumulate ulist into ulisttot separately +struct TagPairSNAPComputeUiCPU{}; struct TagPairSNAPComputeZi{}; struct TagPairSNAPComputeBi{}; struct TagPairSNAPZeroYi{}; struct TagPairSNAPComputeYi{}; struct TagPairSNAPComputeDuidrj{}; +struct TagPairSNAPComputeDuidrjCPU{}; struct TagPairSNAPComputeDeidrj{}; +struct TagPairSNAPComputeDeidrjCPU{}; template<class DeviceType> class PairSNAPKokkos : public PairSNAP { @@ -74,11 +78,17 @@ public: void operator() (TagPairSNAPComputeNeigh,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeNeigh>::member_type& team) const; KOKKOS_INLINE_FUNCTION - void operator() (TagPairSNAPPreUi,const int& ii) const; + void operator() (TagPairSNAPPreUi,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPPreUi>::member_type& team) const; KOKKOS_INLINE_FUNCTION void operator() (TagPairSNAPComputeUi,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUi>::member_type& team) const; + KOKKOS_INLINE_FUNCTION + void operator() (TagPairSNAPComputeUiTot,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUiTot>::member_type& team) const; + + KOKKOS_INLINE_FUNCTION + void operator() (TagPairSNAPComputeUiCPU,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUiCPU>::member_type& team) const; + KOKKOS_INLINE_FUNCTION void operator() (TagPairSNAPComputeZi,const int& ii) const; @@ -86,7 +96,7 @@ public: void operator() (TagPairSNAPComputeBi,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeBi>::member_type& team) const; KOKKOS_INLINE_FUNCTION - void operator() (TagPairSNAPZeroYi,const int& ii) const; + void operator() (TagPairSNAPZeroYi,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPZeroYi>::member_type& team) const; KOKKOS_INLINE_FUNCTION void operator() (TagPairSNAPComputeYi,const int& ii) const; @@ -94,9 +104,15 @@ public: KOKKOS_INLINE_FUNCTION void operator() (TagPairSNAPComputeDuidrj,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDuidrj>::member_type& team) const; + KOKKOS_INLINE_FUNCTION + void operator() (TagPairSNAPComputeDuidrjCPU,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDuidrjCPU>::member_type& team) const; + KOKKOS_INLINE_FUNCTION void operator() (TagPairSNAPComputeDeidrj,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDeidrj>::member_type& team) const; + KOKKOS_INLINE_FUNCTION + void operator() (TagPairSNAPComputeDeidrjCPU,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDeidrjCPU>::member_type& team) const; + KOKKOS_INLINE_FUNCTION void operator() (TagPairSNAPBeta,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPBeta>::member_type& team) const; diff --git a/src/KOKKOS/pair_snap_kokkos_impl.h b/src/KOKKOS/pair_snap_kokkos_impl.h index 32b63cb776..1156d11c31 100644 --- a/src/KOKKOS/pair_snap_kokkos_impl.h +++ b/src/KOKKOS/pair_snap_kokkos_impl.h @@ -12,7 +12,8 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: Christian Trott (SNL), Stan Moore (SNL) + Contributing authors: Christian Trott (SNL), Stan Moore (SNL), + Evan Weinberg (NVIDIA) ------------------------------------------------------------------------- */ #include <cmath> @@ -29,6 +30,7 @@ #include "kokkos.h" #include "sna.h" + #define MAXLINE 1024 #define MAXWORD 3 @@ -194,7 +196,7 @@ void PairSNAPKokkos<DeviceType>::compute(int eflag_in, int vflag_in) if (beta_max < inum) { beta_max = inum; - d_beta = Kokkos::View<F_FLOAT**, DeviceType>("PairSNAPKokkos:beta",inum,ncoeff); + d_beta = Kokkos::View<F_FLOAT**, DeviceType>("PairSNAPKokkos:beta",ncoeff,inum); d_ninside = Kokkos::View<int*, DeviceType>("PairSNAPKokkos:ninside",inum); } @@ -205,6 +207,8 @@ void PairSNAPKokkos<DeviceType>::compute(int eflag_in, int vflag_in) EV_FLOAT ev; + int idxu_max = snaKK.idxu_max; + while (chunk_offset < inum) { // chunk up loop to prevent running out of memory EV_FLOAT ev_tmp; @@ -217,15 +221,62 @@ void PairSNAPKokkos<DeviceType>::compute(int eflag_in, int vflag_in) Kokkos::parallel_for("ComputeNeigh",policy_neigh,*this); //PreUi - typename Kokkos::RangePolicy<DeviceType, TagPairSNAPPreUi> policy_preui(0,chunk_size); - Kokkos::parallel_for("PreUi",policy_preui,*this); + { + int vector_length = 1; + int team_size = 1; + if (lmp->kokkos->ngpus != 0) { + vector_length = 32; + team_size = 32;//max_neighs; + int team_size_max = Kokkos::TeamPolicy<DeviceType, TagPairSNAPPreUi>::team_size_max(*this); + if (team_size*vector_length > team_size_max) + team_size = team_size_max/vector_length; + } + typename Kokkos::TeamPolicy<DeviceType,TagPairSNAPPreUi> policy_preui((chunk_size+team_size-1)/team_size,team_size,vector_length); + Kokkos::parallel_for("PreUi",policy_preui,*this); + } - //ComputeUi - typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUi> policy_ui(((chunk_size+team_size-1)/team_size)*max_neighs,team_size,vector_length); - Kokkos::parallel_for("ComputeUi",policy_ui,*this); + // ComputeUI + if (lmp->kokkos->ngpus == 0) { // CPU + // Run a fused calculation of ulist and accumulation into ulisttot using atomics + int vector_length = 1; + int team_size = 1; + + typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUiCPU> policy_ui_cpu(((chunk_size+team_size-1)/team_size)*max_neighs,team_size,vector_length); + + Kokkos::parallel_for("ComputeUiCPU",policy_ui_cpu,*this); + } else { // GPU, vector parallelism, shared memory, separate ulist and ulisttot to avoid atomics + + // ComputeUi + int vector_length = 32; + int team_size = 4; // need to cap b/c of shared memory reqs + int team_size_max = Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUi>::team_size_max(*this); + if (team_size*vector_length > team_size_max) + team_size = team_size_max/vector_length; + + // scratch size: 2 * team_size * (twojmax+1)^2, to cover all `m1`,`m2` values + // 2 is for double buffer + typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUi> policy_ui(((chunk_size+team_size-1)/team_size)*max_neighs,team_size,vector_length); + + typedef Kokkos::View< SNAcomplex*, + Kokkos::DefaultExecutionSpace::scratch_memory_space, + Kokkos::MemoryTraits<Kokkos::Unmanaged> > + ScratchViewType; + int scratch_size = ScratchViewType::shmem_size( 2 * team_size * (twojmax+1)*(twojmax+1)); + policy_ui = policy_ui.set_scratch_size(0, Kokkos::PerTeam( scratch_size )); + + Kokkos::parallel_for("ComputeUi",policy_ui,*this); + + // ComputeUitot + vector_length = 1; + team_size = 128; + team_size_max = Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUiTot>::team_size_max(*this); + if (team_size*vector_length > team_size_max) + team_size = team_size_max/vector_length; + + typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUiTot> policy_ui_tot(((idxu_max+team_size-1)/team_size)*chunk_size,team_size,vector_length); + Kokkos::parallel_for("ComputeUiTot",policy_ui_tot,*this); + } - //Ulisttot transpose - snaKK.transpose_ulisttot(); //Compute bispectrum if (quadraticflag || eflag) { @@ -237,15 +288,28 @@ void PairSNAPKokkos<DeviceType>::compute(int eflag_in, int vflag_in) //ComputeBi typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeBi> policy_bi(chunk_size,team_size,vector_length); Kokkos::parallel_for("ComputeBi",policy_bi,*this); + } //Compute beta = dE_i/dB_i for all i in list typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPBeta> policy_beta(chunk_size,team_size,vector_length); Kokkos::parallel_for("ComputeBeta",policy_beta,*this); - //ComputeYi - typename Kokkos::RangePolicy<DeviceType, TagPairSNAPZeroYi> policy_zero_yi(0,chunk_size); - Kokkos::parallel_for("ZeroYi",policy_zero_yi,*this); + //ZeroYi + { + int vector_length = 1; + int team_size = 1; + int team_size_max = Kokkos::TeamPolicy<DeviceType, TagPairSNAPZeroYi>::team_size_max(*this); + +#ifdef KOKKOS_ENABLE_CUDA + team_size = 128; + if (team_size*vector_length > team_size_max) + team_size = team_size_max/vector_length; +#endif + + typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPZeroYi> policy_zero_yi(((idxu_max+team_size-1)/team_size)*chunk_size,team_size,vector_length); + Kokkos::parallel_for("ZeroYi",policy_zero_yi,*this); + } //ComputeYi int idxz_max = snaKK.idxz_max; @@ -253,12 +317,59 @@ void PairSNAPKokkos<DeviceType>::compute(int eflag_in, int vflag_in) Kokkos::parallel_for("ComputeYi",policy_yi,*this); //ComputeDuidrj - typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDuidrj> policy_duidrj(((chunk_size+team_size-1)/team_size)*max_neighs,team_size,vector_length); - Kokkos::parallel_for("ComputeDuidrj",policy_duidrj,*this); + if (lmp->kokkos->ngpus == 0) { // CPU + int vector_length = 1; + int team_size = 1; + + typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDuidrjCPU> policy_duidrj_cpu(((chunk_size+team_size-1)/team_size)*max_neighs,team_size,vector_length); + snaKK.set_dir(-1); // technically doesn't do anything + Kokkos::parallel_for("ComputeDuidrjCPU",policy_duidrj_cpu,*this); + } else { // GPU, utilize scratch memory and splitting over dimensions + + int team_size_max = Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDuidrj>::team_size_max(*this); + int vector_length = 32; + int team_size = 2; // need to cap b/c of shared memory reqs + if (team_size*vector_length > team_size_max) + team_size = team_size_max/vector_length; + + // scratch size: 2 * 2 * team_size * (twojmax+1)^2, to cover all `m1`,`m2` values + // 2 is for double buffer + typedef Kokkos::View< SNAcomplex*, + Kokkos::DefaultExecutionSpace::scratch_memory_space, + Kokkos::MemoryTraits<Kokkos::Unmanaged> > + ScratchViewType; + + int scratch_size = ScratchViewType::shmem_size( 4 * team_size * (twojmax+1)*(twojmax+1)); + typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDuidrj> policy_duidrj(((chunk_size+team_size-1)/team_size)*max_neighs,team_size,vector_length); + policy_duidrj = policy_duidrj.set_scratch_size(0, Kokkos::PerTeam( scratch_size )); + // Need to call three times, once for each direction + for (int k = 0; k < 3; k++) { + snaKK.set_dir(k); + Kokkos::parallel_for("ComputeDuidrj",policy_duidrj,*this); + } + } //ComputeDeidrj - typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDeidrj> policy_deidrj(((chunk_size+team_size-1)/team_size)*max_neighs,team_size,vector_length); - Kokkos::parallel_for("ComputeDeidrj",policy_deidrj,*this); + if (lmp->kokkos->ngpus == 0) { // CPU + int vector_length = 1; + int team_size = 1; + + typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDeidrjCPU> policy_deidrj_cpu(((chunk_size+team_size-1)/team_size)*max_neighs,team_size,vector_length); + + Kokkos::parallel_for("ComputeDeidrjCPU",policy_deidrj_cpu,*this); + + } else { // GPU, different loop strategy internally + + int team_size_max = Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDeidrj>::team_size_max(*this); + int vector_length = 32; // coalescing disaster right now, will fix later + int team_size = 8; + if (team_size*vector_length > team_size_max) + team_size = team_size_max/vector_length; + + typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDeidrj> policy_deidrj(((chunk_size+team_size-1)/team_size)*max_neighs,team_size,vector_length); + + Kokkos::parallel_for("ComputeDeidrj",policy_deidrj,*this); + } //ComputeForce if (eflag) { @@ -284,6 +395,7 @@ void PairSNAPKokkos<DeviceType>::compute(int eflag_in, int vflag_in) } ev += ev_tmp; chunk_offset += chunk_size; + } // end while if (need_dup) @@ -341,18 +453,18 @@ void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPBeta,const typename Kokk d_coeffi(d_coeffelem,ielem,Kokkos::ALL); for (int icoeff = 0; icoeff < ncoeff; icoeff++) - d_beta(ii,icoeff) = d_coeffi[icoeff+1]; + d_beta(icoeff,ii) = d_coeffi[icoeff+1]; if (quadraticflag) { int k = ncoeff+1; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { - double bveci = my_sna.blist(ii,icoeff); - d_beta(ii,icoeff) += d_coeffi[k]*bveci; + double bveci = my_sna.blist(icoeff,ii); + d_beta(icoeff,ii) += d_coeffi[k]*bveci; k++; for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) { - double bvecj = my_sna.blist(ii,jcoeff); - d_beta(ii,icoeff) += d_coeffi[k]*bvecj; - d_beta(ii,jcoeff) += d_coeffi[k]*bveci; + double bvecj = my_sna.blist(jcoeff,ii); + d_beta(icoeff,ii) += d_coeffi[k]*bvecj; + d_beta(jcoeff,ii) += d_coeffi[k]*bveci; k++; } } @@ -503,9 +615,14 @@ void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeNeigh,const typen template<class DeviceType> KOKKOS_INLINE_FUNCTION -void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPPreUi,const int& ii) const { +void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPPreUi,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPPreUi>::member_type& team) const { SNAKokkos<DeviceType> my_sna = snaKK; - my_sna.pre_ui(ii); + + // Extract the atom number + const int ii = team.team_rank() + team.team_size() * (team.league_rank() % ((chunk_size+team.team_size()-1)/team.team_size())); + if (ii >= chunk_size) return; + + my_sna.pre_ui(team,ii); } template<class DeviceType> @@ -514,8 +631,7 @@ void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeUi,const typename SNAKokkos<DeviceType> my_sna = snaKK; // Extract the atom number - int ii = team.team_rank() + team.team_size() * (team.league_rank() % - ((chunk_size+team.team_size()-1)/team.team_size())); + int ii = team.team_rank() + team.team_size() * (team.league_rank() % ((chunk_size+team.team_size()-1)/team.team_size())); if (ii >= chunk_size) return; // Extract the neighbor number @@ -528,9 +644,54 @@ void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeUi,const typename template<class DeviceType> KOKKOS_INLINE_FUNCTION -void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPZeroYi,const int& ii) const { +void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeUiTot,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUiTot>::member_type& team) const { SNAKokkos<DeviceType> my_sna = snaKK; - my_sna.zero_yi(ii); + + // Extract the quantum number + const int idx = team.team_rank() + team.team_size() * (team.league_rank() % ((my_sna.idxu_max+team.team_size()-1)/team.team_size())); + if (idx >= my_sna.idxu_max) return; + + // Extract the atomic index + const int ii = team.league_rank() / ((my_sna.idxu_max+team.team_size()-1)/team.team_size()); + if (ii >= chunk_size) return; + + // Extract the number of neighbors neighbor number + const int ninside = d_ninside(ii); + + my_sna.compute_uitot(team,idx,ii,ninside); +} + +template<class DeviceType> +KOKKOS_INLINE_FUNCTION +void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeUiCPU,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeUiCPU>::member_type& team) const { + SNAKokkos<DeviceType> my_sna = snaKK; + + // Extract the atom number + int ii = team.team_rank() + team.team_size() * (team.league_rank() % ((chunk_size+team.team_size()-1)/team.team_size())); + if (ii >= chunk_size) return; + + // Extract the neighbor number + const int jj = team.league_rank() / ((chunk_size+team.team_size()-1)/team.team_size()); + const int ninside = d_ninside(ii); + if (jj >= ninside) return; + + my_sna.compute_ui_cpu(team,ii,jj); +} + +template<class DeviceType> +KOKKOS_INLINE_FUNCTION +void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPZeroYi,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPZeroYi>::member_type& team) const { + SNAKokkos<DeviceType> my_sna = snaKK; + + // Extract the quantum number + const int idx = team.team_rank() + team.team_size() * (team.league_rank() % ((my_sna.idxu_max+team.team_size()-1)/team.team_size())); + if (idx >= my_sna.idxu_max) return; + + // Extract the atomic index + const int ii = team.league_rank() / ((my_sna.idxu_max+team.team_size()-1)/team.team_size()); + if (ii >= chunk_size) return; + + my_sna.zero_yi(idx,ii); } template<class DeviceType> @@ -561,8 +722,7 @@ void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeDuidrj,const type SNAKokkos<DeviceType> my_sna = snaKK; // Extract the atom number - int ii = team.team_rank() + team.team_size() * (team.league_rank() % - ((chunk_size+team.team_size()-1)/team.team_size())); + int ii = team.team_rank() + team.team_size() * (team.league_rank() % ((chunk_size+team.team_size()-1)/team.team_size())); if (ii >= chunk_size) return; // Extract the neighbor number @@ -573,14 +733,31 @@ void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeDuidrj,const type my_sna.compute_duidrj(team,ii,jj); } +template<class DeviceType> +KOKKOS_INLINE_FUNCTION +void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeDuidrjCPU,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDuidrjCPU>::member_type& team) const { + SNAKokkos<DeviceType> my_sna = snaKK; + + // Extract the atom number + int ii = team.team_rank() + team.team_size() * (team.league_rank() % ((chunk_size+team.team_size()-1)/team.team_size())); + if (ii >= chunk_size) return; + + // Extract the neighbor number + const int jj = team.league_rank() / ((chunk_size+team.team_size()-1)/team.team_size()); + const int ninside = d_ninside(ii); + if (jj >= ninside) return; + + my_sna.compute_duidrj_cpu(team,ii,jj); +} + + template<class DeviceType> KOKKOS_INLINE_FUNCTION void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeDeidrj,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDeidrj>::member_type& team) const { SNAKokkos<DeviceType> my_sna = snaKK; // Extract the atom number - int ii = team.team_rank() + team.team_size() * (team.league_rank() % - ((chunk_size+team.team_size()-1)/team.team_size())); + int ii = team.team_rank() + team.team_size() * (team.league_rank() % ((chunk_size+team.team_size()-1)/team.team_size())); if (ii >= chunk_size) return; // Extract the neighbor number @@ -591,6 +768,23 @@ void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeDeidrj,const type my_sna.compute_deidrj(team,ii,jj); } +template<class DeviceType> +KOKKOS_INLINE_FUNCTION +void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeDeidrjCPU,const typename Kokkos::TeamPolicy<DeviceType, TagPairSNAPComputeDeidrjCPU>::member_type& team) const { + SNAKokkos<DeviceType> my_sna = snaKK; + + // Extract the atom number + int ii = team.team_rank() + team.team_size() * (team.league_rank() % ((chunk_size+team.team_size()-1)/team.team_size())); + if (ii >= chunk_size) return; + + // Extract the neighbor number + const int jj = team.league_rank() / ((chunk_size+team.team_size()-1)/team.team_size()); + const int ninside = d_ninside(ii); + if (jj >= ninside) return; + + my_sna.compute_deidrj_cpu(team,ii,jj); +} + template<class DeviceType> template<int NEIGHFLAG, int EVFLAG> KOKKOS_INLINE_FUNCTION @@ -658,17 +852,17 @@ void PairSNAPKokkos<DeviceType>::operator() (TagPairSNAPComputeForce<NEIGHFLAG,E // linear contributions for (int icoeff = 0; icoeff < ncoeff; icoeff++) - evdwl += d_coeffi[icoeff+1]*my_sna.blist(ii,icoeff); + evdwl += d_coeffi[icoeff+1]*my_sna.blist(icoeff,ii); // quadratic contributions if (quadraticflag) { int k = ncoeff+1; for (int icoeff = 0; icoeff < ncoeff; icoeff++) { - double bveci = my_sna.blist(ii,icoeff); + double bveci = my_sna.blist(icoeff,ii); evdwl += 0.5*d_coeffi[k++]*bveci*bveci; for (int jcoeff = icoeff+1; jcoeff < ncoeff; jcoeff++) { - double bvecj = my_sna.blist(ii,jcoeff); + double bvecj = my_sna.blist(jcoeff,ii); evdwl += d_coeffi[k++]*bveci*bvecj; } } diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index 7085f06101..08a0c18f9c 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -836,7 +836,7 @@ void PPPMKokkos<DeviceType>::allocate() h_rho_coeff = k_rho_coeff.h_view; // create 2 FFTs and a Remap - // 1st FFT keeps data in FFT decompostion + // 1st FFT keeps data in FFT decomposition // 2nd FFT returns data in 3d brick decomposition // remap takes data from 3d brick to FFT decomposition diff --git a/src/KOKKOS/sna_kokkos.h b/src/KOKKOS/sna_kokkos.h index 775c8eead4..48d9114fbf 100644 --- a/src/KOKKOS/sna_kokkos.h +++ b/src/KOKKOS/sna_kokkos.h @@ -28,19 +28,53 @@ namespace LAMMPS_NS { typedef double SNAreal; //typedef struct { SNAreal re, im; } SNAcomplex; -struct alignas(2*sizeof(SNAreal)) SNAcomplex{ - SNAreal re, im; +template <typename real> +struct alignas(2*sizeof(real)) SNAComplex +{ + real re,im; - KOKKOS_INLINE_FUNCTION - SNAcomplex() : re(0),im(0) - {} + KOKKOS_FORCEINLINE_FUNCTION SNAComplex() = default; + + KOKKOS_FORCEINLINE_FUNCTION SNAComplex(real re) + : re(re), im(static_cast<real>(0.)) { ; } + + KOKKOS_FORCEINLINE_FUNCTION SNAComplex(real re, real im) + : re(re), im(im) { ; } + + KOKKOS_FORCEINLINE_FUNCTION SNAComplex(const SNAComplex& other) + : re(other.re), im(other.im) { ; } + + KOKKOS_FORCEINLINE_FUNCTION SNAComplex& operator=(const SNAComplex& other) { + re = other.re; im = other.im; + return *this; + } + + KOKKOS_FORCEINLINE_FUNCTION SNAComplex(SNAComplex&& other) + : re(other.re), im(other.im) { ; } + + KOKKOS_FORCEINLINE_FUNCTION SNAComplex& operator=(SNAComplex&& other) { + re = other.re; im = other.im; + return *this; + } + + KOKKOS_FORCEINLINE_FUNCTION SNAComplex operator+(SNAComplex const& other) { + return SNAComplex(re + other.re, im + other.im); + } + + KOKKOS_FORCEINLINE_FUNCTION SNAComplex& operator+=(SNAComplex const& other) { + re += other.re; im += other.im; + return *this; + } - KOKKOS_INLINE_FUNCTION - SNAcomplex(SNAreal real_in, SNAreal imag_in) - :re(real_in),im(imag_in) - {} }; +template <typename real> +KOKKOS_FORCEINLINE_FUNCTION SNAComplex<real> operator*(const real& r, const SNAComplex<real>& self) { + return SNAComplex<real>(r*self.re, r*self.im); +} + +typedef SNAComplex<SNAreal> SNAcomplex; + //struct SNAKK_ZINDICES { // int j1, j2, j, ma1min, ma2max, mb1min, mb2max, na, nb, jju; //}; @@ -58,6 +92,7 @@ public: typedef Kokkos::View<double*, DeviceType, Kokkos::MemoryTraits<Kokkos::Atomic> > t_sna_1d_atomic; typedef Kokkos::View<int**, DeviceType> t_sna_2i; typedef Kokkos::View<double**, DeviceType> t_sna_2d; + typedef Kokkos::View<double**, Kokkos::LayoutLeft, DeviceType> t_sna_2d_ll; typedef Kokkos::View<double***, DeviceType> t_sna_3d; typedef Kokkos::View<double***[3], DeviceType> t_sna_4d; typedef Kokkos::View<double**[3], DeviceType> t_sna_3d3; @@ -66,32 +101,15 @@ public: typedef Kokkos::View<SNAcomplex*, DeviceType> t_sna_1c; typedef Kokkos::View<SNAcomplex*, DeviceType, Kokkos::MemoryTraits<Kokkos::Atomic> > t_sna_1c_atomic; typedef Kokkos::View<SNAcomplex**, DeviceType> t_sna_2c; + typedef Kokkos::View<SNAcomplex**, Kokkos::LayoutLeft, DeviceType> t_sna_2c_ll; typedef Kokkos::View<SNAcomplex**, Kokkos::LayoutRight, DeviceType> t_sna_2c_lr; typedef Kokkos::View<SNAcomplex***, DeviceType> t_sna_3c; + typedef Kokkos::View<SNAcomplex***, Kokkos::LayoutLeft, DeviceType> t_sna_3c_ll; typedef Kokkos::View<SNAcomplex***[3], DeviceType> t_sna_4c; + typedef Kokkos::View<SNAcomplex***[3], Kokkos::LayoutLeft, DeviceType> t_sna_4c_ll; typedef Kokkos::View<SNAcomplex**[3], DeviceType> t_sna_3c3; typedef Kokkos::View<SNAcomplex*****, DeviceType> t_sna_5c; -// Helper class to get ulisttot_r - -template<typename DeviceLayout, typename T1, typename T2> -class UlisttotHelper { -public: - inline - static void transpose(T1 &ulisttot_lr, const T2 &ulisttot) { - Kokkos::deep_copy(ulisttot_lr,ulisttot); - } -}; - -template<typename T1, typename T2> -class UlisttotHelper<Kokkos::LayoutRight,T1,T2> { -public: - inline - static void transpose(T1 &ulisttot_lr, const T2 &ulisttot) { - ulisttot_lr = ulisttot; - } -}; - inline SNAKokkos() {}; KOKKOS_INLINE_FUNCTION @@ -113,20 +131,21 @@ inline int ncoeff; -inline - void transpose_ulisttot(); - // functions for bispectrum coefficients KOKKOS_INLINE_FUNCTION - void pre_ui(const int&); // ForceSNAP + void pre_ui(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team,const int&); // ForceSNAP KOKKOS_INLINE_FUNCTION void compute_ui(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int); // ForceSNAP KOKKOS_INLINE_FUNCTION + void compute_ui_cpu(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int); // ForceSNAP + KOKKOS_INLINE_FUNCTION void compute_ui_orig(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int); // ForceSNAP KOKKOS_INLINE_FUNCTION + void compute_uitot(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int, int); // ForceSNAP + KOKKOS_INLINE_FUNCTION void compute_zi(const int&); // ForceSNAP KOKKOS_INLINE_FUNCTION - void zero_yi(const int&); + void zero_yi(const int&,const int&); // ForceSNAP KOKKOS_INLINE_FUNCTION void compute_yi(int, const Kokkos::View<F_FLOAT**, DeviceType> &beta); // ForceSNAP @@ -138,12 +157,29 @@ inline KOKKOS_INLINE_FUNCTION void compute_duidrj(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int); //ForceSNAP KOKKOS_INLINE_FUNCTION + void compute_duidrj_cpu(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int); //ForceSNAP + KOKKOS_INLINE_FUNCTION void compute_deidrj(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int); // ForceSNAP KOKKOS_INLINE_FUNCTION + void compute_deidrj_cpu(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int); // ForceSNAP + KOKKOS_INLINE_FUNCTION double compute_sfac(double, double); // add_uarraytot, compute_duarray KOKKOS_INLINE_FUNCTION double compute_dsfac(double, double); // compute_duarray + // efficient complex FMA + // efficient caxpy (i.e., y += a x) + static KOKKOS_FORCEINLINE_FUNCTION + void caxpy(const SNAcomplex& a, const SNAcomplex& x, SNAcomplex& y); + + // efficient complex FMA, conjugate of scalar + static KOKKOS_FORCEINLINE_FUNCTION + void caconjxpy(const SNAcomplex& a, const SNAcomplex& x, SNAcomplex& y); + + // Set the direction for split ComputeDuidrj + KOKKOS_INLINE_FUNCTION + void set_dir(int); + #ifdef TIMING_INFO double* timers; timespec starttime, endtime; @@ -166,16 +202,15 @@ inline int twojmax, diagonalstyle; - t_sna_2d blist; - t_sna_2c ulisttot; - t_sna_2c_lr ulisttot_lr; - t_sna_2c zlist; + t_sna_2d_ll blist; + t_sna_2c_ll ulisttot; + t_sna_2c_ll zlist; - t_sna_3c ulist; - t_sna_2c_lr ylist; + t_sna_3c_ll ulist; + t_sna_2c_ll ylist; // derivatives of data - t_sna_4c dulist; + t_sna_4c_ll dulist; int idxcg_max, idxu_max, idxz_max, idxb_max; @@ -193,7 +228,7 @@ private: // data for bispectrum coefficients - // Same accross all SNAKokkos + // Same across all SNAKokkos t_sna_1d cglist; t_sna_2d rootpqarray; @@ -212,10 +247,7 @@ inline inline void init_rootpqarray(); // init() - KOKKOS_INLINE_FUNCTION - void zero_uarraytot(const int&); // compute_ui - KOKKOS_INLINE_FUNCTION - void addself_uarraytot(const int&, const double&); // compute_ui + KOKKOS_INLINE_FUNCTION void add_uarraytot(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int, double, double, double); // compute_ui @@ -223,6 +255,12 @@ inline void compute_uarray(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int, double, double, double, double, double); // compute_ui + KOKKOS_INLINE_FUNCTION + void compute_uarray_cpu(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int, + double, double, double, + double, double); // compute_ui_cpu + + inline double deltacg(int, int, int); // init_clebsch_gordan @@ -232,6 +270,10 @@ inline void compute_duarray(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int, double, double, double, // compute_duidrj double, double, double, double, double); + KOKKOS_INLINE_FUNCTION + void compute_duarray_cpu(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int, int, + double, double, double, // compute_duidrj + double, double, double, double, double); // Sets the style for the switching function // 0 = none @@ -243,6 +285,9 @@ inline int bzero_flag; // 1 if bzero subtracted from barray Kokkos::View<double*, DeviceType> bzero; // array of B values for isolated atoms + + // for per-direction dulist calculation, specify the direction. + int dir; }; } diff --git a/src/KOKKOS/sna_kokkos_impl.h b/src/KOKKOS/sna_kokkos_impl.h index 8d5a4a21be..ef3312bd16 100644 --- a/src/KOKKOS/sna_kokkos_impl.h +++ b/src/KOKKOS/sna_kokkos_impl.h @@ -224,16 +224,19 @@ void SNAKokkos<DeviceType>::grow_rij(int newnatom, int newnmax) rcutij = t_sna_2d("sna:rcutij",natom,nmax); dedr = t_sna_3d("sna:dedr",natom,nmax,3); - blist = t_sna_2d("sna:blist",natom,idxb_max); - ulisttot = t_sna_2c("sna:ulisttot",natom,idxu_max); - if (!Kokkos::Impl::is_same<typename DeviceType::array_layout,Kokkos::LayoutRight>::value) - ulisttot_lr = t_sna_2c_lr("sna:ulisttot_lr",natom,idxu_max); - zlist = t_sna_2c("sna:zlist",natom,idxz_max); + blist = t_sna_2d_ll("sna:blist",idxb_max,natom); + //ulisttot = t_sna_2c("sna:ulisttot",natom,idxu_max); + ulisttot = t_sna_2c_ll("sna:ulisttot",idxu_max,natom); - ulist = t_sna_3c("sna:ulist",natom,nmax,idxu_max); - ylist = t_sna_2c_lr("sna:ylist",natom,idxu_max); + zlist = t_sna_2c_ll("sna:zlist",idxz_max,natom); - dulist = t_sna_4c("sna:dulist",natom,nmax,idxu_max); + //ulist = t_sna_3c("sna:ulist",natom,nmax,idxu_max); + ulist = t_sna_3c_ll("sna:ulist",idxu_max,natom,nmax); + //ylist = t_sna_2c_lr("sna:ylist",natom,idxu_max); + ylist = t_sna_2c_ll("sna:ylist",idxu_max,natom); + + //dulist = t_sna_4c("sna:dulist",natom,nmax,idxu_max); + dulist = t_sna_4c_ll("sna:dulist",idxu_max,natom,nmax); } /* ---------------------------------------------------------------------- @@ -242,19 +245,31 @@ void SNAKokkos<DeviceType>::grow_rij(int newnatom, int newnmax) template<class DeviceType> KOKKOS_INLINE_FUNCTION -void SNAKokkos<DeviceType>::pre_ui(const int& iatom) +void SNAKokkos<DeviceType>::pre_ui(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, const int& iatom) { - //if(team.team_rank() == 0) { - zero_uarraytot(iatom); - //Kokkos::single(Kokkos::PerThread(team), [&] (){ - addself_uarraytot(iatom,wself); - //}); - //} - //team.team_barrier(); + for (int j = 0; j <= twojmax; j++) { + const int jju = idxu_block(j); + + // Only diagonal elements get initialized + // for (int m = 0; m < (j+1)*(j+1); m++) + Kokkos::parallel_for(Kokkos::ThreadVectorRange(team, (j+1)*(j+1)), + [&] (const int m) { + + const int jjup = jju + m; + + // if m is on the "diagonal", initialize it with the self energy. + // Otherwise zero it out + SNAcomplex init = {0., 0.}; + if (m % (j+2) == 0) { init = {wself, 0.0}; } + + ulisttot(jjup, iatom) = init; + }); + } + } /* ---------------------------------------------------------------------- - compute Ui by summing over neighbors j + compute Ui by summing over bispectrum components ------------------------------------------------------------------------- */ template<class DeviceType> @@ -280,11 +295,72 @@ void SNAKokkos<DeviceType>::compute_ui(const typename Kokkos::TeamPolicy<DeviceT z0 = r / tan(theta0); compute_uarray(team, iatom, jnbor, x, y, z, z0, r); + + // if we're on the GPU, accumulating into uarraytot is done in a separate kernel. + // if we're not, it's more efficient to include it in compute_uarray. +} + +template<class DeviceType> +KOKKOS_INLINE_FUNCTION +void SNAKokkos<DeviceType>::compute_ui_cpu(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int iatom, int jnbor) +{ + double rsq, r, x, y, z, z0, theta0; + + // utot(j,ma,mb) = 0 for all j,ma,ma + // utot(j,ma,ma) = 1 for all j,ma + // for j in neighbors of i: + // compute r0 = (x,y,z,z0) + // utot(j,ma,mb) += u(r0;j,ma,mb) for all j,ma,mb + + x = rij(iatom,jnbor,0); + y = rij(iatom,jnbor,1); + z = rij(iatom,jnbor,2); + rsq = x * x + y * y + z * z; + r = sqrt(rsq); + + theta0 = (r - rmin0) * rfac0 * MY_PI / (rcutij(iatom,jnbor) - rmin0); + // theta0 = (r - rmin0) * rscale0; + z0 = r / tan(theta0); + + compute_uarray_cpu(team, iatom, jnbor, x, y, z, z0, r); add_uarraytot(team, iatom, jnbor, r, wj(iatom,jnbor), rcutij(iatom,jnbor)); + +} + +/* ---------------------------------------------------------------------- + compute UiTot by summing over neighbors +------------------------------------------------------------------------- */ + +template<class DeviceType> +KOKKOS_INLINE_FUNCTION +void SNAKokkos<DeviceType>::compute_uitot(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int idx, int iatom, int ninside) +{ + // fuse initialize in, avoid this load? + SNAcomplex utot = ulisttot(idx, iatom); + for (int jnbor = 0; jnbor < ninside; jnbor++) { + + const auto x = rij(iatom,jnbor,0); + const auto y = rij(iatom,jnbor,1); + const auto z = rij(iatom,jnbor,2); + const auto rsq = x * x + y * y + z * z; + const auto r = sqrt(rsq); + + const double wj_local = wj(iatom, jnbor); + const double rcut = rcutij(iatom, jnbor); + const double sfac = compute_sfac(r, rcut) * wj_local; + + auto ulist_local = ulist(idx, iatom, jnbor); + utot.re += sfac * ulist_local.re; + utot.im += sfac * ulist_local.im; + } + + ulisttot(idx, iatom) = utot; + } /* ---------------------------------------------------------------------- compute Zi by summing over products of Ui + not updated yet ------------------------------------------------------------------------- */ template<class DeviceType> @@ -306,8 +382,8 @@ void SNAKokkos<DeviceType>::compute_zi(const int& iter) const double* cgblock = cglist.data() + idxcg_block(j1,j2,j); - zlist(iatom,jjz).re = 0.0; - zlist(iatom,jjz).im = 0.0; + zlist(jjz,iatom).re = 0.0; + zlist(jjz,iatom).im = 0.0; int jju1 = idxu_block[j1] + (j1+1)*mb1min; int jju2 = idxu_block[j2] + (j2+1)*mb2max; @@ -321,15 +397,15 @@ void SNAKokkos<DeviceType>::compute_zi(const int& iter) int ma2 = ma2max; int icga = ma1min*(j2+1) + ma2max; for(int ia = 0; ia < na; ia++) { - suma1_r += cgblock[icga] * (ulisttot(iatom,jju1+ma1).re * ulisttot(iatom,jju2+ma2).re - ulisttot(iatom,jju1+ma1).im * ulisttot(iatom,jju2+ma2).im); - suma1_i += cgblock[icga] * (ulisttot(iatom,jju1+ma1).re * ulisttot(iatom,jju2+ma2).im + ulisttot(iatom,jju1+ma1).im * ulisttot(iatom,jju2+ma2).re); + suma1_r += cgblock[icga] * (ulisttot(jju1+ma1,iatom).re * ulisttot(jju2+ma2,iatom).re - ulisttot(jju1+ma1,iatom).im * ulisttot(jju2+ma2,iatom).im); + suma1_i += cgblock[icga] * (ulisttot(jju1+ma1,iatom).re * ulisttot(jju2+ma2,iatom).im + ulisttot(jju1+ma1,iatom).im * ulisttot(jju2+ma2,iatom).re); ma1++; ma2--; icga += j2; } // end loop over ia - zlist(iatom,jjz).re += cgblock[icgb] * suma1_r; - zlist(iatom,jjz).im += cgblock[icgb] * suma1_i; + zlist(jjz,iatom).re += cgblock[icgb] * suma1_r; + zlist(jjz,iatom).im += cgblock[icgb] * suma1_i; jju1 += j1+1; jju2 -= j2+1; @@ -343,10 +419,9 @@ void SNAKokkos<DeviceType>::compute_zi(const int& iter) template<class DeviceType> KOKKOS_INLINE_FUNCTION -void SNAKokkos<DeviceType>::zero_yi(const int& iatom) +void SNAKokkos<DeviceType>::zero_yi(const int& idx, const int& iatom) { - for (int j = 0; j < idxu_max; j++) - ylist(iatom,j) = {0.0,0.0}; + ylist(idx,iatom) = {0.0, 0.0}; } /* ---------------------------------------------------------------------- @@ -393,8 +468,8 @@ void SNAKokkos<DeviceType>::compute_yi(int iter, int icga = ma1min*(j2+1) + ma2max; for(int ia = 0; ia < na; ia++) { - suma1_r += cgblock[icga] * (ulisttot_lr(iatom,jju1+ma1).re * ulisttot_lr(iatom,jju2+ma2).re - ulisttot_lr(iatom,jju1+ma1).im * ulisttot_lr(iatom,jju2+ma2).im); - suma1_i += cgblock[icga] * (ulisttot_lr(iatom,jju1+ma1).re * ulisttot_lr(iatom,jju2+ma2).im + ulisttot_lr(iatom,jju1+ma1).im * ulisttot_lr(iatom,jju2+ma2).re); + suma1_r += cgblock[icga] * (ulisttot(jju1+ma1,iatom).re * ulisttot(jju2+ma2,iatom).re - ulisttot(jju1+ma1,iatom).im * ulisttot(jju2+ma2,iatom).im); + suma1_i += cgblock[icga] * (ulisttot(jju1+ma1,iatom).re * ulisttot(jju2+ma2,iatom).im + ulisttot(jju1+ma1,iatom).im * ulisttot(jju2+ma2,iatom).re); ma1++; ma2--; icga += j2; @@ -417,20 +492,20 @@ void SNAKokkos<DeviceType>::compute_yi(int iter, if (j >= j1) { const int jjb = idxb_block(j1,j2,j); if (j1 == j) { - if (j2 == j) betaj = 3*beta(iatom,jjb); - else betaj = 2*beta(iatom,jjb); - } else betaj = beta(iatom,jjb); + if (j2 == j) betaj = 3*beta(jjb,iatom); + else betaj = 2*beta(jjb,iatom); + } else betaj = beta(jjb,iatom); } else if (j >= j2) { const int jjb = idxb_block(j,j2,j1); - if (j2 == j) betaj = 2*beta(iatom,jjb)*(j1+1)/(j+1.0); - else betaj = beta(iatom,jjb)*(j1+1)/(j+1.0); + if (j2 == j) betaj = 2*beta(jjb,iatom)*(j1+1)/(j+1.0); + else betaj = beta(jjb,iatom)*(j1+1)/(j+1.0); } else { const int jjb = idxb_block(j2,j,j1); - betaj = beta(iatom,jjb)*(j1+1)/(j+1.0); + betaj = beta(jjb,iatom)*(j1+1)/(j+1.0); } - Kokkos::atomic_add(&(ylist(iatom,jju).re), betaj*ztmp_r); - Kokkos::atomic_add(&(ylist(iatom,jju).im), betaj*ztmp_i); + Kokkos::atomic_add(&(ylist(jju,iatom).re), betaj*ztmp_r); + Kokkos::atomic_add(&(ylist(jju,iatom).im), betaj*ztmp_i); } /* ---------------------------------------------------------------------- @@ -441,18 +516,81 @@ template<class DeviceType> KOKKOS_INLINE_FUNCTION void SNAKokkos<DeviceType>::compute_deidrj(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int iatom, int jnbor) { - t_scalar3<double> sum; + t_scalar3<double> final_sum; + // Like in ComputeUi/ComputeDuidrj, regular loop over j. + for (int j = 0; j <= twojmax; j++) { + int jju = idxu_block(j); + + // Flatten loop over ma, mb, reduce w/in + + const int n_ma = j+1; + // for (int mb = 0; 2*mb <= j; mb++) + const int n_mb = j/2+1; + + const int total_iters = n_ma * n_mb; + + t_scalar3<double> sum; + + //for (int m = 0; m < total_iters; m++) { + Kokkos::parallel_reduce(Kokkos::ThreadVectorRange(team, total_iters), + [&] (const int m, t_scalar3<double>& sum_tmp) { + + // ma fast, mb slow + int ma = m % n_ma; + int mb = m / n_ma; + + // get index + const int jju_index = jju+mb+mb*j+ma; + + // get ylist, rescale last element by 0.5 + SNAcomplex y_local = ylist(jju_index,iatom); + + const SNAcomplex du_x = dulist(jju_index,iatom,jnbor,0); + const SNAcomplex du_y = dulist(jju_index,iatom,jnbor,1); + const SNAcomplex du_z = dulist(jju_index,iatom,jnbor,2); + + if (j % 2 == 0 && 2*mb == j) { + if (ma == mb) { y_local = 0.5*y_local; } + else if (ma > mb) { y_local = { 0., 0. }; } + // else the ma < mb gets "double counted", cancelling the 0.5. + } + + sum_tmp.x += du_x.re * y_local.re + du_x.im * y_local.im; + sum_tmp.y += du_y.re * y_local.re + du_y.im * y_local.im; + sum_tmp.z += du_z.re * y_local.re + du_z.im * y_local.im; + + }, sum); // end loop over flattened ma,mb + + final_sum.x += sum.x; + final_sum.y += sum.y; + final_sum.z += sum.z; + } + + Kokkos::single(Kokkos::PerThread(team), [&] () { + dedr(iatom,jnbor,0) = final_sum.x*2.0; + dedr(iatom,jnbor,1) = final_sum.y*2.0; + dedr(iatom,jnbor,2) = final_sum.z*2.0; + }); + +} + +template<class DeviceType> +KOKKOS_INLINE_FUNCTION +void SNAKokkos<DeviceType>::compute_deidrj_cpu(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int iatom, int jnbor) +{ + t_scalar3<double> final_sum; + + //for(int j = 0; j <= twojmax; j++) { Kokkos::parallel_reduce(Kokkos::ThreadVectorRange(team,twojmax+1), [&] (const int& j, t_scalar3<double>& sum_tmp) { - //for(int j = 0; j <= twojmax; j++) { int jju = idxu_block[j]; for(int mb = 0; 2*mb < j; mb++) for(int ma = 0; ma <= j; ma++) { - sum_tmp.x += dulist(iatom,jnbor,jju,0).re * ylist(iatom,jju).re + dulist(iatom,jnbor,jju,0).im * ylist(iatom,jju).im; - sum_tmp.y += dulist(iatom,jnbor,jju,1).re * ylist(iatom,jju).re + dulist(iatom,jnbor,jju,1).im * ylist(iatom,jju).im; - sum_tmp.z += dulist(iatom,jnbor,jju,2).re * ylist(iatom,jju).re + dulist(iatom,jnbor,jju,2).im * ylist(iatom,jju).im; + sum_tmp.x += dulist(jju,iatom,jnbor,0).re * ylist(jju,iatom).re + dulist(jju,iatom,jnbor,0).im * ylist(jju,iatom).im; + sum_tmp.y += dulist(jju,iatom,jnbor,1).re * ylist(jju,iatom).re + dulist(jju,iatom,jnbor,1).im * ylist(jju,iatom).im; + sum_tmp.z += dulist(jju,iatom,jnbor,2).re * ylist(jju,iatom).re + dulist(jju,iatom,jnbor,2).im * ylist(jju,iatom).im; jju++; } //end loop over ma mb @@ -462,25 +600,24 @@ void SNAKokkos<DeviceType>::compute_deidrj(const typename Kokkos::TeamPolicy<Dev int mb = j/2; for(int ma = 0; ma < mb; ma++) { - sum_tmp.x += dulist(iatom,jnbor,jju,0).re * ylist(iatom,jju).re + dulist(iatom,jnbor,jju,0).im * ylist(iatom,jju).im; - sum_tmp.y += dulist(iatom,jnbor,jju,1).re * ylist(iatom,jju).re + dulist(iatom,jnbor,jju,1).im * ylist(iatom,jju).im; - sum_tmp.z += dulist(iatom,jnbor,jju,2).re * ylist(iatom,jju).re + dulist(iatom,jnbor,jju,2).im * ylist(iatom,jju).im; + sum_tmp.x += dulist(jju,iatom,jnbor,0).re * ylist(jju,iatom).re + dulist(jju,iatom,jnbor,0).im * ylist(jju,iatom).im; + sum_tmp.y += dulist(jju,iatom,jnbor,1).re * ylist(jju,iatom).re + dulist(jju,iatom,jnbor,1).im * ylist(jju,iatom).im; + sum_tmp.z += dulist(jju,iatom,jnbor,2).re * ylist(jju,iatom).re + dulist(jju,iatom,jnbor,2).im * ylist(jju,iatom).im; jju++; } //int ma = mb; - sum_tmp.x += (dulist(iatom,jnbor,jju,0).re * ylist(iatom,jju).re + dulist(iatom,jnbor,jju,0).im * ylist(iatom,jju).im)*0.5; - sum_tmp.y += (dulist(iatom,jnbor,jju,1).re * ylist(iatom,jju).re + dulist(iatom,jnbor,jju,1).im * ylist(iatom,jju).im)*0.5; - sum_tmp.z += (dulist(iatom,jnbor,jju,2).re * ylist(iatom,jju).re + dulist(iatom,jnbor,jju,2).im * ylist(iatom,jju).im)*0.5; + sum_tmp.x += (dulist(jju,iatom,jnbor,0).re * ylist(jju,iatom).re + dulist(jju,iatom,jnbor,0).im * ylist(jju,iatom).im)*0.5; + sum_tmp.y += (dulist(jju,iatom,jnbor,1).re * ylist(jju,iatom).re + dulist(jju,iatom,jnbor,1).im * ylist(jju,iatom).im)*0.5; + sum_tmp.z += (dulist(jju,iatom,jnbor,2).re * ylist(jju,iatom).re + dulist(jju,iatom,jnbor,2).im * ylist(jju,iatom).im)*0.5; } // end if jeven - },sum); // end loop over j - //} + },final_sum); // end loop over j Kokkos::single(Kokkos::PerThread(team), [&] () { - dedr(iatom,jnbor,0) = sum.x*2.0; - dedr(iatom,jnbor,1) = sum.y*2.0; - dedr(iatom,jnbor,2) = sum.z*2.0; + dedr(iatom,jnbor,0) = final_sum.x*2.0; + dedr(iatom,jnbor,1) = final_sum.y*2.0; + dedr(iatom,jnbor,2) = final_sum.z*2.0; }); } @@ -524,8 +661,8 @@ void SNAKokkos<DeviceType>::compute_bi(const typename Kokkos::TeamPolicy<DeviceT const int jjz_index = jjz+mb*(j+1)+ma; if (2*mb == j) return; sum += - ulisttot(iatom,jju_index).re * zlist(iatom,jjz_index).re + - ulisttot(iatom,jju_index).im * zlist(iatom,jjz_index).im; + ulisttot(jju_index,iatom).re * zlist(jjz_index,iatom).re + + ulisttot(jju_index,iatom).im * zlist(jjz_index,iatom).im; },sumzu_temp); // end loop over ma, mb sumzu += sumzu_temp; @@ -539,8 +676,8 @@ void SNAKokkos<DeviceType>::compute_bi(const typename Kokkos::TeamPolicy<DeviceT const int jju_index = jju+(mb-1)*(j+1)+(j+1)+ma; const int jjz_index = jjz+(mb-1)*(j+1)+(j+1)+ma; sum += - ulisttot(iatom,jju_index).re * zlist(iatom,jjz_index).re + - ulisttot(iatom,jju_index).im * zlist(iatom,jjz_index).im; + ulisttot(jju_index,iatom).re * zlist(jjz_index,iatom).re + + ulisttot(jju_index,iatom).im * zlist(jjz_index,iatom).im; },sumzu_temp); // end loop over ma sumzu += sumzu_temp; @@ -548,8 +685,8 @@ void SNAKokkos<DeviceType>::compute_bi(const typename Kokkos::TeamPolicy<DeviceT const int jju_index = jju+(mb-1)*(j+1)+(j+1)+ma; const int jjz_index = jjz+(mb-1)*(j+1)+(j+1)+ma; sumzu += 0.5* - (ulisttot(iatom,jju_index).re * zlist(iatom,jjz_index).re + - ulisttot(iatom,jju_index).im * zlist(iatom,jjz_index).im); + (ulisttot(jju_index,iatom).re * zlist(jjz_index,iatom).re + + ulisttot(jju_index,iatom).im * zlist(jjz_index,iatom).im); } // end if jeven Kokkos::single(Kokkos::PerThread(team), [&] () { @@ -560,7 +697,7 @@ void SNAKokkos<DeviceType>::compute_bi(const typename Kokkos::TeamPolicy<DeviceT if (bzero_flag) sumzu -= bzero[j]; - blist(iatom,jjb) = sumzu; + blist(jjb,iatom) = sumzu; }); }); //} // end loop over j @@ -593,39 +730,26 @@ void SNAKokkos<DeviceType>::compute_duidrj(const typename Kokkos::TeamPolicy<Dev compute_duarray(team, iatom, jnbor, x, y, z, z0, r, dz0dr, wj(iatom,jnbor), rcutij(iatom,jnbor)); } -/* ---------------------------------------------------------------------- */ - template<class DeviceType> KOKKOS_INLINE_FUNCTION -void SNAKokkos<DeviceType>::zero_uarraytot(const int& iatom) +void SNAKokkos<DeviceType>::compute_duidrj_cpu(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int iatom, int jnbor) { - { - //Kokkos::parallel_for(Kokkos::ThreadVectorRange(team,ulisttot.extent(1)), - // [&] (const int& i) { - for (int i = 0; i < ulisttot.extent(1); i++) { - ulisttot(iatom,i).re = 0.0; - ulisttot(iatom,i).im = 0.0; - } - //}); - } -} + double rsq, r, x, y, z, z0, theta0, cs, sn; + double dz0dr; -/* ---------------------------------------------------------------------- */ + x = rij(iatom,jnbor,0); + y = rij(iatom,jnbor,1); + z = rij(iatom,jnbor,2); + rsq = x * x + y * y + z * z; + r = sqrt(rsq); + double rscale0 = rfac0 * MY_PI / (rcutij(iatom,jnbor) - rmin0); + theta0 = (r - rmin0) * rscale0; + cs = cos(theta0); + sn = sin(theta0); + z0 = r * cs / sn; + dz0dr = z0 / r - (r*rscale0) * (rsq + z0 * z0) / rsq; -template<class DeviceType> -KOKKOS_INLINE_FUNCTION -void SNAKokkos<DeviceType>::addself_uarraytot(const int& iatom, const double& wself_in) -{ - //Kokkos::parallel_for(Kokkos::ThreadVectorRange(team,twojmax+1), - // [&] (const int& j) { - for (int j = 0; j <= twojmax; j++) { - int jju = idxu_block[j]; - for (int ma = 0; ma <= j; ma++) { - ulisttot(iatom,jju).re = wself_in; - ulisttot(iatom,jju).im = 0.0; - jju += j+2; - } - }//}); + compute_duarray_cpu(team, iatom, jnbor, x, y, z, z0, r, dz0dr, wj(iatom,jnbor), rcutij(iatom,jnbor)); } /* ---------------------------------------------------------------------- @@ -639,10 +763,10 @@ void SNAKokkos<DeviceType>::add_uarraytot(const typename Kokkos::TeamPolicy<Devi { const double sfac = compute_sfac(r, rcut) * wj; - Kokkos::parallel_for(Kokkos::ThreadVectorRange(team,ulisttot.extent(1)), + Kokkos::parallel_for(Kokkos::ThreadVectorRange(team,ulisttot.extent(0)), [&] (const int& i) { - Kokkos::atomic_add(&(ulisttot(iatom,i).re), sfac * ulist(iatom,jnbor,i).re); - Kokkos::atomic_add(&(ulisttot(iatom,i).im), sfac * ulist(iatom,jnbor,i).im); + Kokkos::atomic_add(&(ulisttot(i,iatom).re), sfac * ulist(i,iatom,jnbor).re); + Kokkos::atomic_add(&(ulisttot(i,iatom).im), sfac * ulist(i,iatom,jnbor).im); }); } @@ -655,6 +779,119 @@ KOKKOS_INLINE_FUNCTION void SNAKokkos<DeviceType>::compute_uarray(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int iatom, int jnbor, double x, double y, double z, double z0, double r) +{ + // define size of scratch memory buffer + const int max_m_tile = (twojmax+1)*(twojmax+1); + const int team_rank = team.team_rank(); + + // get scratch memory double buffer + SNAcomplex* buf1 = (SNAcomplex*)team.team_shmem( ).get_shmem(team.team_size()*max_m_tile*sizeof(SNAcomplex), 0); + SNAcomplex* buf2 = (SNAcomplex*)team.team_shmem( ).get_shmem(team.team_size()*max_m_tile*sizeof(SNAcomplex), 0); + + // compute Cayley-Klein parameters for unit quaternion, + // pack into complex number + double r0inv = 1.0 / sqrt(r * r + z0 * z0); + SNAcomplex a = { r0inv * z0, -r0inv * z }; + SNAcomplex b = { r0inv * y, -r0inv * x }; + + // VMK Section 4.8.2 + + // All writes go to global memory and shared memory + // so we can avoid all global memory reads + Kokkos::single(Kokkos::PerThread(team), [=]() { + ulist(0,iatom,jnbor) = { 1.0, 0.0 }; + buf1[max_m_tile*team_rank] = {1.,0.}; + }); + + for (int j = 1; j <= twojmax; j++) { + const int jju = idxu_block[j]; + int jjup = idxu_block[j-1]; + + // fill in left side of matrix layer from previous layer + + // Flatten loop over ma, mb, need to figure out total + // number of iterations + + // for (int ma = 0; ma <= j; ma++) + const int n_ma = j+1; + // for (int mb = 0; 2*mb <= j; mb++) + const int n_mb = j/2+1; + + const int total_iters = n_ma * n_mb; + + //for (int m = 0; m < total_iters; m++) { + Kokkos::parallel_for(Kokkos::ThreadVectorRange(team, total_iters), + [&] (const int m) { + + // ma fast, mb slow + int ma = m % n_ma; + int mb = m / n_ma; + + // index into global memory array + const int jju_index = jju+mb+mb*j+ma; + + // index into shared memory buffer for previous level + const int jju_shared_idx = max_m_tile*team_rank+mb+mb*j+ma; + + // index into shared memory buffer for next level + const int jjup_shared_idx = max_m_tile*team_rank+mb*j+ma; + + SNAcomplex u_accum = {0., 0.}; + + // VMK recursion relation: grab contribution which is multiplied by a* + const double rootpq1 = rootpqarray(j - ma, j - mb); + const SNAcomplex u_up1 = (ma < j)?rootpq1*buf1[jjup_shared_idx]:SNAcomplex(0.,0.); + caconjxpy(a, u_up1, u_accum); + + // VMK recursion relation: grab contribution which is multiplied by b* + const double rootpq2 = -rootpqarray(ma, j - mb); + const SNAcomplex u_up2 = (ma > 0)?rootpq2*buf1[jjup_shared_idx-1]:SNAcomplex(0.,0.); + caconjxpy(b, u_up2, u_accum); + + ulist(jju_index,iatom,jnbor) = u_accum; + + // We no longer accumulate into ulisttot in this kernel. + // Instead, we have a separate kernel which avoids atomics. + // Running two separate kernels is net faster. + + // back up into shared memory for next iter + if (j != twojmax) buf2[jju_shared_idx] = u_accum; + + // copy left side to right side with inversion symmetry VMK 4.4(2) + // u[ma-j,mb-j] = (-1)^(ma-mb)*Conj([u[ma,mb)) + // We can avoid this if we're on the last row for an integer j + if (!(n_ma % 2 == 1 && (mb+1) == n_mb)) { + + int sign_factor = ((ma%2==0)?1:-1)*(mb%2==0?1:-1); + const int jjup_flip = jju+(j+1-mb)*(j+1)-(ma+1); + const int jju_shared_flip = max_m_tile*team_rank+(j+1-mb)*(j+1)-(ma+1); + + if (sign_factor == 1) { + u_accum.im = -u_accum.im; + } else { + u_accum.re = -u_accum.re; + } + ulist(jjup_flip,iatom,jnbor) = u_accum; + if (j != twojmax) buf2[jju_shared_flip] = u_accum; + } + }); + // In CUDA backend, + // ThreadVectorRange has a __syncwarp (appropriately masked for + // vector lengths < 32) implicit at the end + + // swap double buffers + auto tmp = buf1; buf1 = buf2; buf2 = tmp; + //std::swap(buf1, buf2); // throws warnings + + } +} + +// CPU version +template<class DeviceType> +KOKKOS_INLINE_FUNCTION +void SNAKokkos<DeviceType>::compute_uarray_cpu(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int iatom, int jnbor, + double x, double y, double z, + double z0, double r) { double r0inv; double a_r, b_r, a_i, b_i; @@ -670,8 +907,8 @@ void SNAKokkos<DeviceType>::compute_uarray(const typename Kokkos::TeamPolicy<Dev // VMK Section 4.8.2 - ulist(iatom,jnbor,0).re = 1.0; - ulist(iatom,jnbor,0).im = 0.0; + ulist(0,iatom,jnbor).re = 1.0; + ulist(0,iatom,jnbor).im = 0.0; for (int j = 1; j <= twojmax; j++) { int jju = idxu_block[j]; @@ -683,31 +920,31 @@ void SNAKokkos<DeviceType>::compute_uarray(const typename Kokkos::TeamPolicy<Dev [&] (const int& mb) { //for (int mb = 0; 2*mb <= j; mb++) { const int jju_index = jju+mb+mb*j; - ulist(iatom,jnbor,jju_index).re = 0.0; - ulist(iatom,jnbor,jju_index).im = 0.0; + ulist(jju_index,iatom,jnbor).re = 0.0; + ulist(jju_index,iatom,jnbor).im = 0.0; for (int ma = 0; ma < j; ma++) { const int jju_index = jju+mb+mb*j+ma; const int jjup_index = jjup+mb*j+ma; rootpq = rootpqarray(j - ma,j - mb); - ulist(iatom,jnbor,jju_index).re += + ulist(jju_index,iatom,jnbor,jju).re += rootpq * - (a_r * ulist(iatom,jnbor,jjup_index).re + - a_i * ulist(iatom,jnbor,jjup_index).im); - ulist(iatom,jnbor,jju_index).im += + (a_r * ulist(jjup_index,iatom,jnbor).re + + a_i * ulist(jjup_index,iatom,jnbor).im); + ulist(jju_index,iatom,jnbor).im += rootpq * - (a_r * ulist(iatom,jnbor,jjup_index).im - - a_i * ulist(iatom,jnbor,jjup_index).re); + (a_r * ulist(jjup_index,iatom,jnbor).im - + a_i * ulist(jjup_index,iatom,jnbor).re); rootpq = rootpqarray(ma + 1,j - mb); - ulist(iatom,jnbor,jju_index+1).re = + ulist(jju_index+1,iatom,jnbor).re = -rootpq * - (b_r * ulist(iatom,jnbor,jjup_index).re + - b_i * ulist(iatom,jnbor,jjup_index).im); - ulist(iatom,jnbor,jju_index+1).im = + (b_r * ulist(jjup_index,iatom,jnbor).re + + b_i * ulist(jjup_index,iatom,jnbor).im); + ulist(jju_index+1,iatom,jnbor).im = -rootpq * - (b_r * ulist(iatom,jnbor,jjup_index).im - - b_i * ulist(iatom,jnbor,jjup_index).re); + (b_r * ulist(jjup_index,iatom,jnbor).im - + b_i * ulist(jjup_index,iatom,jnbor).re); } }); @@ -725,11 +962,11 @@ void SNAKokkos<DeviceType>::compute_uarray(const typename Kokkos::TeamPolicy<Dev const int jju_index = jju+mb*(j+1)+ma; const int jjup_index = jjup-mb*(j+1)-ma; if (mapar == 1) { - ulist(iatom,jnbor,jjup_index).re = ulist(iatom,jnbor,jju_index).re; - ulist(iatom,jnbor,jjup_index).im = -ulist(iatom,jnbor,jju_index).im; + ulist(jjup_index,iatom,jnbor).re = ulist(jju_index,iatom,jnbor).re; + ulist(jjup_index,iatom,jnbor).im = -ulist(jju_index,iatom,jnbor).im; } else { - ulist(iatom,jnbor,jjup_index).re = -ulist(iatom,jnbor,jju_index).re; - ulist(iatom,jnbor,jjup_index).im = ulist(iatom,jnbor,jju_index).im; + ulist(jjup_index,iatom,jnbor).re = -ulist(jju_index,iatom,jnbor).re; + ulist(jjup_index,iatom,jnbor).im = ulist(jju_index,iatom,jnbor).im; } mapar = -mapar; } @@ -737,12 +974,6 @@ void SNAKokkos<DeviceType>::compute_uarray(const typename Kokkos::TeamPolicy<Dev } } -template<class DeviceType> -void SNAKokkos<DeviceType>::transpose_ulisttot() -{ - UlisttotHelper<typename DeviceType::array_layout,decltype(ulisttot_lr),decltype(ulisttot)>::transpose(ulisttot_lr,ulisttot); -} - /* ---------------------------------------------------------------------- compute derivatives of Wigner U-functions for one neighbor see comments in compute_uarray() @@ -755,7 +986,150 @@ void SNAKokkos<DeviceType>::compute_duarray(const typename Kokkos::TeamPolicy<De double z0, double r, double dz0dr, double wj, double rcut) { - double r0inv; + + // get shared memory offset + const int max_m_tile = (twojmax+1)*(twojmax+1); + const int team_rank = team.team_rank(); + + // double buffer for ulist + SNAcomplex* ulist_buf1 = (SNAcomplex*)team.team_shmem( ).get_shmem(team.team_size()*max_m_tile*sizeof(SNAcomplex), 0); + SNAcomplex* ulist_buf2 = (SNAcomplex*)team.team_shmem( ).get_shmem(team.team_size()*max_m_tile*sizeof(SNAcomplex), 0); + + // double buffer for dulist + SNAcomplex* dulist_buf1 = (SNAcomplex*)team.team_shmem( ).get_shmem(team.team_size()*max_m_tile*sizeof(SNAcomplex), 0); + SNAcomplex* dulist_buf2 = (SNAcomplex*)team.team_shmem( ).get_shmem(team.team_size()*max_m_tile*sizeof(SNAcomplex), 0); + + const double sfac = wj * compute_sfac(r, rcut); + const double dsfac = wj * compute_dsfac(r, rcut); + + const double rinv = 1.0 / r; + + // extract a single unit vector + const double u = (dir == 0 ? x * rinv : dir == 1 ? y * rinv : z * rinv); + + // Compute Cayley-Klein parameters for unit quaternion + + const double r0inv = 1.0 / sqrt(r * r + z0 * z0); + + const SNAcomplex a = { r0inv * z0, -r0inv * z }; + const SNAcomplex b = { r0inv * y, -r0inv * x }; + + const double dr0invdr = -r0inv * r0inv * r0inv * (r + z0 * dz0dr); + const double dr0inv = dr0invdr * u; + const double dz0 = dz0dr * u; + + const SNAcomplex da = { dz0 * r0inv + z0 * dr0inv, + - z * dr0inv + (dir == 2 ? - r0inv : 0.) }; + + const SNAcomplex db = { y * dr0inv + (dir==1?r0inv:0.), + -x * dr0inv + (dir==0?-r0inv:0.) }; + + // single has a warp barrier at the end + Kokkos::single(Kokkos::PerThread(team), [=]() { + dulist(0,iatom,jnbor,dir) = { dsfac * u, 0. }; // fold in chain rule here + ulist_buf1[max_m_tile*team_rank] = {1., 0.}; + dulist_buf1[max_m_tile*team_rank] = {0., 0.}; + }); + + + for (int j = 1; j <= twojmax; j++) { + int jju = idxu_block[j]; + int jjup = idxu_block[j-1]; + + // flatten the loop over ma,mb + + // for (int ma = 0; ma <= j; ma++) + const int n_ma = j+1; + // for (int mb = 0; 2*mb <= j; mb++) + const int n_mb = j/2+1; + + const int total_iters = n_ma * n_mb; + + //for (int m = 0; m < total_iters; m++) { + Kokkos::parallel_for(Kokkos::ThreadVectorRange(team, total_iters), + [&] (const int m) { + + // ma fast, mb slow + int ma = m % n_ma; + int mb = m / n_ma; + + const int jju_index = jju+mb+mb*j+ma; + + // index into shared memory + const int jju_shared_idx = max_m_tile*team_rank+mb+mb*j+ma; + const int jjup_shared_idx = max_m_tile*team_rank+mb*j+ma; + + // Need to compute and accumulate both u and du (mayhaps, we could probably + // balance some read and compute by reading u each time). + SNAcomplex u_accum = { 0., 0. }; + SNAcomplex du_accum = { 0., 0. }; + + const double rootpq1 = rootpqarray(j - ma, j - mb); + const SNAcomplex u_up1 = (ma < j)?rootpq1*ulist_buf1[jjup_shared_idx]:SNAcomplex(0.,0.); + caconjxpy(a, u_up1, u_accum); + + const double rootpq2 = -rootpqarray(ma, j - mb); + const SNAcomplex u_up2 = (ma > 0)?rootpq2*ulist_buf1[jjup_shared_idx-1]:SNAcomplex(0.,0.); + caconjxpy(b, u_up2, u_accum); + + // No need to save u_accum to global memory + if (j != twojmax) ulist_buf2[jju_shared_idx] = u_accum; + + // Next, spin up du_accum + const SNAcomplex du_up1 = (ma < j) ? rootpq1*dulist_buf1[jjup_shared_idx] : SNAcomplex(0.,0.); + caconjxpy(da, u_up1, du_accum); + caconjxpy(a, du_up1, du_accum); + + const SNAcomplex du_up2 = (ma > 0) ? rootpq2*dulist_buf1[jjup_shared_idx-1] : SNAcomplex(0.,0.); + caconjxpy(db, u_up2, du_accum); + caconjxpy(b, du_up2, du_accum); + + dulist(jju_index,iatom,jnbor,dir) = ((dsfac * u)*u_accum) + (sfac*du_accum); + + if (j != twojmax) dulist_buf2[jju_shared_idx] = du_accum; + + // copy left side to right side with inversion symmetry VMK 4.4(2) + // u[ma-j][mb-j] = (-1)^(ma-mb)*Conj([u[ma][mb]) + + int sign_factor = ((ma%2==0)?1:-1)*(mb%2==0?1:-1); + const int jjup_flip = jju+(j+1-mb)*(j+1)-(ma+1); + const int jju_shared_flip = max_m_tile*team_rank+(j+1-mb)*(j+1)-(ma+1); + + if (sign_factor == 1) { + //ulist_alt(iatom,jnbor,jjup_flip).re = u_accum.re; + //ulist_alt(iatom,jnbor,jjup_flip).im = -u_accum.im; + u_accum.im = -u_accum.im; + du_accum.im = -du_accum.im; + } else { + //ulist_alt(iatom,jnbor,jjup_flip).re = -u_accum.re; + //ulist_alt(iatom,jnbor,jjup_flip).im = u_accum.im; + u_accum.re = -u_accum.re; + du_accum.re = -du_accum.re; + } + + dulist(jjup_flip,iatom,jnbor,dir) = ((dsfac * u)*u_accum) + (sfac*du_accum); + + if (j != twojmax) { + ulist_buf2[jju_shared_flip] = u_accum; + dulist_buf2[jju_shared_flip] = du_accum; + } + + }); + + // swap buffers + auto tmp = ulist_buf1; ulist_buf1 = ulist_buf2; ulist_buf2 = tmp; + tmp = dulist_buf1; dulist_buf1 = dulist_buf2; dulist_buf2 = tmp; + } +} + +template<class DeviceType> +KOKKOS_INLINE_FUNCTION +void SNAKokkos<DeviceType>::compute_duarray_cpu(const typename Kokkos::TeamPolicy<DeviceType>::member_type& team, int iatom, int jnbor, + double x, double y, double z, + double z0, double r, double dz0dr, + double wj, double rcut) +{ +double r0inv; double a_r, a_i, b_r, b_i; double da_r[3], da_i[3], db_r[3], db_i[3]; double dz0[3], dr0inv[3], dr0invdr; @@ -772,7 +1146,7 @@ void SNAKokkos<DeviceType>::compute_duarray(const typename Kokkos::TeamPolicy<De b_r = y * r0inv; b_i = -x * r0inv; - dr0invdr = -pow(r0inv, 3.0) * (r + z0 * dz0dr); + dr0invdr = -r0inv * r0inv * r0inv * (r + z0 * dz0dr); dr0inv[0] = dr0invdr * ux; dr0inv[1] = dr0invdr * uy; @@ -797,12 +1171,12 @@ void SNAKokkos<DeviceType>::compute_duarray(const typename Kokkos::TeamPolicy<De db_i[0] += -r0inv; db_r[1] += r0inv; - dulist(iatom,jnbor,0,0).re = 0.0; - dulist(iatom,jnbor,0,1).re = 0.0; - dulist(iatom,jnbor,0,2).re = 0.0; - dulist(iatom,jnbor,0,0).im = 0.0; - dulist(iatom,jnbor,0,1).im = 0.0; - dulist(iatom,jnbor,0,2).im = 0.0; + dulist(0,iatom,jnbor,0).re = 0.0; + dulist(0,iatom,jnbor,1).re = 0.0; + dulist(0,iatom,jnbor,2).re = 0.0; + dulist(0,iatom,jnbor,0).im = 0.0; + dulist(0,iatom,jnbor,1).im = 0.0; + dulist(0,iatom,jnbor,2).im = 0.0; for (int j = 1; j <= twojmax; j++) { int jju = idxu_block[j]; @@ -811,42 +1185,42 @@ void SNAKokkos<DeviceType>::compute_duarray(const typename Kokkos::TeamPolicy<De [&] (const int& mb) { //for (int mb = 0; 2*mb <= j; mb++) { const int jju_index = jju+mb+mb*j; - dulist(iatom,jnbor,jju_index,0).re = 0.0; - dulist(iatom,jnbor,jju_index,1).re = 0.0; - dulist(iatom,jnbor,jju_index,2).re = 0.0; - dulist(iatom,jnbor,jju_index,0).im = 0.0; - dulist(iatom,jnbor,jju_index,1).im = 0.0; - dulist(iatom,jnbor,jju_index,2).im = 0.0; + dulist(jju_index,iatom,jnbor,0).re = 0.0; + dulist(jju_index,iatom,jnbor,1).re = 0.0; + dulist(jju_index,iatom,jnbor,2).re = 0.0; + dulist(jju_index,iatom,jnbor,0).im = 0.0; + dulist(jju_index,iatom,jnbor,1).im = 0.0; + dulist(jju_index,iatom,jnbor,2).im = 0.0; for (int ma = 0; ma < j; ma++) { const int jju_index = jju+mb+mb*j+ma; const int jjup_index = jjup+mb*j+ma; rootpq = rootpqarray(j - ma,j - mb); for (int k = 0; k < 3; k++) { - dulist(iatom,jnbor,jju_index,k).re += - rootpq * (da_r[k] * ulist(iatom,jnbor,jjup_index).re + - da_i[k] * ulist(iatom,jnbor,jjup_index).im + - a_r * dulist(iatom,jnbor,jjup_index,k).re + - a_i * dulist(iatom,jnbor,jjup_index,k).im); - dulist(iatom,jnbor,jju_index,k).im += - rootpq * (da_r[k] * ulist(iatom,jnbor,jjup_index).im - - da_i[k] * ulist(iatom,jnbor,jjup_index).re + - a_r * dulist(iatom,jnbor,jjup_index,k).im - - a_i * dulist(iatom,jnbor,jjup_index,k).re); + dulist(jju_index,iatom,jnbor,k).re += + rootpq * (da_r[k] * ulist(jjup_index,iatom,jnbor).re + + da_i[k] * ulist(jjup_index,iatom,jnbor).im + + a_r * dulist(jjup_index,iatom,jnbor,k).re + + a_i * dulist(jjup_index,iatom,jnbor,k).im); + dulist(jju_index,iatom,jnbor,k).im += + rootpq * (da_r[k] * ulist(jjup_index,iatom,jnbor).im - + da_i[k] * ulist(jjup_index,iatom,jnbor).re + + a_r * dulist(jjup_index,iatom,jnbor,k).im - + a_i * dulist(jjup_index,iatom,jnbor,k).re); } rootpq = rootpqarray(ma + 1,j - mb); for (int k = 0; k < 3; k++) { - dulist(iatom,jnbor,jju_index+1,k).re = - -rootpq * (db_r[k] * ulist(iatom,jnbor,jjup_index).re + - db_i[k] * ulist(iatom,jnbor,jjup_index).im + - b_r * dulist(iatom,jnbor,jjup_index,k).re + - b_i * dulist(iatom,jnbor,jjup_index,k).im); - dulist(iatom,jnbor,jju_index+1,k).im = - -rootpq * (db_r[k] * ulist(iatom,jnbor,jjup_index).im - - db_i[k] * ulist(iatom,jnbor,jjup_index).re + - b_r * dulist(iatom,jnbor,jjup_index,k).im - - b_i * dulist(iatom,jnbor,jjup_index,k).re); + dulist(jju_index+1,iatom,jnbor,k).re = + -rootpq * (db_r[k] * ulist(jjup_index,iatom,jnbor).re + + db_i[k] * ulist(jjup_index,iatom,jnbor).im + + b_r * dulist(jjup_index,iatom,jnbor,k).re + + b_i * dulist(jjup_index,iatom,jnbor,k).im); + dulist(jju_index+1,iatom,jnbor,k).im = + -rootpq * (db_r[k] * ulist(jjup_index,iatom,jnbor).im - + db_i[k] * ulist(jjup_index,iatom,jnbor).re + + b_r * dulist(jjup_index,iatom,jnbor,k).im - + b_i * dulist(jjup_index,iatom,jnbor,k).re); } } }); @@ -866,13 +1240,13 @@ void SNAKokkos<DeviceType>::compute_duarray(const typename Kokkos::TeamPolicy<De const int jjup_index = jjup-mb*(j+1)-ma; if (mapar == 1) { for (int k = 0; k < 3; k++) { - dulist(iatom,jnbor,jjup_index,k).re = dulist(iatom,jnbor,jju_index,k).re; - dulist(iatom,jnbor,jjup_index,k).im = -dulist(iatom,jnbor,jju_index,k).im; + dulist(jjup_index,iatom,jnbor,k).re = dulist(jju_index,iatom,jnbor,k).re; + dulist(jjup_index,iatom,jnbor,k).im = -dulist(jju_index,iatom,jnbor,k).im; } } else { for (int k = 0; k < 3; k++) { - dulist(iatom,jnbor,jjup_index,k).re = -dulist(iatom,jnbor,jju_index,k).re; - dulist(iatom,jnbor,jjup_index,k).im = dulist(iatom,jnbor,jju_index,k).im; + dulist(jjup_index,iatom,jnbor,k).re = -dulist(jju_index,iatom,jnbor,k).re; + dulist(jjup_index,iatom,jnbor,k).im = dulist(jju_index,iatom,jnbor,k).im; } } mapar = -mapar; @@ -890,18 +1264,18 @@ void SNAKokkos<DeviceType>::compute_duarray(const typename Kokkos::TeamPolicy<De int jju = idxu_block[j]; for (int mb = 0; 2*mb <= j; mb++) for (int ma = 0; ma <= j; ma++) { - dulist(iatom,jnbor,jju,0).re = dsfac * ulist(iatom,jnbor,jju).re * ux + - sfac * dulist(iatom,jnbor,jju,0).re; - dulist(iatom,jnbor,jju,0).im = dsfac * ulist(iatom,jnbor,jju).im * ux + - sfac * dulist(iatom,jnbor,jju,0).im; - dulist(iatom,jnbor,jju,1).re = dsfac * ulist(iatom,jnbor,jju).re * uy + - sfac * dulist(iatom,jnbor,jju,1).re; - dulist(iatom,jnbor,jju,1).im = dsfac * ulist(iatom,jnbor,jju).im * uy + - sfac * dulist(iatom,jnbor,jju,1).im; - dulist(iatom,jnbor,jju,2).re = dsfac * ulist(iatom,jnbor,jju).re * uz + - sfac * dulist(iatom,jnbor,jju,2).re; - dulist(iatom,jnbor,jju,2).im = dsfac * ulist(iatom,jnbor,jju).im * uz + - sfac * dulist(iatom,jnbor,jju,2).im; + dulist(jju,iatom,jnbor,0).re = dsfac * ulist(jju,iatom,jnbor).re * ux + + sfac * dulist(jju,iatom,jnbor,0).re; + dulist(jju,iatom,jnbor,0).im = dsfac * ulist(jju,iatom,jnbor).im * ux + + sfac * dulist(jju,iatom,jnbor,0).im; + dulist(jju,iatom,jnbor,1).re = dsfac * ulist(jju,iatom,jnbor).re * uy + + sfac * dulist(jju,iatom,jnbor,1).re; + dulist(jju,iatom,jnbor,1).im = dsfac * ulist(jju,iatom,jnbor).im * uy + + sfac * dulist(jju,iatom,jnbor,1).im; + dulist(jju,iatom,jnbor,2).re = dsfac * ulist(jju,iatom,jnbor).re * uz + + sfac * dulist(jju,iatom,jnbor,2).re; + dulist(jju,iatom,jnbor,2).im = dsfac * ulist(jju,iatom,jnbor).im * uz + + sfac * dulist(jju,iatom,jnbor,2).im; jju++; } @@ -1257,6 +1631,39 @@ double SNAKokkos<DeviceType>::compute_dsfac(double r, double rcut) return 0.0; } +/* ---------------------------------------------------------------------- */ + +// efficient complex FMA (i.e., y += a x) +template<class DeviceType> +KOKKOS_FORCEINLINE_FUNCTION +void SNAKokkos<DeviceType>::caxpy(const SNAcomplex& a, const SNAcomplex& x, SNAcomplex& y) { + y.re += a.re * x.re; + y.re -= a.im * x.im; + y.im += a.im * x.re; + y.im += a.re * x.im; +} + +/* ---------------------------------------------------------------------- */ + +// efficient complex FMA, conjugate of scalar (i.e.) y += (a.re - i a.im) x) +template<class DeviceType> +KOKKOS_FORCEINLINE_FUNCTION +void SNAKokkos<DeviceType>::caconjxpy(const SNAcomplex& a, const SNAcomplex& x, SNAcomplex& y) { + y.re += a.re * x.re; + y.re += a.im * x.im; + y.im -= a.im * x.re; + y.im += a.re * x.im; +} + +/* ---------------------------------------------------------------------- */ + +// set direction of batched Duidrj +template<class DeviceType> +KOKKOS_FORCEINLINE_FUNCTION +void SNAKokkos<DeviceType>::set_dir(int dir_) { + dir = dir_; +} + /* ---------------------------------------------------------------------- memory usage of arrays ------------------------------------------------------------------------- */ diff --git a/src/KSPACE/ewald_dipole.cpp b/src/KSPACE/ewald_dipole.cpp index d6a8aef9e3..c8267b461d 100644 --- a/src/KSPACE/ewald_dipole.cpp +++ b/src/KSPACE/ewald_dipole.cpp @@ -493,7 +493,7 @@ void EwaldDipole::compute(int eflag, int vflag) // sum global energy across Kspace vevs and add in volume-dependent term // taking the re-part of struct_fact_i x struct_fact_j - // substracting self energy and scaling + // subtracting self energy and scaling if (eflag_global) { for (k = 0; k < kcount; k++) { diff --git a/src/KSPACE/ewald_dipole_spin.cpp b/src/KSPACE/ewald_dipole_spin.cpp index f9a2a3f08d..4f19c2580f 100644 --- a/src/KSPACE/ewald_dipole_spin.cpp +++ b/src/KSPACE/ewald_dipole_spin.cpp @@ -472,7 +472,7 @@ void EwaldDipoleSpin::compute(int eflag, int vflag) // sum global energy across Kspace vevs and add in volume-dependent term // taking the re-part of struct_fact_i x struct_fact_j - // substracting self energy and scaling + // subtracting self energy and scaling if (eflag_global) { for (k = 0; k < kcount; k++) { diff --git a/src/KSPACE/msm_cg.cpp b/src/KSPACE/msm_cg.cpp index 9119d51878..97e423a6e9 100644 --- a/src/KSPACE/msm_cg.cpp +++ b/src/KSPACE/msm_cg.cpp @@ -192,7 +192,7 @@ void MSMCG::compute(int eflag, int vflag) } - // compute direct interation for top grid level for non-periodic + // compute direct interaction for top grid level for non-periodic // and for second from top grid level for periodic if (active_flag[levels-1]) { diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index cd0a1bf47a..f7ed168395 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -818,7 +818,7 @@ void PPPM::allocate() "pppm:drho_coeff"); // create 2 FFTs and a Remap - // 1st FFT keeps data in FFT decompostion + // 1st FFT keeps data in FFT decomposition // 2nd FFT returns data in 3d brick decomposition // remap takes data from 3d brick to FFT decomposition @@ -2565,7 +2565,7 @@ void PPPM::fieldforce_ad() eky *= hy_inv; ekz *= hz_inv; - // convert E-field to force and substract self forces + // convert E-field to force and subtract self forces const double qfactor = qqrd2e * scale; diff --git a/src/KSPACE/pppm_cg.cpp b/src/KSPACE/pppm_cg.cpp index bd23dedef1..25609f70fd 100644 --- a/src/KSPACE/pppm_cg.cpp +++ b/src/KSPACE/pppm_cg.cpp @@ -493,7 +493,7 @@ void PPPMCG::fieldforce_ad() eky *= hy_inv; ekz *= hz_inv; - // convert E-field to force and substract self forces + // convert E-field to force and subtract self forces const double qfactor = qqrd2e * scale; diff --git a/src/KSPACE/pppm_dipole.cpp b/src/KSPACE/pppm_dipole.cpp index 2d5f6ad981..f1151aee1d 100644 --- a/src/KSPACE/pppm_dipole.cpp +++ b/src/KSPACE/pppm_dipole.cpp @@ -619,7 +619,7 @@ void PPPMDipole::allocate() "pppm_dipole:drho_coeff"); // create 2 FFTs and a Remap - // 1st FFT keeps data in FFT decompostion + // 1st FFT keeps data in FFT decomposition // 2nd FFT returns data in 3d brick decomposition // remap takes data from 3d brick to FFT decomposition diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 0bb81f125e..81f96ad668 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -976,7 +976,7 @@ void PPPMDisp::compute(int eflag, int vflag) if (function[0]) { - //perfrom calculations for coulomb interactions only + //perform calculations for coulomb interactions only particle_map_c(delxinv, delyinv, delzinv, shift, part2grid, nupper, nlower, nxlo_out, nylo_out, nzlo_out, nxhi_out, nyhi_out, nzhi_out); @@ -1024,7 +1024,7 @@ void PPPMDisp::compute(int eflag, int vflag) } if (function[1]) { - //perfrom calculations for geometric mixing + //perform calculations for geometric mixing particle_map(delxinv_6, delyinv_6, delzinv_6, shift_6, part2grid_6, nupper_6, nlower_6, nxlo_out_6, nylo_out_6, nzlo_out_6, nxhi_out_6, nyhi_out_6, nzhi_out_6); make_rho_g(); @@ -1142,7 +1142,7 @@ void PPPMDisp::compute(int eflag, int vflag) } if (function[3]) { - //perfrom calculations if no mixing rule applies + //perform calculations if no mixing rule applies particle_map(delxinv_6, delyinv_6, delzinv_6, shift_6, part2grid_6, nupper_6, nlower_6, nxlo_out_6, nylo_out_6, nzlo_out_6, nxhi_out_6, nyhi_out_6, nzhi_out_6); @@ -1308,7 +1308,7 @@ void PPPMDisp::init_coeffs() // local pair coeffs Q[i][j] = 0.0; for (int i = 0; i < n; i++) Q[i][i] = 1.0; - // perfrom eigenvalue decomposition with QR algorithm + // perform eigenvalue decomposition with QR algorithm converged = qr_alg(A,Q,n); if (function[3] && !converged) { error->all(FLERR,"Matrix factorization to split dispersion coefficients failed"); @@ -1454,7 +1454,7 @@ int PPPMDisp::qr_alg(double **A, double **Q, int n) // allocate an auxiliary matrix Qi memory->create(Qi,n,n,"pppm/disp:Qi"); - // alllocate an auxillary matrices for the matrix multiplication + // alllocate an auxiliary matrices for the matrix multiplication memory->create(C,n,n,"pppm/disp:C"); memory->create(D,n,n,"pppm/disp:D"); memory->create(E,n,n,"pppm/disp:E"); @@ -3657,7 +3657,7 @@ void PPPMDisp::set_n_pppm_6() // initial value for the grid spacing h = h_x = h_y = h_z = 4.0/g_ewald_6; - // decrease grid spacing untill required precision is obtained + // decrease grid spacing until required precision is obtained int count = 0; while(1) { @@ -5760,7 +5760,7 @@ void PPPMDisp::fieldforce_c_ad() ekx *= hx_inv; eky *= hy_inv; ekz *= hz_inv; - // convert E-field to force and substract self forces + // convert E-field to force and subtract self forces const double qfactor = force->qqrd2e * scale; s1 = x[i][0]*hx_inv; diff --git a/src/KSPACE/pppm_disp_tip4p.cpp b/src/KSPACE/pppm_disp_tip4p.cpp index bc46152e2b..45217eb7a5 100644 --- a/src/KSPACE/pppm_disp_tip4p.cpp +++ b/src/KSPACE/pppm_disp_tip4p.cpp @@ -335,7 +335,7 @@ void PPPMDispTIP4P::fieldforce_c_ad() eky *= hy_inv; ekz *= hz_inv; - // convert E-field to force and substract self forces + // convert E-field to force and subtract self forces const double qfactor = force->qqrd2e * scale; s1 = x[i][0]*hx_inv; diff --git a/src/KSPACE/pppm_stagger.cpp b/src/KSPACE/pppm_stagger.cpp index 7b708d0355..d7466ee0d4 100644 --- a/src/KSPACE/pppm_stagger.cpp +++ b/src/KSPACE/pppm_stagger.cpp @@ -876,7 +876,7 @@ void PPPMStagger::fieldforce_ad() eky *= hy_inv; ekz *= hz_inv; - // convert E-field to force and substract self forces + // convert E-field to force and subtract self forces const double qfactor = qqrd2e * scale / float(nstagger); diff --git a/src/KSPACE/pppm_tip4p.cpp b/src/KSPACE/pppm_tip4p.cpp index 5a0ced3674..e2019d3f83 100644 --- a/src/KSPACE/pppm_tip4p.cpp +++ b/src/KSPACE/pppm_tip4p.cpp @@ -327,7 +327,7 @@ void PPPMTIP4P::fieldforce_ad() eky *= hy_inv; ekz *= hz_inv; - // convert E-field to force and substract self forces + // convert E-field to force and subtract self forces const double qfactor = qqrd2e * scale; diff --git a/src/MAKE/MACHINES/Makefile.redsky b/src/MAKE/MACHINES/Makefile.redsky index 551952181e..8e943bbb78 100644 --- a/src/MAKE/MACHINES/Makefile.redsky +++ b/src/MAKE/MACHINES/Makefile.redsky @@ -16,7 +16,7 @@ SHELL = /bin/sh # IMPORTANT NOTE: # to run efficiently on RedSky, use the "numa_wrapper" mpiexec option, -# to insure proceses and their memory are locked to specific cores +# to insure processes and their memory are locked to specific cores # e.g. in your batch script: # nodes=$SLURM_JOB_NUM_NODES # cores=8 diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index 1d9dd18887..84565a2e50 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -2081,9 +2081,9 @@ double PairAIREBO::bondorder(int i, int j, double rij[3], This function calculates S(t_b(b_ij*)) as specified in the AIREBO paper. To do so, it needs to compute b_ij*, i.e. the bondorder given that the -atoms i and j are placed a ficticious distance rijmag_mod apart. +atoms i and j are placed a fictitious distance rijmag_mod apart. Now there are two approaches to calculate the resulting forces: -1. Carry through the ficticious distance and corresponding vector +1. Carry through the fictitious distance and corresponding vector rij_mod, correcting afterwards using the derivative of r/|r|. 2. Perform all the calculations using the real distance, and do not use a correction, only using rijmag_mod where necessary. diff --git a/src/MANYBODY/pair_bop.h b/src/MANYBODY/pair_bop.h index eca0ec52b8..ea8da2844e 100644 --- a/src/MANYBODY/pair_bop.h +++ b/src/MANYBODY/pair_bop.h @@ -48,12 +48,12 @@ class PairBOP : public Pair { int maxbopn; // maximum size of bop neighbor list for allocation int maxnall; // maximum size of bop neighbor list for allocation int *map; // mapping from atom types to elements - int nelements; // # of unique elments + int nelements; // # of unique elements int nr; // increments for the BOP pair potential int ntheta; // increments for the angle function int npower; // power of the angular function int nBOt; // second BO increments - int bop_types; // number of elments in potential + int bop_types; // number of elements in potential int npairs; // number of element pairs char **elements; // names of unique elements int ***elem2param; diff --git a/src/MANYBODY/pair_lcbop.cpp b/src/MANYBODY/pair_lcbop.cpp index cc97fd9e9b..7c29f44afc 100644 --- a/src/MANYBODY/pair_lcbop.cpp +++ b/src/MANYBODY/pair_lcbop.cpp @@ -256,7 +256,7 @@ void PairLCBOP::SR_neigh() double **x = atom->x; - if (atom->nmax > maxlocal) { // ensure ther is enough space + if (atom->nmax > maxlocal) { // ensure there is enough space maxlocal = atom->nmax; // for atoms and ghosts allocated memory->destroy(SR_numneigh); memory->sfree(SR_firstneigh); diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index 1a9437ebe2..1cbce3a7f9 100644 --- a/src/MESSAGE/fix_client_md.cpp +++ b/src/MESSAGE/fix_client_md.cpp @@ -45,7 +45,7 @@ FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) : if (!atom->map_style) error->all(FLERR,"Fix client/md requires atom map"); if (sizeof(tagint) != 4) - error->all(FLERR,"Fix client/md requires 4-byte atom IDs"); + error->all(FLERR,"Fix client/md only supports 32-bit atom IDs"); if (strcmp(update->unit_style,"real") == 0) units = REAL; else if (strcmp(update->unit_style,"metal") == 0) units = METAL; diff --git a/src/MESSAGE/server_mc.cpp b/src/MESSAGE/server_mc.cpp index 8152b1f772..af7850a0e9 100644 --- a/src/MESSAGE/server_mc.cpp +++ b/src/MESSAGE/server_mc.cpp @@ -13,6 +13,7 @@ #include "server_mc.h" #include "atom.h" +#include "domain.h" #include "update.h" #include "integrate.h" #include "input.h" @@ -43,17 +44,17 @@ void ServerMC::loop() CSlib *cs = (CSlib *) lmp->cslib; - // require atom map + if (domain->box_exist == 0) + error->all(FLERR,"Server command before simulation box is defined"); - if (!atom->map_style) error->all(FLERR,"Server mode requires atom map"); + if (!atom->map_style) error->all(FLERR,"Server mc requires atom map"); + if (atom->tag_enable == 0) error->all(FLERR,"Server mc requires atom IDs"); + if (sizeof(tagint) != 4) error->all(FLERR,"Server mc requires 32-bit atom IDs"); // initialize LAMMPS for dynamics input->one("run 0"); - //update->whichflag = 1; - //lmp->init(); - // loop on messages // receive a message, process it, send return message if necessary @@ -123,8 +124,6 @@ void ServerMC::loop() int nsteps = cs->unpack_int(1); - //input->one("run 100"); - update->nsteps = nsteps; update->firststep = update->ntimestep; update->laststep = update->ntimestep + nsteps; diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp index e16095ad4c..418162e5d9 100644 --- a/src/MESSAGE/server_md.cpp +++ b/src/MESSAGE/server_md.cpp @@ -48,7 +48,7 @@ ServerMD::ServerMD(LAMMPS *lmp) : Pointers(lmp) if (!atom->map_style) error->all(FLERR,"Server md requires atom map"); if (atom->tag_enable == 0) error->all(FLERR,"Server md requires atom IDs"); - if (sizeof(tagint) != 4) error->all(FLERR,"Server md requires 4-byte atom IDs"); + if (sizeof(tagint) != 4) error->all(FLERR,"Server md requires 32-bit atom IDs"); if (strcmp(update->unit_style,"real") == 0) units = REAL; else if (strcmp(update->unit_style,"metal") == 0) units = METAL; diff --git a/src/MISC/dump_xtc.cpp b/src/MISC/dump_xtc.cpp index 1a2b71ab6d..a28d6acdfa 100644 --- a/src/MISC/dump_xtc.cpp +++ b/src/MISC/dump_xtc.cpp @@ -439,7 +439,7 @@ int xdropen(XDR *xdrs, const char *filename, const char *type) } xdrmodes[xdrid] = *type; - /* next test isn't usefull in the case of C language + /* next test isn't useful in the case of C language * but is used for the Fortran interface * (C users are expected to pass the address of an already allocated * XDR staructure) @@ -610,7 +610,7 @@ static int sizeofints( const int num_of_ints, unsigned int sizes[]) | this routine is used internally by xdr3dfcoord, to send a set of | small integers to the buffer. | Multiplication with fixed (specified maximum ) sizes is used to get - | to one big, multibyte integer. Allthough the routine could be + | to one big, multibyte integer. Although the routine could be | modified to handle sizes bigger than 16777216, or more than just | a few integers, this is not done, because the gain in compression | isn't worth the effort. Note that overflowing the multiplication @@ -758,7 +758,7 @@ static void receiveints(int buf[], const int num_of_ints, int num_of_bits, | using multiplication by *precision and rounding to the nearest integer. | Then the minimum and maximum value are calculated to determine the range. | The limited range of integers so found, is used to compress the coordinates. - | In addition the differences between succesive coordinates is calculated. + | In addition the differences between successive coordinates is calculated. | If the difference happens to be 'small' then only the difference is saved, | compressing the data even more. The notion of 'small' is changed dynamically | and is enlarged or reduced whenever needed or possible. diff --git a/src/MISC/fix_deposit.cpp b/src/MISC/fix_deposit.cpp index 5279b2df36..90b1063924 100644 --- a/src/MISC/fix_deposit.cpp +++ b/src/MISC/fix_deposit.cpp @@ -569,7 +569,7 @@ void FixDeposit::pre_exchange() // old code: unsuccessful if no proc performed insertion of an atom // don't think that check is necessary - // if get this far, should always be succesful + // if get this far, should always be successful // would be hard to undo partial insertion for a molecule // better to check how many atoms could be inserted (w/out inserting) // then sum to insure all are inserted, before doing actual insertion diff --git a/src/MISC/fix_orient_bcc.cpp b/src/MISC/fix_orient_bcc.cpp index 1453ceb317..f93c7f8a6a 100644 --- a/src/MISC/fix_orient_bcc.cpp +++ b/src/MISC/fix_orient_bcc.cpp @@ -15,7 +15,7 @@ Contributing authors: Koenraad Janssens and David Olmsted (SNL) Modification for bcc provided by: Tegar Wicaksono (UBC) For a tutorial, please see "Order parameters of crystals in LAMMPS" - (https://dx.doi.org/10.6084/m9.figshare.1488628.v1 + (https://doi.org/10.6084/m9.figshare.1488628.v1 ------------------------------------------------------------------------- */ #include "fix_orient_bcc.h" diff --git a/src/MPIIO/restart_mpiio.cpp b/src/MPIIO/restart_mpiio.cpp index e8ef5c6c4e..db511c7bc0 100644 --- a/src/MPIIO/restart_mpiio.cpp +++ b/src/MPIIO/restart_mpiio.cpp @@ -120,7 +120,7 @@ void RestartMPIIO::write(MPI_Offset headerOffset, int send_size, double *buf) if the consolidated chunksize is greater than INT_MAX can only happen in extreme situation of reading restart file on much fewer ranks than written and with relatively large data sizes - follow the collective IO call with rank independant IO to read remaining data + follow the collective IO call with rank independent IO to read remaining data ------------------------------------------------------------------------- */ void RestartMPIIO::read(MPI_Offset chunkOffset, bigint chunkSize, double *buf) diff --git a/src/MSCG/README b/src/MSCG/README index ed0ef37452..ab64c26792 100644 --- a/src/MSCG/README +++ b/src/MSCG/README @@ -8,7 +8,7 @@ developed by Jacob Wagner in Greg Voth's group at the University of Chicago. The library can be downloaded and built in lib/mscg or elsewhere on -your system, which must be done before bulding LAMMPS with this +your system, which must be done before building LAMMPS with this package. Details of the download, build, and install process for MSCG are given in the lib/mscg/README file. Also see the LAMMPS manual for general information on building LAMMPS with external libraries. The diff --git a/src/PERI/fix_peri_neigh.h b/src/PERI/fix_peri_neigh.h index 79006ab541..247ceaaa43 100644 --- a/src/PERI/fix_peri_neigh.h +++ b/src/PERI/fix_peri_neigh.h @@ -63,8 +63,8 @@ class FixPeriNeigh : public Fix { int maxpartner; // max # of peridynamic neighs for any atom int *npartner; // # of neighbors for each atom tagint **partner; // neighs for each atom, stored as global IDs - double **deviatorextention; // Deviatoric extention - double **deviatorBackextention; // Deviatoric back extention + double **deviatorextention; // Deviatoric extension + double **deviatorBackextention; // Deviatoric back extension double **deviatorPlasticextension; // Deviatoric plastic extension double *lambdaValue; double **r0; // initial distance to partners diff --git a/src/PERI/pair_peri_ves.cpp b/src/PERI/pair_peri_ves.cpp index 1cef9635a9..1d9f3819ff 100644 --- a/src/PERI/pair_peri_ves.cpp +++ b/src/PERI/pair_peri_ves.cpp @@ -317,7 +317,7 @@ void PairPeriVES::compute(int eflag, int vflag) dr - (theta[i]* r0[i][jj] / 3.0); deltaed = deviatoric_extension-deviatorextention[i][jj]; - // back extention at current step + // back extension at current step edbNp1 = deviatorextention[i][jj]*(1-decay) + deviatorBackextention[i][jj]*decay+betai*deltaed; @@ -357,7 +357,7 @@ void PairPeriVES::compute(int eflag, int vflag) // find stretch in bond I-J and break if necessary // use s0 from previous timestep - // store current deviatoric extention + // store current deviatoric extension deviatorextention[i][jj]=deviatoric_extension; deviatorBackextention[i][jj]=edbNp1; diff --git a/src/PYTHON/fix_python_move.h b/src/PYTHON/fix_python_move.h index 7b830a3d20..2220709970 100644 --- a/src/PYTHON/fix_python_move.h +++ b/src/PYTHON/fix_python_move.h @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. Pair zero is a dummy pair interaction useful for requiring a - force cutoff distance in the absense of pair-interactions or + force cutoff distance in the absence of pair-interactions or with hybrid/overlay if a larger force cutoff distance is required. This can be used in conjunction with bond/create to create bonds diff --git a/src/PYTHON/pair_python.h b/src/PYTHON/pair_python.h index 69671f7322..4c3c00a70d 100644 --- a/src/PYTHON/pair_python.h +++ b/src/PYTHON/pair_python.h @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. Pair zero is a dummy pair interaction useful for requiring a - force cutoff distance in the absense of pair-interactions or + force cutoff distance in the absence of pair-interactions or with hybrid/overlay if a larger force cutoff distance is required. This can be used in conjunction with bond/create to create bonds diff --git a/src/REPLICA/fix_event_hyper.h b/src/REPLICA/fix_event_hyper.h index 4c5d4a93ee..af685ee539 100644 --- a/src/REPLICA/fix_event_hyper.h +++ b/src/REPLICA/fix_event_hyper.h @@ -29,7 +29,7 @@ class FixEventHyper : public FixEvent { int event_number; // event counter bigint event_timestep; // timestep of last event on any replica bigint clock; // total elapsed timesteps across all replicas - int replica_number; // replica where last event occured + int replica_number; // replica where last event occurred int correlated_event; // 1 if last event was correlated, 0 otherwise int ncoincident; // # of simultaneous events on different replicas diff --git a/src/REPLICA/fix_event_prd.h b/src/REPLICA/fix_event_prd.h index 0924fb2bdc..363de31e9d 100644 --- a/src/REPLICA/fix_event_prd.h +++ b/src/REPLICA/fix_event_prd.h @@ -29,7 +29,7 @@ class FixEventPRD : public FixEvent { int event_number; // event counter bigint event_timestep; // timestep of last event on any replica bigint clock; // total elapsed timesteps across all replicas - int replica_number; // replica where last event occured + int replica_number; // replica where last event occurred int correlated_event; // 1 if last event was correlated, 0 otherwise int ncoincident; // # of simultaneous events on different replicas diff --git a/src/REPLICA/fix_hyper_global.cpp b/src/REPLICA/fix_hyper_global.cpp index 62ba35abfc..bc5df921c6 100644 --- a/src/REPLICA/fix_hyper_global.cpp +++ b/src/REPLICA/fix_hyper_global.cpp @@ -189,7 +189,7 @@ void FixHyperGlobal::pre_neighbor() // closest current I or J atoms to old I may now be ghost atoms // closest_image() returns the ghost atom index in that case // also compute max drift of any atom in a bond - // drift = displacement from quenched coord while event has not yet occured + // drift = displacement from quenched coord while event has not yet occurred // NOTE: drift calc is now done in bond_build(), between 2 quenched states for (i = 0; i < nall_old; i++) old2now[i] = -1; diff --git a/src/REPLICA/fix_hyper_local.cpp b/src/REPLICA/fix_hyper_local.cpp index dc02432751..eebcd08bdd 100644 --- a/src/REPLICA/fix_hyper_local.cpp +++ b/src/REPLICA/fix_hyper_local.cpp @@ -379,7 +379,7 @@ void FixHyperLocal::pre_neighbor() // closest current I or J atoms to old I may now be ghost atoms // closest_image() returns the ghost atom index in that case // also compute max drift of any atom in a bond - // drift = displacement from quenched coord while event has not yet occured + // drift = displacement from quenched coord while event has not yet occurred // NOTE: drift calc is now done in bond_build(), between 2 quenched states for (i = 0; i < nall_old; i++) old2now[i] = -1; @@ -796,7 +796,7 @@ void FixHyperLocal::pre_reverse(int /* eflag */, int /* vflag */) rmaxeverbig = rmax2all[1]; } - // if requsted, check for any biased bonds that are too close to each other + // if requested, check for any biased bonds that are too close to each other // keep a running count for output // requires 2 additional local comm operations @@ -887,7 +887,7 @@ void FixHyperLocal::build_bond_list(int natom) // reset Vmax to current bias coeff average // only if requested and elapsed time >= resetfreq - // ave = curent ave of all bias coeffs + // ave = current ave of all bias coeffs // if reset, adjust all Cij to keep Cij*Vmax unchanged if (resetfreq >= 0) { diff --git a/src/REPLICA/prd.cpp b/src/REPLICA/prd.cpp index f631cc6a0a..63e569d0c2 100644 --- a/src/REPLICA/prd.cpp +++ b/src/REPLICA/prd.cpp @@ -608,7 +608,7 @@ void PRD::quench() if replica_num is non-negative only check for event on replica_num if multiple events, choose one at random return -1 if no event - else return ireplica = world in which event occured + else return ireplica = world in which event occurred ------------------------------------------------------------------------- */ int PRD::check_event(int replica_num) diff --git a/src/RIGID/fix_rattle.cpp b/src/RIGID/fix_rattle.cpp index 93bf610e94..ff31ab9755 100644 --- a/src/RIGID/fix_rattle.cpp +++ b/src/RIGID/fix_rattle.cpp @@ -119,7 +119,7 @@ int FixRattle::setmask() void FixRattle::init() { - // initialise SHAKE first + // initialize SHAKE first FixShake::init(); diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 9f6a1e5d46..d77bf988a6 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -2185,7 +2185,7 @@ void FixRigid::setup_bodies_static() /* ---------------------------------------------------------------------- one-time initialization of dynamic rigid body attributes set vcm and angmom, computed explicitly from constituent particles - not done if body properites read from file, e.g. for overlapping particles + not done if body properties read from file, e.g. for overlapping particles ------------------------------------------------------------------------- */ void FixRigid::setup_bodies_dynamic() @@ -2279,7 +2279,7 @@ void FixRigid::setup_bodies_dynamic() /* ---------------------------------------------------------------------- read per rigid body info from user-provided file - which = 0 to read everthing except 6 moments of inertia + which = 0 to read everything except 6 moments of inertia which = 1 to read 6 moments of inertia flag inbody = 0 for bodies whose info is read from file nlines = # of lines of rigid body info diff --git a/src/RIGID/fix_rigid_nh.h b/src/RIGID/fix_rigid_nh.h index 08208e5aac..1126e7bb50 100644 --- a/src/RIGID/fix_rigid_nh.h +++ b/src/RIGID/fix_rigid_nh.h @@ -54,7 +54,7 @@ class FixRigidNH : public FixRigid { int kspace_flag; // 1 if KSpace invoked, 0 if not int nrigidfix; // number of rigid fixes - int *rfix; // indicies of rigid fixes + int *rfix; // indices of rigid fixes double vol0; // reference volume double t0; // reference temperature diff --git a/src/RIGID/fix_rigid_nh_small.h b/src/RIGID/fix_rigid_nh_small.h index 207c2d0a11..e04290aee8 100644 --- a/src/RIGID/fix_rigid_nh_small.h +++ b/src/RIGID/fix_rigid_nh_small.h @@ -53,7 +53,7 @@ class FixRigidNHSmall : public FixRigidSmall { int kspace_flag; // 1 if KSpace invoked, 0 if not int nrigidfix; // number of rigid fixes - int *rfix; // indicies of rigid fixes + int *rfix; // indices of rigid fixes double vol0; // reference volume double t0; // reference temperature diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 0b2c2d967f..9974a7f888 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -1091,7 +1091,7 @@ void FixRigidSmall::final_integrate_respa(int ilevel, int /*iloop*/) when unwrapped by true image flags then set_xv() will compute huge displacements every step to reset coords of all the body atoms to be back inside the box, ditto for triclinic box flip - note: so just want to avoid that numeric probem? + note: so just want to avoid that numeric problem? ------------------------------------------------------------------------- */ void FixRigidSmall::pre_neighbor() @@ -2320,7 +2320,7 @@ void FixRigidSmall::setup_bodies_static() /* ---------------------------------------------------------------------- one-time initialization of dynamic rigid body attributes vcm and angmom, computed explicitly from constituent particles - not done if body properites read from file, e.g. for overlapping particles + not done if body properties read from file, e.g. for overlapping particles ------------------------------------------------------------------------- */ void FixRigidSmall::setup_bodies_dynamic() @@ -2426,7 +2426,7 @@ void FixRigidSmall::setup_bodies_dynamic() /* ---------------------------------------------------------------------- read per rigid body info from user-provided file - which = 0 to read everthing except 6 moments of inertia + which = 0 to read everything except 6 moments of inertia which = 1 to read just 6 moments of inertia flag inbody = 0 for local bodies this proc initializes from file nlines = # of lines of rigid body info, 0 is OK diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index 054985ba72..b1ce975005 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -3059,7 +3059,7 @@ void FixShake::correct_velocities() {} void FixShake::correct_coordinates(int vflag) { // save current forces and velocities so that you - // initialise them to zero such that FixShake::unconstrained_coordinate_update has no effect + // initialize them to zero such that FixShake::unconstrained_coordinate_update has no effect for (int j=0; j<nlocal; j++) { for (int k=0; k<3; k++) { @@ -3082,7 +3082,7 @@ void FixShake::correct_coordinates(int vflag) { dtfsq = 0.5 * update->dt * update->dt * force->ftm2v; FixShake::post_force(vflag); - // integrate coordiantes: x' = xnp1 + dt^2/2m_i * f, where f is the constraining force + // integrate coordinates: x' = xnp1 + dt^2/2m_i * f, where f is the constraining force // NOTE: After this command, the coordinates geometry of the molecules will be correct! double dtfmsq; diff --git a/src/SPIN/README b/src/SPIN/README index ad296c69b7..6dbad91d8d 100644 --- a/src/SPIN/README +++ b/src/SPIN/README @@ -9,7 +9,7 @@ atom in the system * implementing magnetic pair interactions and magnetic forces * thermostating and applying a transverse damping to the magnetic spins * performing geodesic NEB calculations -* computing and outputing magnetic quantities +* computing and outputting magnetic quantities * minimizing the energy or total torque of a magnetic system The different options provided by this package are explained in the diff --git a/src/SPIN/min_spin.cpp b/src/SPIN/min_spin.cpp index e39eb18744..f6a6b90891 100644 --- a/src/SPIN/min_spin.cpp +++ b/src/SPIN/min_spin.cpp @@ -127,7 +127,7 @@ int MinSpin::iterate(int maxiter) ntimestep = ++update->ntimestep; niter++; - // optimize timestep accross processes / replicas + // optimize timestep across processes / replicas // need a force calculation for timestep optimization if (iter == 0) energy_force(0); diff --git a/src/SPIN/min_spin_cg.cpp b/src/SPIN/min_spin_cg.cpp index 8815ad89db..de1ef39f66 100644 --- a/src/SPIN/min_spin_cg.cpp +++ b/src/SPIN/min_spin_cg.cpp @@ -205,7 +205,7 @@ int MinSpinCG::iterate(int maxiter) ntimestep = ++update->ntimestep; niter++; - // optimize timestep accross processes / replicas + // optimize timestep across processes / replicas // need a force calculation for timestep optimization if (use_line_search) { diff --git a/src/SPIN/min_spin_lbfgs.cpp b/src/SPIN/min_spin_lbfgs.cpp index 7f6d7692cd..df12782528 100644 --- a/src/SPIN/min_spin_lbfgs.cpp +++ b/src/SPIN/min_spin_lbfgs.cpp @@ -217,7 +217,7 @@ int MinSpinLBFGS::iterate(int maxiter) ntimestep = ++update->ntimestep; niter++; - // optimize timestep accross processes / replicas + // optimize timestep across processes / replicas // need a force calculation for timestep optimization if (use_line_search) { diff --git a/src/SRD/fix_srd.cpp b/src/SRD/fix_srd.cpp index d5eec91f50..c57975ad4c 100644 --- a/src/SRD/fix_srd.cpp +++ b/src/SRD/fix_srd.cpp @@ -454,7 +454,7 @@ void FixSRD::setup(int /*vflag*/) setup_search_stencil(); } else nbins2 = 0; - // perform first bining of SRD and big particles and walls + // perform first binning of SRD and big particles and walls // set reneighflag to turn off SRD rotation // don't do SRD rotation in setup, only during timestepping @@ -1067,7 +1067,7 @@ void FixSRD::vbin_comm(int ishift) // send/recv bins in both directions in each dimension // don't send if nsend = 0 - // due to static bins aliging with proc boundary + // due to static bins aligning with proc boundary // due to dynamic bins across non-periodic global boundary // copy to self if sendproc = me // MPI send to another proc if sendproc != me @@ -1169,7 +1169,7 @@ void FixSRD::xbin_comm(int ishift, int nval) // send/recv bins in both directions in each dimension // don't send if nsend = 0 - // due to static bins aliging with proc boundary + // due to static bins aligning with proc boundary // due to dynamic bins across non-periodic global boundary // copy to self if sendproc = me // MPI send to another proc if sendproc != me diff --git a/src/USER-ATC/fix_atc.cpp b/src/USER-ATC/fix_atc.cpp index 0e9cd02ad6..2165132856 100644 --- a/src/USER-ATC/fix_atc.cpp +++ b/src/USER-ATC/fix_atc.cpp @@ -123,7 +123,7 @@ FixATC::FixATC(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), # be used as a localization function \n fix AtC kernel quartic_sphere 10.0 \n \n # create a uniform 1 x 1 x 1 mesh that covers region contain the group \n - # with periodicity this effectively creats a system average \n + # with periodicity this effectively creates a system average \n fix_modify AtC mesh create 1 1 1 box p p p \n\n # change from default lagrangian map to eulerian \n # refreshed every 100 steps \n diff --git a/src/USER-COLVARS/README b/src/USER-COLVARS/README index 9090a07ead..6627bc9ec4 100644 --- a/src/USER-COLVARS/README +++ b/src/USER-COLVARS/README @@ -27,7 +27,7 @@ and in the reference article: Using collective variables to drive molecular dynamics simulations, G. Fiorin, M. L. Klein, and J. Henin, Molecular Physics 111, 3345 (2013) -http://dx.doi.org/10.1080/00268976.2013.813594 +https://doi.org/10.1080/00268976.2013.813594 A reference manual for the package and library is included with the LAMMPS doc pages: diff --git a/src/USER-DIFFRACTION/README b/src/USER-DIFFRACTION/README index 5488cd3416..00203aeae2 100644 --- a/src/USER-DIFFRACTION/README +++ b/src/USER-DIFFRACTION/README @@ -1,4 +1,4 @@ -This package contains the commands neeed to calculate x-ray and +This package contains the commands needed to calculate x-ray and electron diffraction intensities based on kinematic diffraction theory. Detailed discription of the computation can be found in the following works: diff --git a/src/USER-DIFFRACTION/compute_saed.cpp b/src/USER-DIFFRACTION/compute_saed.cpp index 3ae25f223c..7b5b2f4f5b 100644 --- a/src/USER-DIFFRACTION/compute_saed.cpp +++ b/src/USER-DIFFRACTION/compute_saed.cpp @@ -75,7 +75,7 @@ ComputeSAED::ComputeSAED(LAMMPS *lmp, int narg, char **arg) : if (lambda < 0) error->all(FLERR,"Compute SAED: Wavelength must be greater than zero"); - // Define atom types for atomic scattering factor coefficents + // Define atom types for atomic scattering factor coefficients int iarg = 4; ztype = new int[ntypes]; for (int i = 0; i < ntypes; i++){ @@ -394,7 +394,7 @@ void ComputeSAED::compute_vector() */ - // determining paramater set to use based on maximum S = sin(theta)/lambda + // determining parameter set to use based on maximum S = sin(theta)/lambda double Smax = Kmax / 2; int offset = 0; // offset the ASFSAED matrix for appropriate value @@ -449,8 +449,8 @@ void ComputeSAED::compute_vector() Fatom1 = 0.0; Fatom2 = 0.0; - // Calculate the atomic structre factor by type - // determining paramater set to use based on S = sin(theta)/lambda <> 2 + // Calculate the atomic structure factor by type + // determining parameter set to use based on S = sin(theta)/lambda <> 2 for (int ii = 0; ii < ntypes; ii++){ f[ii] = 0; for (int C = 0; C < 5; C++){ diff --git a/src/USER-DIFFRACTION/fix_saed_vtk.cpp b/src/USER-DIFFRACTION/fix_saed_vtk.cpp index c3a72e494b..b6c00c2374 100644 --- a/src/USER-DIFFRACTION/fix_saed_vtk.cpp +++ b/src/USER-DIFFRACTION/fix_saed_vtk.cpp @@ -98,7 +98,7 @@ FixSAEDVTK::FixSAEDVTK(LAMMPS *lmp, int narg, char **arg) : if (strcmp(compute_saed->style,"saed") != 0) error->all(FLERR,"Fix saed/vtk has invalid compute assigned"); - // Gather varialbes from specified compute_saed + // Gather variables from specified compute_saed double *saed_var = compute_saed->saed_var; lambda = saed_var[0]; Kmax = saed_var[1]; diff --git a/src/USER-DPD/fix_rx.h b/src/USER-DPD/fix_rx.h index ca87fc51fd..e2f9f5b88b 100644 --- a/src/USER-DPD/fix_rx.h +++ b/src/USER-DPD/fix_rx.h @@ -124,7 +124,7 @@ class FixRX : public Fix { // ODE Diagnostics //int nSteps; //!< # of accepted steps taken over all atoms. - //int nIters; //!< # of attemped steps for all atoms. + //int nIters; //!< # of attempted steps for all atoms. //int nFuncs; //!< # of RHS evaluations for all atoms. //int nFails; //!< # of ODE systems that failed (for some reason). diff --git a/src/USER-DPD/npair_half_bin_newton_ssa.cpp b/src/USER-DPD/npair_half_bin_newton_ssa.cpp index 2139173d47..4fb5714d11 100644 --- a/src/USER-DPD/npair_half_bin_newton_ssa.cpp +++ b/src/USER-DPD/npair_half_bin_newton_ssa.cpp @@ -64,7 +64,7 @@ NPairHalfBinNewtonSSA::~NPairHalfBinNewtonSSA() /* ---------------------------------------------------------------------- binned neighbor list construction with full Newton's 3rd law - for use by Shardlow Spliting Algorithm + for use by Shardlow Splitting Algorithm each owned atom i checks its own bin and other bins in Newton stencil every pair stored exactly once by some processor ------------------------------------------------------------------------- */ diff --git a/src/USER-DRUDE/pair_lj_cut_thole_long.cpp b/src/USER-DRUDE/pair_lj_cut_thole_long.cpp index f5d5467a9c..fa4f761663 100644 --- a/src/USER-DRUDE/pair_lj_cut_thole_long.cpp +++ b/src/USER-DRUDE/pair_lj_cut_thole_long.cpp @@ -587,7 +587,7 @@ void PairLJCutTholeLong::write_data_all(FILE *fp) /* ---------------------------------------------------------------------- */ // No point in having single() since it has no information about topology or Drude particles. -// Charges qi and qj are defined by the user (or 1.0 by defaut) +// Charges qi and qj are defined by the user (or 1.0 by default) /* ---------------------------------------------------------------------- */ diff --git a/src/USER-DRUDE/pair_thole.cpp b/src/USER-DRUDE/pair_thole.cpp index 129ed57900..4dd6cb12c0 100644 --- a/src/USER-DRUDE/pair_thole.cpp +++ b/src/USER-DRUDE/pair_thole.cpp @@ -369,7 +369,7 @@ double PairThole::single(int i, int j, int itype, int jtype, double qi,qj,factor_f,factor_e,dcoul,asr,exp_asr; // single() has no information about topology or Drude particles. - // Charges qi and qj are defined by the user (or 1.0 by defaut) + // Charges qi and qj are defined by the user (or 1.0 by default) qi = atom->q[i]; qj = atom->q[j]; diff --git a/src/USER-INTEL/README b/src/USER-INTEL/README index 786033ca85..650e2c3a2d 100644 --- a/src/USER-INTEL/README +++ b/src/USER-INTEL/README @@ -36,7 +36,7 @@ be added or changed in the Makefile depending on the version: 2017 update 2 - No changes needed 2017 updates 3 or 4 - Use -xCOMMON-AVX512 and not -xHost or -xCORE-AVX512 -2018 inital release - Use -xCOMMON-AVX512 and not -xHost or -xCORE-AVX512 +2018 initial release - Use -xCOMMON-AVX512 and not -xHost or -xCORE-AVX512 2018u1 or newer - Use -xHost or -xCORE-AVX512 and -qopt-zmm-usage=high ----------------------------------------------------------------------------- diff --git a/src/USER-INTEL/pair_airebo_intel.cpp b/src/USER-INTEL/pair_airebo_intel.cpp index eedf45d75e..e6e8503bb0 100644 --- a/src/USER-INTEL/pair_airebo_intel.cpp +++ b/src/USER-INTEL/pair_airebo_intel.cpp @@ -4480,7 +4480,7 @@ exceed_limits: * Calculate the lennard-jones interaction. * Uses the above hash-map, and outlines the calculation if the bondorder is * needed. - * Agressively compresses to get the most values calculated. + * Aggressively compresses to get the most values calculated. */ template<int MORSEFLAG> static void aut_lennard_jones(KernelArgsAIREBOT<flt_t,acc_t> * ka) { diff --git a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp b/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp index f3f81651fc..ff8a9869b7 100644 --- a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp +++ b/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.cpp @@ -487,7 +487,7 @@ void PairLJCharmmCoulCharmmIntel::pack_force_const(ForceConst<flt_t> &fc, // Repeat cutsq calculation because done after call to init_style if (cut_lj > cut_coul) error->all(FLERR, - "Intel varient of lj/charmm/coul/long expects lj cutoff<=coulombic"); + "Intel variant of lj/charmm/coul/long expects lj cutoff<=coulombic"); for (int i = 1; i <= atom->ntypes; i++) { for (int j = i; j <= atom->ntypes; j++) { double cut; diff --git a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.h b/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.h index 64d6077477..a48a84b5ce 100644 --- a/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.h +++ b/src/USER-INTEL/pair_lj_charmm_coul_charmm_intel.h @@ -92,7 +92,7 @@ E: The 'package intel' command is required for /intel styles Self-explanatory. -E: Intel varient of lj/charmm/coul/charmm expects lj cutoff<=coulombic +E: Intel variant of lj/charmm/coul/charmm expects lj cutoff<=coulombic The intel accelerated version of the CHARMM style requires that the Lennard-Jones cutoff is not greater than the coulombic cutoff. diff --git a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp b/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp index b4697ad122..5a4069e199 100644 --- a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp +++ b/src/USER-INTEL/pair_lj_charmm_coul_long_intel.cpp @@ -557,7 +557,7 @@ void PairLJCharmmCoulLongIntel::pack_force_const(ForceConst<flt_t> &fc, // Repeat cutsq calculation because done after call to init_style if (cut_lj > cut_coul) error->all(FLERR, - "Intel varient of lj/charmm/coul/long expects lj cutoff<=coulombic"); + "Intel variant of lj/charmm/coul/long expects lj cutoff<=coulombic"); for (int i = 1; i <= atom->ntypes; i++) { for (int j = i; j <= atom->ntypes; j++) { double cut; diff --git a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.h b/src/USER-INTEL/pair_lj_charmm_coul_long_intel.h index 0066745078..31b2182cb5 100644 --- a/src/USER-INTEL/pair_lj_charmm_coul_long_intel.h +++ b/src/USER-INTEL/pair_lj_charmm_coul_long_intel.h @@ -96,7 +96,7 @@ E: The 'package intel' command is required for /intel styles Self-explanatory. -E: Intel varient of lj/charmm/coul/long expects lj cutoff<=coulombic +E: Intel variant of lj/charmm/coul/long expects lj cutoff<=coulombic The intel accelerated version of the CHARMM style requires that the Lennard-Jones cutoff is not greater than the coulombic cutoff. diff --git a/src/USER-INTEL/pppm_disp_intel.cpp b/src/USER-INTEL/pppm_disp_intel.cpp index 9d075c78a1..fd1302da98 100644 --- a/src/USER-INTEL/pppm_disp_intel.cpp +++ b/src/USER-INTEL/pppm_disp_intel.cpp @@ -62,6 +62,7 @@ enum{FORWARD_IK, FORWARD_AD, FORWARD_IK_PERATOM, FORWARD_AD_PERATOM, PPPMDispIntel::PPPMDispIntel(LAMMPS *lmp) : PPPMDisp(lmp) { suffix_flag |= Suffix::INTEL; + triclinic_support = 0; order = 7; order_6 = 7; //sets default stencil sizes to 7 @@ -348,7 +349,7 @@ void PPPMDispIntel::compute(int eflag, int vflag) } if (function[1]) { - //perfrom calculations for geometric mixing + //perform calculations for geometric mixing if (fix->precision() == FixIntel::PREC_MODE_MIXED) { particle_map<float,double>(delxinv_6, delyinv_6, delzinv_6, shift_6, diff --git a/src/USER-INTEL/pppm_intel.cpp b/src/USER-INTEL/pppm_intel.cpp index e3d1e7d4aa..e3bf779cc1 100644 --- a/src/USER-INTEL/pppm_intel.cpp +++ b/src/USER-INTEL/pppm_intel.cpp @@ -208,16 +208,23 @@ void PPPMIntel::compute_first(int eflag, int vflag) // find grid points for all my particles // map my particle charge onto my local 3d density grid + // optimized versions can only be used for orthogonal boxes - if (fix->precision() == FixIntel::PREC_MODE_MIXED) { - particle_map<float,double>(fix->get_mixed_buffers()); - make_rho<float,double>(fix->get_mixed_buffers()); - } else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) { - particle_map<double,double>(fix->get_double_buffers()); - make_rho<double,double>(fix->get_double_buffers()); + if (triclinic) { + PPPM::particle_map(); + PPPM::make_rho(); } else { - particle_map<float,float>(fix->get_single_buffers()); - make_rho<float,float>(fix->get_single_buffers()); + + if (fix->precision() == FixIntel::PREC_MODE_MIXED) { + particle_map<float,double>(fix->get_mixed_buffers()); + make_rho<float,double>(fix->get_mixed_buffers()); + } else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) { + particle_map<double,double>(fix->get_double_buffers()); + make_rho<double,double>(fix->get_double_buffers()); + } else { + particle_map<float,float>(fix->get_single_buffers()); + make_rho<float,float>(fix->get_single_buffers()); + } } // all procs communicate density values from their ghost cells @@ -258,21 +265,26 @@ void PPPMIntel::compute_second(int /*eflag*/, int /*vflag*/) int i,j; // calculate the force on my particles + // optimized versions can only be used for orthogonal boxes - if (differentiation_flag == 1) { - if (fix->precision() == FixIntel::PREC_MODE_MIXED) - fieldforce_ad<float,double>(fix->get_mixed_buffers()); - else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) - fieldforce_ad<double,double>(fix->get_double_buffers()); - else - fieldforce_ad<float,float>(fix->get_single_buffers()); + if (triclinic) { + PPPM::fieldforce(); } else { - if (fix->precision() == FixIntel::PREC_MODE_MIXED) - fieldforce_ik<float,double>(fix->get_mixed_buffers()); - else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) - fieldforce_ik<double,double>(fix->get_double_buffers()); - else - fieldforce_ik<float,float>(fix->get_single_buffers()); + if (differentiation_flag == 1) { + if (fix->precision() == FixIntel::PREC_MODE_MIXED) + fieldforce_ad<float,double>(fix->get_mixed_buffers()); + else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) + fieldforce_ad<double,double>(fix->get_double_buffers()); + else + fieldforce_ad<float,float>(fix->get_single_buffers()); + } else { + if (fix->precision() == FixIntel::PREC_MODE_MIXED) + fieldforce_ik<float,double>(fix->get_mixed_buffers()); + else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) + fieldforce_ik<double,double>(fix->get_double_buffers()); + else + fieldforce_ik<float,float>(fix->get_single_buffers()); + } } // extra per-atom energy/virial communication diff --git a/src/USER-MANIFOLD/README b/src/USER-MANIFOLD/README index eb83cfc5ab..24c645232d 100644 --- a/src/USER-MANIFOLD/README +++ b/src/USER-MANIFOLD/README @@ -31,7 +31,7 @@ To add a new manifold, do the following in the "USER-MANIFOLD" directory: c. In namespace LAMMPS_NS, add a new class that inherits publicly from manifold and protectedly from Pointers. d. The constructor has to take ( LAMMPS*, int, char ** ) as arguments, - and should initialise Pointers. + and should initialize Pointers. e. The header file has to contain somewhere the macro ManifoldStyle with as first argument the name of the manifold and as second argument the name of the class implementing this manifold. The macro expands into some code @@ -45,7 +45,7 @@ To add a new manifold, do the following in the "USER-MANIFOLD" directory: +====================================+=========================================+ | destructor | Free space (can be empty) | | constructor | Has to take (LAMMPS *lmp, int, char **) | -| | as arguments and has to initialise | +| | as arguments and has to initialize | | | Pointers with lmp. | | double g( double *x ) | A function that is 0 if the 3-vector | | | x is on the manifold. | diff --git a/src/USER-MANIFOLD/fix_manifoldforce.h b/src/USER-MANIFOLD/fix_manifoldforce.h index 1d5afc7afc..64a5011780 100644 --- a/src/USER-MANIFOLD/fix_manifoldforce.h +++ b/src/USER-MANIFOLD/fix_manifoldforce.h @@ -21,7 +21,7 @@ This file is part of the user-manifold package written by Stefan Paquay at the Eindhoven University of Technology. This module makes it possible to do MD with particles constrained - to pretty arbitrary manifolds characterised by some constraint function + to pretty arbitrary manifolds characterized by some constraint function g(x,y,z) = 0 and its normal grad(g). The number of manifolds available right now is limited but can be extended straightforwardly by making a new class that inherits from manifold and implements all pure virtual diff --git a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp index 7f8d9d5675..312db1c411 100644 --- a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp +++ b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp @@ -21,7 +21,7 @@ This file is part of the user-manifold package written by Stefan Paquay at the Eindhoven University of Technology. This module makes it possible to do MD with particles constrained - to pretty arbitrary manifolds characterised by some constraint function + to pretty arbitrary manifolds characterized by some constraint function g(x,y,z) = 0 and its normal grad(g). The number of manifolds available right now is limited but can be extended straightforwardly by making a new class that inherits from manifold and implements all pure virtual @@ -149,7 +149,7 @@ FixNVEManifoldRattle::FixNVEManifoldRattle( LAMMPS *lmp, int &narg, char **arg, nevery = force->inumeric(FLERR,arg[argi+1]); next_output = update->ntimestep + nevery; if (comm->me == 0) { - fprintf(screen,"Outputing every %d steps, next is %d\n", + fprintf(screen,"Outputting every %d steps, next is %d\n", nevery, next_output); } argi += 2; diff --git a/src/USER-MANIFOLD/fix_nve_manifold_rattle.h b/src/USER-MANIFOLD/fix_nve_manifold_rattle.h index 581ecf36d3..42da240abc 100644 --- a/src/USER-MANIFOLD/fix_nve_manifold_rattle.h +++ b/src/USER-MANIFOLD/fix_nve_manifold_rattle.h @@ -21,7 +21,7 @@ This file is part of the user-manifold package written by Stefan Paquay at the Eindhoven University of Technology. This module makes it possible to do MD with particles constrained - to pretty arbitrary manifolds characterised by some constraint function + to pretty arbitrary manifolds characterized by some constraint function g(x,y,z) = 0 and its normal grad(g). The number of manifolds available right now is limited but can be extended straightforwardly by making a new class that inherits from manifold and implements all pure virtual diff --git a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp b/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp index 2789f8738a..db3267db28 100644 --- a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp +++ b/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp @@ -21,7 +21,7 @@ This file is part of the user-manifold package written by Stefan Paquay at the Eindhoven University of Technology. This module makes it possible to do MD with particles constrained - to pretty arbitrary manifolds characterised by some constraint function + to pretty arbitrary manifolds characterized by some constraint function g(x,y,z) = 0 and its normal grad(g). The number of manifolds available right now is limited but can be extended straightforwardly by making a new class that inherits from manifold and implements all pure virtual diff --git a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.h b/src/USER-MANIFOLD/fix_nvt_manifold_rattle.h index 144cda3799..f42902f721 100644 --- a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.h +++ b/src/USER-MANIFOLD/fix_nvt_manifold_rattle.h @@ -21,7 +21,7 @@ This file is part of the user-manifold package written by Stefan Paquay at the Eindhoven University of Technology. This module makes it possible to do MD with particles constrained - to pretty arbitrary manifolds characterised by some constraint function + to pretty arbitrary manifolds characterized by some constraint function g(x,y,z) = 0 and its normal grad(g). The number of manifolds available right now is limited but can be extended straightforwardly by making a new class that inherits from manifold and implements all pure virtual diff --git a/src/USER-MANIFOLD/manifold_factory.cpp b/src/USER-MANIFOLD/manifold_factory.cpp index f98180ddb6..7df3e52ed7 100644 --- a/src/USER-MANIFOLD/manifold_factory.cpp +++ b/src/USER-MANIFOLD/manifold_factory.cpp @@ -21,7 +21,7 @@ This file is part of the user-manifold package written by Stefan Paquay at the Eindhoven University of Technology. This module makes it possible to do MD with particles constrained - to pretty arbitrary manifolds characterised by some constraint function + to pretty arbitrary manifolds characterized by some constraint function g(x,y,z) = 0 and its normal grad(g). The number of manifolds available right now is limited but can be extended straightforwardly by making a new class that inherits from manifold and implements all pure virtual diff --git a/src/USER-MANIFOLD/manifold_factory.h b/src/USER-MANIFOLD/manifold_factory.h index ac2aee8a26..85ee4011be 100644 --- a/src/USER-MANIFOLD/manifold_factory.h +++ b/src/USER-MANIFOLD/manifold_factory.h @@ -21,7 +21,7 @@ This file is part of the user-manifold package written by Stefan Paquay at the Eindhoven University of Technology. This module makes it possible to do MD with particles constrained - to pretty arbitrary manifolds characterised by some constraint function + to pretty arbitrary manifolds characterized by some constraint function g(x,y,z) = 0 and its normal grad(g). The number of manifolds available right now is limited but can be extended straightforwardly by making a new class that inherits from manifold and implements all pure virtual diff --git a/src/USER-MANIFOLD/manifold_thylakoid.cpp b/src/USER-MANIFOLD/manifold_thylakoid.cpp index e4ef039832..e473f00a03 100644 --- a/src/USER-MANIFOLD/manifold_thylakoid.cpp +++ b/src/USER-MANIFOLD/manifold_thylakoid.cpp @@ -142,7 +142,7 @@ void manifold_thylakoid::init_domains() { if (wB + 2*lB > LT) { char msg[2048]; - sprintf(msg,"LT = %f not large enough to accomodate bridge with " + sprintf(msg,"LT = %f not large enough to accommodate bridge with " "wB = %f and lB = %f! %f > %f\n", LT, wB, lB, wB + 2*lB, LT); error->one(FLERR,msg); } diff --git a/src/USER-MEAMC/README b/src/USER-MEAMC/README index c1faf7c0c4..dcb70d670c 100644 --- a/src/USER-MEAMC/README +++ b/src/USER-MEAMC/README @@ -19,7 +19,7 @@ The original Fortran implementation was created by Use "make yes-user-meamc" to enable this package when building LAMMPS. -In your LAMMPS input script, specifiy +In your LAMMPS input script, specify pair_style meam/c to enable the use of this implementation. All parameters, input files and outputs are exactly identical to these used with pair_style meam. diff --git a/src/USER-MEAMC/meam_funcs.cpp b/src/USER-MEAMC/meam_funcs.cpp index a67cbf2833..706075ffd0 100644 --- a/src/USER-MEAMC/meam_funcs.cpp +++ b/src/USER-MEAMC/meam_funcs.cpp @@ -271,7 +271,7 @@ MEAM::get_Zij(const lattice_t latt) return 12; case B2: return 8; - case CH4: // DYNAMO currenly implemented this way while it needs two Z values, 4 and 1 + case CH4: // DYNAMO currently implemented this way while it needs two Z values, 4 and 1 return 4; case LIN: case ZIG: diff --git a/src/USER-MEAMC/meam_setup_done.cpp b/src/USER-MEAMC/meam_setup_done.cpp index 8dfebe8ed5..b37f56dda2 100644 --- a/src/USER-MEAMC/meam_setup_done.cpp +++ b/src/USER-MEAMC/meam_setup_done.cpp @@ -95,7 +95,7 @@ MEAM::alloyparams(void) for (i = 0; i < this->neltypes; i++) { for (j = 0; j < this->neltypes; j++) { // Treat off-diagonal pairs - // If i>j, set all equal to i<j case (which has aready been set, + // If i>j, set all equal to i<j case (which has already been set, // here or in the input file) if (i > j) { this->re_meam[i][j] = this->re_meam[j][i]; diff --git a/src/USER-MGPT/pair_mgpt.cpp b/src/USER-MGPT/pair_mgpt.cpp index 0634872c70..213f73f05a 100644 --- a/src/USER-MGPT/pair_mgpt.cpp +++ b/src/USER-MGPT/pair_mgpt.cpp @@ -118,7 +118,7 @@ void PairMGPT::make_bond(const double xx[][3],int i,int j,bond_data *bptr) { double t0,t1; - /* Check that alignment requirements for SIMD code are fullfilled */ + /* Check that alignment requirements for SIMD code are fulfilled */ assert( (((unsigned long long int) (bptr->H.m )) & 31) == 0 ); assert( (((unsigned long long int) (bptr->Hx.m)) & 31) == 0 ); assert( (((unsigned long long int) (bptr->Hy.m)) & 31) == 0 ); diff --git a/src/USER-MISC/compute_cnp_atom.cpp b/src/USER-MISC/compute_cnp_atom.cpp index ba97be25d4..34882b0272 100644 --- a/src/USER-MISC/compute_cnp_atom.cpp +++ b/src/USER-MISC/compute_cnp_atom.cpp @@ -12,7 +12,7 @@ Common Neighbor Parameter as proposed in: Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007) - Cite: http://dx.doi.org/10.1063/1.2197987 + Cite: https://doi.org/10.1063/1.2197987 ------------------------------------------------------------------------- */ @@ -161,7 +161,7 @@ void ComputeCNPAtom::compute_peratom() numneigh = list->numneigh; firstneigh = list->firstneigh; - // find the neigbors of each atom within cutoff using full neighbor list + // find the neighbors of each atom within cutoff using full neighbor list // nearest[] = atom indices of nearest neighbors, up to MAXNEAR // do this for all atoms, not just compute group // since CNP calculation requires neighbors of neighbors diff --git a/src/USER-MISC/compute_hma.cpp b/src/USER-MISC/compute_hma.cpp index f552126f4f..d1f3e6b6f8 100644 --- a/src/USER-MISC/compute_hma.cpp +++ b/src/USER-MISC/compute_hma.cpp @@ -31,16 +31,16 @@ More information about HMA is available in these publications: A. J. Schultz, D. A. Kofke, “Comprehensive high-precision high-accuracy equation of state and coexistence properties for classical Lennard-Jones crystals and low-temperature fluid phases”, J. Chem. Phys. 149, 204508 (2018) -https://dx.doi.org/10.1063/1.5053714 +https://doi.org/10.1063/1.5053714 S. G. Moustafa, A. J. Schultz, D. A. Kofke, “Harmonically Assisted Methods for Computing the Free Energy of Classical Crystals by Molecular Simulation: A Comparative Study”, J. Chem. Theory Comput. 13, 825-834 (2017) -https://dx.doi.org/10.1021/acs.jctc.6b01082 +https://doi.org/10.1021/acs.jctc.6b01082 S. G. Moustafa, A. J. Schultz, D. A. Kofke, “Very fast averaging of thermal properties of crystals by molecular simulation”, Phys. Rev. E 92, 043303 (2015) -https://dx.doi.org/10.1103/PhysRevE.92.043303 +https://doi.org/10.1103/PhysRevE.92.043303 ------------------------------------------------------------------------- */ #include <cmath> diff --git a/src/USER-MISC/compute_stress_mop.cpp b/src/USER-MISC/compute_stress_mop.cpp index 2f932321e1..c403ed3247 100644 --- a/src/USER-MISC/compute_stress_mop.cpp +++ b/src/USER-MISC/compute_stress_mop.cpp @@ -318,7 +318,7 @@ void ComputeStressMop::compute_pairs() if (newton_pair || j < nlocal) { - //check if ij pair is accross plane, add contribution to pressure + //check if ij pair is across plane, add contribution to pressure if ( ((xi[dir]>pos) && (xj[dir]<pos)) || ((xi[dir]>pos1) && (xj[dir]<pos1)) ) { pair->single(i,j,itype,jtype,rsq,factor_coul,factor_lj,fpair); diff --git a/src/USER-MISC/compute_stress_mop_profile.cpp b/src/USER-MISC/compute_stress_mop_profile.cpp index 5f6d0a36b2..9649a61090 100644 --- a/src/USER-MISC/compute_stress_mop_profile.cpp +++ b/src/USER-MISC/compute_stress_mop_profile.cpp @@ -333,7 +333,7 @@ void ComputeStressMopProfile::compute_pairs() pos = coord[ibin][0]; pos1 = coordp[ibin][0]; - //check if ij pair is accross plane, add contribution to pressure + //check if ij pair is across plane, add contribution to pressure if ( ((xi[dir]>pos) && (xj[dir]<pos)) || ((xi[dir]>pos1) && (xj[dir]<pos1)) ) { @@ -360,7 +360,7 @@ void ComputeStressMopProfile::compute_pairs() pos = coord[ibin][0]; pos1 = coordp[ibin][0]; - //check if ij pair is accross plane, add contribution to pressure + //check if ij pair is across plane, add contribution to pressure if ( ((xi[dir]>pos) && (xj[dir]<pos)) || ((xi[dir]>pos1) && (xj[dir]<pos1)) ) { diff --git a/src/USER-MISC/dihedral_table.cpp b/src/USER-MISC/dihedral_table.cpp index a14c3d9d79..7478f70aa9 100644 --- a/src/USER-MISC/dihedral_table.cpp +++ b/src/USER-MISC/dihedral_table.cpp @@ -1152,7 +1152,7 @@ void DihedralTable::read_table(Table *tb, char *file, char *keyword) if (! line_ss) { stringstream err_msg; err_msg << "Read error in table "<< keyword<<", near line "<<i+1<<"\n" - << " (Check to make sure the number of colums is correct.)"; + << " (Check to make sure the number of columns is correct.)"; if ((! tb->f_unspecified) && (i==0)) err_msg << "\n (This sometimes occurs if users forget to specify the \"NOF\" option.)\n"; error->one(FLERR, err_msg.str().c_str()); diff --git a/src/USER-MISC/dihedral_table_cut.cpp b/src/USER-MISC/dihedral_table_cut.cpp index 8d530253c2..194c25f536 100644 --- a/src/USER-MISC/dihedral_table_cut.cpp +++ b/src/USER-MISC/dihedral_table_cut.cpp @@ -1140,7 +1140,7 @@ void DihedralTableCut::read_table(Table *tb, char *file, char *keyword) if (! line_ss) { stringstream err_msg; err_msg << "Read error in table "<< keyword<<", near line "<<i+1<<"\n" - << " (Check to make sure the number of colums is correct.)"; + << " (Check to make sure the number of columns is correct.)"; if ((! tb->f_unspecified) && (i==0)) err_msg << "\n (This sometimes occurs if users forget to specify the \"NOF\" option.)\n"; error->one(FLERR, err_msg.str().c_str()); diff --git a/src/USER-MISC/fix_filter_corotate.cpp b/src/USER-MISC/fix_filter_corotate.cpp index bfc5f58f93..52e979d32c 100644 --- a/src/USER-MISC/fix_filter_corotate.cpp +++ b/src/USER-MISC/fix_filter_corotate.cpp @@ -54,7 +54,7 @@ static const char cite_filter_corotate[] = " Year = {2017},\n" " Pages = {180 - 198},\n" " Volume = {333},\n\n" - " Doi = {http://dx.doi.org/10.1016/j.jcp.2016.12.024},\n" + " Doi = {https://doi.org/10.1016/j.jcp.2016.12.024},\n" " ISSN = {0021-9991},\n" " Keywords = {Mollified impulse method},\n" " Url = {http://www.sciencedirect.com/science/article/pii/S0021999116306787}\n" diff --git a/src/USER-MISC/fix_flow_gauss.cpp b/src/USER-MISC/fix_flow_gauss.cpp index 70be1f1e45..c7b7f86d37 100644 --- a/src/USER-MISC/fix_flow_gauss.cpp +++ b/src/USER-MISC/fix_flow_gauss.cpp @@ -37,7 +37,7 @@ static const char cite_flow_gauss[] = "title = {The Dynamics of Water in Porous Two-Dimensional Crystals},\n" "volume = {121},\n" "number = {1},\n" - "url = {http://dx.doi.org/10.1021/acs.jpcb.6b09387},\n" + "url = {https://doi.org/10.1021/acs.jpcb.6b09387},\n" "doi = {10.1021/acs.jpcb.6b09387},\n" "urldate = {2016-12-07},\n" "journal = {J. Phys. Chem. B},\n" @@ -188,7 +188,7 @@ void FixFlowGauss::post_force(int /*vflag*/) for (ii=0; ii<3; ii++) a_app[ii] = -f_tot[ii] / mTot; - //apply added accelleration to each atom + //apply added acceleration to each atom double f_app[3]; double peAdded=0.0; for( ii = 0; ii<nlocal; ii++) diff --git a/src/USER-MISC/fix_grem.cpp b/src/USER-MISC/fix_grem.cpp index 4272740068..9600cce90e 100644 --- a/src/USER-MISC/fix_grem.cpp +++ b/src/USER-MISC/fix_grem.cpp @@ -11,8 +11,8 @@ See the README file in the top-level LAMMPS directory. Force scaling fix for gREM. - Cite: http://dx.doi.org/10.1063/1.3432176 - Cite: http://dx.doi.org/10.1021/acs.jpcb.5b07614 + Cite: https://doi.org/10.1063/1.3432176 + Cite: https://doi.org/10.1021/acs.jpcb.5b07614 ------------------------------------------------------------------------- */ diff --git a/src/USER-MISC/fix_ipi.cpp b/src/USER-MISC/fix_ipi.cpp index 08b39ee89b..74e757c2e9 100644 --- a/src/USER-MISC/fix_ipi.cpp +++ b/src/USER-MISC/fix_ipi.cpp @@ -107,7 +107,7 @@ static void open_socket(int &sockfd, int inet, int port, char* host, } else { // creates a unix socket struct sockaddr_un serv_addr; - // fills up details of the socket addres + // fills up details of the socket address memset(&serv_addr, 0, sizeof(serv_addr)); serv_addr.sun_family = AF_UNIX; strcpy(serv_addr.sun_path, "/tmp/ipi_"); diff --git a/src/USER-MISC/fix_pimd.cpp b/src/USER-MISC/fix_pimd.cpp index 8f790f0a59..73e1ff434c 100644 --- a/src/USER-MISC/fix_pimd.cpp +++ b/src/USER-MISC/fix_pimd.cpp @@ -57,7 +57,7 @@ FixPIMD::FixPIMD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) if(strcmp(arg[i+1],"pimd")==0) method=PIMD; else if(strcmp(arg[i+1],"nmpimd")==0) method=NMPIMD; else if(strcmp(arg[i+1],"cmd")==0) method=CMD; - else error->universe_all(FLERR,"Unkown method parameter for fix pimd"); + else error->universe_all(FLERR,"Unknown method parameter for fix pimd"); } else if(strcmp(arg[i],"fmass")==0) { @@ -79,7 +79,7 @@ FixPIMD::FixPIMD(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg) nhc_nchain = atoi(arg[i+1]); if(nhc_nchain<2) error->universe_all(FLERR,"Invalid nhc value for fix pimd"); } - else error->universe_all(arg[i],i+1,"Unkown keyword for fix pimd"); + else error->universe_all(arg[i],i+1,"Unknown keyword for fix pimd"); } /* Initiation */ diff --git a/src/USER-MISC/fix_pimd.h b/src/USER-MISC/fix_pimd.h index c298af0b69..bed5b0a256 100644 --- a/src/USER-MISC/fix_pimd.h +++ b/src/USER-MISC/fix_pimd.h @@ -61,7 +61,7 @@ class FixPIMD : public Fix { void spring_force(); - /* fictious mass */ + /* fictitious mass */ double fmass, *mass; diff --git a/src/USER-MISC/fix_wall_reflect_stochastic.cpp b/src/USER-MISC/fix_wall_reflect_stochastic.cpp index bb6ffd7698..18bb7ec011 100644 --- a/src/USER-MISC/fix_wall_reflect_stochastic.cpp +++ b/src/USER-MISC/fix_wall_reflect_stochastic.cpp @@ -71,7 +71,7 @@ FixWallReflectStochastic(LAMMPS *lmp, int narg, char **arg) : seedfix = force->inumeric(FLERR,arg[4]); - if (seedfix <= 0) error->all(FLERR,"Random seed must be a postive number"); + if (seedfix <= 0) error->all(FLERR,"Random seed must be a positive number"); int iarg = 5; while (iarg < narg) { @@ -114,7 +114,7 @@ FixWallReflectStochastic(LAMMPS *lmp, int narg, char **arg) : if ((wallvel[nwall][dir] !=0) & (dir == dim)) error->all(FLERR,"The wall velocity must be tangential"); - // DIFFUSIVE = no accomodation coeffs + // DIFFUSIVE = no accommodation coeffs // MAXWELL = one for all dimensions // CCL = one for each dimension diff --git a/src/USER-MISC/pair_cosine_squared.cpp b/src/USER-MISC/pair_cosine_squared.cpp index 7c0cb3372d..7f3f6259d4 100644 --- a/src/USER-MISC/pair_cosine_squared.cpp +++ b/src/USER-MISC/pair_cosine_squared.cpp @@ -180,7 +180,7 @@ void PairCosineSquared::coeff(int narg, char **arg) } /* ---------------------------------------------------------------------- - init specific to this pair style (unneccesary) + init specific to this pair style (unnecessary) ------------------------------------------------------------------------- */ /* diff --git a/src/USER-MISC/pair_coul_shield.cpp b/src/USER-MISC/pair_coul_shield.cpp index 980b4a71d5..e6916f0d22 100644 --- a/src/USER-MISC/pair_coul_shield.cpp +++ b/src/USER-MISC/pair_coul_shield.cpp @@ -102,7 +102,7 @@ void PairCoulShield::compute(int eflag, int vflag) rsq = delx*delx + dely*dely + delz*delz; jtype = type[j]; - // only include the interation between different layers + // only include the interaction between different layers if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { r = sqrt(rsq); r3 = rsq*r; diff --git a/src/USER-MISC/pair_drip.cpp b/src/USER-MISC/pair_drip.cpp index 20ec3abcf9..020216f503 100644 --- a/src/USER-MISC/pair_drip.cpp +++ b/src/USER-MISC/pair_drip.cpp @@ -405,7 +405,7 @@ void PairDRIP::compute(int eflag, int vflag) Param& p = params[iparam_ij]; double rcutsq = p.rcutsq; - // only include the interation between different layers + // only include the interaction between different layers if (rsq < rcutsq && atom->molecule[i] != atom->molecule[j]) { double fj[DIM] = {0., 0., 0.}; diff --git a/src/USER-MISC/pair_e3b.cpp b/src/USER-MISC/pair_e3b.cpp index ae324e0a4a..46f22e714d 100644 --- a/src/USER-MISC/pair_e3b.cpp +++ b/src/USER-MISC/pair_e3b.cpp @@ -31,7 +31,7 @@ #include "domain.h" #include "citeme.h" -//these are defined here to avoid confusing hardcoded indicies, but +//these are defined here to avoid confusing hardcoded indices, but //they do not allow flexibility. If they are changed the code will break #define DIM 3 #define NUMH 2 //number of hydrogen atoms per water molecule diff --git a/src/USER-MISC/pair_extep.cpp b/src/USER-MISC/pair_extep.cpp index df232e029c..62ef24da85 100644 --- a/src/USER-MISC/pair_extep.cpp +++ b/src/USER-MISC/pair_extep.cpp @@ -718,7 +718,7 @@ void PairExTeP::read_file(char *file) // reallocate with new size words = new char*[params_per_line+1]; - // intialize F_corr_data to all zeros + // initialize F_corr_data to all zeros for (int iel=0;iel<nelements;iel++) for (int jel=0;jel<nelements;jel++) for (int in=0;in<4;in++) diff --git a/src/USER-MISC/pair_ilp_graphene_hbn.cpp b/src/USER-MISC/pair_ilp_graphene_hbn.cpp index 27cbd97f2d..cf77f7e1ee 100644 --- a/src/USER-MISC/pair_ilp_graphene_hbn.cpp +++ b/src/USER-MISC/pair_ilp_graphene_hbn.cpp @@ -500,7 +500,7 @@ void PairILPGrapheneHBN::calc_FvdW(int eflag, int /* vflag */) delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - // only include the interation between different layers + // only include the interaction between different layers if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { int iparam_ij = elem2param[map[itype]][map[jtype]]; @@ -593,7 +593,7 @@ void PairILPGrapheneHBN::calc_FRep(int eflag, int /* vflag */) delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - // only include the interation between different layers + // only include the interaction between different layers if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { int iparam_ij = elem2param[map[itype]][map[jtype]]; @@ -675,7 +675,7 @@ void PairILPGrapheneHBN::calc_FRep(int eflag, int /* vflag */) } /* ---------------------------------------------------------------------- - create ILP neighbor list from main neighbor list to calcualte normals + create ILP neighbor list from main neighbor list to calculate normals ------------------------------------------------------------------------- */ void PairILPGrapheneHBN::ILP_neigh() diff --git a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp index 92fbc4e9c0..3f624fc785 100644 --- a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp +++ b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp @@ -502,7 +502,7 @@ void PairKolmogorovCrespiFull::calc_FvdW(int eflag, int /* vflag */) delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - // only include the interation between different layers + // only include the interaction between different layers if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { int iparam_ij = elem2param[map[itype]][map[jtype]]; @@ -593,7 +593,7 @@ void PairKolmogorovCrespiFull::calc_FRep(int eflag, int /* vflag */) delz = ztmp - x[j][2]; rsq = delx*delx + dely*dely + delz*delz; - // only include the interation between different layers + // only include the interaction between different layers if (rsq < cutsq[itype][jtype] && atom->molecule[i] != atom->molecule[j]) { int iparam_ij = elem2param[map[itype]][map[jtype]]; diff --git a/src/USER-MISC/pair_mesocnt.cpp b/src/USER-MISC/pair_mesocnt.cpp index b073705dda..4864dab950 100644 --- a/src/USER-MISC/pair_mesocnt.cpp +++ b/src/USER-MISC/pair_mesocnt.cpp @@ -866,7 +866,7 @@ void PairMesoCNT::read_data(FILE *fp, double *data, } } - // warn if data was read incompletely, e.g. colums were missing + // warn if data was read incompletely, e.g. columns were missing if (cerror) { char str[128]; @@ -934,7 +934,7 @@ void PairMesoCNT::read_data(FILE *fp, double **data, } } - // warn if data was read incompletely, e.g. colums were missing + // warn if data was read incompletely, e.g. columns were missing if (cerror) { char str[128]; diff --git a/src/USER-MISC/pair_momb.cpp b/src/USER-MISC/pair_momb.cpp index 8786394221..010aa1e5fd 100644 --- a/src/USER-MISC/pair_momb.cpp +++ b/src/USER-MISC/pair_momb.cpp @@ -37,7 +37,7 @@ static const char cite_momb[] = " solution-phase synthesis of shape-selective Ag nanoparticles.},\n" "volume = {118},\n" "number = {6},\n" - "url = {http://dx.doi.org/10.1021/jp412098n},\n" + "url = {https://doi.org/10.1021/jp412098n},\n" "doi = {10.1021/jp412098n},\n" "journal = {J. Phys. Chem. C},\n" "author = {Zhou, Ya, Wissam A. Saidi, and Kristen A. Fichthorn},\n" diff --git a/src/USER-OMP/msm_cg_omp.cpp b/src/USER-OMP/msm_cg_omp.cpp index 3c5439db5d..7ca01dbd6a 100644 --- a/src/USER-OMP/msm_cg_omp.cpp +++ b/src/USER-OMP/msm_cg_omp.cpp @@ -199,7 +199,7 @@ void MSMCGOMP::compute(int eflag, int vflag) } - // compute direct interation for top grid level for non-periodic + // compute direct interaction for top grid level for non-periodic // and for second from top grid level for periodic if (active_flag[levels-1]) { diff --git a/src/USER-OMP/pair_airebo_omp.cpp b/src/USER-OMP/pair_airebo_omp.cpp index 7890c8aed3..aedf5056a6 100644 --- a/src/USER-OMP/pair_airebo_omp.cpp +++ b/src/USER-OMP/pair_airebo_omp.cpp @@ -1848,9 +1848,9 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, This function calculates S(t_b(b_ij*)) as specified in the AIREBO paper. To do so, it needs to compute b_ij*, i.e. the bondorder given that the -atoms i and j are placed a ficticious distance rijmag_mod apart. +atoms i and j are placed a fictitious distance rijmag_mod apart. Now there are two approaches to calculate the resulting forces: -1. Carry through the ficticious distance and corresponding vector +1. Carry through the fictitious distance and corresponding vector rij_mod, correcting afterwards using the derivative of r/|r|. 2. Perform all the calculations using the real distance, and do not use a correction, only using rijmag_mod where necessary. diff --git a/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp b/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp index 7735d6fde4..d8eedc6c0b 100644 --- a/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp +++ b/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp @@ -66,7 +66,7 @@ void PairLJLongTIP4PLongOMP::compute(int eflag, int vflag) ev_init(eflag,vflag); // reallocate hneigh_thr & newsite_thr if necessary - // initialize hneigh_thr[0] to -1 on steps when reneighboring occured + // initialize hneigh_thr[0] to -1 on steps when reneighboring occurred // initialize hneigh_thr[2] to 0 every step const int nlocal = atom->nlocal; const int nall = nlocal + atom->nghost; @@ -354,7 +354,7 @@ void PairLJLongTIP4PLongOMP::compute(int eflag, int vflag) void PairLJLongTIP4PLongOMP::compute_inner() { // reallocate hneigh_thr & newsite_thr if necessary - // initialize hneigh_thr[0] to -1 on steps when reneighboring occured + // initialize hneigh_thr[0] to -1 on steps when reneighboring occurred // initialize hneigh_thr[2] to 0 every step const int nall = atom->nlocal + atom->nghost; @@ -432,7 +432,7 @@ void PairLJLongTIP4PLongOMP::compute_outer(int eflag, int vflag) const int nall = atom->nlocal + atom->nghost; // reallocate hneigh_thr & newsite_thr if necessary - // initialize hneigh_thr[0] to -1 on steps when reneighboring occured + // initialize hneigh_thr[0] to -1 on steps when reneighboring occurred // initialize hneigh_thr[2] to 0 every step if (atom->nmax > nmax) { diff --git a/src/USER-OMP/pppm_cg_omp.cpp b/src/USER-OMP/pppm_cg_omp.cpp index 1117979f1f..f9967bf52a 100644 --- a/src/USER-OMP/pppm_cg_omp.cpp +++ b/src/USER-OMP/pppm_cg_omp.cpp @@ -281,7 +281,7 @@ void PPPMCGOMP::compute_gf_ad() } } thr->timer(Timer::KSPACE); - } // end of paralle region + } // end of parallel region // compute the coefficients for the self-force correction @@ -570,7 +570,7 @@ void PPPMCGOMP::fieldforce_ad() eky *= hy_inv; ekz *= hz_inv; - // convert E-field to force and substract self forces + // convert E-field to force and subtract self forces const double qi = q[i]; const double qfactor = qqrd2e * scale * qi; diff --git a/src/USER-OMP/pppm_disp_tip4p_omp.cpp b/src/USER-OMP/pppm_disp_tip4p_omp.cpp index bdd8f23ee4..ec294cd56d 100644 --- a/src/USER-OMP/pppm_disp_tip4p_omp.cpp +++ b/src/USER-OMP/pppm_disp_tip4p_omp.cpp @@ -951,7 +951,7 @@ void PPPMDispTIP4POMP::fieldforce_c_ad() eky *= hy_inv; ekz *= hz_inv; - // convert E-field to force and substract self forces + // convert E-field to force and subtract self forces const double qi = q[i]; const double qfactor = qqrd2e * scale * qi; diff --git a/src/USER-OMP/pppm_omp.cpp b/src/USER-OMP/pppm_omp.cpp index c6aaafaa31..b9b39826ff 100644 --- a/src/USER-OMP/pppm_omp.cpp +++ b/src/USER-OMP/pppm_omp.cpp @@ -281,7 +281,7 @@ void PPPMOMP::compute_gf_ad() } } thr->timer(Timer::KSPACE); - } // end of paralle region + } // end of parallel region // compute the coefficients for the self-force correction @@ -578,7 +578,7 @@ void PPPMOMP::fieldforce_ad() eky *= hy_inv; ekz *= hz_inv; - // convert E-field to force and substract self forces + // convert E-field to force and subtract self forces const double qi = q[i]; const double qfactor = qqrd2e * scale * qi; diff --git a/src/USER-OMP/pppm_tip4p_omp.cpp b/src/USER-OMP/pppm_tip4p_omp.cpp index 322730b573..359b5dcc8d 100644 --- a/src/USER-OMP/pppm_tip4p_omp.cpp +++ b/src/USER-OMP/pppm_tip4p_omp.cpp @@ -283,7 +283,7 @@ void PPPMTIP4POMP::compute_gf_ad() } } thr->timer(Timer::KSPACE); - } // end of paralle region + } // end of parallel region // compute the coefficients for the self-force correction @@ -681,7 +681,7 @@ void PPPMTIP4POMP::fieldforce_ad() eky *= hy_inv; ekz *= hz_inv; - // convert E-field to force and substract self forces + // convert E-field to force and subtract self forces const double qi = q[i]; const double qfactor = qqrd2e * scale * qi; diff --git a/src/USER-OMP/thr_data.h b/src/USER-OMP/thr_data.h index 2c1e42a3a3..4853d6dbbf 100644 --- a/src/USER-OMP/thr_data.h +++ b/src/USER-OMP/thr_data.h @@ -146,7 +146,7 @@ class ThrData { //////////////////////////////////////////////////////////////////////// // helper functions operating on data replicated for thread support // //////////////////////////////////////////////////////////////////////// -// generic per thread data reduction for continous arrays of nthreads*nmax size +// generic per thread data reduction for continuous arrays of nthreads*nmax size void data_reduce_thr(double *, int, int, int, int); } #endif diff --git a/src/USER-PHONON/fix_phonon.h b/src/USER-PHONON/fix_phonon.h index 91a380247a..f75139ce42 100644 --- a/src/USER-PHONON/fix_phonon.h +++ b/src/USER-PHONON/fix_phonon.h @@ -73,7 +73,7 @@ class FixPhonon : public Fix { double *M_inv_sqrt; - class FFT3d *fft; // to do fft via the fft3d wraper + class FFT3d *fft; // to do fft via the fft3d wrapper int nxlo,nxhi,mysize; // size info for local MPI_FFTW int mynpt,mynq,fft_nsend; int *fft_cnts, *fft_disp; diff --git a/src/USER-QUIP/pair_quip.cpp b/src/USER-QUIP/pair_quip.cpp index ffc6ac1c70..7c762208b7 100644 --- a/src/USER-QUIP/pair_quip.cpp +++ b/src/USER-QUIP/pair_quip.cpp @@ -298,8 +298,8 @@ void PairQUIP::coeff(int narg, char **arg) if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); // Initialise potential - // First call initialises potential via the fortran code in memory, and returns the necessary size - // of quip_potential. This behaviour is invoked by setting n_potential_quip to 0. + // First call initializes potential via the fortran code in memory, and returns the necessary size + // of quip_potential. This behavior is invoked by setting n_potential_quip to 0. n_quip_potential = 0; quip_potential = new int[0]; quip_lammps_potential_initialise(quip_potential,&n_quip_potential,&cutoff,quip_file,&n_quip_file,quip_string,&n_quip_string); diff --git a/src/USER-REACTION/fix_bond_react.cpp b/src/USER-REACTION/fix_bond_react.cpp index b2bb66b288..44e2bd172e 100644 --- a/src/USER-REACTION/fix_bond_react.cpp +++ b/src/USER-REACTION/fix_bond_react.cpp @@ -617,7 +617,7 @@ void FixBondReact::post_constructor() delete [] exclude_PARENT_group; // on to statted_tags (system-wide thermostat) - // intialize per-atom statted_flags to 1 + // initialize per-atom statted_flags to 1 // (only if not already initialized by restart) if (fix3->restart_reset != 1) { int flag; @@ -650,7 +650,7 @@ void FixBondReact::post_constructor() statted_id = new char[len]; strcpy(statted_id,idprop); - // intialize per-atom statted_tags to 1 + // initialize per-atom statted_tags to 1 // need to correct for smooth restarts //int flag; //int index = atom->find_custom(statted_id,flag); @@ -1325,7 +1325,7 @@ void FixBondReact::make_a_guess() // if so, this constitutes a fail // because still undergoing a previous reaction! // could technically fail unnecessarily during a wrong guess if near edge atoms - // we accept this temporary and infrequent decrease in reaction occurences + // we accept this temporary and infrequent decrease in reaction occurrences for (int i = 0; i < nxspecial[atom->map(glove[pion][1])][0]; i++) { if (atom->map(xspecial[atom->map(glove[pion][1])][i]) < 0) { @@ -1922,7 +1922,7 @@ void FixBondReact::find_landlocked_atoms(int myrxn) { // landlocked_atoms are atoms for which all topology is contained in reacted template // if dihedrals/impropers exist: this means that edge atoms are not in their 1-3 neighbor list - // note: due to various usage/defintions of impropers, treated same as dihedrals + // note: due to various usage/definitions of impropers, treated same as dihedrals // if angles exist: this means edge atoms not in their 1-2 neighbors list // if just bonds: this just means that edge atoms are not landlocked // Note: landlocked defined in terms of reacted template diff --git a/src/USER-SMD/atom_vec_smd.cpp b/src/USER-SMD/atom_vec_smd.cpp index 604504c5a7..ef14eacdc2 100644 --- a/src/USER-SMD/atom_vec_smd.cpp +++ b/src/USER-SMD/atom_vec_smd.cpp @@ -219,7 +219,7 @@ int AtomVecSMD::pack_comm_vel(int n, int *list, double *buf, int pbc_flag, int * // no need to communicate x0 here, as it is not changed by time integration // if x0 is changed when the ref config is updated, this communication is performed in the fix_integrate/tlsph - // similarily, rmass could be removed here. + // similarly, rmass could be removed here. // radius should be communicated here for future time-integration of the radius with ulsph (not implemented yet) int i, j, m; double dx, dy, dz, dvx, dvy, dvz; diff --git a/src/USER-SMD/pair_smd_tlsph.cpp b/src/USER-SMD/pair_smd_tlsph.cpp index 82b7c8ff9d..cad9923054 100644 --- a/src/USER-SMD/pair_smd_tlsph.cpp +++ b/src/USER-SMD/pair_smd_tlsph.cpp @@ -913,7 +913,7 @@ void PairTlsph::settings(int narg, char **arg) { /* * default value for update_threshold for updates of reference configuration: * The maximum relative displacement which is tracked by the construction of LAMMPS' neighborlists - * is the folowing. + * is the following. */ cut_comm = MAX(neighbor->cutneighmax, comm->cutghostuser); // cutoff radius within which ghost atoms are communicated. diff --git a/src/USER-SMD/pair_smd_tlsph.h b/src/USER-SMD/pair_smd_tlsph.h index 62e7ce2295..31a238d564 100644 --- a/src/USER-SMD/pair_smd_tlsph.h +++ b/src/USER-SMD/pair_smd_tlsph.h @@ -195,7 +195,7 @@ protected: private: double **Lookup; // holds per-type material parameters for the quantities defined in enum statement above. - bool first; // if first is true, do not perform any computations, beacuse reference configuration is not ready yet. + bool first; // if first is true, do not perform any computations, because reference configuration is not ready yet. }; } diff --git a/src/USER-SMD/pair_smd_triangulated_surface.cpp b/src/USER-SMD/pair_smd_triangulated_surface.cpp index f9052be087..53a93df7f7 100644 --- a/src/USER-SMD/pair_smd_triangulated_surface.cpp +++ b/src/USER-SMD/pair_smd_triangulated_surface.cpp @@ -481,7 +481,7 @@ double PairTriSurf::memory_usage() { % Release: 1.2 Fixed Bug because of typo in region 5 20101013 % Release: 1.3 Fixed Bug because of typo in region 2 20101014 - % Possible extention could be a version tailored not to return the distance + % Possible extension could be a version tailored not to return the distance % and additionally the closest point, but instead return only the closest % point. Could lead to a small speed gain. diff --git a/src/USER-SMD/smd_material_models.cpp b/src/USER-SMD/smd_material_models.cpp index 5ee67fbb4e..096600df52 100644 --- a/src/USER-SMD/smd_material_models.cpp +++ b/src/USER-SMD/smd_material_models.cpp @@ -263,7 +263,7 @@ void LinearPlasticStrength(const double G, const double yieldStress, const Matri if (J2 < yieldStress) { /* - * no yielding has occured. + * no yielding has occurred. * final deviatoric stress is trial deviatoric stress */ sigma_dev_rate__ = dev_rate; @@ -274,7 +274,7 @@ void LinearPlasticStrength(const double G, const double yieldStress, const Matri } else { //printf("yiedl\n"); /* - * yielding has occured + * yielding has occurred */ plastic_strain_increment = (J2 - yieldStress) / (3.0 * G); @@ -288,7 +288,7 @@ void LinearPlasticStrength(const double G, const double yieldStress, const Matri * new deviatoric stress rate */ sigma_dev_rate__ = sigmaFinal_dev__ - sigmaInitial_dev; - //printf("yielding has occured.\n"); + //printf("yielding has occurred.\n"); } } @@ -344,7 +344,7 @@ void JohnsonCookStrength(const double G, const double cp, const double espec, co if (J2 < yieldStress) { /* - * no yielding has occured. + * no yielding has occurred. * final deviatoric stress is trial deviatoric stress */ sigma_dev_rate__ = dev_rate; @@ -355,7 +355,7 @@ void JohnsonCookStrength(const double G, const double cp, const double espec, co } else { //printf("yiedl\n"); /* - * yielding has occured + * yielding has occurred */ plastic_strain_increment = (J2 - yieldStress) / (3.0 * G); @@ -369,7 +369,7 @@ void JohnsonCookStrength(const double G, const double cp, const double espec, co * new deviatoric stress rate */ sigma_dev_rate__ = sigmaFinal_dev__ - sigmaInitial_dev; - //printf("yielding has occured.\n"); + //printf("yielding has occurred.\n"); } } @@ -452,7 +452,7 @@ double JohnsonCookFailureStrain(const double p, const Matrix3d Sdev, const doubl } // determine stress triaxiality - double triax = p / (vm + 0.01 * fabs(p)); // have softening in denominator to avoid divison by zero + double triax = p / (vm + 0.01 * fabs(p)); // have softening in denominator to avoid division by zero if (triax < 0.0) { triax = 0.0; } else if (triax > 3.0) { diff --git a/src/USER-SMTBQ/pair_smtbq.h b/src/USER-SMTBQ/pair_smtbq.h index 05e4b67242..c83e1b5cf1 100644 --- a/src/USER-SMTBQ/pair_smtbq.h +++ b/src/USER-SMTBQ/pair_smtbq.h @@ -56,8 +56,8 @@ protected: double rmin,dr,ds; // table parameter int kmax; bigint Qstep; // Frequency of charge resolution - double precision; // acuracy of convergence - int loopmax; // max of interation + double precision; // accuracy of convergence + int loopmax; // max of iteration double cutmax; // max cutoff for all elements int nelements; // # of unique elements diff --git a/src/USER-UEF/fix_nh_uef.cpp b/src/USER-UEF/fix_nh_uef.cpp index 8873688eb7..a3a2dc476c 100644 --- a/src/USER-UEF/fix_nh_uef.cpp +++ b/src/USER-UEF/fix_nh_uef.cpp @@ -53,7 +53,7 @@ static const char cite_user_uef_package[] = "}\n\n"; /* ---------------------------------------------------------------------- - * Parse fix specific keywords, do some error checking, and initalize + * Parse fix specific keywords, do some error checking, and initialize * temp/pressure fixes ---------------------------------------------------------------------- */ FixNHUef::FixNHUef(LAMMPS *lmp, int narg, char **arg) : diff --git a/src/USER-VTK/dump_vtk.h b/src/USER-VTK/dump_vtk.h index 8df14c7f34..e8de87f11c 100644 --- a/src/USER-VTK/dump_vtk.h +++ b/src/USER-VTK/dump_vtk.h @@ -185,7 +185,7 @@ E: Compute used in dump between runs is not current The compute was not invoked on the current timestep, therefore it cannot be used in a dump between runs. -E: Threshhold for an atom property that isn't allocated +E: Threshold for an atom property that isn't allocated A dump threshold has been requested on a quantity that is not defined by the atom style used in this simulation. diff --git a/src/USER-YAFF/README b/src/USER-YAFF/README index 4fabe67390..9d095b8216 100644 --- a/src/USER-YAFF/README +++ b/src/USER-YAFF/README @@ -1,8 +1,8 @@ This package implements the styles that are needed to use typical force fields generated by QuickFF for the simulation of metal-organic frameworks. The QuickFF methodology is detailed in following papers: - Vanduyfhuys et al., J. Comput. Chem., 36 (13), 1015-1027 (2015) http://dx.doi.org/10.1002/jcc.23877 - Vanduyfhuys et al., J. Comput. Chem., 39 (16), 999-1011 (2018) http://dx.doi.org/10.1002/jcc.25173 + Vanduyfhuys et al., J. Comput. Chem., 36 (13), 1015-1027 (2015) https://doi.org/10.1002/jcc.23877 + Vanduyfhuys et al., J. Comput. Chem., 39 (16), 999-1011 (2018) https://doi.org/10.1002/jcc.25173 The corresponding software package can be found on http://molmod.github.io/QuickFF diff --git a/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp b/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp index 022b93a0d2..37fc143e8b 100644 --- a/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp +++ b/src/USER-YAFF/pair_lj_switch3_coulgauss_long.cpp @@ -166,7 +166,7 @@ void PairLJSwitch3CoulGaussLong::compute(int eflag, int vflag) forcelj = r6inv*(12.0*lj3[itype][jtype]*r6inv - 6.0*lj4[itype][jtype]); // Correction for Gaussian radii if (lj2[itype][jtype]==0.0) { - // This means a point charge is considerd, so the correction is zero + // This means a point charge is considered, so the correction is zero expn2 = 0.0; erfc2 = 0.0; forcecoul2 = 0.0; diff --git a/src/VORONOI/README b/src/VORONOI/README index 9a83c95a8d..ede104a678 100644 --- a/src/VORONOI/README +++ b/src/VORONOI/README @@ -7,7 +7,7 @@ developed by Chris H. Rycroft while at UC Berkeley / Lawrence Berkeley Laboratory. That library can be downloaded and built in lib/voronoi or elsewhere -on your system, which must be done before bulding LAMMPS with this +on your system, which must be done before building LAMMPS with this package. Details of the download, build, and install process for Voro++ are given in the lib/voronoi/README file, and scripts are provided to help automate the process. Also see the LAMMPS manual for diff --git a/src/comm.cpp b/src/comm.cpp index f5b1c0246b..6a762036d1 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -845,7 +845,7 @@ void Comm::ring(int n, int nper, void *inbuf, int messtag, rendezvous communication operation three stages: first comm sends inbuf from caller decomp to rvous decomp - callback operates on data in rendevous decomp + callback operates on data in rendezvous decomp second comm sends outbuf from rvous decomp back to caller decomp inputs: which = perform (0) irregular or (1) MPI_All2allv communication @@ -977,7 +977,7 @@ rendezvous_all2all(int n, char *inbuf, int insize, int inorder, int *procs, bigint *offsets; char *inbuf_a2a,*outbuf_a2a; - // create procs and inbuf for All2all if necesary + // create procs and inbuf for All2all if necessary if (!inorder) { memory->create(procs_a2a,nprocs,"rendezvous:procs"); @@ -1080,7 +1080,7 @@ rendezvous_all2all(int n, char *inbuf, int insize, int inorder, int *procs, return 0; // all nout_rvous are 0, no 2nd irregular } - // create procs and outbuf for All2all if necesary + // create procs and outbuf for All2all if necessary if (!outorder) { memory->create(procs_a2a,nprocs,"rendezvous_a2a:procs"); diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp index ecf382ab03..c5ec8b35f4 100644 --- a/src/comm_brick.cpp +++ b/src/comm_brick.cpp @@ -567,7 +567,7 @@ void CommBrick::reverse_comm() atoms exchanged with all 6 stencil neighbors send out atoms that have left my box, receive ones entering my box atoms will be lost if not inside a stencil proc's box - can happen if atom moves outside of non-periodic bounary + can happen if atom moves outside of non-periodic boundary or if atom moves more than one proc away this routine called before every reneighboring for triclinic, atoms must be in lamda coords (0-1) before exchange is called diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 57b7f7e91e..a7eb6dfe80 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -618,7 +618,7 @@ void CommTiled::reverse_comm() atoms exchanged with procs that touch sub-box in each of 3 dims send out atoms that have left my box, receive ones entering my box atoms will be lost if not inside a touching proc's box - can happen if atom moves outside of non-periodic bounary + can happen if atom moves outside of non-periodic boundary or if atom moves more than one proc away this routine called before every reneighboring for triclinic, atoms must be in lamda coords (0-1) before exchange is called diff --git a/src/compute_cna_atom.cpp b/src/compute_cna_atom.cpp index 054798f637..5f0f047958 100644 --- a/src/compute_cna_atom.cpp +++ b/src/compute_cna_atom.cpp @@ -142,7 +142,7 @@ void ComputeCNAAtom::compute_peratom() numneigh = list->numneigh; firstneigh = list->firstneigh; - // find the neigbours of each atom within cutoff using full neighbor list + // find the neighbors of each atom within cutoff using full neighbor list // nearest[] = atom indices of nearest neighbors, up to MAXNEAR // do this for all atoms, not just compute group // since CNA calculation requires neighbors of neighbors diff --git a/src/compute_orientorder_atom.cpp b/src/compute_orientorder_atom.cpp index dcb104fc3a..3dafd08a0f 100644 --- a/src/compute_orientorder_atom.cpp +++ b/src/compute_orientorder_atom.cpp @@ -508,7 +508,7 @@ void ComputeOrientOrderAtom::calc_boop(double **rlist, // TODO: // 1. [done]Need to allocate extra memory in qnarray[] for this option // 2. [done]Need to add keyword option - // 3. [done]Need to caclulate Clebsch-Gordan/Wigner 3j coefficients + // 3. [done]Need to calculate Clebsch-Gordan/Wigner 3j coefficients // (Can try getting them from boop.py first) // 5. [done]Compare to bcc values in /Users/athomps/netapp/codes/MatMiner/matminer/matminer/featurizers/boop.py // 6. [done]I get the right answer for W_l, but need to make sure that factor of 1/sqrt(l+1) is right for cglist diff --git a/src/dump_image.cpp b/src/dump_image.cpp index 7e6bc0c44c..a78c214e08 100644 --- a/src/dump_image.cpp +++ b/src/dump_image.cpp @@ -403,7 +403,7 @@ DumpImage::DumpImage(LAMMPS *lmp, int narg, char **arg) : image->buffers(); - // communication neede for bonds colored by atoms + // communication needed for bonds colored by atoms if (bondflag) { if (bcolor == ATOM || bdiam == ATOM) comm_forward = 3; diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index 5ca1ec124a..83973efab7 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -239,7 +239,7 @@ void FixBalance::pre_exchange() /* ---------------------------------------------------------------------- compute final imbalance factor based on nlocal after comm->exchange() - only do this if rebalancing just occured + only do this if rebalancing just occurred ------------------------------------------------------------------------- */ void FixBalance::pre_neighbor() diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 9d84c4bb62..727065dafb 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -971,7 +971,7 @@ void FixDeform::restart(char *buf) set[i].hi_initial = set_restart[i].hi_initial; set[i].vol_initial = set_restart[i].vol_initial; set[i].tilt_initial = set_restart[i].tilt_initial; - // check if style settings are consitent (should do the whole set?) + // check if style settings are consistent (should do the whole set?) if (set[i].style != set_restart[i].style) samestyle = 0; if (set[i].substyle != set_restart[i].substyle) diff --git a/src/fix_tmd.cpp b/src/fix_tmd.cpp index cfe9a9572e..604660e7c4 100644 --- a/src/fix_tmd.cpp +++ b/src/fix_tmd.cpp @@ -13,7 +13,7 @@ /* ---------------------------------------------------------------------- Contributing authors: Paul Crozier (SNL) - Christian Burisch (Bochum Univeristy, Germany) + Christian Burisch (Bochum University, Germany) ------------------------------------------------------------------------- */ #include "fix_tmd.h" diff --git a/src/hashlittle.cpp b/src/hashlittle.cpp index c3824b71fe..5c336c2082 100644 --- a/src/hashlittle.cpp +++ b/src/hashlittle.cpp @@ -173,7 +173,7 @@ uint32_t LAMMPS_NS::hashlittle(const void *key, size_t length, uint32_t initval) * rest of the string. Every machine with memory protection I've seen * does it on word boundaries, so is OK with this. But VALGRIND will * still catch it and complain. The masking trick does make the hash - * noticably faster for short strings (like English words). + * noticeably faster for short strings (like English words). */ #ifndef VALGRIND diff --git a/src/input.cpp b/src/input.cpp index 6adf37e847..7024814896 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -1177,7 +1177,7 @@ void Input::print() if (narg < 1) error->all(FLERR,"Illegal print command"); // copy 1st arg back into line (copy is being used) - // check maxline since arg[0] could have been exanded by variables + // check maxline since arg[0] could have been expanded by variables // substitute for $ variables (no printing) and print arg int n = strlen(arg[0]) + 1; diff --git a/src/kspace.h b/src/kspace.h index 4bae983364..5a0790b63d 100644 --- a/src/kspace.h +++ b/src/kspace.h @@ -64,7 +64,7 @@ class KSpace : protected Pointers { double accuracy; // accuracy of KSpace solver (force units) double accuracy_absolute; // user-specified accuracy in force units double accuracy_relative; // user-specified dimensionless accuracy - // accurary = acc_rel * two_charge_force + // accuracy = acc_rel * two_charge_force double accuracy_real_6; // real space accuracy for // dispersion solver (force units) double accuracy_kspace_6; // reciprocal space accuracy for diff --git a/src/lammps.cpp b/src/lammps.cpp index 4b09429b52..0e3ec7d062 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -785,7 +785,7 @@ void LAMMPS::create() /* ---------------------------------------------------------------------- check suffix consistency with installed packages - invoke package-specific deafult package commands + invoke package-specific default package commands only invoke if suffix is set and enabled also check if suffix2 is set called from LAMMPS constructor and after clear() command diff --git a/src/library.cpp b/src/library.cpp index ee98e47aaa..72fcbba833 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -537,35 +537,19 @@ void *lammps_extract_compute(void *ptr, char *id, int style, int type) if (style == 1) { if (!compute->peratom_flag) return NULL; - if (type == 1) { - if (compute->invoked_peratom != lmp->update->ntimestep) - compute->compute_peratom(); - return (void *) compute->vector_atom; - } - if (type == 2) { - if (compute->invoked_peratom != lmp->update->ntimestep) - compute->compute_peratom(); - return (void *) compute->array_atom; - } + if (compute->invoked_peratom != lmp->update->ntimestep) + compute->compute_peratom(); + if (type == 1) return (void *) compute->vector_atom; + if (type == 2) return (void *) compute->array_atom; } if (style == 2) { if (!compute->local_flag) return NULL; - if (type == 0) { - if (compute->invoked_local != lmp->update->ntimestep) - compute->compute_local(); - return (void *) &compute->size_local_rows; - } - if (type == 1) { - if (compute->invoked_local != lmp->update->ntimestep) - compute->compute_local(); - return (void *) compute->vector_local; - } - if (type == 2) { - if (compute->invoked_local != lmp->update->ntimestep) - compute->compute_local(); - return (void *) compute->array_local; - } + if (compute->invoked_local != lmp->update->ntimestep) + compute->compute_local(); + if (type == 0) return (void *) &compute->size_local_rows; + if (type == 1) return (void *) compute->vector_local; + if (type == 2) return (void *) compute->array_local; } } END_CAPTURE @@ -637,6 +621,7 @@ void *lammps_extract_fix(void *ptr, char *id, int style, int type, if (style == 2) { if (!fix->local_flag) return NULL; + if (type == 0) return (void *) &fix->size_local_rows; if (type == 1) return (void *) fix->vector_local; if (type == 2) return (void *) fix->array_local; } diff --git a/src/min_cg.cpp b/src/min_cg.cpp index 9db1fd9799..46da4bfa5b 100644 --- a/src/min_cg.cpp +++ b/src/min_cg.cpp @@ -113,7 +113,7 @@ int MinCG::iterate(int maxiter) if (update->ftol > 0.0) { if (normstyle == MAX) fdotf = fnorm_max(); // max force norm else if (normstyle == INF) fdotf = fnorm_inf(); // infinite force norm - else if (normstyle == TWO) fdotf = fnorm_sqr(); // Euclidean force 2-norm + else if (normstyle == TWO) fdotf = dotall[0]; // same as fnorm_sqr(), Euclidean force 2-norm else error->all(FLERR,"Illegal min_modify command"); if (fdotf < update->ftol*update->ftol) return FTOL; } diff --git a/src/min_fire.cpp b/src/min_fire.cpp index 4aeeddf6b2..53bedfbb6c 100644 --- a/src/min_fire.cpp +++ b/src/min_fire.cpp @@ -87,6 +87,7 @@ void MinFire::setup_style() for (int i = 0; i < nlocal; i++) v[i][0] = v[i][1] = v[i][2] = 0.0; + flagv0 = 1; } /* ---------------------------------------------------------------------- @@ -259,14 +260,40 @@ int MinFire::iterate(int maxiter) if (halfstepback_flag) { for (int i = 0; i < nlocal; i++) { - x[i][0] -= 0.5 * dtv * v[i][0]; - x[i][1] -= 0.5 * dtv * v[i][1]; - x[i][2] -= 0.5 * dtv * v[i][2]; + x[i][0] -= 0.5 * dt * v[i][0]; + x[i][1] -= 0.5 * dt * v[i][1]; + x[i][2] -= 0.5 * dt * v[i][2]; } } for (int i = 0; i < nlocal; i++) v[i][0] = v[i][1] = v[i][2] = 0.0; + flagv0 = 1; + } + + // evaluates velocties to estimate wether dtv has to be limited + // required when v have been reset + + if (flagv0) { + dtf = dt * force->ftm2v; + energy_force(0); + neval++; + + if (rmass) { + for (int i = 0; i < nlocal; i++) { + dtfm = dtf / rmass[i]; + v[i][0] = dtfm * f[i][0]; + v[i][1] = dtfm * f[i][1]; + v[i][2] = dtfm * f[i][2]; + } + } else { + for (int i = 0; i < nlocal; i++) { + dtfm = dtf / mass[type[i]]; + v[i][0] = dtfm * f[i][0]; + v[i][1] = dtfm * f[i][1]; + v[i][2] = dtfm * f[i][2]; + } + } } // limit timestep so no particle moves further than dmax @@ -281,6 +308,13 @@ int MinFire::iterate(int maxiter) MPI_Allreduce(&dtvone,&dtv,1,MPI_DOUBLE,MPI_MIN,world); + // reset velocities when necessary + + if (flagv0) { + for (int i = 0; i < nlocal; i++) + v[i][0] = v[i][1] = v[i][2] = 0.0; + } + // min dtv over replicas, if necessary // this communicator would be invalid for multiprocess replicas @@ -438,6 +472,10 @@ int MinFire::iterate(int maxiter) neval++; } + // velocities have been evaluated + + flagv0 = 0; + // energy tolerance criterion // only check after delaystep elapsed since velocties reset to 0 // sync across replicas if running multi-replica minimization diff --git a/src/min_fire.h b/src/min_fire.h index 0c4be968dc..79e5cb7c14 100644 --- a/src/min_fire.h +++ b/src/min_fire.h @@ -37,7 +37,7 @@ class MinFire : public Min { double dt,dtmax,dtmin; double alpha; bigint last_negative,ntimestep_start; - int vdotf_negatif; + int vdotf_negatif,flagv0; }; } diff --git a/src/my_pool_chunk.h b/src/my_pool_chunk.h index a313e45f05..da196f5ec9 100644 --- a/src/my_pool_chunk.h +++ b/src/my_pool_chunk.h @@ -18,7 +18,7 @@ MyPoolChunk = templated class for storing chunks of datums in pages replaces many small mallocs with a few large mallocs pages are never freed, so can reuse w/out reallocs usage: - continously get() and put() chunks as needed + continuously get() and put() chunks as needed NOTE: could add a clear() if retain info on mapping of pages to bins inputs: template T = one datum, e.g. int, double, struct diff --git a/src/neigh_request.cpp b/src/neigh_request.cpp index 1ad111d9c5..006ff5e87b 100644 --- a/src/neigh_request.cpp +++ b/src/neigh_request.cpp @@ -37,7 +37,7 @@ NeighRequest::NeighRequest(LAMMPS *lmp) : Pointers(lmp) half = 1; full = 0; - // attribute flags, mutiple can be set to 1 + // attribute flags, multiple can be set to 1 // default is every reneighboring, not occasional // default is use newton_pair setting in force // default is no neighbors of ghosts diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index fe319da9e9..4d8d6f6902 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -742,7 +742,7 @@ void PairHybrid::read_restart(FILE *fp) keywords[m] = new char[n]; if (me == 0) utils::sfread(FLERR,keywords[m],sizeof(char),n,fp,NULL,error); MPI_Bcast(keywords[m],n,MPI_CHAR,0,world); - styles[m] = force->new_pair(keywords[m],0,dummy); + styles[m] = force->new_pair(keywords[m],1,dummy); styles[m]->read_restart_settings(fp); // read back per style special settings, if present special_lj[m] = special_coul[m] = NULL; diff --git a/src/pair_zero.h b/src/pair_zero.h index 058edbd053..3af37aedb4 100644 --- a/src/pair_zero.h +++ b/src/pair_zero.h @@ -11,7 +11,7 @@ See the README file in the top-level LAMMPS directory. Pair zero is a dummy pair interaction useful for requiring a - force cutoff distance in the absense of pair-interactions or + force cutoff distance in the absence of pair-interactions or with hybrid/overlay if a larger force cutoff distance is required. This can be used in conjunction with bond/create to create bonds diff --git a/src/reset_ids.cpp b/src/reset_ids.cpp index 857738e841..4f81abd3fd 100644 --- a/src/reset_ids.cpp +++ b/src/reset_ids.cpp @@ -86,7 +86,7 @@ void ResetIDs::command(int narg, char ** /* arg */) tag[i] = 0; } - // assign new contigous IDs to owned atoms via tag_extend() + // assign new contiguous IDs to owned atoms via tag_extend() atom->tag_extend(); diff --git a/src/write_restart.cpp b/src/write_restart.cpp index 5c7d00bb37..b1602332e0 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -275,7 +275,7 @@ void WriteRestart::write(char *file) // max_size = largest buffer needed by any proc // NOTE: are assuming size_restart() returns 32-bit int // for a huge one-proc problem, nlocal could be 32-bit - // but nlocal * doubles-peratom could oveflow + // but nlocal * doubles-peratom could overflow int max_size; int send_size = atom->avec->size_restart(); diff --git a/tools/amber2lmp/amber2lammps.py b/tools/amber2lmp/amber2lammps.py index 16b8ded46a..5a2d17c53b 100644 --- a/tools/amber2lmp/amber2lammps.py +++ b/tools/amber2lmp/amber2lammps.py @@ -7,7 +7,7 @@ # # Modified by Vikas Varshney, U Akron, 5 July 2005, as described in README # Bug Fixed :Third argument in Dihedral Coeffs section is an integer - Ketan S Khare September 26, 2011 -# Modified by Vikas Varshney, Oct 8, 2013 to include additional flags (Atomic_Number, Coulombic and van der Waals 1-4 factors which are included in newer vesions of .top and .crd files in amber12. +# Modified by Vikas Varshney, Oct 8, 2013 to include additional flags (Atomic_Number, Coulombic and van der Waals 1-4 factors which are included in newer versions of .top and .crd files in amber12. #============================================================ @@ -175,7 +175,7 @@ class Lammps: class Amber: def __init__(self): - 'Initialise the Amber class' + 'Initialize the Amber class' self.CRD_is_read = 0 self.TOP_is_read = 0 diff --git a/tools/amber2lmp/dump2trj.py b/tools/amber2lmp/dump2trj.py index d406ae7eb9..0f0b936397 100644 --- a/tools/amber2lmp/dump2trj.py +++ b/tools/amber2lmp/dump2trj.py @@ -70,7 +70,7 @@ def Find_dump_files(): class Snapshot: def __init__(self, The_trajectory): - 'Initialise the Snapshot class' + 'Initialize the Snapshot class' self.timestep = The_trajectory.timestep self.atoms = The_trajectory.atoms diff --git a/tools/amber2lmp/dump2trj99.py b/tools/amber2lmp/dump2trj99.py index 19e6064e7c..3cac42987c 100755 --- a/tools/amber2lmp/dump2trj99.py +++ b/tools/amber2lmp/dump2trj99.py @@ -68,7 +68,7 @@ def Find_dump_files(): class Snapshot: def __init__(self, The_trajectory): - 'Initialise the Snapshot class' + 'Initialize the Snapshot class' self.atoms = The_trajectory.atoms self.xlo = The_trajectory.xlo diff --git a/tools/ch2lmp/charmm2lammps.pl b/tools/ch2lmp/charmm2lammps.pl index b53bd00541..c1ec8ad895 100755 --- a/tools/ch2lmp/charmm2lammps.pl +++ b/tools/ch2lmp/charmm2lammps.pl @@ -12,7 +12,7 @@ # - $project.psf ; CHARMM configs # - top_$forcefield.rtf ; # - par_$forcefield.prm ; -# Ouput: +# Output: # - $project.data ; LAMMPS data file # - $project.in ; LAMMPS input file # - $project_ctrl.pdb ; PDB control file @@ -329,7 +329,7 @@ } - sub PSFDihedrals # hack to accomodate + sub PSFDihedrals # hack to accommodate { # LAMMPS' way of calc $idihedral = 0; # LJ 1-4 interactions return $ndihedral if (($dihedral_flag = $ndihedral ? 1 : 0)); @@ -1785,7 +1785,7 @@ $C_flag = 0; } - # Quit if one of the atom types dosen't exist + # Quit if one of the atom types doesn't exist if ( $C_counter == 0 or ($CA_counter == 0 and $CA_GLY_counter == 0 and $CA_PRO_counter == 0) or ($N_counter == 0 and $N_PRO_counter == 0) ) { diff --git a/tools/ch2lmp/example/par_all27_na.prm b/tools/ch2lmp/example/par_all27_na.prm index b721c37393..542d30e917 100644 --- a/tools/ch2lmp/example/par_all27_na.prm +++ b/tools/ch2lmp/example/par_all27_na.prm @@ -124,7 +124,7 @@ ON2 P3 300.0 1.68 !PPI2, from nad/ppi, adm jr. 7/01 ON3 P3 480.0 1.53 !PPI2, from nad/ppi, adm jr. 7/01 ON4 P3 237.0 1.58 !PPI2, from MP_1, ADM Jr. NN5 HN1 460.0 1.01 !sugar model, adm jr. -!@@@@@@@@@ Begining of endocyclic bonds for deoxy-ribose @@@@@@@@@ +!@@@@@@@@@ Beginning of endocyclic bonds for deoxy-ribose @@@@@@@@@ CN7B ON6 260.0 1.420 ! From exp CN7B CN8 200.0 1.518 ! From exp CN7 ON6 240.0 1.446 ! Fom exp. @@ -135,21 +135,21 @@ CN7 HN7 309.0 1.111 !Alkanes, sacred CN8 HN8 309.0 1.111 !Alkanes, sacred CN7B HN7 309.0 1.111 ! From CN8 HN7 (NF) !@@@@@@@@@ End of endocyclic bonds for deoxy-ribose @@@@@@@@@ -!@@@@@@@@@ Begining of endocyclic bonds for ribose @@@@@@@@@ +!@@@@@@@@@ Beginning of endocyclic bonds for ribose @@@@@@@@@ CN7B ON6B 260.0 1.420 ! From CN7B ON6 CN7 ON6B 240.0 1.480 ! From CN7 ON6 CN7B CN7B 200.0 1.450 ! CN7 CN7B 222.5 1.460 ! Specific to RNA !@@@@@@@@@ End of endocyclic bonds for ribose @@@@@@@@@ -!@@@@@@@@@ Begining of endocyclic bonds for arabinose @@@@@@@@@ -! Transfered from DNA +!@@@@@@@@@ Beginning of endocyclic bonds for arabinose @@@@@@@@@ +! Transferred from DNA CN7B CN7C 200.0 1.518 ! For arabinose, from CN7B CN8 CN7 CN7C 222.5 1.516 ! For arabinose, from CN7 CN8 CN7C HN7 309.0 1.111 ! From CN8 HN7 !@@@@@@@@@ End of endocyclic bonds for arabinose @@@@@@@@@ -!@@@@@@@@@ Begining of exocyclic bonds for deoxy-ribose @@@@@@@@@ +!@@@@@@@@@ Beginning of exocyclic bonds for deoxy-ribose @@@@@@@@@ CN7 CN8B 222.5 1.512 ! From exp. CN8B ON2 320.0 1.44 ! From exp !CN8B ON5 250.0 1.44 ! From CN8B ON2 @@ -169,19 +169,19 @@ CN8B HN8 309.0 1.111 !Alkanes, sacred ON5 HN5 545.0 0.960 !RIBOSE, MeOH !@@@@@@@@@ End of exocyclic bonds for deoxy-ribose @@@@@@@@@ -!@@@@@@@@@ Begining of exocyclic bonds for ribose @@@@@@@@@ +!@@@@@@@@@ Beginning of exocyclic bonds for ribose @@@@@@@@@ !CN7B ON5 250.0 1.400 ! From CN7 ON5 CN7B ON5 428.0 1.400 ! check adm jr., !FC should be 428.000 based on Meoh !@@@@@@@@@ End of exocyclic bonds for ribose @@@@@@@@@ -!@@@@@@@@@ Begining of exocyclic bonds for arabinose @@@@@@@@@ +!@@@@@@@@@ Beginning of exocyclic bonds for arabinose @@@@@@@@@ !CN7C ON5 250.0 1.400 ! From CN7 ON5 CN7C ON5 428.0 1.400 ! check adm jr., !FC should be 428.000 based on Meoh !@@@@@@@@@ End of exocyclic bonds for arabinose @@@@@@@@@ -!@@@@@@@@@ Begining of bonds for nucleotide analogue @@@@@@@@@ +!@@@@@@@@@ Beginning of bonds for nucleotide analogue @@@@@@@@@ CN8 ON2 340.0 1.44 ! !@@@@@@@@@ End of bonds for nucleotide analogue @@@@@@@@@ @@ -1075,9 +1075,9 @@ CN7 ON6 CN7B NR1 0.0 3 0.0 CN7 ON6B CN7B NR1 0.0 3 0.0 ! RNUS NR1 CN7B CN8 CN7 0.0 3 0.0 !%%%%%%% new terms for dna and the deoxyribose-based model compounds %%%%%% -! The following is for: THF3P (model for espilon), THFM3P (model for puckering), +! The following is for: THF3P (model for epsilon), THFM3P (model for puckering), ! THF5P (model for gamma and beta), THFCH3IM (model for chi), nucleotide analogue -!@@@@@@ Begining of chi +!@@@@@@ Beginning of chi !============= added for torsion about chi in adenine ============ !For link from sugar to base: CN7B NN2 CN4 HN3 0.3 2 180.0 ! NF @@ -1214,7 +1214,7 @@ HN7 CN7B CN7B NN2B 0.0 3 0.0 HN7 CN7C CN7B NN2 0.0 3 0.0 HN7 CN7C CN7B NN2B 0.0 3 0.0 -!@@@@@@ Begining of torsions involving exocyclic sugar atoms: +!@@@@@@ Beginning of torsions involving exocyclic sugar atoms: !======= CN7 CN8B ON2 P = C4'-C5'-O5'-P CN7 CN8B ON2 P 0.2 1 120.0 !bet C4'-C5'-O5'-P, adm jr. ! the following differ significantly from the alcohols @@ -1354,7 +1354,7 @@ HN7 CN7 CN7 ON5 0.195 3 0.0 !======== CN7 CN7 ON2 P = C4'-C3'-O3'-P CN7 CN7 ON2 P 0.6 5 0.0 !eps CN7 CN7 ON2 P 0.2 4 0.0 !eps, locat of 200 mimima -CN7 CN7 ON2 P 0.0 3 180.0 !eps, barE beteen minima +CN7 CN7 ON2 P 0.0 3 180.0 !eps, barE between minima CN7 CN7 ON2 P 0.4 2 0.0 !eps, relE of 200 vs 275 min CN7 CN7 ON2 P 1.9 1 180.0 !eps !======== CN8 CN7 ON2 P = C2'-C3'-O3'-P @@ -1378,20 +1378,20 @@ CN7B CN7 ON5 HN5 0.8 3 0.0 ! RNA CN7B CN7 ON5 HN5 0.5 1 0.0 ! RNA CN7C CN7 ON5 HN5 0.8 3 0.0 ! Arabinose (from DNA) CN7C CN7 ON5 HN5 0.5 1 0.0 ! Arabinose (from DNA) -! Was simply transfered from HN7 CN7 ON2 P +! Was simply transferred from HN7 CN7 ON2 P ! adm jr. should convert to alcohol term (see ribose etc) HN7 CN7 ON5 HN5 0.0 3 0.0 HN7 CN7 CN8B HN8 0.195 3 0.0 !gam H-C4'-C5'-H HN7 CN7 CN7 CN8B 0.195 3 0.0 !gam H-C3'-C4'-C5' !@@@@@@ End of torsions involving exocyclic atoms: -!@@@@@@ Begining of torsions for endocyclic atoms only: +!@@@@@@ Beginning of torsions for endocyclic atoms only: CN8 CN7B ON6 CN7 0.6 6 180.0 !C2'-C1'-O4'-C4' CN8 CN7 CN7 ON6 0.0 3 0.0 !C2'-C3'-C4'-O4' CN7B CN7B ON6B CN7 0.0 6 0.0 ! RNA, Lowers barrier CN7B CN7 CN7 ON6B 0.0 3 0.0 ! RNA CN7C CN7B ON6 CN7 0.6 6 180.0 ! Arabinose (from DNA) CN7C CN7 CN7 ON6 0.0 3 0.0 ! Arabinose (from DNA) -!======== CN7 CN8 CN7B ON6 for nucleosides, transfered from ========= +!======== CN7 CN8 CN7B ON6 for nucleosides, transferred from ========= !======== CN7 CN8 CN8 ON6 from thfoh ============================== CN7 CN8 CN7B ON6 0.6 6 0.0 ! C3'-C2'-C1'-O4', adjust barrier CN7 CN7B CN7B ON6B 0.4 6 0.0 ! RNA @@ -1402,7 +1402,7 @@ CN7B CN8 CN7 CN7 0.4 6 0.0 ! good for amplitudes CN7B CN7B CN7 CN7 0.0 6 0.0 ! RNA CN7B CN7B CN8 CN7 0.0 6 0.0 ! RNA, 25P1 CN7B CN7C CN7 CN7 0.4 6 0.0 ! Arabinose (from DNA) -!======== CN7 CN7 ON6 CN7B for nucleosides, transfered from ======== +!======== CN7 CN7 ON6 CN7B for nucleosides, transferred from ======== !======== CN7 CN7 ON6 CN8 from thfohch3 ============================ CN7 CN7 ON6 CN7B 0.6 6 180.0 ! C3'-C4'-O4'-C1' CN7 CN7 ON6B CN7B 0.0 6 180.0 ! RNA @@ -1438,7 +1438,7 @@ HN7 CN7 CN7C HN7 0.195 3 0.0 !Arabinose (from DNA), H-C3'-C2'-H HN7 CN7C CN7 CN7 0.195 3 0.0 !Arabinose (from DNA), useful *cccc* !@@@@@@ End of torsions for endocyclic atoms only -!@@@@@@ Begining of torsions specifically defined for RNA @@@@@@ +!@@@@@@ Beginning of torsions specifically defined for RNA @@@@@@ ! N9-C1'-C2'-O2': NN2 CN7B CN7B ON5 0.000 3 0.0 ! Adenine and cytosine NN2B CN7B CN7B ON5 0.000 3 0.0 ! Guanine and uracil @@ -1461,7 +1461,7 @@ HN5 ON5 CN7B CN7 0.300 3 0.0 ! 030298 HN5 ON5 CN7B CN7 0.000 1 0.0 ! 030298 !@@@@@@ End of torsions specifically defined for RNA @@@@@@ -!@@@@@@ Begining of torsions specifically defined for arabinose @@@@@@ +!@@@@@@ Beginning of torsions specifically defined for arabinose @@@@@@ ON6 CN7B CN7C ON5 0.000 3 0.0 ! the following differ significantly from the protein based ! alcohol parameters (based on ethanol, see above) diff --git a/tools/colvars/abf_data.cpp b/tools/colvars/abf_data.cpp index 8b1ebd0a96..2ce2b927eb 100644 --- a/tools/colvars/abf_data.cpp +++ b/tools/colvars/abf_data.cpp @@ -82,7 +82,7 @@ ABFdata::ABFdata(const char *gradFileName) pos[i] = 0; for (unsigned int i = 0; i < scalar_dim; i++) { - // Here we do the Euclidian division iteratively + // Here we do the Euclidean division iteratively for (int k = Nvars - 1; k > 0; k--) { if (pos[k] == sizes[k]) { pos[k] = 0; @@ -213,7 +213,7 @@ void ABFdata::write_histogram(const char *fileName) pos[i] = 0; for (index = 0; index < scalar_dim; index++) { - // Here we do the Euclidian division iteratively + // Here we do the Euclidean division iteratively for (i = Nvars - 1; i > 0; i--) { if (pos[i] == sizes[i]) { pos[i] = 0; @@ -271,7 +271,7 @@ void ABFdata::write_bias(const char *fileName) } for (index = 0; index < scalar_dim; index++) { - // Here we do the Euclidian division iteratively + // Here we do the Euclidean division iteratively for (i = Nvars - 1; i > 0; i--) { if (pos[i] == sizes[i]) { pos[i] = 0; @@ -316,7 +316,7 @@ void ABFdata::write_field(double *field, const char *fileName) f = field; for (index = 0; index < scalar_dim; index++) { - // Here we do the Euclidian division iteratively + // Here we do the Euclidean division iteratively for (i = Nvars - 1; i > 0; i--) { if (pos[i] == sizes[i]) { pos[i] = 0; diff --git a/tools/doxygen/README b/tools/doxygen/README index c6a6229995..847acf2bb9 100644 --- a/tools/doxygen/README +++ b/tools/doxygen/README @@ -73,7 +73,7 @@ Results The doxygen documentation for LAMMPS is created in the following directories: - "tools/doxygen/doc" = LAMMPS documetation in "doxygen" html format. + "tools/doxygen/doc" = LAMMPS documentation in "doxygen" html format. In order to read the html documentation, start with loading the "index.html" file into an internet browser of choice from this directory. The generation of other formats (pdf, docbook, rtf or man) is disabled by default but can be diff --git a/tools/eff/lmp2radii.c b/tools/eff/lmp2radii.c index b62da070ba..f7ec790b1b 100644 --- a/tools/eff/lmp2radii.c +++ b/tools/eff/lmp2radii.c @@ -1759,7 +1759,7 @@ PyMODINIT_FUNC PyInit_lmp2radii(void) Py_ssize_t __pyx_5 = 0; PyObject *__pyx_6 = 0; __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} - /*--- Libary function declarations ---*/ + /*--- Library function declarations ---*/ __pyx_init_filenames(); /*--- Initialize various global constants etc. ---*/ if (unlikely(__Pyx_InitGlobals() < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1; __pyx_clineno = __LINE__; goto __pyx_L1_error;} diff --git a/tools/i-pi/drivers/LJ.f90 b/tools/i-pi/drivers/LJ.f90 index 342425f29e..8341c64be7 100644 --- a/tools/i-pi/drivers/LJ.f90 +++ b/tools/i-pi/drivers/LJ.f90 @@ -182,7 +182,7 @@ start = 1 DO i = 1, natoms - 1 - ! Only loops over the neigbour list, not all the atoms. + ! Only loops over the neighbour list, not all the atoms. DO j = start, index_list(i) CALL vector_separation(cell_h, cell_ih, atoms(i,:), atoms(n_list(j),:), rij, r2) IF (r2 < rc*rc) THEN ! Only calculates contributions between neighbouring particles. diff --git a/tools/i-pi/drivers/SG.f90 b/tools/i-pi/drivers/SG.f90 index 42d3e4945d..bb243b3469 100644 --- a/tools/i-pi/drivers/SG.f90 +++ b/tools/i-pi/drivers/SG.f90 @@ -250,7 +250,7 @@ start = 1 DO i = 1, natoms - 1 - ! Only loops over the neigbour list, not all the atoms. + ! Only loops over the neighbour list, not all the atoms. DO j = start, index_list(i) CALL vector_separation(cell_h, cell_ih, atoms(i,:), atoms(n_list(j),:), rij, r2) IF (r2 < rc*rc) THEN ! Only calculates contributions between neighbouring particles. diff --git a/tools/i-pi/ipi/engine/atoms.py b/tools/i-pi/ipi/engine/atoms.py index fd52ccf96b..9e6e2752f6 100644 --- a/tools/i-pi/ipi/engine/atoms.py +++ b/tools/i-pi/ipi/engine/atoms.py @@ -51,7 +51,7 @@ class Atom(dobject): """ def __init__(self, system, index): - """Initialises Atom. + """Initializes Atom. Args: system: An Atoms object containing the required atom. @@ -116,7 +116,7 @@ class Atoms(dobject): def __init__(self, natoms, _prebind=None): - """Initialises Atoms. + """Initializes Atoms. Each replica and the centroid coordinate are all held as Atoms objects, and so slices of the global position and momentum arrays must be used in diff --git a/tools/i-pi/ipi/engine/barostats.py b/tools/i-pi/ipi/engine/barostats.py index 5dbc6049d5..b65e62746c 100644 --- a/tools/i-pi/ipi/engine/barostats.py +++ b/tools/i-pi/ipi/engine/barostats.py @@ -70,7 +70,7 @@ class Barostat(dobject): """ def __init__(self, dt=None, temp=None, pext=None, tau=None, ebaro=None, thermostat=None): - """Initialises base barostat class. + """Initializes base barostat class. Note that the external stress and the external pressure are synchronized. This makes most sense going from the stress to the pressure, but if you diff --git a/tools/i-pi/ipi/engine/beads.py b/tools/i-pi/ipi/engine/beads.py index ba4ddf1509..1a20574522 100644 --- a/tools/i-pi/ipi/engine/beads.py +++ b/tools/i-pi/ipi/engine/beads.py @@ -71,7 +71,7 @@ class Beads(dobject): """ def __init__(self, natoms, nbeads): - """Initialises Beads. + """Initializes Beads. Args: natoms: Number of atoms. diff --git a/tools/i-pi/ipi/engine/cell.py b/tools/i-pi/ipi/engine/cell.py index e9bf813502..f800773a23 100644 --- a/tools/i-pi/ipi/engine/cell.py +++ b/tools/i-pi/ipi/engine/cell.py @@ -44,7 +44,7 @@ class Cell(dobject): """ def __init__(self, h=None): - """Initialises base cell class. + """Initializes base cell class. Args: h: Optional array giving the initial lattice vector matrix. The diff --git a/tools/i-pi/ipi/engine/ensembles.py b/tools/i-pi/ipi/engine/ensembles.py index 9660ca983c..23d88e436b 100644 --- a/tools/i-pi/ipi/engine/ensembles.py +++ b/tools/i-pi/ipi/engine/ensembles.py @@ -78,7 +78,7 @@ class Ensemble(dobject): """ def __init__(self, dt, temp, fixcom=False): - """Initialises Ensemble. + """Initializes Ensemble. Args: dt: The timestep of the simulation algorithms. @@ -104,7 +104,7 @@ class Ensemble(dobject): conserved quantity the dependencies are defined in bind. Args: - beads: The beads object from whcih the bead positions are taken. + beads: The beads object from which the bead positions are taken. nm: A normal modes object used to do the normal modes transformation. cell: The cell object from which the system box is taken. bforce: The forcefield object from which the force and virial are @@ -177,7 +177,7 @@ class NVEEnsemble(Ensemble): """ def __init__(self, dt, temp, fixcom=False): - """Initialises NVEEnsemble. + """Initializes NVEEnsemble. Args: dt: The simulation timestep. @@ -273,7 +273,7 @@ class NVTEnsemble(NVEEnsemble): """ def __init__(self, dt, temp, thermostat=None, fixcom=False): - """Initialises NVTEnsemble. + """Initializes NVTEnsemble. Args: dt: The simulation timestep. @@ -303,7 +303,7 @@ class NVTEnsemble(NVEEnsemble): higher simulation temperature, as is appropriate. Args: - beads: The beads object from whcih the bead positions are taken. + beads: The beads object from which the bead positions are taken. nm: A normal modes object used to do the normal modes transformation. cell: The cell object from which the system box is taken. bforce: The forcefield object from which the force and virial are @@ -384,7 +384,7 @@ class NPTEnsemble(NVTEnsemble): """ def __init__(self, dt, temp, pext, thermostat=None, barostat=None, fixcom=False): - """Initialises NPTEnsemble. + """Initializes NPTEnsemble. Args: dt: The simulation timestep. @@ -422,7 +422,7 @@ class NPTEnsemble(NVTEnsemble): higher simulation temperature, as is appropriate. Args: - beads: The beads object from whcih the bead positions are taken. + beads: The beads object from which the bead positions are taken. nm: A normal modes object used to do the normal modes transformation. cell: The cell object from which the system box is taken. bforce: The forcefield object from which the force and virial are @@ -508,7 +508,7 @@ class ReplayEnsemble(Ensemble): """ def __init__(self, dt, temp, fixcom=False, intraj=None): - """Initialises ReplayEnsemble. + """Initializes ReplayEnsemble. Args: dt: The simulation timestep. diff --git a/tools/i-pi/ipi/engine/forces.py b/tools/i-pi/ipi/engine/forces.py index 58987f1e4d..5e3dabf8db 100644 --- a/tools/i-pi/ipi/engine/forces.py +++ b/tools/i-pi/ipi/engine/forces.py @@ -66,7 +66,7 @@ class ForceField(dobject): """ def __init__(self): - """Initialises ForceField.""" + """Initializes ForceField.""" # ufvx is a list [ u, f, vir, extra ] which stores the results of the force #calculation @@ -217,7 +217,7 @@ class FFSocket(ForceField): """ def __init__(self, pars=None, interface=None): - """Initialises FFSocket. + """Initializes FFSocket. Args: pars: Optional dictionary, giving the parameters needed by the driver. diff --git a/tools/i-pi/ipi/engine/initializer.py b/tools/i-pi/ipi/engine/initializer.py index de629c7f96..fd9bcfb9fa 100644 --- a/tools/i-pi/ipi/engine/initializer.py +++ b/tools/i-pi/ipi/engine/initializer.py @@ -493,7 +493,7 @@ class Initializer(dobject): rv *= np.sqrt(self.nbeads/nbeads) set_vector(v, simul.beads.p, rv) fmom = True - elif k == "thermostat": pass # thermostats must be initialised in a second stage + elif k == "thermostat": pass # thermostats must be initialized in a second stage if simul.beads.natoms == 0: raise ValueError("Initializer could not initialize the atomic positions") diff --git a/tools/i-pi/ipi/engine/outputs.py b/tools/i-pi/ipi/engine/outputs.py index fb5ebda96e..7d6e7587b5 100644 --- a/tools/i-pi/ipi/engine/outputs.py +++ b/tools/i-pi/ipi/engine/outputs.py @@ -85,7 +85,7 @@ class PropertyOutput(dobject): self.simul = simul # Checks as soon as possible if some asked-for properties are - # missing or mispelled + # missing or misspelled for what in self.outlist: key = getkey(what) if not key in self.simul.properties.property_dict.keys(): @@ -218,7 +218,7 @@ class TrajectoryOutput(dobject): self.simul = simul - # Checks as soon as possible if some asked-for trajs are missing or mispelled + # Checks as soon as possible if some asked-for trajs are missing or misspelled key = getkey(self.what) if not key in self.simul.trajs.traj_dict.keys(): print "Computable trajectories list: ", self.simul.trajs.traj_dict.keys() @@ -349,7 +349,7 @@ class CheckpointOutput(dobject): """Writes out the required trajectories. Used for both the checkpoint files and the soft-exit restart file. - We have slightly different behaviour for these two different types of + We have slightly different behavior for these two different types of checkpoint file, as the soft-exit files have their store() function called automatically, and we do not want this to be updated as the status of the simulation after a soft-exit call is unlikely to be in diff --git a/tools/i-pi/ipi/engine/properties.py b/tools/i-pi/ipi/engine/properties.py index a76aca1faf..48b0c00ecc 100644 --- a/tools/i-pi/ipi/engine/properties.py +++ b/tools/i-pi/ipi/engine/properties.py @@ -141,7 +141,7 @@ def help_latex(idict, standalone=True): } """ rstr += "\n\\begin{document}\n" - rstr += "The following are the different allowable ouputs:\n\\par" + rstr += "The following are the different allowable outputs:\n\\par" for out in sorted(idict): rstr += "\\ipiitem{" + out + "}" @@ -212,7 +212,7 @@ class Properties(dobject): _DEFAULT_MINFID = 1e-12 def __init__(self): - """Initialises Properties.""" + """Initializes Properties.""" self.property_dict = { "step": { "dimension" : "number", @@ -1094,7 +1094,7 @@ class Trajectories(dobject): """ def __init__(self): - """Initialises a Trajectories object.""" + """Initializes a Trajectories object.""" self.traj_dict = { # Note that here we want to return COPIES of the different arrays, so we make sure to make an operation in order not to return a reference. diff --git a/tools/i-pi/ipi/engine/simulation.py b/tools/i-pi/ipi/engine/simulation.py index 3c16a99621..b1483de576 100644 --- a/tools/i-pi/ipi/engine/simulation.py +++ b/tools/i-pi/ipi/engine/simulation.py @@ -20,7 +20,7 @@ along with this program. If not, see <http.//www.gnu.org/licenses/>. The root class for the whole simulation. Contains references to all the top level objects used in the simulation, and controls all the steps that are not inherently system dependent, like the running of each time step, -choosing which properties to initialise, and which properties to output. +choosing which properties to initialize, and which properties to output. Classes: Simulation: Deals with running the simulation and outputting the results. @@ -81,7 +81,7 @@ class Simulation(dobject): """ def __init__(self, beads, cell, forces, ensemble, prng, outputs, nm, init, step=0, tsteps=1000, ttime=0): - """Initialises Simulation class. + """Initializes Simulation class. Args: beads: A beads object giving the atom positions. @@ -172,7 +172,7 @@ class Simulation(dobject): self.forces.run() - # prints inital configuration -- only if we are not restarting + # prints initial configuration -- only if we are not restarting if (self.step == 0): self.step = -1 for o in self.outputs: diff --git a/tools/i-pi/ipi/engine/thermostats.py b/tools/i-pi/ipi/engine/thermostats.py index 1fb048ec27..7941f55916 100644 --- a/tools/i-pi/ipi/engine/thermostats.py +++ b/tools/i-pi/ipi/engine/thermostats.py @@ -31,11 +31,11 @@ Classes: the entire system. ThermoSVR: Holds the algorithms for a stochastic velocity rescaling thermostat. - ThermoGLE: Holds the algorithms for a generalised langevin equation + ThermoGLE: Holds the algorithms for a generalized langevin equation thermostat. - ThermoNMGLE: Holds the algorithms for a generalised langevin equation + ThermoNMGLE: Holds the algorithms for a generalized langevin equation thermostat in the normal mode representation. - ThermoNMGLEG: Holds the algorithms for a generalised langevin equation + ThermoNMGLEG: Holds the algorithms for a generalized langevin equation thermostat in the normal mode representation, with kinetic energy as well as potential energy sampling optimization. """ @@ -75,14 +75,14 @@ class Thermostat(dobject): """ def __init__(self, temp = 1.0, dt = 1.0, ethermo=0.0): - """Initialises Thermostat. + """Initializes Thermostat. Args: temp: The simulation temperature. Defaults to 1.0. dt: The simulation time step. Defaults to 1.0. ethermo: The initial heat energy transferred to the bath. Defaults to 0.0. Will be non-zero if the thermostat is - initialised from a checkpoint file. + initialized from a checkpoint file. """ dset(self,"temp", depend_value(name='temp', value=temp)) @@ -181,7 +181,7 @@ class ThermoLangevin(Thermostat): return np.sqrt(Constants.kb*self.temp*(1 - self.T**2)) def __init__(self, temp = 1.0, dt = 1.0, tau = 1.0, ethermo=0.0): - """Initialises ThermoLangevin. + """Initializes ThermoLangevin. Args: temp: The simulation temperature. Defaults to 1.0. @@ -189,7 +189,7 @@ class ThermoLangevin(Thermostat): tau: The thermostat damping timescale. Defaults to 1.0. ethermo: The initial heat energy transferred to the bath. Defaults to 0.0. Will be non-zero if the thermostat is - initialised from a checkpoint file. + initialized from a checkpoint file. """ super(ThermoLangevin,self).__init__(temp, dt, ethermo) @@ -241,14 +241,14 @@ class ThermoPILE_L(Thermostat): """ def __init__(self, temp = 1.0, dt = 1.0, tau = 1.0, ethermo=0.0, scale=1.0): - """Initialises ThermoPILE_L. + """Initializes ThermoPILE_L. Args: temp: The simulation temperature. Defaults to 1.0. dt: The simulation time step. Defaults to 1.0. tau: The centroid thermostat damping timescale. Defaults to 1.0. ethermo: The initial conserved energy quantity. Defaults to 0.0. Will - be non-zero if the thermostat is initialised from a checkpoint file. + be non-zero if the thermostat is initialized from a checkpoint file. scale: A float used to reduce the intensity of the PILE thermostat if required. @@ -404,14 +404,14 @@ class ThermoSVR(Thermostat): return Constants.kb*self.temp*0.5 def __init__(self, temp = 1.0, dt = 1.0, tau = 1.0, ethermo=0.0): - """Initialises ThermoSVR. + """Initializes ThermoSVR. Args: temp: The simulation temperature. Defaults to 1.0. dt: The simulation time step. Defaults to 1.0. tau: The thermostat damping timescale. Defaults to 1.0. ethermo: The initial conserved energy quantity. Defaults to 0.0. Will - be non-zero if the thermostat is initialised from a checkpoint file. + be non-zero if the thermostat is initialized from a checkpoint file. """ super(ThermoSVR,self).__init__(temp,dt,ethermo) @@ -459,14 +459,14 @@ class ThermoPILE_G(ThermoPILE_L): """ def __init__(self, temp = 1.0, dt = 1.0, tau = 1.0, ethermo=0.0, scale = 1.0): - """Initialises ThermoPILE_G. + """Initializes ThermoPILE_G. Args: temp: The simulation temperature. Defaults to 1.0. dt: The simulation time step. Defaults to 1.0. tau: The centroid thermostat damping timescale. Defaults to 1.0. ethermo: The initial conserved energy quantity. Defaults to 0.0. Will - be non-zero if the thermostat is initialised from a checkpoint file. + be non-zero if the thermostat is initialized from a checkpoint file. scale: A float used to reduce the intensity of the PILE thermostat if required. """ @@ -532,9 +532,9 @@ class ThermoGLE(Thermostat): J. Chem. Phys. 134, 084104 (2011)). Attributes: - ns: The number of auxilliary degrees of freedom. + ns: The number of auxiliary degrees of freedom. s: An array holding all the momenta, including the ones for the - auxilliary degrees of freedom. + auxiliary degrees of freedom. Depend objects: A: Drift matrix giving the damping time scales for all the different @@ -556,11 +556,11 @@ class ThermoGLE(Thermostat): return matrix_exp(-0.5*self.dt*self.A) def get_S(self): - """Calculates the matrix for the coloured noise.""" + """Calculates the matrix for the colored noise.""" SST = Constants.kb*(self.C - np.dot(self.T,np.dot(self.C,self.T.T))) - # Uses a symetric decomposition rather than Cholesky, since it is more stable + # Uses a symmetric decomposition rather than Cholesky, since it is more stable return root_herm(SST) def get_C(self): @@ -570,7 +570,7 @@ class ThermoGLE(Thermostat): return rC[:] def __init__(self, temp = 1.0, dt = 1.0, A = None, C = None, ethermo=0.0): - """Initialises ThermoGLE. + """Initializes ThermoGLE. Args: temp: The simulation temperature. Defaults to 1.0. @@ -582,7 +582,7 @@ class ThermoGLE(Thermostat): total number of degrees of freedom in the system. ethermo: The initial heat energy transferred to the bath. Defaults to 0.0. Will be non-zero if the thermostat is - initialised from a checkpoint file. + initialized from a checkpoint file. """ super(ThermoGLE,self).__init__(temp,dt,ethermo) @@ -643,15 +643,15 @@ class ThermoGLE(Thermostat): # allocates, initializes or restarts an array of s's if self.s.shape != (self.ns + 1, len(dget(self,"m"))): if len(self.s) > 0: - warning("Mismatch in GLE s array size on restart, will reinitialise to free particle.", verbosity.low) + warning("Mismatch in GLE s array size on restart, will reinitialize to free particle.", verbosity.low) self.s = np.zeros((self.ns + 1, len(dget(self,"m")))) # Initializes the s vector in the free-particle limit - info(" GLE additional DOFs initialised to the free-particle limit.", verbosity.low) + info(" GLE additional DOFs initialized to the free-particle limit.", verbosity.low) SC = stab_cholesky(self.C*Constants.kb) self.s[:] = np.dot(SC, self.prng.gvec(self.s.shape)) else: - info("GLE additional DOFs initialised from input.", verbosity.medium) + info("GLE additional DOFs initialized from input.", verbosity.medium) def step(self): """Updates the bound momentum vector with a GLE thermostat""" @@ -675,10 +675,10 @@ class ThermoNMGLE(Thermostat): GLE for each normal mode Attributes: - ns: The number of auxilliary degrees of freedom. + ns: The number of auxiliary degrees of freedom. nb: The number of beads. s: An array holding all the momenta, including the ones for the - auxilliary degrees of freedom. + auxiliary degrees of freedom. Depend objects: A: Drift matrix giving the damping time scales for all the different @@ -699,7 +699,7 @@ class ThermoNMGLE(Thermostat): return rv[:] def __init__(self, temp = 1.0, dt = 1.0, A = None, C = None, ethermo=0.0): - """Initialises ThermoGLE. + """Initializes ThermoGLE. Args: temp: The simulation temperature. Defaults to 1.0. @@ -711,7 +711,7 @@ class ThermoNMGLE(Thermostat): total number of degrees of freedom in the system. ethermo: The initial heat energy transferred to the bath. Defaults to 0.0. Will be non-zero if the thermostat is - initialised from a checkpoint file. + initialized from a checkpoint file. """ super(ThermoNMGLE,self).__init__(temp,dt,ethermo) @@ -767,16 +767,16 @@ class ThermoNMGLE(Thermostat): # allocates, initializes or restarts an array of s's if self.s.shape != (self.nb, self.ns + 1, nm.natoms *3) : if len(self.s) > 0: - warning("Mismatch in GLE s array size on restart, will reinitialise to free particle.", verbosity.low) + warning("Mismatch in GLE s array size on restart, will reinitialize to free particle.", verbosity.low) self.s = np.zeros((self.nb, self.ns + 1, nm.natoms*3)) # Initializes the s vector in the free-particle limit - info(" GLE additional DOFs initialised to the free-particle limit.", verbosity.low) + info(" GLE additional DOFs initialized to the free-particle limit.", verbosity.low) for b in range(self.nb): SC = stab_cholesky(self.C[b]*Constants.kb) self.s[b] = np.dot(SC, self.prng.gvec(self.s[b].shape)) else: - info("GLE additional DOFs initialised from input.", verbosity.medium) + info("GLE additional DOFs initialized from input.", verbosity.medium) prev_ethermo = self.ethermo diff --git a/tools/i-pi/ipi/inputs/atoms.py b/tools/i-pi/ipi/inputs/atoms.py index 6068be1961..4ae16bfdf5 100644 --- a/tools/i-pi/ipi/inputs/atoms.py +++ b/tools/i-pi/ipi/inputs/atoms.py @@ -78,7 +78,7 @@ class InputAtoms(Input): """Takes an Atoms instance and stores a minimal representation of it. Args: - atoms: An Atoms object from which to initialise from. + atoms: An Atoms object from which to initialize from. filename: An optional string giving a filename to take the atom positions from. Defaults to ''. """ diff --git a/tools/i-pi/ipi/inputs/beads.py b/tools/i-pi/ipi/inputs/beads.py index f4caafcbb9..d889563d92 100644 --- a/tools/i-pi/ipi/inputs/beads.py +++ b/tools/i-pi/ipi/inputs/beads.py @@ -82,7 +82,7 @@ class InputBeads(Input): """Takes a Beads instance and stores a minimal representation of it. Args: - beads: A Beads object from which to initialise from. + beads: A Beads object from which to initialize from. """ super(InputBeads,self).store() diff --git a/tools/i-pi/ipi/inputs/prng.py b/tools/i-pi/ipi/inputs/prng.py index 58faaca5f0..e3464ca791 100644 --- a/tools/i-pi/ipi/inputs/prng.py +++ b/tools/i-pi/ipi/inputs/prng.py @@ -38,7 +38,7 @@ class InputRandom(Input): instance of the object. Attributes: - seed: An optional integer giving a seed to initialise the random number + seed: An optional integer giving a seed to initialize the random number generator from. Defaults to 123456. state: An optional array giving the state of the random number generator. Defaults to an empty array. @@ -74,7 +74,7 @@ class InputRandom(Input): representation of it. Args: - prng: A random number object from which to initialise from. + prng: A random number object from which to initialize from. """ super(InputRandom,self).store(prng) diff --git a/tools/i-pi/ipi/inputs/thermostats.py b/tools/i-pi/ipi/inputs/thermostats.py index cbe2deefcf..5c1ec2d65b 100644 --- a/tools/i-pi/ipi/inputs/thermostats.py +++ b/tools/i-pi/ipi/inputs/thermostats.py @@ -56,7 +56,7 @@ class InputThermo(Input): attribs = { "mode": (InputAttribute, { "dtype" : str, "options" : [ "", "langevin", "svr", "pile_l", "pile_g", "gle", "nm_gle", "nm_gle_g" ], - "help" : "The style of thermostatting. 'langevin' specifies a white noise langevin equation to be attached to the cartesian representation of the momenta. 'svr' attaches a velocity rescaling thermostat to the cartesian representation of the momenta. Both 'pile_l' and 'pile_g' attaches a white noise langevin thermostat to the normal mode representation, with 'pile_l' attaching a local langevin thermostat to the centroid mode and 'pile_g' instead attaching a global velocity rescaling thermostat. 'gle' attaches a coloured noise langevin thermostat to the cartesian representation of the momenta, 'nm_gle' attaches a coloured noise langevin thermostat to the normal mode representation of the momenta and a langevin thermostat to the centroid and 'nm_gle_g' attaches a gle thermostat to the normal modes and a svr thermostat to the centroid." + "help" : "The style of thermostatting. 'langevin' specifies a white noise langevin equation to be attached to the cartesian representation of the momenta. 'svr' attaches a velocity rescaling thermostat to the cartesian representation of the momenta. Both 'pile_l' and 'pile_g' attaches a white noise langevin thermostat to the normal mode representation, with 'pile_l' attaching a local langevin thermostat to the centroid mode and 'pile_g' instead attaching a global velocity rescaling thermostat. 'gle' attaches a colored noise langevin thermostat to the cartesian representation of the momenta, 'nm_gle' attaches a colored noise langevin thermostat to the normal mode representation of the momenta and a langevin thermostat to the centroid and 'nm_gle_g' attaches a gle thermostat to the normal modes and a svr thermostat to the centroid." }) } fields = { "ethermo" : (InputValue, { "dtype" : float, "default" : 0.0, diff --git a/tools/i-pi/ipi/interfaces/sockets.py b/tools/i-pi/ipi/interfaces/sockets.py index 2783d31e06..f946cf3149 100644 --- a/tools/i-pi/ipi/interfaces/sockets.py +++ b/tools/i-pi/ipi/interfaces/sockets.py @@ -108,7 +108,7 @@ class DriverSocket(socket.socket): """Deals with communication between the client and driver code. Deals with sending and receiving the data from the driver code. Keeps track - of the status of the driver. Initialises the driver forcefield, sends the + of the status of the driver. Initializes the driver forcefield, sends the position and cell data, and receives the force data. Attributes: @@ -119,7 +119,7 @@ class DriverSocket(socket.socket): """ def __init__(self, socket): - """Initialises DriverSocket. + """Initializes DriverSocket. Args: socket: A socket through which the communication should be done. @@ -378,7 +378,7 @@ class InterfaceSocket(object): """ def __init__(self, address="localhost", port=31415, slots=4, mode="unix", latency=1e-3, timeout=1.0, dopbc=True): - """Initialises interface. + """Initializes interface. Args: address: An optional string giving the name of the host server. @@ -556,7 +556,7 @@ class InterfaceSocket(object): Deals with maintaining the jobs list. Gets data from drivers that have finished their calculation and removes that job from the list of running - jobs, adds jobs to free clients and initialises the forcefields of new + jobs, adds jobs to free clients and initializes the forcefields of new clients. """ diff --git a/tools/i-pi/ipi/tests/README b/tools/i-pi/ipi/tests/README index 17df9d7a7c..029c87a726 100644 --- a/tools/i-pi/ipi/tests/README +++ b/tools/i-pi/ipi/tests/README @@ -3,7 +3,7 @@ * This is the directory containing the tests that can be run with nosetests. * Files: - - common.py: Common helper funtions for use in the tests. + - common.py: Common helper functions for use in the tests. - datest.py: Tests the dependency utility and some of the numpy facilities. - test_*.py: The actual tests for at least some of the code basis. diff --git a/tools/i-pi/ipi/utils/depend.py b/tools/i-pi/ipi/utils/depend.py index 4b87323533..a4da91b47b 100644 --- a/tools/i-pi/ipi/utils/depend.py +++ b/tools/i-pi/ipi/utils/depend.py @@ -73,7 +73,7 @@ class synchronizer(object): """ def __init__(self, deps=None): - """Initialises synchronizer. + """Initializes synchronizer. Args: deps: Optional dictionary giving the synched objects of the form @@ -113,7 +113,7 @@ class depend_base(object): """ def __init__(self, name, synchro=None, func=None, dependants=None, dependencies=None, tainted=None): - """Initialises depend_base. + """Initializes depend_base. An unusual initialization routine, as it has to be able to deal with the depend array mechanism for returning slices as new depend arrays. @@ -209,7 +209,7 @@ class depend_base(object): further down the dependency tree until either all objects have been tainted, or it reaches only objects that have already been tainted. Note that in the case of a dependency loop the initial setting of _tainted to - True prevents an infinite loop occuring. + True prevents an infinite loop occurring. Also, in the case of a synchro object, the manually set quantity is not tainted, as it is assumed that synchro objects only depend on each other. @@ -291,7 +291,7 @@ class depend_value(depend_base): """ def __init__(self, name, value=None, synchro=None, func=None, dependants=None, dependencies=None, tainted=None): - """Initialises depend_value. + """Initializes depend_value. Args: name: A string giving the name of self. @@ -375,7 +375,7 @@ class depend_array(np.ndarray, depend_base): return obj def __init__(self, value, name, synchro=None, func=None, dependants=None, dependencies=None, tainted=None, base=None): - """Initialises depend_array. + """Initializes depend_array. Note that this is only called when a new array is created by an explicit constructor. diff --git a/tools/i-pi/ipi/utils/inputvalue.py b/tools/i-pi/ipi/utils/inputvalue.py index d1bbc631fd..35b2945910 100644 --- a/tools/i-pi/ipi/utils/inputvalue.py +++ b/tools/i-pi/ipi/utils/inputvalue.py @@ -22,7 +22,7 @@ attributes dictionary, which are filled with the tags and attributes that are allowed to be present, along with their default values and data type. These are then filled with the data from the xml file when the program -is initialised, and are filled by the values calculated in the program which +is initialized, and are filled by the values calculated in the program which are then output to the checkpoint file when a restart file is required. Also deals with checking for user input errors, of the form of misspelt tags, @@ -65,14 +65,14 @@ class input_default(object): """ def __init__(self, factory, args = None, kwargs = None): - """Initialises input_default. + """Initializes input_default. Args: type: The class or function to be used to create the default object. - args: A tuple giving the arguments to be used to initialise + args: A tuple giving the arguments to be used to initialize the default value. kwargs: A dictionary giving the key word arguments to be used - to initialise the default value. + to initialize the default value. """ if args is None: @@ -147,10 +147,10 @@ class Input(object): #hyperlinks def __init__(self, help=None, default=None): - """Initialises Input. + """Initializes Input. Automatically adds all the fields and attribs names to the input object's - dictionary, then initialises all the appropriate input objects + dictionary, then initializes all the appropriate input objects as the corresponding values. Args: @@ -252,7 +252,7 @@ class Input(object): called, so that their tags are written between the start and end tags of this object, as is required for the xml format. - This also adds an indent to the lower levels of the xml heirarchy, + This also adds an indent to the lower levels of the xml hierarchy, so that it is easy to see which tags contain other tags. Args: @@ -676,7 +676,7 @@ class InputAttribute(Input): """ def __init__(self, help=None, default=None, dtype=None, options=None): - """Initialises InputAttribute. + """Initializes InputAttribute. Args: help: A help string. @@ -773,7 +773,7 @@ class InputValue(InputAttribute): attribs= { "units" : ( InputAttribute, { "dtype" : str, "help" : "The units the input data is given in.", "default" : default_units } ) } def __init__(self, help=None, default=None, dtype=None, options=None, dimension=None): - """Initialises InputValue. + """Initializes InputValue. Args: help: A help string. @@ -874,7 +874,7 @@ class InputArray(InputValue): attribs["shape"] = (InputAttribute, {"dtype": tuple, "help": "The shape of the array.", "default": (0,)}) def __init__(self, help=None, default=None, dtype=None, dimension=None): - """Initialises InputArray. + """Initializes InputArray. Args: help: A help string. diff --git a/tools/i-pi/ipi/utils/io/io_xml.py b/tools/i-pi/ipi/utils/io/io_xml.py index 5e43854408..961a398848 100644 --- a/tools/i-pi/ipi/utils/io/io_xml.py +++ b/tools/i-pi/ipi/utils/io/io_xml.py @@ -63,7 +63,7 @@ class xml_node(object): """ def __init__(self, attribs=None, name="", fields=None): - """Initialises xml_node. + """Initializes xml_node. Args: attribs: An optional dictionary giving attribute data. Defaults to {}. @@ -101,7 +101,7 @@ class xml_handler(ContentHandler): """ def __init__(self): - """Initialises xml_handler.""" + """Initializes xml_handler.""" #root xml node with all the data self.root = xml_node(name="root", fields=[]) @@ -119,7 +119,7 @@ class xml_handler(ContentHandler): Adds the opening tag to the list of open tags, adds a new space in the buffer, reads the appropriate attributes and adds a new level to the - heirarchy. + hierarchy. Args: name: The tag_name. @@ -139,7 +139,7 @@ class xml_handler(ContentHandler): def characters(self, data): """Reads data. - Adds the data to the buffer of the current level of the heirarchy. + Adds the data to the buffer of the current level of the hierarchy. Data is read as a string, and needs to be converted to the required type later. diff --git a/tools/i-pi/ipi/utils/prng.py b/tools/i-pi/ipi/utils/prng.py index c6626828a9..b6d9e6d21d 100644 --- a/tools/i-pi/ipi/utils/prng.py +++ b/tools/i-pi/ipi/utils/prng.py @@ -34,7 +34,7 @@ import math class Random(object): """Class to interface with the standard pseudo-random number generator. - Initialises the standard numpy pseudo-random number generator from a seed + Initializes the standard numpy pseudo-random number generator from a seed at the beginning of the simulation, and keeps track of the state so that it can be output to the checkpoint files throughout the simulation. @@ -51,11 +51,11 @@ class Random(object): """ def __init__(self, seed=12345, state=None): - """Initialises Random. + """Initializes Random. Args: - seed: An optional seed giving an integer to initialise the state with. - state: An optional state tuple to initialise the state with. + seed: An optional seed giving an integer to initialize the state with. + state: An optional state tuple to initialize the state with. """ self.rng = np.random.mtrand.RandomState(seed=seed) diff --git a/tools/ipp/ipp b/tools/ipp/ipp index a7eac67247..081d19e243 100644 --- a/tools/ipp/ipp +++ b/tools/ipp/ipp @@ -2,7 +2,7 @@ # ipp: a preprocessor script # author : Reese Jones rjones@sandia.gov (based on dprepro [Sandia]) # to do : -# priority (overide file defaults e.g. a=1 pfile a=2 -> a=2) +# priority (override file defaults e.g. a=1 pfile a=2 -> a=2) # also order precedence: a=10 -p p.file b=12 # nested if/else/endif blocks diff --git a/tools/lmp2cfg/lmp2cfg.f b/tools/lmp2cfg/lmp2cfg.f index 80071f53db..14a5d5c56d 100644 --- a/tools/lmp2cfg/lmp2cfg.f +++ b/tools/lmp2cfg/lmp2cfg.f @@ -96,7 +96,7 @@ C clear data array. c-------------------------------------------------------------------- -c-------This section writes each ts to a seperate .cfg file---------- +c-------This section writes each ts to a separate .cfg file---------- ciframe='.cfg' write(snapshot,'(i5.5,a4)')iframe,ciframe open(unit=iframe+20,file=snapshot,status='new', diff --git a/tools/matlab/readdump_one.m b/tools/matlab/readdump_one.m index 762ca9bb20..7be751c888 100644 --- a/tools/matlab/readdump_one.m +++ b/tools/matlab/readdump_one.m @@ -124,7 +124,7 @@ varargout{1}.x_bound = x_bound; varargout{1}.y_bound = y_bound; varargout{1}.z_bound = z_bound; varargout{1}.atom_data = atom_data; -varargout{1}.position = p; %gives postion of ITEM: TIMESTEP line +varargout{1}.position = p; %gives position of ITEM: TIMESTEP line %------------------------------ fclose(dump); diff --git a/tools/matlab/readlog.m b/tools/matlab/readlog.m index 1fc88243ff..073b6c22ee 100644 --- a/tools/matlab/readlog.m +++ b/tools/matlab/readlog.m @@ -34,7 +34,7 @@ while feof(fid) == 0 end %------------------------------------------------------- - %---------Seperate column headings---------------------- + %---------Separate column headings---------------------- j=1; k=1; Ch=''; diff --git a/tools/matlab/readrdf.m b/tools/matlab/readrdf.m index 540bea7daf..4ec253942f 100644 --- a/tools/matlab/readrdf.m +++ b/tools/matlab/readrdf.m @@ -1,5 +1,5 @@ function varargout = readrdf(varargin) -% Function to read Radial Distribution Funtion output from LAMMPS +% Function to read Radial Distribution Function output from LAMMPS % Input % 'bin' --> number of bins in rdf histogram % 'runtime' --> Run length of each of the run commands diff --git a/tools/moltemplate/README.txt b/tools/moltemplate/README.txt index ca6a013244..97f68a85de 100644 --- a/tools/moltemplate/README.txt +++ b/tools/moltemplate/README.txt @@ -51,7 +51,7 @@ e.g. via: Updates to this distribution method are less frequent, than others, so if you need a more recent version, you can download it as a .tar.gz or .zip -archive from the moltemplate home page or GitHub (see linke above). After +archive from the moltemplate home page or GitHub (see link above). After downloading an archive and unpacking it, you should have 3 folders. moltemplate/ <-- source code and force fields @@ -65,7 +65,7 @@ the unpacked source archive: pip install . --user If you want to install into a system folder, then you need to run pip with -superuser priviledges. e.g. with: +superuser privileges. e.g. with: sudo pip install . diff --git a/tools/msi2lmp/frc_files/cvff.frc b/tools/msi2lmp/frc_files/cvff.frc index e3791aa86d..ba27e305e4 100644 --- a/tools/msi2lmp/frc_files/cvff.frc +++ b/tools/msi2lmp/frc_files/cvff.frc @@ -15,7 +15,7 @@ #version cvff.frc 2.4 01-Mar-02 ! Currently Insight does not handle version numbers on lines correctly. -! It uses the first occurence of a line, so when making changes you +! It uses the first occurrence of a line, so when making changes you ! can either comment the original out temporarily or put the correct ! line first. @@ -4624,7 +4624,7 @@ for silicate, copied directly from previous si and o parameters. @Date 07-Nov-91 #reference 15 -Adding a torsion parametr, cp cp o c = 1.8 so that the rotation barrier +Adding a torsion parameter, cp cp o c = 1.8 so that the rotation barrier around bond cp-o in anisole matches the experimental value ~3.0kcal/mole and the equilibrium geometry of anisole has torsion angle cp-cp-o-c =0 @Author Shenghua Shi diff --git a/tools/msi2lmp/frc_files/cvff_aug.frc b/tools/msi2lmp/frc_files/cvff_aug.frc index 75af9ace24..c9e19624fd 100644 --- a/tools/msi2lmp/frc_files/cvff_aug.frc +++ b/tools/msi2lmp/frc_files/cvff_aug.frc @@ -123,7 +123,7 @@ ! Currently Insight does not handle version numbers on lines correctly. -! It uses the first occurence of a line, so when making changes you +! It uses the first occurrence of a line, so when making changes you ! can either comment the original out temporarily or put the correct ! line first. @@ -5080,7 +5080,7 @@ for silicate, copied directly from previous si and o parameters. @Date 07-Nov-91 #reference 15 -Adding a torsion parametr, cp cp o c = 1.8 so that the rotation barrier +Adding a torsion parameter, cp cp o c = 1.8 so that the rotation barrier around bond cp-o in anisole matches the experimental value ~3.0kcal/mole and the equilibrium geometry of anisole has torsion angle cp-cp-o-c =0 @Author Shenghua Shi diff --git a/tools/msi2lmp/frc_files/oplsaa.frc b/tools/msi2lmp/frc_files/oplsaa.frc index fff69c819c..02a7dce867 100644 --- a/tools/msi2lmp/frc_files/oplsaa.frc +++ b/tools/msi2lmp/frc_files/oplsaa.frc @@ -1,6 +1,6 @@ !BIOSYM forcefield 1 -! This is a modified version of msi2lmp for use specifically wtih the +! This is a modified version of msi2lmp for use specifically with the ! OPLS force field. No out-of-plane or cross-terms are included. ! Atom types from SPC water and CLAYFF are also included. diff --git a/tools/msi2lmp/src/ReadCarFile.c b/tools/msi2lmp/src/ReadCarFile.c index 7932f7d6e2..7cde0914c4 100644 --- a/tools/msi2lmp/src/ReadCarFile.c +++ b/tools/msi2lmp/src/ReadCarFile.c @@ -227,7 +227,7 @@ void ReadCarFile(void) /* Search coordinates to find lowest and highest for x, y, and z */ if (periodic == 0) { - /* Added if/else statment STLM Oct 5 2010 */ + /* Added if/else statement STLM Oct 5 2010 */ if (TriclinicFlag == 0) { /* no need to re-center the box, if we use min/max values */ center[0] = center[1] = center[2] = 0.0; diff --git a/tools/phonon/dynmat.cpp b/tools/phonon/dynmat.cpp index 3b7bfe8268..36dcc97aba 100644 --- a/tools/phonon/dynmat.cpp +++ b/tools/phonon/dynmat.cpp @@ -408,7 +408,7 @@ void DynMat::EnforceASR() for (int i = 0; i < fftdim; ++i){ printf("%lg ", egvs[i]); if (i%10 == 9) printf("\n"); - if (i == 99){ printf("...... (%d more skiped)", fftdim-100); break;} + if (i == 99){ printf("...... (%d more skipped)", fftdim-100); break;} } printf("\n"); for (int i = 0; i < 80; ++i) printf("="); diff --git a/tools/phonon/green.cpp b/tools/phonon/green.cpp index 35514c03fb..16b2588a41 100644 --- a/tools/phonon/green.cpp +++ b/tools/phonon/green.cpp @@ -140,7 +140,7 @@ return; } /*------------------------------------------------------------------------------ - * Private method to compute the LDOS via the recusive method for system with + * Private method to compute the LDOS via the recursive method for system with * many atoms *----------------------------------------------------------------------------*/ void Green::Recursion() @@ -217,7 +217,7 @@ return; } /*------------------------------------------------------------------------------ - * Private method to compute the LDOS via the recusive method for system with + * Private method to compute the LDOS via the recursive method for system with * a few atoms (less than NMAX) *----------------------------------------------------------------------------*/ void Green::recursion() diff --git a/tools/polybond/lmpsdata.py b/tools/polybond/lmpsdata.py index 36cd6a0aa3..52bc749ca6 100644 --- a/tools/polybond/lmpsdata.py +++ b/tools/polybond/lmpsdata.py @@ -3,7 +3,7 @@ # lmpsdata.py # # For reading, writing and manipulating lammps data files -# For calculation of certain properities using lammps data files +# For calculation of certain properties using lammps data files # For creating VMD input text files using lammps data files # All x,y,z calculations assume the information includes image flags @@ -328,7 +328,7 @@ class Lmpsdata: if no modifications to any of the lammpsdata structures (modflag=0) Use Keywords to write lammpsdata structures directly if modifications to any of the lammpsdata structures (modflag=1) - Key Lammpsdata structures like atom numbers, coeficient numbers + Key Lammpsdata structures like atom numbers, coefficient numbers need to be modified to match the other modified lammpsdata structures This section will still use the keywords to write lammpsdata structures. For all modflags, the code will write data to the file until all of the @@ -403,7 +403,7 @@ class Lmpsdata: for line in self.atoms: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Velocities': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -411,7 +411,7 @@ class Lmpsdata: for line in self.velocities: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Masses': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -419,7 +419,7 @@ class Lmpsdata: for line in self.masses: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Shapes': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -427,7 +427,7 @@ class Lmpsdata: for line in self.shapes: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Dipoles': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -435,7 +435,7 @@ class Lmpsdata: for line in self.dipoles: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Bonds': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -443,7 +443,7 @@ class Lmpsdata: for line in self.bonds: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Angles': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -451,7 +451,7 @@ class Lmpsdata: for line in self.angles: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Dihedrals': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -459,14 +459,14 @@ class Lmpsdata: for line in self.dihedrals: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween elif row=='Impropers': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords f.write('\n') #new line between body keyword and body data for line in self.impropers: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Pair Coeffs': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -474,7 +474,7 @@ class Lmpsdata: for line in self.paircoef: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Bond Coeffs': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -482,7 +482,7 @@ class Lmpsdata: for line in self.bondcoef: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Angle Coeffs': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -490,7 +490,7 @@ class Lmpsdata: for line in self.anglecoef: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Dihedral Coeffs': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -498,7 +498,7 @@ class Lmpsdata: for line in self.dihedralcoef: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword elif row=='Improper Coeffs': f.write('\n{0}'.format(row)) #new line between header and body portion or two body keywords @@ -506,7 +506,7 @@ class Lmpsdata: for line in self.impropercoef: f.write('\n') #creates a new line for adding body data for item in line: - f.write(' {0}'.format(item)) #adds in each peice of body data with space imbetween + f.write(' {0}'.format(item)) #adds in each piece of body data with space imbetween f.write('\n') #allows space to be added between the end of body data and a new keyword else: pass @@ -514,7 +514,7 @@ class Lmpsdata: def atomorder(self): """Takes self.atoms and organizes the atom id from least to greatest. - If the atom ids are allready ordered this algorithm will do nothing.""" + If the atom ids are already ordered this algorithm will do nothing.""" current=range(len(self.atoms[0])) # initialize current [assumes self.atoms coloumn #'s does not change] for i in range(1,len(self.atoms)): #when i=0, self.atoms will not change; therefore its skipped for k in range(len(self.atoms[i])): @@ -715,7 +715,7 @@ class Lmpsdata: extracts the individual molecules' data back into lmpsdata. This extraction takes place through a 4 step process. Step 1: Use a molecule's keywords to alter the lmpsdata data structures to empty. - To acomplish this procedure use the lmpsdata method deletebodydata. + To accomplish this procedure use the lmpsdata method deletebodydata. Step 2: Add the molecules' atoms to lmpsdata's atoms using the method addatoms. Return a list of atom id changes for each molecule. Step 3: Utilize each molecules list of atom id changes to change their data's atom id numbers. @@ -881,7 +881,7 @@ class Lmpsdata: class booleanarray: """A class that stores boolean values in a list of lists.""" def __init__(self,rownum, colnum, initval): - """ initialise a list of lists (array) with + """ initialize a list of lists (array) with rownum correspondinig to the number of lists in the list and colnum corresponding to the number of elements in the list's list. initval is the value the list of lists will be initialized with. @@ -966,7 +966,7 @@ def distance(a,coord,atomtype): class particlesurface: def __init__(self,particle,cutoff,atomid,atomtype,shape='sphere'): """Builds a particle surface with a specific shape from a particle - The atoms choosen from the surface will have the specific atomid + The atoms chosen from the surface will have the specific atomid atomid will be given in terms of an integer and not a string.""" self.particle=particle.atoms self.atomtype=atomtype @@ -1026,7 +1026,7 @@ class particlesurface: def deleteatoms(self,structure,rows): """delete atoms from particle and shifts the structure down""" new=[] - #mulitple copying of b to the rows being replaced. + #multiple copying of b to the rows being replaced. if rows==[]: for line in structure: new.append(line) #if no rows need replacing copy structure @@ -1081,7 +1081,7 @@ class particlesurface: self.particle.append([]) self.surface.append([]) - pposition=len(self.particle)-1 #particle postion + pposition=len(self.particle)-1 #particle position sposition=len(self.surface)-1 #surface position # Adds the atom id number to the new row @@ -1122,7 +1122,7 @@ class particlesurface: def createxyz(self,file,data,routine='mass', values=None): - """This shows the particle surface. To show the particle surface after bonding has occured, + """This shows the particle surface. To show the particle surface after bonding has occurred, you will need to extract the particle than reinsert the particle into the class and use createxyz. Two possible routines one to use the masses from data and the other to use the atom type and values supplied by the user. The mass version is assessed by setting the routine to 'mass' which is the default method. @@ -1199,7 +1199,7 @@ def molecules(data,init,final,processors, method='all'): p.join() return molecule -class Lmpsmolecule: #Technically should be a meta class but written as a seperate class for easier coding. +class Lmpsmolecule: #Technically should be a meta class but written as a separate class for easier coding. def __init__(self,moleculenum,data,method): """initiates lammps molecule structures and than extract the appropriate molecular structures from the base class data""" @@ -1510,7 +1510,7 @@ class Lmpsmolecule: #Technically should be a meta class but written as a seperat """delete rows in a structure and shifts the structure up rows must be in increasing order for this algorithm to work correctly""" new=[] - #mulitple copying of b to the rows being replaced. + #multiple copying of b to the rows being replaced. if rows==[]: for line in structure: new.append(line) #if no rows need replacing copy structure @@ -1598,7 +1598,7 @@ class Lmpsmolecule: #Technically should be a meta class but written as a seperat if nextatoms[i]==atom: #checking if atom is in next atom del nextatoms[i] #delete the atom at i break - if nextatoms==[]: break #all bonds from find bonds have allready been added to bondedatoms + if nextatoms==[]: break #all bonds from find bonds have already been added to bondedatoms #append next atoms into bondedatoms #copy next atoms into prevatoms @@ -1607,7 +1607,7 @@ class Lmpsmolecule: #Technically should be a meta class but written as a seperat bondedatoms.append(atom) prevatoms.append(atom) - #iterative proccess for finding the rest of the atoms bonded to atomnumbers in the direction of atomid. + #iterative process for finding the rest of the atoms bonded to atomnumbers in the direction of atomid. while prevatoms!=[]: nextatoms=self.findbonds(prevatoms) #need to remove atoms from nextatoms which are in the prevatoms @@ -1616,7 +1616,7 @@ class Lmpsmolecule: #Technically should be a meta class but written as a seperat if nextatoms[i]==atom: #checking if atom is in next atom del nextatoms[i] #delete the atom at i break - if nextatoms==[]: break #all bonds from find bonds have allready been added to bondedatoms + if nextatoms==[]: break #all bonds from find bonds have already been added to bondedatoms #append next atoms into bondedatoms #copy next atoms into prevatoms @@ -1694,8 +1694,8 @@ class Lmpsmolecule: #Technically should be a meta class but written as a seperat def listorder(self,struct): """Takes struct and organizes the list from least to greatest. - If the list is allready ordered this algorithm will do nothing.""" - if len(struct)==1: return struct #with the length at 1; thier is only one element and theirfore nothing to order + If the list is already ordered this algorithm will do nothing.""" + if len(struct)==1: return struct #with the length at 1; there is only one element and therefore nothing to order for i in range(1,len(struct)): #when i=0, struct will not change; therefore its skipped copy=struct[i] for j in range(i-1,-1,-1): @@ -1756,8 +1756,8 @@ class Lmpsmolecule: #Technically should be a meta class but written as a seperat The second index correspons with the molecule/particle combination The third index corresponds with whether the value is the molecule or the particle Always bonds the two ends of the molecule that meet cutoff requirement. - All other possible bonds are randomly choosen until the required bondnumbers are met. - After every bond is choosen, the particle object's boolean list is updated, and possiblebonds is updated. + All other possible bonds are randomly chosen until the required bondnumbers are met. + After every bond is chosen, the particle object's boolean list is updated, and possiblebonds is updated. The update to possiblebonds involves removing the row from which the bonded molecule's atom is located and also removing the particle atom and it's corresponding bonded atom from other rows of possiblebonds. The final bonds are all stored in self.bonding as a 2 dimensional list""" @@ -1896,7 +1896,7 @@ class Lmpsmolecule: #Technically should be a meta class but written as a seperat # Alters the charge of the molecule's atoms bonded to the particle to newcharge self.modifyatom(self.bondinginformation[i][0]+1,3,newcharge) - #This is a seperate loop so atom id's and row indexes for previous steps wont get out of sync + #This is a separate loop so atom id's and row indexes for previous steps wont get out of sync #create atomnumbers to begin deletion process. atomnumbers=[] for i in range(len(self.bondinginformation)): @@ -1906,7 +1906,7 @@ class Lmpsmolecule: #Technically should be a meta class but written as a seperat #Than delete those atoms and all molecule structures which contain those atoms. self.deleteatoms(atomnumbers,atomid) - print 'begining deletion process of the surface atoms for which the molecule atoms have replaced' + print 'beginning deletion process of the surface atoms for which the molecule atoms have replaced' #Goes through the bondinginformation and superficially removes the surfaceatom for i in range(len(self.bondinginformation)): particle.removesurfatom(self.bondinginformation[i][1]) #uses the row number diff --git a/tools/pymol_asphere/src/cartesian.cpp b/tools/pymol_asphere/src/cartesian.cpp index a244d07dac..e137c51e7a 100644 --- a/tools/pymol_asphere/src/cartesian.cpp +++ b/tools/pymol_asphere/src/cartesian.cpp @@ -879,7 +879,7 @@ double c::closest_approach(const cPt &l1_1, const cPt &l1_2, const cPt &l2_1, double tc, tN, tD = D; // compute the closest points between the two lines - if (D < 0.00000000001) { // parrallel lines + if (D < 0.00000000001) { // parallel lines sN = 0.0; sD = 1.0; tN = e; tD = c; } else { // get the closest points on the infinite lines sN = (b*e - c*d); @@ -936,7 +936,7 @@ void c::closest_approach_points(const cPt &l1_1, const cPt &l1_2, double tc, tN, tD = D; // compute the closest points between the two lines - if (D < 0.00000000001) { // parrallel lines + if (D < 0.00000000001) { // parallel lines sN = 0.0; sD = 1.0; tN = e; tD = c; } else { // get the closest points on the infinite lines sN = (b*e - c*d); diff --git a/tools/pymol_asphere/src/error.h b/tools/pymol_asphere/src/error.h index f14af6f253..c0775d6506 100644 --- a/tools/pymol_asphere/src/error.h +++ b/tools/pymol_asphere/src/error.h @@ -112,7 +112,7 @@ class Notice { * to format it for the string. Forced newlines can be specified with \n * * Programs can check whether or not errors have been generated using the [] - * operator and can 'handle' them by outputing the message or dismissing + * operator and can 'handle' them by outputting the message or dismissing * them without any output * * Notices are generated using the public Notice class (see Notice()) diff --git a/tools/reax/reaxc_bond.pl b/tools/reax/reaxc_bond.pl index 9b0fa50672..cc0fd8f238 100755 --- a/tools/reax/reaxc_bond.pl +++ b/tools/reax/reaxc_bond.pl @@ -126,7 +126,7 @@ sub bonds { } close (OUTPUT2); #close the temp file as output - open INPUT3, "<temp_$frame.dat" or die "Cannot open temp file: $!"; # opne it as input + open INPUT3, "<temp_$frame.dat" or die "Cannot open temp file: $!"; # open it as input while(<INPUT3>) { next if(/Frame/); split; diff --git a/tools/replica/reorder_remd_traj.py b/tools/replica/reorder_remd_traj.py index 5f4f316b14..5033ae1e53 100644 --- a/tools/replica/reorder_remd_traj.py +++ b/tools/replica/reorder_remd_traj.py @@ -53,7 +53,7 @@ except ImportError: -#### INITIALISE MPI #### +#### INITIALIZE MPI #### # (note that all output on screen will be printed only on the ROOT proc) ROOT = 0 comm = MPI.COMM_WORLD @@ -160,7 +160,7 @@ def get_byte_index(rep_inds, byteindfns, intrajfns): :param intrajfns: list of (unordered) input traj filenames """ for n in rep_inds: - # check if the byte indices for this traj has aleady been computed + # check if the byte indices for this traj has already been computed if os.path.isfile(byteindfns[n]): continue # extract bytes diff --git a/tools/spin/interpolate_gneb/README b/tools/spin/interpolate_gneb/README index ab30373249..cf52ccb274 100644 --- a/tools/spin/interpolate_gneb/README +++ b/tools/spin/interpolate_gneb/README @@ -20,7 +20,7 @@ geodesic dist to next replica All those information can be provided by the verbose output of a neb/spin calculation -The progam outputs the interpolation result, and the +The program outputs the interpolation result, and the interpolated MEP in "interpolation_result.dat". This code is a courtesy of Aleksei Ivanov, University of diff --git a/tools/xmgrace/lammpsplot.cpp b/tools/xmgrace/lammpsplot.cpp index 7badb5652b..848c53a091 100644 --- a/tools/xmgrace/lammpsplot.cpp +++ b/tools/xmgrace/lammpsplot.cpp @@ -29,7 +29,7 @@ public: }; -/* This function splits the sentence into array of strings seperated by " "*/ +/* This function splits the sentence into array of strings separated by " "*/ sentence split(const string& s) { sentence a; s_type i=0;