diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index faba3a5ce0d5fb924df2cec163643d4c403f05aa..9b3992da843d0821560c07f70ce66f119141469a 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -131,7 +131,7 @@ set(LAMMPS_API_DEFINES) set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MOLECULE PERI POEMS QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI - USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS + USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REACTION @@ -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 0000000000000000000000000000000000000000..62d33036a5cf49c8514f1740bf3d89ec2d58776c --- /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 a75e248097c670957bcf91419b7c2db24582002f..bb68f8fef4778cc992e1b634222bf0a436c4380b 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= -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + BUILD_BYPRODUCTS /${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 8bcda84cdc81a4058d2188503e471e11c68fd75b..bc89b00111cc97e57f173fe8b2d986c7d4bf41ac 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 /${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 99d98659eeb653be0ebc06f8097d9b066ef9ea84..b1cc6fad46e5ad1e6d07e2d6b034989f6c0a3b49 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= ${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= + -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} + BUILD_COMMAND ${CMAKE_COMMAND} --build . --target mscg + INSTALL_COMMAND "" + BUILD_BYPRODUCTS /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 b7fb91917cc32595dfd589adf779c26ac3af28bf..a112fbb6aa1d0c6dac813599405e56843e2a3269 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-PLUMED.cmake b/cmake/Modules/Packages/USER-PLUMED.cmake index e10176f9fd6b3348232f569018be5252e18dbd95..426ae2df2a8b84fe1c60042d446832fe12a15471 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 "/lib/libplumed.a") + elseif(PLUMED_MODE STREQUAL "SHARED") + set(PLUMED_BUILD_BYPRODUCTS "/lib/libplumed${CMAKE_SHARED_LIBRARY_SUFFIX};/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX}") + elseif(PLUMED_MODE STREQUAL "RUNTIME") + set(PLUMED_BUILD_BYPRODUCTS "/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 475f2585c80fcfb19c4f8d6cf731791d122a9f90..8bb9e63605970e4b36bddb8964f41a713d7e9bd7 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 + /lib/libfcs.a + /lib/libfcs_direct.a + /lib/libfcs_ewald.a + /lib/libfcs_fmm.a + /lib/libfcs_p2nfft.a + /lib/libfcs_p3m.a + /lib/libfcs_near.a + /lib/libfcs_gridsort.a + /lib/libfcs_resort.a + /lib/libfcs_redist.a + /lib/libfcs_common.a + /lib/libfcs_pnfft.a + /lib/libfcs_pfft.a + /lib/libfcs_fftw3_mpi.a + /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 89fa70bf9801de4750fa84b2af6e64943e631815..5418132034f369dcc9e4d939125754aac4a2e287 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 /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 6255307ef32f36120eaefe6c1fea097cdab50824..9fb5dc3c163e9467a9dd29de664e18f90fdcecc0 100644 --- a/cmake/README.md +++ b/cmake/README.md @@ -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: diff --git a/cmake/presets/all_off.cmake b/cmake/presets/all_off.cmake index 9d03be99ecb41d059a1e8e072b776513df84122a..6b589e3cd9e1974a76a71867b2dc23d2c3496260 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 2ff107975a6d3e92906186093e37df3e49ad48b8..e46157bb966377e917e10c8eda76b3668fc82dbd 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 eed560b995dd0dbd64e2082689ec3e1270649adf..b2c53bd41d77129174b7f5f1a352520c4293e4eb 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 53907f84656f961663321f6bb7d0613ecf20bcbc..1097d1e37c235337bfea305d7a15fb53d285b033 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/src/Build.rst b/doc/src/Build.rst index bd218c8165cd3120a3fc05e55d3e990829b79f1b..c96fb0b5b9cb72502c2c7ca2fa7e6b748b2f7b7f 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 ` doc page. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Build_basics.rst b/doc/src/Build_basics.rst index 4788d93689a83f8b5bf1fde73045c3a24e0c4bf0..51c3fd871d45cf2adfc1e51c1dc1d8d9d36a265c 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 ` * :ref:`Install LAMMPS after a build ` - ---------- - .. _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 ` 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 `_, 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 `_. - + `download page `_. **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 `. 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 939431c6b367c65f9270ba1b150d1d35c53a8b1c..c41136c0a53a323bf8544d2ce777c31b77032e75 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 `. 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 `. + 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 ` 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 `_ 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 `_ 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 f8eee73197e8972296a5425fb274a8ae929eec74..722f436063e2e10521c93bdeaacaf389d9a4ce71 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_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 a4064ee8125c2806f887d8b9d234b7d5143ba070..4589015e35bf2f68d486664843d6396e44104146 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 ` doc page. +as described on the :doc:`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 ` * :ref:`USER-SCAFACOS ` * :ref:`USER-SMD ` - * :ref:`USER-VTK ` + * :ref:`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 `_ 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 ` 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 ` 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 365decd54dd1998443d0d169b5e7b55d126f19d8..64c890d8ec6ac634d809e0e50eabc8e1ba0bfac8 100644 --- a/doc/src/Build_link.rst +++ b/doc/src/Build_link.rst @@ -11,7 +11,7 @@ The :doc:`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 ebd1790e11402fd684818b5a82b59a263dd7520e..0379a8379a1bfa42beb6acbf993dc0ce2004b400 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 cd178161b3eaba525c74789b1848fa93a5321136..b3d2d3fc566fd5026580112f49e60d19e8b44fed 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 ` 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 `, 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 5f835f76a0061de8623c65470b4fd2b78b80a048..01792507e7d5128bee2d3cfc690d72b647559215 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 ` via the :doc:`dump_movie ` command * :ref:`Memory allocation alignment ` * :ref:`Workaround for long long integers ` -* :ref:`Error handling exceptions ` when using LAMMPS as a library - +* :ref:`Error handling 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 `_. 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 ` 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 264e4bf44fc8f515b65e63ab2721ea0567b0a487..2b7bd27209b24ae42f1cd199b52f1b9eb61424ec 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 ` * :ref:`Using a cross-compiler ` - ---------- - .. _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 f192d6a59dd193c36cde8a7627ee3aee84a79622..72a98159ff0a689bda2c727de3b23786b48a6081 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 19be6d8cbc958bdf939b89174fc5629c519d9fdd..0cb1b723b8755ed87c1d8cc1a364b7792faa7fc3 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 69d3393d08f474344821da1b04f7f89aeacf5d24..f8de98c1a2906273f9bb848ad460299d95dddd35 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 ` command initializes the system by setting up the simulation box and assigning atoms to processors. If default values are not desired, the :doc:`processors ` and -:doc:`boundary ` commands need to be used before read\_data to +:doc:`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_pair.rst b/doc/src/Commands_pair.rst index 10873f1203965200ee3517dbdeafd859a6dc509f..8624b555bc096290aac3b450e2a02d390d711b05 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -95,7 +95,7 @@ OPT. * :doc:`eam/fs (gikot) ` * :doc:`edip (o) ` * :doc:`edip/multi ` - * :doc:`edpd ` + * :doc:`edpd ` * :doc:`eff/cut ` * :doc:`eim (o) ` * :doc:`exp6/rx (k) ` @@ -171,8 +171,8 @@ OPT. * :doc:`lubricate/poly (o) ` * :doc:`lubricateU ` * :doc:`lubricateU/poly ` - * :doc:`mdpd ` - * :doc:`mdpd/rhosum ` + * :doc:`mdpd ` + * :doc:`mdpd/rhosum ` * :doc:`meam/c ` * :doc:`meam/spline (o) ` * :doc:`meam/sw/spline ` @@ -242,7 +242,7 @@ OPT. * :doc:`sw (giko) ` * :doc:`table (gko) ` * :doc:`table/rx (k) ` - * :doc:`tdpd ` + * :doc:`tdpd ` * :doc:`tersoff (giko) ` * :doc:`tersoff/mod (gko) ` * :doc:`tersoff/mod/c (o) ` diff --git a/doc/src/Commands_parse.rst b/doc/src/Commands_parse.rst index 83e7d439ef71204515f3f4c811f637d0b09fbc4e..37283823d71ae56224966ff806b9f5787226f86a 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 `. See the :doc:`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 9b5a46634050931b02ed52985e426cf960e6136e..98744efb2a2924824be42dcc4cb636d3b8394924 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 ` -2. :ref:`System definition ` +2. :ref:`System definition ` 3. :ref:`Simulation settings ` 4. :ref:`Run a simulation ` diff --git a/doc/src/Errors.rst b/doc/src/Errors.rst index 9c5346771923be0835eb62e5178a43a6888433fe..896dfbcbef63d7f5151f437f2e1ecd0d331b3304 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 6cb313db9786b17473c2816dc81c7526b6df3caa..e169b93d8189c14da09b91c20c1db0e4c26003c2 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 - `_ section of the `LAMMPS WWW site + `_ section of the `LAMMPS WWW site `_ 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 `_ if there is already a fix for your bug pending. - * Check the `mailing list archives `_ + * Check the `mailing list archives `_ 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 b8832d8f34427803a1d0f6ed60b6855e6b1de213..603952a29d3e433c685fb506c5dc57a36d093ac9 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 `_. +the `developers `_. 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 a7938d2b6c8cf8e7eebac9db4e4c91cabe074ad2..5a8c3f62e5ad65ec5f451bb02a66562d37433fdd 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 ` - ---------- - - - *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` 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 ` 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 ` 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 ` 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 ` *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 ` 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 ` *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 ` 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 ` *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 ` 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 ` *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 ` *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 ` 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 ` *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 ` *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 ` *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 ` *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 ` 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 ` 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 ` 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 ` *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 ` 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 ` *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 ` *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 ` 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 ` 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 ` *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 ` *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 ` 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 ` *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 ` 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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` 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 ` 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 ` 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 ` *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 ` 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 ` *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. @@ -2558,13 +2553,13 @@ Doc page with :doc:`WARNING messages ` *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* @@ -2584,7 +2579,7 @@ Doc page with :doc:`WARNING messages ` 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 @@ -2598,16 +2593,16 @@ Doc page with :doc:`WARNING messages ` 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. @@ -2651,66 +2646,66 @@ Doc page with :doc:`WARNING messages ` *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 @@ -2726,13 +2721,13 @@ Doc page with :doc:`WARNING messages ` *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* @@ -2745,26 +2740,26 @@ Doc page with :doc:`WARNING messages ` *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. @@ -2778,7 +2773,7 @@ Doc page with :doc:`WARNING messages ` 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* @@ -2786,12 +2781,12 @@ Doc page with :doc:`WARNING messages ` *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. @@ -2808,8 +2803,8 @@ Doc page with :doc:`WARNING messages ` *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. @@ -2836,12 +2831,12 @@ Doc page with :doc:`WARNING messages ` *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. @@ -2853,22 +2848,22 @@ Doc page with :doc:`WARNING messages ` 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* @@ -2880,16 +2875,16 @@ Doc page with :doc:`WARNING messages ` 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. *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. @@ -2968,7 +2963,7 @@ Doc page with :doc:`WARNING messages ` 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. @@ -3081,19 +3076,19 @@ Doc page with :doc:`WARNING messages ` 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* @@ -3103,7 +3098,7 @@ Doc page with :doc:`WARNING messages ` *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* @@ -3210,7 +3205,7 @@ Doc page with :doc:`WARNING messages ` *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* @@ -3232,7 +3227,7 @@ Doc page with :doc:`WARNING messages ` 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* @@ -3478,15 +3473,15 @@ Doc page with :doc:`WARNING messages ` *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* @@ -3503,13 +3498,13 @@ Doc page with :doc:`WARNING messages ` 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* @@ -3518,7 +3513,7 @@ Doc page with :doc:`WARNING messages ` *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* @@ -3526,8 +3521,8 @@ Doc page with :doc:`WARNING messages ` 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 @@ -3558,8 +3553,8 @@ Doc page with :doc:`WARNING messages ` *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* @@ -3630,7 +3625,7 @@ Doc page with :doc:`WARNING messages ` 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* @@ -3647,8 +3642,8 @@ Doc page with :doc:`WARNING messages ` *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* @@ -3850,7 +3845,7 @@ Doc page with :doc:`WARNING messages ` *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 `_. + `developers `_. *Fix peri neigh does not exist* Somehow a fix that the pair style defines has been deleted. @@ -3871,7 +3866,7 @@ Doc page with :doc:`WARNING messages ` 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* @@ -3905,10 +3900,10 @@ Doc page with :doc:`WARNING messages ` *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* @@ -3940,7 +3935,7 @@ Doc page with :doc:`WARNING messages ` *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* @@ -3951,7 +3946,7 @@ Doc page with :doc:`WARNING messages ` *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* @@ -3965,20 +3960,20 @@ Doc page with :doc:`WARNING messages ` *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* @@ -4002,22 +3997,22 @@ Doc page with :doc:`WARNING messages ` *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* @@ -4065,7 +4060,7 @@ Doc page with :doc:`WARNING messages ` *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* @@ -4085,7 +4080,7 @@ Doc page with :doc:`WARNING messages ` *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* @@ -4099,7 +4094,7 @@ Doc page with :doc:`WARNING messages ` 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. @@ -4174,25 +4169,25 @@ Doc page with :doc:`WARNING messages ` *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* @@ -4266,10 +4261,10 @@ Doc page with :doc:`WARNING messages ` *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* @@ -4282,7 +4277,7 @@ Doc page with :doc:`WARNING messages ` *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.* @@ -4320,8 +4315,8 @@ Doc page with :doc:`WARNING messages ` 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. @@ -4335,8 +4330,8 @@ Doc page with :doc:`WARNING messages ` *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* @@ -4371,10 +4366,10 @@ Doc page with :doc:`WARNING messages ` 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* @@ -4428,8 +4423,8 @@ Doc page with :doc:`WARNING messages ` 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. @@ -4452,12 +4447,12 @@ Doc page with :doc:`WARNING messages ` *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. @@ -4468,18 +4463,18 @@ Doc page with :doc:`WARNING messages ` *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* @@ -4498,7 +4493,7 @@ Doc page with :doc:`WARNING messages ` 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* @@ -4545,7 +4540,7 @@ Doc page with :doc:`WARNING messages ` *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* @@ -4556,7 +4551,7 @@ Doc page with :doc:`WARNING messages ` 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* @@ -4657,7 +4652,7 @@ Doc page with :doc:`WARNING messages ` *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* @@ -4689,7 +4684,7 @@ Doc page with :doc:`WARNING messages ` 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* @@ -4762,7 +4757,7 @@ Doc page with :doc:`WARNING messages ` 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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` *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 ` 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* @@ -5175,13 +5170,13 @@ Doc page with :doc:`WARNING messages ` *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* @@ -5206,13 +5201,13 @@ Doc page with :doc:`WARNING messages ` *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* @@ -5280,7 +5275,7 @@ Doc page with :doc:`WARNING messages ` 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 @@ -5368,16 +5363,16 @@ Doc page with :doc:`WARNING messages ` *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* @@ -5391,8 +5386,8 @@ Doc page with :doc:`WARNING messages ` *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* @@ -5487,10 +5482,10 @@ Doc page with :doc:`WARNING messages ` 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* @@ -5498,7 +5493,7 @@ Doc page with :doc:`WARNING messages ` *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. @@ -5511,7 +5506,7 @@ Doc page with :doc:`WARNING messages ` 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 @@ -5523,11 +5518,11 @@ Doc page with :doc:`WARNING messages ` *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 @@ -5545,17 +5540,17 @@ Doc page with :doc:`WARNING messages ` *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* @@ -5592,7 +5587,7 @@ Doc page with :doc:`WARNING messages ` *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. @@ -5600,13 +5595,13 @@ Doc page with :doc:`WARNING messages ` *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* @@ -5619,23 +5614,23 @@ Doc page with :doc:`WARNING messages ` 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. @@ -5717,10 +5712,10 @@ Doc page with :doc:`WARNING messages ` *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* @@ -5743,12 +5738,12 @@ Doc page with :doc:`WARNING messages ` *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* @@ -5764,60 +5759,60 @@ Doc page with :doc:`WARNING messages ` *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* @@ -5854,9 +5849,9 @@ Doc page with :doc:`WARNING messages ` 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 @@ -5864,7 +5859,7 @@ Doc page with :doc:`WARNING messages ` *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 @@ -5879,30 +5874,30 @@ Doc page with :doc:`WARNING messages ` *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. @@ -5932,12 +5927,12 @@ Doc page with :doc:`WARNING messages ` 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* @@ -5964,29 +5959,29 @@ Doc page with :doc:`WARNING messages ` 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. @@ -6005,23 +6000,23 @@ Doc page with :doc:`WARNING messages ` *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. @@ -6104,7 +6099,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* @@ -6144,10 +6139,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* @@ -6253,7 +6248,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* @@ -6262,11 +6257,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. @@ -6281,28 +6276,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 @@ -6345,7 +6340,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. @@ -6373,10 +6368,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* @@ -6395,7 +6390,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 @@ -6409,7 +6404,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* @@ -6429,7 +6424,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. @@ -6441,7 +6436,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. @@ -6450,13 +6445,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. @@ -6467,9 +6462,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. @@ -6609,12 +6604,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* @@ -6629,7 +6624,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. @@ -6641,7 +6636,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* @@ -6727,7 +6722,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. @@ -6780,7 +6775,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* @@ -6850,21 +6845,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* @@ -6985,8 +6980,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 @@ -7059,35 +7054,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. @@ -7168,8 +7163,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 @@ -7187,8 +7182,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. @@ -7287,8 +7282,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. @@ -7296,9 +7291,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 @@ -7323,8 +7318,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. @@ -7374,8 +7369,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. @@ -7392,13 +7387,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* @@ -7412,33 +7407,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. @@ -7447,7 +7442,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* @@ -7494,8 +7489,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. @@ -7576,7 +7571,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. @@ -7587,7 +7582,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* @@ -7653,28 +7648,28 @@ 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 @@ -7697,7 +7692,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* @@ -7744,19 +7739,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* @@ -7765,7 +7760,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* @@ -7793,7 +7788,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* @@ -7820,7 +7815,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* @@ -7882,8 +7877,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 @@ -7901,13 +7896,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* @@ -7937,7 +7932,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* @@ -7955,7 +7950,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* @@ -7970,10 +7965,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* @@ -7987,13 +7982,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* @@ -8056,10 +8051,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* @@ -8199,10 +8194,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* @@ -8338,8 +8333,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. @@ -8357,7 +8352,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* @@ -8406,17 +8401,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 cb4bdf3e3f8131d480079184436672b714aabfdb..a4738a811c74ce05a474de0e64d2d34e589d8c32 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 ` - ---------- - - - *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 ` *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 ` *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 ` *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 ` 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 ` *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 ` *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* @@ -214,8 +209,8 @@ Doc page with :doc:`ERROR 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 @@ -270,19 +265,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* @@ -304,7 +299,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. @@ -339,22 +334,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 @@ -377,15 +372,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. @@ -408,8 +403,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* @@ -474,21 +469,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* @@ -512,7 +507,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. @@ -546,10 +541,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* @@ -574,15 +569,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* @@ -595,19 +590,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. @@ -711,7 +706,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 @@ -743,12 +738,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. @@ -777,13 +772,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* @@ -791,8 +786,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 243ffdfd9342d66878ed17b4ac44926a7bd28c21..b94db208d9b0682e97cb142d5ecf39daac95c1b4 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 ` command in the input script, a text dump file will be produced, which can be animated by various -`visualization programs `_. +`visualization programs `_. If you uncomment the :doc:`dump image ` 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 `_ page of the LAMMPS +`Visualization `_ page of the LAMMPS web site. If you uncomment the :doc:`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 ` doc page for details). These can +:doc:`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 ` 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 ` doc +instructions. See the :doc:`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 05af2ffafceb9905caaff02675af3cd2f9e3126a..f4376898b1ba3940d37c6f9549267c398dbc78f6 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 `_ website page also lists MD +`glossary `_ 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 ` 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 59060fbe1e9b81fdd323996c61d042e450c0246c..1b4be32106876eb53bb8d8e6579fa08e669862b4 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 ` 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 ` 1 -10 10 -10 10 -0.25 0.25 If using the :doc:`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 f8a5130b332652a5b0c245952ee75d1820dc1a4c..02322e5e1cf82095fa1aeaa3bab27bad87e75d28 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 4d31d1ee4708c8396465937304b93f76fcf9f8e7..e7bfcdfdb21328915cc2e0356a4906f14aa3568d 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 ` 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 f60a608eae7414e76783d501f44a64f3c6591778..efb5a38a59841fdcbf153437d8407b27aa98005d 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 ` 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 ` 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 ` 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 ` 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 ` 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 `. -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 ` 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 ` 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 ` command. See the "pair\_style +:doc:`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 `. -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 ` 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 ` and :doc:`dump local ` 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 cedc05d9f4e5a448f37c76bd2c3c2021889c9146..cdc0c30d9b2275c0a1b14df86c3610052d1ce355 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 ` 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 e98a3c9a988cece6504d84eb33c063fb0e677faf..c22e1ca3ab25af7f925d1eb0f1419f0aa24a0ed7 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 `_ with documentation and test +`website `_ 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 bf600583c16f95c9ff5424619637bd3ebb3fbccb..94fb5b7b42600c7cb8a0b5197691a46cc7de2c70 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 ` and specifying it as a second argument in :doc:`fix modify ` and :doc:`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 ` command and assigning the :doc:`compute temp/cs ` command to the *temp* keyword of the :doc:`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 55c7d813d60444d9272bd46b7ce49ed722661514..c652d4f599ffff96bdc74f099cfe54a01c439207 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 ` 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 ` 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 `_, to run classical +* lammps_quest: coupling of LAMMPS and `Quest `_, to run classical MD with quantum forces calculated by a density functional code -* lammps\_spparks: coupling of LAMMPS and `SPPARKS `_, to couple +* lammps_spparks: coupling of LAMMPS and `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 ` 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 ` 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 ` doc page. diff --git a/doc/src/Howto_dispersion.rst b/doc/src/Howto_dispersion.rst index f1c818162be753b0f16ff0bc0741ff755d2d5483..a173e0cfbd3351a85f830ff4ad7d52928e2204fc 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 b6292ca622f4c81143338799ba749259b6532bef..62659711c4c5179986956739fbd974b8c821dc0a 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/\* thermostat. The former requires use of the command :doc:`comm_modify vel yes `. 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 `. 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 ` in :doc:`pair_style hybrid/overlay ` @@ -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 fb99077137f36d48061e76949effc97431de6a80..cbdbc2d250b37fa9eccbe053765828a926d3e94a 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 ` :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 ` 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 `. - .. 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 ` - +to their DCs, you should use the :doc:`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* `. This is implemented as a -correction to the Coulomb pair\_styles, which dampens at short distance +:doc:`*pair_style 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 `) and +pair_style with default screening factor 2.6 (:ref:`Noskov `) 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) `, 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 001eb4886b9e80ff8c7b548d62ad73507de08e83..487094245898f71c9fdd4370c14c4a935a8dd2b9 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: - - **(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 6e1bc5bb604fa9b147cd66a9b464fe1b2706cf36..55db356589e940eeed386712bdadc22786611134 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 ` 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 /lammps.git or, if you have set up your GitHub account for using SSH keys, via SSH: - .. code-block:: bash $ git clone git@github.com:/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\_" to simplify comparisons between releases. +"patch_" 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 25fc9869eabb88c34f908d29de4a2cedfa2ef777..c696d44249a385237f05e48a13c22f3f38d31e0a 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 ` gran/history -* :doc:`pair_style ` gran/no\_history +* :doc:`pair_style ` gran/no_history * :doc:`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 b737f8317d5eea4fc14b3c408e1ca2a871434416..08697ecc84c9c422595262ed33efab07278898b3 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 ` 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 ` command to calculate the needed auto-correlation. See the doc page for the :doc:`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 3e0ec01d310c1fc238142cf49856e3d97ff93b48..774d9838c143d7631acbff2427db7cf279884a4e 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 ` 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 8d60a0d36d66493b4f7304a1a1bb0cb2a1951de2..41e1fb6a4cb7cecf17df71403a07002f88f0ba77 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) ` | 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 `_. diff --git a/doc/src/Howto_multiple.rst b/doc/src/Howto_multiple.rst index 42b58c041ca8e8fb266b90e037a96cfbc360ac45..ec2729acf0378fdf377b14b4b8faeee0c1a6ab66 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 ` 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 ` 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 1138315c1e3accd718537ad7d362a823630dae10..f2be8ca44426b5e084ea3aa0e566645849781e34 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 ` 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 9030e6edf83d3fca7fee83b423c87caf4cadce2b..04e73c2272cfbc925c9f5b11162bbc5c8c5c3e84 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 `. - 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 ` and :doc:`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 ` 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 ` +also be specified (c_ID, f_ID, v_name), where a :doc:`compute ` or :doc:`fix ` or :doc:`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 ` @@ -122,7 +121,7 @@ pre-defined formats (dump atom, dump xtc, etc). There is also a :doc:`dump custom ` 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 ` or :doc:`fix ` or :doc:`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 ` command. @@ -130,7 +129,7 @@ variable must generate per-atom values for input to the :doc:`dump custom There is also a :doc:`dump local ` 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 ` or :doc:`fix ` or :doc:`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 ` diff --git a/doc/src/Howto_pylammps.rst b/doc/src/Howto_pylammps.rst index 5ee9892db9f707813b33b4ac4fef3209d9d3145d..e1694e206248e1b1c4c9f6fbe54967f0ac6d4d1a 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 ` 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 f9aca02dcd3894870ac658b363e06059930deb15..e9fba37dcdf769101e3241c0aa83edb2a72dccc8 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 ` 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 484f09775b9cf5a30cee0c39dad8529adaf1ba6d..6323ba4158de6b129fbe52255343bc75b61d4e44 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 ` 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 e9b0863a6ae658d04b2d1dd72788f258cf07f334..f7c2cf61423a9b6594903a3131b51d75dc5ada71 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) ` reference for more details on both the SPC and SPC/E models. Wikipedia also has a nice article on `water models `_. - ---------- - .. _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 066329a985355d747e74e6f1cf46e7fdfe0f6ab7..7ca8a1b0600e77042c3852c17d4da6e6d3bfe454 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 ` that g * :doc:`pair_style gran/history ` * :doc:`pair_style gran/hertzian ` -* :doc:`pair_style gran/no\_history ` +* :doc:`pair_style gran/no_history ` * :doc:`pair_style dipole/cut ` * :doc:`pair_style gayberne ` * :doc:`pair_style resquared ` diff --git a/doc/src/Howto_spins.rst b/doc/src/Howto_spins.rst index 08939576e35a2137f9358e80b97991ba26393f9d..0afcc12c918666b5741ec967f6c7eb6b5a6abc84 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 ` comman :doc:`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 921dface174662b20f0a5bc8d07e3ec5335020d6..7f7ddbdf2abeba6b1daba2cbc0fb9693d41eec0f 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) ` 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 `_. - ---------- - .. _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 480ddc3bc6a82be8c6dd7dba2f3612b21af3e164..1aa5712b194bebd5b21c40241c10efdd3832c9e3 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 ` +* :doc:`pair_style lj/cut/tip4p/cut ` 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 `_. - ---------- - .. _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 0e642a4883ae89a7d182a9d6cb6e4ae7686baaf9..632d0364d5fc8dcaf9da3783af5bc96915faa7e4 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 9e00c18732c69d76652bb41d6e574e1417ea7943..dff414ce9d4f18a4ce7add34f202fa77a2424e8e 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 a5e83ce2c38531ff89acf3bfa7e7486b25f0bbd8..0ffdf083313a97ee80f109ad1acd3f6ab200d7b7 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 b2d72d61c8b9747cb558467cc9a9ca4828bcee4f..03a155168600af4b91efedd1da354e25f3a20b41 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 `, then you need the source code. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Install_git.rst b/doc/src/Install_git.rst index 238f53d5a388362aa1fa82df1a0db60f83458e10..2f6e8096dca0842e2fa803c55ebf4d02b6613ec7 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 `_. - -.. 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 `, 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 03acf557349ca4a9883ead54861d9958f2f47b93..ec4f3fcc8ec984e8161da618571e399b1f033cb5 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 82d77446c821c5fda1eca130f865a98b816d6155..41b53c0595c4e796c0ac99192b466b1c01321b14 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 `_, 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 9c06633f2cf35db4b69da18d57d0a912d3f1a7ee..3acd72753f0e31a491d1e9b5be125af66cb2af1c 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 ` 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 `_ of the LAMMPS website, along +a patch file is posted on the `bug and feature page `_ 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 1b04d8ac9389602c595e5c22e84d15e4f8c33be7..d80fc14f76b3196a178b8c4556d85ec5dead76a9 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 `_ of the `LAMMPS website `_. -.. _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 32375264dbecaeb69484bf34861c4c3ba2bd3816..548f67e4842f81208d4d974f6a5b0f6ee6e3387c 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 `_ +.. parsed-literal:: + + `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 cc4ae4c48fda4848391c0acd28fc0b7301508802..6d388aa87e91201ba87920e6f8c0a414948326b7 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 0b08dd5d523e862ac36dc92b81b31dc66bcea102..fbf306a295c0b25bea3f7bb32584282bff2c0d7f 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 `_ of the +The `Authors page `_ of the `LAMMPS website `_ 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 `_ of the website, LAMMPS +As discussed on the `History page `_ 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 7c25a6f09b948ff92385bde4ac898f1399fc2300..cff198da7049585dcc0d70b42ad60c5ee4e54773 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 ` 11. :ref:`Specialized features (beyond MD itself) ` - ---------- - .. _general: General features @@ -189,14 +187,10 @@ Pre- and post-processing plotting, and visualization for LAMMPS simulations. Pizza.py is written in `Python `_ and is available for download from `the Pizza.py WWW site `_. -.. _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 6e0c85a6be4a38a23a4c6aac7f69a90803f9725a..feb35c719870415e238e540aaf54644152c43a8b 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 ` command and pass them to an external program, `FFmpeg `_ to generate movies from them. For high-quality, interactive visualization there are - many excellent and free tools available. See the `Other Codes page `_ page of the LAMMPS website for + many excellent and free tools available. See the `Other Codes page `_ 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 ` 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 ` doc page for more discussion of the various tools. * **Pizza.py:** Our group has also written a separate toolkit called - `Pizza.py `_ which can do certain kinds of + `Pizza.py `_ 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 `_ diff --git a/doc/src/Intro_opensource.rst b/doc/src/Intro_opensource.rst index ea06bd4814aab813cd8fad75b5ed65ce625cdd74..2fd692c3043df1c08d0ae8ef9a05cfbdc5bd7a3d 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 b661352d30c66ec6605d680f4816bfa505ec0229..776002354a497dc1611434e2efd183a5885248b8 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 `_ of +F90. See the `History page `_ of the website for details. All versions can be downloaded from the `LAMMPS website `_. diff --git a/doc/src/Intro_website.rst b/doc/src/Intro_website.rst index 82fa52e226a5a9fc15cb0f84f79b0b9f23a8f835..0999e90907bb021809a80f0e258a8caffcae3436 100644 --- a/doc/src/Intro_website.rst +++ b/doc/src/Intro_website.rst @@ -5,32 +5,32 @@ The `LAMMPS website `_ 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 `_ -* `List of features `_ -* `List of non-features `_ -* `Recent bug fixes and new features `_ +* `List of features `_ +* `List of non-features `_ +* `Recent bug fixes and new features `_ -* `Download info `_ +* `Download info `_ * `GitHub site `_ * `SourceForge site `_ -* `LAMMPS open-source license `_ +* `LAMMPS open-source license `_ -* `Glossary of MD terms relevant to LAMMPS `_ -* `LAMMPS highlights with images `_ -* `LAMMPS highlights with movies `_ -* `Mail list `_ -* `Workshops `_ -* `Tutorials `_ -* `Developer guide `_ +* `Glossary of MD terms relevant to LAMMPS `_ +* `LAMMPS highlights with images `_ +* `LAMMPS highlights with movies `_ +* `Mail list `_ +* `Workshops `_ +* `Tutorials `_ +* `Developer guide `_ -* `Pre- and post-processing tools for LAMMPS `_ -* `Other software usable with LAMMPS `_ -* `Viz tools usable with LAMMPS `_ +* `Pre- and post-processing tools for LAMMPS `_ +* `Other software usable with LAMMPS `_ +* `Viz tools usable with LAMMPS `_ -* `Benchmark performance `_ -* `Publications that have cited LAMMPS `_ -* `Authors of LAMMPS `_ -* `History of LAMMPS development `_ -* `Funding for LAMMPS `_ +* `Benchmark performance `_ +* `Publications that have cited LAMMPS `_ +* `Authors of LAMMPS `_ +* `History of LAMMPS development `_ +* `Funding for LAMMPS `_ diff --git a/doc/src/Manual.rst b/doc/src/Manual.rst index 08cfa862ab62fab1fafa7be1502e8fb59847af28..f805c594c62875167135ad0908cd5d637b6c9b03 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 `_ has a variety of information about the code. -It includes links to an on-line version of this manual, a `mailing list `_ where users can post +It includes links to an on-line version of this manual, a `mailing list `_ where users can post questions, and a `GitHub site `_ 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 ` 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 b401a65ac9ec028b05454bc101e1491d2f6761d5..5d5b749678cd9c9932cc03334f17826056cf86be 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 7a76824d0c4a35ad313657f1b9a3eb0ac1b842a4..a9a395a14d4a745ae3ebbacfe8d6730293627a5a 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 `_. Every few +`this website page `_. 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 677e94b0262b6ca9bfbfc32af6c2acd088406a25..531fb6b1f3be564ce4fb9bb3ece08df47d069185 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 `_, after reading the :doc:`Modify contribute ` doc page. - .. toctree:: :maxdepth: 1 diff --git a/doc/src/Modify_atom.rst b/doc/src/Modify_atom.rst index 5499a6d7be80d6350735924d115b0935d1e527de..f863da3157d614329343d4b3c800d48c58cb7b4f 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 `, :doc:`fixes `, or :doc:`computes ` 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 ` 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 e469b8520fdd77f94ec07dd96578ab2064e2d74d..b923416bdca82475a956948006f982384f4864c9 100644 --- a/doc/src/Modify_body.rst +++ b/doc/src/Modify_body.rst @@ -10,14 +10,14 @@ See the :doc:`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 06db272395bf2354e47c6666c3e2c5168aeb2e89..c2d220767ea8b15d40f98d1ed1a7b59a26747a29 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 37e1b2c490e88fb78662a0371e5da1a3d1c3268a..2d0a1d99d9297c48d303f1fbc9c8488e23da181b 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 b32350e0487f00d2bb58e561018c4719f3d916a8..8fad775b3ac277e8bda3a20eca0b72a74e27e1cf 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 4a1377bcf0214e955deb8cd4e10071e71f1abec6..ed2ef783f4cb17915d29f19ade0689dd58705e77 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 `_ so they +to `the core developers `_ 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 `_. An alternative is to @@ -44,12 +44,12 @@ are listed and described on the :doc:`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 `_ page on the LAMMPS +used as a license for the rest of LAMMPS. See the `Open source `_ 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 `_ +code and on the `Authors page `_ of the `LAMMPS WWW site `_), 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 `_ page of the LAMMPS web + their copy of LAMMPS. See the `Offsite LAMMPS packages and tools `_ 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 `_ with info about + `developers `_ 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 `_, since we may or +developers `_, 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. (, , or ) instead of the C-style names , , or ), 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 8d98f848d256992704b135396d038b9fcd608463..1379326d1e401fa577bf53cd4966492af705753e 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 ` command and its *custom* style for a list of diff --git a/doc/src/Modify_fix.rst b/doc/src/Modify_fix.rst index 9e1705e435dca54b6587784caa516a108046ec0b..9a97e30fbe061691170eaa6c14ae4f044b0fbc74 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 ` -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 c45c8f94a1ec6f75511781bec4a73759ba6bd7e0..e1b10eac8dc2c95bda8f7f10f06798323f54875f 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 d8bcd2d3f234a16c9ca320c428f9c93749f325e4..ed7c101a6ca56c6be217096cf1bdbb093d84b967 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 6b5b07e53835f61fe4fdb039ab2ce2ace365625c..2deceae7dbccccbc4d838d6dbdc4756062fd79bb 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 ` 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 `. 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 78ee144d534caa7def7fc0c82155acaf5164f9e0..7263b8fd48cd9bf829990828475a7bd33194cc85 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 a9e9c734a40f3fe7674944fa2a0598bbbbc08ecf..fa97df32c7cf4ea5e2ed01a0dffc9c2255214a6d 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 c1fe0440ff2354ca6d53ad3529f281f77fa71842..ded76af9da405e8556ae4f3b6431606a02494252 100644 --- a/doc/src/Modify_variable.rst +++ b/doc/src/Modify_variable.rst @@ -9,7 +9,6 @@ via the :doc:`print `, :doc:`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 f8f5febaca1e60634683464a008266e81f115718..042485eb4b66799b99e0ab284343fcc812d77fc9 100644 --- a/doc/src/Packages.rst +++ b/doc/src/Packages.rst @@ -11,7 +11,6 @@ distribution. The :doc:`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 26b9026fb0a33706aebc21a3c899063264f7728e..e20c2886ed4a639eddbd682c707b387e7bdcb0b8 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 ` doc page for more info. A few packages may require additional steps; this is indicated in the descriptions below. The :doc:`Build extras ` doc @@ -60,7 +60,6 @@ page gives those details. * :ref:`SRD ` * :ref:`VORONOI ` - .. table_from_list:: :columns: 6 @@ -81,7 +80,7 @@ page gives those details. * :ref:`USER-LB ` * :ref:`USER-MANIFOLD ` * :ref:`USER-MEAMC ` - * :ref:`USER-MESO ` + * :ref:`USER-MESODPD ` * :ref:`USER-MGPT ` * :ref:`USER-MISC ` * :ref:`USER-MOFFF ` @@ -106,10 +105,8 @@ page gives those details. * :ref:`USER-VTK ` * :ref:`USER-YAFF ` - ---------- - .. _PKG-ASPHERE: ASPHERE package @@ -126,17 +123,15 @@ particle models including ellipsoids, 2d lines, and 3d triangles. * :doc:`Howto spherical ` * :doc:`pair_style gayberne ` * :doc:`pair_style resquared ` -* `doc/PDF/pair\_gayberne\_extra.pdf `_ -* `doc/PDF/pair\_resquared\_extra.pdf `_ +* `doc/PDF/pair_gayberne_extra.pdf `_ +* `doc/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 ` +* :doc:`Howto_body ` * :doc:`atom_style body ` * :doc:`fix nve/body ` * :doc:`pair_style body/nparticle ` * examples/body - ---------- - .. _PKG-CLASS2: CLASS2 package @@ -181,10 +174,8 @@ CLASS2 molecular force field. * :doc:`improper_style class2 ` * :doc:`pair_style lj/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 ` on the :do * :doc:`dump custom/gz ` * :doc:`dump xyz/gz ` - ---------- - .. _PKG-CORESHELL: CORESHELL package @@ -276,10 +263,8 @@ this package. * :doc:`pair_style lj/cut/coul/long/cs ` * examples/coreshell - ---------- - .. _PKG-DIPOLE: DIPOLE package @@ -299,10 +284,8 @@ short-range or long-range interactions. * :doc:`pair_style lj/long/dipole/long ` * examples/dipole - ---------- - .. _PKG-GPU: GPU package @@ -339,12 +322,10 @@ This package has :ref:`specific installation instructions ` on the :doc:`Bu * :doc:`package gpu ` * :doc:`Commands ` pages (:doc:`pair `, :doc:`kspace `) for styles followed by (g) -* `Benchmarks page `_ of web site - +* `Benchmarks page `_ 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) `_ repository of interatomic models (IMs) enabling compatible ones to be used in LAMMPS simulations. -This includes :doc:`kim_init and kim\_interactions ` +This includes :doc:`kim_init and kim_interactions ` commands to select, initialize and instantiate the IM, and a :doc:`kim_query ` command to perform web queries for material property predictions of OpenKIM IMs. @@ -398,7 +377,7 @@ is provided by the :doc:`pair_style 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 `_. **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 ` interface in close collaboration with Ryan Elliott. @@ -430,10 +409,8 @@ This package has :ref:`specific installation instructions ` on the :doc:`Bu * lib/kim/README * examples/kim - ---------- - .. _PKG-KOKKOS: KOKKOS package @@ -484,12 +461,10 @@ This package has :ref:`specific installation instructions ` on the :doc: * Search the :doc:`commands ` pages (:doc:`fix `, :doc:`compute `, :doc:`pair `, :doc:`bond, angle, dihedral, improper `, :doc:`kspace `) for styles followed by (k) -* `Benchmarks page `_ of web site - +* `Benchmarks page `_ 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 ` 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 ` on the :doc:` * examples/latte * `LAMMPS-LATTE tutorial `_ - ---------- - .. _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 ` * :doc:`fix gcmc ` * :doc:`pair_style 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 ` on the :doc * :doc:`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 ` * 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 ` * :doc:`read_restart ` - ---------- - .. _PKG-mscg: MSCG package @@ -752,8 +709,6 @@ Multi-Scale Coarse-Graining (MSCG) model using the open-source `MS-CG library ` 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 ` on the :doc:`Bu * :doc:`Speed opt ` * :doc:`Section 2.6 -sf opt ` * Search the :doc:`pair style ` page for styles followed by (t) -* `Benchmarks page `_ of web site - +* `Benchmarks page `_ of web site ---------- - .. _PKG-PERI: PERI package @@ -831,20 +782,18 @@ Foster (UTSA). **Supporting info:** * src/PERI: filenames -> commands -* `doc/PDF/PDLammps\_overview.pdf `_ -* `doc/PDF/PDLammps\_EPS.pdf `_ -* `doc/PDF/PDLammps\_VES.pdf `_ +* `doc/PDF/PDLammps_overview.pdf `_ +* `doc/PDF/PDLammps_EPS.pdf `_ +* `doc/PDF/PDLammps_VES.pdf `_ * :doc:`atom_style peri ` * :doc:`pair_style peri/\* ` * :doc:`compute damage/atom ` * :doc:`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 ` on the :doc:` * :doc:`fix poems ` * examples/rigid - ---------- - .. _PKG-PYTHON: PYTHON package @@ -907,10 +854,8 @@ This package has :ref:`specific installation instructions ` 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 ` * examples/snap - ---------- - .. _PKG-SPIN: SPIN package @@ -1074,10 +1009,8 @@ the usual manner via MD. Various pair, fix, and compute styles. * :doc:`neb/spin ` * examples/SPIN - ---------- - .. _PKG-SRD: SRD package @@ -1096,14 +1029,12 @@ colloidal particles. * :doc:`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 ` on the :doc * :doc:`compute voronoi/atom ` * examples/voronoi - ---------- - .. _PKG-USER-ADIOS: USER-ADIOS package @@ -1171,11 +1098,8 @@ This package has :ref:`specific installation instructions ` on the : * :doc:`dump custom/adios ` * :doc:`read_dump ` - - ---------- - .. _PKG-USER-ATC: USER-ATC package @@ -1199,12 +1123,10 @@ This package has :ref:`specific installation instructions ` on the :do * src/USER-ATC/README * :doc:`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 ` on the : * :doc:`pair_style awpmd/cut ` * 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/\* ` * :doc:`fix nve/dotc/langevin ` - ---------- - .. _PKG-USER-CGSDK: USER-CGSDK package @@ -1320,12 +1236,10 @@ acids. * :doc:`pair_style lj/sdk/\* ` * :doc:`angle_style 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 ` on the * :doc:`fix colvars ` * examples/USER/colvars - ---------- - .. _PKG-USER-PLUMED: USER-PLUMED package @@ -1379,9 +1291,7 @@ script by using the :doc:`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 ` on the * :doc:`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 ` * examples/USER/diffraction - ---------- - .. _PKG-USER-DPD: USER-DPD package @@ -1461,10 +1367,8 @@ Brennan (ARL). * :doc:`pair_style 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 ` on the :d * lib/h5md/README * :doc:`dump h5md ` - ---------- - .. _PKG-USER-INTEL: USER-INTEL package @@ -1647,12 +1541,10 @@ This package has :ref:`specific installation instructions ` on the : * Search the :doc:`commands ` pages (:doc:`fix `, :doc:`compute `, :doc:`pair `, :doc:`bond, angle, dihedral, improper `, :doc:`kspace `) for styles followed by (i) * src/USER-INTEL/TEST -* `Benchmarks page `_ of web site - +* `Benchmarks page `_ of web site ---------- - .. _PKG-USER-LB: USER-LB package @@ -1675,10 +1567,8 @@ Ontario). * :doc:`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 ` * 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 ` * :doc:`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,14 +1673,12 @@ Sandia. * :doc:`pair_style meam/c ` * examples/meamc - ---------- +.. _PKG-USER-MESODPD: -.. _PKG-USER-MESO: - -USER-MESO package ------------------ +USER-MESODPD package +-------------------- **Contents:** @@ -1812,20 +1694,18 @@ algorithm. **Supporting info:** -* src/USER-MESO: filenames -> commands -* src/USER-MESO/README +* src/USER-MESODPD: filenames -> commands +* src/USER-MESODPD/README * :doc:`atom_style edpd ` -* :doc:`pair_style edpd ` -* :doc:`pair_style mdpd ` -* :doc:`pair_style tdpd ` +* :doc:`pair_style edpd ` +* :doc:`pair_style mdpd ` +* :doc:`pair_style tdpd ` * :doc:`fix mvv/dpd ` -* examples/USER/meso -* http://lammps.sandia.gov/movies.html#mesodpd - +* examples/USER/mesodpd +* https://lammps.sandia.gov/movies.html#mesodpd ---------- - .. _PKG-USER-MOFFF: USER-MOFFF package @@ -1844,8 +1724,6 @@ well as the `MOF+ `_ 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 ` * examples/USER/mofff - ---------- - .. _PKG-USER-MOLFILE: USER-MOLFILE package @@ -1903,10 +1779,8 @@ This package has :ref:`specific installation instructions ` on the * lib/molfile/README * :doc:`dump molfile ` - ---------- - .. _PKG-USER-NETCDF: USER-NETCDF package @@ -1927,20 +1801,11 @@ tools: * `Ovito `_ (Ovito supports the AMBER convention and the extensions mentioned above) * `VMD `_ -* `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 ` on the * lib/netcdf/README * :doc:`dump netcdf ` - ---------- - .. _PKG-USER-OMP: USER-OMP package @@ -2008,12 +1871,10 @@ This package has :ref:`specific installation instructions ` on the :do * Search the :doc:`commands ` pages (:doc:`fix `, :doc:`compute `, :doc:`pair `, :doc:`bond, angle, dihedral, improper `, :doc:`kspace `) for styles followed by (o) -* `Benchmarks page `_ of web site - +* `Benchmarks page `_ of web site ---------- - .. _PKG-USER-PHONON: USER-PHONON package @@ -2029,7 +1890,7 @@ And a :doc:`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 ` * 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 ` - ---------- - .. _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 ` @@ -2112,10 +1968,8 @@ on the :doc:`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 ` * 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 ` on the :d * :doc:`pair_style quip ` * examples/USER/quip - ---------- - .. _PKG-USER-REACTION: USER-REACTION package @@ -2210,10 +2058,8 @@ molecules, and chiral-sensitive reactions. * `2019 LAMMPS Workshop `_ * 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 ` * examples/reax - ---------- - .. _PKG-USER-SCAFACOS: USER-SCAFACOS package @@ -2274,10 +2118,8 @@ This package has :ref:`specific installation instructions ` on th * :doc:`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 `). 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 ` * examples/USER/sdpd - ---------- - .. _PKG-USER-SMD: USER-SMD package @@ -2340,14 +2180,12 @@ This package has :ref:`specific installation instructions ` 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 ` * 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 ` * examples/USER/tally - ---------- - .. _PKG-USER-UEF: USER-UEF package @@ -2457,10 +2289,8 @@ supporting compute styles and an output option. * :doc:`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 ` on the :do * lib/vtk/README * :doc:`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 `_ 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 1e1daf69c6885dee09ad1ef6ec75b2e50b9447de..74a567e0b930b6cc111a9c32f3131dcd916cc821 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 ` | aspherical particle models | :doc:`Howto spherical ` | ellipse | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`BODY ` | body-style particles | :doc:`Howto body ` | body | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`CLASS2 ` | class 2 force fields | :doc:`pair_style lj/class2 ` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`COLLOID ` | colloidal particles | :doc:`atom_style colloid ` | colloid | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`COMPRESS ` | I/O compression | :doc:`dump \*/gz ` | n/a | sys | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`CORESHELL ` | adiabatic core/shell model | :doc:`Howto coreshell ` | coreshell | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`DIPOLE ` | point dipole particles | :doc:`pair_style dipole/cut ` | dipole | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`GPU ` | GPU-enabled styles | :doc:`Section gpu ` | `Benchmarks `_ | int | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`GRANULAR ` | granular systems | :doc:`Howto granular ` | pour | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`KIM ` | OpenKIM wrapper | :doc:`pair_style kim ` | kim | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`KOKKOS ` | Kokkos-enabled styles | :doc:`Speed kokkos ` | `Benchmarks `_ | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`KSPACE ` | long-range Coulombic solvers | :doc:`kspace_style ` | peptide | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`LATTE ` | quantum DFTB forces via LATTE | :doc:`fix latte ` | latte | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MANYBODY ` | many-body potentials | :doc:`pair_style tersoff ` | shear | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MC ` | Monte Carlo options | :doc:`fix gcmc ` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MESSAGE ` | client/server messaging | :doc:`message ` | message | int | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MISC ` | miscellaneous single-file commands | n/a | no | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MOLECULE ` | molecular system force fields | :doc:`Howto bioFF ` | peptide | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MPIIO ` | MPI parallel I/O dump and restart | :doc:`dump ` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`MSCG ` | multi-scale coarse-graining wrapper | :doc:`fix mscg ` | mscg | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`OPT ` | optimized pair styles | :doc:`Speed opt ` | `Benchmarks `_ | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`PERI ` | Peridynamics models | :doc:`pair_style peri ` | peri | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`POEMS ` | coupled rigid body motion | :doc:`fix poems ` | rigid | int | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`PYTHON ` | embed Python code in an input script | :doc:`python ` | python | sys | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`QEQ ` | QEq charge equilibration | :doc:`fix qeq ` | qeq | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`REPLICA ` | multi-replica methods | :doc:`Howto replica ` | tad | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`RIGID ` | rigid bodies and constraints | :doc:`fix rigid ` | rigid | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`SHOCK ` | shock loading methods | :doc:`fix msst ` | n/a | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`SNAP ` | quantum-fitted potential | :doc:`pair_style snap ` | snap | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`SPIN ` | magnetic atomic spin dynamics | :doc:`Howto spins ` | SPIN | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`SRD ` | stochastic rotation dynamics | :doc:`fix srd ` | srd | no | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`VORONOI ` | Voronoi tesselation | :doc:`compute voronoi/atom ` | n/a | ext | -+----------------------------------+--------------------------------------+----------------------------------------------------+-----------------------------------------------------+---------+ ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| Package | Description | Doc page | Example | Library | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`ASPHERE ` | aspherical particle models | :doc:`Howto spherical ` | ellipse | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`BODY ` | body-style particles | :doc:`Howto body ` | body | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`CLASS2 ` | class 2 force fields | :doc:`pair_style lj/class2 ` | n/a | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`COLLOID ` | colloidal particles | :doc:`atom_style colloid ` | colloid | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`COMPRESS ` | I/O compression | :doc:`dump \*/gz ` | n/a | sys | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`CORESHELL ` | adiabatic core/shell model | :doc:`Howto coreshell ` | coreshell | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`DIPOLE ` | point dipole particles | :doc:`pair_style dipole/cut ` | dipole | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`GPU ` | GPU-enabled styles | :doc:`Section gpu ` | `Benchmarks `_ | int | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`GRANULAR ` | granular systems | :doc:`Howto granular ` | pour | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`KIM ` | OpenKIM wrapper | :doc:`pair_style kim ` | kim | ext | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`KOKKOS ` | Kokkos-enabled styles | :doc:`Speed kokkos ` | `Benchmarks `_ | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`KSPACE ` | long-range Coulombic solvers | :doc:`kspace_style ` | peptide | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`LATTE ` | quantum DFTB forces via LATTE | :doc:`fix latte ` | latte | ext | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MANYBODY ` | many-body potentials | :doc:`pair_style tersoff ` | shear | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MC ` | Monte Carlo options | :doc:`fix gcmc ` | n/a | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MESSAGE ` | client/server messaging | :doc:`message ` | message | int | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MISC ` | miscellaneous single-file commands | n/a | no | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MOLECULE ` | molecular system force fields | :doc:`Howto bioFF ` | peptide | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MPIIO ` | MPI parallel I/O dump and restart | :doc:`dump ` | n/a | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`MSCG ` | multi-scale coarse-graining wrapper | :doc:`fix mscg ` | mscg | ext | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`OPT ` | optimized pair styles | :doc:`Speed opt ` | `Benchmarks `_ | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`PERI ` | Peridynamics models | :doc:`pair_style peri ` | peri | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`POEMS ` | coupled rigid body motion | :doc:`fix poems ` | rigid | int | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`PYTHON ` | embed Python code in an input script | :doc:`python ` | python | sys | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`QEQ ` | QEq charge equilibration | :doc:`fix qeq ` | qeq | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`REPLICA ` | multi-replica methods | :doc:`Howto replica ` | tad | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`RIGID ` | rigid bodies and constraints | :doc:`fix rigid ` | rigid | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SHOCK ` | shock loading methods | :doc:`fix msst ` | n/a | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SNAP ` | quantum-fitted potential | :doc:`pair_style snap ` | snap | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SPIN ` | magnetic atomic spin dynamics | :doc:`Howto spins ` | SPIN | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`SRD ` | stochastic rotation dynamics | :doc:`fix srd ` | srd | no | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`VORONOI ` | Voronoi tesselation | :doc:`compute voronoi/atom ` | n/a | ext | ++----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+ diff --git a/doc/src/Packages_user.rst b/doc/src/Packages_user.rst index 0e3a5e3f33daa0dcb888de73a0e9f8a03fabe023..c30f5fffa30fa4bab5b6e2d8620989fb13ed69ef 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 ` | dump output via ADIOS | :doc:`dump adios ` | USER/adios | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-ATC ` | Atom-to-Continuum coupling | :doc:`fix atc ` | USER/atc | int | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-AWPMD ` | wave packet MD | :doc:`pair_style awpmd/cut ` | USER/awpmd | int | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-BOCS ` | BOCS bottom up coarse graining | :doc:`fix bocs ` | USER/bocs | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-CGDNA ` | coarse-grained DNA force fields | src/USER-CGDNA/README | USER/cgdna | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-CGSDK ` | SDK coarse-graining model | :doc:`pair_style lj/sdk ` | USER/cgsdk | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-COLVARS ` | collective variables library | :doc:`fix colvars ` | USER/colvars | int | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-DIFFRACTION ` | virtual x-ray and electron diffraction | :doc:`compute xrd ` | USER/diffraction | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-DPD ` | reactive dissipative particle dynamics | src/USER-DPD/README | USER/dpd | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-DRUDE ` | Drude oscillators | :doc:`Howto drude ` | USER/drude | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-EFF ` | electron force field | :doc:`pair_style eff/cut ` | USER/eff | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-FEP ` | free energy perturbation | :doc:`compute fep ` | USER/fep | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-H5MD ` | dump output via HDF5 | :doc:`dump h5md ` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-INTEL ` | optimized Intel CPU and KNL styles | :doc:`Speed intel ` | `Benchmarks `_ | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-LB ` | Lattice Boltzmann fluid | :doc:`fix lb/fluid ` | USER/lb | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MANIFOLD ` | motion on 2d surfaces | :doc:`fix manifoldforce ` | USER/manifold | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MEAMC ` | modified EAM potential (C++) | :doc:`pair_style meam/c ` | meamc | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MESO ` | mesoscale DPD models | :doc:`pair_style edpd ` | USER/meso | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MGPT ` | fast MGPT multi-ion potentials | :doc:`pair_style mgpt ` | USER/mgpt | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MISC ` | single-file contributions | USER-MISC/README | USER/misc | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MOFFF ` | styles for `MOF-FF `_ force field | :doc:`pair_style buck6d/coul/gauss ` | USER/mofff | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-MOLFILE ` | `VMD `_ molfile plug-ins | :doc:`dump molfile ` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-OMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-PHONON ` | phonon dynamical matrix | :doc:`fix phonon ` | USER/phonon | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-PLUMED ` | :ref:`PLUMED ` free energy library | :doc:`fix plumed ` | USER/plumed | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-PTM ` | Polyhedral Template Matching | :doc:`compute ptm/atom ` | n/a | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-QMMM ` | QM/MM coupling | :doc:`fix qmmm ` | USER/qmmm | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-QTB ` | quantum nuclear effects | :doc:`fix qtb ` :doc:`fix qbmsst ` | qtb | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-QUIP ` | QUIP/libatoms interface | :doc:`pair_style quip ` | USER/quip | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-REACTION ` | chemical reactions in classical MD | :doc:`fix bond/react ` | USER/reaction | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-REAXC ` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc ` | reax | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-SCAFACOS ` | wrapper on ScaFaCoS solver | :doc:`kspace_style scafacos ` | USER/scafacos | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-SDPD ` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal ` | USER/sdpd | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-SMD ` | smoothed Mach dynamics | `SMD User Guide `_ | USER/smd | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-SMTBQ ` | second moment tight binding QEq potential | :doc:`pair_style smtbq ` | USER/smtbq | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-SPH ` | smoothed particle hydrodynamics | `SPH User Guide `_ | USER/sph | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-TALLY ` | pairwise tally computes | :doc:`compute XXX/tally ` | USER/tally | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-UEF ` | extensional flow | :doc:`fix nvt/uef ` | USER/uef | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-VTK ` | dump output via VTK | :doc:`compute vtk ` | n/a | ext | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ -| :ref:`USER-YAFF ` | additional styles implemented in YAFF | :doc:`angle_style cross ` | USER/yaff | no | -+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+---------+ ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| Package | Description | Doc page | Example | Library | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-ADIOS ` | dump output via ADIOS | :doc:`dump adios ` | USER/adios | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-ATC ` | Atom-to-Continuum coupling | :doc:`fix atc ` | USER/atc | int | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-AWPMD ` | wave packet MD | :doc:`pair_style awpmd/cut ` | USER/awpmd | int | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-BOCS ` | BOCS bottom up coarse graining | :doc:`fix bocs ` | USER/bocs | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-CGDNA ` | coarse-grained DNA force fields | src/USER-CGDNA/README | USER/cgdna | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-CGSDK ` | SDK coarse-graining model | :doc:`pair_style lj/sdk ` | USER/cgsdk | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-COLVARS ` | collective variables library | :doc:`fix colvars ` | USER/colvars | int | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-DIFFRACTION ` | virtual x-ray and electron diffraction | :doc:`compute xrd ` | USER/diffraction | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-DPD ` | reactive dissipative particle dynamics | src/USER-DPD/README | USER/dpd | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-DRUDE ` | Drude oscillators | :doc:`Howto drude ` | USER/drude | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-EFF ` | electron force field | :doc:`pair_style eff/cut ` | USER/eff | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-FEP ` | free energy perturbation | :doc:`compute fep ` | USER/fep | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-H5MD ` | dump output via HDF5 | :doc:`dump h5md ` | n/a | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-INTEL ` | optimized Intel CPU and KNL styles | :doc:`Speed intel ` | `Benchmarks `_ | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-LB ` | Lattice Boltzmann fluid | :doc:`fix lb/fluid ` | USER/lb | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MANIFOLD ` | motion on 2d surfaces | :doc:`fix manifoldforce ` | USER/manifold | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MEAMC ` | modified EAM potential (C++) | :doc:`pair_style meam/c ` | meamc | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MESODPD ` | mesoscale DPD models | :doc:`pair_style edpd ` | USER/mesodpd | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MGPT ` | fast MGPT multi-ion potentials | :doc:`pair_style mgpt ` | USER/mgpt | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MISC ` | single-file contributions | USER-MISC/README | USER/misc | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MOFFF ` | styles for `MOF-FF `_ force field | :doc:`pair_style buck6d/coul/gauss ` | USER/mofff | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-MOLFILE ` | `VMD `_ molfile plug-ins | :doc:`dump molfile ` | n/a | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-NETCDF ` | dump output via NetCDF | :doc:`dump netcdf ` | n/a | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-OMP ` | OpenMP-enabled styles | :doc:`Speed omp ` | `Benchmarks `_ | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-PHONON ` | phonon dynamical matrix | :doc:`fix phonon ` | USER/phonon | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-PLUMED ` | :ref:`PLUMED ` free energy library | :doc:`fix plumed ` | USER/plumed | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-PTM ` | Polyhedral Template Matching | :doc:`compute ptm/atom ` | n/a | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-QMMM ` | QM/MM coupling | :doc:`fix qmmm ` | USER/qmmm | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-QTB ` | quantum nuclear effects | :doc:`fix qtb ` :doc:`fix qbmsst ` | qtb | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-QUIP ` | QUIP/libatoms interface | :doc:`pair_style quip ` | USER/quip | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-REACTION ` | chemical reactions in classical MD | :doc:`fix bond/react ` | USER/reaction | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-REAXC ` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc ` | reax | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-SCAFACOS ` | wrapper on ScaFaCoS solver | :doc:`kspace_style scafacos ` | USER/scafacos | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-SDPD ` | smoothed dissipative particle dynamics | :doc:`pair_style sdpd/taitwater/isothermal ` | USER/sdpd | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-SMD ` | smoothed Mach dynamics | `SMD User Guide `_ | USER/smd | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-SMTBQ ` | second moment tight binding QEq potential | :doc:`pair_style smtbq ` | USER/smtbq | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-SPH ` | smoothed particle hydrodynamics | `SPH User Guide `_ | USER/sph | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-TALLY ` | pairwise tally computes | :doc:`compute XXX/tally ` | USER/tally | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-UEF ` | extensional flow | :doc:`fix nvt/uef ` | USER/uef | no | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-VTK ` | dump output via VTK | :doc:`compute vtk ` | n/a | ext | ++------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+ +| :ref:`USER-YAFF ` | additional styles implemented in YAFF | :doc:`angle_style 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 155d4e046245fbca720a7b1ec344a9ffccda49fb..e0bcf70b9a2323232b26fc4ab79e142094592b0f 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 59525d57be2d3a0f223509c0019134cff31f3ade..976358801ee9af4b89d6517a6afeccfa7ae7a302 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 `_ 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 `_ or `here `_ 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 `_ or `here `_ 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 ce514629ae8f734418f5ab56c8422ba0e45bb504..fc808489a5981afa3f3cc8ac49ec6b0e0cdc703c 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 ` doc page for more ideas about +See the :doc:`Howto_couple ` doc page for more ideas about coupling LAMMPS to other codes. See the :doc:`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 8a03dd72494791d39d55981f1d7b6c675ed994ed..8b2fe9c3676e3a8b0b3f95371849d01d912fb597 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 \ -l -v [-d \] @@ -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 `), 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 d4acd072576ae98bd9f93fc1a8b96c01b5d665cf..2100074c4e7cf243cefe658f2deb161e5cb4bf8d 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 ` and :doc:`fixes ` for a description of what they calculate and store. -For extract\_variable(), an :doc:`equal-style or atom-style variable ` is evaluated and its result returned. +For extract_variable(), an :doc:`equal-style or atom-style 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 d1c9ab0ca05940a4b423d9c49ddf4aae909c5bc8..02a62c89d0fd04289140c336cd74a7a6fdc2e74c 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 0289b7acc4d61064ba3b1c15cedb49c77250c049..bd1d559359adb730a2e541c7cc76d2db55deab99 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 ` doc page. A shared library is +the :doc:`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 ` doc page. + the :doc:`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 13d0a1ab277ea3bc5d980dd2c279594e5f7ae792..55a1c0a2d3a2b8d245ceae723eb4fa636d8eece3 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 ` doc page about building a shared -library and the :doc:`Python\_install ` doc page about +:doc:`Build_basics ` doc page about building a shared +library and the :doc:`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 `_ 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 `_ 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 53acb9096fb45fc4bce2bd24d8da2d03f96dd410..d02873a8bebb60d99deea22f898dce3abad6e669 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 ` command or :doc:`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 bdc122e3f77d45fe106d9f3eea4e2cc6377ca375..5da5942d9b6dbc9d1b68c190283c57d68ac1b36d 100644 --- a/doc/src/Run_head.rst +++ b/doc/src/Run_head.rst @@ -6,7 +6,6 @@ and :doc:`built an executable `. The :doc:`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 e2b385b24380abcdda7dc354b2cb8ad89c57f6db..afdae2037629ab942cd8af5f8364d2996a436593 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 ` * :ref:`-v or -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 ` 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 ` 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 ` command and the CSlib library LAMMPS links with from the lib/message directory. See the :doc:`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 `_ for more +See the `citation page `_ for more details. - ---------- - .. _package: -**-package style args ....** +**-package style args ....** Invoke the :doc:`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 ` doc page. World- and universe-style :doc:`variables ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 `, @@ -607,13 +560,11 @@ The :doc:`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 a75513b2c593f557561f8ac8211c54e5e4282914..d7d92dc5ee7c02519ec933cccd2b6f92f7246271 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 ` 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 ` 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 ` doc page for more details. - ---------- - If a :doc:`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 af7ade1ac79c47bd1f3f1d67720b011ccce81ec7..0343e123b9a2e56ab91fdb2fb08a08557af48e07 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 a5b3d36a259041f03ef75b078ff9177865b88bb6..0528ff32d8360dd2c8e3f16618efb35846d1cfb4 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 `_ of the LAMMPS +The `Benchmark page `_ of the LAMMPS web site gives performance results for the various accelerator packages discussed on the :doc:`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 c577bc426a27097a5c5f0ccebc28fde1179aee87..45b5b21d8a9c099ab6106e9699273d2c0c09a58b 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 `_ of the `LAMMPS website `_ +Current LAMMPS performance is discussed on the `Benchmarks page `_ of the `LAMMPS website `_ 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 `_ section of +`Potentials `_ section of the Benchmarks web page. So you can also run those test problems on your machine. -The `billion-atom `_ section +The `billion-atom `_ 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 f6795e202a85f923964a5124fbcc0a1691eb5a67..d3947ec3ef856b4d22d6b8b2c5968974184516d5 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 9492d1466a3c574e468ffd8c10bbcef09fb1b49a..9981b22b03f21615c44414d52a0bf49e5ec84db8 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 ` -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 ` 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 ` 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 `_ of the +See the `Benchmark page `_ 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 86afd8d2edbd3b09df6237543f742a0794cf5ea3..4658fb9584ece4e4eaf1c2f73a8e892755ae9ae4 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 ` 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 `. 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 ` 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 ` 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 ` 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 ` 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 ` styles that require skip lists for neighbor builds cannot be offloaded. Using :doc:`hybrid/overlay ` is allowed. Only one intel accelerated style may be used with hybrid styles when offloading. -:doc:`Special\_bonds ` exclusion lists are not currently +:doc:`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 700ef919985586642823f288095e03b10ad61f56..66589570068aaa1a595c2ccfc1e594c86c7c8831 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 `_. Kokkos is part -of `Trilinos `_. The Kokkos +Kokkos, see `GitHub `_. Kokkos is +part of `Trilinos `_. 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 ` 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 `. 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 ` 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 `_ of the +See the `Benchmark page `_ 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 ` 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 2f86aa18f2037ced47e8511884fe72fc6c4b4ecd..686fdb6adc181ef94b693425541936951663bbeb 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 ` doc page gives an overview. +:doc:`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 44233902a7c59e74fde8edd277757efec2c87ea4..04e4366758a7bc576d945dcc55419c2a7b0b947a 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 `, which will automatically append "omp" to styles that support it. The "-sf omp" switch also issues a default :doc:`package omp 0 ` 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 `, 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 ` 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 ` 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 ` 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 f684720905bd956a682dd697ce6cfd2dd872e0f0..297177f8d40a9031e0a71fc53c974ad97f1e9fe2 100644 --- a/doc/src/Speed_opt.rst +++ b/doc/src/Speed_opt.rst @@ -17,8 +17,7 @@ See the :ref:`Build extras ` 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 ` 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 0526961a8118902aec63cd499f32c187ce068a2e..ab02ba7f48a20fce7afcb5b985dd46c1f5f24dff 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 `, | only needed for KOKKOS package | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ | set any needed options for the package via "-pk" :doc:`command-line switch ` or :doc:`package ` command, | only if defaults need to be changed | +--------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------+ -| use accelerated styles in your input via "-sf" :doc:`command-line switch ` or :doc:`suffix ` command | lmp\_machine -in in.script -sf gpu | +| use accelerated styles in your input via "-sf" :doc:`command-line switch ` or :doc:`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 `_ of the LAMMPS web site gives +As mentioned above, the `Benchmark page `_ 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 aae517ef08cd8d040a1eaab2b7dd15c033f32e25..6137b1aa6f7f2f4b58e0b2c9a2188a4c8364025c 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 `_ at these links: -* `Pre/Post processing `_ -* `Offsite LAMMPS packages & tools `_ +* `Pre/Post processing `_ +* `Offsite LAMMPS packages & tools `_ * `Pizza.py toolkit `_ The last link for `Pizza.py `_ 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 ` | | | | | +--------------------------+----------------------+-------------------+--------------------+---------------------------------------+ - ---------- - 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 `. - ---------- - .. _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 ` 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) ` setfl potential file. The potentials they produce are in the potentials directory, and can be used with the :doc:`pair_style eam/alloy ` 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 ` 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 `_ visualizer. See +`AtomEye `_ 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 `_ 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 `_ +with the `AtomEye `_ 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 `. - ---------- - .. _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 `_. +`https://moltemplate.org `_. The latest sources can be found `on its GitHub page `_ - ---------- - .. _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 `_ or its `open source variant `_. -.. _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 `_ 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 `_ 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 8dcf328dd3ba8df57c87b5c258314bc681da6980..f3b20fc78b4f8b87265a0fc3b70d1a0cb6a54f73 100644 --- a/doc/src/USER/atc/man_boundary.html +++ b/doc/src/USER/atc/man_boundary.html @@ -25,7 +25,7 @@ syntax

fix_modify AtC boundary type <atom-type-id>

    -
  • <atom-type-id> = type id for atoms that represent a ficticious boundary internal to the FE mesh
  • +
  • <atom-type-id> = type id for atoms that represent a fictitious boundary internal to the FE mesh

examples

diff --git a/doc/src/USER/atc/man_fix_atc.html b/doc/src/USER/atc/man_fix_atc.html index f6f7b43a38b7c45d48fb7748e8e46d499ba81119..7c5afd645a29038b03e32e66c478f9aeab466d37 100644 --- a/doc/src/USER/atc/man_fix_atc.html +++ b/doc/src/USER/atc/man_fix_atc.html @@ -85,7 +85,7 @@ description 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
diff --git a/doc/src/angle_charmm.rst b/doc/src/angle_charmm.rst index 34843fe8552833451e7df2c25ab759523a56d450..a8c227c765c8c03733ceab3f445d8cdde5bda4a0 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 ` 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 ` 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 ` 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 ae5330d9647dff1bb5686968415394ecd1d25832..afacfb7c1d01b3a7c442e16492772c6e04479533 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 ` 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 ` 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 5f9a71371af0c1bb620167d576cad3b84fb4da4e..9066b4546261a39bb4a0dfc750c6fededc3814fe 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 ` 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 ` doc page. They are also listed in more compact form on the :ref:`Commands 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 ` command. - ---------- - Restrictions """""""""""" - This command must come after the simulation box is defined by a :doc:`read_data `, :doc:`read_restart `, or :doc:`create_box ` command. diff --git a/doc/src/angle_cosine.rst b/doc/src/angle_cosine.rst index 583f43bc40de15245f2dfda58e0ded9ad0c9fd7e..f10477178172b1b08db3fe4b4a48f2bb91f78343 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/angle_cosine_buck6d.rst b/doc/src/angle_cosine_buck6d.rst index 86f22b9ec417aa538780cc8d4fd1a8d09cbd7edf..228b96abc8acb7a1609e08a3e1be404021e0da44 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 ` styles and needs the :doc:`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 ` style and with a :doc:`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 f83b03b36da271ada8b58fc475707db341ffc84d..3d29d134e0773145877465cd212d8e26c9a2cb08 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/angle_cosine_periodic.rst b/doc/src/angle_cosine_periodic.rst index c8ede7e03d752fba6f36ef2d66a7ec0aade475bd..d0c774e5f6e5d49d5052673ee8e963bc70fc5a21 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) ` 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 ` 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 ` 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 b4c5f9c38d2010c5f468cc50e43d9276d69a036e..70198034ed91eb8ad825a65f2050120ed3901af7 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 ` 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 ` 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 40117df221845dfb80b5b8b0b3ca38236cfa4b1c..5193b3abfc37a86ac0ed99c9ce465dc042b0d454 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/angle_cosine_squared.rst b/doc/src/angle_cosine_squared.rst index ee9258dda815e6f52cd16f8ef6a16b5711afbecf..722b098f54f3bb93a2451e4583507e29c355b720 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/angle_cross.rst b/doc/src/angle_cross.rst index eb5865c060fb30f27aca168074973a6e451163fc..4fa95481ac753d5e9236fdbabe041b2b770a2d33 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 ` doc +USER_YAFF package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_dipole.rst b/doc/src/angle_dipole.rst index cfa4313b302f0b6b9b033fa52f5106c862ea4d1e..8cd171c35e76c9fc1ba172fbf7e0d1e80901118e 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 ` 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 ` 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 d290e2d1f7b604b1e858126b9b4694b6adeb2395..a2008f731cb54b276067eed5bdd926ff150a9d01 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 ` command as in the example above, or in the data file or restart files read by the :doc:`read_data ` @@ -42,10 +40,8 @@ or :doc:`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 ` 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 ` doc +USER_MISC package. See the :doc:`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 d19dd1975319045f8095cc1c037f122bfcac58bb..795142ccaa41887568654c3b8a4ca269dd53ec67 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 ` command as in the example above, or in the data file or restart files read by the :doc:`read_data ` @@ -41,10 +39,8 @@ or :doc:`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 ` 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 ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_harmonic.rst b/doc/src/angle_harmonic.rst index 6b9ed776f53a92a30be9bdb222a38590c95c579b..4110f01d9b77823bf7b905576a7673322adef92f 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/angle_hybrid.rst b/doc/src/angle_hybrid.rst index f685beacc8efb87e880985f94474e7d61d6ad567..c84b351132167053a1020f5128b29cb9048cd0c7 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 ` 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 ` doc page for more info. diff --git a/doc/src/angle_mm3.rst b/doc/src/angle_mm3.rst index 6d6c6d874c2628c603f2a67f8d0c4d289295c70a..cc6ee120cdd2a386f7982ba6a7e4155bb48139d1 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) ` 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 ` doc +USER_YAFF package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_none.rst b/doc/src/angle_none.rst index e848391932ae9fbd945687ac68b4bdb4f9496803..eea4f2f951600c9335152867257f1de61025f006 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 bbf1dd618eb3ff6adcdc4246892c8ea6e2422400..4559389a2a952b971d9017cdb399b5d536f6d10c 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 ` 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 ` 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 ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/angle_sdk.rst b/doc/src/angle_sdk.rst index c15fd635b7d08567642fa553a2beadde39788e8f..5601e4f2453b0e4466fff1d67b3c38e32f71e211 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 `. 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 ` 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 ` doc page for more info. diff --git a/doc/src/angle_style.rst b/doc/src/angle_style.rst index 3e22113d856983c2b6f8de7f4427201bc7fe0d55..91232a6b6c9b5c321522575cc6c8693cfae3dac0 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 ` commands do not need to be re-specified in an input script that restarts a simulation. See the :doc:`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 ` 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 ` 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 ` - harmonic angle with repulsive SDK pair style between 1-3 atoms * :doc:`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 f63cf167d9753cda93500503cf18d345854bb9ec..729d890d6773a7b17f4408d225d72b72ca33cefd 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 ` 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 ` 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 `, so a angle\_style +This angle style writes the settings for the "angle_style table" +command to :doc:`binary restart files `, 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 ` doc page for more info. diff --git a/doc/src/angle_zero.rst b/doc/src/angle_zero.rst index e5dab4e3a0cb29852b45e57268e6c99545441260..22b2e95c047d8f640b363f49e2ac3f354c691be1 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 79c52a552570f5f738cddc7b0da2bee4650fef05..c940689d4d1ced72204139131e21549766ce417f 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 147727dd660dd30d721bda31c94107851d4b3902..c94ca65c1c82c1293b2d6c5562b96291f69d7162 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 ` +or about 9e18 atoms, if you build LAMMPS with the - DLAMMPS_BIGBIG +switch. This is described on the :doc:`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 d0707559d76636c77a03fdbcdbe406c4015a8024..df00c65f018d4fb50a7ff309c7fb3fc692dbcaa9 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 ` 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 ` 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 ` 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 ` 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 ` or :doc:`create_box ` command. @@ -338,7 +330,7 @@ The *electron* style is part of the USER-EFF package for :doc:`electronic force The *dpd* style is part of the USER-DPD package for dissipative particle dynamics (DPD). -The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the USER-MESO package +The *edpd*\ , *mdpd*\ , and *tdpd* styles are part of the USER-MESODPD package for energy-conserving dissipative particle dynamics (eDPD), many-body dissipative particle dynamics (mDPD), and transport dissipative particle dynamics (tDPD), respectively. @@ -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 1c667781af4cba54754be529c1858edae05153f4..5e631fdd2754941ed30c5eea7e0df04e2e0dcb45 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 ` 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 ` command options, *brick* or *tiled*\ . The "tiling" methods can only be used with :doc:`comm_style tiled `. Note that it can be useful to use a "grid" method with :doc:`comm_style tiled ` 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 ` 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 ` 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 ` command. Note that these custom per-atom properties can be output in a :doc:`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 `, :doc:`processors `, :doc:`fix balance `, :doc:`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 7b07c8a69a882d5f29f09f6e2ba799e94ceafb3b..3aee22dbf4eca2345cac8aee032f048dba9fcc69 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) ` for a description of the COMPASS class2 force field. @@ -50,10 +47,8 @@ or :doc:`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 ` 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 ` 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 157403a301815b980d498b622e1c5d50e1561ff8..416190a36775dbf92bc63adf1e4fe48383416da5 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 ` doc page. They are also listed in more compact form on the :doc:`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 `, :doc:`read_restart `, or :doc:`create_box ` command. diff --git a/doc/src/bond_fene.rst b/doc/src/bond_fene.rst index a36db3a17056d71493127ac1c1c350bc008147a2..3ba96722947aa9469001a6a289012caece130efe 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) `, 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 ` 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 ` 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 ` 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 8a05e141d74514101054f57d1a538b01ff04142b..032b7261212f4c026756ae34bc68c31c74d19d56 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) `, 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 ` 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 ` 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 ` 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 3b935568bbe04e6855cf7fa720d015906387c4ee..ad1b143a24d4518f9662f3633a5451ffe9d2ba68 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/bond_harmonic.rst b/doc/src/bond_harmonic.rst index 06af4037f650649c49170b0bfd5c0cca4d5c2926..befab173d675b7dd201f457a638c2d3fbaaded7d 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/bond_harmonic_shift.rst b/doc/src/bond_harmonic_shift.rst index 26373790a28bbd57181b9d575edc1f5e29bcf4d6..a044797c6fead0ec50b4712a07237a21acecc390 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/bond_harmonic_shift_cut.rst b/doc/src/bond_harmonic_shift_cut.rst index 4a2dcbb4b2d30e352c95066998562266b87634f4..64a7ae2e3d8d6100b59580cae5096b1f985ea044 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/bond_hybrid.rst b/doc/src/bond_hybrid.rst index 6b8175858f2a9f93e627a2858e7f6cb4c9116c55..74bd39988bc16e8dbfc79fa826170bbf2dbd8abd 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 ` 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 ` 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 `. 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 e7baa78ea05ab31a82d2aade562edacca46c33c5..8ea79d91392324777b87eeffacaa4f1b29495c4e 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) ` 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 ` commands: Restrictions """""""""""" - This bond style can only be used if LAMMPS was built with the -USER\_YAFF package. See the :doc:`Build package ` doc +USER_YAFF package. See the :doc:`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 13f24855f3188b042e75aa377ff0a6024b2e2882..5cc30bcdf9cc965774a43a1d156a45ce1415a5cb 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/bond_none.rst b/doc/src/bond_none.rst index ac838581bef94830ac6442a615d7920893f274ba..3712ef08d554d3a084db9f801efa6c68dde1fe74 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 4f8a0c881eb98372ecf8fa1a0a5552b88ac9f2fd..05ed28fffeb7514ea2313d311d10bd421d1d4bc8 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) ` of equilibrium length :math:`r_0` and maximum extension lamda. @@ -45,10 +42,8 @@ or :doc:`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 ` 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 ` 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 2b7ba54708e8e4c30e638b00a458eeb729fe4737..8e69b298bf0f1dcce514ed698418a385f87c3bb2 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) ` 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 `). For the oxDNA2 - :ref:`(Snodin) ` bond style the analogous pair styles + :ref:`(Snodin) ` 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) ` styles. + :ref:`(Sulc1) ` 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) ` 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) ` 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 `_. -Please cite also the relevant oxDNA/oxRNA publications. These are -:ref:`(Ouldridge) ` and -:ref:`(Ouldridge-DPhil) ` for oxDNA, -:ref:`(Snodin) ` for oxDNA2, -:ref:`(Sulc1) ` for oxRNA2 -and for sequence-specific hydrogen-bonding and stacking interactions +Please cite also the relevant oxDNA/oxRNA publications. These are +:ref:`(Ouldridge) ` and +:ref:`(Ouldridge-DPhil) ` for oxDNA, +:ref:`(Snodin) ` for oxDNA2, +:ref:`(Sulc1) ` for oxRNA2 +and for sequence-specific hydrogen-bonding and stacking interactions :ref:`(Sulc2) `. - ---------- - 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 ` 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 `, :doc:`pair_style oxdna2/excv `, :doc:`pair_style oxrna2/excv `, +:doc:`pair_style oxdna/excv `, :doc:`pair_style oxdna2/excv `, :doc:`pair_style oxrna2/excv `, :doc:`bond_coeff `, :doc:`fix nve/dotc/langevin ` **Default:** none - ---------- .. _Henrich0: diff --git a/doc/src/bond_quartic.rst b/doc/src/bond_quartic.rst index 89b1a0a13116b8e5c1b3be92dd8b250f18971aef..1321e015867f6da880631cba0c06fb62476bebef 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 ` 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 ` 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 ` comma :doc:`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 ` 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 ` doc page for more info. diff --git a/doc/src/bond_style.rst b/doc/src/bond_style.rst index a0908606e4341e97182237fa01311468ab1afd42..52cc761da1b78bf669a6ac38a9328c56847cce92 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 ` command. All bond potentials store their coefficient data in binary restart -files which means bond\_style and :doc:`bond_coeff ` commands +files which means bond_style and :doc:`bond_coeff ` commands do not need to be re-specified in an input script that restarts a simulation. See the :doc:`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 ` 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 ` command. There are also additional accelerated pair styles included in the @@ -104,14 +100,11 @@ accelerated styles exist. * :doc:`quartic ` - breakable quartic bond * :doc:`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 79ad42922257822af6824a48fb78516ffe94832c..445face23104dc629c41c119a4b97cb2a03fcf71 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 ` 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 `, so a bond\_style +This bond style writes the settings for the "bond_style table" +command to :doc:`binary restart files `, 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 ` doc page for more info. diff --git a/doc/src/bond_write.rst b/doc/src/bond_write.rst index f7055d42aaefd084d3e93ace1996a24d189a0b06..5f93e41da0d00209a2422ef8e05eced4aa0c2ada 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 329cd9d13aa52c30280ecb19ab67f920d10b0658..42df0472a180765b0b0bc53352c4ca1a384486a7 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 ` 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 ` command must be used for diff --git a/doc/src/bonds.rst b/doc/src/bonds.rst index 3019e0c177b8ce344097502816f83b32dcae3250..4118e153e989a46255f58e30174cd32a810266f6 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 baf843426ec25794c1f97d1f7f4303b892afca81..7e5ce7d1aea584c17739b3707b4a5e845e1f26f9 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 ` or :doc:`create_box ` command or :doc:`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 052057bb9072644733556abf3e0398770b8be0c9..86638971c02533be5655eead41dc4f8cf4ca1ac7 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* + .. 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 ` or :doc:`create_box ` command or :doc:`read_restart ` command. diff --git a/doc/src/change_box.rst b/doc/src/change_box.rst index b9bed3a0d6213d7b66e5e083258a2608e5eaa364..2ab70ddec86e5a149c636b7e77146521db61c42f 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` can be active, nor can a :doc:`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 ` or :doc:`unfix ` command is also used to turn them off. diff --git a/doc/src/clear.rst b/doc/src/clear.rst index b8cb8b7410d5f380f33f2d5c981a063402db3657..6c4ef9a22c5d32ca4867b73768fd2547117e7808 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 839b179e8bba0dec470a749634a7b5c3df8ac701..9a2ae60f1e2df51b8a3babdc0577f9793c281106 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 ` or :doc:`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 ` *brick*\ . diff --git a/doc/src/comm_style.rst b/doc/src/comm_style.rst index 37184794c1c9757ac0f4e800d2d1f4a05f236138..2137378547e9832d50991a2052c85c1e522f46fd 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 1b1691cefd2f080020ac9035c5733e39ea11daac..349d3889236ec0e5d240c256655f9a04164746a0 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 fd3c08c626786bcf48ef32ad92c0434e2016a398..0726a502bc3e83f31280ba6c84b5cb5382498e06 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 ` 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 `. * Local values can be reduced by the :doc:`compute reduce ` command, or histogrammed by the :doc:`fix ave/histo ` command, or output by the :doc:`dump local ` 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 ` 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 `, 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 ` 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 f1cabdc3a3188e40cca24dde2759e78dbc8777b6..33e0b6cf15baa7d9e35eb4716086c59ee0f857bd 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 + .. 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 ` 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 f403f5e5bf84f6b91e4253297112bfd745a62596..c0d754d883701af4a8d6c968e005f0211df1a704 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 ` 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 ` 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 155b387d4eaed70175b019b8d389ef0a8cde69b4..60f929197c294afa35b8b82d2b57630399ddc299 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 ` command, which can be accessed by indices +number of sub_styles defined by the :doc:`angle_style hybrid ` 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 ` 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 923233fcfc1617c74b969bca7ecc900c1ae80a3c..fe0af199e2645ce79f4c5ff146d16f2dde578c32 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 ` 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 ` which should evaluate a formula based on a +specified for the *v_name* value is the name of an :doc:`equal-style 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 ` 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 ` 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 b800c91303efe78791bf386bdc4ed5e85718e5d2..eb5e8fd013806251dc74ec12c13c920fc924fb56 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 ` 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 ed10a2ffd5c076072463479018b9af7f72afe1c6..ac628d2b6da9956e8999a6ab9cb98916b92b1afa 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 ` 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 47fe6de85bae2d8c2520f2ce8e2ddc906354d168..395a8ebf91ed4e8b29292dfc8f71457805107781 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 `, determines how many fields -exist and what they are. See the :doc:`Howto\_body ` doc +exist and what they are. See the :doc:`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 ` 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 ` 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 ee95e29de8b9a2e3ef1d6b91f8f0b6e285aec7e1..59ac05630a8b81b6b92d830b6a886f19fce5f66c 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 ` command, which can be accessed by indices 1-N. +number of sub_styles defined by the :doc:`bond_style hybrid ` 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 ` 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 cc2f929af916489a25d293af6e7187933c148152..32d756d52a26bbe0bb9af5c4c9295b4c3ac12c4c 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 ` 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 ` which should evaluate a formula based on a +specified for the *v_name* value is the name of an :doc:`equal-style 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 ` 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 ` command with thermo output. And the :doc:`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 6e706d9f970a9d4dcdccb80cd2948b44b74113f2..312582eb9028f56dbace485040e50bbb5a43ba56 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 354aa44d5bc2e247fee3dba4f50b00507558e056..ead17e3f7cca1664962a5d1a49055ef14059a72e 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 ` 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 ` or :doc:`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 ` 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 ` 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 a1b5cf45e550806050181045c413e864a56acf7b..d486da4e3e018930890e36634f20ce533a255f98 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 908974de3851860c71482120db68cdd9b426e44f..d9742a4a4b00231f7e83a651fda5014c4f403bee 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 ` 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 f270891d82ad6557f74722c6f4d5bd8e222d03d1..27bff636a28a503d04c1e5fb7f75c06d29526f50 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 ` 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 42e187ba692a080febfa87d2ffc6ec9faf4a8aef..c87082dc079af8d6f78760f9d716ee353e642da3 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 ` 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 ` 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 a77d00a00478aafdbec276a264515094dacaf5dc..af36b34b2bd8d044a870818483975c777b640eff 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 0d210fb113e9cf9c5f05253b68ec116bfb710c51..dd27702652ccf57bd4604df406f74b6742a10c7d 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 ` 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 3c88f66ea5156e57160b2afb5f45b61b59465b21..b8b3c695d6419b15cdaa41084a0f015aa8186a36 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 ` command. diff --git a/doc/src/compute_coord_atom.rst b/doc/src/compute_coord_atom.rst index b46af08d639c834ce0a786e9974bcf014753048b..c51ea212f028e0a744ee213f47d270e36b193a90 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 ` 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 ` 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 b39076c17d48b9f75b76b54b46ba1497f69eeb6e..ab17584ccde4d1cb0d25de1bd7f07f229d95d952 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 ` doc page for more info. diff --git a/doc/src/compute_dihedral.rst b/doc/src/compute_dihedral.rst index c8d4e14d7ea1544996ed19c18d1263610768df1d..ed87b727ec3c599f9e5e6c2440f49a202a1289a0 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 ` command. which can be accessed by indices +number of sub_styles defined by the :doc:`dihedral_style hybrid ` 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 ` 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 a1dab677ee84416c64a67372ff88e0eaaaf78df9..6fd1401292e361c1869ce854934c20952e333c14 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 ` 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 ` 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 ` which should evaluate a formula based on a +*name* specified for the *v_name* value is the name of an :doc:`equal-style 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 ` 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 ` 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 cc6463439713478fd8e3fa0ae336a826668686fa..46ebef8220bc172b7168524906a5002956c91b5c 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 ` doc page for more info. diff --git a/doc/src/compute_dipole_chunk.rst b/doc/src/compute_dipole_chunk.rst index 44875e48d82b6d8c559867b20314b2f13c275791..f08b1d67d91d9c30429d114fb98549ae9dfaa032 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 ` 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 2d7cdfed3fac3dbc4e2f95d2b3919343da78ab2f..9e1488cdf160f63bf0c2b551d398c0fda9010631 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 + .. 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 ` 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 ` 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 ` 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 cb3008a73cce4c22bddc65a899932cbb8118e588..c106522b571e80b0f565739b05909edd535d159f 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 `. 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 ` 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 215e16a9c96978acdd498fdfff41a220fab07719..d1a683db87b44abab01a03d3ec541ff652a085d7 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 `. 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 ` 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 e51e70e7f604ce2ce1d75a97af19566cefd8e45d..8670e70b48e9197bf5b9f5158e2c1b44cba4bbec 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,31 +43,24 @@ The per-atom vector values will be in temperature :doc:`units `. Restrictions """""""""""" - -This compute is part of the USER-MESO package. It is only enabled if +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 ` doc page for more info. Related commands """""""""""""""" -:doc:`pair_style edpd ` +:doc:`pair_style edpd ` **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 9b4bb5f62b344ed3255f5c93c4b8a4b1fc53e580..85a180df740a0347c495b08d6fd5a4c2cb323370 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 bin See :doc:`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 ` 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 9ba2edb1a64568facd7327743312dcafcb0654f2..ab0c1fe59bf043e7b974ed82b347a931eaf781a9 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 `. 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 ` command. diff --git a/doc/src/compute_erotate_rigid.rst b/doc/src/compute_erotate_rigid.rst index 9fbea185292bc315ccbfdc11a2a307ce1c5a4287..f07751eff5b8ec2f48edce3c3b850c2a6225496f 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_erotate_sphere.rst b/doc/src/compute_erotate_sphere.rst index 61e3b5c1dcc6a2d23994b4060aced2c1bb06cadd..17656ef0bede09272f1cef4b34997912fb5f4e7e 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 `. Restrictions """""""""""" - This compute requires that atoms store a radius and angular velocity (omega) as defined by the :doc:`atom_style sphere ` command. diff --git a/doc/src/compute_erotate_sphere_atom.rst b/doc/src/compute_erotate_sphere_atom.rst index 94cc5948e7eba8096d2afc6c94a50ce9fb92c206..f7450be9c2025fdf6524f17e89f5d6b6a5d09923 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 a99f77ec52b596a8961ffac714035f5cbe395fa1..679e4554652c2fd0f1d173e8344cbf07409ef523 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 ` doc page for more info. diff --git a/doc/src/compute_fep.rst b/doc/src/compute_fep.rst index 84b62a7f4ab44fde4a6cba691a85e4e518030857..4700817609feb20fbcd689609424d0e5edead4ba 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) `. - ---------- - The *pair* attribute enables various parameters of potentials defined by the :doc:`pair_style ` and :doc:`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 ` 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 ` 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 ` 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 ` 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 ` 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 01e1d8650aa11ab92fb00113a01d1474004ef629..e9adb0317b07e326e6a44b77705272a510c92f7d 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 ` 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 ` 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 76766ce75555cfececcef37fe81ad9b42215861b..ba29090d5e51358825755e01ea1de4344b06aed3 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 ` 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 `_ 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 `. 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 ` 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 fa3b6acbc5bb5a906b6af66077275199a9b5bfce..42ca1e53e5dadd158492eb18bcebb03dde41a845 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 987cb7fa4c08486bf38a9c1c30175ab2252c4783..2ba632ded1ea0abb351b257ff8890fbf23c0fb2d 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 ` command * zero or more keyword/value pairs may be appended * keyword = *tensor* - - .. parsed-literal:: - - *tensor* value = none + .. 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 ` 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 96c03469263cce4a1fdc53e28917dfd89c5e8107..81fc628a21629253ab0b89b696fb05d1bc261581 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) ` 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) ` while an application to polymer systems can be found in :ref:`(Theodorou) `. 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 ` 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 ` 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 72fec2ddc7c232bbc8e3a24a1fa317cd90c41a4a..50dd4822ce584a78ad672abcc853188b1d90213d 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) ` while an application to polymer systems -can be found in :ref:`(Theodorou) `. 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) ` while an application to polymer systems +can be found in :ref:`(Theodorou) `. 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 ` 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 ` 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 2122c3acd0247fb090079deaa57ccba59c61a3c1..1b28c08ae59bb6b61776fe35dd2a07004186c3bc 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 ` 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 ` 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 45560a2aff8289ee94b4493331cdd41b7c248e66..31f7dbe6626f920d8ab0f0bc70b1470c05dc53f5 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 ` 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 e1b1d3e3a978b528e7cd2229e2f9fd762d5f9ca9..e00fdde8410ef794fd90f6138ec94d0ac833de57 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 ` will perform poorly unless the potential is shifted (via :doc:`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 ` - 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 `). 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_{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 `. 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 ` doc page for more info. @@ -190,18 +179,14 @@ Related commands :doc:`compute pe `, :doc:`compute pressure ` :doc:`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) `_ diff --git a/doc/src/compute_improper.rst b/doc/src/compute_improper.rst index e7fb761958b9398baa5e1e4dfe860c0953967970..0a264a74e7672094f58e128f0f8c1f44a5bb4455 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 ` command. which can be accessed by indices +number of sub_styles defined by the :doc:`improper_style hybrid ` 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 ` 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 71286d5c9d77da5710eec0e4fae082ae92a6d31d..7a14daf161132f42b7289f591ff0d09305dcd85b 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 + .. 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 b592fe828f2c73cda291699f75102b1738bcfb73..f6679298078b4dfd71e0f87971822a21e9a98e55 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 ` 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 e93d493b978f656b59e5e0307e3fbce98967e88a..d98d39247c4a20be6670e25ab0cd1361a42b18e2 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 37f08e83d878002c04244e536fa5ee5a7a874fc5..42294dbca117c26b65721102afa1d9b11a8fa133 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 d9cfbf8c9453739887047e423161be0924970521..7aa89d0dfc60699cdebf90fb778ec3e141532a1e 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 ` 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_ke_eff.rst b/doc/src/compute_ke_eff.rst index ab3f37ef8104129532fcd52411754a3abc985409..f1cffebc5677d51b52465776e4afd8cca46e7b19 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 ` command, these are the same. But +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 ` 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_ke_rigid.rst b/doc/src/compute_ke_rigid.rst index 3edb69f2a102c8074ab9d0f5ad886bfcda8b2869..fd4706de194e76ceb7e124ee3b81ab7f092ca234 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_meso_e_atom.rst b/doc/src/compute_meso_e_atom.rst index b805121b20620a32dc95a09e812f0457217665c8..ad8e46cafb1b52a306c9a4dad214fed235d41081 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_meso_rho_atom.rst b/doc/src/compute_meso_rho_atom.rst index 1f525c1d256adb63233c3dc068ec5faa195231c7..d4611c5cb72a3b317280a083e30efa15282a8e77 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_meso_t_atom.rst b/doc/src/compute_meso_t_atom.rst index 796995312816876d251001dc3525d00943f48693..e44425a65c4b3250b0b858b5e36aee200883a0e0 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 `_ to using SPH in LAMMPS. @@ -52,7 +52,6 @@ The per-atom vector values will be in temperature :doc:`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 ` doc page for more info. diff --git a/doc/src/compute_modify.rst b/doc/src/compute_modify.rst index d85747225643b2fa412b94450ff46c47c7412206..3b8f61374482b640183dbe0da1248ed8681e4eea 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 32e325a1031a59afee7bbe761be08ed0d5a866bf..af968efb59ef2ddd2ca7347e450c6bd61c121220 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_msd.rst b/doc/src/compute_msd.rst index 8ced34f66de3694c359ccf7dc74ff81238eb4038..94ab6a1579135e4a6fe5ed1acd8fd702b00aa28e 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 `, :doc:`compute displace\_atom `, :doc:`fix store/state `, :doc:`compute msd/chunk ` +:doc:`compute msd/nongauss `, :doc:`compute displace_atom `, :doc:`fix store/state `, :doc:`compute msd/chunk ` Default """"""" diff --git a/doc/src/compute_msd_chunk.rst b/doc/src/compute_msd_chunk.rst index 9cf2b0bc8ae89aabbcb83001bce4f81b494b13ce..9a9a9260303d87d9586567a4f3d7bc049d93a629 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 ` 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 8168d25ca619f76edacfd8a147014b48097a7b2f..2dfc00fb68596dc69f68b28153fba3926550e3b8 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* + .. 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 ` doc page for more info. diff --git a/doc/src/compute_omega_chunk.rst b/doc/src/compute_omega_chunk.rst index 66e21a2ae4306672e9369b6ca20fc791c539aba9..73895b585c1ffdc8522fae1807c7d06328d4396e 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 ` 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 b864db82a72d48d108aa1d4e9be193937c66e1f6..7b894b886ec856803a8ccd202a2e2fb8cf69cf69 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 ` 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 ` to +in conjunction with :doc:`compute coord_atom ` to calculate the ten Wolde's criterion to identify crystal-like particles, as discussed in :ref:`ten Wolde `. @@ -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 87ea8bda58918415102ad9294abf073f454dd476..40c758ebf0cf81ca5f99543e796a4647c29ce65b 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 7808253576ea4c6a66a6103c524221564ce9a7ca..31030cd97e4d3685c3e3126ff784dc18891891f2 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* + .. 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 e8075a361a3d10fbf5507b6f03c307b38c0a4623..813b577490cd1c64a271f39b6f9c41b7786d11d3 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 ` 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 abc504a56b22422165f8e7e2b553057babf5dd34..b616cecd898b6bb3899bce3c0dccd30e2ddd3dde 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 `. 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 8c9515941f02144a2c63050c6a38e61243dfe23e..939017f5e94ccce96f64d3b21ccc595e422c7045 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) ` and the PDF doc included in the LAMMPS -distribution in `doc/PDF/PDLammps\_EPS.pdf `_. +distribution in `doc/PDF/PDLammps_EPS.pdf `_. This command can be invoked for one of the Peridynamic :doc:`pair styles `: 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 ` 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 ea7b238db0d2e48ac24ad0a33d7a500179dba985..7366fa6d3d2b928045a8f1cff24c2a2b1295e0c9 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 ` 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 ` 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 9c20e55a39aae1f14683f76b301fcd197830941b..104e68d5337225af72baa2431c089e60d526ac6e 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) `. 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 `. 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 ` 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 e674950c32274fbc8aeb8d95eee93505e7c7d325..07302ba46d926007c7aa829bd633a6f0ca3dc00e 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 ` doc page for more info. diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index 5aa9ead9740eca5c0ab655df5c2986cc38f48afa..1643be869966b9beead19024edaaf243f866ce5a 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 ` 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 ` 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 ` 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 ` 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 cd9750f96ee1d32c23e48cae2d7b0d4adabd05a4..ed49833a4810db76e81cead34722333b133a86b8 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 ` 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 ` coord123 = coordinates for spatial bins calculated by :doc:`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 ` 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 2e0195819429402471fe47fa96bb8e8920f9d657..4e29bb7fc0e696222711c3bf63f1f6f6fcf1e848 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 ` 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* + .. 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 503c8df168e94e1d57dd7e5ae06cddb6fda75eaf..112ed1ea6a2ceeb3d04ee1cd5a0ede398352bb66 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 ` 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 b35aa54e099824cf276c6709205878463ef082d1..5f426ffb51c2591626c3d331f9bb2870c22168d8 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 ` 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 ` 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 ` 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 cfd7b276143673deb3360b935ff6c0bb322c2f2b..7599343d2e1b7b8831f0eed8b8d4a447a2259c31 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 ` 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 ` 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 ` 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 ` command with :doc:`thermo_modify norm yes ` set as an option. Or it can be accessed by a :doc:`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 8f850a32c2b476db56df2e11464c727c004187b7..34619efd0647eaffa9645dc8a8bb8cf582bb0eba 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 ` 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 ` 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 d7e9d4dcdd809c0e6454869d1d66065291323d25..4fc0f3c2ddb420ff1ffd1bb53dde4101392429d8 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 ` doc page for more info. diff --git a/doc/src/compute_saed.rst b/doc/src/compute_saed.rst index 2a9c05f2189e375c1c8fd831841a07d70b993cf7..cad4bc1b9312363afac866892dc891560f97f61c 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) ` 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 ` 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 `, :doc:`compute xrd ` +:doc:`fix saed_vtk `, :doc:`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 4ed35eb0ff990ff01e6652d10fd5f3e3c2db4d4b..c8211269bc3c338dbf7a0800c0273ecbb9f4367b 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 5ac0cc1de787bcccb04baf55cae3621f71039193..01c543af388f73058ef16514cb745f4752dbf6f7 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 `_ to using Smooth Mach Dynamics in LAMMPS. @@ -49,13 +47,12 @@ The per-particle vector values will be in distance :doc:`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 ` doc page for more info. Related commands """""""""""""""" -:doc:`dump custom ` smd/hertz smd/tri\_surface +:doc:`dump custom ` smd/hertz smd/tri_surface **Default:** none diff --git a/doc/src/compute_smd_damage.rst b/doc/src/compute_smd_damage.rst index 235f6f63cc2cde97621a6a3a938b2b5522c87386..3f02ac5c74655b720d7875b75d62038f467c9275 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 `, :doc:`smd/tlsph\_stress ` +:doc:`smd/plastic_strain `, :doc:`smd/tlsph_stress ` **Default:** none diff --git a/doc/src/compute_smd_hourglass_error.rst b/doc/src/compute_smd_hourglass_error.rst index d7c3764088bb094794c8633c3925c631906d96ee..56b8a81c0187afa80422f9f4fe5e332015d74c29 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 ` doc page for more info. @@ -61,7 +58,7 @@ tlsph pair style. **Related Commands:** -:doc:`smd/tlsph\_defgrad ` +:doc:`smd/tlsph_defgrad ` Default """"""" diff --git a/doc/src/compute_smd_internal_energy.rst b/doc/src/compute_smd_internal_energy.rst index 5aa618a0313e51d32f9c8c53780b27d7bc59313a..7613d5bb3ed4f8a3f51665acf98b92580e0c5236 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 ` 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 ` 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 3330a34dd0c90e4284c56fb7c116cf3b98d1aba5..772169310f0d0ca2ab7454924cb5d26f7c4a5b79 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 `. 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 ` 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 b3157bec1292bdc655ef3ba82f806962d66f0516..7b0480a211f391531816205af631629d419cf02e 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 ` 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 ` 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 f6e4c9b764daad4fcbb99c0310ac1743a890c06b..50c74b8c26e23fb190fda8dc124c43e31d1de3dc 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 ` 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 ` doc page for more info. diff --git a/doc/src/compute_smd_tlsph_defgrad.rst b/doc/src/compute_smd_tlsph_defgrad.rst index 7ef38db49282cfcbc6f3be00e408a8104c72e0a5..c599b82709cbddbfedeef1aa1f210251f2652a56 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 ` 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 42134481019fad16ce368ef38ce2d838e5581981..7835f0642d66eff97da686a23ca898fcc568c908 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 ` 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 ` 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 afd398e8a2a3d65c92adc9fa29bf008f8ee96b35..202f1640d6e3b24bfac4a42d8f1ef5dd34d9c4fb 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_smd_tlsph_shape.rst b/doc/src/compute_smd_tlsph_shape.rst index 9787d8304ccbadcba987a58c83ff042c83971b0d..f4ed10a23201086ce53852053f268e792fb0b2b6 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 ` doc page for more info. diff --git a/doc/src/compute_smd_tlsph_strain.rst b/doc/src/compute_smd_tlsph_strain.rst index 53823827736d5498cffd9573c103c190092efeb6..24c59374629438abe4a465b2e97a8eff87b53265 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 ` 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 fd489d4f29ac0acfc3010a36d4b5abc1c75f6a6d..0eb68432c1fe7fe4bea81bb246f4fc9d269ca4d2 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 ` doc page for more info. diff --git a/doc/src/compute_smd_tlsph_stress.rst b/doc/src/compute_smd_tlsph_stress.rst index 7060144cfd15268b2fab16b083438e8beeea5168..10d01ea9c0a56e8a440e4788d0cf49eca9656835 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 ` doc page for more info. diff --git a/doc/src/compute_smd_triangle_vertices.rst b/doc/src/compute_smd_triangle_vertices.rst index 9b92a896cb94a6fc6eda1758c7fbaaa9c2fdec1e..ad33df3ef802fb905978f68835cb730d112b6eb1 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 `. +corresponding to the triangle-elements of a mesh created by the :doc:`fix smd/wall_surface `. See `this PDF guide `_ 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 ` command. +which is created via the :doc:`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 ` of distance. @@ -54,7 +52,6 @@ The values will be given in :doc:`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 ` doc page for more info. @@ -62,6 +59,6 @@ Related commands """""""""""""""" :doc:`fix smd/move/tri/surf `, -:doc:`fix smd/wall\_surface ` +:doc:`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 baa53f4edaf6600054feb698263613658a450e75..70824fc517084ecb03e14f10b876e2ded01b8ab9 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 `. 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 ` 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 9f5a9527783b6e6224071a8db34979b7c7657b2c..dbf6751bf7a27c3a6d2625a1203d1b882d224890 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 ` 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 0145e86f7e7a48b3579cd97161f17ece916eb0da..7f911e9332356a2598a00777dc63d0288c01a03f 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 ` doc page for more info. diff --git a/doc/src/compute_smd_ulsph_stress.rst b/doc/src/compute_smd_ulsph_stress.rst index 92951124787f673a0343c0b640891b7558300ecc..c74b37508af7c814e432a4a209832bf01813d854 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 ` 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 caae817ff1ca88c74b31a56f36e73777f0d5e382..abcc6fca2226b9b09448aea545bf6c84c52c1344 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 ` doc page for more info. diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index 0fe8acde0c59f0a83c412c505ecb2571dcc37c7d..83e28b913bd1a1ea310bebaeed7000b00cbd02cb 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 ` 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 `, which is useful when training a +stress components on the linear coefficients in the +:doc:`snap pair_style `, 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) ` 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) `, 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 `, :ref:`Varshalovich) `. @@ -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) `. .. 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 ` 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 `_ .. _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 034d2ab68577db0bed9ac1c23de56cb750992637..49243e9650ce2b8a569d50886d035364ad34daba 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) `. - 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 `). 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 ` doc page for more info. The atom\_style +enabled if LAMMPS was built with this package. See the :doc:`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 e87b49428ebe8f9ef7d509c4b6939bf2bf53759e..48e8b9c69ce66d55c584852f66647ced8250b924 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 ` 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 0d721db3fe58f596e8668e3155b842cf823a718f..83a83747021f721466b3b2fd83de2e0278b3a81a 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 `. @@ -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 ` 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 a5973a038a4c3d64a783504d9b9879ade7070d0c..f49c872306df0149fc993f0f25565990fe52c4d5 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 ` 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 bd3c5df0748eb85467890b3f01addb175d15a3e7..00eee60f6208fcc41adf38b2f2dfcf9b05ccfc6e 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,24 +45,19 @@ per unit mass. Restrictions """""""""""" - -This compute is part of the USER-MESO package. It is only enabled if +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 ` doc page for more info. Related commands """""""""""""""" -:doc:`pair_style tdpd ` +:doc:`pair_style tdpd ` **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 e485b982f29b26d1a13e4c534d6799c25c95074c..9232191472f830ca0b7da8d17ba3404099d76ad0 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 ` 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 ` 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 ` 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 eef88ebe862313d0c226ed2dc3cb08a976bb8eee..46fadc2ff512783f0facdcd9c9073049e4c54556 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 ` 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_temp_body.rst b/doc/src/compute_temp_body.rst index df9ff29f2d32e3fdd3bf5251899d731885f8dbd5..75477eff36e4c7aadf7d950380ab29a9ffc90f0f 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 ` 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_temp_chunk.rst b/doc/src/compute_temp_chunk.rst index a23ddd0c6df025cecf37a58ef40b52651007b05f..89bef3a3278445d570acaa317e8e051c2fa82295 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 ` 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 ` 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 ` 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 edc7adb3bfe696ec4f06542c1cfe7076d9f1e774..b21db2ac27ea26e67abb1423684d0482210f0e98 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 fa4949fa786b5e5585d75c63e1755a796aa17aee..f3c82c2b1a2bd7d14cfb1d2faf8dc7404a0bc49a 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 `. 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 d470b24bdca7b7984afa1a2def0b0eaad718064a..d73670485b050f4aca0f188c4f4e44c7a8969447 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 46292fcfc150121832a2ad4f926d51c7a1b96c6c..b5d66595737e0de7fc268f3881e332e5417c1b23 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_temp_drude.rst b/doc/src/compute_temp_drude.rst index 706ee32beb1dcc04a6423444e51155aac5bc5a8e..8cb9849a24691d90cdeef6ffe53e62b7f923161b 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 06cdfbb8f034b22771637bc1f2aa844e74a582a0..84a2028920054da28d36ca453f3b2b3333cd45d0 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 ` 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 ` doc page for more info. diff --git a/doc/src/compute_temp_partial.rst b/doc/src/compute_temp_partial.rst index a01abd49a0d71f273dd392f87c24a5a88aa962a6..e2fd36f35a25fdd29819275a73feb01070a05c5a 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 ` 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 ` 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 9ecf9855964e8f381620b325cbee80365d7a9d58..53870fa300aae4dfdac246459be55255f7696bcb 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* + .. 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 `. 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 1fae6bb419f2200bd9a0c10f270c0e5875525504..4ac22bdfef3609cdf039a359f09873d3c35b26e8 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 b8968637568d30185bfb8257236929a7b1c44fe1..e207d75d9f819badb3011a03c3b28eb64bac9097 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 9026d15d671a9b8a4d3a97999e0af2a62e318848..a05cc5597c33c226a2f61245bf846f56bfd37a61 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_temp_rotate.rst b/doc/src/compute_temp_rotate.rst index 697444c6ed7d8fdf3219e4d182fca1e04ee2d35e..7d3ed4d63d5399a8295a0869f9ee5c71c6ea6616 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_temp_sphere.rst b/doc/src/compute_temp_sphere.rst index 64fc371b50611fefc55c8014fe49852c9c46da32..f0cd4c3ba037947755ab9e71dda99bbd839554bb 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 ` 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 `. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the :doc:`atom_style sphere ` command. diff --git a/doc/src/compute_temp_uef.rst b/doc/src/compute_temp_uef.rst index ca554c23148dfb4258eae65f0ae15c2998027553..2ce288a66f1c493d43aa58715305039768c8165e 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 `. 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 ` doc page for more info. diff --git a/doc/src/compute_ti.rst b/doc/src/compute_ti.rst index 9ac5cc5bc349ae3d057936a79467680e8e50a6a4..79fc56178c279d103c11ee933fef4ef31a2637c0 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 `. The time-dependent adjustment is what the :doc:`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 `. The first is specified as *v\_name1*, where +You also specify two functions, as :doc:`equal-style variables `. 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 `. - ---------- - **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 `. 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 ` 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 ae4d5f120cb9bbdf3e626829fa0ceea2173dd4b2..258ce03aa05aa9b8bfa582901a28c650f92028c6 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 ` 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 a10299d5e1b44a033f84392f498477dace14a3ca..ce2757c115f395d312b0cdf086109e8ffebb980f 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() ` 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 338265374b2de945617d3611b4f1f9497195d4fa..415038d7c27d46fff23c4587b6385c79346b5867 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 ` 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 0e75db49990d9ba8ae5a8561bf24133c7db07438..a5d99d5de9aebc1e4b85e3052edb5613968224ed 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 ` 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 ` 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 `_, 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 ` 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 ` doc page for more info. diff --git a/doc/src/compute_xrd.rst b/doc/src/compute_xrd.rst index d95fad79e47f85316867901b7c21fd918db3399b..29b1e9ebd08bfff915b140128f469024d8c6a6ac 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) ` 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 ` 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 1c1819a444db76dad68f176ec412b53028313d14..8d53b6cf06958e94e0d0cf6e3b4e70ca9f6e6e22 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 bb3e7ba7750345c1fe4e4a1cefc8ef00e1182b83..2e0b079e096618cbf24c1fa537b56b67f5417bc8 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 ` 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 ` commands -specifying different orientations. By using the create\_atoms command +interleaving create_atoms with :doc:`lattice ` commands +specifying different orientations. By using the create_atoms command in conjunction with the :doc:`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 ` command. However, you can first use the :doc:`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 ` 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 ` command, which reads a file that @@ -201,17 +195,15 @@ not overlap, regardless of their relative orientations. .. note:: If the :doc:`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 ` command for extra bonds (angles,etc) or extra special neighbors. This is because by default, the :doc:`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 ` 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 ` command can be used to override many of these default settings. - ---------- - Restrictions """""""""""" - An :doc:`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 04749f0289a5168a72060b0ac7a0637320e65b04..b69fd909f0e24c9758c14c36dcdaa39ccd631802 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 ` must be defined * no :doc:`kspace_style ` defined * minimum :doc:`pair_style ` cutoff + :doc:`neighbor ` skin >= *rmax* @@ -146,10 +139,8 @@ executes, e.g. if you wish to use long-range Coulombic interactions via the :doc:`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 ` 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 ` and :doc:`atom_style template ` commands. diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index ee58323ae9008f30defbc41f3b3baeb24646c5de..917a4b3b0a50aea9b2c74da62b4d719162c07cc2 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 ` 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 ` 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 ` 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 `. 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 ` command. The create\_box command in the +molecules in the system, but they are added later by the :doc:`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 ` and :doc:`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 7ad9c7555087d0f1756cd92e1c4259e75a88fb9e..d695603dedf957b3a8af5fdcd4c3e9517f89aa47 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 37c52f8affc4baf8d21f24bafea88f5c0690c120..9c42b5a2a01b39c30ba2fa43b8f2ac885a8491b0 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 ` 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 f5cbf56a0f26333457b177da55914658e20b579f..bd4f4dff56c7d96d6a9922ddf49d30af74931c4d 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 56eba0fe02ec4c9fc912a3ec425731b56afd4d3b..38cb18d172af0080e399f1d64ecff0b0fb71a1a0 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) ` 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 ` 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 ` commands. Use the *charmm* style with the older :doc:`pair_style ` commands that have just "charmm" in their style name. See the -discussion on the :doc:`CHARMM pair\_style ` doc page for +discussion on the :doc:`CHARMM pair_style ` 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 ` doc page for more instructions on how to use the accelerated styles effectively. - ---------- - Restrictions """""""""""" - -When using run\_style :doc:`respa `, these dihedral styles +When using run_style :doc:`respa `, 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 f079314129402dcc6e7e844ba5e036a17fb5d6a2..034020429b6cdba1e5d50897f0a7278f723658fb 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 ` 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 ` 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 491546d9e0e6ac771c08a8c3846c91ef03adc53b..d72a299416d058ff875fd86f4907af75dba69b25 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 ` doc page. They are also listed in more compact form on the :ref:`Commands 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 `, :doc:`read_restart `, or :doc:`create_box ` command. diff --git a/doc/src/dihedral_cosine_shift_exp.rst b/doc/src/dihedral_cosine_shift_exp.rst index e866b7917099c6069f13b5aa05ce13e9397cb267..4ce537409c4ee41f3745ed0b01d18a397dec2dd4 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 ` 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 ` doc page for more info. diff --git a/doc/src/dihedral_fourier.rst b/doc/src/dihedral_fourier.rst index 58f7ec9cb08317f6b458e954a609f3dc08fbee08..ad5f1f6586a3482dd2ee07eebd4eff86f1f09e49 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 ` command as in the example above, or in the data file or restart files read by the :doc:`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 ` 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 ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_harmonic.rst b/doc/src/dihedral_harmonic.rst index 665d0552696ce7f602daac7a13d5650e1a820725..703b96cf95065f1a2567fd2f60d3c2002e77a821 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 ` command as in the example above, or in the data file or restart files read by the :doc:`read_data ` @@ -61,11 +58,8 @@ or :doc:`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 ` 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 ` doc page for more info. diff --git a/doc/src/dihedral_helix.rst b/doc/src/dihedral_helix.rst index 870331944d95dad4743927ee46c265008f138f60..00c0006e98c028eaff8e96a67528b9e5601606e9 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) `. 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 ` 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 ` 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 ` 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 a2c962fab3b38f29b57f5cd2fa840c68cb80c3de..9fe4478f67613d0e3338c07b51fb297e9e1743be 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 ` 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 ` 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 `. 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 8edd7bcd2694c5836f449ef44d66aee36d79e652..11d44192024f5a74633e9b50326a0f5ed974a03a 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 ` command as in the example above, or in the data file or restart files read by the :doc:`read_data ` @@ -44,10 +41,8 @@ or :doc:`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 ` 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 ` doc page for more info. diff --git a/doc/src/dihedral_nharmonic.rst b/doc/src/dihedral_nharmonic.rst index c34c5233684651140386e507743477e2084597ce..9ce464f5f6e7e92cdb162a64917ad51854a9f89e 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 ` command as in the example above, or in the data file or restart files read by the :doc:`read_data ` @@ -44,10 +41,8 @@ or :doc:`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 ` 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 ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_none.rst b/doc/src/dihedral_none.rst index d4520595d4c8ef5d0cc44f25b37180cf70531202..eda8d1c39e029b4b87eed7c4a1f7285ef27577cc 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 a22bd8b8abe30f3be24be1f7aa501e0f44ec08b9..b123a1c64b75642be8c13260f0dda72445864287 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 ` 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 ` 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 ` 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 07d7eb063470c57dbbffe4a5a2fa93960464afcf..bdc5f79559c242ac184873734051810f3269206b 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 ` 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 ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_spherical.rst b/doc/src/dihedral_spherical.rst index 784a12c65e3f54a159170f53c72d3362f436834f..67919aa77f0822c9ed699289e072cc7e2c674451 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 ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/dihedral_style.rst b/doc/src/dihedral_style.rst index 59a28d034c8b6393fd22f6c3c6104d1f995583a2..bf3cf4902aa6801a096e63a4ea8d917ff53d6150 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 ` 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 ` commands do not need to be re-specified in an input script that restarts a simulation. See the :doc:`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 ` 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 ` 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 ` command. @@ -119,14 +115,11 @@ more of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`table ` - tabulated dihedral * :doc:`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 a29e784ef55d03c2aaacbb9b857c88aaf75c6d7a..112716a240f33e99b591378fc0cb3725315146ca 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 ` 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 `, so a dihedral\_style +This dihedral style writes the settings for the "dihedral_style table" +command to :doc:`binary restart files `, 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 ` doc page for more info. diff --git a/doc/src/dihedral_table_cut.rst b/doc/src/dihedral_table_cut.rst index 81ebcacaeff6ba73a0d1f6d024764cc7d4d10e7a..ae2fcd1f77f67e48c900096e916a443c5a528131 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 ` 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 `, so a dihedral\_style +This dihedral style writes the settings for the "dihedral_style table/cut" +command to :doc:`binary restart files `, 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 ` 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 be900ef13d71b8aba948beaffc749f3fc2cec5bb..7d8dcd496ac7e2f00efdcc2cb09cf7deea99f573 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 ` command must be diff --git a/doc/src/dihedrals.rst b/doc/src/dihedrals.rst index bab913f1c2d0b38f64acea2fa0137a0ac993ee56..f56e3234272f4072fc56a1aa9c936527789f4160 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 0f4fc329d61b3db08f54d51cc45b6b8f6f4e38a8..be711815a621d4ae30a67194a6b6db6ccbb0a6ad 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 ` or :doc:`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 57e6ac99861165d2a50c14dd08f241c65255ab35..efc6f9230be0fcb0e6ea64bf658c69c708515e29 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 `. 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 ` 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 89a0c53e30b66eb3eeb3c2503bbd2748baa944b5..c842d5fafe3a0439ec238411a0c0762d4af2b223 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 ` 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 ` 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 ` doc -page, including `Pizza.py `_, +page, including `Pizza.py `_, work with this format, as does the :doc:`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 ` 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 ` 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 `_ visualization +`AtomEye `_ 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 `_, 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` command is one that calculates per-atom @@ -662,14 +642,14 @@ any :doc:`compute `, :doc:`fix `, or atom-style :doc:`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 ` 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 `. @@ -688,16 +668,13 @@ See the :doc:`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 ` 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 Related commands """""""""""""""" -:doc:`dump atom/adios `, :doc:`dump custom/adios `, +:doc:`dump atom/adios `, :doc:`dump custom/adios `, :doc:`dump h5md `, :doc:`dump image `, :doc:`dump molfile `, :doc:`dump_modify `, :doc:`undump ` diff --git a/doc/src/dump_adios.rst b/doc/src/dump_adios.rst index e891a5e42ed28b7e61521729eb20b812cd6b3268..e1b0fe000ae5b9204ca28596c8f5fcbcf574c9e0 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*\ ` 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 ` 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 ` doc page for more info. - ---------- - Related commands """""""""""""""" diff --git a/doc/src/dump_cfg_uef.rst b/doc/src/dump_cfg_uef.rst index 02e40b7b671ff2f23b52141e6d5dbe443296dbe5..fdefad62ff43c8f24701f72d32e85f1ae6e0b81a 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 ` + .. parsed-literal:: + args = same as args for :doc:`dump custom ` 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 ` doc page for more info. diff --git a/doc/src/dump_h5md.rst b/doc/src/dump_h5md.rst index ee42cc54a6aa02819d56b5038652202a45e47e98..de44572307fca957c062e8595471b52611f083b3 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 ` 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 `, :doc:`dump_modify `, :doc:`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 e7e6f0ee44e401ca8cd2924021875007877cd19c..0477e5d7181da4b8f7e7271c7f90b785e820f23c 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 ` 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 ` 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 ` 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 ` 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 ` command, including *type* and @@ -221,12 +218,12 @@ diameter 1.0. This mapping can be changed by the :doc:`dump_modify adiam `_ 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 ` the input script defines, e.g. Angstroms. - ---------- - The *tri* keyword can be used when :doc:`atom_style tri ` 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 ` command. - ---------- - The *body* keyword can be used when :doc:`atom_style body ` 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 ` command. - ---------- - The *fix* keyword can be used with a :doc:`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 ` 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 `, by using v\_name as the value, where "name" is +Any of them can also be specified as an :doc:`equal-style 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 ` 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 `_ ---------- - 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 `_ - `animate tool `_, +* c) Use the `Pizza.py `_ + `animate tool `_, 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 ` 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 c035ea57a300f9b9ed540144d9f74d5abaedd71b..5f7f42b4be8c832fd32d7f9b20cc56b6759fb95f 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 ` * 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 ` 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 ` and :doc:`dump movie ` 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 ` or :doc:`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 ` 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 `, -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 ` 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 `. So the dump\_modify +position is stored by :doc:`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 ` 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 `, *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 ` 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 ` 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 `. - ---------- - 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 `. 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 ` and :doc:`dump movie ` 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 ` style. The descriptions give details. - ---------- - The *acolor* keyword can be used with the :doc:`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 ` 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 ` the input script is using, e.g. Angstroms. - ---------- - The *amap* keyword can be used with the :doc:`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 ` 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 ` 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 ` you are using, e.g. Angstroms. - ---------- - The *bitrate* keyword can be used with the :doc:`dump movie ` 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 ` 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 ` and dump\_modify commands. +use with the :doc:`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 ` 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 ` and dump\_modify commands. Additional -colors can be defined with the dump\_modify color command. The 3 +:doc:`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 fa9eb106c9ea7a244e18b018d469d5e01f19ca6f..69bd8aa8c260817b1b52792ecda2588978f39491 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 ` command. The :doc:`dump_modify every ` 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 ` 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 c03ea4ef1e620a647251a9938a6cce070d065dbf..5627060452fae25ccb8388a4492c459779743625 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 `. .. _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 ` doc page for more info. - ---------- - Related commands """""""""""""""" diff --git a/doc/src/dump_vtk.rst b/doc/src/dump_vtk.rst index aab7d7809d592c2a7d7cd4cc14565324d28e3c57..4f607c4fdd367948176bfd24a934e41e4d45a189 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 ` 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 b5ba6f2bf4a3b490ca1737fc8a9012b5100cc0af..c4ceed64e6e442ffa9e96c57d6004ae769de13b4 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 ` :doc:`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 6ed4911b2cb56a3f4a0d603563256d979d292992..6fc00aa1e631ea5905e0a50904c0600d2064da95 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 57a1b706b34b785ddb47b30af6296ca0bbd96234..2182ce746094fa951eb48cdde1e36a72fdf69d08 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 ` 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 ` or :doc:`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 `. * Local values can be reduced by the :doc:`compute reduce ` command, or histogrammed by the :doc:`fix ave/histo ` command. - See the :doc:`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 ` 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 `, 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 ` 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 0e57ec98c1a18fcb987b2e9c38f3d3b3fe7cc49c..eab8f92639b7b31543b985640e0d968bdc3f1e9f 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 ` command to be changed, if the pair style supports it. Note that the :doc:`pair_style ` and @@ -127,11 +121,11 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`born ` | a,b,c | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`born/coul/long, born/coul/msm ` | coulombic\_cutoff | type global | +| :doc:`born/coul/long, born/coul/msm ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`buck ` | a,c | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`buck/coul/long, buck/coul/msm ` | coulombic\_cutoff | type global | +| :doc:`buck/coul/long, buck/coul/msm ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`buck/mdf ` | a,c | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -141,11 +135,11 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`coul/debye ` | scale | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/dsf ` | coulombic\_cutoff | type global | +| :doc:`coul/dsf ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/long, coul/msm ` | coulombic\_cutoff, scale | type pairs | +| :doc:`coul/long, coul/msm ` | coulombic_cutoff, scale | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`coul/long/soft ` | scale, lambda, coulombic\_cutoff | type pairs | +| :doc:`coul/long/soft ` | scale, lambda, coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`eam, eam/alloy, eam/fs ` | scale | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -155,17 +149,17 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/class2 ` | epsilon,sigma | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/class2/coul/cut, lj/class2/coul/long ` | epsilon,sigma,coulombic\_cutoff | type pairs | +| :doc:`lj/class2/coul/cut, lj/class2/coul/long ` | epsilon,sigma,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut ` | epsilon,sigma | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm ` | epsilon,sigma,coulombic\_cutoff | type pairs | +| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm ` | epsilon,sigma,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft ` | epsilon,sigma,lambda,coulombic\_cutoff | type pairs | +| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft ` | epsilon,sigma,lambda,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut/coul/dsf ` | cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`lj/cut/tip4p/cut ` | epsilon,sigma,coulombic\_cutoff | type pairs | +| :doc:`lj/cut/tip4p/cut ` | epsilon,sigma,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lj/cut/soft ` | epsilon,sigma,lambda | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -177,7 +171,7 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`lubricate ` | mu | global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`mie/cut ` | epsilon,sigma,gamma\_repulsive,gamma\_attractive | type pairs | +| :doc:`mie/cut ` | epsilon,sigma,gamma_repulsive,gamma_attractive | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`morse, morse/smooth/linear ` | D0,R0,alpha | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ @@ -185,19 +179,19 @@ meaning of these parameters: +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`nm/cut ` | E0,R0,m,n | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`nm/cut/coul/cut, nm/cut/coul/long ` | E0,R0,m,n,coulombic\_cutoff | type pairs | +| :doc:`nm/cut/coul/cut, nm/cut/coul/long ` | E0,R0,m,n,coulombic_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`reax/c ` | chi, eta, gamma | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/dmi ` | coulombic\_cutoff | type global | +| :doc:`spin/dmi ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/exchange ` | coulombic\_cutoff | type global | +| :doc:`spin/exchange ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/magelec ` | coulombic\_cutoff | type global | +| :doc:`spin/magelec ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`spin/neel ` | coulombic\_cutoff | type global | +| :doc:`spin/neel ` | coulombic_cutoff | type global | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ -| :doc:`table ` | table\_cutoff | type pairs | +| :doc:`table ` | table_cutoff | type pairs | +---------------------------------------------------------------------+--------------------------------------------------+-------------+ | :doc:`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 ` 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 ` 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 ` 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 ` 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 ` | k, r0 | type bonds | @@ -303,10 +294,8 @@ working with fix\_adapt are | :doc:`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 ` 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 ` 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 `. None of the :doc:`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 2ec43eb5fc23e85877778119005bf0b51d2d05bf..ee44d8904ffc6b68d44dc4aecb6248c39300f600 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 ` or :doc:`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 ` command to be changed, if the pair style supports it. Note that the :doc:`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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 `, 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 `. None of the :doc:`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 f85c3f4925aa0a3f6d2cc48457956347b1ffaa0a..a7403ef7ab2748ac86030c29ae06d73f191adf78 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 ` 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 `, 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 ` 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 ` 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 ` 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 `. diff --git a/doc/src/fix_addtorque.rst b/doc/src/fix_addtorque.rst index f9a17cc3efd93cb1a05bcb67ed86abee3cc5386e..2b5a7ce8ce6bd61ad80e4ee499c3f468eca733e4 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 `, 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 ` 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 `. @@ -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 ` doc page for more info. diff --git a/doc/src/fix_append_atoms.rst b/doc/src/fix_append_atoms.rst index ff3fea459f6aaccb581a32b7ffcbaee7d400c2c3..62467870758297ddf7fad8a9b5139f2af3ed7b0e 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -103,7 +97,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_atc.rst b/doc/src/fix_atc.rst index 48ee5cb243e630e86ed9f23709e8a66dab6a4cf3..69032753101a8609475bee547abec0547b6fc288 100644 --- a/doc/src/fix_atc.rst +++ b/doc/src/fix_atc.rst @@ -6,14 +6,13 @@ fix atc command Syntax """""" - .. parsed-literal:: fix atc * 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 `. The :doc:`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 `. 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 ` 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 `_ * `fix_modify AtC mesh quadrature `_ @@ -164,7 +156,7 @@ After specifying this fix in your input script, several other :doc:`fix_modify < * `fix_modify AtC internal_element_set `_ * `fix_modify AtC decomposition `_ -*fix\_modify* commands for boundary and initial conditions: +*fix_modify* commands for boundary and initial conditions: * `fix_modify AtC initial `_ * `fix_modify AtC fix `_ @@ -174,7 +166,7 @@ After specifying this fix in your input script, several other :doc:`fix_modify < * `fix_modify AtC source `_ * `fix_modify AtC remove_source `_ -*fix\_modify* commands for control and filtering: +*fix_modify* commands for control and filtering: * `fix_modify AtC control `_ * `fix_modify AtC control thermal `_ @@ -190,7 +182,7 @@ After specifying this fix in your input script, several other :doc:`fix_modify < * `fix_modify AtC extrinsic exchange `_ * `fix_modify AtC poisson_solver `_ -*fix\_modify* commands for output: +*fix_modify* commands for output: * `fix_modify AtC output `_ * `fix_modify AtC output nodeset `_ @@ -201,7 +193,7 @@ After specifying this fix in your input script, several other :doc:`fix_modify < * `fix_modify AtC write_restart `_ * `fix_modify AtC read_restart `_ -*fix\_modify* commands for post-processing: +*fix_modify* commands for post-processing: * `fix_modify AtC kernel `_ * `fix_modify AtC fields `_ @@ -213,7 +205,7 @@ After specifying this fix in your input script, several other :doc:`fix_modify < * `fix_modify AtC sample_frequency `_ * `fix_modify AtC set `_ -miscellaneous *fix\_modify* commands: +miscellaneous *fix_modify* commands: * `fix_modify AtC atom_element_map `_ * `fix_modify AtC atom_weight `_ @@ -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 ce6190a58c5aa2067af781d22db0a9e298004724..a87fdadf83c76ee74c13e5def5a5b8765b11f929 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 ` *energy* option for that fix. The doc pages for individual :doc:`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 `. This includes information about the random number generator seed, the next timestep for MC exchanges, the number @@ -178,7 +174,6 @@ the :doc:`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 ` 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 4a33a5e85c5e9a459c916c1a5160f2a96b2fbcdf..93ff48ce0f7358a3b40c72870a5f4270ef7a5669 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 ` 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 ` 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 `. None of the :doc:`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 f757894c0230e101cea460d25baaf776cd0e15d8..b19cce417c809a0c146a02970dd0c4529bf4d2a5 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 ` 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 ` 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 ` 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 ` 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 `. - ---------- - -**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 `. None of the :doc:`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 277a7ac25ce6d224d9ee82a675b6af55abd2fdd4..c42159e89b74a49996bb762f2f7fb7257e3e7b57 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 ` 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 `. None of the :doc:`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 d05c29c1a93954ebaf24c3e0608b37a9a5bfd182..affa7df127a89aba07782441c4721f93621650c5 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 ` 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 ` 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 ` doc page for more info. @@ -148,13 +143,9 @@ the :doc:`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 2987c2573127a27779b26f61a80ec73a6ce4aed9..158f259695fc9ea4e51484a7884e69ea17fbbd73 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 ` 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 ` 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 `. None of the :doc:`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 20bd4382c7f81a13cdd3afeffe595ca4fc7e26ce..efa8095d6922279559922b21b96500542f1ff1ab 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. diff --git a/doc/src/fix_aveforce.rst b/doc/src/fix_aveforce.rst index d6f67d14c7e990a592353b3ae59e416e8f1b5b91..437c5caaa7738bfb50bd99b39c24e6f06e883f37 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 ` 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 `, 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 ` 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 ` 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 `. diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 6ba6605377fba8834a3f3c796a24094d543ea248..13fdf6b1c76cdf4ccb1ae6133eace2569564952e 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 ` 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 `. None of the :doc:`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 ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - 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 `, :doc:`processors `, :doc:`balance `, :doc:`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 5ee6ba2f83ffc707735ee8ac9b6155da6b8ef4f9..5315aa81a1c4180cb246853c904aa53b3d380817 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) ` to the standard MTTK barostat by Martyna et. al. in :ref:`(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) ` . .. _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 ce06447f0752bf55d59d75db1e44f220c0865aaa..3994b58b1238a9c2ac74b3d1ebd2c7c11b31ead6 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -141,7 +135,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_bond_create.rst b/doc/src/fix_bond_create.rst index 5ed22bcd58ea271f6556def42553a6aefd177cef..0c48a800c93cb0296a09f86713acfff8932ae7a4 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -242,7 +236,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index 1206177ba142195c17cd026173874de3764c2693..8daa52a73d2912821348eaf79862b515eafdf4a6 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 ` 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 ` 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 ` 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 `. 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 ` 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 296cf986cf524c3c71380c363093500bdd5ad6a7..9427b0e780a2f75534b510cfb4e844b52e6c1740 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 ` command) with ID = *thermo\_temp*. +the :doc:`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 ` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom ` 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 `. 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 ` 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 ` 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 0c4cad7ad04c33eead963649aed4450b19a624bb..7786a8faefbf7e3a6064da4156ec57760e0a9f47 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 ` 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 ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`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 ` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 `. @@ -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 ` 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 f274341a6827551b1d82d65dc9234ecc191e1197..2e0cf84cc566be42129b278aa9cb0d216da93829 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 `. @@ -94,7 +90,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_cmap.rst b/doc/src/fix_cmap.rst index 00a1851e884599e1eacc8ea382391dad97798e10..6f68d97c595a2b4d7226685bff604e9794822668 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 ` 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 `. - ---------- - -**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 `. See the :doc:`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 ` command. Restrictions """""""""""" - To function as expected this fix command must be issued *before* a :doc:`read_data ` command but *after* a :doc:`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 dd4057a346d663ebce74c3c6e3b624a7998d88f5..20315624d60508f2d699f5f3f2a56b1236104d42 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) `. 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 `. This is in addition to the text @@ -107,12 +101,12 @@ The :doc:`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 `. -The *fix\_modify configfile * option allows to add settings +The *fix_modify configfile * 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 ` command. -The *fix\_modify config * option allows to add settings +The *fix_modify config * 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 ` 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 839c01ef5fef1ea36c538c2c2ec2add1a8b679d2..2fd5f17c952f25ea05909165b5eb7303e3d809ab 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 ` or :doc:`fix ` or the evaluation of a :doc:`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 `. None of the :doc:`fix_modify ` options are relevant to this fix. diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index 1ddeff6953cc247576d53ed8c4c0781aebc95a2b..75fc6cc5c9f5eff52062a35007cb954cb4b80968 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 ` 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 ` 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 `, which allows the fix to be properly continue deformation, when using the start/stop options of the :doc:`run ` @@ -620,7 +598,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - You cannot apply x, y, or z deformations to a dimension that is shrink-wrapped via the :doc:`boundary ` command. diff --git a/doc/src/fix_deposit.rst b/doc/src/fix_deposit.rst index 573e9bdf2b0003335c6fb4f99716e2468a5cab5c..31df74ce9b994663a8150f0b33085ff0ae90ddec 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 ` or :doc:`fix rigid/small/npt `, 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 ` 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 `. 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 ` doc page for more info. diff --git a/doc/src/fix_dpd_energy.rst b/doc/src/fix_dpd_energy.rst index ce370a90f6706b1107ef0ecab6a5ae3ed55af08a..0eeb8f9478ada67e93afba66e4462c90f943055b 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 ` 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 ` 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 ` 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 ` 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 368971b1c7693555d43b28865f75dc34177abd7e..5ea1c85fb4331fc62e3b35d2aef795029e290405 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -81,29 +75,24 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - -This fix is part of the USER-MESO package. It is only enabled if +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 ` doc page for more info. -Fix *edpd/source* must be used with the :doc:`pair_style edpd ` command. Fix *tdpd/source* must be used with the -:doc:`pair_style tdpd ` command. +Fix *edpd/source* must be used with the :doc:`pair_style edpd ` command. Fix *tdpd/source* must be used with the +:doc:`pair_style tdpd ` command. Related commands """""""""""""""" -:doc:`pair_style edpd `, :doc:`pair_style tdpd `, +:doc:`pair_style edpd `, :doc:`pair_style tdpd `, :doc:`compute edpd/temp/atom `, :doc:`compute tdpd/cc/atom ` **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 38f86ff8f8fd494929e91d5467ed4f5cb25477fe..792d4725cca1014e182dd12e165bc258129f3058 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 `. diff --git a/doc/src/fix_drude.rst b/doc/src/fix_drude.rst index 2bf34ce90f87d6803b900cc9ed69bd8d785ba947..db13d8d052e0e96edffcb32f5303eb8f993461c0 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 `, :doc:`fix drude/transform `, :doc:`compute temp/drude `, :doc:`pair_style thole `. diff --git a/doc/src/fix_drude_transform.rst b/doc/src/fix_drude_transform.rst index f29f258d27feb090a5dad86dd816057ea834c481..607c16157212fccee58e32b7e1a52197d6ae06f3 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 ` 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 ` or :doc:`fix npt ` 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 `. @@ -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 ca95e576b702c31169b5ed0f12bb03263a5a4bb4..861134f7458a1861f663d0bee8e05808927248ec 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. diff --git a/doc/src/fix_efield.rst b/doc/src/fix_efield.rst index a530ccb689e426f86dd06debd82729898076233d..0410803c1382331f416953e60f2bab9045d0cbc9 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 `, 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 ` 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 ` 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 `. @@ -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 ` doc page for more info. diff --git a/doc/src/fix_ehex.rst b/doc/src/fix_ehex.rst index 9cc02261c71a3da6208b68f3d13fad87d0ada59f..4e2ea3a73d0b6e64b537bc7c60b69bed80e71dc6 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 ` (HEX algorithm) if the keyword *hex* is specified. - ---------- - **Compatibility with SHAKE and RATTLE (rigid molecules)**\ : This fix is compatible with :doc:`fix shake ` and :doc:`fix rattle `. 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -182,7 +174,6 @@ the :doc:`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 ` 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 095976dc536302734951417df8bc81425a894cb3..cead9f7a12129bc0538df3387823b148b7691a42 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 ` 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 `. @@ -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 ` 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 7605c3cd5a7eb9709f0d86e9734b98dfaa727a52..d33dd25a61b60768aea6ca041adf05b6550c2d80 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 ` 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 `. None of the :doc:`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 da1459970f5fc82c60d09a185471fa42348bca24..50281b6e71e8a9ce975c1ffe86a7f9246f371dfc 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 ` 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 1f8ec7ba9b897dc1f4b90180c33a7c68ae0c2423..3800aa0c531a883c4a649d51b24ea1bc29768dab 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 ` doc page for more info. diff --git a/doc/src/fix_eos_table_rx.rst b/doc/src/fix_eos_table_rx.rst index 681b656b53a901f42b781bb9a40737c27cea6d20..e3cd4e8ce841f2dd3b75a8b51bedbb258e574e1c 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 ` 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 ` doc page for more info. diff --git a/doc/src/fix_evaporate.rst b/doc/src/fix_evaporate.rst index c24cb517383a23fabdffa8587fd353a84f390901..d6b9c6ae34906b422907a3ef0e3eaf7e2e67caee 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -92,7 +88,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_external.rst b/doc/src/fix_external.rst index c20b591906f9c24397c17905aa3c78d5e74e7fa1..a77545d29485c4de37d98bf8dc29ce8d032024d3 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 ` 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 ` or a :doc:`Python script `. - ---------- - 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 - -Note that timestep is a "bigint" which is defined in src/lmptype.h, -typically as a 64-bit integer. - -Fexternal are the forces returned by the driver program. - -The fix has a set\_callback() method which the external driver can call +* *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. 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 +` section of the manual. Finally, *fexternal* are the forces +returned by the driver program. + +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: 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 ` command works. @@ -98,10 +89,9 @@ every *Napply* steps, similar to the way the :doc:`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 ` 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 ` 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 `. diff --git a/doc/src/fix_ffl.rst b/doc/src/fix_ffl.rst index 37c09852944d73c92802d2653b8993e8ce3f4483..ac23175875845af69bcd3e3bb94e087d1b20dca8 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 + .. 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) `. 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) `. 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 `. 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 `, rather than :doc:`fix npt `, to avoid duplicate integration of the @@ -121,17 +114,12 @@ Related commands :doc:`fix nvt `, :doc:`fix temp/rescale `, :doc:`fix viscous `, :doc:`fix nvt `, :doc:`pair_style dpd/tstat `, :doc:`fix gld `, :doc:`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 8812398bbe8fb432dff7bd61b83fda34e2c5d9a2..1731ef94a281ca1baf75449713213067d969a502 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 ` 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 ` 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 `. None of the :doc:`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 `. 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 ` 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 4077d45e01387a42808b84d4ebd9b8f1719f6f2f..7b9e001bd31a087b9ebeec6519553069f7a04c93 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 ` 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) `. The pressure correction is discussed and described in :ref:`(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 ` *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 `. @@ -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 ` 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 3aa7512bad96053d17c3aa2d168587a976b84794..d6659dc8f875947679a95f22d92d4b77edc01bb4 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 `. - ---------- - 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -79,7 +73,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index dd06d074a4eaac2e0a00c55ecf020872599de184..77a0323000e1afa7e3140b139576f10d63cf4162 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 ` 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 ` or :doc:`fix rigid/small/npt `, 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 `, +With some pair_styles, such as :doc:`Buckingham `, :doc:`Born-Mayer-Huggins ` and :doc:`ReaxFF `, 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 ` 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 `. This includes information about the random number generator seed, the next timestep for MC exchanges, the number @@ -443,12 +434,11 @@ the :doc:`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 ` 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 8dc2b9dd982bf8602b7af38b3b574698ffcdccb4..cb93804b1a4b85ab18d80782af442b2a92e4e4ff 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 ` 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 `. 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 ` 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 e4aadfa4011d55bfd6716b4757051518e1188f04..fb6006d514f8517cc30c98c70c6e814aa9952e6a 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 `. While the GLE scheme is more general, the form used by :doc:`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 `. 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 `, :doc:`fix temp/rescale `, :doc:`fix viscous `, :doc:`fix nvt `, :doc:`pair_style dpd/tstat `, :doc:`fix gld ` - ---------- - .. _Ceriotti: - - **(Ceriotti)** Ceriotti, Bussi and Parrinello, J Chem Theory Comput 6, 1170-80 (2010) .. _GLE4MD: - - **(GLE4MD)** `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 6fbf9a80c54b0d0508a6f2707425610a019af0d4..1d31384911367b853339b5ebc85d6c9f82e246f0 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 `. 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 ` 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 `. diff --git a/doc/src/fix_grem.rst b/doc/src/fix_grem.rst index 53b815ec36da87a5cfd2c08960c46f0e96df397f..eef39c1ffc5dd11fb69b9e00acc1446d7a856b2e 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 `. @@ -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 ` 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 296be3aa10823437284a80c329f45fdad669550d..97e5487adf972f75e43f625eac7191ccc28d2568 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,10 +13,10 @@ Syntax * ID, group-ID are documented in :doc:`fix ` command * halt = style name of this fix command * N = check halt condition every N steps -* attribute = *bondmax* or *tlimit* or v\_name - +* attribute = *bondmax* or *tlimit* or v_name + .. parsed-literal:: - + bondmax = length of longest bond in the system tlimit = elapsed CPU time v_name = name of :doc:`equal-style variable ` @@ -26,19 +25,16 @@ Syntax * avalue = numeric value to compare attribute to * zero or more keyword/value pairs may be appended * keyword = *error* or *message* - + .. parsed-literal:: - + *error* value = *hard* or *soft* or *continue* *message* value = *yes* or *no* - - Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS fix 10 all halt 1 bondmax > 1.5 fix 10 all print 10 v_myCheck != 0 error soft @@ -54,7 +50,7 @@ specified by the :doc:`run ` or :doc:`minimize ` command. The specified group-ID is ignored by this fix. The specified *attribute* can be one of the options listed above, -namely *bondmax* or *tlimit*\ , or an :doc:`equal-style variable ` referenced as *v\_name*, where "name" is the +namely *bondmax* or *tlimit*\ , or an :doc:`equal-style variable ` referenced as *v_name*, where "name" is the name of a variable that has been defined previously in the input script. @@ -70,7 +66,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 @@ -90,8 +86,7 @@ computing some attribute of the current system. For example, the following "bondmax" variable will calculate the same quantity as the hstyle = bondmax option. - -.. parsed-literal:: +.. code-block:: LAMMPS compute bdist all bond/local dist compute bmax all reduce max c_bdist @@ -99,8 +94,7 @@ hstyle = bondmax option. Thus these two versions of a fix halt command will do the same thing: - -.. parsed-literal:: +.. code-block:: LAMMPS fix 10 all halt 1 bondmax > 1.5 fix 10 all halt 1 v_bondmax > 1.5 @@ -117,10 +111,8 @@ it is "false". The specified *avalue* must be a numeric value. - ---------- - The optional *error* keyword determines how the current run is halted. If its value is *hard*\ , then LAMMPS will stop with an error message. @@ -146,7 +138,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 `. None of the :doc:`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 86850a2db7a6d3b5155b2fbb7e7940e4a12a2a20..3412daf63c70297821faea936c7ca7759f926449 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 `. 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 `. 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 ` or :doc:`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 `. None of the :doc:`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 2d0cda5970fe4cbb550e9a56c55a7663f6fa3fa2..c24d405b55d67a734da2727f11aab5371361f897 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 ` -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 ` 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 `. @@ -268,7 +257,6 @@ the :doc:`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 ` 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 7512f34ab77c47a4299748a98dfe65b5fc33d24c..a8e7483dac3f22e18228bbec0cf90076a74eebb7 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 ` 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 ` command should be used to override the ghost + pair_style cutoff, which will typically be < *Dcut*\ . The :doc:`comm_modify cutoff ` 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 `. @@ -544,7 +528,6 @@ the :doc:`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 ` 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 d7931e1666ea48c7e5a932d1f8edbab2e6dfba68..fe54e5bf5034de217e42087f4e0e28c52eae0a28 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 `_, 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 `. None of the :doc:`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 `. 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 ` doc page for more info. diff --git a/doc/src/fix_indent.rst b/doc/src/fix_indent.rst index 51a90bc3cc1853ddb45f3e5f120c99fd0bcdd271..ef62506591094f51b9e4537a5e2b3f5531bbc0cb 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 `, 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 ` command and the *elaplong* keyword of :doc:`thermo_style custom ` 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 ` 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 `. diff --git a/doc/src/fix_ipi.rst b/doc/src/fix_ipi.rst index d0e1903689ea3b4f4312c1354ee8a33a3e45a967..d60b25248df744af1b81e16beedb27ddf7c7883e 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 ` - ---------- - .. _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 `_ diff --git a/doc/src/fix_langevin.rst b/doc/src/fix_langevin.rst index 2b764ef908de3ce52e70060878514e138080cdc7..7a45293db91864209c5de0e322e3299ebea1bd02 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 `, 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 `. 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 ` 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 `. 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 `. 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 b87c8ef2269ea5fe21563c9d41bbc56c50fe782e..f361a88736e3411a919ff70c91a5f804cec1ac1a 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 ` 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 ` 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 ` 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 ` 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 `. 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 ` -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 ` 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 ` * Contrary to the alternative thermostatting using Nose-Hoover thermostat fix *npt* and :doc:`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 `. 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 5057ea1e8a8773e55abee16bbc4aa3fded07dd36..36768d25b25138ffaa95abd50dcb34b0560823ba 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 ` 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 `). 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 `. 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 b229a2ae8d646dcd6571a0557736f30ccf4ed379..9a70cc1cd192646779232f600b28ce42a1475b05 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 `. 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 `. 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 ` 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 ddea5a809f2ff73327b2655afc399ffbe4a2fdc8..f1469153a7fc421619f22b6af3c0f53379cc837f 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 `), (:ref:`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 `. @@ -144,7 +138,6 @@ energy minimization, invoked by the :doc:`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 ` 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 5f487906bd9bf01e21e1a8a5eb93b0c98c658a4c..f450fdb8f09236234f277eba21e4753896afaed7 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 ` 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. `. 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 `; no information about *lb\_fluid* +:doc:`binary restart files `; no information about *lb_fluid* is written to the main LAMMPS :doc:`binary restart files `. None of the :doc:`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 ` 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 8eb4fa094bbaee5ac319555ebb50ee84735e3f72..a595ba2ce5e497bf823fb8cafd68cd2099cb72c5 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -65,7 +61,6 @@ the :doc:`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 ` command, and must come after this command. diff --git a/doc/src/fix_lb_pc.rst b/doc/src/fix_lb_pc.rst index 44a86047fb5a980961374b49ad602acbb56b50c3..874ff218938b2761cf966c4780f1acd88ce5bc9a 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. ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -42,7 +40,6 @@ the :doc:`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 ` 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 34336f0940b527b3b45f3789efdc2b0b34459aa6..42fb21ca69d60e2f53ace73702e1ea7d2799a829 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 ` 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 ` 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 `. @@ -136,7 +128,6 @@ of the :doc:`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 ` 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 d20e969f800b8ebb5ebf5023f372829ca11cdccc..6d7431c7807889acf4f14f689a9599ee1c8c8eca 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 ` 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. `. 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 ` 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 ` 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 b97936feadcbdd8ff928c2ff38212920ce52c1f4..b02acfa9f457dc72aa4ca292902114155dae31d6 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 `. None of the :doc:`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 63a90c626ed2cf49a06a8b4266323e4b9b81919f..8cb9723277e7e93400857b8c8a1f2d36ee87936e 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 `. None of the :doc:`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 `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is invoked during :doc:`energy minimization `. - ---------- - 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 ` 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 8eb6b4831dfde373c46810ffc0c4cb3115efbc98..dc9f1cb9918d17d9105476fd05330a10903c6902 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 `_ 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -44,7 +42,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_meso_move.rst b/doc/src/fix_meso_move.rst index eb60f18146b269890481e09c25a295844422658d..a976c2de348e9238d9cc9f5a262845122f882689 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 ` 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* + .. 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 ` 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 ` 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 ` 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 ` 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 ` 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 `, 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 `. 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 ` doc page for more info. diff --git a/doc/src/fix_meso_stationary.rst b/doc/src/fix_meso_stationary.rst index 6d8eebfdd7da17219200191fa6cde83620fa6c74..89c30ece146a09b5a36d5eb6a1a6fc2554422e25 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 `_ 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -45,7 +43,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_modify.rst b/doc/src/fix_modify.rst index 02b0de3a7a712e4a8017b7c68bc918d290febf92..604b63550c5de4516c140665be335ca25a271699 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 ` or :doc:`compute pe/atom ` commands. See the :doc:`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 f2730e54e482eb6f9f21b8bbb3927d64705306b9..58fc9278a1be41fcd0f5782daba2125c75972874 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 - + *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 ` 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 ` 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 `. None of the :doc:`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 82b5b585a03df6a5375c1d0bd000f4b2846f3ef3..e9ebbd726b2bb9a25d8c02c9c026b8911dcd2757 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 ` 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* + .. 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 ` 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 ` 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 ` 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 ` 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 ` 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 `, 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 e6b09d9cc6ca84c0f7d3dda0e8d3084592e16f33..81a59ad7ee46b6852b89bedc801b2bec272e8828 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 ` 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 80bfaf24bd053fd6eb1bf82dd9f544a23e84a951..b76af36bb8eeec57e9670db05f84bb4860ce60a3 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 ` and :doc:`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 ` 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 `. See the :doc:`read_restart ` @@ -152,17 +143,16 @@ equations. See also :doc:`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 ` 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 211642e7ec7eef70af4f45b20cd5e6993ee04ed6..77ca08e0c5822f2eb1592404311bb4bfeb079ff3 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 @@ -66,21 +64,19 @@ standard velocity-Verlet (VV) scheme. For more details, see :ref:`Groot `. Fix *mvv/dpd* updates the position and velocity of each atom. It can -be used with the :doc:`pair_style mdpd ` command or other +be used with the :doc:`pair_style mdpd ` command or other pair styles such as :doc:`pair dpd `. Fix *mvv/edpd* updates the per-atom temperature, in addition to -position and velocity, and must be used with the :doc:`pair_style edpd ` command. +position and velocity, and must be used with the :doc:`pair_style edpd ` command. 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 ` command. - +:doc:`pair_style tdpd ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -91,28 +87,23 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minim Restrictions """""""""""" - -This fix is part of the USER-MESO package. It is only enabled if +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 ` doc page for more info. Related commands """""""""""""""" -:doc:`pair_style mdpd `, :doc:`pair_style edpd `, -:doc:`pair_style tdpd ` +:doc:`pair_style mdpd `, :doc:`pair_style edpd `, +:doc:`pair_style tdpd ` 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 2b79185551020cb036fb0433a525363096850b4f..3612192d5b5649675c759774c038c56b6e79cdab 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) ` 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) ` - +ref`(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) `. 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 `. None of the :doc:`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 ` command via the Restrictions """""""""""" - This command can only be used if LAMMPS was built with the REPLICA package. See the :doc:`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 ffef23873c90ba5c9f35c571dc3bd089698511c0..93729ac96f5c7e20a374d37c68366568c6116483 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) `). 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 `. None of the :doc:`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 ` command via the Restrictions """""""""""" - This command can only be used if LAMMPS was built with the SPIN package. See the :doc:`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 88ece95e95588a726eae7193169a2a331441d11c..6927b47fcb0242266f4eb75b1f16c233205f5da9 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 ` 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) `. - ---------- - 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 ` 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 ` or :doc:`fix nvt ` 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 ` and :doc:`Howto barostat ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of these +the :doc:`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 ` command. Or you can print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 `. 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 ` 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 ` and :doc:`fix rigid/nph ` 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 ` 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 `. 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 ` 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 `. - ---------- - 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 1f07d1362539edca81fb379b08ef4dd97a5992af..b5fecf279f7deea0cd859ed877a2a683805bfbd4 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 ` 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 ` to + when defining the pair_style (see :doc:`pair eff/cut ` 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 ` 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 ` 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 2732087800b237d3eaa07f3407f4d6bc0efa3220..27851d89a1f5aa088a2ffa7bd6724d064d9c2b89 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 ` 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 ` 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 ` 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 `, :doc:`fix nvt/sllod `, and :doc:`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 ` command is used. - ---------- - Temperature control is achieved with the default Nose-Hoover style thermostat documented in :doc:`fix npt `. 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 ` and :doc:`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 `. See the :doc:`read_restart ` command @@ -210,7 +197,6 @@ The fix is not invoked during :doc:`energy minimization `. 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 ` 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 `. - ---------- - .. _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 8f4a4ad39bfb63eb45dfadd618d0ac70860a831e..76670f1c300f19ab72fcc8faa18102af1fc230ad 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 ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`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 ` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 `. See the :doc:`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 `. 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 ` doc page for more info. @@ -154,6 +146,6 @@ shape attribute. Related commands """""""""""""""" -:doc:`fix nph `, :doc:`fix nve\_asphere `, :doc:`fix nvt\_asphere `, :doc:`fix npt\_asphere `, :doc:`fix_modify ` +:doc:`fix nph `, :doc:`fix nve_asphere `, :doc:`fix nvt_asphere `, :doc:`fix npt_asphere `, :doc:`fix_modify ` **Default:** none diff --git a/doc/src/fix_nph_body.rst b/doc/src/fix_nph_body.rst index bae12f2b868364d596a33d8166ccc0421ff5ae60..c2f6097fefef9cbaa328399d000b3d23b196adb2 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 ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`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 ` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 `. See the :doc:`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 `. 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 ` doc page for more info. @@ -147,6 +139,6 @@ command. Related commands """""""""""""""" -:doc:`fix nph `, :doc:`fix nve\_body `, :doc:`fix nvt\_body `, :doc:`fix npt\_body `, :doc:`fix_modify ` +:doc:`fix nph `, :doc:`fix nve_body `, :doc:`fix nvt_body `, :doc:`fix npt_body `, :doc:`fix_modify ` **Default:** none diff --git a/doc/src/fix_nph_sphere.rst b/doc/src/fix_nph_sphere.rst index d7322aa46d03a4e064a679fb714e9a2fb8c2864c..d1e5bfd701b12b6489649a399b0c363c8f585a5c 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 ` 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 ` 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 ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`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 ` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 `. See the :doc:`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 `. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the :doc:`atom_style sphere ` command. @@ -166,7 +158,7 @@ defined by the :doc:`dimension ` keyword. Related commands """""""""""""""" -:doc:`fix nph `, :doc:`fix nve\_sphere `, :doc:`fix nvt\_sphere `, :doc:`fix npt\_sphere `, +:doc:`fix nph `, :doc:`fix nve_sphere `, :doc:`fix nvt_sphere `, :doc:`fix npt_sphere `, :doc:`fix_modify ` **Default:** none diff --git a/doc/src/fix_nphug.rst b/doc/src/fix_nphug.rst index 1d946e5f8386b451128e552ffd97209cf0d266fa..fed73f6315ea8c84bc7c60fff8ea96aae13eb0c4 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 ` 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 ` 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 ` or :doc:`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 ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`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 ` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 ` doc page for more info. @@ -246,12 +231,8 @@ Default The keyword defaults are the same as those for :doc:`fix npt ` - ---------- - .. _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 2b84011cc830401894840c5be801d1ad988b91e1..aac88c551e2e3b304c2285f09f1ea537f589a353 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 ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`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 ` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 ` 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 `. See the @@ -164,7 +157,6 @@ This fix is not invoked during :doc:`energy minimization `. 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 ` doc page for more info. @@ -179,6 +171,6 @@ shape attribute. Related commands """""""""""""""" -:doc:`fix npt `, :doc:`fix nve\_asphere `, :doc:`fix nvt\_asphere `, :doc:`fix_modify ` +:doc:`fix npt `, :doc:`fix nve_asphere `, :doc:`fix nvt_asphere `, :doc:`fix_modify ` **Default:** none diff --git a/doc/src/fix_npt_body.rst b/doc/src/fix_npt_body.rst index 4eecd404ffcf9f5dbac96adb036f43243c154c32..120437eeab9f5a1fbc3041ba1021fbdb6aa52ec2 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 ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`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 ` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 ` 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 `. See the @@ -161,7 +154,6 @@ This fix is not invoked during :doc:`energy minimization `. 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 ` doc page for more info. @@ -172,6 +164,6 @@ command. Related commands """""""""""""""" -:doc:`fix npt `, :doc:`fix nve\_body `, :doc:`fix nvt\_body `, :doc:`fix_modify ` +:doc:`fix npt `, :doc:`fix nve_body `, :doc:`fix nvt_body `, :doc:`fix_modify ` **Default:** none diff --git a/doc/src/fix_npt_cauchy.rst b/doc/src/fix_npt_cauchy.rst index e9a98b813fa86ac820c75365359646cc7e5a22b3..5e0188c57475c8f377454cf03fd3974ed013ca13 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 ` 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) `. - ---------- - 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 ` 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 ` or :doc:`fix nvt ` 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 ` and :doc:`Howto barostat ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of these +the :doc:`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 ` command. Or you can print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 `. 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 ` 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 `. 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 ` 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 `. - ---------- - 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 ` 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 d82e4e26cb9259709966d461cd2ced453127ed70..2def29ae474b0d98b1f95e7a383f9c2f9143a538 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 ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`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 ` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 ` 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 `. See the @@ -177,7 +170,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the :doc:`atom_style sphere ` command. @@ -191,6 +183,6 @@ defined by the :doc:`dimension ` keyword. Related commands """""""""""""""" -:doc:`fix npt `, :doc:`fix nve\_sphere `, :doc:`fix nvt\_sphere `, :doc:`fix npt\_asphere `, :doc:`fix_modify ` +:doc:`fix npt `, :doc:`fix nve_sphere `, :doc:`fix nvt_sphere `, :doc:`fix npt_asphere `, :doc:`fix_modify ` **Default:** none diff --git a/doc/src/fix_nve.rst b/doc/src/fix_nve.rst index b3928e638989f65f49ce296eea5a501a7e2615b0..8089ad094d5ee8115c923367b15e2fbcd2a30da4 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 ` 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 `. None of the :doc:`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 ea311d3f69271408f05b322a4773af94b26bf023..f231330831cb03df7c7871c44c0a96b6ef51b3a0 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 ` 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 `. None of the :doc:`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 `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - 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 ` 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 ` doc page for more info. diff --git a/doc/src/fix_nve_asphere_noforce.rst b/doc/src/fix_nve_asphere_noforce.rst index ed2897c978e64abb4d4871c65aa8b904f288be89..b518781d6c6f526eac7f24df29990be016d29f18 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -47,7 +46,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_nve_awpmd.rst b/doc/src/fix_nve_awpmd.rst index c29de946d82188abb106278940f4d7ec387a25f7..45bb00261771892356938557e569b54bdcd2e7c4 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -48,7 +44,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_nve_body.rst b/doc/src/fix_nve_body.rst index 36a9a426ece495bb0e387fb0295e336a97522dd0..ad68abb0d45a5a70070accc1b22a21dd547a6712 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -45,7 +43,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_nve_dot.rst b/doc/src/fix_nve_dot.rst index 5f3ede038656883634bfc5e747a0967c04ce5287..a7018a337eb521526385c542859296f6c3230dd2 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 ` 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) `. The preprint version of the article can be found `here `_. - ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the :ref:`USER-CGDNA ` package and the MOLECULE and ASPHERE package. See the :doc:`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 e360e70c237e199aca735a193053e4c48bac648a..88d15b9e174cdb579d7a5dd2bf196e031e36f961 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) `, 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) `. The preprint version of the article can be found `here `_. - ---------- - Restrictions """""""""""" - These pair styles can only be used if LAMMPS was built with the :ref:`USER-CGDNA ` package and the MOLECULE and ASPHERE package. See the :doc:`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 88bc6a3607e485b6a95882228b4c653642dacbfb..78e6352b6ef991e5fcdd6b4749f186cdf0620bf3 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -43,7 +41,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_nve_limit.rst b/doc/src/fix_nve_limit.rst index 07746e71a222e1fc3c627be08fc5a4018e7bd96f..98d691d6b9be1df6ccad0de0a0d7dd52d52f4fa2 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 `. None of the :doc:`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 ec971bc41e5772f15393b716c417fc4f0066e5a3..d47bf34f6122cf962f6b73ac038f7e9235c06fb9 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -45,7 +43,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_nve_manifold_rattle.rst b/doc/src/fix_nve_manifold_rattle.rst index 68c2d7b5742e50d9070d3207e75c3580e178a10d..1caedf88e1c6a42f5283acf827f7d58156c2b70a 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 ` 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 `. None of the :doc:`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 `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - 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 ` 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 `_. diff --git a/doc/src/fix_nve_noforce.rst b/doc/src/fix_nve_noforce.rst index 568be83bdcabd20554bee065521f82ee425f87c6..d45648694a4bc57936e0b8aeb240f2548c23ee9d 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 ` command or queried with an equal-style :doc:`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 `. None of the :doc:`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 b5460fa1e06d993053f939e3458097af13628bec..753e40cd1501438cc5063a9ab915a9a593f3deaf 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 ` 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -109,7 +101,6 @@ the :doc:`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 ` 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 c66d107089ade8d73c8b898dbdfa0a0bc8e58f86..143ddb2426d66be84b3102c00acd4cabc52ef7e3 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 ` 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) `. - ---------- - Restrictions """""""""""" - This fix style can only be used if LAMMPS was built with the SPIN package. See the :doc:`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 6c4bb882e60e25972fa553f6ebc6afbbcd413878..f5fdb7cc7d7cf7d3abdd654f2c7344389b83046b 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -46,7 +44,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_nvk.rst b/doc/src/fix_nvk.rst index 3eb17554118b934cd02b285ef303e707b699b3e6..415e3256b40a1613a1640ca4e41236641b147563 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -54,7 +50,6 @@ the :doc:`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 **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 35a18a205c02adbbce825fbee946c15753b132cd..6004de2e60e383bddff2a3b7c898cee748df646d 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 ` command) with ID = *thermo\_temp*. +the :doc:`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 ` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 `. See the :doc:`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 `. 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 ` doc page for more info. @@ -153,6 +147,6 @@ shape attribute. Related commands """""""""""""""" -:doc:`fix nvt `, :doc:`fix nve\_asphere `, :doc:`fix npt\_asphere `, :doc:`fix_modify ` +:doc:`fix nvt `, :doc:`fix nve_asphere `, :doc:`fix npt_asphere `, :doc:`fix_modify ` **Default:** none diff --git a/doc/src/fix_nvt_body.rst b/doc/src/fix_nvt_body.rst index e564092d35b71ad74d0c658d5dc65d8a9d0a3742..41d652a32d8ab6020e14c0e15e06a6e829c7efff 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 ` command) with ID = *thermo\_temp*. +the :doc:`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 ` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 `. See the :doc:`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 `. 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 ` doc page for more info. @@ -146,6 +140,6 @@ command. Related commands """""""""""""""" -:doc:`fix nvt `, :doc:`fix nve\_body `, :doc:`fix npt\_body `, :doc:`fix_modify ` +:doc:`fix nvt `, :doc:`fix nve_body `, :doc:`fix npt_body `, :doc:`fix_modify ` **Default:** none diff --git a/doc/src/fix_nvt_manifold_rattle.rst b/doc/src/fix_nvt_manifold_rattle.rst index 6fb9d8de3a6131490ccaadda6f28e4f455078ff4..198208ca0d393094bd10fe23d5fc45c0ca1c88f4 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 ` 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 `. None of the :doc:`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 `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - 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 ` doc page for more info. - ---------- - Related commands """""""""""""""" :doc:`fix nve/manifold/rattle `, :doc:`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 `_. diff --git a/doc/src/fix_nvt_sllod.rst b/doc/src/fix_nvt_sllod.rst index e195121c9ac55a8c372a8ff87f3e1c56a128e163..829bf8c63432b4cac0f5f224b24d2d60f79db193 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 ` command) with ID = *thermo\_temp*. +the :doc:`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 ` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 `. See the :doc:`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 `. 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 `, 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 58836f17d6ea07d8cca455543118f48df5f9c323..49ad9f608cd93f0c89e7c6168ed5c7096fb40132 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 `. See the :doc:`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 `. 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 ` doc page for more info. @@ -86,13 +83,9 @@ Default Same as :doc:`fix nvt/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 7bf80307ae48e50aad758a6b2c573b50e8e903bb..95bb0a20c4f9b7c7701943076750371ed90fae98 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 ` 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 ` command) with ID = *thermo\_temp*. +the :doc:`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 ` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom ` 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 ` 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 `. See the :doc:`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 `. Restrictions """""""""""" - This fix requires that atoms store torque and angular velocity (omega) and a radius as defined by the :doc:`atom_style sphere ` command. @@ -166,6 +160,6 @@ defined by the :doc:`dimension ` keyword. Related commands """""""""""""""" -:doc:`fix nvt `, :doc:`fix nve\_sphere `, :doc:`fix nvt\_asphere `, :doc:`fix npt\_sphere `, :doc:`fix_modify ` +:doc:`fix nvt `, :doc:`fix nve_sphere `, :doc:`fix nvt_asphere `, :doc:`fix npt_sphere `, :doc:`fix_modify ` **Default:** none diff --git a/doc/src/fix_oneway.rst b/doc/src/fix_oneway.rst index d72d750c1b9c569f8abf6d0d620d27d8feab28d5..04186404e6e825da5169da2fecf19996bd01b715 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 `. None of the :doc:`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 a23b98fbae0da0c3e25e5b21956b3cf7ec4638c2..8fdcc79acec9080b90d4aeabc4dc8b7696653350 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) `. 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) ` -**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 `. @@ -169,7 +166,6 @@ the :doc:`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 ` 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 57579b0fce5896efcba75acc2dbc57b572ffae8d..4eed4efc5bc12853c420b04a5a6347c3b18203be 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 ` , :ref:`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 `_, 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 `. The :doc:`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 `. 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 ` 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) `_ +simulation of elastic semi-infinite solids*\ , `Phys. Rev. B [74], 075420 (2006) `_ .. _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). `_ +function molecular dynamics: An extension to LAMMPS*\ , `Computer Physics Communications [180](6):1004-1010 (2009). `_ 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). `_ +method*\ , `Computer Physics Communications [182](2):540-541 (2011). `_ .. _Kong2011: - - **(Kong2011)** L.T. Kong, *Phonon dispersion measured directly from -molecular dynamics simulations*\ , `Computer Physics Communications [182](10):2201-2207, (2011). `_ +molecular dynamics simulations*\ , `Computer Physics Communications [182](10):2201-2207, (2011). `_ diff --git a/doc/src/fix_pimd.rst b/doc/src/fix_pimd.rst index d71c969acfd5e29f22834316cd2c949c32a39abc..5bc7b75c90ba705581d98e1b1f5f00027ca86fa6 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 ` 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 ` 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 ed830e7135a4d28622e7211653a954f08c0aed05..c90a3b6bbeb3b6e111ec14ddfd5e9f2b4578d1f3 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 `. None of the :doc:`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 0f6ccf4d31e82b51c50c24c4b94e0a0b8f6fb001..aeef6cff5099682a4a187e388032ffcdd87475d0 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 ` 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) `. 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 ` 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 38b47942374d76c7171ef19c9a84f6b7cf89c2d4..1be7a904194cac91358baff1496226a1f702e0f6 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 ` 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 `. @@ -128,7 +122,6 @@ command. This fix is not invoked during :doc:`energy minimization `. 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 ` 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 `_) +Engineering With Computers (2006). (`link to paper `_) diff --git a/doc/src/fix_pour.rst b/doc/src/fix_pour.rst index d5933ba2967e508b37fc2b540dd656f9fbcff120..26f1cd0eae6b61b1af70d166274f5dc52f88f098 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 ` or :doc:`fix rigid/small/npt `, 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 ` 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 `. 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 ` doc page for more info. diff --git a/doc/src/fix_precession_spin.rst b/doc/src/fix_precession_spin.rst index 9cd15119bdf5cf72384b82e1de4eacd87422bb3e..065f894926343b6ae3d930a2a12d0847d8c2731b 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 ` 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 ` for the definition of +:doc:`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 ` *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 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 ` doc page for more info. +atom_style "spin" was declared. See the :doc:`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 fd45553713f4b6f067c1db1c3a396b6634e8f898..215ef81b026cd5ff1a1918acaa0defec0a968719 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 ` 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 ` 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 ` and :doc:`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 ` command) with ID = *thermo\_temp* -and *thermo\_press*. This means you can change the attributes of this +the :doc:`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 ` command or print this temperature or pressure during thermodynamic output via the :doc:`thermo_style custom ` 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 `. @@ -230,7 +215,6 @@ This fix is not invoked during :doc:`energy minimization `. 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 ` 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 1b97a3f879a81cf1c5182f5aa1253b6a7ede057d..82b26d4ef3903c10f09cf53a27743d433d8a3dd8 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 `, which should be specified as v\_name, where +Instead of a numeric value, N can be specified as an :doc:`equal-style 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 `. None of the :doc:`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 d225acc0e552e6256411d45b9819b053b1e19a39..b6b5a6051f0040c7b674386e6b51c5ca0fdae39e 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 ` 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) `. 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 `. @@ -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 799d62a0aa3978f24ac24442bd2b40769277ef32..f866ddf7a27262946535a07b7ddd1964d1ef5b02 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 ` 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 + .. 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 ` 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 ` 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 ` 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 ` command can access their values. This means that the values can be output via the :doc:`dump custom ` command, accessed by fixes like :doc:`fix ave/atom `, accessed by other computes like :doc:`compute reduce `, or used in :doc:`atom-style variables `. 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 `, :doc:`fixes `, or :doc:`computes ` that use the per-atom properties defined by this fix, see the :doc:`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 ` 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 ` 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 `, so that the values can be restored when a simulation is restarted. See the :doc:`read_restart ` diff --git a/doc/src/fix_python_invoke.rst b/doc/src/fix_python_invoke.rst index f45f3f8f5b26919b1aa50abccc76609e9b14ff79..94bad11f00cf0470dd15bc01baf99a5e8feb211b 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 ` doc page for more info. diff --git a/doc/src/fix_python_move.rst b/doc/src/fix_python_move.rst index 44fd76040ab4b1855e0c359f41c2ef0a72f41a28..07f61c2b853fb66888256bceab6bbcc45c94abef 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -100,7 +93,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_qbmsst.rst b/doc/src/fix_qbmsst.rst index 984c0ca79346f14dbeb2811d47d6184e1ecccf3b..b7a4f49300cb4658296b845235c4f472955eddc2 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 ` at constant temperature *T\_init* could +state with a quantum thermal bath at temperature of *T_init*. The fix +command :doc:`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 `. 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 `. 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 `, 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 ` command. - .. parsed-literal:: fix fix_id all msst z @@ -192,7 +185,7 @@ also the :doc:`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 `. It is worth noting that the temp keyword @@ -200,14 +193,11 @@ under the :doc:`thermo_style ` command print the instantaneous classical temperature :math:`T^{cl}` as described in the command :doc:`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 ` 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 `, :doc:`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 6ac647dad97a07b10f638828ce42818489d0cd11..ea53fc2b2e0f2c008b0cdcf32791e0d30eb75e3b 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 `. No global scalar or vector or per-atom quantities are stored by these fixes for access by various :doc:`output commands `. No parameter of these fixes can be used @@ -209,7 +204,6 @@ Thexe fixes are invoked during :doc:`energy minimization `. 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 ` 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 dcd0950bf2612a76f76191b5420c956013c102d5..c815ac7eb33fa914537abfe73e5b4d486cb6616a 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) ` and :ref:`(COMB\_2) `. It performs the charge +:ref:`(COMB_1) ` and :ref:`(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 ` and -:ref:`Rick\_and\_Stuart ` for details. +atoms with each other. See :ref:`Rappe_and_Goddard ` and +:ref:`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 ` 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 `. @@ -115,7 +107,6 @@ This fix can be invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix command currently only supports :doc:`pair style *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 ab26c27bdeead10df2a42cd3aa7497e8bc6aeead..1c722606a7777127cf225614fa3c71b2c0ffda63 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 `. No global scalar or vector or per-atom quantities are stored by this fix for access by various :doc:`output commands `. No parameter of this fix can be used @@ -82,10 +79,8 @@ with the *start/stop* keywords of the :doc:`run ` command. This fix is invoked during :doc:`energy minimization `. - ---------- - 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 ` 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 ` 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 d3aaa4b6f3eb132b8ae675f9f9d3af4489a57529..4eb45e490fb81d95d1b63a121d4cff433662decf 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 `. None of the :doc:`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 `. 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 ` doc page for more info. diff --git a/doc/src/fix_qtb.rst b/doc/src/fix_qtb.rst index 7242d0739b2c6b3f57259047f2e560c2dd29240f..6dfabcbaa745d5c9811e1b96bc37e3837706dfda 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 ` 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 ` and :doc:`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 `. 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 `. - ---------- - 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 ` doc page for more info. - ---------- - Related commands """""""""""""""" :doc:`fix nve `, :doc:`fix nph `, :doc:`fix langevin `, :doc:`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 dd5c9e66343d0472686de818f8be1b44352f2cbe..8f50473af88fec6fe8846235f98b7894b5c5508a 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 `. None of the :doc:`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 `. No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - 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 ` 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 ` 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 ` 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 a709ddaa35c1c808ba40e31a50378d9529063702..63beb5520deae2e4e5d7cb3fc8663e9ef3be8094 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 ` command and +specified using the :doc:`reax/c pair_coeff ` 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 `. None of the :doc:`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 ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - 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 ` 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 ` and it requires that the :doc:`pair_style reax/c ` 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 ` 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 `, :doc:`airebo `, :doc:`comb `, and :doc:`bop `), but this has not yet been done. diff --git a/doc/src/fix_recenter.rst b/doc/src/fix_recenter.rst index 6c63ead911013c7e03c165bca50aace1ad1db153..eec224c67d67036a500bb8bc761bdaf31e1604fa 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -119,7 +115,6 @@ the :doc:`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 04d7a01c07dabdfc6f3abe79f6a8f82df3a2febb..3965cee04dae98647efb0cc9c1d45760887e5fdc 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 ` 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 ` 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 ` 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 `. diff --git a/doc/src/fix_rhok.rst b/doc/src/fix_rhok.rst index 9374f43798e7ea8fd65420ed3297bd4ea50808fe..089c96dd500b4fee99f277a522456c65df7b7f73 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) `. 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 ` 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 15f7c41b6007290dc8143d0ac3266aab82dfb8d0..72ed56bab1378c1c4cc594ef79342df977775924 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 ` 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 ` 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 ` 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 ` or :doc:`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 ` 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 `, :doc:`fix nvt `, :doc:`fix npt `, and :doc:`fix nph `. @@ -746,7 +723,6 @@ choices: rigid styles for the rigid bodies. Use :doc:`fix nvt ` (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 ` 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 `. 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 ` command. These fixes are not invoked during :doc:`energy minimization `. - ---------- - 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 ` 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 3f6796c4c6084340671219ab3435b3fd2e74e112..c9a709175f3fb199610ab7c37fb454f35041e400 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 ` 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 `. If the *infile* keyword is used, an auxiliary file is written out @@ -349,14 +336,11 @@ the :doc:`run ` command. This fix is not invoked during :doc:`energy minimization `. - ---------- - 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 ` 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 2f0df1ebd500550823d5ca1bc1e07f8d5b43dacd..0d8af574c16d3115b2d6be83472f0154f2863b55 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 ` command with the fix keyword should be specified, where the fix-ID will be the "fix rx`ID with a `_ 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 ` 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 ` doc page for more info. diff --git a/doc/src/fix_saed_vtk.rst b/doc/src/fix_saed_vtk.rst index c2f57618ed96bbb38242043b4f4b9e2e391c3bfe..818d14cc602965969b396eb7c9d51c3f0414964a 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -188,8 +176,7 @@ the :doc:`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 ` 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 3e358aef31fa8ae092c72814ec0ec08b82be7674..59de49fbe0d998d4ff17ea78ed70be09f702201d 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 `, 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 ` 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 ` 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 `. @@ -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 624d5cf455bcde214c7e67517ee0b91953bfa282..cd3fbd3865121ae62f8b51778982d272dd8cf339 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 ` 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 ` or :doc:`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 ` 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 ` 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) `). 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 ` *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 `. 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 ` 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 771b6bf7e370d26be6f692d589b348aecc2d977a..9949d3a51c1559b587297903b9493e56a09b298b 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 ` 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 ` 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 ` 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 5c8496c2a8c6eaba65ae7d8168d819a83d6f2eaf..b303114887986c126049a75de236a76860e1579b 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 ` 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 `. @@ -139,7 +135,6 @@ the :doc:`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 ` 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 87e7d303b3158f5237b72cb9813aa0610fe086e2..d91ad1392dbf4129e100aeec2548dfe65b1015b4 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 ` command -* smd/adjust\_dt = style name of this fix command -* arg = *s\_fact* - - .. parsed-literal:: - - *s_fact* = safety factor +* 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 `_ 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 ` doc page for more info. Related commands """""""""""""""" -:doc:`smd/tlsph\_dt ` +:doc:`smd/tlsph_dt ` **Default:** none diff --git a/doc/src/fix_smd_integrate_tlsph.rst b/doc/src/fix_smd_integrate_tlsph.rst index f2f10121e58e897dd38d94be0f52ce3bce5deea4..ef9141478829403a7164542dd1a8c03334353dea 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 ` 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 `_ 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 ` doc page for more info. Related commands """""""""""""""" -:doc:`smd/integrate\_ulsph ` +:doc:`smd/integrate_ulsph ` **Default:** none diff --git a/doc/src/fix_smd_integrate_ulsph.rst b/doc/src/fix_smd_integrate_ulsph.rst index 1bea4bfb15980fda82cc2c73854ecfe52abe950e..c355abf17ba8b5bf1092834ff6ad4834b66c997a 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 ` 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 `_ 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 ` 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 d5796e0c991299799ae812a105c152dbbcb3c91e..3aa40a75c2a3cfab97017a2bb643543e6e131b70 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 ` 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 ` . It updates position +:doc:`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 `_ 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 ` doc page for more info. Related commands """""""""""""""" -:doc:`smd/triangle\_mesh\_vertices `, -:doc:`smd/wall\_surface ` +:doc:`smd/triangle_mesh_vertices `, +:doc:`smd/wall_surface ` **Default:** none diff --git a/doc/src/fix_smd_setvel.rst b/doc/src/fix_smd_setvel.rst index 9c860f27662b60b05c16b82fb9a4caaef815cc11..eb92f435e1e511e3bd576a232100eeb738feb1cf 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 `, 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 ` 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 ` options @@ -86,7 +80,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_smd_wall_surface.rst b/doc/src/fix_smd_wall_surface.rst index a75a75ab27c6ed940df5bba30d92b3b5d81f6ef8..6bebcdf6c26e7322845eb3eb5b9e833440eb2d96 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 ` 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 style. It +:doc:`smd/tri_surface ` pair style. It is possible to move the triangulated surface via the -:doc:`smd/move\_tri\_surf ` fix style. +:doc:`smd/move_tri_surf ` 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 `_ 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 ` doc page for more info. @@ -74,8 +71,8 @@ multiple objects in one file. Related commands """""""""""""""" -:doc:`smd/triangle\_mesh\_vertices `, -:doc:`smd/move\_tri\_surf `, -:doc:`smd/tri\_surface ` +:doc:`smd/triangle_mesh_vertices `, +:doc:`smd/move_tri_surf `, +:doc:`smd/tri_surface ` **Default:** none diff --git a/doc/src/fix_spring.rst b/doc/src/fix_spring.rst index e7db053d574a9becf4258387baecf0e847119a31..b337a4e048d56864da2e1c6e8ed2a8fc027399e9 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 ` 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 `. diff --git a/doc/src/fix_spring_chunk.rst b/doc/src/fix_spring_chunk.rst index 8cd05d98aa258c76425aa884157e1ad9a741c8e1..d839d9158c5995b1686a80d8a0032b07a0a9219d 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 `. diff --git a/doc/src/fix_spring_rg.rst b/doc/src/fix_spring_rg.rst index fd3b09754b78098feab16e7849b58ebddbb090ab..962e780f7f518d2a490ed1515a33e03fd2a07178 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 `. None of the :doc:`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 e74e51563121ad5c7affaeb8d6bef3a6bf57bf6d..38da0013b1b03fe3ea693ea6d59f62e467ef77d0 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 `, 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 63d93a1c4812f8f2154008562da281527d9fefec..70f07cc0bfe8e50d9c5c6195638c643feb3a8a37 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 ` 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -388,7 +375,6 @@ the :doc:`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 ` 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 1a9dbf5849f48b18044c21bde38eb11ee4a8f7a8..d9ccd162fde271c71e52e15764d1b2318827a789 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -71,6 +69,6 @@ Restrictions Related commands """""""""""""""" -:doc:`fix store\_state ` +:doc:`fix store_state ` **Default:** none diff --git a/doc/src/fix_store_state.rst b/doc/src/fix_store_state.rst index d480a45d602417d933f7d0a51694a86bb9682526..b8fee6b5ea73cecca9599469668b4494d6fd1a92 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* + .. 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 `, so that the values can be restored when a simulation is restarted. See the :doc:`read_restart ` diff --git a/doc/src/fix_temp_berendsen.rst b/doc/src/fix_temp_berendsen.rst index 6351bb947bec5423ae4a240d70bf5951af4376c5..4913efdf533b21694fcd1f4cbcf46f7b2005ef72 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 ` 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 `. 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 ` command) with ID = *thermo\_temp*. +the :doc:`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 ` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom ` 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 `. @@ -151,7 +145,6 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" - This fix can be used with dynamic groups as defined by the :doc:`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 d57c0e25835d9b8bf7182ec4e88f2a918342ebe7..cd4e5dc88f302e483f79281f3133088b3ca37702 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 ` 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 `. 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 ` command) with ID = *thermo\_temp*. +the :doc:`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 ` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom ` 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 `. @@ -157,7 +149,6 @@ is "extensive". Restrictions """""""""""" - These fixes are not compatible with :doc:`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 b8713d6c856e7b165ab7f0591dc33c31796a04a7..d23006c52b1719e2e3ee5685c5bde20fcde52a79 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 `. 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 ` command) with ID = *thermo\_temp*. +the :doc:`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 ` command or print this temperature during thermodynamic output via the :doc:`thermo_style custom ` 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 `. diff --git a/doc/src/fix_temp_rescale_eff.rst b/doc/src/fix_temp_rescale_eff.rst index 6a13b4e922b25fd52ae860c83f4b858b54d1116b..5173e6addca77184107e84e56df1ec50c87aa95c 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 `. @@ -65,7 +63,6 @@ This fix is not invoked during :doc:`energy minimization `. 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 ` doc page for more info. diff --git a/doc/src/fix_tfmc.rst b/doc/src/fix_tfmc.rst index 2b111a42889d240a48367fff5f1044d22cbb69a1..fe290dfc0c669b0da2895951946398ebfd92f943 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 `. @@ -134,7 +128,6 @@ This fix is not invoked during :doc:`energy minimization `. 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 ` 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 4c62ccd9be6e224771bb52d48bd39726dbe841e4..6b8b670694f4ee65d72474a94338f7e66f497f67 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 + .. 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 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -133,7 +128,6 @@ the :doc:`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 ` 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 152e3fbcac1da537c565ef923cdc925afb354416..8bf5439e0d69b6e74fe98b5602a9a6e330b6f41d 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 ` 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 ` 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 `) 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 `, so that the spring effect will be the same in a restarted simulation. See the :doc:`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 ` 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 30a927c7e7b8504aa4b782690ca43197b1cbeb18..bbc99d3ba24fc085d02e71b400e158a326418fe9 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 ` 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) ` and :ref:`(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 `. None of the :doc:`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 `. 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 ` +-DLAMMPS_GZIP option. See the :doc:`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 022afc67b5e9f52b34f7563e7ceff4060e639637..ae759c1b13a33a3653d2069d21edd89fb8b2050c 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 ` 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) ` and :ref:`(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) `, with the exception that the @@ -140,15 +135,14 @@ approach of :ref:`(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 ` 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) `, :ref:`(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 `. See the :doc:`read_restart ` command @@ -335,7 +320,6 @@ of the :doc:`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 42040af0135309db14d86e48e51d8f3e682bbc81..66a3fef02474233bd3d8dec4574ff70d23b285d9 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 ` 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 ` 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 92ebffba1e4e8b874f08e9f87a0672d4994ae8ce..81922dea8a050788734a250acb08ba2781471974 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() ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. diff --git a/doc/src/fix_viscosity.rst b/doc/src/fix_viscosity.rst index 9dd1cf3557c990dcb37bd3370b7e850acdc52042..e31cbf2e458fbc0fd1a6efc5123edfed5202720c 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -138,7 +133,6 @@ the :doc:`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 ` 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 427ff06cfd931136c4113d1d25068f4ec3429050..88d619e56ce331399db5e5cbd67e003b5aee053d 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 `. None of the :doc:`fix_modify ` options are diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index c76b0c890586a5dc020c9773e2f39de624d30192..a56bca3c45b13cf777eb98bc31c6ed885d4ed0b3 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 ` 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 ` 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 `, 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 `. 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 `. @@ -379,10 +362,8 @@ invoked by the :doc:`minimize ` command. minimized), you MUST enable the :doc:`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 ` 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 6b0ba4b1301fa0b15459faa2a332f27cd5180fd9..a93d71369f38765249bf081653a8d622ed9297a5 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 ` 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 ` 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/fix_wall_body_polyhedron.rst b/doc/src/fix_wall_body_polyhedron.rst index 38e75de13a83180d2a2e38cb6b85c330e568d221..4b01234f0fd6c6006e9258604e03f4380c809da1 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 ` 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 ` 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index 334228d85bedf9230df9dcdbd4fb963be7b3c7f1..79f96765f8b5a89ecfcd7e1f031d44e480b2a8d9 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 ` 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) `. 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 ` 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 dde9af0f94e7c00ce6c33bb4aa5ca2e52aa15922..daf3152c3466bee91e0d5d6fc50e24b42d20afc5 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 ` 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 ` * 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 ` 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/\* ` and :doc:`pair_style 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/\* ` 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 ` through its *pair\_coeff* command are also +friction and twisting friction supported by the :doc:`pair_style 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 `. @@ -116,7 +111,8 @@ material. .. note:: - As discussed on the doc page for :doc:`pair_style gran/\* `, versions of LAMMPS before 9Jan09 used a + As discussed on the doc page for :doc:`pair_style 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 ` doc page is the mass of the particle for +The effective mass *m_eff* in the formulas listed on the :doc:`pair_style granular ` 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 `, 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 ` doc page for more info. diff --git a/doc/src/fix_wall_gran_region.rst b/doc/src/fix_wall_gran_region.rst index 6f82bfd85a9076ca84d6d07c39303e7d4f108e6b..620baa0942e3511ce507d69662112af992892d72 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 ` 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 ` * wallstyle = region (see :doc:`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 `_ of the LAMMPS +simulations are `here on the Movies page `_ 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 ` 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/\* ` and :doc:`pair_style 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/\* ` 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 ` through its *pair\_coeff* command are also +friction and twisting friction supported by the :doc:`pair_style 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 `. @@ -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 ` command, this fix writes the shear friction state of atoms interacting with the wall to :doc:`binary restart files `, 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 ` doc page for more info. diff --git a/doc/src/fix_wall_piston.rst b/doc/src/fix_wall_piston.rst index cb5c611f6106087a8b57d6148a99bf0ff527988f..626634ec83f4ac18f963001e6390beabff6134f2 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 ` 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored @@ -107,7 +101,6 @@ the :doc:`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 ` doc page for more info. diff --git a/doc/src/fix_wall_reflect.rst b/doc/src/fix_wall_reflect.rst index 7a7cc6425b9c82ca88546f3947f581b4cfd1b0b5..3960105ab967cdd930a6d0d7b1e7cf788f0c57f0 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 ` 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 ` 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 `. - -.. 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 ` command in your input script. See the :doc:`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 `. None of the :doc:`fix_modify ` options are @@ -187,7 +174,6 @@ the :doc:`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 bf254945a1dcb41df20ae9dd57d1db4d6f1fef99..ddeebfbe3848509122f9f84ab5898d3403271d8c 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 ` command, e.g. Angstroms for units lattice spacings. The :doc:`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 ` 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 ` @@ -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 a6f719e142bba20a1df42117a6528a0149496b3f..b3f4733c560b5d054dca6e5b2e24fc3f6d23a807 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 ` 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 ` -**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 `. diff --git a/doc/src/fix_wall_srd.rst b/doc/src/fix_wall_srd.rst index 8685b39fffe6daf9d5e1f1cb48f5cc8ec780d525..5df7345a4d58c988c1d5c5b8e4f47c581510ca4c 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 ` 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 ` 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 `. - -.. 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 `. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -209,7 +198,6 @@ the :doc:`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 5a85738c45128d4f7fac91e4bebc92916704b7ea..eb0215e310749e21f26a65cbd83960b61ea27809 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 9246f432c8e7451d9694a3b2a389d840bebcd4b6..42e1d29a850f3b5bcd58911793d5a56b4fc44b34 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 59528ac7bba354f7f2f595daae66ee49cbc9a1d6..84e7b6df32be5e20b203b513ec9673a1cf420b2e 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 eab9cf89731436c317b40ce92f2f43d96e07214a..d17af1d407efa2eff4d0dd076360578dc318f16b 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 ` 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 ` 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 f7d09c8f50a42f9b15f2e0d0e2be830de45da4b3..fff561bd77dc7a1203452b90ec3d2c2b766d6c07 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 ` 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 ` 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 e2bcc3829bf4c0cb5fef857015e1210abaaaafd0..5affc0d4bbac2d64e3a1aba9ac664deff9bc3fb2 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 ` 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 ` 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 d8974a6494342ff4bc0f3f7b3f736878a27329d7..3d2878c5179b9b047d8cee40397a982b6da38cd9 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 ` doc page. They are also listed in more compact form on the :ref:`Commands 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 `, :doc:`read_restart `, or :doc:`create_box ` command. diff --git a/doc/src/improper_cossq.rst b/doc/src/improper_cossq.rst index 39a1c014dc637d8bd016428c6c355d4aac68f4c6..6e669d3dbebcff592c63c9def114c976c473edec 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 ` 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 ` doc page for more info. diff --git a/doc/src/improper_cvff.rst b/doc/src/improper_cvff.rst index 4d1e0be05915f834a4dec0c3ef41c12d7a1a5fa7..a952d9f3b847d55aee27cf92c6453d0ca195d6e9 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 ` 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 ` doc page for more info. diff --git a/doc/src/improper_distance.rst b/doc/src/improper_distance.rst index 8917b6ed22b488170a643eac171164f730024397..d5f07f997171947ac42e9c2e38349545760b2da8 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 ` @@ -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 ` doc page for more info. diff --git a/doc/src/improper_distharm.rst b/doc/src/improper_distharm.rst index 49c64ae133fa0d296258867da5c2b07851b87452..113941bee4be9c6870fb812762a6c0e26fd8f5d1 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 ` 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 ` doc page for more info. diff --git a/doc/src/improper_fourier.rst b/doc/src/improper_fourier.rst index 18876e69c6d133ab7dd92202f4db51034d80f0ab..7842e866f610986c1b4be17a56b49b0193ec9b30 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 ` 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 ` doc +USER_MISC package. See the :doc:`Build package ` doc page for more info. Related commands diff --git a/doc/src/improper_harmonic.rst b/doc/src/improper_harmonic.rst index 1fcaa181beb9e5a3d24d0a85bfcf0a8d074aa039..0f525ff34bcba8a93dda879218ddb1d15624cfa5 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 ` 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 ` doc page for more info. diff --git a/doc/src/improper_hybrid.rst b/doc/src/improper_hybrid.rst index 4696296ff52c82aa8d1f7d20dcc89185a52ce7f6..9d5c4c696d0ce7ab27e643d18c691a0545c9b110 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 ` 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 ` 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 `. 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 f74ac78e07da4a2a4a4c8915eb1f24267951489e..4a4ad9e8634da3356d24fdb8ad8313d5aa4a8a41 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 ` doc page for more info. diff --git a/doc/src/improper_none.rst b/doc/src/improper_none.rst index 9037ba98926ab6e5e0472e948ad42f4a426e47be..c1c194041a8ef8b3d2bc135deec8eddbb9f2709c 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 b09e353fd133fd8e6f49628c58df413f419f908f..0634405c0e79086739582e2f3510798e4b414708 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 ` 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) `. 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 ` 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 ` 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 b883d5e4f0d69d285f09e0cc4a2a5fa7ed340cda..2f8723a68c66a66b4c48a628222df44ca3c80616 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 ` 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 ` doc page for more info. diff --git a/doc/src/improper_style.rst b/doc/src/improper_style.rst index 4035f763df27f563c29832b24241ac9c4373fab2..0667b8f5b9749278555d6c9e1fe2fc52ec0dc527 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 ` 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 ` commands do not need to be re-specified in an input script that restarts a simulation. See the :doc:`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 ` 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 ` command. @@ -94,15 +90,12 @@ more of (g,i,k,o,t) to indicate which accelerated styles exist. :doc:`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 cc690dc3b477e7c6128093ab412004a290d2dd68..ad070319bc55290cc38c631b25495af501e26947 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 ` 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 ` 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 d1419f7618ba00246042d21d9fd79062b4f4442b..354c0d486eff731b63caaa39a06dbc0fd4688ac1 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 ` command must be diff --git a/doc/src/impropers.rst b/doc/src/impropers.rst index 93b4776d2cd9a0e1d141749a5cdd643f23c588c8..a6653fde7d6013c502084b46a3b2907f4d50c003 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 906fe0b16a8531c9afb8f3fa80a18b99842e16ad..e98ffa05e4b1391362eb573bf007b09dfd993cf3 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 70f9e9bfed6ca5725a83a5a02f5dca0de7422adc..77d430ea66b5407ab22cf7b121f867d7fd4b0132 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 e7ece020e353c759f8ccd41adf4ab34a96854520..d597b336d315618c836a4fd923880a0658d95c35 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 `, 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 ` 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 ` 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 ` 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 ` 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 aeab9fae56bd4e858b2b35a5c5b382df4c02a9c1..c710ddfe5dcd3211cb568ced5c40ad355f4c8bd8 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 ` 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 ` 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) `_ 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 `_) 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 `_) as part of a LAMMPS input script setup and analysis. * Support is provided for unit conversion between the :doc:`unit style ` 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 `_) 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 `_). 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 `_ 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 `_ @@ -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 ` or :doc:`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 `_, and -the *user\_units*, which are the LAMMPS :doc:`units style ` used +the *user_units*, which are the LAMMPS :doc:`units style ` 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 `. -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 `. 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* 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 `). -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 ` 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 ` 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 ` (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 ` 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 ` 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 `). -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 ` 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 `_. .. 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 ` 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 `_) 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 `_ 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 `_ +The *kim_query* command retrieves from `OpenKIM `_ 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 `_ 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 `_. 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 `_ @@ -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 `_, @@ -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 ` as determined by the optional *formatarg* argument :ref:`documented above. ` 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 `_ 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 ` 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 ` - ---------- - .. _kim-mainpaper: - - **(Tadmor)** Tadmor, Elliott, Sethna, Miller and Becker, JOM, 63, 17 (2011). doi: `https://doi.org/10.1007/s11837-011-0102-6 `_ .. _kim-api: - - **(Elliott)** Elliott, Tadmor and Bernstein, `https://openkim.org/kim-api `_ (2011) doi: `https://doi.org/10.25950/FF8F563A `_ diff --git a/doc/src/kspace_modify.rst b/doc/src/kspace_modify.rst index 9c692997c917bb54d9fd1ec98283c67beb5c57b7..afbe1b00431394c075b3e883f690e2e223c1b60b 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 ` 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 ` 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 `, but a Kspace-compatible :doc:`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) `. 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 ` 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) `, 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 ` 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 `. @@ -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 `. @@ -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 ` 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) ` correction not being compatible with how :doc:`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) `, 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 ` 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 ce2b988256d4fbf670595e424ea3c2d79d2da6f9..57cd51d5492c186635345b525e83537976f31057 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) ` 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) `, 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) `, :ref:`(Isele-Holder2) ` and the :doc:`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 ` 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 ` 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) ` or :ref:`(Hardy2) `, 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 `_ which provides a variety of solver methods which can be used with LAMMPS. The paper by :ref:`(Who) ` gives an overview of ScaFaCoS. @@ -290,7 +274,7 @@ See details on :ref:`this page `. 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 ` command as part of the *elong* keyword; the *ecoul* keyword will be zero. @@ -325,10 +309,8 @@ the :doc:`kspace_modify scafacos accuracy ` doc page. The :doc:`kspace_modify scafacos ` 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 ` 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 ` 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 52387f661fbd8aafd21d30ad082d28aeb3e1f23c..0b1273008fb48d021ca7e4908d60f72e082c8676 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 6969ae8aa5e11edcd201fcbfe16cd49fc9405afe..693d0cd84a7d139319c7216fdb5351d81e24a149 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 ` 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 ` 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 6c014953f51ed3121424fb8fdffe18cd667bb16d..5c412d4d9f611dcfb024bd9707e260cea6a1ae7c 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 c9c21b5d8debe2dacfbca7b1e39d7fe0aedebe3c..55ba9c61bf94a45029dfc8eb34f10477b78bda9a 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 `, :doc:`read_restart `, or :doc:`create_box ` command. diff --git a/doc/src/message.rst b/doc/src/message.rst index 2552991318c4a1575c96b406cc442662123ae5c5..f4ca5735e0ab22f3cb680150993db1d63167dfd8 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 ` 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 `_, 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 ` doc page for more info. diff --git a/doc/src/min_modify.rst b/doc/src/min_modify.rst index 5628c65710a871e8d4731904fdae44296a7d1532..a01aab173d1ac1b70ecdd4d3ffd9b738913e13bb 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 ` 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 ` 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 ` (not in time unit). For example, *tmax* = 4.0 with a :doc:`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 ` 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 ` *fire* is an optimized implementation of -:doc:`min_style ` *fire/old*. It can however behave similarly +:doc:`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 ` 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 49db5c783a4d0358a3056c9b1f22afed8275c5ce..46fd08b8389ee4cebb4fbd393b7b7c56c030a024 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 ` command. +*alpha_damp* keyword with the :doc:`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 ` 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 ` 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 ` 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) `. .. note:: @@ -100,7 +98,6 @@ see their implementation reported in :ref:`(Ivanov) `. 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 0382f0d075eac60cb20bd46b00b989ab6813e78f..c03015d4d96dfc6713ad752f731131a6224cd56c 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) ` that include different time integration schemes and defaults parameters. The default parameters can be modified with the command :doc:`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 ` command. or minimizations involving the electron radius in :doc:`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 ` command in your input script. See the :doc:`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 1ffb99ebb60b97d6eabf223250e95f437b2f5509..dde5284b7ab3efd2e517c4cc243c6d2daa05085a 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 ` 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 ` including :doc:`long-range Coulombic interactions `, 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 ` or :doc:`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 ` 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 3ee5c293ea309a0aa78b7d5e20fe72f85f06d6e7..930b6cc5ce0bb22bef5a6a485f812a1081253c8a 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 ... @@ -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 @@ -211,40 +207,32 @@ 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 - ---------- - *Molecules* section: * one line per atom * line syntax: ID molecule-ID * molecule-ID = molecule ID of atom - ---------- - *Fragments* section: * one line per fragment @@ -255,10 +243,8 @@ The ID of a fragment can only contain alphanumeric characters and underscores. The atom IDs should be values from 1 to Natoms, where Natoms = # of atoms in the molecule. - ---------- - *Charges* section: * one line per atom @@ -269,10 +255,8 @@ This section is only allowed for :doc:`atom styles ` 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 @@ -280,13 +264,11 @@ on each atom in the molecule is 0.0. * diam = diameter of atom This section is only allowed for :doc:`atom styles ` 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 @@ -300,10 +282,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 ` of mass/volume. - ---------- - *Bonds* section: * one line per bond @@ -314,10 +294,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 @@ -330,10 +308,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 @@ -345,10 +321,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 @@ -362,10 +336,8 @@ the 4 atoms determines the definition of the improper angle used in the formula for the defined :doc:`improper style `. See the doc pages for individual styles for details. - ---------- - *Special Bond Counts* section: * one line per atom @@ -384,10 +356,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 @@ -407,10 +377,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 @@ -430,10 +398,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 @@ -468,10 +434,8 @@ and b,c,d = IDs of other three atoms bonded to the central atom. See the :doc:`fix shake ` doc page for a further description of SHAKE clusters. - ---------- - *Shake Bond Types* section: * one line per atom @@ -515,14 +479,11 @@ atom (value d in the Shake Atoms section). See the :doc:`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 `, :doc:`read_restart `, or :doc:`create_box ` command. diff --git a/doc/src/neb.rst b/doc/src/neb.rst index 5b1e4570bcdeaeaa5ec51e1ad8d82a4b205e309c..acb157e2ece03df92cb17218cd258d7883b7188d 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 ` 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 ` 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 523f32652c9ba6b476e83212f1bee67f2dacc135..10b08f674b1a9f3f571204720c1523f741ec087e 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 `, using either the *spin*\ , *spin/cg*\ , or *spin/lbfgs* style (see -:doc:`min_spin ` for more information). +:doc:`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 ` problems. The :doc:`atom_modify map ` 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 ` 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) `). - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the SPIN package. See the :doc:`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 dbf08d6726ce467a68027e844235f30b89422264..74b4572b956718de61e8c80929e3c031d96d17b6 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 ` 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 ` 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 a8b70cb73178daca2fd9a22d7f6e2b3a0892cea8..1bb591587c3b9a325041f84db0ad4b5b362cea71 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 38324e814378d20d8f8d8e2208ff5bfa43180f5b..df1298a9e4f4260d0f5bf364763e88f96348603c 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 ` or :doc:`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 7a1e2264a10bb3c84ca8593a8a72d6c1d8fe5a16..fd62e29ffef723b1b4b37a90e96bcac40bb8b3f1 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 ` and :doc:`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 4a8b3dcdcd2ee65d9ed2ffa62e55be7d45ae08eb..609216206da08c8dcdd512fe3ebfe3ac9a979090 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 ` 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 ` 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 ` 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 ` 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 ` or :doc:`create_box ` command. diff --git a/doc/src/pair_adp.rst b/doc/src/pair_adp.rst index 43a94933ad9e4714769f48dac7cc8b1cd0d2c113..6c4796fb85f1f8338ed1406b6c7b665a7bdd9bb2 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 ` 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 ` 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, 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 ` 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 bb7408f3638144fc09a5e8e79fd5c389171590b4..2023e655f45b7d63811e83bc5cf4601c4f853154 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 ` 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 ` 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 e2ef285f91904611cb4968d64144c9f593de53e5..d7fc9a9c077c6607d248a1198ad42d4348acd1f4 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 ` 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 ` @@ -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 ` 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 c8c4edeb54648d6af21cc7948ee1ff07847f66e5..902e07a80dba742579d65843c8d9bd79101c87d4 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 ` @@ -165,14 +156,11 @@ This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` 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 ` 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 8e353960f001ddb15bc7a1d31a705bbd364faeb9..701c45849e853955940096a36f97caf8b402f559 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 ` 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 ` mix, shift, table, and tail options are not relevant for this pair style. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 88abfe9798a0995203bb785c8a9f7c7d02874021..f234366eae98afd51c0b1617dd8e78515e141c00 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 ` 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 ` 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 ` tail option for adding long-range tail corrections. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 edfd4f3ab2024afc85d39bf7dfe380afb38525bb..cdb4870cbf2a1684eb667cc48c9980e8a577b850 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 ` 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 ` doc page for more info. diff --git a/doc/src/pair_body_rounded_polygon.rst b/doc/src/pair_body_rounded_polygon.rst index 652c618d4a46d912e80d4cf7b47836522d5306d9..baba67bf7fa68b5638908a3c78030f6a41ff17a0 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 ` mix, shift, table, and tail options. -This pair style does not write its information to :doc:`binary restart files `. 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 `. 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 ` 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 20dbbafb13e277507092ecf8dc3280ef50081ef1..72e94db8c99cc52577c210cff59b1dd713831bfd 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 ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `. -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 ` 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 5cf3bbb4a89dc75fb1f90e5e445b42bb31c6f7c9..ce7b69f41f3cf1bf98f7b139f40fbfedb07912fd 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 `, -:ref:`Pettifor\_2 `, :ref:`Pettifor\_3 `) and later updated +developed by Pettifor (:ref:`Pettifor_1 `, +:ref:`Pettifor_2 `, :ref:`Pettifor_3 `) and later updated by Murdick, Zhou, and Ward (:ref:`Murdick `, :ref:`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 `); 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 `). +based upon the Cyrot-Lackmann theorem (:ref:`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 ` 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 ` 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 `) and Zhou (:ref:`Zhou `). 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 ` +* 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 ` 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 ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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 1e0dfc56111a51aeead31d407edf46729c5c1bc9..2fa57851325f705610193bd00b8ab0fc90728c57 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) `, 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 ` 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 ` 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 ` -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 ` 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 ` 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 24c93551cfc7f306cde3588ef4c0c500eb08c00f..12566a299390a02010d874f943471a71ee0148d6 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 ` 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 ` 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 ` shift option for the energy of the pair interaction. @@ -121,28 +113,25 @@ This pair style does not support the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 ` 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 7c09e7a0ed2a533848ae86320e8b93eaaa7d7ab9..c0eb0ee282b1d2b891c39038673e26a7f5b8523b 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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands do not need +These styles write their information to :doc:`binary restart 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 ` 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 ` 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 6b38c7f5704b3b92bb1103074424ddc550faa873..f8c5a29a328cffe1c938ca28143f07553be7c7ff 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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands do not need +These styles write their information to :doc:`binary restart files `, 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 ` 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 1c6701463b726b76917af196db62f25eb5f478d2..6f1e2d83ef32a21ccf4248a9b56c4a7fd2425713 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 ` 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 ` 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 `. -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 ` 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 ` 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 ` 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 ` shift option for the energy of the Buckingham portion of the pair @@ -154,7 +147,7 @@ This pair style supports the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +This pair style write its information to :doc:`binary restart files `, 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 ` 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 ` 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 78de46d23fa8957b9fc9a9f665f3e10cd46bbdac..031e6e671797c1a55cb88dadc9066dfecc0a3dec 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) ` 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 ` 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 ` 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 `, so pair\_style and -pair\_coeff commands do not need to be specified in an input script +information to :doc:`binary restart files `, 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 ` 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 ` command for +run_style respa. See the :doc:`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 3b005ed5170f8b0a02bc89dab99c25d71e22edfb..d1c673ab977f0bcc6c278d576bf2ffbc82cb9260 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 ` command. @@ -132,19 +126,15 @@ The :doc:`pair_modify mix ` 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 ` styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`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 ` 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 `, so pair\_style and pair\_coeff commands do +All of the lj/class2 pair styles write their information to :doc:`binary restart files `, 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 ` 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 ` 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 ` 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 3b8b93e3ff65b0e2b2d38a723a7d28399b31d968..26910c17469c9301e2f14d6516615c3d8fe48b79 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 ` 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 ` doc page. They are also listed in more compact form on the :doc:`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 `, :doc:`read_restart `, or :doc:`create_box ` command. diff --git a/doc/src/pair_colloid.rst b/doc/src/pair_colloid.rst index f94c163e1d01a4c987f5af23917e1b56f2142a1e..d9f086059d584381d9f2b042906c09ec33e7ad46 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 ` and :doc:`comm_modify multi `. - ---------- - 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 ` 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 ` shift option for the energy of the pair interaction. @@ -205,34 +199,31 @@ This pair style does not support the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 ` 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 ` 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 b893f565020284e09239065ac9581fd611f87868..a03bc3fffedecdc3e440d89f9b370fec38e9a93d 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 ` 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 ` 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 ` shift, table, and tail options. These pair styles do not write its information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style, pair\_coeff, and :doc:`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 ` 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 ` 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 ` 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 c29dda82244f59a776029eb6091290100dfac338..4f19ddd1e4dad21d9f2e57dbb99286006f77b181 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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 ` 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 ac4aa4e8d5436d7c2e5cb8e7fb718435f4231007..8f77a622d6686867eb78ec0b58812438a96dbf52 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 ` 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 `, 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 `, 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 `, 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 ` command. Likewise, charge equilibration must be performed via the :doc:`fix qeq/slater ` 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 ` 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 ` 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 ` shift option is not relevant for these pair styles. @@ -381,21 +357,18 @@ These pair styles do not support the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files `, 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 ` 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 ` 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 47b93387d3e577f02fed3b8ba8459b00e855598d..02ad620327dd98e75605cd464836d9c7300a2b76 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) ` +limit of epsilon_D(r->0)=5.2 due to dielectric saturation :ref:`(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 ` 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 97df7d4a1354eacfd04280bd7949000594486eb6..c9acbf40ef0aa241e95b8d02cdcc008021a6f03f 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 ` 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) `, :ref:`(Leven2) ` and :ref:`(Maaravi) `. @@ -61,12 +58,10 @@ each pair of atom types via the :doc:`pair_coeff ` command as in the example above, or in the data file or restart files read by the :doc:`read_data ` or :doc:`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 ` doc page for more info. @@ -96,26 +90,18 @@ Related commands :doc:`pair_coeff ` :doc:`pair_style 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 ebbbdcaeca21af3765222e03b0c9038f2485612e..72332a87b2172bfba2d1d73ed78d7643eb561150 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 ` 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 ` 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 6d685f27c3ff2498b2b2ec1548be530277546d52..38731dcb6d9714b7e22386ba16c53f9a6eccc538 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) `. 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) `. The formulas for the corresponding forces and torques have been obtained by applying the 'chain rule' as in appendix C.3 of :ref:`(Allen) `. -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 ` command. The specified LJ cutoff then +portion is calculated by using the :doc:`kspace_style ewald_disp ` 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 `. 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 `. 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 ` command. If -*flag\_coul* is set to *off*\ , Coulombic and dipole interactions are not +*ewald_disp* of the :doc:`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 ` or the :doc:`fix nvt/sphere update dipole ` 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 ` 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 ` 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 ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 a827627870c2d0cf3ade033a835b0d765cf494f6..0a078585c682993fe187baca51561b30a9743ca6 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) ` and :ref:`(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 ` 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 ` tail option for adding long-range tail corrections to energy and pressure. -These pair styles writes their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These pair styles writes their information to :doc:`binary restart files `, 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 ` command. See the :doc:`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 ` 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 fecd602c50d453e9cd7eb0ac3f7c27e933ae3d34..223caf768160c7f7408942517365c144633d1a21 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 ` 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 ` 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 e2dc88648f124dbdc7f8d9bb279cbc63ada68b86..1fa193777a8d89afd1d513cad9b492cb031de84b 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 ` for details. - ---------- - The :doc:`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) ` are provided with LAMMPS (see the "potentials" directory). Besides those in :ref:`Wen `, 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 ` doc page for more info. @@ -142,24 +132,18 @@ simulation doesn't use "metal" units. Related commands """""""""""""""" -:doc:`pair_style lebedeva\_z `, +:doc:`pair_style lebedeva_z `, :doc:`pair_style kolmogorov/crespi/z `, :doc:`pair_style kolmogorov/crespi/full `, :doc:`pair_style 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 c42e6e5b82454ab3c6a52221cbf0967316221340..03f6505d47eb32cf46a3bead4f1c63ce8291ebd3 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) `. 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 ` 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 ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 ` 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 84c793d192de0f6b9b992ebb81a57fd796d6c6a7..68f8708b27bcca9f44eb255f2254837393a18899 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) ` 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) ` or :ref:`(Tainter 2015) `. -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 `. The *preset 2015* option should be used with the :doc:`TIP4P/2005 water model `. 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`binary restart 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 is incompatible with :doc:`respa `. - ---------- - 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 ` doc page for more info. @@ -146,7 +138,7 @@ This pair style requires the :doc:`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 `. -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 `. @@ -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 82da121a7914ebd64263859d23a04aa2693e6886..4710f8a9a1a9d2a8198979ae61f0934eff1d4ade 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 `. .. 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 ` command to specify them. @@ -147,7 +144,6 @@ are parameterized in terms of LAMMPS :doc:`metal 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 ` 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 ` 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) `. Style *eam/cd/old* is an older, slightly different and slower two-site formulation of the model :ref:`(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) `. 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 ` 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) `. An example of such a potential is the same author's Fe-P FS potential :ref:`(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 ` 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 ` shift, table, and tail options. The eam pair styles do not write their information to :doc:`binary restart files `, 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 ` 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 ` 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 24f1aebd745fd0a4e79e7fdab75f675459882c5e..02f779bebfc20b1009024083eed23c0241e22b08 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 ra @@ -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 ` 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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 9a902054daa3269574e027198e7d6b1144a0eb69..f163e5afaa0f7d609e95e2cf2508ba0c68a185d0 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) `. 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 ` 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 ` shift option is not relevant for these pair styles. @@ -287,21 +277,18 @@ These pair styles do not support the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files `, 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 ` 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 ` 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 a3fee3fb96d4bebe10ea725cc7570f625a67cc88..bb09e10ed27bf6a1cdd3b52a7c0d5a6e63b2e374 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 ` 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 `. 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 ` 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 ` 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 453f6f9aa81ae74badefdc016e18108603ca22a8..7f2be1817aded943051b04371f0e313b3247fd65 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/pair_extep.rst b/doc/src/pair_extep.rst index 4618c44804afedacd47d91f63a7e80843b8ebbd3..8e5bc3ac9fca9b0e8c9a6fa154b8f30398a05d67 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) `. - ---------- - 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 2d81628c0ddc68bd1ce3fd8022dc73c29222cfb3..c8f7d0d7ab328e52f9ad82c62e41c68e1df552ee 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 ` @@ -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 ` command. - ---------- - The *morse/soft* variant modifies the :doc:`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 ` 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 -`, so pair\_style and pair\_coeff commands do not need to be specified +`, 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 911b1c15041abe3374ce3181105978e32ac2adbc..1f183c00b917dcdb89549199537cf0132e839aae 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 ` 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 ` table and tail options are not relevant for these pair styles. -These pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files `, 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 ` 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 e69d30a83433b1d2ab185a12498366c440fb48bb..e6cf4808520b551f070f3120c27ff0848f7ea20a 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 `, and there is no "pair\_coeff I I" +:doc:`pair_style 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 ` 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 ` 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 ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 ` 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 3a75a410b1aa795af1ce35a183a4c528f9d627b1..3cfe946e41c2b648a309921ce7a46552cfeee058 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 ` @@ -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 ` 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 ` 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 `, 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 ` 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 ` mix, shift, table, and tail options are not relevant for granular pair styles. -These pair styles write their information to :doc:`binary restart files `, so a pair\_style command does not need to be +These pair styles write their information to :doc:`binary restart files `, 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 ` 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 ` 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 6d5dfbdba87ea56ea30d02f6694000cf2180cfda..73b1ec85ece4555aee47d490ce8c4348a6d78496 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) ` 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) ` 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) `, 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) `. 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 `. 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 `, 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 `, 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 ` no-slip solution is used, which differs from the *linear\_history* +For *tangential mindlin*\ , the :ref:`Mindlin ` 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 ` ). See also discussion in :ref:`Thornton et al, 2013 ` , 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 ` and :ref:`Luding `. This differs from the expressions given by :ref:`Kuhn and Bagi ` and used in :ref:`Marshall `; see :ref:`Wang et al ` 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 ` 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 ` 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 ` (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 ` 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 ` 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 `, so a pair\_style command does not need to be +These pair styles write their information to :doc:`binary restart files `, 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 ` 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 ` 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 fd309c25a0b927561c7d2c3cfc9e33ad08d07033..121181a90db3a64e3d5e031982e98be3a27dd6ad 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) `. .. 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) `. 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 ` 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 `, so pair\_style and pair\_coeff commands do +All of the GROMACS pair styles write their information to :doc:`binary restart files `, 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 ` 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 06dfd240b3355d14596cec68284cc9a42882f2e4..d2d12836185be9e35940455dbbc25820799b1c73 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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 1deaf35c39a9db37821514b8a47332728cac5267..0f5470d5f9ac16352d42bc44d47d87dc5ec5101e 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 ` command as in the examples above. @@ -130,7 +125,7 @@ in the examples above. Unlike other pair styles and their associated :doc:`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 ` 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 ` 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 ` 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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands need to be +These pair styles do not write their information to :doc:`binary restart files `, 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 d8abec1f4a8de2afd3c007efca4a23394236ce31..8e40466faf8ec0c425ac0d0fbe75d20b850634c3 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 `, so a :doc:`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 ` command) with a hybrid pair\_style, +:doc:`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 a727d87eb6994227147c1e209ae1e7e2995f853c..22f4a37380710a163377e8e6ad17724ac8097e6a 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) `. .. 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) `. 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) `. 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) ` and :ref:`(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) ` and @@ -107,19 +104,18 @@ list for calculating the normals for each atom pair. be found in :ref:`(Ouyang1) ` and :ref:`(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 ` 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 ` doc page for more info. @@ -164,49 +157,35 @@ Related commands :doc:`pair_none `, :doc:`pair_style hybrid/overlay `, :doc:`pair_style drip `, -:doc:`pair_style pair\_kolmogorov\_crespi\_z `, -:doc:`pair_style pair\_kolmogorov\_crespi\_full `, -:doc:`pair_style pair\_lebedeva\_z `, -:doc:`pair_style pair\_coul\_shield `. - -**Default:** tap\_flag = 1 +:doc:`pair_style pair_kolmogorov_crespi_z `, +:doc:`pair_style pair_kolmogorov_crespi_full `, +:doc:`pair_style pair_lebedeva_z `, +:doc:`pair_style 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 72f4908b53efdf2b3797dc8fc1a027a6b44b31d6..7717545f2126ce85fffb69640de0a31fdc7c2fe5 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 ` 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 ` @@ -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 ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, 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 ` 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 `. -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 d8b1f6db12d0cbbdf619e05dc354898c5c72d117..8d9adf0341eb78729e95b5f1f1730c338cdcd868 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) `. 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) ` 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) ` and :ref:`(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 ` 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 ` doc page for more info. @@ -144,30 +137,22 @@ Related commands :doc:`pair_none `, :doc:`pair_style hybrid/overlay `, :doc:`pair_style drip `, -:doc:`pair_style pair\_lebedeva\_z `, +:doc:`pair_style pair_lebedeva_z `, :doc:`pair_style kolmogorov/crespi/z `, :doc:`pair_style 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 c6972265047906cf3e5192647e4e3bda0db8ce02..8b961773a31e372917d1c7ef862760240c903969 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) `. 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 ` 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 f492b799191b594371f30131a446c74cef07c5fd..4eb7a345eede7ab9c10aff4677f10c418c9e3d00 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) `. 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 ` 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 ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 b78a29fb5476bccae7f1ff5e08a0861e642d0307..df81d8399924eeb10410fe45d5ee602b4c09dd01 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 ` 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 8320d1701cbb6d6c8e74787a82d498b62e58ff53..70077c61f8a7f4a0ea2b9a2d6fdda32b7a094f26 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 ` 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 ` 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 ` doc page for more info. diff --git a/doc/src/pair_list.rst b/doc/src/pair_list.rst index 2dd5ec44dec19838912e1ad9ff32f6b9a6d92e68..93485b34717f21fd5e0de512f053c46309315e21 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 ` table and tail options are not relevant for this pair style. -This pair style does not write its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands need +This pair style does not write its information to :doc:`binary restart files `, 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 ` 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 7f97913be6a5fb8db8edfe8458d0dec89af509ad..21357ab45ff68f9307aad3b380b24cd7a4c28403 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 ` 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 `, 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 `, 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 ` @@ -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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands do +All of the *lj/cut* pair styles write their information to :doc:`binary restart files `, 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 ` 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 ` 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 2f2dcc76e4d164619904a97747a6c3ab9f66dd2e..3799020a05fcd75dda9944a338aad2d79da07fb6 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 ` 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 ` shift @@ -100,7 +93,7 @@ This pair style supports the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` command for details. - ---------- - Restrictions """""""""""" none diff --git a/doc/src/pair_lj_cubic.rst b/doc/src/pair_lj_cubic.rst index f975a6552450177092bc23f694f25c7ff7cd3916..5bf5d873e443139e83b891f77652600a71b4a298 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 ` 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 `, so pair\_style and pair\_coeff commands do +The lj/cubic pair style writes its information to :doc:`binary restart files `, 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 ` 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 8d69c760adb2e4e8756d6b10de1a4356c1277ede..1478188bbb911e68562a9bc15699de68807214f8 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 ` 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 ` shift @@ -126,17 +121,15 @@ This pair style supports the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 628eb40664125f28b639cf64f5e83582767be438..682f11b95bdffc3e0dab043aa568b8c169372f2e 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 ` 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 ` 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 ` 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 `. -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 ` 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 ` styles. The version with soft core is only available if LAMMPS was built with that package. See the :doc:`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 ` 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 ` 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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files `, 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 ` 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 ` 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 d4be64fcc1e1f029be134ae4e253ecd7310ac81b..b2cf6f749336e3c0daddc8ebc9dff3351cdb2fad 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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 42da051b57f998a53dc904e89d7eba155c90b72b..bb93eddd3343707f2fc48dac0c77a9b80dfffa9a 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) `: .. 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 ` 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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 5f3a79704090cc85cd05cf2f704c90f725f7456d..24374658e35783e8b3cbc500d390e3ffd10f3d76 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 ` doc page for more info. diff --git a/doc/src/pair_local_density.rst b/doc/src/pair_local_density.rst index af317ac99c4a995858069b27802e4d2b0caede47..f2510686a9d66aa1b1aa3506612d1e0fcce4e626 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) ` and -phase-segregation in liquid mixtures:ref:`(Sanyal2) `, and provide guidelines -to determine the extent of manybody correlations present in a CG -model.:ref:`(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) ` and +phase-segregation in liquid mixtures:ref:`(Sanyal2) `, and provide guidelines +to determine the extent of manybody correlations present in a CG +model.:ref:`(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) `, .. 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) ` 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 ` shift, table, and tail options. The local/density pair style does not write its information to :doc:`binary restart files `, 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 ` 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 6e2cefd091d0def069233a0e5a3106fde7c2ffc9..563b88920e7a8a6d51b0cf57b05dc839afb4bf19 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) ` command for details. @@ -122,9 +118,9 @@ If the suspension is sheared via the :doc:`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 `, @@ -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 ` 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 ` 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 ` shift option for the energy of the pair interaction. @@ -202,28 +192,25 @@ This pair style does not support the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 ` 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 ` 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 44eff991583c7cd82b83e81a7deb9fb31edbc983..5b485746c83171ddf97ceb6d17b914d536c99461 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) ` 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 `, @@ -137,7 +133,7 @@ for with the following types of walls: :doc:`wall/lj93 `, :doc:`wall/harmonic `. 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 ` 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 ` shift option for the energy of the pair interaction. @@ -185,21 +177,18 @@ This pair style does not support the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 ` 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 ` 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 2ec6cfc0afc4df4690d801fd8ca402f98109b594..983e817f1d53a191d841bf828b1fac7ec538e6aa 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) `. @@ -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 `. 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 ` shift option or long-range tail corrections to pressure and energy. -These styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These styles write their information to :doc:`binary restart 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 ` 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 7e91d6185ad49b01a526b21ddaa48162f53d2e3c..6c4da246253cefcc7d9c93cf56a0d26245444e43 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 `. 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 ` 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 ` 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 ` shift, table, and tail options. The *meam/spline* pair style does not write its information to :doc:`binary restart files `, 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 ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style requires the :doc:`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 827497e1a08ed8dc5a54ef0ad997dd49ce77b439..ebb51795c213294ef64c700b766a3153db1fceeb 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 `. 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 ` 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 `, 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 ` command. They do not support the *inner*\ , *middle*\ , *outer* keywords. - ---------- - Restrictions """""""""""" - This pair style requires the :doc:`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 60a6585e5b9e67e9130e460ed5dd5ead46a15ab2..850be5b583e88c3bc48b84ec01922818c2f36cd0 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 `. 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) ` 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) `) 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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: 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 4aea500e796abf2914783f9f555609d94a89c36d..6d9ba79a31750623e3885eb08d5c254a1f8ee4fb 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) ` and +and implementation details, the reader is referred to the +original papers :ref:`(Volkov1) ` and :ref:`(Volkov2) `. -The potential requires tabulated data provided in a single ASCII -text file specified in the :doc:`pair_coeff ` command. +The potential requires tabulated data provided in a single ASCII +text file specified in the :doc:`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 ` shift, table, and tail options. -The *mesocnt* pair style do not write their information to :doc:`binary restart files `, +The *mesocnt* pair style do not write their information to :doc:`binary restart files `, 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 ` 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 ` 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_meso.rst b/doc/src/pair_mesodpd.rst similarity index 87% rename from doc/src/pair_meso.rst rename to doc/src/pair_mesodpd.rst index a40ae3db10f0883335d7600e129f450d2d824e0c..b2e8507d61b0679b5fa1776b3dcac6202eb15a62 100644 --- a/doc/src/pair_meso.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) ` and :ref:`Li2015\_CC `. The time +:ref:`(Li2014_JCP) ` and :ref:`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) `. +see Eq.(15) in :ref:`(Li2014_JCP) `. The following coefficients must be defined in eDPD system for each pair of atom types via the :doc:`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 ` command as in the examples above. The *mdpd* style computes the many-body interactions between mDPD particles following the formulations in -:ref:`(Li2013\_POF) `. The dissipative and random forces are in +:ref:`(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) `. The time evolution of a tDPD particle is +:ref:`(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) `. 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) `. The +problem. The setup follows Fig.12 in :ref:`(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) `. The short mDPD run (about 2 minutes +from :ref:`(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) `. The output of the short tDPD simulation +:ref:`(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,14 +283,14 @@ the :doc:`pair_modify ` shift, table, and tail options. The styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* do not write information to :doc:`binary restart files `. 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 """""""""""" The pair styles *edpd*\ , *mdpd*\ , *mdpd/rhosum* and *tdpd* are part of -the USER-MESO package. It is only enabled if LAMMPS was built with +the USER-MESODPD package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. @@ -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 3d33d7da263c75c5929bcfc14370aa82cf9970f6..57fec82a7b8cc2c1bef1be3633a9e06ab96ffaa8 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 `, -:ref:`Moriarty3 `), which retains the form of E\_tot and permits +:ref:`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 `) and matrix @@ -67,12 +64,12 @@ algorithms have been developed independently by Glosli (:ref:`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 ` 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 ` -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 ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, 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 ` 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 ` 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 `. -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 ` 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 17018ddf97aaeb8ef901dbe9356e57d31a04eea5..527a568728797f5cf131f56e908bec7c8f258d4b 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 ` shift option for the energy of the pair interaction. @@ -84,7 +78,7 @@ This pair style supports the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 2b294574b1860cad6aeba21ea2e177c29bd3dac7..1338682b95ed78dbd4963786185ef8dc5f5b8e47 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) ` .. 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 ` 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 ` doc page for more info. diff --git a/doc/src/pair_modify.rst b/doc/src/pair_modify.rst index 5c78b93716290690a65a16596d4e2a0d8e8774b4..b8969c0131bcdff518f468dc581fde3a7366f9a9 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 ` 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 ` command or in the "Pair Coeffs" section of the :doc:`data file `. 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 ` 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 81a3eb33202890d5a005d83b4bf6d95144d4bbb4..ed9a0b98dd8a95f527e2a06165a2c445e011304d 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 ` 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 121d4fbc76a2e46a619548b44b74fcf858027601..d031c70cd2dd85cc4d1b7f1967b4c7161b292a0c 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 ` 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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands do not need +All of these pair styles write their information to :doc:`binary restart files `, 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 ` 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 ` doc page for more info. diff --git a/doc/src/pair_multi_lucy.rst b/doc/src/pair_multi_lucy.rst index 39b641361e36675930932be60e99bed421daf3d5..37da1ab9651203e2d205e0323112460167d51576 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) ` 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) ` or the publication by :ref:`(Moore) ` 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 ` 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 ` 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 `, so a pair\_style command does +This pair style writes the settings for the "pair_style multi/lucy" command +to :doc:`binary restart files `, 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 ` 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 ` 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 e057b184f7d4909ff4ffae0d23cdded76380449b..3824ca96cf1ac2409dda93cede3db15f48b50163 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) ` 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) ` or the publication by :ref:`(Moore) ` 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 ` -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 ` 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 `, 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 `, 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 ` 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 ` 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 ` 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 48a7038fb2f75beaf9ea6f8be987018954b8f7e6..c4f3f3c3e8c42b08b506da2ed8373da453fb17e1 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 ` doc page for more info. diff --git a/doc/src/pair_nm.rst b/doc/src/pair_nm.rst index 27bb11fe657f759f2126dd1ddffc21cdfe6cc1ad..196747b291d83fbbf11cfeec403015018fd322c3 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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands do not need +All of the *nm* pair styles write their information to :doc:`binary restart files `, 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 ` 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 ` 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 11a4a79163b51941c412c3076ca223c40bad5fca..2cb9cb608ac1aaf92186d3950027331306fa8850 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 f24520f473b0e4ab699c0600aa6492e281604b18..748a3affe7e681ca508a2ba4d2a028d1b6c58512 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) `. 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) `. 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 `_. Please cite also the relevant oxDNA publications -:ref:`(Ouldridge) `, +:ref:`(Ouldridge) `, :ref:`(Ouldridge-DPhil) ` and :ref:`(Sulc) `. ---------- - 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 ` doc page for more info. @@ -122,9 +117,8 @@ Related commands :doc:`bond_style oxdna2/fene `, :doc:`pair_style oxdna2/excv `, :doc:`bond_style oxrna2/fene `, :doc:`pair_style oxrna2/excv `, :doc:`fix nve/dotc/langevin ` - -**Default:** none +**Default:** none ---------- diff --git a/doc/src/pair_oxdna2.rst b/doc/src/pair_oxdna2.rst index 368a203b8ab4efe2950727a48b3a0b03ffa04bbc..465f46a9138eb0008f486e9343c448fc60a9de47 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) `. 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) `. 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 ` 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 38e77e33686ffb6f554056847e6f6a5e81d30a83..0cca929c49c1ad15980df7a2ec759bb03e69d8b2 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) `. 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) `. 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 ` 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 d08da012f2f503a322d2f0d93806adaf022bd6c3..2b3d3e9b9916d7fc385bd9dc4a4e2032e83d3384 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 `_ and -`doc/PDF/PDLammps\_EPS.pdf `_. For questions +LAMMPS distribution in `doc/PDF/PDLammps_VES.pdf `_ and +`doc/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 ` 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 ` table and tail options are not relevant for these pair styles. -These pair styles write their information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +These pair styles write their information to :doc:`binary restart files `, 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 ` 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 ` 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 b19f3b9f3b8a5fa88c334023030488c3fffd3312..e06e9e78555b81a78527d6968bb8fcfc93e65d59 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 `) 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 ` or :ref:`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 `) type if we set .. math:: @@ -114,12 +109,11 @@ The potential reduces to Rockett-Tersoff (:ref:`Wang `) 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 `) 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 `) type if we set 0, & r \geq r_{c,1,IJ} \\ \end{array}\right. - The potential becomes embedded atom method (:ref:`Daw `) if we set .. math:: @@ -147,12 +139,11 @@ The potential becomes embedded atom method (:ref:`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 ` shift, table, and tail options. This pair style does not write their information to :doc:`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 +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 ` - ---------- - .. _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 23c83ed52edf77d48b18c4f4c9efc4dc28771a04..fa76d4c16c32d4ad96b91593c16cf6192dcb0d2c 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 ` 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 ` 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` doc page for more info. diff --git a/doc/src/pair_quip.rst b/doc/src/pair_quip.rst index 4c91677f0892974601f5de9d631b94507c88c827..7781f3a9fbc6c34f5eb3f6075ac064aa1715a583 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) ` and :ref:`(PhD thesis of Bartok) `. -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 ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` doc page for more info. @@ -86,7 +83,7 @@ therefore should be used with LAMMPS metal :doc:`units `. QUIP potentials are generally not designed to work with the scaling factors set by the :doc:`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 ` - ---------- +.. _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 ee5eb878c87e0f062ed6d11e61182311427458d6..e40fbe60c1eb725c50a96cd935af313aad59ef7e 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 ` 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 ` command be used with *pair\_style reax/c* +Therefore, by default, LAMMPS requires that the :doc:`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) - -bond\_info: 1 prints bonds in the trajectory file (default = 0) +atom_velocities: 1 adds atomic velocities to atoms line (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 ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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 ` 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 a28549c344f8dc6e8acd1e11ff954b6733e2c683..5bb4de7cb25009a1ab4648d4a69f455a4f9ddeb8 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 ` 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 `, and there is no "pair\_coeff I I" +:doc:`pair_style 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) `: @@ -157,12 +154,10 @@ contact curvatures :ref:`(Everaers) `: 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 ` 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 ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` command. It does not support the *inner*\ , *middle*\ , *outer* keywords of the :doc:`run_style command `. - ---------- - 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 ` 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 ba282628133924a56407c3721e9b401303b4f2d9..2a5167030b5925be4e619b9007ef6598faea5df1 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) ` and :ref:`(DeVane) `. Rc is the cutoff. @@ -100,7 +96,7 @@ above, or in the data file or restart files read by the :doc:`read_data ` or :doc:`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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands do +All of the lj/sdk pair styles write their information to :doc:`binary restart files `, 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 ` 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 7a60fdef65edd2e25944876fa620637dbe15001c..05e7bbfac094125bc981baf78e16816053b0f885 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) ` 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 ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. 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 `. 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 ` 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 ` 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 6395c76a1b0397719597065647e913bdebf7e335..fd7f9c3e010213bbb703cccf51a381186eafce77 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 +cannot penetrate into each other. The parameter 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 ` doc page for more info. diff --git a/doc/src/pair_smd_tlsph.rst b/doc/src/pair_smd_tlsph.rst index 4b5d7cf1ccef31a77db647fd815d746b82c2b4d0..ea819325b4ab76a377aa0488cd4e886267f6e30b 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 `_ 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 ` doc page for more info. diff --git a/doc/src/pair_smd_triangulated_surface.rst b/doc/src/pair_smd_triangulated_surface.rst index 14495d6b065aeffe12007dd1d0ee244bb31e1247..d1177b257723b336921efbc9df3b2c71c19797a6 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. +:doc:`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 has units of pressure and should equal +parameter 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 ` doc page for more info. diff --git a/doc/src/pair_smd_ulsph.rst b/doc/src/pair_smd_ulsph.rst index 32a49b14eaa28add72619c064fc2badacd534f65..6210de2423a6762a25bd049a52f7301baf3c00fb 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 `_ 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 ` doc page for more info. diff --git a/doc/src/pair_smtbq.rst b/doc/src/pair_smtbq.rst index b3ce8d7c5d632e3cf88453cb3b8d17b39ba33676..492820124ec270c2b7145b156a041420caef5656 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 ` and -:ref:`SMTB-Q\_2 `. Briefly, the energy of metallic-oxygen systems +tight-Binding QEq) potential as described in :ref:`SMTB-Q_1 ` and +:ref:`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 ` in :math:`\mathrm{TiO_2}`) and is not necessary +(e.g. :ref:`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 ` (parameter :math:`\beta` shown in +SrTiO3 :ref:`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 `. This method needs to determine the number of +:ref:`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 ` mix, shift, table, and tail options. This pair style does not write its information to :doc:`binary restart files `, 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 32c092ee69d4834d54b36f8ac5543d90c0a80a9c..06ed748a07d34900b844d7ead0efc0e242672ff1 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 `. 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 ` doc page. +Detailed definitions for all the other keywords +are given on the :doc:`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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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 ` 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 f1fa0af8028243b6f3b700b0aeec68c05312e33b..3339009052e7861ccd0804af4cdc74542c33a387 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 ` 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 ` 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 ` 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 ` table and tail options are not relevant for this pair style. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 efd4b426da689451753bce96de3971c4cfd2f0eb..45d064fdf5d2aad373ea55252466dce6329f3272 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 ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. 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 `. 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 ` 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 ` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff `, pair\_sph/rhosum +:doc:`pair_coeff `, pair_sph/rhosum **Default:** none diff --git a/doc/src/pair_sph_idealgas.rst b/doc/src/pair_sph_idealgas.rst index 2e1a2b9d534d6907c77c496667f142f611065654..fe874797eb5dd5974f62ce6201e0c3040a3e21ad 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 ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. 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 `. 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 ` 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 ` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff `, pair\_sph/rhosum +:doc:`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 45b611e4410664570eb04c892bad93ef032a3f28..bdfe530cfb8c255003b359a1e810544c2b2a4c6f 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 ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. 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 `. 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 ` 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 `, pair\_sph/rhosum +:doc:`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 68f55021e35d7e3ad4bb67b7a6dcc8603e55f281..b3148bcd6a453a287106ac322cd012d5c5464d6c 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 ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. 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 `. 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 ` 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 ` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff `, pair\_sph/taitwater +:doc:`pair_coeff `, pair_sph/taitwater **Default:** none diff --git a/doc/src/pair_sph_taitwater.rst b/doc/src/pair_sph_taitwater.rst index ae200ee024b67502fd879bd52894bcbbdf516245..3431a203199c95e959e054a9322499cae3c09abb 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 ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. 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 `. 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 ` 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 ` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff `, pair\_sph/rhosum +:doc:`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 c4dcb87758887a8f51dd9a37a5e017844bfb0a1b..9c65fd91ecee4033102bafd6f19316c423dedde5 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 ` shift, table, and tail options. -This style does not write information to :doc:`binary restart files `. 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 `. 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 ` 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 ` doc page for more info. Related commands """""""""""""""" -:doc:`pair_coeff `, pair\_sph/rhosum +:doc:`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 d1d35f9b8dbe730a9626e485228c53e29559caf5..fae22d5e8a1966fc3a07e1d985df89f3693f0908 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 ` must be defined to use this pair style. Currently, :doc:`kspace_style ewald/dipole/spin ` and :doc:`kspace_style pppm/dipole/spin ` support long-range magnetic dipole-dipole interactions. - ---------- - The :doc:`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 ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` doc page for more diff --git a/doc/src/pair_spin_dmi.rst b/doc/src/pair_spin_dmi.rst index 6ef65dfa933f7f107f82d17bae0f1d6fc6895fc9..dc2d22b30aa9f3a90b14faf469904f87a4a2fc77 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) `. @@ -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 ` doc page for more info. +atom_style "spin" was declared. See the :doc:`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 b2ad9a8f691c70af6e496d3283a7b2d0df5a76e9..14eefacceca47fb738937edb6fb39baf3a95abf6 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 ` doc page for more info. +atom_style "spin" was declared. See the :doc:`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 526806959f10c60c7cd310a01fd85037622ab6d7..a220299b07dec5e3ecd4727969f96997aee37063 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) `. - ---------- - 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 ` doc page for more info. +atom_style "spin" was declared. See the :doc:`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 872b40d5220e89e6051f9e3890aeaecb4a2ba20a..4e6eba1f34cb91e3b4cd84486ae8e75db07fc09a 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) `. - ---------- - 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 ` doc page for more info. +atom_style "spin" was declared. See the :doc:`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 8762f3e4a9c826bdd96ac7fafc5237dd725098ac..01517df434a7a55b7730dbdfeaf88b46b0be45b7 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 ` 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 `. Pair srp should be used with :doc:`pair_style hybrid `, thus the pair\_coeff commands need to be +This pair style writes global and per-atom information to :doc:`binary restart files `. Pair srp should be used with :doc:`pair_style 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 ` 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 96d8eb1d04d3f6799e972705330861c07535c2af..0433dfa8611e849347ecc93985f0b4679037b818 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 ` 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 ` 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 ` 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 ` command. There are also additional accelerated pair styles included in the @@ -162,7 +158,7 @@ accelerated styles exist. * :doc:`eam/fs ` - Finnis-Sinclair EAM * :doc:`edip ` - three-body EDIP potential * :doc:`edip/multi ` - multi-element EDIP potential -* :doc:`edpd ` - eDPD particle interactions +* :doc:`edpd ` - eDPD particle interactions * :doc:`eff/cut ` - electron force field with a cutoff * :doc:`eim ` - embedded ion method (EIM) * :doc:`exp6/rx ` - reactive DPD potential @@ -239,8 +235,8 @@ accelerated styles exist. * :doc:`lubricate/poly ` - hydrodynamic lubrication forces with polydispersity * :doc:`lubricateU ` - hydrodynamic lubrication forces for Fast Lubrication Dynamics * :doc:`lubricateU/poly ` - hydrodynamic lubrication forces for Fast Lubrication with polydispersity -* :doc:`mdpd ` - mDPD particle interactions -* :doc:`mdpd/rhosum ` - mDPD particle interactions for mass density +* :doc:`mdpd ` - mDPD particle interactions +* :doc:`mdpd/rhosum ` - mDPD particle interactions for mass density * :doc:`meam/c ` - modified embedded atom method (MEAM) in C * :doc:`meam/spline ` - splined version of MEAM * :doc:`meam/sw/spline ` - splined version of MEAM with a Stillinger-Weber term @@ -309,7 +305,7 @@ accelerated styles exist. * :doc:`sw ` - Stillinger-Weber 3-body potential * :doc:`table ` - tabulated pair potential * :doc:`table/rx ` - -* :doc:`tdpd ` - tDPD particle interactions +* :doc:`tdpd ` - tDPD particle interactions * :doc:`tersoff ` - Tersoff 3-body potential * :doc:`tersoff/mod ` - modified Tersoff 3-body potential * :doc:`tersoff/mod/c ` - @@ -327,14 +323,11 @@ accelerated styles exist. * :doc:`yukawa/colloid ` - screened Yukawa potential for finite-size particles * :doc:`zbl ` - Ziegler-Biersack-Littmark potential - ---------- - Restrictions """""""""""" - This command must be used before any coefficients are set by the :doc:`pair_coeff `, :doc:`read_data `, or :doc:`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 39ece6ea978c2ede40e5e59b6300d4da1eb0fa53..f7999c720a26d1ddbd0ebff42e66a339bdd1a136 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 ` 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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 9bfd22f8dc3345a27e4fb04adcdbb6b72ee5b823..9d1a21f1dce7f6157303c58db8446604d57cf473 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 ` 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 `. 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 ` 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 ` 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 ` 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 ` 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 `, so a pair\_style command does +This pair style writes the settings for the "pair_style table" command +to :doc:`binary restart files `, 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 ` 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 c98e3372e0e9cc8257bcb67b79e1340bbb9e82a9..32863cbd295748a17accd88466ebc27bd3d02889 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 ` 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 ` 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 ` 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 `, so a pair\_style command does +This pair style writes the settings for the "pair_style table/rx" command +to :doc:`binary restart files `, 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 ` 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 ` 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 ` 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 655a4bb47a5e763d1a880c7c2281563a76e9844a..7881c8ee709790bce832a08e8d2d3e40d451cdb2 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) ` for the energy E of a system of atoms as +:ref:`(Tersoff_1) ` 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) ` are not symmetric. +Tersoff_2 :ref:`(Tersoff_2) ` 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. ` 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) `. +equivalent form for alloys, which we will refer to as Tersoff_2 +potential :ref:`(Tersoff_2) `. 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 ` 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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 bcbeb6f13838b5f949524ff02266d90151903f60..3d5bdbdaee4bf25e7c67e17f98e4011f4ef28143 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) ` based on a 3-body Tersoff -potential :ref:`(Tersoff\_1) `, :ref:`(Tersoff\_2) ` with +potential :ref:`(Tersoff_1) `, :ref:`(Tersoff_2) ` 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) ` 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) `. -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 ` 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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\_1)** J. Tersoff, Phys Rev B, 37, 6991 (1988). +.. _Tersoff_12: -.. _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 19cbafa192871a63f36c55dab32df39fa841c9dd..fe86ef2cbb4c2808c5904a98b9727c45b73e4bc0 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) ` with a close-separation pairwise modification +:ref:`(Tersoff_1) ` with a close-separation pairwise modification based on a Coulomb potential and the Ziegler-Biersack-Littmark universal screening function :ref:`(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) ` are not symmetric. +Tersoff_2 :ref:`(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) `. +Tersoff_2 potential :ref:`(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 ` 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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 b3d33f6036c9b9cc23f3272585c7e7ba46db541e..7adf26746974e0eb4c19b81e07963135a3ade192 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 ` 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 ` doc page for more info. -This pair\_style should currently not be used with the :doc:`charmm dihedral style ` if the latter has non-zero 1-4 weighting +This pair_style should currently not be used with the :doc:`charmm dihedral style ` 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 9d021f79a48e8f81f4d6d45c49f37c98023a3ea6..1dd69778ed7070b32b1d821a4e34e9d3c20778ec 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 ` @@ -99,14 +97,11 @@ This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` 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 ` doc page for more info. diff --git a/doc/src/pair_ufm.rst b/doc/src/pair_ufm.rst index bf567bb821ea47b93945eb1fbe05643bf083fd91..2562b2fc2f874cd6318ff2f71fdacc69edb03eb6 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 ` 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) `. - ---------- - 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 ` 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 ` 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 ` tail option for adding long-range tail corrections to energy and pressure. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 f3e9ce1db0e604b68b10a7f5abc90cf37520274c..044709d65db4564caa0950a4ee88c35725e30bce 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 `. :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 ` 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 ` shift, table, and tail options. This pair style does not write its information to :doc:`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 +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 ` 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 ` 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 69639e3f99f702329294ad91d659c640a28465c3..acb6de4f13afed07037e987301aac8bb544e3f86 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 15b9f0fc0b419ffc9502c1feb116363eb29b8945..fad035ed4b63f44ec83723f097d5deb93c842e53 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 ` 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 ` shift option for the energy of the pair interaction. @@ -100,17 +93,15 @@ This pair style does not support the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 c8659cb15784b2cce5b9f22d977a4c856b8fe840..f775f3770309fc6e0ba8a177dba134ff787e75f6 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 `, 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 ` for a derivation in the context of DLVO -theory. :doc:`Pair\_style yukawa ` is a screened Coulombic +theory. :doc:`Pair_style 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 `. 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 ` 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 ` shift option for the energy of the pair interaction. @@ -132,21 +124,18 @@ This pair style does not support the :doc:`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 `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` 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 ` 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 f2f310dae9890d23814bce67e535692875b297ac..26960f71b3765e8fe910e9943f1e4cf054519c73 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) `. 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 ` 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 ` 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 ` 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 ` 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 `, so pair\_style and pair\_coeff commands must be +This pair style does not write information to :doc:`binary restart files `, 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 ` 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 0a9db6472a0af39685f6a04f6383392f66daed81..a704cf92f269820c820f5e6a84147c41d7a1cde1 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 ` shift, table, and tail options. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need +This pair style writes its information to :doc:`binary restart files `, 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 ` command. - ---------- - Restrictions """""""""""" none diff --git a/doc/src/pairs.rst b/doc/src/pairs.rst index 4fdf2b2c692a7b7fc568edc76c8d0a1161205684..b764c74cc7a36f14a989cfcfeac4b066efe24fe5 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 7ad5a4b3ed56d4624dea7bda48788be14612920e..be0e1152f5f2e4c978df3cc71939e667ad6b770c 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 ` 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 212439ddceda14abfe5d4833ad8610bc8eaa208f..c3bd1ad1d3297231aba83bff7248e87620c4cca7 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 ` 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 ` 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 ` 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 ` 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 ` 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 93534ba9b5481524e4d03ad06c139a2e6d032f70..b9ed8555fa2fd29877194e1bac8be8242b186a1a 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 2b3065316717d381af0fc010da982034cd2251c0..899c87f4b03fea6d6c53898100f3b18823c2ba4f 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 ` 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 ` or :doc:`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 a92b2d84460d6e56e36b274a5c5f91ac635bab3e..70dfbb70ba5a092a04d27b64bbbc566d9fd4d080 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 ` 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 ` 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 ` 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 ` and :doc:`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 `. - ---------- - 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 ` doc page for more info. diff --git a/doc/src/quit.rst b/doc/src/quit.rst index 9741a7477d3e33f0d9a33ee6abd72b89453d26f4..8059232c6a84b720261fe36e9a4aab810c6f2477 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 ea36675bc6dee1773508889da463e4427a555a89..2714cee4c1fb59cdcd7197650703cc4b57c4e624 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 ` command. Note that atoms read from the data file are also always added to the "all" group. The :doc:`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 ` -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 ` command, or a previous read\_data command, +:doc:`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 ` 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 ` 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 ` 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 ` 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,32 +467,27 @@ 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 + .. 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 ` and @@ -513,60 +495,48 @@ angle style. See the :doc:`angle_style ` and also be set via the :doc:`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 `) - - - ---------- - *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 `) - - - ---------- - *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 + .. 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. @@ -574,26 +544,20 @@ 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 `) - - - ---------- - *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 ` -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 ` and :doc:`fix nvt/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 ` 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 ` or :doc:`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 ` 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,27 +852,23 @@ 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 + .. 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 ` and @@ -924,101 +876,81 @@ bond style. See the :doc:`bond_style ` and also be set via the :doc:`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 `) - - - ---------- - *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 `) - - - ---------- - *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 `) - - - ---------- - *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 + .. 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 + .. 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 ` and @@ -1026,55 +958,47 @@ dihedral style. See the :doc:`dihedral_style ` and Coefficients can also be set via the :doc:`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 + .. 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 + .. parsed-literal:: + 12 1 2 1 1 0 0 0 The *Ellipsoids* section must appear if :doc:`atom_style ellipsoid ` is used and any atoms are listed in the *Atoms* section with an ellipsoidflag = 1. The number of ellipsoids @@ -1099,43 +1023,35 @@ 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 `) - - - ---------- - *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 + .. 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 ` and @@ -1143,28 +1059,24 @@ improper style. See the :doc:`improper_style ` and Coefficients can also be set via the :doc:`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 + .. 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 `. See the doc pages for individual styles @@ -1173,28 +1085,24 @@ 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 + .. parsed-literal:: + 12 1.0 0.0 2.0 0.0 The *Lines* section must appear if :doc:`atom_style line ` is used and any atoms are listed in the *Atoms* section with a @@ -1210,137 +1118,117 @@ 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 + .. parsed-literal:: + 3 1.01 This defines the mass of each atom type. This can also be set via the :doc:`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 `. - ---------- - *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 `) - - - ---------- - *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 + .. 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 ` and :doc:`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 ` command for details. Pair coefficients can also +individual pair_style doc pages and the :doc:`pair_modify mix ` command for details. Pair coefficients can also be set via the :doc:`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 ` and :doc:`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 ` command for details. Pair coefficients can also +individual pair_style doc pages and the :doc:`pair_modify mix ` command for details. Pair coefficients can also be set via the :doc:`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 + .. 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 ` is used and any atoms are listed in the *Atoms* section with a triangleflag = 1. The number of lines should be @@ -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 ` 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 ` 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 ` 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 ` +-DLAMMPS_GZIP option. See the :doc:`Build settings ` doc page for details. Related commands diff --git a/doc/src/read_dump.rst b/doc/src/read_dump.rst index 5de1e8f25d027329d3077b3f40d3c2fd53eaaa42..c46c12c951c8d8778adec475648a14c1fdbf7d78 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 `, :doc:`read_data `, or -:doc:`read_restart ` commands. The read\_dump command can +:doc:`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 ` -command, before using the read\_dump command, or by the :doc:`set ` +command, before using the read_dump command, or by the :doc:`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 ` command. The +The *adios* format supports reading data that was written by the +:doc:`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 ` 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 ` 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 ` +-DLAMMPS_GZIP option. See the :doc:`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 e4c7a7b7cf916dfab4d807a820bd25d35597c770..ef77cef1afe6b94aa7797d52841c9bad62b352d2 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 ` or :doc:`fix balance ` comm Normally, restart files are written by the :doc:`restart ` or :doc:`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 ` and :doc:`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 ` 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 ` 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 f1d008cbd37c79baa75d69226eb1beba16da1bc4..9f2d996b208e4e59041f3d1de93fee3395970cdd 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 `. 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 ` 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 ` 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 94d899a459a825b0c131055d4dc00979acdaeb3c..18038ae2dd853d8a2934749c405fc8810641ae06 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 + .. 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 aa244e7d72de319cd025cd2b544e7e17aabb8cb8..8463fd774b198bf90b1422aac40d7d97a173bd13 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 ` 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 ` and :doc:`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 ` 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 ` +-DLAMMPS_GZIP option. See the :doc:`Build settings ` doc page for details. Related commands diff --git a/doc/src/reset_ids.rst b/doc/src/reset_ids.rst index 29b8c1ca70a3d6b739b25156c07e8029fbf16758..13a374fc293faf261b1318af1a5e3db13a4017c7 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 ` command explains. communication was not sufficient to find atoms in bonds, angles, etc that are owned by other processors. The :doc:`comm_modify cutoff ` 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 5dcaf9daf41c0642473290016d5bb785ec90a17a..b985bd41546915f4cdb6e6e616d084803fcc0817 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 6ff78d2f970a04b6b5acd9c642e60b2e4260fbf4..fd4c1e9e24f428d8461717d407202c49324bcb5b 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 `, which should be specified as v\_name, where +Instead of a numeric value, N can be specified as an :doc:`equal-style 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 ` 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 ` 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 440d21d9597738980fddea37eb0ab46a09e1d9dd..f36fb731878c2a25ff5e7687e59ddb4a842b6081 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 7008f6f6bf0f6383c366c0c16df412d19554d2c2..474eab2b856389f8e26c36cb708ee06d9c7cd039 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 ` @@ -88,7 +83,7 @@ partition. This include the :doc:`pair style `, :doc:`bond 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 ` 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 ` 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 ` command has options to support this, and strategies are discussed in :doc:`Section 5 ` of the manual. - ---------- - The *respa* style implements the rRESPA multi-timescale integrator :ref:`(Tuckerman) ` 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 ` 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 ` 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 c0aeef2565267c709e8abf684d2b8aa788cc248b..a25d97ba40cf739eece7a18df4616fedb4ea1361 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 ` 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 ` doc page for more info. diff --git a/doc/src/server_mc.rst b/doc/src/server_mc.rst index 1953cac687b8288f49b418f5d7777f1927cf3970..e4846a7a337322265a2869502dd066d6ceb5b041 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 ` command Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS server mc @@ -43,12 +41,10 @@ processed. The :doc:`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 `_ doc +the two codes. See the `CSlib website `_ 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 ` doc page for more info. diff --git a/doc/src/server_md.rst b/doc/src/server_md.rst index 9a2ae5e8807e93bfe56d465f3a5b0f6e8e9df3c4..8304c808b284a7f4ba215724d68003288c01945c 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 ` command Examples """""""" - -.. parsed-literal:: +.. code-block:: LAMMPS server md @@ -45,10 +43,8 @@ The :doc:`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 `_ doc +the two codes. See the `CSlib website `_ 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 ` doc page for more info. diff --git a/doc/src/server_md.txt b/doc/src/server_md.txt deleted file mode 100644 index daa6ab57ceb644ae82d7da655dd292ef7275f861..0000000000000000000000000000000000000000 --- 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 c633587b2500e420304e57f13ded38139299e2d6..84792d1a585151d3b684c11400cca24d8f6ad76d 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 ` and :doc:`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 ` 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 @@ -462,28 +454,27 @@ value >= 0.0, the internal temperature is set to that value. If it is temperature is set to that value. Keywords *edpd/temp* and *edpd/cv* set the temperature and volumetric -heat capacity of an eDPD particle as defined by the USER-MESO package. +heat capacity of an eDPD particle as defined by the USER-MESODPD package. Currently, only :doc:`atom_style edpd ` defines particles with these attributes. The values for the temperature and heat capacity must be positive. Keyword *cc* sets the chemical concentration of a tDPD particle for a -specified species as defined by the USER-MESO package. Currently, only +specified species as defined by the USER-MESODPD package. Currently, only :doc:`atom_style tdpd ` 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 ` 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 ` does not have that attribute. diff --git a/doc/src/shell.rst b/doc/src/shell.rst index 9cb94dd93f2887ba3ea1bc3fa5d6dcbb77677f5f..a7646a74d2edd70f64548f8961bbc458f4a4e673 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 8c9a082c286b0e0ca54752510bb5dd0f4aff190f..d00467b3e88c7325b1313983d5bbfec45814b55a 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 ` 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 f24bdadfdc169e7a885d3bbbd86dbe509b095b09..ba94214a9b61bbf58207f60f2c95611419d5b552 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 ` 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 ` 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 206c915e3f6bdb2c8e9025c222f54a3d094da5e8..7f4845dc3c5988161824b3546608060128927bc3 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 ` 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 `, 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 ` 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 ` 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 ` 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 ` command, and *neb\_log* = "none". - +10, *neb_style* = *quickmin*\ , *neb_step* = the same timestep set by +the :doc:`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 018d8b9b7aabf171fb9d1bfff2742ccd220dbb8c..bb470f0cc00a80f4b326688cb2b83d9ead8568bb 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 ` 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 ` doc page for more info. diff --git a/doc/src/temper_grem.rst b/doc/src/temper_grem.rst index 150e2f27db8ff5a8bf2ac34b643bcf1700f51761..c492adfa69cac2383c2e023cd6494c4d765bd6e7 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 `. 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 ` command for more details. For example: +lambda as per the generalized ensemble enforced by :doc:`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 +` 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 ` 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 `. - ---------- - Restrictions """""""""""" - This command can only be used if LAMMPS was built with the USER-MISC package. See the :doc:`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 e8db3eca8640dee9c105d20489a6b9ec2563cf66..e0897886f40d9e7577e7ba9390057b5872d97948 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 ` command. See the documentation on :doc:`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 ` 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 08e1e4cbbb16893b2c1e6b1640c4c7d2c023719d..154fd5943133bfcac9d2ab356bf284074084e95a 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 ` and :doc:`thermo_modify ` commands. -Instead of a numeric value, N can be specified as an :doc:`equal-style variable `, which should be specified as v\_name, where +Instead of a numeric value, N can be specified as an :doc:`equal-style 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 `. 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 1fa84a40f4ea0be8260eaf104bb9a580bb99141e..3cec2301894b1f5aaf7bf6c0ad44972c6385fc66 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 ` 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 ` command @@ -148,7 +144,7 @@ The specified compute ID must have been previously defined by the user via the :doc:`compute ` command and it must be a style of compute that calculates a temperature. As described in the :doc:`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 ` command and it must be a style of compute that calculates a pressure. As described in the :doc:`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 ` 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 b09316061125df891030b190bb5c65974eb526ff..dbb634a2b0639b6a5b63403890104fffdf3adae0 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 `, :doc:`fixes `, and equal-style :doc:`variables ` 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 ` command. Options invoked by the :doc:`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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 `, 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 `) 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 `, :doc:`read_restart `, or :doc:`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 3356bd007f48122bf671a5ff74958cdace3a2f61..2a6de933e0b05de6e8ec0de0df95eab6fdd760f1 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 b833542d09d34bfd470c38817fe28c4825547310..eac86656afa7535e855c461b1eb4d68840a9dbce 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 f3faaf25d283a24e18c4797bfbf9f456967ee022..7ee090740abf5648b8edc0ed69021b96138eb5e1 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 0950dd6bb2b6df51fdd848c7ac4721cb78531349..16efdb86bf15c4c55e5f7b869f037d1c99c74910 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 98c18ea8f7fc5e7b1440a3b2c30c755f88be1ff2..b45e10082b1b91cdd0823a00454a72f1e29a7e20 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 d85436c2755ddc632c7dab4b63e525bec27010d6..e5696a1d7ddfb512033520dc3b4f3fa23006ca3e 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 4104b428ce0779e7adabf3a2b5dbc8605bf6c7e6..95792f7edff0ddc7288b759998c01591c52ce462 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 ` or :doc:`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 9aeb9dc4ba2a931af284ff05dd907da6da8f7138..0e30efc0ab7b91d03769b07be11d564c95b00ab2 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 ` 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 ` 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 ` and :doc:`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 ` 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 ` to calculate their values such as "temp" or "press", use computes stored and invoked by the :doc:`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 ` 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 ` 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 ` 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 ` 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 ` 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 ` command. See the :doc:`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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 ` 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 631ef802636236080787beaaa352c56076b3954f..59ce0a19f681400aa0fdc22fe14ff4d4b7b8f63a 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 `. 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 ` 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 ` 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 ` 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 ` or :doc:`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 ` 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 ` 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 ` or :doc:`SHAKE constraints ` 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 ` command. Second, a few of the :doc:`atom styles ` (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 ` 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 54a55db6c6b39e7e58cb3b81c913fdcf6c286a25..f0f57bd6745a507afddf0d4e68e1fae0390968a3 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 ` (optional) * dump-modify-args = args for :doc:`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 ` 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 ` command, they will operate in the same fashion to create the new filename(s). Normally, :doc:`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 ` and :doc:`dump_modify ` commands apply to this command as well, with the exception of the :doc:`dump image ` filename not diff --git a/doc/src/write_restart.rst b/doc/src/write_restart.rst index cade19c0dcec259f21db9d1d91c2fc95e2156fbe..bdb77dd4b4f38cfebc98149e8ab117a7bd6ce0c3 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 ` 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 ` 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 ` 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 353eed8b6e197f7519bbbe8f90d405d87708f766..0000000000000000000000000000000000000000 --- 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 . -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 3ff23439de9c6841508a01a5f78d84acc6725e92..72536d494ffa670f7dca976f151dc437d66f21f2 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 a9f9cb952ad6906de5a812c8491f68ae07b362b5..ffb43e7bffec5fbda3396226a35beff0670e1978 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 1de0e66ecc8daa95c02aaa88b041b53df099d6b0..264c3fab5088491f8a20b639c0ae3273eea9d73f 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1705,6 +1705,8 @@ Merz meshless meso mesocnt +MESODPD +mesodpd mesoparticle mesoscale mesoscopic @@ -1927,6 +1929,7 @@ Nelement Nelements nemd netcdf +netstat Nettleton Neumann Nevent @@ -2277,8 +2280,6 @@ Prakash pre Pre prec -preceed -preceeded precession prefactor prefactors @@ -2671,7 +2672,6 @@ smtbq sna snad snapcoeff -snaphots snapparam snav Snodin @@ -2815,7 +2815,6 @@ tdamp tdpd tDPD Tdrude -Technolgy Telsa tempCorrCoeff templated @@ -3138,7 +3137,6 @@ Whelan whitesmoke Wi Wicaksono -wih Wijk Wikipedia wildcard diff --git a/examples/HEAT/README b/examples/HEAT/README index 89ad04398f2101a586adbc86293a6eadad76a7fc..ff6abb8dd67cd7312348e5e6a52cf3b3f8583d7b 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/USER/colvars/log.27Nov18.peptide-colvars.g++.1 b/examples/USER/colvars/log.27Nov18.peptide-colvars.g++.1 index 3b5203ba6f14e7b3b96d39d45476b3cf9f79a731..1003b9729eb4dc78693e86b19ae15f7eb7d76c27 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 586ebbc5c592e0ae10765ee89f44b130e9d72d06..91ef59b619489a5a749b95a639fa15970288307d 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 8e5c990f4069957d3a59e47326480636885c385a..df7aca475f069320c4144084472e5f360017b21a 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 47f1b672df59f86808ce551f29569f26332b61a8..b1916fda17ca9b342a5f1591dcd55ec032416948 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/meso/README b/examples/USER/mesodpd/README similarity index 100% rename from examples/USER/meso/README rename to examples/USER/mesodpd/README diff --git a/examples/USER/meso/edpd/in.edpd b/examples/USER/mesodpd/edpd/in.edpd similarity index 100% rename from examples/USER/meso/edpd/in.edpd rename to examples/USER/mesodpd/edpd/in.edpd diff --git a/examples/USER/meso/edpd/log.16Aug17.edpd.g++.1 b/examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.1 similarity index 100% rename from examples/USER/meso/edpd/log.16Aug17.edpd.g++.1 rename to examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.1 diff --git a/examples/USER/meso/edpd/log.16Aug17.edpd.g++.4 b/examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.4 similarity index 100% rename from examples/USER/meso/edpd/log.16Aug17.edpd.g++.4 rename to examples/USER/mesodpd/edpd/log.16Aug17.edpd.g++.4 diff --git a/examples/USER/meso/edpd/temp.profile.16Aug17.edpd.g++.1 b/examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 similarity index 100% rename from examples/USER/meso/edpd/temp.profile.16Aug17.edpd.g++.1 rename to examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.1 diff --git a/examples/USER/meso/edpd/temp.profile.16Aug17.edpd.g++.4 b/examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 similarity index 100% rename from examples/USER/meso/edpd/temp.profile.16Aug17.edpd.g++.4 rename to examples/USER/mesodpd/edpd/temp.profile.16Aug17.edpd.g++.4 diff --git a/examples/USER/meso/mdpd/in.mdpd b/examples/USER/mesodpd/mdpd/in.mdpd similarity index 100% rename from examples/USER/meso/mdpd/in.mdpd rename to examples/USER/mesodpd/mdpd/in.mdpd diff --git a/examples/USER/meso/mdpd/log.16Aug17.mdpd.g++.1 b/examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 similarity index 100% rename from examples/USER/meso/mdpd/log.16Aug17.mdpd.g++.1 rename to examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.1 diff --git a/examples/USER/meso/mdpd/log.16Aug17.mdpd.g++.4 b/examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 similarity index 100% rename from examples/USER/meso/mdpd/log.16Aug17.mdpd.g++.4 rename to examples/USER/mesodpd/mdpd/log.16Aug17.mdpd.g++.4 diff --git a/examples/USER/meso/tdpd/cc.profile.16Aug17.tdpd.g++.1 b/examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 similarity index 100% rename from examples/USER/meso/tdpd/cc.profile.16Aug17.tdpd.g++.1 rename to examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.1 diff --git a/examples/USER/meso/tdpd/cc.profile.16Aug17.tdpd.g++.4 b/examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 similarity index 100% rename from examples/USER/meso/tdpd/cc.profile.16Aug17.tdpd.g++.4 rename to examples/USER/mesodpd/tdpd/cc.profile.16Aug17.tdpd.g++.4 diff --git a/examples/USER/meso/tdpd/in.tdpd b/examples/USER/mesodpd/tdpd/in.tdpd similarity index 100% rename from examples/USER/meso/tdpd/in.tdpd rename to examples/USER/mesodpd/tdpd/in.tdpd diff --git a/examples/USER/meso/tdpd/log.16Aug17.tdpd.g++.1 b/examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 similarity index 100% rename from examples/USER/meso/tdpd/log.16Aug17.tdpd.g++.1 rename to examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.1 diff --git a/examples/USER/meso/tdpd/log.16Aug17.tdpd.g++.4 b/examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 similarity index 100% rename from examples/USER/meso/tdpd/log.16Aug17.tdpd.g++.4 rename to examples/USER/mesodpd/tdpd/log.16Aug17.tdpd.g++.4 diff --git a/examples/USER/misc/rhok/README.md b/examples/USER/misc/rhok/README.md index 4e011255fcc8e7628379451a94ee30db8ec867a3..cbef8e9e147e75cadd187a21eaf1959bd63e9c5d 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 2e853bc5c335a4b1727bdac6a6b186709f34e054..383d4b688c38dade9105795df43c158aec6fbff7 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/lib/colvars/README b/lib/colvars/README index 6be1b8dd58638c1877e5fd7336a87252d0d294d0..cd6e59511a518134932866de614e289b52b4f7e2 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/colvarmodule.cpp b/lib/colvars/colvarmodule.cpp index 83632d9458de23809700d4201bc7f4200e0545ce..1d5f75bbca9faef1ec3bab1eadf7f7ca52183a30 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/linalg/iparam2stage.F b/lib/linalg/iparam2stage.F index 60bd0b696b8398b2a7bb7aed329441e8432bb26d..7062b45aac1c1b0fda0dd967ec6d6b7ced91b8be 100644 --- a/lib/linalg/iparam2stage.F +++ b/lib/linalg/iparam2stage.F @@ -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/potentials/AlSiMgCuFe.meam b/potentials/AlSiMgCuFe.meam index 30f1c78df82faf1adb3ecfd560ee7785ca03e77d..bbc8894a049070cc3672d7cdb57440d9f3421d34 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/CH.airebo-m b/potentials/CH.airebo-m index fb543dd58f188c3ca6e253436530a837bf914b17..3a0299c1619dbeef75f12146c537cd6e228c7f10 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/lammps.py b/python/lammps.py index 2e597f9e18291103d928e62d859af2763914675f..484c30d9acf4a01a3b0a43ee9a8b1e969435a69b 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) diff --git a/src/KIM/kim_init.h b/src/KIM/kim_init.h index 62c404212bd1690aa034d664fe9f67336b5c6786..7d0689621543cc0e4dacaf03b14cda79be0ab029 100644 --- a/src/KIM/kim_init.h +++ b/src/KIM/kim_init.h @@ -69,7 +69,7 @@ CommandStyle(kim_init,KimInit) #include // Forward declaration. -class KIM_Model; +typedef struct KIM_Model KIM_Model; namespace LAMMPS_NS { diff --git a/src/KOKKOS/pair_snap_kokkos.h b/src/KOKKOS/pair_snap_kokkos.h index f20ab3423122fa7720a035f4b6e70df5c4ee3f8e..e53dec4d86576420e4dab6f497cee3bb77a6270b 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 PairSNAPKokkos : public PairSNAP { @@ -74,11 +78,17 @@ public: void operator() (TagPairSNAPComputeNeigh,const typename Kokkos::TeamPolicy::member_type& team) const; KOKKOS_INLINE_FUNCTION - void operator() (TagPairSNAPPreUi,const int& ii) const; + void operator() (TagPairSNAPPreUi,const typename Kokkos::TeamPolicy::member_type& team) const; KOKKOS_INLINE_FUNCTION void operator() (TagPairSNAPComputeUi,const typename Kokkos::TeamPolicy::member_type& team) const; + KOKKOS_INLINE_FUNCTION + void operator() (TagPairSNAPComputeUiTot,const typename Kokkos::TeamPolicy::member_type& team) const; + + KOKKOS_INLINE_FUNCTION + void operator() (TagPairSNAPComputeUiCPU,const typename Kokkos::TeamPolicy::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::member_type& team) const; KOKKOS_INLINE_FUNCTION - void operator() (TagPairSNAPZeroYi,const int& ii) const; + void operator() (TagPairSNAPZeroYi,const typename Kokkos::TeamPolicy::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::member_type& team) const; + KOKKOS_INLINE_FUNCTION + void operator() (TagPairSNAPComputeDuidrjCPU,const typename Kokkos::TeamPolicy::member_type& team) const; + KOKKOS_INLINE_FUNCTION void operator() (TagPairSNAPComputeDeidrj,const typename Kokkos::TeamPolicy::member_type& team) const; + KOKKOS_INLINE_FUNCTION + void operator() (TagPairSNAPComputeDeidrjCPU,const typename Kokkos::TeamPolicy::member_type& team) const; + KOKKOS_INLINE_FUNCTION void operator() (TagPairSNAPBeta,const typename Kokkos::TeamPolicy::member_type& team) const; diff --git a/src/KOKKOS/pair_snap_kokkos_impl.h b/src/KOKKOS/pair_snap_kokkos_impl.h index 32b63cb776f3e48770bec92a99971b8b751c4a98..1156d11c3181f3068d29677d1708e8351268c5a6 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 @@ -29,6 +30,7 @@ #include "kokkos.h" #include "sna.h" + #define MAXLINE 1024 #define MAXWORD 3 @@ -194,7 +196,7 @@ void PairSNAPKokkos::compute(int eflag_in, int vflag_in) if (beta_max < inum) { beta_max = inum; - d_beta = Kokkos::View("PairSNAPKokkos:beta",inum,ncoeff); + d_beta = Kokkos::View("PairSNAPKokkos:beta",ncoeff,inum); d_ninside = Kokkos::View("PairSNAPKokkos:ninside",inum); } @@ -205,6 +207,8 @@ void PairSNAPKokkos::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::compute(int eflag_in, int vflag_in) Kokkos::parallel_for("ComputeNeigh",policy_neigh,*this); //PreUi - typename Kokkos::RangePolicy 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::team_size_max(*this); + if (team_size*vector_length > team_size_max) + team_size = team_size_max/vector_length; + } + typename Kokkos::TeamPolicy policy_preui((chunk_size+team_size-1)/team_size,team_size,vector_length); + Kokkos::parallel_for("PreUi",policy_preui,*this); + } - //ComputeUi - typename Kokkos::TeamPolicy 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 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::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 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 > + 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::team_size_max(*this); + if (team_size*vector_length > team_size_max) + team_size = team_size_max/vector_length; + + typename Kokkos::TeamPolicy 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::compute(int eflag_in, int vflag_in) //ComputeBi typename Kokkos::TeamPolicy 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 policy_beta(chunk_size,team_size,vector_length); Kokkos::parallel_for("ComputeBeta",policy_beta,*this); - //ComputeYi - typename Kokkos::RangePolicy 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::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 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::compute(int eflag_in, int vflag_in) Kokkos::parallel_for("ComputeYi",policy_yi,*this); //ComputeDuidrj - typename Kokkos::TeamPolicy 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 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::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 > + ScratchViewType; + + int scratch_size = ScratchViewType::shmem_size( 4 * team_size * (twojmax+1)*(twojmax+1)); + typename Kokkos::TeamPolicy 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 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 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::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 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::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::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::operator() (TagPairSNAPComputeNeigh,const typen template KOKKOS_INLINE_FUNCTION -void PairSNAPKokkos::operator() (TagPairSNAPPreUi,const int& ii) const { +void PairSNAPKokkos::operator() (TagPairSNAPPreUi,const typename Kokkos::TeamPolicy::member_type& team) const { SNAKokkos 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 @@ -514,8 +631,7 @@ void PairSNAPKokkos::operator() (TagPairSNAPComputeUi,const typename SNAKokkos 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::operator() (TagPairSNAPComputeUi,const typename template KOKKOS_INLINE_FUNCTION -void PairSNAPKokkos::operator() (TagPairSNAPZeroYi,const int& ii) const { +void PairSNAPKokkos::operator() (TagPairSNAPComputeUiTot,const typename Kokkos::TeamPolicy::member_type& team) const { + SNAKokkos 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; + + // Extract the number of neighbors neighbor number + const int ninside = d_ninside(ii); + + my_sna.compute_uitot(team,idx,ii,ninside); +} + +template +KOKKOS_INLINE_FUNCTION +void PairSNAPKokkos::operator() (TagPairSNAPComputeUiCPU,const typename Kokkos::TeamPolicy::member_type& team) const { + SNAKokkos 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 +KOKKOS_INLINE_FUNCTION +void PairSNAPKokkos::operator() (TagPairSNAPZeroYi,const typename Kokkos::TeamPolicy::member_type& team) const { SNAKokkos 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; + + my_sna.zero_yi(idx,ii); } template @@ -561,8 +722,7 @@ void PairSNAPKokkos::operator() (TagPairSNAPComputeDuidrj,const type SNAKokkos 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::operator() (TagPairSNAPComputeDuidrj,const type my_sna.compute_duidrj(team,ii,jj); } +template +KOKKOS_INLINE_FUNCTION +void PairSNAPKokkos::operator() (TagPairSNAPComputeDuidrjCPU,const typename Kokkos::TeamPolicy::member_type& team) const { + SNAKokkos 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 KOKKOS_INLINE_FUNCTION void PairSNAPKokkos::operator() (TagPairSNAPComputeDeidrj,const typename Kokkos::TeamPolicy::member_type& team) const { SNAKokkos 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::operator() (TagPairSNAPComputeDeidrj,const type my_sna.compute_deidrj(team,ii,jj); } +template +KOKKOS_INLINE_FUNCTION +void PairSNAPKokkos::operator() (TagPairSNAPComputeDeidrjCPU,const typename Kokkos::TeamPolicy::member_type& team) const { + SNAKokkos 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 template KOKKOS_INLINE_FUNCTION @@ -658,17 +852,17 @@ void PairSNAPKokkos::operator() (TagPairSNAPComputeForce +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(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 +KOKKOS_FORCEINLINE_FUNCTION SNAComplex operator*(const real& r, const SNAComplex& self) { + return SNAComplex(r*self.re, r*self.im); +} + +typedef SNAComplex SNAcomplex; + //struct SNAKK_ZINDICES { // int j1, j2, j, ma1min, ma2max, mb1min, mb2max, na, nb, jju; //}; @@ -58,6 +92,7 @@ public: typedef Kokkos::View > t_sna_1d_atomic; typedef Kokkos::View t_sna_2i; typedef Kokkos::View t_sna_2d; + typedef Kokkos::View t_sna_2d_ll; typedef Kokkos::View t_sna_3d; typedef Kokkos::View t_sna_4d; typedef Kokkos::View t_sna_3d3; @@ -66,32 +101,15 @@ public: typedef Kokkos::View t_sna_1c; typedef Kokkos::View > t_sna_1c_atomic; typedef Kokkos::View t_sna_2c; + typedef Kokkos::View t_sna_2c_ll; typedef Kokkos::View t_sna_2c_lr; typedef Kokkos::View t_sna_3c; + typedef Kokkos::View t_sna_3c_ll; typedef Kokkos::View t_sna_4c; + typedef Kokkos::View t_sna_4c_ll; typedef Kokkos::View t_sna_3c3; typedef Kokkos::View t_sna_5c; -// Helper class to get ulisttot_r - -template -class UlisttotHelper { -public: - inline - static void transpose(T1 &ulisttot_lr, const T2 &ulisttot) { - Kokkos::deep_copy(ulisttot_lr,ulisttot); - } -}; - -template -class UlisttotHelper { -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::member_type& team,const int&); // ForceSNAP KOKKOS_INLINE_FUNCTION void compute_ui(const typename Kokkos::TeamPolicy::member_type& team, int, int); // ForceSNAP KOKKOS_INLINE_FUNCTION + void compute_ui_cpu(const typename Kokkos::TeamPolicy::member_type& team, int, int); // ForceSNAP + KOKKOS_INLINE_FUNCTION void compute_ui_orig(const typename Kokkos::TeamPolicy::member_type& team, int, int); // ForceSNAP KOKKOS_INLINE_FUNCTION + void compute_uitot(const typename Kokkos::TeamPolicy::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 &beta); // ForceSNAP @@ -138,12 +157,29 @@ inline KOKKOS_INLINE_FUNCTION void compute_duidrj(const typename Kokkos::TeamPolicy::member_type& team, int, int); //ForceSNAP KOKKOS_INLINE_FUNCTION + void compute_duidrj_cpu(const typename Kokkos::TeamPolicy::member_type& team, int, int); //ForceSNAP + KOKKOS_INLINE_FUNCTION void compute_deidrj(const typename Kokkos::TeamPolicy::member_type& team, int, int); // ForceSNAP KOKKOS_INLINE_FUNCTION + void compute_deidrj_cpu(const typename Kokkos::TeamPolicy::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; @@ -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::member_type& team, int, int, double, double, double); // compute_ui @@ -223,6 +255,12 @@ inline void compute_uarray(const typename Kokkos::TeamPolicy::member_type& team, int, int, double, double, double, double, double); // compute_ui + KOKKOS_INLINE_FUNCTION + void compute_uarray_cpu(const typename Kokkos::TeamPolicy::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::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::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 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 8d5a4a21be042a358e1debea30ea6c8081acd5c8..c8c9a07e3e0badffd8fa3cdb208881bc75406c75 100644 --- a/src/KOKKOS/sna_kokkos_impl.h +++ b/src/KOKKOS/sna_kokkos_impl.h @@ -224,16 +224,19 @@ void SNAKokkos::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::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); + + zlist = t_sna_2c_ll("sna:zlist",idxz_max,natom); - ulist = t_sna_3c("sna:ulist",natom,nmax,idxu_max); - ylist = t_sna_2c_lr("sna:ylist",natom,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("sna:dulist",natom,nmax,idxu_max); + dulist = t_sna_4c_ll("sna:dulist",idxu_max,natom,nmax); } /* ---------------------------------------------------------------------- @@ -242,19 +245,31 @@ void SNAKokkos::grow_rij(int newnatom, int newnmax) template KOKKOS_INLINE_FUNCTION -void SNAKokkos::pre_ui(const int& iatom) +void SNAKokkos::pre_ui(const typename Kokkos::TeamPolicy::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 @@ -280,11 +295,72 @@ void SNAKokkos::compute_ui(const typename Kokkos::TeamPolicy +KOKKOS_INLINE_FUNCTION +void SNAKokkos::compute_ui_cpu(const typename Kokkos::TeamPolicy::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 +KOKKOS_INLINE_FUNCTION +void SNAKokkos::compute_uitot(const typename Kokkos::TeamPolicy::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 @@ -306,8 +382,8 @@ void SNAKokkos::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::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::compute_zi(const int& iter) template KOKKOS_INLINE_FUNCTION -void SNAKokkos::zero_yi(const int& iatom) +void SNAKokkos::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::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::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 KOKKOS_INLINE_FUNCTION void SNAKokkos::compute_deidrj(const typename Kokkos::TeamPolicy::member_type& team, int iatom, int jnbor) { - t_scalar3 sum; + t_scalar3 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 sum; + + //for (int m = 0; m < total_iters; m++) { + Kokkos::parallel_reduce(Kokkos::ThreadVectorRange(team, total_iters), + [&] (const int m, t_scalar3& 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 +KOKKOS_INLINE_FUNCTION +void SNAKokkos::compute_deidrj_cpu(const typename Kokkos::TeamPolicy::member_type& team, int iatom, int jnbor) +{ + t_scalar3 final_sum; + //for(int j = 0; j <= twojmax; j++) { Kokkos::parallel_reduce(Kokkos::ThreadVectorRange(team,twojmax+1), [&] (const int& j, t_scalar3& 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::compute_deidrj(const typename Kokkos::TeamPolicy::compute_bi(const typename Kokkos::TeamPolicy::compute_bi(const typename Kokkos::TeamPolicy::compute_bi(const typename Kokkos::TeamPolicy::compute_bi(const typename Kokkos::TeamPolicy::compute_duidrj(const typename Kokkos::TeamPolicy KOKKOS_INLINE_FUNCTION -void SNAKokkos::zero_uarraytot(const int& iatom) +void SNAKokkos::compute_duidrj_cpu(const typename Kokkos::TeamPolicy::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 -KOKKOS_INLINE_FUNCTION -void SNAKokkos::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::add_uarraytot(const typename Kokkos::TeamPolicy::compute_uarray(const typename Kokkos::TeamPolicy::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) implict at the end + + // swap double buffers + auto tmp = buf1; buf1 = buf2; buf2 = tmp; + //std::swap(buf1, buf2); // throws warnings + + } +} + +// CPU version +template +KOKKOS_INLINE_FUNCTION +void SNAKokkos::compute_uarray_cpu(const typename Kokkos::TeamPolicy::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::compute_uarray(const typename Kokkos::TeamPolicy::compute_uarray(const typename Kokkos::TeamPolicy::compute_uarray(const typename Kokkos::TeamPolicy::compute_uarray(const typename Kokkos::TeamPolicy -void SNAKokkos::transpose_ulisttot() -{ - UlisttotHelper::transpose(ulisttot_lr,ulisttot); -} - /* ---------------------------------------------------------------------- compute derivatives of Wigner U-functions for one neighbor see comments in compute_uarray() @@ -755,7 +986,150 @@ void SNAKokkos::compute_duarray(const typename Kokkos::TeamPolicy 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 +KOKKOS_INLINE_FUNCTION +void SNAKokkos::compute_duarray_cpu(const typename Kokkos::TeamPolicy::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::compute_duarray(const typename Kokkos::TeamPolicy::compute_duarray(const typename Kokkos::TeamPolicy::compute_duarray(const typename Kokkos::TeamPolicy::compute_duarray(const typename Kokkos::TeamPolicy::compute_duarray(const typename Kokkos::TeamPolicy::compute_dsfac(double r, double rcut) return 0.0; } +/* ---------------------------------------------------------------------- */ + +// efficient complex FMA (i.e., y += a x) +template +KOKKOS_FORCEINLINE_FUNCTION +void SNAKokkos::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 +KOKKOS_FORCEINLINE_FUNCTION +void SNAKokkos::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 +KOKKOS_FORCEINLINE_FUNCTION +void SNAKokkos::set_dir(int dir_) { + dir = dir_; +} + /* ---------------------------------------------------------------------- memory usage of arrays ------------------------------------------------------------------------- */ diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp index 1a9437ebe28391efcf2bc7957433caf70a84592c..1cbce3a7f9e10783f1df152e92cde114171a1373 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 8152b1f772629ada1d120f3e9f63a7b7afe17275..af7850a0e91035420071577cd3c5711807e78f40 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 e16095ad4cb75013624c86ec0184de944ebdcf1e..418162e5d9dadbaaf4afeea9e56d647881a6b1b3 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/fix_orient_bcc.cpp b/src/MISC/fix_orient_bcc.cpp index 1453ceb31712ccdaa5ca566eb00efd9d4b4c2851..f93c7f8a6af846e6f0fd1f18386f8de3d91c7681 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/Makefile b/src/Makefile index baeeda971609dc95bb8f109205a272649e2547f1..bce5089500d5c0e8b3303bdede6562fb1f5f68a1 100644 --- a/src/Makefile +++ b/src/Makefile @@ -60,7 +60,7 @@ PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \ PACKUSER = 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-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-reaction user-reaxc user-scafacos user-smd user-smtbq \ diff --git a/src/USER-COLVARS/README b/src/USER-COLVARS/README index 9090a07ead1a28539031787209e874184993a52c..6627bc9ec48d5dd3f44a1fd8a92cc276bae99239 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-INTEL/pppm_disp_intel.cpp b/src/USER-INTEL/pppm_disp_intel.cpp index 9d075c78a156a6f28209ab5cdff6f26537d128f7..985be3aa48b1eb3502ee78270a42bc2987f311b9 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 diff --git a/src/USER-INTEL/pppm_intel.cpp b/src/USER-INTEL/pppm_intel.cpp index e3d1e7d4aac5fbbfc3da93aefbcbeda0f4f80eda..e3bf779cc1a00140d37b1519da229577526c207c 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(fix->get_mixed_buffers()); - make_rho(fix->get_mixed_buffers()); - } else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) { - particle_map(fix->get_double_buffers()); - make_rho(fix->get_double_buffers()); + if (triclinic) { + PPPM::particle_map(); + PPPM::make_rho(); } else { - particle_map(fix->get_single_buffers()); - make_rho(fix->get_single_buffers()); + + if (fix->precision() == FixIntel::PREC_MODE_MIXED) { + particle_map(fix->get_mixed_buffers()); + make_rho(fix->get_mixed_buffers()); + } else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) { + particle_map(fix->get_double_buffers()); + make_rho(fix->get_double_buffers()); + } else { + particle_map(fix->get_single_buffers()); + make_rho(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(fix->get_mixed_buffers()); - else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) - fieldforce_ad(fix->get_double_buffers()); - else - fieldforce_ad(fix->get_single_buffers()); + if (triclinic) { + PPPM::fieldforce(); } else { - if (fix->precision() == FixIntel::PREC_MODE_MIXED) - fieldforce_ik(fix->get_mixed_buffers()); - else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) - fieldforce_ik(fix->get_double_buffers()); - else - fieldforce_ik(fix->get_single_buffers()); + if (differentiation_flag == 1) { + if (fix->precision() == FixIntel::PREC_MODE_MIXED) + fieldforce_ad(fix->get_mixed_buffers()); + else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) + fieldforce_ad(fix->get_double_buffers()); + else + fieldforce_ad(fix->get_single_buffers()); + } else { + if (fix->precision() == FixIntel::PREC_MODE_MIXED) + fieldforce_ik(fix->get_mixed_buffers()); + else if (fix->precision() == FixIntel::PREC_MODE_DOUBLE) + fieldforce_ik(fix->get_double_buffers()); + else + fieldforce_ik(fix->get_single_buffers()); + } } // extra per-atom energy/virial communication diff --git a/src/USER-MESO/README b/src/USER-MESODPD/README similarity index 100% rename from src/USER-MESO/README rename to src/USER-MESODPD/README diff --git a/src/USER-MESO/atom_vec_edpd.cpp b/src/USER-MESODPD/atom_vec_edpd.cpp similarity index 100% rename from src/USER-MESO/atom_vec_edpd.cpp rename to src/USER-MESODPD/atom_vec_edpd.cpp diff --git a/src/USER-MESO/atom_vec_edpd.h b/src/USER-MESODPD/atom_vec_edpd.h similarity index 100% rename from src/USER-MESO/atom_vec_edpd.h rename to src/USER-MESODPD/atom_vec_edpd.h diff --git a/src/USER-MESO/atom_vec_mdpd.cpp b/src/USER-MESODPD/atom_vec_mdpd.cpp similarity index 100% rename from src/USER-MESO/atom_vec_mdpd.cpp rename to src/USER-MESODPD/atom_vec_mdpd.cpp diff --git a/src/USER-MESO/atom_vec_mdpd.h b/src/USER-MESODPD/atom_vec_mdpd.h similarity index 100% rename from src/USER-MESO/atom_vec_mdpd.h rename to src/USER-MESODPD/atom_vec_mdpd.h diff --git a/src/USER-MESO/atom_vec_tdpd.cpp b/src/USER-MESODPD/atom_vec_tdpd.cpp similarity index 100% rename from src/USER-MESO/atom_vec_tdpd.cpp rename to src/USER-MESODPD/atom_vec_tdpd.cpp diff --git a/src/USER-MESO/atom_vec_tdpd.h b/src/USER-MESODPD/atom_vec_tdpd.h similarity index 100% rename from src/USER-MESO/atom_vec_tdpd.h rename to src/USER-MESODPD/atom_vec_tdpd.h diff --git a/src/USER-MESO/compute_edpd_temp_atom.cpp b/src/USER-MESODPD/compute_edpd_temp_atom.cpp similarity index 100% rename from src/USER-MESO/compute_edpd_temp_atom.cpp rename to src/USER-MESODPD/compute_edpd_temp_atom.cpp diff --git a/src/USER-MESO/compute_edpd_temp_atom.h b/src/USER-MESODPD/compute_edpd_temp_atom.h similarity index 100% rename from src/USER-MESO/compute_edpd_temp_atom.h rename to src/USER-MESODPD/compute_edpd_temp_atom.h diff --git a/src/USER-MESO/compute_tdpd_cc_atom.cpp b/src/USER-MESODPD/compute_tdpd_cc_atom.cpp similarity index 100% rename from src/USER-MESO/compute_tdpd_cc_atom.cpp rename to src/USER-MESODPD/compute_tdpd_cc_atom.cpp diff --git a/src/USER-MESO/compute_tdpd_cc_atom.h b/src/USER-MESODPD/compute_tdpd_cc_atom.h similarity index 100% rename from src/USER-MESO/compute_tdpd_cc_atom.h rename to src/USER-MESODPD/compute_tdpd_cc_atom.h diff --git a/src/USER-MESO/fix_edpd_source.cpp b/src/USER-MESODPD/fix_edpd_source.cpp similarity index 100% rename from src/USER-MESO/fix_edpd_source.cpp rename to src/USER-MESODPD/fix_edpd_source.cpp diff --git a/src/USER-MESO/fix_edpd_source.h b/src/USER-MESODPD/fix_edpd_source.h similarity index 100% rename from src/USER-MESO/fix_edpd_source.h rename to src/USER-MESODPD/fix_edpd_source.h diff --git a/src/USER-MESO/fix_mvv_dpd.cpp b/src/USER-MESODPD/fix_mvv_dpd.cpp similarity index 100% rename from src/USER-MESO/fix_mvv_dpd.cpp rename to src/USER-MESODPD/fix_mvv_dpd.cpp diff --git a/src/USER-MESO/fix_mvv_dpd.h b/src/USER-MESODPD/fix_mvv_dpd.h similarity index 100% rename from src/USER-MESO/fix_mvv_dpd.h rename to src/USER-MESODPD/fix_mvv_dpd.h diff --git a/src/USER-MESO/fix_mvv_edpd.cpp b/src/USER-MESODPD/fix_mvv_edpd.cpp similarity index 100% rename from src/USER-MESO/fix_mvv_edpd.cpp rename to src/USER-MESODPD/fix_mvv_edpd.cpp diff --git a/src/USER-MESO/fix_mvv_edpd.h b/src/USER-MESODPD/fix_mvv_edpd.h similarity index 100% rename from src/USER-MESO/fix_mvv_edpd.h rename to src/USER-MESODPD/fix_mvv_edpd.h diff --git a/src/USER-MESO/fix_mvv_tdpd.cpp b/src/USER-MESODPD/fix_mvv_tdpd.cpp similarity index 100% rename from src/USER-MESO/fix_mvv_tdpd.cpp rename to src/USER-MESODPD/fix_mvv_tdpd.cpp diff --git a/src/USER-MESO/fix_mvv_tdpd.h b/src/USER-MESODPD/fix_mvv_tdpd.h similarity index 100% rename from src/USER-MESO/fix_mvv_tdpd.h rename to src/USER-MESODPD/fix_mvv_tdpd.h diff --git a/src/USER-MESO/fix_tdpd_source.cpp b/src/USER-MESODPD/fix_tdpd_source.cpp similarity index 100% rename from src/USER-MESO/fix_tdpd_source.cpp rename to src/USER-MESODPD/fix_tdpd_source.cpp diff --git a/src/USER-MESO/fix_tdpd_source.h b/src/USER-MESODPD/fix_tdpd_source.h similarity index 100% rename from src/USER-MESO/fix_tdpd_source.h rename to src/USER-MESODPD/fix_tdpd_source.h diff --git a/src/USER-MESO/pair_edpd.cpp b/src/USER-MESODPD/pair_edpd.cpp similarity index 100% rename from src/USER-MESO/pair_edpd.cpp rename to src/USER-MESODPD/pair_edpd.cpp diff --git a/src/USER-MESO/pair_edpd.h b/src/USER-MESODPD/pair_edpd.h similarity index 100% rename from src/USER-MESO/pair_edpd.h rename to src/USER-MESODPD/pair_edpd.h diff --git a/src/USER-MESO/pair_mdpd.cpp b/src/USER-MESODPD/pair_mdpd.cpp similarity index 100% rename from src/USER-MESO/pair_mdpd.cpp rename to src/USER-MESODPD/pair_mdpd.cpp diff --git a/src/USER-MESO/pair_mdpd.h b/src/USER-MESODPD/pair_mdpd.h similarity index 100% rename from src/USER-MESO/pair_mdpd.h rename to src/USER-MESODPD/pair_mdpd.h diff --git a/src/USER-MESO/pair_mdpd_rhosum.cpp b/src/USER-MESODPD/pair_mdpd_rhosum.cpp similarity index 100% rename from src/USER-MESO/pair_mdpd_rhosum.cpp rename to src/USER-MESODPD/pair_mdpd_rhosum.cpp diff --git a/src/USER-MESO/pair_mdpd_rhosum.h b/src/USER-MESODPD/pair_mdpd_rhosum.h similarity index 100% rename from src/USER-MESO/pair_mdpd_rhosum.h rename to src/USER-MESODPD/pair_mdpd_rhosum.h diff --git a/src/USER-MESO/pair_tdpd.cpp b/src/USER-MESODPD/pair_tdpd.cpp similarity index 100% rename from src/USER-MESO/pair_tdpd.cpp rename to src/USER-MESODPD/pair_tdpd.cpp diff --git a/src/USER-MESO/pair_tdpd.h b/src/USER-MESODPD/pair_tdpd.h similarity index 100% rename from src/USER-MESO/pair_tdpd.h rename to src/USER-MESODPD/pair_tdpd.h diff --git a/src/USER-MISC/compute_cnp_atom.cpp b/src/USER-MISC/compute_cnp_atom.cpp index ba97be25d407a87f02e7d9a67915b94d1159a4de..3a1d5271c6c6c2dd954380f24d93e2724c6d4f7b 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 ------------------------------------------------------------------------- */ diff --git a/src/USER-MISC/compute_hma.cpp b/src/USER-MISC/compute_hma.cpp index f552126f4f90589edd52d1b38d9e2ae99806df0c..d1f3e6b6f8ad282e4eee376595cb2441dc135e1a 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 diff --git a/src/USER-MISC/fix_filter_corotate.cpp b/src/USER-MISC/fix_filter_corotate.cpp index bfc5f58f931e2791e02264371b1c9e177c67dd72..52e979d32cabad525cc5f734fb4e4d914dadcb0b 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 70be1f1e45f316c317febdb2a6c4b5fa14a0eec9..218ba3cfa6872026c08512f540a0c3f27b366e8b 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" diff --git a/src/USER-MISC/fix_grem.cpp b/src/USER-MISC/fix_grem.cpp index 42727400683eaffe2b584156a383c1bc35867054..9600cce90e16af6f253d69965ed1dc4aabe8ca06 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/pair_momb.cpp b/src/USER-MISC/pair_momb.cpp index 8786394221d3e7ba2330591af72644348666007a..010aa1e5fdf898d4169425f183ea3a00a7fd25fd 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-YAFF/README b/src/USER-YAFF/README index 4fabe6739066591b0cbc1de0cf0bfbed9afd16f8..9d095b8216a0440e8c1be4f4e50af28eb619665f 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/library.cpp b/src/library.cpp index ee98e47aaa8cb40aa2f1362b4140e7740e94d619..72fcbba833b00fba5b1111430b78daa01a838150 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 9db1fd9799fbabef5e2145ee4abc3eaa5f473cde..46da4bfa5ba5cea9c77f224f33202dde39fb3bea 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 4aeeddf6b2d285b18d25e42fcc43aace940a8008..53bedfbb6c2ae9570082884da17068378915061e 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 0c4be968dcd45b916423cc13c24acf5bd3a0bfa3..79e5cb7c1474d2bb57182d45c198b71246a3355f 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/pair_hybrid.cpp b/src/pair_hybrid.cpp index fe319da9e922bf575e10239d5f7ac1bf171057ac..4d8d6f69023e2f3414d264f97a519a2b0023a0ab 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;