Compare commits
288 Commits
patch_10Oc
...
patch_15No
| Author | SHA1 | Date | |
|---|---|---|---|
| cf79751f4f | |||
| e4dee3de17 | |||
| 6e225d90fc | |||
| 1fc3b4618c | |||
| eae9d27f6d | |||
| db29ec7eee | |||
| 090778c42b | |||
| db935dba5e | |||
| e160376365 | |||
| d5f222464b | |||
| 4d9e2a014b | |||
| 8a4983e4bc | |||
| 82d6aa9add | |||
| 4231ab3d57 | |||
| 25914ea3f3 | |||
| 003bb28471 | |||
| a557644939 | |||
| 04520e627d | |||
| 952e52982e | |||
| a942d8b3ba | |||
| 7a22b8aa62 | |||
| 4c1fbc359a | |||
| 2c644c5f2e | |||
| b1186a971e | |||
| 2dbd575a4b | |||
| 4805e1df22 | |||
| 380f0e4971 | |||
| a026ce9669 | |||
| 7e779d16de | |||
| b776f0f29f | |||
| 443644025f | |||
| c4c90a96ec | |||
| 5cb2463204 | |||
| 5a4e44b75a | |||
| 0ca02b6f41 | |||
| 2b96dfd6cc | |||
| c22c6e4d34 | |||
| b2d67bcbb5 | |||
| b3f08b38a2 | |||
| 8e9d4f5bce | |||
| fe07ad279d | |||
| 5062c43aea | |||
| 90caf0019c | |||
| 3b7ebbb8df | |||
| d7a479d2f6 | |||
| 0c8ce199af | |||
| 4a6f088c0b | |||
| 56598fcd0b | |||
| 265c11dca9 | |||
| d6631266ce | |||
| fbd610b8a9 | |||
| 86d1304176 | |||
| f68d77c7af | |||
| 7a4f534676 | |||
| 729201ab93 | |||
| ab8215a669 | |||
| fe04147ee0 | |||
| 62b1159673 | |||
| adeb0c2b54 | |||
| 1651a21f92 | |||
| cbae3b5afa | |||
| f2a29880e2 | |||
| e0955f6434 | |||
| 3681bc853d | |||
| a6e9b99295 | |||
| 893a51ce14 | |||
| 80ee08482c | |||
| bbb371134d | |||
| a1e8992eac | |||
| baa7b705b8 | |||
| 2d12260ade | |||
| 31277349c6 | |||
| df232c1cf6 | |||
| bdf73f7adb | |||
| 84fcf01bed | |||
| cc0d685e8e | |||
| 5196fa37e0 | |||
| 4e6253254c | |||
| 562296bdb7 | |||
| 91c4ef6f64 | |||
| f46d6a4312 | |||
| cb828e9579 | |||
| ed77701e56 | |||
| 7ed6cab040 | |||
| ce7f76de1d | |||
| 58d2f0cc57 | |||
| ab7aa9dfda | |||
| 6d1ea2d0b1 | |||
| a3ca177d20 | |||
| a3c0fe7726 | |||
| a051d61e1f | |||
| 8cb665f013 | |||
| cb8c51e353 | |||
| a37d718ed1 | |||
| f7aa01d74a | |||
| badfdd7433 | |||
| ac11d66d5a | |||
| 18216de084 | |||
| 3cb2291a5a | |||
| 54c52c3bdf | |||
| df3390e224 | |||
| d185b34b19 | |||
| 30518a993b | |||
| b7e507a258 | |||
| ea9746f26d | |||
| 2635f7d160 | |||
| 85a5cab663 | |||
| b1c50e3bbe | |||
| 0c7c344e19 | |||
| b67e54dd7d | |||
| 5821a5ecc8 | |||
| 20b9c7fd79 | |||
| a66d4c7451 | |||
| 7514838700 | |||
| 1fccb391a6 | |||
| 688945a0ef | |||
| 50b99c8450 | |||
| 446b05ebc1 | |||
| 2a5cd1d31e | |||
| 3faecc4d28 | |||
| e992bf935b | |||
| 42068944aa | |||
| e3b89b60dc | |||
| e70a9b0f26 | |||
| 113539b053 | |||
| ba6f6f73f1 | |||
| c838a9fd48 | |||
| fb4df86d3d | |||
| 1bae30c295 | |||
| 044507640f | |||
| bcc7a4c32f | |||
| 283096d1d5 | |||
| 079134255d | |||
| 25b425dbb0 | |||
| bee2cb96fa | |||
| 360aca581c | |||
| 21661f84db | |||
| a662afe970 | |||
| 3a082e227e | |||
| 54d728c0c7 | |||
| ae499b980d | |||
| 925d6d37b9 | |||
| bdf3764905 | |||
| bfbf5695fd | |||
| e788ffe210 | |||
| 3cc9384488 | |||
| a60b6d1ab8 | |||
| 174b180a41 | |||
| 7bbd8644c8 | |||
| f36b7e38a8 | |||
| f70af61b35 | |||
| 4fa78a78de | |||
| ff9f836be4 | |||
| 2e79d9f340 | |||
| 2428c1c1f3 | |||
| 0e213b80e9 | |||
| 7069b52a44 | |||
| 45f28517ef | |||
| fccc26758b | |||
| b6b6270716 | |||
| 0293dee9b2 | |||
| 6107f00e9d | |||
| 1d38f2d725 | |||
| 4a5c14f60d | |||
| aa27c8f733 | |||
| da38ae0370 | |||
| 527ec61586 | |||
| 8649081904 | |||
| c0dd187802 | |||
| 3661836a3b | |||
| 76a2a9ab0a | |||
| 8223f5e0a3 | |||
| 07a499fcc1 | |||
| 8aecefe233 | |||
| 2140caa6f5 | |||
| fb6f019a11 | |||
| 79da210dc4 | |||
| 348febdf4b | |||
| 0783f8ad2f | |||
| 3a735d15d4 | |||
| 04a4a29fcf | |||
| 52f02f2bbb | |||
| f82a8493fa | |||
| 8cd70f7d78 | |||
| 27a46cec8c | |||
| 15de09683e | |||
| f542590090 | |||
| 01c3ab5979 | |||
| 709013be5a | |||
| db32373b32 | |||
| 9d7c4ac5f2 | |||
| 0ec94b2ad6 | |||
| 83c830fd8a | |||
| 3a4bef351c | |||
| da84138475 | |||
| 2f52eee6bf | |||
| 80e0dddae0 | |||
| 1c994bda46 | |||
| f5206d2f7b | |||
| 9bca5ae607 | |||
| d1f260a765 | |||
| 36a1ca7e72 | |||
| 5f1c77ced2 | |||
| dc89bdd924 | |||
| a979c6eeec | |||
| cc6f1be82d | |||
| 9090fd0255 | |||
| 7deb1df2b6 | |||
| d9dd80b368 | |||
| 4015b36a1a | |||
| dcde84eb53 | |||
| 7bb5821baf | |||
| 2b0e474729 | |||
| 65ebbdada3 | |||
| b71f530bd0 | |||
| 0ec9b9a71a | |||
| 2273604533 | |||
| 6e99b3d8ff | |||
| bea0a3091d | |||
| 7968d2ed22 | |||
| 382e91cf5b | |||
| ce63a22783 | |||
| 00c75ecb74 | |||
| 8224c89f93 | |||
| a223338b47 | |||
| 8eb74d8fb3 | |||
| e5c6b6987a | |||
| 8cbee78725 | |||
| c37deebffa | |||
| c142288eb3 | |||
| 7faa48b4c3 | |||
| a1266a1a1e | |||
| 7cce002cf9 | |||
| 2def00d4c9 | |||
| 3d0722b974 | |||
| 747f72aca2 | |||
| 0c1ff5ac3e | |||
| 43ae9656d7 | |||
| b02d3b1b94 | |||
| a1a9f34c18 | |||
| c3abf13af1 | |||
| b481af51d6 | |||
| 2da999d864 | |||
| cca1e0a399 | |||
| 9765a9a430 | |||
| 5412204ff7 | |||
| 591e782415 | |||
| 406aaf011f | |||
| c442166ded | |||
| 6d9face1ec | |||
| 4734bc09dc | |||
| 56c2127127 | |||
| b5816f2637 | |||
| 492e945b5a | |||
| 0d1e55c99d | |||
| c83b5ec226 | |||
| 687a4427da | |||
| af0eb52410 | |||
| a49f946f2f | |||
| 8c3cbad7ae | |||
| 4d5635a3c4 | |||
| ca8b109a1c | |||
| 55980294f1 | |||
| c84ae38e34 | |||
| 43cdca80f2 | |||
| ee98daeba5 | |||
| 2cd95d1a99 | |||
| 13d562e969 | |||
| 228caa3fab | |||
| 64fb7674b1 | |||
| cce0755ee9 | |||
| 67ed11a960 | |||
| acb0436057 | |||
| 2f3343b7ed | |||
| 13efc1b76d | |||
| dc93d4ceea | |||
| a6df61a637 | |||
| f394ed94f3 | |||
| 11a5ed0e03 | |||
| a365246e3a | |||
| 8ebe38474d | |||
| 0a5b027bac | |||
| 7f5a83cb1d | |||
| b299bfa821 | |||
| 2c5f2a6683 | |||
| 9b44529591 | |||
| f5642ac292 | |||
| ef0f9c0451 |
1
.github/CODEOWNERS
vendored
1
.github/CODEOWNERS
vendored
@ -29,6 +29,7 @@ src/USER-MEAMC/* @martok
|
||||
src/USER-MOFFF/* @hheenen
|
||||
src/USER-MOLFILE/* @akohlmey
|
||||
src/USER-NETCDF/* @pastewka
|
||||
src/USER-PLUMED/* @gtribello
|
||||
src/USER-PHONON/* @lingtikong
|
||||
src/USER-PTM/* @pmla
|
||||
src/USER-OMP/* @akohlmey
|
||||
|
||||
10
.github/CONTRIBUTING.md
vendored
10
.github/CONTRIBUTING.md
vendored
@ -6,7 +6,7 @@ The following is a set of guidelines as well as explanations of policies and wor
|
||||
|
||||
Thus please also have a look at:
|
||||
* [The Section on submitting new features for inclusion in LAMMPS of the Manual](http://lammps.sandia.gov/doc/Section_modify.html#mod-15)
|
||||
* [The LAMMPS GitHub Tutorial in the Manual](http://lammps.sandia.gov/doc/tutorial_github.html)
|
||||
* [The LAMMPS GitHub Tutorial in the Manual](http://lammps.sandia.gov/doc/Howto_github.html)
|
||||
|
||||
## Table of Contents
|
||||
|
||||
@ -62,7 +62,7 @@ To be able to submit an issue on GitHub, you have to register for an account (fo
|
||||
|
||||
We encourage users to submit new features or modifications for LAMMPS to the core developers so they can be added to the LAMMPS distribution. The preferred way to manage and coordinate this is by submitting a pull request at the LAMMPS project on GitHub. For any larger modifications or programming project, you are encouraged to contact the LAMMPS developers ahead of time, in order to discuss implementation strategies and coding guidelines, that will make it easier to integrate your contribution and result in less work for everybody involved. You are also encouraged to search through the list of open issues on GitHub and submit a new issue for a planned feature, so you would not duplicate the work of others (and possibly get scooped by them) or have your work duplicated by others.
|
||||
|
||||
How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core code base, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of typical requirements. Once you have prepared everything, see [this tutorial](http://lammps.sandia.gov/doc/tutorial_github.html)
|
||||
How quickly your contribution will be integrated depends largely on how much effort it will cause to integrate and test it, how much it requires changes to the core code base, and of how much interest it is to the larger LAMMPS community. Please see below for a checklist of typical requirements. Once you have prepared everything, see [this tutorial](http://lammps.sandia.gov/doc/Howto_github.html)
|
||||
for instructions on how to submit your changes or new files through a GitHub pull request
|
||||
|
||||
Here is a checklist of steps you need to follow to submit a single file or user package for our consideration. Following these steps will save both you and us time. See existing files in packages in the source directory for examples. If you are uncertain, please ask on the lammps-users mailing list.
|
||||
@ -102,11 +102,11 @@ For bug reports, the next step is that one of the core LAMMPS developers will se
|
||||
|
||||
### Pull Requests
|
||||
|
||||
For submitting pull requests, there is a [detailed tutorial](http://lammps.sandia.gov/doc/tutorial_github.html) in the LAMMPS manual. Thus only a brief breakdown of the steps is presented here.
|
||||
For submitting pull requests, there is a [detailed tutorial](http://lammps.sandia.gov/doc/Howto_github.html) in the LAMMPS manual. Thus only a brief breakdown of the steps is presented here. Please note, that the LAMMPS developers are still reviewing and trying to improve the process. If you are unsure about something, do not hesitate to post a question on the lammps-users mailing list or contact one fo the core LAMMPS developers.
|
||||
Immediately after the submission, the LAMMPS continuing integration server at ci.lammps.org will download your submitted branch and perform a simple compilation test, i.e. will test whether your submitted code can be compiled under various conditions. It will also do a check on whether your included documentation translates cleanly. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each the pull request is updated with a push to the remote branch on GitHub.
|
||||
Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you are not yet registered as a LAMMPS collaborator, you will receive an invitation for that.
|
||||
You may also receive comments and suggestions on the overall submission or specific details. If permitted, additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes.
|
||||
The LAMMPS developer may then decide to assign the pull request to another developer (e.g. when that developer is more knowledgeable about the submitted feature or enhancement or has written the modified code). It may also happen, that additional developers are requested to provide a review and approve the changes. For submissions, that may change the general behavior of LAMMPS, or where a possibility of unwanted side effects exists, additional tests may be requested by the assigned developer.
|
||||
If the assigned developer is satisfied and considers the submission ready for inclusion into LAMMPS, the pull request will be assigned to the LAMMPS lead developer, Steve Plimpton (@sjplimp), who will then have the final decision on whether the submission will be included, additional changes are required or it will be ultimately rejected. After the pull request is merged, you may delete the pull request branch in your personal LAMMPS fork.
|
||||
Since the learning curve for git is quite steep for efficiently managing remote repositories, local and remote branches, pull requests and more, do not hesitate to ask questions, if you are not sure about how to do certain steps that are asked of you. Even if the changes asked of you do not make sense to you, they may be important for the LAMMPS developers. Please also note, that these all are guidelines and not set in stone.
|
||||
If the assigned developer is satisfied and considers the submission ready for inclusion into LAMMPS, the pull request will receive approvals and be merged into the master branch by one of the core LAMMPS developers. After the pull request is merged, you may delete the feature branch used for the pull request in your personal LAMMPS fork.
|
||||
Since the learning curve for git is quite steep for efficiently managing remote repositories, local and remote branches, pull requests and more, do not hesitate to ask questions, if you are not sure about how to do certain steps that are asked of you. Even if the changes asked of you do not make sense to you, they may be important for the LAMMPS developers. Please also note, that these all are guidelines and nothing set in stone. So depending on the nature of the contribution, the workflow may be adjusted.
|
||||
|
||||
|
||||
@ -69,6 +69,8 @@ get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h LAMMPS_VERSION)
|
||||
# Cmake modules/macros are in a subdirectory to keep this file cleaner
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules)
|
||||
|
||||
include(PreventInSourceBuilds)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
|
||||
#release comes with -O3 by default
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||
@ -169,8 +171,9 @@ set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
|
||||
USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION
|
||||
USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD
|
||||
USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF
|
||||
USER-PHONON USER-PTM USER-QTB USER-REAXC USER-SCAFACOS USER-SMD USER-SMTBQ
|
||||
USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM)
|
||||
USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC USER-SCAFACOS
|
||||
USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK
|
||||
USER-QUIP USER-QMMM)
|
||||
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
|
||||
set(OTHER_PACKAGES CORESHELL QEQ)
|
||||
foreach(PKG ${DEFAULT_PACKAGES})
|
||||
@ -191,6 +194,8 @@ if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM OR PKG_USER-SCAFACOS)
|
||||
enable_language(C)
|
||||
endif()
|
||||
|
||||
include_directories(${LAMMPS_SOURCE_DIR})
|
||||
|
||||
# do MPI detection after language activation, if MPI for these language is required
|
||||
find_package(MPI QUIET)
|
||||
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
|
||||
@ -299,7 +304,7 @@ pkg_depends(USER-SCAFACOS MPI)
|
||||
|
||||
find_package(OpenMP QUIET)
|
||||
option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND})
|
||||
if(BUILD_OMP OR PKG_USER-OMP OR PKG_KOKKOS OR PKG_USER-INTEL)
|
||||
if(BUILD_OMP OR PKG_KOKKOS OR PKG_USER-INTEL)
|
||||
find_package(OpenMP REQUIRED)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||
@ -344,7 +349,7 @@ if(PKG_KSPACE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
|
||||
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE OR PKG_USER-PLUMED)
|
||||
find_package(LAPACK)
|
||||
find_package(BLAS)
|
||||
if(NOT LAPACK_FOUND OR NOT BLAS_FOUND)
|
||||
@ -524,6 +529,54 @@ if(PKG_USER-SCAFACOS)
|
||||
include_directories(${SCAFACOS_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(PKG_USER-PLUMED)
|
||||
find_package(GSL REQUIRED)
|
||||
set(PLUMED_MODE "static" CACHE STRING "Linkage mode for Plumed2 library")
|
||||
set(PLUMED_MODE_VALUES static shared runtime)
|
||||
set_property(CACHE PLUMED_MODE PROPERTY STRINGS ${PLUMED_MODE_VALUES})
|
||||
validate_option(PLUMED_MODE PLUMED_MODE_VALUES)
|
||||
string(TOUPPER ${PLUMED_MODE} PLUMED_MODE)
|
||||
|
||||
option(DOWNLOAD_PLUMED "Download Plumed (instead of using the system's one)" OFF)
|
||||
if(DOWNLOAD_PLUMED)
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(plumed_build
|
||||
URL https://github.com/plumed/plumed2/releases/download/v2.4.3/plumed-src-2.4.3.tgz
|
||||
URL_MD5 b1be7c48971627febc11c61b70767fc5
|
||||
BUILD_IN_SOURCE 1
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
||||
$<$<BOOL:${BUILD_SHARED_LIBS}>:--with-pic> )
|
||||
ExternalProject_get_property(plumed_build INSTALL_DIR)
|
||||
set(PLUMED_INSTALL_DIR ${INSTALL_DIR})
|
||||
list(APPEND LAMMPS_DEPS plumed_build)
|
||||
if(PLUMED_MODE STREQUAL "STATIC")
|
||||
add_definitions(-D__PLUMED_WRAPPER_CXX=1)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/plumed/obj/kernel.o
|
||||
"${PLUMED_INSTALL_DIR}/lib/plumed/obj/PlumedStatic.o" ${GSL_LIBRARIES} ${CMAKE_DL_LIBS} ${LAPACK_LIBRARIES})
|
||||
elseif(PLUMED_MODE STREQUAL "SHARED")
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.so ${CMAKE_DL_LIBS})
|
||||
elseif(PLUMED_MODE STREQUAL "RUNTIME")
|
||||
add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_INSTALL_DIR}/lib/libplumedKernel.so)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumedWrapper.a -rdynamic ${CMAKE_DL_LIBS})
|
||||
endif()
|
||||
set(PLUMED_INCLUDE_DIRS "${PLUMED_INSTALL_DIR}/include")
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(PLUMED plumed REQUIRED)
|
||||
if(PLUMED_MODE STREQUAL "STATIC")
|
||||
add_definitions(-D__PLUMED_WRAPPER_CXX=1)
|
||||
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.static)
|
||||
elseif(PLUMED_MODE STREQUAL "SHARED")
|
||||
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.shared)
|
||||
elseif(PLUMED_MODE STREQUAL "RUNTIME")
|
||||
add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_LIBDIR}/libplumedKernel.so)
|
||||
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.runtime)
|
||||
endif()
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_LOAD})
|
||||
endif()
|
||||
include_directories(${PLUMED_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(PKG_USER-MOLFILE)
|
||||
add_library(molfile INTERFACE)
|
||||
target_include_directories(molfile INTERFACE ${LAMMPS_LIB_SOURCE_DIR}/molfile)
|
||||
@ -874,6 +927,20 @@ if(PKG_USER-OMP)
|
||||
include_directories(${USER-OMP_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
# Fix rigid/meso requires RIGID to be installed
|
||||
if(PKG_USER-SDPD)
|
||||
set(USER-SDPD_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-SDPD)
|
||||
|
||||
get_property(hlist GLOBAL PROPERTY FIX)
|
||||
if(NOT PKG_RIGID)
|
||||
list(REMOVE_ITEM hlist ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.h)
|
||||
list(REMOVE_ITEM LIB_SOURCES ${USER-SDPD_SOURCES_DIR}/fix_rigid_meso.cpp)
|
||||
endif()
|
||||
set_property(GLOBAL PROPERTY FIX "${hlist}")
|
||||
|
||||
include_directories(${USER-SDPD_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
if(PKG_KOKKOS)
|
||||
set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos)
|
||||
set(LAMMPS_LIB_KOKKOS_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/kokkos)
|
||||
@ -1164,7 +1231,6 @@ set(LAMMPS_STYLE_HEADERS_DIR ${CMAKE_CURRENT_BINARY_DIR}/styles)
|
||||
|
||||
GenerateStyleHeaders(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
|
||||
include_directories(${LAMMPS_SOURCE_DIR})
|
||||
include_directories(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
|
||||
######################################
|
||||
|
||||
23
cmake/Modules/PreventInSourceBuilds.cmake
Normal file
23
cmake/Modules/PreventInSourceBuilds.cmake
Normal file
@ -0,0 +1,23 @@
|
||||
# - Prevent in-source builds.
|
||||
# https://stackoverflow.com/questions/1208681/with-cmake-how-would-you-disable-in-source-builds/
|
||||
|
||||
function(prevent_in_source_builds)
|
||||
# make sure the user doesn't play dirty with symlinks
|
||||
get_filename_component(srcdir "${CMAKE_SOURCE_DIR}" REALPATH)
|
||||
get_filename_component(srcdir2 "${CMAKE_SOURCE_DIR}/.." REALPATH)
|
||||
get_filename_component(srcdir3 "${CMAKE_SOURCE_DIR}/../src" REALPATH)
|
||||
get_filename_component(bindir "${CMAKE_BINARY_DIR}" REALPATH)
|
||||
|
||||
# disallow in-source builds
|
||||
if("${srcdir}" STREQUAL "${bindir}" OR "${srcdir2}" STREQUAL "${bindir}" OR "${srcdir3}" STREQUAL "${bindir}")
|
||||
message(FATAL_ERROR "\
|
||||
|
||||
CMake must not to be run in the source directory. \
|
||||
Rather create a dedicated build directory and run CMake there. \
|
||||
To clean up after this aborted in-place compilation:
|
||||
rm -r CMakeCache.txt CMakeFiles
|
||||
")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
prevent_in_source_builds()
|
||||
@ -1492,6 +1492,11 @@ target API.
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>BIN2C</code> (CUDA only)</td>
|
||||
<td>Path to bin2c executable, will automatically pick up the first one in your $PATH.</td>
|
||||
<td>(automatic)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -1647,9 +1652,8 @@ requires `gzip` to be in your `PATH`
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>GZIP_EXECUTABLE</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
</td>
|
||||
<td>Path to gzip executable, will automatically pick up the first one in your $PATH.</td>
|
||||
<td>(automatic)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -1679,9 +1683,8 @@ requires `ffmpeg` to be in your `PATH`
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FFMPEG_EXECUTABLE</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
</td>
|
||||
<td>Path to ffmpeg executable, will automatically pick up the first one in your $PATH.</td>
|
||||
<td>(automatic)</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -1,9 +1,29 @@
|
||||
# pkg-config file for lammps
|
||||
# https://people.freedesktop.org/~dbn/pkg-config-guide.html
|
||||
# Usage: cc `pkg-config --cflags --libs liblammps` -o myapp myapp.c
|
||||
# after you added @CMAKE_INSTALL_FULL_LIBDIR@/pkg-config to PKG_CONFIG_PATH,
|
||||
|
||||
# Add the directory where lammps.pc got installed to your PKG_CONFIG_PATH
|
||||
# e.g. export PKG_CONFIG_PATH=@CMAKE_INSTALL_FULL_LIBDIR@/pkgconfig
|
||||
|
||||
# Use this on commandline with:
|
||||
# c++ `pkg-config --cflags --libs lammps` -o myapp myapp.cpp
|
||||
|
||||
# Use this in a Makefile:
|
||||
# myapp: myapp.cpp
|
||||
# $(CC) `pkg-config --cflags --libs lammps` -o $@ $<
|
||||
|
||||
# Use this in autotools:
|
||||
# configure.ac:
|
||||
# PKG_CHECK_MODULES([LAMMPS], [lammps])
|
||||
# Makefile.am:
|
||||
# myapp_CFLAGS = $(LAMMPS_CFLAGS)
|
||||
# myapp_LDADD = $(LAMMPS_LIBS)
|
||||
|
||||
# Use this in CMake:
|
||||
# CMakeLists.txt:
|
||||
# find_package(PkgConfig)
|
||||
# pkg_check_modules(LAMMPS IMPORTED_TARGET lammps)
|
||||
# target_link_libraries(<lib> PkgConfig::LAMMPS)
|
||||
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
|
||||
@ -8,12 +8,12 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
|
||||
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
||||
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
||||
|
||||
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
|
||||
|
||||
|
||||
@ -8,12 +8,12 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
|
||||
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
||||
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
||||
|
||||
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
|
||||
|
||||
|
||||
@ -56,11 +56,13 @@ set(PKG_USER-MOFFF OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-MOLFILE OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-NETCDF OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-OMP OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-PHOFFOFF OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-PHONON OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-PLUMED OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-QMMM OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-QTB OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-QUIP OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-REAXC OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-SDPD OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-SMD OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-SMTBQ OFF CACHE BOOL "" FORCE)
|
||||
set(PKG_USER-SPH OFF CACHE BOOL "" FORCE)
|
||||
|
||||
@ -8,12 +8,12 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
|
||||
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
||||
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
||||
|
||||
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
|
||||
@ -8,7 +8,7 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
|
||||
@ -8,12 +8,12 @@ set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVA
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
||||
USER-QUIP USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
||||
USER-UEF USER-VTK)
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
||||
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
|
||||
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
||||
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
||||
|
||||
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
|
||||
|
||||
|
||||
@ -95,9 +95,10 @@ spelling: $(OBJECTS) utils/sphinx-config/false_positives.txt
|
||||
@echo "Spell check finished."
|
||||
|
||||
epub: $(OBJECTS)
|
||||
@mkdir -p epub
|
||||
@mkdir -p epub/JPG
|
||||
@rm -f LAMMPS.epub
|
||||
@cp src/JPG/lammps-logo.png epub/
|
||||
@cp src/JPG/*.* epub/JPG
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
cp -r src/* $(RSTDIR)/ ;\
|
||||
@ -123,9 +124,9 @@ pdf: utils/txt2html/txt2html.exe
|
||||
cd ..; \
|
||||
../utils/txt2html/txt2html.exe -b *.txt; \
|
||||
htmldoc --batch lammps.book; \
|
||||
for s in `echo *.txt | sed -e 's,\.txt,\.html,g'` ; \
|
||||
do grep -q $$s lammps.book || \
|
||||
echo doc file $$s missing in src/lammps.book; done; \
|
||||
for s in `echo *.txt | sed -e 's/ \(pairs\|bonds\|angles\|dihedrals\|impropers\|commands_list\|fixes\|computes\).txt/ /g' | sed -e 's,\.txt,\.html,g'` ; \
|
||||
do grep -q ^$$s lammps.book || \
|
||||
echo WARNING: doc file $$s missing in src/lammps.book; done; \
|
||||
rm *.html; \
|
||||
)
|
||||
|
||||
|
||||
184
doc/github-development-workflow.md
Normal file
184
doc/github-development-workflow.md
Normal file
@ -0,0 +1,184 @@
|
||||
# Outline of the GitHub Development Workflow
|
||||
|
||||
This purpose of this document is to provide a point of reference for the
|
||||
core LAMMPS developers and other LAMMPS contibutors to understand the
|
||||
choices the LAMMPS developers have agreed on. Git and GitHub provide the
|
||||
tools, but do not set policies, so it is up to the developers to come to
|
||||
an agreement as to how to define and interpret policies. This document
|
||||
is likely to change as our experiences and needs change and we try to
|
||||
adapt accordingly. Last change 2018-11-15.
|
||||
|
||||
## Table of Contents
|
||||
|
||||
* [GitHub Merge Management](#github-merge-management)
|
||||
* [Pull Requests](#pull-requests)
|
||||
* [Pull Request Assignments](#pull-request-assignments)
|
||||
* [Pull Request Reviews](#pull-request-reviews)
|
||||
* [Pull Request Discussions](#pull-request-discussions)
|
||||
* [Checklist for Pull Requests](#checklist-for-pull-requests)
|
||||
* [GitHub Issues](#github-issues)
|
||||
* [Milestones and Release Planning](#milestones-and-release-planning)
|
||||
|
||||
## GitHub Merge Management
|
||||
|
||||
In the interest of consistency, ONLY ONE of the core LAMMPS developers
|
||||
should doing the merging itself. This is currently
|
||||
[@akohlmey](https://github.com/akohlmey) (Axel Kohlmeyer).
|
||||
If this assignment needs to be changed, it shall be done right after a
|
||||
stable release.
|
||||
|
||||
## Pull Requests
|
||||
|
||||
ALL changes to the LAMMPS code and documentation, however trivial, MUST
|
||||
be submitted as a pull request to GitHub. All changes to the "master"
|
||||
branch must be made exclusively through merging pull requests. The
|
||||
"unstable" and "stable" branches, respectively are only to be updated
|
||||
upon patch or stable releases with fast-forward merges based on the
|
||||
associated tags. Pull requests may also be submitted to (long-running)
|
||||
feature branches created by LAMMPS developers inside the LAMMPS project,
|
||||
if needed. Those are not subject to the merge and review restrictions
|
||||
discussed in this document, though, but get manages as needed on a
|
||||
case-by-case basis.
|
||||
|
||||
### Pull Request Assignments
|
||||
|
||||
Pull requests can be "chaperoned" by one of the LAMMPS core developers.
|
||||
This is indicated by who the pull request is assigned to. LAMMPS core
|
||||
developers can self-assign or they can decide to assign a pull request
|
||||
to a different LAMMPS developer. Being assigned to a pull request means,
|
||||
that this pull request may need some work and the assignee is tasked to
|
||||
determine what this might be needed or not, and may either implement the
|
||||
required changes or ask the submitter of the pull request to implement
|
||||
them. Even though, all LAMMPS developers may have write access to pull
|
||||
requests (if enabled by the submitter, which is the default), only the
|
||||
submitter or the assignee of a pull request may do so. During this
|
||||
period the "work_in_progress" label shall be applied to the pull
|
||||
request. The assignee gets to decide what happens to the pull request
|
||||
next, e.g. whether it should be assigned to a different developer for
|
||||
additional checks and changes, or is recommended to be merged. Removing
|
||||
the "work_in_progress" label and assigning the pull request to the
|
||||
developer tasked with merging signals that a pull request is ready to be
|
||||
merged.
|
||||
|
||||
### Pull Request Reviews
|
||||
|
||||
People can be assigned to review a pull request in two ways:
|
||||
|
||||
* They can be assigned manually to review a pull request
|
||||
by the submitter or a LAMMPS developer
|
||||
* They can be automatically assigned, because a developers matches
|
||||
a file pattern in the `.github/CODEOWNERS` file, which associates
|
||||
developers with the code they contributed and maintain.
|
||||
|
||||
Reviewers are requested to state their appraisal of the proposed changes
|
||||
and either approve or request changes. People may unassign themselves
|
||||
from review, if they feel not competent about the changes proposed. At
|
||||
least one review from a LAMMPS developer with write access is required
|
||||
before merging in addition to the automated compilation tests. The
|
||||
feature, that reviews from code owners are "hard" reviews (i.e. they
|
||||
must all be approved before merging is allowed), is currently disabled
|
||||
and it is in the discretion of the merge maintainer to assess when
|
||||
a sufficient degree of approval has been reached. Reviews may be
|
||||
(automatically) dismissed, when the reviewed code has been changed,
|
||||
and then approval is required a second time.
|
||||
|
||||
### Pull Request Discussions
|
||||
|
||||
All discussions about a pull request should be kept as much as possible
|
||||
on the pull request discussion page on GitHub, so that other developers
|
||||
can later review the entire discussion after the fact and understand the
|
||||
rationale behind choices made. Exceptions to this policy are technical
|
||||
discussions, that are centered on tools or policies themselves
|
||||
(git, github, c++) rather than on the content of the pull request.
|
||||
|
||||
### Checklist for Pull Requests
|
||||
|
||||
Here are some items to check:
|
||||
* source and text files should not have CR/LF line endings (use dos2unix to remove)
|
||||
* every new command or style should have documentation. The names of
|
||||
source files (c++ and manual) should follow the name of the style.
|
||||
(example: `src/fix_nve.cpp`, `src/fix_nve.h` for `fix nve` command,
|
||||
implementing the class `FixNVE`, documented in `doc/src/fix_nve.txt`)
|
||||
* all new style names should be lower case, the must be no dashes,
|
||||
blanks, or underscores separating words, only forward slashes.
|
||||
* new style docs should be added to the "overview" files in
|
||||
`doc/src/Commands_*.txt`, `doc/src/{fixes,computes,pairs,bonds,...}.txt`
|
||||
and `doc/src/lammps.book`
|
||||
* new files in packages should be added to `src/.gitignore`
|
||||
* removed or renamed files in packages should be added to `src/Purge.list`
|
||||
* C++ source files should use C++ style include files for accessing
|
||||
C-library APIs, e.g. `#include <cstdlib>` instead of `#include <stdlib.h>`.
|
||||
And they should use angular brackets instead of double quotes. Full list:
|
||||
* assert.h -> cassert
|
||||
* ctype.h -> cctype
|
||||
* errno.h -> cerrno
|
||||
* float.h -> cfloat
|
||||
* limits.h -> climits
|
||||
* math.h -> cmath
|
||||
* omplex.h -> complex
|
||||
* setjmp.h -> csetjmp
|
||||
* signal.h -> csignal
|
||||
* stddef.h -> cstddef
|
||||
* stdint.h -> cstdint
|
||||
* stdio.h -> cstdio
|
||||
* stdlib.h -> cstdlib
|
||||
* string.h -> cstring
|
||||
* time.h -> ctime
|
||||
Do not replace (as they are C++-11): `inttypes.h` and `stdint.h`.
|
||||
* Code should follow the C++-98 standard. C++-11 is only accepted
|
||||
in individual special purpose packages
|
||||
* indentation is two spaces per level
|
||||
* there should be no tabs and no trailing whitespace
|
||||
* header files, especially of new styles, should not include any
|
||||
other headers, except the header with the base class or cstdio.
|
||||
Forward declarations should be used instead when possible.
|
||||
* iostreams should be avoided. LAMMPS uses stdio from the C-library.
|
||||
* use of STL in headers and class definitions should be avoided.
|
||||
* static class members should be avoided at all cost.
|
||||
* anything storing atom IDs should be using `tagint` and not `int`.
|
||||
This can be flagged by the compiler only for pointers and only when
|
||||
compiling LAMMPS with `-DLAMMPS_BIGBIG`.
|
||||
* when including both `lmptype.h` (and using defines or macros from it)
|
||||
and `mpi.h`, `lmptype.h` must be included first.
|
||||
|
||||
## GitHub Issues
|
||||
|
||||
The GitHub issue tracker is the location where the LAMMPS developers
|
||||
and other contributors or LAMMPS users can report issues or bugs with
|
||||
the LAMMPS code or request new features to be added. Feature requests
|
||||
are usually indicated by a `[Feature Request]` marker in the subject.
|
||||
Issues are assigned to a person, if this person is working on this
|
||||
feature or working to resolve an issue. Issues that have nobody working
|
||||
on them at the moment, have the label `volunteer needed` attached.
|
||||
|
||||
When an issue, say `#125` is resolved by a specific pull request,
|
||||
the comment for the pull request shall contain the text `closes #125`
|
||||
or `fixes #125`, so that the issue is automatically deleted when
|
||||
the pull request is merged.
|
||||
|
||||
## Milestones and Release Planning
|
||||
|
||||
LAMMPS uses a continuous release development model with incremental
|
||||
changes, i.e. significant effort is made - including automated pre-merge
|
||||
testing - that the code in the branch "master" does not get broken.
|
||||
More extensive testing (including regression testing) is performed after
|
||||
code is merged to the "master" branch. There are patch releases of
|
||||
LAMMPS every 1-3 weeks at a point, when the LAMMPS developers feel, that
|
||||
a sufficient amount of changes have happened, and the post-merge testing
|
||||
has been successful. These patch releases are marked with a
|
||||
`patch_<version date>` tag and the "unstable" branch follows only these
|
||||
versions (and thus is always supposed to be of production quality,
|
||||
unlike "master", which may be temporary broken, in the case of larger
|
||||
change sets or unexpected incompatibilities or side effects.
|
||||
|
||||
About 3-4 times each year, there are going to be "stable" releases
|
||||
of LAMMPS. These have seen additional, manual testing and review of
|
||||
results from testing with instrumented code and static code analysis.
|
||||
Also, in the last 2-3 patch releases before a stable release are
|
||||
"release candidate" versions which only contain bugfixes and
|
||||
documentation updates. For release planning and the information of
|
||||
code contributors, issues and pull requests being actively worked on
|
||||
are assigned a "milestone", which corresponds to the next stable
|
||||
release or the stable release after that, with a tentative release
|
||||
date.
|
||||
|
||||
@ -137,9 +137,9 @@ simply loading the appropriate module before building LAMMPS.
|
||||
-D CMAKE_C_COMPILER=name # name of C compiler
|
||||
-D CMAKE_Fortran_COMPILER=name # name of Fortran compiler :pre
|
||||
|
||||
-D CMAKE_CXX_FlAGS=string # flags to use with C++ compiler
|
||||
-D CMAKE_C_FlAGS=string # flags to use with C compiler
|
||||
-D CMAKE_Fortran_FlAGS=string # flags to use with Fortran compiler :pre
|
||||
-D CMAKE_CXX_FLAGS=string # flags to use with C++ compiler
|
||||
-D CMAKE_C_FLAGS=string # flags to use with C compiler
|
||||
-D CMAKE_Fortran_FLAGS=string # flags to use with Fortran compiler :pre
|
||||
|
||||
By default CMake will use a compiler it finds and it will add
|
||||
optimization flags appropriate to that compiler and any "accelerator
|
||||
|
||||
@ -45,6 +45,7 @@ This is the list of packages that may require additional steps.
|
||||
"USER-INTEL"_#user-intel,
|
||||
"USER-MOLFILE"_#user-molfile,
|
||||
"USER-NETCDF"_#user-netcdf,
|
||||
"USER-PLUMED"_#user-plumed,
|
||||
"USER-OMP"_#user-omp,
|
||||
"USER-QMMM"_#user-qmmm,
|
||||
"USER-QUIP"_#user-quip,
|
||||
@ -563,9 +564,9 @@ file.
|
||||
VORONOI package :h4,link(voronoi)
|
||||
|
||||
To build with this package, you must download and build the "Voro++
|
||||
library"_voro_home.
|
||||
library"_voro-home.
|
||||
|
||||
:link(voro_home,http://math.lbl.gov/voro++)
|
||||
:link(voro-home,http://math.lbl.gov/voro++)
|
||||
|
||||
[CMake build]:
|
||||
|
||||
@ -712,6 +713,103 @@ a corresponding Makefile.lammps.machine file.
|
||||
|
||||
:line
|
||||
|
||||
USER-PLUMED package :h4,link(user-plumed)
|
||||
|
||||
Before building LAMMPS with this package, you must first build PLUMED.
|
||||
PLUMED can be built as part of the LAMMPS build or installed separately
|
||||
from LAMMPS using the generic "plumed installation instructions"_plumedinstall.
|
||||
:link(plumedinstall,http://plumed.github.io/doc-master/user-doc/html/_installation.html)
|
||||
|
||||
PLUMED can be linked into MD codes in three different modes: static,
|
||||
shared, and runtime. With the "static" mode, all required PLUMED code
|
||||
is linked statically into the MD code. The MD code is then fully
|
||||
independent from the PLUMED installation, but also you have to
|
||||
rebuild/relink the MD code to update the PLUMED code inside it. With
|
||||
"shared" linkage mode, the MD code is linked to a shared library
|
||||
containing the PLUMED code, preferably after it was installed in a
|
||||
globally accessible location. This way the same installed PLUMED code
|
||||
can be shared across multiple MD packages and can be updated, for as
|
||||
long as the shared PLUMED library is ABI-compatible. The third linkage
|
||||
mode is "runtime" which allows to switch the PLUMED kernel at runtime
|
||||
between different variants through setting the PLUMED_KERNEL environment
|
||||
varible, which has to point to the location of the libplumedKernel.so
|
||||
dynamical shared object, which is then loaded at runtime. This is
|
||||
particularly convenient for doing PLUMED development and comparing
|
||||
multiple PLUMED versions without having to recompile the hosting MD
|
||||
code. All three linkage modes are supported by LAMMPS on selected
|
||||
operating systems (e.g. Linux) and using either CMake or traditional
|
||||
make build. The "static" mode should be most portable, the "runtime"
|
||||
mode support in LAMMPS makes the most assumptions about operating
|
||||
system and compiler environment. If one mode does not work, try a
|
||||
different one, or switch to a different build system, or consider
|
||||
a global PLUMED installation or downloading it during building LAMMPS.
|
||||
|
||||
[CMake build]:
|
||||
|
||||
-D DOWNLOAD_PLUMED=value # download PLUMED for build, value = no (default) or yes
|
||||
-D PLUMED_MODE=value # Linkage mode for PLUMED, value = static (default), shared, or runtime :pre
|
||||
|
||||
If DOWNLOAD_PLUMED is set to "yes", the PLUMED library will be
|
||||
downloaded (the version of that is hardcoded to a vetted version of
|
||||
PLUMED, usually a recent stable release version) and built inside the
|
||||
CMake build directory. If DOWNLOAD_PLUMED is set to "no" (the default),
|
||||
CMake will try to detect an installed version of PLUMED and link to
|
||||
that. For this to work, the PLUMED library has to be installed into a
|
||||
location where the pkg-config tool can find it or the PKG_CONFIG_PATH
|
||||
environment variable has to be set up accordingly.
|
||||
|
||||
The PLUMED_MODE setting determines the linkage mode of the PLUMED
|
||||
library. Allowed values are "static" (default), "shared", or "runtime".
|
||||
For a discussion of PLUMED linkage modes, please see above. When
|
||||
enabling DOWNLOAD_PLUMED, the static linkage mode is recommended.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
Before installing the USER-PLUMED package, first the PLUMED library
|
||||
needs to be configured so that LAMMPS can find the right settings when
|
||||
compiling and linking the LAMMPS executable itself. You can either
|
||||
download and build PLUMED inside the LAMMPS plumed library folder or use
|
||||
a previously installed PLUMED library and point LAMMPS to its
|
||||
location. You also have to choose the linkage mode: "static" (default),
|
||||
"shared" or "runtime". For a discussion of PLUMED linkage modes, please
|
||||
see above.
|
||||
|
||||
Download/compilation/configuration of the plumed library can be done
|
||||
from the src folder through the following make args:
|
||||
|
||||
make lib-plumed # print help message
|
||||
make lib-plumed args="-b" # download and build PLUMED in lib/plumed/plumed2
|
||||
make lib-plumed args="-p $HOME/.local" # use existing PLUMED installation in $HOME/.local
|
||||
make lib-plumed args="-p /usr/local -m shared" # use existing PLUMED installation in
|
||||
# /usr/local and use shared linkage mode
|
||||
:pre
|
||||
|
||||
Note that 2 symbolic (soft) links, "includelink" and "liblink" are
|
||||
created in lib/plumed to point into the location of the PLUMED build to
|
||||
use and also a new file lib/plumed/Makefile.lammps is created with
|
||||
settings suitable for LAMMPS to compile and link PLUMED in the desired
|
||||
linkage mode. After this step is compleded, you can install the
|
||||
USER-PLUMED package and compile LAMMPS in the usual manner:
|
||||
|
||||
make yes-user-plumed
|
||||
make machine :pre
|
||||
|
||||
Once this compilation completes you should be able to run LAMMPS in the
|
||||
usual way. For shared linkage mode, libplumed.so must be found by the
|
||||
LAMMPS executable, which on many operating systems means, you have to
|
||||
set the LD_LIBRARY_PATH environment variable accordingly.
|
||||
|
||||
Support for the different linkage modes in LAMMPS varies for different
|
||||
operating systems, using the static linkage is expected to be the most
|
||||
portable, and thus set to be the default.
|
||||
|
||||
If you want to change the linkage mode, you have to re-run "make
|
||||
lib-plumed" with the desired settings [and] do a reinstall if the
|
||||
USER-PLUMED package with "make yes-user-plumed" to update the required
|
||||
makefile settings with the changes in the lib/plumed folder.
|
||||
|
||||
:line
|
||||
|
||||
USER-H5MD package :h4,link(user-h5md)
|
||||
|
||||
To build with this package you must have the HDF5 software package
|
||||
@ -932,9 +1030,9 @@ successfully build on your system.
|
||||
USER-SCAFACOS package :h4,link(user-scafacos)
|
||||
|
||||
To build with this package, you must download and build the "ScaFaCoS
|
||||
Coulomb solver library"_scafacos_home
|
||||
Coulomb solver library"_scafacos-home
|
||||
|
||||
:link(scafacos_home,http://www.scafacos.de)
|
||||
:link(scafacos-home,http://www.scafacos.de)
|
||||
|
||||
[CMake build]:
|
||||
|
||||
|
||||
@ -56,6 +56,7 @@ packages:
|
||||
"USER-INTEL"_Build_extras.html#user-intel,
|
||||
"USER-MOLFILE"_Build_extras.html#user-molfile,
|
||||
"USER-NETCDF"_Build_extras.html#user-netcdf,
|
||||
"USER-PLUMED"_Build_extras.html#user-plumed,
|
||||
"USER-OMP"_Build_extras.html#user-omp,
|
||||
"USER-QMMM"_Build_extras.html#user-qmmm,
|
||||
"USER-QUIP"_Build_extras.html#user-quip,
|
||||
|
||||
@ -59,6 +59,7 @@ An alphabetic list of all LAMMPS commands.
|
||||
"fix_modify"_fix_modify.html,
|
||||
"group"_group.html,
|
||||
"group2ndx"_group2ndx.html,
|
||||
"hyper"_hyper.html,
|
||||
"if"_if.html,
|
||||
"info"_info.html,
|
||||
"improper_coeff"_improper_coeff.html,
|
||||
|
||||
@ -34,7 +34,7 @@ OPT.
|
||||
"fene (iko)"_bond_fene.html,
|
||||
"fene/expand (o)"_bond_fene_expand.html,
|
||||
"gromos (o)"_bond_gromos.html,
|
||||
"harmonic (ko)"_bond_harmonic.html,
|
||||
"harmonic (iko)"_bond_harmonic.html,
|
||||
"harmonic/shift (o)"_bond_harmonic_shift.html,
|
||||
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
|
||||
"morse (o)"_bond_morse.html,
|
||||
@ -57,9 +57,11 @@ OPT.
|
||||
"zero"_angle_zero.html,
|
||||
"hybrid"_angle_hybrid.html :tb(c=3,ea=c)
|
||||
|
||||
"charmm (ko)"_angle_charmm.html,
|
||||
"charmm (iko)"_angle_charmm.html,
|
||||
"class2 (ko)"_angle_class2.html,
|
||||
"class2/p6"_angle_class2.html,
|
||||
"cosine (o)"_angle_cosine.html,
|
||||
"cosine/buck6d"_angle_cosine_buck6d.html,
|
||||
"cosine/delta (o)"_angle_cosine_delta.html,
|
||||
"cosine/periodic (o)"_angle_cosine_periodic.html,
|
||||
"cosine/shift (o)"_angle_cosine_shift.html,
|
||||
@ -97,7 +99,7 @@ OPT.
|
||||
"nharmonic (o)"_dihedral_nharmonic.html,
|
||||
"opls (iko)"_dihedral_opls.html,
|
||||
"quadratic (o)"_dihedral_quadratic.html,
|
||||
"spherical (o)"_dihedral_spherical.html,
|
||||
"spherical"_dihedral_spherical.html,
|
||||
"table (o)"_dihedral_table.html,
|
||||
"table/cut"_dihedral_table_cut.html :tb(c=4,ea=c)
|
||||
|
||||
@ -112,7 +114,7 @@ OPT.
|
||||
|
||||
"none"_improper_none.html,
|
||||
"zero"_improper_zero.html,
|
||||
"hybrid"_improper_hybrid.html :tb(c=3,ea=c)
|
||||
"hybrid"_improper_hybrid.html :tb(c=3,ea=c)
|
||||
|
||||
"class2 (ko)"_improper_class2.html,
|
||||
"cossq (o)"_improper_cossq.html,
|
||||
@ -120,5 +122,6 @@ OPT.
|
||||
"distance"_improper_distance.html,
|
||||
"fourier (o)"_improper_fourier.html,
|
||||
"harmonic (iko)"_improper_harmonic.html,
|
||||
"inversion/harmonic"_improper_inversion_harmonic.html,
|
||||
"ring (o)"_improper_ring.html,
|
||||
"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c)
|
||||
|
||||
@ -25,6 +25,7 @@ additional letters in parenthesis: g = GPU, i = USER-INTEL, k =
|
||||
KOKKOS, o = USER-OMP, t = OPT.
|
||||
|
||||
"ackland/atom"_compute_ackland_atom.html,
|
||||
"adf"_compute_adf.html,
|
||||
"aggregate/atom"_compute_cluster_atom.html,
|
||||
"angle"_compute_angle.html,
|
||||
"angle/local"_compute_angle_local.html,
|
||||
@ -92,6 +93,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"pe/tally"_compute_tally.html,
|
||||
"plasticity/atom"_compute_plasticity_atom.html,
|
||||
"pressure"_compute_pressure.html,
|
||||
"pressure/cylinder"_compute_pressure_cylinder.html,
|
||||
"pressure/uef"_compute_pressure_uef.html,
|
||||
"property/atom"_compute_property_atom.html,
|
||||
"property/chunk"_compute_property_chunk.html,
|
||||
@ -118,7 +120,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"smd/tlsph/strain"_compute_smd_tlsph_strain.html,
|
||||
"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html,
|
||||
"smd/tlsph/stress"_compute_smd_tlsph_stress.html,
|
||||
"smd/triangle/mesh/vertices"_compute_smd_triangle_vertices.html,
|
||||
"smd/triangle/vertices"_compute_smd_triangle_vertices.html,
|
||||
"smd/ulsph/num/neighs"_compute_smd_ulsph_num_neighs.html,
|
||||
"smd/ulsph/strain"_compute_smd_ulsph_strain.html,
|
||||
"smd/ulsph/strain/rate"_compute_smd_ulsph_strain_rate.html,
|
||||
@ -129,6 +131,8 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"snav/atom"_compute_sna_atom.html,
|
||||
"spin"_compute_spin.html,
|
||||
"stress/atom"_compute_stress_atom.html,
|
||||
"stress/mop"_compute_stress_mop.html,
|
||||
"stress/mop/profile"_compute_stress_mop.html,
|
||||
"stress/tally"_compute_tally.html,
|
||||
"tdpd/cc/atom"_compute_tdpd_cc_atom.html,
|
||||
"temp (k)"_compute_temp.html,
|
||||
@ -136,6 +140,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"temp/body"_compute_temp_body.html,
|
||||
"temp/chunk"_compute_temp_chunk.html,
|
||||
"temp/com"_compute_temp_com.html,
|
||||
"temp/cs"_compute_temp_cs.html,
|
||||
"temp/deform"_compute_temp_deform.html,
|
||||
"temp/deform/eff"_compute_temp_deform_eff.html,
|
||||
"temp/drude"_compute_temp_drude.html,
|
||||
|
||||
@ -40,11 +40,13 @@ OPT.
|
||||
"ave/time"_fix_ave_time.html,
|
||||
"aveforce"_fix_aveforce.html,
|
||||
"balance"_fix_balance.html,
|
||||
"bocs"_fix_bocs.html,
|
||||
"bond/break"_fix_bond_break.html,
|
||||
"bond/create"_fix_bond_create.html,
|
||||
"bond/react"_fix_bond_react.html,
|
||||
"bond/swap"_fix_bond_swap.html,
|
||||
"box/relax"_fix_box_relax.html,
|
||||
"client/md"_fix_client_md.html,
|
||||
"cmap"_fix_cmap.html,
|
||||
"colvars"_fix_colvars.html,
|
||||
"controller"_fix_controller.html,
|
||||
@ -54,7 +56,7 @@ OPT.
|
||||
"drag"_fix_drag.html,
|
||||
"drude"_fix_drude.html,
|
||||
"drude/transform/direct"_fix_drude_transform.html,
|
||||
"drude/transform/reverse"_fix_drude_transform.html,
|
||||
"drude/transform/inverse"_fix_drude_transform.html,
|
||||
"dt/reset"_fix_dt_reset.html,
|
||||
"edpd/source"_fix_dpd_source.html,
|
||||
"efield"_fix_efield.html,
|
||||
@ -68,14 +70,16 @@ OPT.
|
||||
"ffl"_fix_ffl.html,
|
||||
"filter/corotate"_fix_filter_corotate.html,
|
||||
"flow/gauss"_fix_flow_gauss.html,
|
||||
"freeze"_fix_freeze.html,
|
||||
"freeze (k)"_fix_freeze.html,
|
||||
"gcmc"_fix_gcmc.html,
|
||||
"gld"_fix_gld.html,
|
||||
"gle"_fix_gle.html,
|
||||
"gravity (o)"_fix_gravity.html,
|
||||
"gravity (ko)"_fix_gravity.html,
|
||||
"grem"_fix_grem.html,
|
||||
"halt"_fix_halt.html,
|
||||
"heat"_fix_heat.html,
|
||||
"hyper/global"_fix_hyper_global.html,
|
||||
"hyper/local"_fix_hyper_local.html,
|
||||
"imd"_fix_imd.html,
|
||||
"indent"_fix_indent.html,
|
||||
"ipi"_fix_ipi.html,
|
||||
@ -92,6 +96,7 @@ OPT.
|
||||
"lineforce"_fix_lineforce.html,
|
||||
"manifoldforce"_fix_manifoldforce.html,
|
||||
"meso"_fix_meso.html,
|
||||
"meso/move"_fix_meso_move.html,
|
||||
"meso/stationary"_fix_meso_stationary.html,
|
||||
"momentum (k)"_fix_momentum.html,
|
||||
"move"_fix_move.html,
|
||||
@ -107,15 +112,16 @@ OPT.
|
||||
"nph/eff"_fix_nh_eff.html,
|
||||
"nph/sphere (o)"_fix_nph_sphere.html,
|
||||
"nphug (o)"_fix_nphug.html,
|
||||
"npt (kio)"_fix_nh.html,
|
||||
"npt (iko)"_fix_nh.html,
|
||||
"npt/asphere (o)"_fix_npt_asphere.html,
|
||||
"npt/body"_fix_npt_body.html,
|
||||
"npt/eff"_fix_nh_eff.html,
|
||||
"npt/sphere (o)"_fix_npt_sphere.html,
|
||||
"npt/uef"_fix_nh_uef.html,
|
||||
"nve (kio)"_fix_nve.html,
|
||||
"nve (iko)"_fix_nve.html,
|
||||
"nve/asphere (i)"_fix_nve_asphere.html,
|
||||
"nve/asphere/noforce"_fix_nve_asphere_noforce.html,
|
||||
"nve/awpmd"_fix_nve_awpmd.html,
|
||||
"nve/body"_fix_nve_body.html,
|
||||
"nve/dot"_fix_nve_dot.html,
|
||||
"nve/dotc/langevin"_fix_nve_dotc_langevin.html,
|
||||
@ -124,7 +130,7 @@ OPT.
|
||||
"nve/line"_fix_nve_line.html,
|
||||
"nve/manifold/rattle"_fix_nve_manifold_rattle.html,
|
||||
"nve/noforce"_fix_nve_noforce.html,
|
||||
"nve/sphere (o)"_fix_nve_sphere.html,
|
||||
"nve/sphere (ko)"_fix_nve_sphere.html,
|
||||
"nve/spin"_fix_nve_spin.html,
|
||||
"nve/tri"_fix_nve_tri.html,
|
||||
"nvk"_fix_nvk.html,
|
||||
@ -143,6 +149,7 @@ OPT.
|
||||
"phonon"_fix_phonon.html,
|
||||
"pimd"_fix_pimd.html,
|
||||
"planeforce"_fix_planeforce.html,
|
||||
"plumed"_fix_plumed.html,
|
||||
"poems"_fix_poems.html,
|
||||
"pour"_fix_pour.html,
|
||||
"precession/spin"_fix_precession_spin.html,
|
||||
@ -169,27 +176,28 @@ OPT.
|
||||
"restrain"_fix_restrain.html,
|
||||
"rhok"_fix_rhok.html,
|
||||
"rigid (o)"_fix_rigid.html,
|
||||
"rigid/meso"_fix_rigid_meso.html,
|
||||
"rigid/nph (o)"_fix_rigid.html,
|
||||
"rigid/nph/small"_fix_rigid.html,
|
||||
"rigid/npt (o)"_fix_rigid.html,
|
||||
"rigid/npt/small"_fix_rigid.html,
|
||||
"rigid/nve (o)"_fix_rigid.html,
|
||||
"rigid/nve/small"_fix_rigid.html,
|
||||
"rigid/nvt (o)"_fix_rigid.html,
|
||||
"rigid/nvt/small"_fix_rigid.html,
|
||||
"rigid/small (o)"_fix_rigid.html,
|
||||
"rigid/small/nph"_fix_rigid.html,
|
||||
"rigid/small/npt"_fix_rigid.html,
|
||||
"rigid/small/nve"_fix_rigid.html,
|
||||
"rigid/small/nvt"_fix_rigid.html,
|
||||
"rx (k)"_fix_rx.html,
|
||||
"saed/vtk"_fix_saed_vtk.html,
|
||||
"setforce (k)"_fix_setforce.html,
|
||||
"shake"_fix_shake.html,
|
||||
"shardlow (k)"_fix_shardlow.html,
|
||||
"smd"_fix_smd.html,
|
||||
"smd/adjust/dt"_fix_smd_adjust_dt.html,
|
||||
"smd/integrate/tlsph"_fix_smd_integrate_tlsph.html,
|
||||
"smd/integrate/ulsph"_fix_smd_integrate_ulsph.html,
|
||||
"smd/move/triangulated/surface"_fix_smd_move_triangulated_surface.html,
|
||||
"smd/adjust_dt"_fix_smd_adjust_dt.html,
|
||||
"smd/integrate_tlsph"_fix_smd_integrate_tlsph.html,
|
||||
"smd/integrate_ulsph"_fix_smd_integrate_ulsph.html,
|
||||
"smd/move_tri_surf"_fix_smd_move_triangulated_surface.html,
|
||||
"smd/setvel"_fix_smd_setvel.html,
|
||||
"smd/wall/surface"_fix_smd_wall_surface.html,
|
||||
"smd/wall_surface"_fix_smd_wall_surface.html,
|
||||
"spring"_fix_spring.html,
|
||||
"spring/chunk"_fix_spring_chunk.html,
|
||||
"spring/rg"_fix_spring_rg.html,
|
||||
|
||||
@ -31,8 +31,8 @@ OPT.
|
||||
|
||||
"adp (o)"_pair_adp.html,
|
||||
"agni (o)"_pair_agni.html,
|
||||
"airebo (oi)"_pair_airebo.html,
|
||||
"airebo/morse (oi)"_pair_airebo.html,
|
||||
"airebo (io)"_pair_airebo.html,
|
||||
"airebo/morse (io)"_pair_airebo.html,
|
||||
"atm"_pair_atm.html,
|
||||
"awpmd/cut"_pair_awpmd.html,
|
||||
"beck (go)"_pair_beck.html,
|
||||
@ -42,21 +42,23 @@ OPT.
|
||||
"bop"_pair_bop.html,
|
||||
"born (go)"_pair_born.html,
|
||||
"born/coul/dsf"_pair_born.html,
|
||||
"born/coul/dsf/cs"_pair_born.html,
|
||||
"born/coul/dsf/cs"_pair_cs.html,
|
||||
"born/coul/long (go)"_pair_born.html,
|
||||
"born/coul/long/cs"_pair_born.html,
|
||||
"born/coul/long/cs (g)"_pair_cs.html,
|
||||
"born/coul/msm (o)"_pair_born.html,
|
||||
"born/coul/wolf (go)"_pair_born.html,
|
||||
"born/coul/wolf/cs"_pair_born.html,
|
||||
"born/coul/wolf/cs (g)"_pair_cs.html,
|
||||
"brownian (o)"_pair_brownian.html,
|
||||
"brownian/poly (o)"_pair_brownian.html,
|
||||
"buck (giko)"_pair_buck.html,
|
||||
"buck/coul/cut (giko)"_pair_buck.html,
|
||||
"buck/coul/long (giko)"_pair_buck.html,
|
||||
"buck/coul/long/cs"_pair_buck.html,
|
||||
"buck/coul/long/cs"_pair_cs.html,
|
||||
"buck/coul/msm (o)"_pair_buck.html,
|
||||
"buck/long/coul/long (o)"_pair_buck_long.html,
|
||||
"buck/mdf"_pair_mdf.html,
|
||||
"buck6d/coul/gauss/dsf"_pair_buck6d_coul_gauss.html,
|
||||
"buck6d/coul/gauss/long"_pair_buck6d_coul_gauss.html,
|
||||
"colloid (go)"_pair_colloid.html,
|
||||
"comb (o)"_pair_comb.html,
|
||||
"comb3"_pair_comb.html,
|
||||
@ -66,13 +68,13 @@ OPT.
|
||||
"coul/diel (o)"_pair_coul_diel.html,
|
||||
"coul/dsf (gko)"_pair_coul.html,
|
||||
"coul/long (gko)"_pair_coul.html,
|
||||
"coul/long/cs"_pair_coul.html,
|
||||
"coul/long/cs (g)"_pair_cs.html,
|
||||
"coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"coul/msm"_pair_coul.html,
|
||||
"coul/msm (o)"_pair_coul.html,
|
||||
"coul/shield"_pair_coul_shield.html,
|
||||
"coul/streitz"_pair_coul.html,
|
||||
"coul/wolf (ko)"_pair_coul.html,
|
||||
"coul/wolf/cs"_pair_coul.html,
|
||||
"coul/wolf/cs"_pair_cs.html,
|
||||
"dpd (gio)"_pair_dpd.html,
|
||||
"dpd/fdt"_pair_dpd_fdt.html,
|
||||
"dpd/fdt/energy (k)"_pair_dpd_fdt.html,
|
||||
@ -91,11 +93,11 @@ OPT.
|
||||
"exp6/rx (k)"_pair_exp6_rx.html,
|
||||
"extep"_pair_extep.html,
|
||||
"gauss (go)"_pair_gauss.html,
|
||||
"gauss/cut"_pair_gauss.html,
|
||||
"gauss/cut (o)"_pair_gauss.html,
|
||||
"gayberne (gio)"_pair_gayberne.html,
|
||||
"gran/hertz/history (o)"_pair_gran.html,
|
||||
"gran/hooke (o)"_pair_gran.html,
|
||||
"gran/hooke/history (o)"_pair_gran.html,
|
||||
"gran/hooke/history (ko)"_pair_gran.html,
|
||||
"gw"_pair_gw.html,
|
||||
"gw/zbl"_pair_gw.html,
|
||||
"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html,
|
||||
@ -110,9 +112,9 @@ OPT.
|
||||
"list"_pair_list.html,
|
||||
"lj/charmm/coul/charmm (iko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long (giko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long/soft (o)"_pair_charmm.html,
|
||||
"lj/charmm/coul/msm"_pair_charmm.html,
|
||||
"lj/charmm/coul/long (gikot)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"lj/charmm/coul/msm (o)"_pair_charmm.html,
|
||||
"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html,
|
||||
"lj/charmmfsw/coul/long"_pair_charmm.html,
|
||||
"lj/class2 (gko)"_pair_class2.html,
|
||||
@ -125,12 +127,12 @@ OPT.
|
||||
"lj/cut/coul/debye (gko)"_pair_lj.html,
|
||||
"lj/cut/coul/dsf (gko)"_pair_lj.html,
|
||||
"lj/cut/coul/long (gikot)"_pair_lj.html,
|
||||
"lj/cut/coul/long/cs"_pair_lj.html,
|
||||
"lj/cut/coul/long/cs"_pair_cs.html,
|
||||
"lj/cut/coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"lj/cut/coul/msm (go)"_pair_lj.html,
|
||||
"lj/cut/coul/wolf (o)"_pair_lj.html,
|
||||
"lj/cut/dipole/cut (go)"_pair_dipole.html,
|
||||
"lj/cut/dipole/long"_pair_dipole.html,
|
||||
"lj/cut/dipole/long (g)"_pair_dipole.html,
|
||||
"lj/cut/dipole/sf (go)"_pair_dipole.html,
|
||||
"lj/cut/soft (o)"_pair_lj_soft.html,
|
||||
"lj/cut/thole/long (o)"_pair_thole.html,
|
||||
@ -138,15 +140,17 @@ OPT.
|
||||
"lj/cut/tip4p/long (ot)"_pair_lj.html,
|
||||
"lj/cut/tip4p/long/soft (o)"_pair_lj_soft.html,
|
||||
"lj/expand (gko)"_pair_lj_expand.html,
|
||||
"lj/expand/coul/long (g)"_pair_lj_expand.html,
|
||||
"lj/gromacs (gko)"_pair_gromacs.html,
|
||||
"lj/gromacs/coul/gromacs (ko)"_pair_gromacs.html,
|
||||
"lj/long/coul/long (io)"_pair_lj_long.html,
|
||||
"lj/long/coul/long (iot)"_pair_lj_long.html,
|
||||
"lj/long/dipole/long"_pair_dipole.html,
|
||||
"lj/long/tip4p/long"_pair_lj_long.html,
|
||||
"lj/long/tip4p/long (o)"_pair_lj_long.html,
|
||||
"lj/mdf"_pair_mdf.html,
|
||||
"lj/sdk (gko)"_pair_sdk.html,
|
||||
"lj/sdk/coul/long (go)"_pair_sdk.html,
|
||||
"lj/sdk/coul/msm (o)"_pair_sdk.html,
|
||||
"lj/sf/dipole/sf (go)"_pair_dipole.html,
|
||||
"lj/smooth (o)"_pair_lj_smooth.html,
|
||||
"lj/smooth/linear (o)"_pair_lj_smooth_linear.html,
|
||||
"lj96/cut (go)"_pair_lj96.html,
|
||||
@ -161,10 +165,10 @@ OPT.
|
||||
"meam/spline (o)"_pair_meam_spline.html,
|
||||
"meam/sw/spline"_pair_meam_sw_spline.html,
|
||||
"mgpt"_pair_mgpt.html,
|
||||
"mie/cut (o)"_pair_mie.html,
|
||||
"mie/cut (g)"_pair_mie.html,
|
||||
"momb"_pair_momb.html,
|
||||
"morse (gkot)"_pair_morse.html,
|
||||
"morse/smooth/linear"_pair_morse.html,
|
||||
"morse/smooth/linear (o)"_pair_morse.html,
|
||||
"morse/soft"_pair_morse.html,
|
||||
"multi/lucy"_pair_multi_lucy.html,
|
||||
"multi/lucy/rx (k)"_pair_multi_lucy_rx.html,
|
||||
@ -180,7 +184,9 @@ OPT.
|
||||
"oxdna2/coaxstk"_pair_oxdna2.html,
|
||||
"oxdna2/dh"_pair_oxdna2.html,
|
||||
"oxdna2/excv"_pair_oxdna2.html,
|
||||
"oxdna2/hbond"_pair_oxdna2.html,
|
||||
"oxdna2/stk"_pair_oxdna2.html,
|
||||
"oxdna2/xstk"_pair_oxdna2.html,
|
||||
"peri/eps"_pair_peri.html,
|
||||
"peri/lps (o)"_pair_peri.html,
|
||||
"peri/pmb (o)"_pair_peri.html,
|
||||
@ -190,11 +196,12 @@ OPT.
|
||||
"quip"_pair_quip.html,
|
||||
"reax"_pair_reax.html,
|
||||
"reax/c (ko)"_pair_reaxc.html,
|
||||
"rebo (oi)"_pair_airebo.html,
|
||||
"rebo (io)"_pair_airebo.html,
|
||||
"resquared (go)"_pair_resquared.html,
|
||||
"sdpd/taitwater/isothermal"_pair_sdpd_taitwater_isothermal.html,
|
||||
"smd/hertz"_pair_smd_hertz.html,
|
||||
"smd/tlsph"_pair_smd_tlsph.html,
|
||||
"smd/triangulated/surface"_pair_smd_triangulated_surface.html,
|
||||
"smd/tri_surface"_pair_smd_triangulated_surface.html,
|
||||
"smd/ulsph"_pair_smd_ulsph.html,
|
||||
"smtbq"_pair_smtbq.html,
|
||||
"snap (k)"_pair_snap.html,
|
||||
@ -226,8 +233,8 @@ OPT.
|
||||
"tip4p/long/soft (o)"_pair_lj_soft.html,
|
||||
"tri/lj"_pair_tri_lj.html,
|
||||
"ufm (got)"_pair_ufm.html,
|
||||
"vashishta (ko)"_pair_vashishta.html,
|
||||
"vashishta (gko)"_pair_vashishta.html,
|
||||
"vashishta/table (o)"_pair_vashishta.html,
|
||||
"yukawa (gok)"_pair_yukawa.html,
|
||||
"yukawa (gko)"_pair_yukawa.html,
|
||||
"yukawa/colloid (go)"_pair_yukawa_colloid.html,
|
||||
"zbl (gok)"_pair_zbl.html :tb(c=4,ea=c)
|
||||
"zbl (gko)"_pair_zbl.html :tb(c=4,ea=c)
|
||||
|
||||
@ -22,10 +22,10 @@ users.
|
||||
LAMMPS source files are in two directories of the distribution
|
||||
tarball. The src directory has the majority of them, all of which are
|
||||
C++ files (*.cpp and *.h). Many of these files are in the src
|
||||
directory itself. There are also dozens of "packages", which can be
|
||||
directory itself. There are also dozens of ``packages'', which can be
|
||||
included or excluded when LAMMPS is built. See the
|
||||
doc/Section\_build.html section of the manual for more information
|
||||
about packages, or type "make" from within the src directory, which
|
||||
about packages, or type ``make'' from within the src directory, which
|
||||
lists package-related commands, such as ``make package-status''. The
|
||||
source files for each package are in an all-uppercase sub-directory of
|
||||
src, like src/MOLECULE or src/USER-CUDA. If the package is currently
|
||||
@ -38,17 +38,17 @@ The lib directory also contains source code for external libraries,
|
||||
used by a few of the packages. Each sub-directory, like meam or gpu,
|
||||
contains the source files, some of which are in different languages
|
||||
such as Fortran. The files are compiled into libraries from within
|
||||
each sub-directory, e.g. performing a "make" in the lib/meam directory
|
||||
each sub-directory, e.g. performing a ``make'' in the lib/meam directory
|
||||
creates a libmeam.a file. These libraries are linked to during a
|
||||
LAMMPS build, if the corresponding package is installed.
|
||||
|
||||
LAMMPS C++ source files almost always come in pairs, such as run.cpp
|
||||
and run.h. The pair of files defines a C++ class, the Run class in
|
||||
this case, which contains the code invoked by the "run" command in a
|
||||
this case, which contains the code invoked by the ``run'' command in a
|
||||
LAMMPS input script. As this example illustrates, source file and
|
||||
class names often have a one-to-one correspondence with a command used
|
||||
in a LAMMPS input script. Some source files and classes do not have a
|
||||
corresponding input script command, e.g. force.cpp and the Force
|
||||
corresponding input script command, e.g. ``force.cpp'' and the Force
|
||||
class. They are discussed in the next section.
|
||||
|
||||
\pagebreak
|
||||
@ -57,12 +57,12 @@ class. They are discussed in the next section.
|
||||
Though LAMMPS has a lot of source files and classes, its class
|
||||
hierarchy is quite simple, as outlined in Fig \ref{fig:classes}. Each
|
||||
boxed name refers to a class and has a pair of associated source files
|
||||
in lammps/src, e.g. memory.cpp and memory.h. More details on the
|
||||
in lammps/src, e.g. ``memory.cpp'' and ``memory.h''. More details on the
|
||||
class and its methods and data structures can be found by examining
|
||||
its *.h file.
|
||||
|
||||
LAMMPS (lammps.cpp/h) is the top-level class for the entire code. It
|
||||
holds an "instance" of LAMMPS and can be instantiated one or more
|
||||
holds an ``instance'' of LAMMPS and can be instantiated one or more
|
||||
times by a calling code. For example, the file src/main.cpp simply
|
||||
instantiates one instance of LAMMPS and passes it the input script.
|
||||
|
||||
@ -81,7 +81,7 @@ enabled by a bit of cleverness in the Pointers class (see
|
||||
src/pointers.h) which every class inherits from.
|
||||
|
||||
There are a handful of virtual parent classes in LAMMPS that define
|
||||
what LAMMPS calls "styles". They are shaded red in Fig
|
||||
what LAMMPS calls ``styles''. They are shaded red in Fig
|
||||
\ref{fig:classes}. Each of these are parents of a number of child
|
||||
classes that implement the interface defined by the parent class. For
|
||||
example, the fix style has around 100 child classes. They are the
|
||||
@ -89,17 +89,17 @@ possible fixes that can be specified by the fix command in an input
|
||||
script, e.g. fix nve, fix shake, fix ave/time, etc. The corresponding
|
||||
classes are Fix (for the parent class), FixNVE, FixShake, FixAveTime,
|
||||
etc. The source files for these classes are easy to identify in the
|
||||
src directory, since they begin with the word "fix", e,g,
|
||||
src directory, since they begin with the word ``fix'', e,g,
|
||||
fix\_nve.cpp, fix\_shake,cpp, fix\_ave\_time.cpp, etc.
|
||||
|
||||
The one exception is child class files for the "command" style. These
|
||||
The one exception is child class files for the ``command'' style. These
|
||||
implement specific commands in the input script that can be invoked
|
||||
before/after/between runs or which launch a simulation. Examples are
|
||||
the create\_box, minimize, run, and velocity commands which encode the
|
||||
CreateBox, Minimize, Run, and Velocity classes. The corresponding
|
||||
files are create\_box,cpp, minimize.cpp, run.cpp, and velocity.cpp.
|
||||
The list of command style files can be found by typing "grep
|
||||
COMMAND\_CLASS *.h" from within the src directory, since that word in
|
||||
The list of command style files can be found by typing ``grep
|
||||
COMMAND\_CLASS *.h'' from within the src directory, since that word in
|
||||
the header file identifies the class as an input script command.
|
||||
Similar words can be grepped to list files for the other LAMMPS
|
||||
styles. E.g. ATOM\_CLASS, PAIR\_CLASS, BOND\_CLASS, REGION\_CLASS,
|
||||
@ -471,13 +471,13 @@ FixStyle(your/fix/name,FixMine)
|
||||
\end{verbatim}
|
||||
\end{center}
|
||||
|
||||
Where "your/fix/name" is a name of your fix in the script and FixMine
|
||||
Where ``your/fix/name'' is a name of your fix in the script and FixMine
|
||||
is the name of the class. This code allows LAMMPS to find your fix
|
||||
when it parses input script. In addition, your fix header must be
|
||||
included in the file "style\_fix.h". In case if you use LAMMPS make,
|
||||
included in the file ``style\_fix.h''. In case if you use LAMMPS make,
|
||||
this file is generated automatically - all files starting with prefix
|
||||
fix\_ are included, so call your header the same way. Otherwise, don't
|
||||
forget to add your include into "style\_fix.h".
|
||||
forget to add your include into ``style\_fix.h''.
|
||||
|
||||
Let's write a simple fix which will print average velocity at the end
|
||||
of each timestep. First of all, implement a constructor:
|
||||
@ -567,11 +567,11 @@ void FixPrintVel::end_of_step()
|
||||
\end{center}
|
||||
|
||||
In the code above, we use MathExtra routines defined in
|
||||
"math\_extra.h". There are bunch of math functions to work with
|
||||
``math\_extra.h''. There are bunch of math functions to work with
|
||||
arrays of doubles as with math vectors.
|
||||
|
||||
In this code we use an instance of Atom class. This object is stored
|
||||
in the Pointers class (see "pointers.h"). This object contains all
|
||||
in the Pointers class (see ``pointers.h''). This object contains all
|
||||
global information about the simulation system. Data from Pointers
|
||||
class available to all classes inherited from it using protected
|
||||
inheritance. Hence when you write you own class, which is going to use
|
||||
@ -689,7 +689,7 @@ int FixSavePos::unpack_exchange(int nlocal, double *buf)
|
||||
|
||||
Now, a little bit about memory allocation. We used Memory class which
|
||||
is just a bunch of template functions for allocating 1D and 2D
|
||||
arrays. So you need to add include "memory.h" to have access to them.
|
||||
arrays. So you need to add include ``memory.h'' to have access to them.
|
||||
|
||||
Finally, if you need to write/read some global information used in
|
||||
your fix to the restart file, you might do it by setting flag
|
||||
|
||||
@ -49,7 +49,8 @@ Lennard-Jones benchmark file:
|
||||
% brew test lammps -v :pre
|
||||
|
||||
If you have problems with the installation you can post issues to
|
||||
"this link"_https://github.com/Homebrew/homebrew-science/issues.
|
||||
"this link"_homebrew.
|
||||
|
||||
Thanks to Derek Thomas (derekt at cello.t.u-tokyo.ac.jp) for setting
|
||||
up the Homebrew capability.
|
||||
:link(homebrew,https://github.com/Homebrew/homebrew-science/issues)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="10 Oct 2018 version">
|
||||
<META NAME="docnumber" CONTENT="15 Nov 2018 version">
|
||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
@ -21,7 +21,7 @@
|
||||
:line
|
||||
|
||||
LAMMPS Documentation :c,h1
|
||||
10 Oct 2018 version :c,h2
|
||||
15 Nov 2018 version :c,h2
|
||||
|
||||
"What is a LAMMPS version?"_Manual_version.html
|
||||
|
||||
|
||||
Binary file not shown.
@ -89,12 +89,14 @@ as contained in the file name.
|
||||
"USER-NETCDF"_#PKG-USER-NETCDF,
|
||||
"USER-OMP"_#PKG-USER-OMP,
|
||||
"USER-PHONON"_#PKG-USER-PHONON,
|
||||
"USER-PLUMED"_#PKG-USER-PLUMED,
|
||||
"USER-PTM"_#PKG-USER-PTM,
|
||||
"USER-QMMM"_#PKG-USER-QMMM,
|
||||
"USER-QTB"_#PKG-USER-QTB,
|
||||
"USER-QUIP"_#PKG-USER-QUIP,
|
||||
"USER-REAXC"_#PKG-USER-REAXC,
|
||||
"USER-SCAFACOS"_#PKG-USER-SCAFACOS,
|
||||
"USER-SDPD"_#PKG-USER-SDPD,
|
||||
"USER-SMD"_#PKG-USER-SMD,
|
||||
"USER-SMTBQ"_#PKG-USER-SMTBQ,
|
||||
"USER-SPH"_#PKG-USER-SPH,
|
||||
@ -462,10 +464,10 @@ dynamics can be run with LAMMPS using density-functional tight-binding
|
||||
quantum forces calculated by LATTE.
|
||||
|
||||
More information on LATTE can be found at this web site:
|
||||
"https://github.com/lanl/LATTE"_latte_home. A brief technical
|
||||
"https://github.com/lanl/LATTE"_latte-home. A brief technical
|
||||
description is given with the "fix latte"_fix_latte.html command.
|
||||
|
||||
:link(latte_home,https://github.com/lanl/LATTE)
|
||||
:link(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
|
||||
@ -668,9 +670,9 @@ MSCG package :link(PKG-mscg),h4
|
||||
|
||||
A "fix mscg"_fix_mscg.html command which can parameterize a
|
||||
Multi-Scale Coarse-Graining (MSCG) model using the open-source "MS-CG
|
||||
library"_mscg_home.
|
||||
library"_mscg-home.
|
||||
|
||||
:link(mscg_home,https://github.com/uchicago-voth/MSCG-release)
|
||||
:link(mscg-home,https://github.com/uchicago-voth/MSCG-release)
|
||||
|
||||
To use this package you must have the MS-CG library available on your
|
||||
system.
|
||||
@ -1008,11 +1010,11 @@ VORONOI package :link(PKG-VORONOI),h4
|
||||
[Contents:]
|
||||
|
||||
A compute command which calculates the Voronoi tesselation of a
|
||||
collection of atoms by wrapping the "Voro++ library"_voro_home. This
|
||||
collection of atoms by wrapping the "Voro++ library"_voro-home. This
|
||||
can be used to calculate the local volume or each atoms or its near
|
||||
neighbors.
|
||||
|
||||
:link(voro_home,http://math.lbl.gov/voro++)
|
||||
:link(voro-home,http://math.lbl.gov/voro++)
|
||||
|
||||
To use this package you must have the Voro++ library available on your
|
||||
system.
|
||||
@ -1186,7 +1188,7 @@ the NAMD MD code, but with portability in mind. Axel Kohlmeyer
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-colvars on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1200,6 +1202,36 @@ examples/USER/colvars :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-PLUMED package :link(PKG-USER-PLUMED),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
The fix plumed command allows you to use the PLUMED free energy plugin
|
||||
for molecular dynamics to analyse and bias your LAMMPS trajectory on
|
||||
the fly. The PLUMED library is called from within the LAMMPS input
|
||||
script by using the "fix plumed _fix_plumed.html command.
|
||||
|
||||
[Authors:] The "PLUMED library"_#PLUMED is written and maintained by
|
||||
Massimilliano Bonomi, Giovanni Bussi, Carlo Camiloni and Gareth
|
||||
Tribello.
|
||||
|
||||
:link(PLUMED,http://www.plumed.org)
|
||||
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-PLUMED/README
|
||||
lib/plumed/README
|
||||
"fix plumed"_fix_plumed.html
|
||||
examples/USER/plumed :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-DIFFRACTION package :link(PKG-USER-DIFFRACTION),h4
|
||||
|
||||
[Contents:]
|
||||
@ -1520,7 +1552,7 @@ USER-MEAMC package :link(PKG-USER-MEAMC),h4
|
||||
[Contents:]
|
||||
|
||||
A pair style for the modified embedded atom (MEAM) potential
|
||||
translated from the Fortran version in the "MEAM"_MEAM package
|
||||
translated from the Fortran version in the "MEAM"_#PKG-MEAM package
|
||||
to plain C++. In contrast to the MEAM package, no library
|
||||
needs to be compiled and the pair style can be instantiated
|
||||
multiple times.
|
||||
@ -1601,7 +1633,7 @@ USER-MOLFILE package :link(PKG-USER-MOLFILE),h4
|
||||
[Contents:]
|
||||
|
||||
A "dump molfile"_dump_molfile.html command which uses molfile plugins
|
||||
that are bundled with the "VMD"_vmd_home
|
||||
that are bundled with the "VMD"_vmd-home
|
||||
molecular visualization and analysis program, to enable LAMMPS to dump
|
||||
snapshots in formats compatible with various molecular simulation
|
||||
tools.
|
||||
@ -1653,11 +1685,11 @@ Note that NetCDF files can be directly visualized with the following
|
||||
tools:
|
||||
|
||||
"Ovito"_ovito (Ovito supports the AMBER convention and the extensions mentioned above)
|
||||
"VMD"_vmd_home
|
||||
"VMD"_vmd-home
|
||||
"AtomEye"_atomeye (the libAtoms version of AtomEye contains a NetCDF reader not present in the standard distribution) :ul
|
||||
|
||||
:link(ovito,http://www.ovito.org)
|
||||
:link(vmd_home,https://www.ks.uiuc.edu/Research/vmd/)
|
||||
:link(vmd-home,https://www.ks.uiuc.edu/Research/vmd/)
|
||||
:link(atomeye,http://www.libatoms.org)
|
||||
|
||||
[Author:] Lars Pastewka (Karlsruhe Institute of Technology).
|
||||
@ -1757,7 +1789,8 @@ Matching methodology.
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-PTM: filename starting with ptm_ -> supporting code, other filenames -> commands
|
||||
src/USER-PTM: filenames not starting with ptm_ -> commands
|
||||
src/USER-PTM: filenames starting with ptm_ -> supporting code
|
||||
src/USER-PTM/LICENSE
|
||||
"compute ptm/atom"_compute_ptm_atom.html :ul
|
||||
|
||||
@ -1915,6 +1948,31 @@ examples/USER/scafacos :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-SDPD package :link(PKG-USER-SDPD),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A pair style for smoothed dissipative particle dynamics (SDPD), which
|
||||
is an extension of smoothed particle hydrodynamics (SPH) to mesoscale
|
||||
where thermal fluctuations are important (see the
|
||||
"USER-SPH package"_#PKG-USER-SPH).
|
||||
Also two fixes for moving and rigid body integration of SPH/SDPD particles
|
||||
(particles of atom_style meso).
|
||||
|
||||
[Author:] Morteza Jalalvand (Institute for Advanced Studies in Basic
|
||||
Sciences, Iran).
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-SDPD: filenames -> commands
|
||||
src/USER-SDPD/README
|
||||
"pair_style sdpd/taitwater/isothermal"_pair_sdpd_taitwater_isothermal.html
|
||||
"fix meso/move"_fix_meso_move.html
|
||||
"fix rigid/meso"_fix_rigid_meso.html
|
||||
examples/USER/sdpd :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-SMD package :link(PKG-USER-SMD),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
@ -62,15 +62,20 @@ Package, Description, Doc page, Example, Library
|
||||
"USER-NETCDF"_Packages_details.html#PKG-USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, n/a, ext
|
||||
"USER-OMP"_Packages_details.html#PKG-USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no
|
||||
"USER-PHONON"_Packages_details.html#PKG-USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, no
|
||||
"USER-PLUMED"_Packages_details.html#PKG-USER-PLUMED, "PLUMED"_#PLUMED free energy library,"fix plumed"_fix_plumed.html, USER/plumed, ext
|
||||
"USER-PTM"_Packages_details.html#PKG-USER-PTM, Polyhedral Template Matching,"compute ptm/atom"_compute_ptm_atom.html, n/a, no
|
||||
"USER-QMMM"_Packages_details.html#PKG-USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext
|
||||
"USER-QTB"_Packages_details.html#PKG-USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, no
|
||||
"USER-QUIP"_Packages_details.html#PKG-USER-QUIP, QUIP/libatoms interface,"pair_style quip"_pair_quip.html, USER/quip, ext
|
||||
"USER-REAXC"_Packages_details.html#PKG-USER-REAXC, ReaxFF potential (C/C++) ,"pair_style reaxc"_pair_reaxc.html, reax, no
|
||||
"USER-SCAFACOS"_Packages_details.html#PKG-USER-SCAFACOS, wrapper on ScaFaCoS solver,"kspace_style scafacos"_kspace_style.html, USER/scafacos, ext
|
||||
"USER-SDPD"_Packages_details.html#PKG-USER-SDPD, smoothed dissipative particle dynamics,"pair_style sdpd/taitwater/isothermal"_pair_sdpd_taitwater_isothermal.html, USER/sdpd, no
|
||||
"USER-SMD"_Packages_details.html#PKG-USER-SMD, smoothed Mach dynamics,"SMD User Guide"_PDF/SMD_LAMMPS_userguide.pdf, USER/smd, ext
|
||||
"USER-SMTBQ"_Packages_details.html#PKG-USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, no
|
||||
"USER-SPH"_Packages_details.html#PKG-USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, no
|
||||
"USER-TALLY"_Packages_details.html#PKG-USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, no
|
||||
"USER-UEF"_Packages_details.html#PKG-USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, no
|
||||
"USER-VTK"_Packages_details.html#PKG-USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, n/a, ext :tb(ea=c,ca1=l)
|
||||
|
||||
:link(MOFplus,https://www.mofplus.org/content/show/MOF-FF)
|
||||
:link(PLUMED,http://www.plumed.org)
|
||||
|
||||
@ -24,8 +24,9 @@ letter abbreviation can be used:
|
||||
"-p or -partition"_#partition
|
||||
"-pl or -plog"_#plog
|
||||
"-ps or -pscreen"_#pscreen
|
||||
"-r or -restart"_#restart
|
||||
"-ro or -reorder"_#reorder
|
||||
"-r2data or -restart2data"_#restart2data
|
||||
"-r2dump or -restart2dump"_#restart2dump
|
||||
"-sc or -screen"_#screen
|
||||
"-sf or -suffix"_#suffix
|
||||
"-v or -var"_#var :ul
|
||||
@ -280,34 +281,6 @@ specified by the -screen command-line option.
|
||||
|
||||
:line
|
||||
|
||||
[-restart restartfile {remap} datafile keyword value ...] :link(restart)
|
||||
|
||||
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:
|
||||
|
||||
read_restart restartfile {remap}
|
||||
write_data datafile keyword value ... :pre
|
||||
|
||||
Note that the specified restartfile and datafile can have wild-card
|
||||
characters ("*",%") as described by the
|
||||
"read_restart"_read_restart.html and "write_data"_write_data.html
|
||||
commands. But a filename such as file.* will need to be enclosed in
|
||||
quotes to avoid shell expansion of the "*" character.
|
||||
|
||||
Note that following restartfile, the optional flag {remap} can be
|
||||
used. This has the same effect as adding it to the
|
||||
"read_restart"_read_restart.html command, as explained on its doc
|
||||
page. This is only useful if the reading of the restart file triggers
|
||||
an error that atoms have been lost. In that case, use of the remap
|
||||
flag should allow the data file to still be produced.
|
||||
|
||||
Also note that following datafile, the same optional keyword/value
|
||||
pairs can be listed as used by the "write_data"_write_data.html
|
||||
command.
|
||||
|
||||
:line
|
||||
|
||||
[-reorder] :link(reorder)
|
||||
|
||||
This option has 2 forms:
|
||||
@ -381,6 +354,77 @@ the LAMMPS simulation domain.
|
||||
|
||||
:line
|
||||
|
||||
[-restart2data restartfile (remap) datafile keyword value ...] :link(restart2data)
|
||||
|
||||
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:
|
||||
|
||||
read_restart restartfile (remap)
|
||||
write_data datafile keyword value ... :pre
|
||||
|
||||
Note that the specified restartfile and/or datafile can have the
|
||||
wild-card character "*". The restartfile can also have the wild-card
|
||||
character "%". The meaning of these characters is explained on the
|
||||
"read_restart"_read_restart.html and "write_data"_write_data.html doc
|
||||
pages. The use of "%" means that a parallel restart file can be read.
|
||||
Note that a filename such as file.* will need to be enclosed in quotes
|
||||
to avoid shell expansion of the "*" character.
|
||||
|
||||
Note that following restartfile, the optional word "remap" can be
|
||||
used. This has the effect of adding it to the
|
||||
"read_restart"_read_restart.html command, as explained on its doc
|
||||
page. This is useful if reading the restart file triggers an error
|
||||
that atoms have been lost. In that case, use of the remap flag should
|
||||
allow the data file to still be produced.
|
||||
|
||||
The syntax following restartfile (or remap), namely
|
||||
|
||||
datafile keyword value ... :pre
|
||||
|
||||
is identical to the arguments of the "write_data"_write_data.html
|
||||
command. See its doc page for details. This includes its
|
||||
optional keyword/value settings.
|
||||
|
||||
:line
|
||||
|
||||
[-restart2dump restartfile {remap} group-ID dumpstyle dumpfile arg1 arg2 ...] :link(restart2dump)
|
||||
|
||||
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:
|
||||
|
||||
read_restart restartfile (remap)
|
||||
write_dump group-ID dumpstyle dumpfile arg1 arg2 ... :pre
|
||||
|
||||
Note that the specified restartfile and dumpfile can have wild-card
|
||||
characters ("*","%") as explained on the
|
||||
"read_restart"_read_restart.html and "write_dump"_write_dump.html doc
|
||||
pages. The use of "%" means that a parallel restart file and/or
|
||||
parallel dump file can be read and/or written. Note that a filename
|
||||
such as file.* will need to be enclosed in quotes to avoid shell
|
||||
expansion of the "*" character.
|
||||
|
||||
Note that following restartfile, the optional word "remap" can be
|
||||
used. This has the effect as adding it to the
|
||||
"read_restart"_read_restart.html command, as explained on its doc
|
||||
page. This is useful if reading the restart file triggers an error
|
||||
that atoms have been lost. In that case, use of the remap flag should
|
||||
allow the dump file to still be produced.
|
||||
|
||||
The syntax following restartfile (or remap), namely
|
||||
|
||||
group-ID dumpstyle dumpfile arg1 arg2 ... :pre
|
||||
|
||||
is identical to the arguments of the "write_dump"_write_dump.html
|
||||
command. See its doc page for details. This includes what per-atom
|
||||
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
|
||||
"dump_modify"_dump_modify.html doc page for details.
|
||||
|
||||
:line
|
||||
|
||||
[-screen file] :link(screen)
|
||||
|
||||
Specify a file for LAMMPS to write its screen information to. In
|
||||
|
||||
@ -499,7 +499,7 @@ MPI task.
|
||||
When offloading to a coprocessor, "hybrid"_pair_hybrid.html styles
|
||||
that require skip lists for neighbor builds cannot be offloaded.
|
||||
Using "hybrid/overlay"_pair_hybrid.html is allowed. Only one intel
|
||||
accelerated style may be used with hybrid styles.
|
||||
accelerated style may be used with hybrid styles when offloading.
|
||||
"Special_bonds"_special_bonds.html 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
|
||||
|
||||
@ -7,8 +7,8 @@
|
||||
:line
|
||||
|
||||
angle_style class2 command :h3
|
||||
angle_style class2/omp command :h3
|
||||
angle_style class2/kk command :h3
|
||||
angle_style class2/omp command :h3
|
||||
angle_style class2/p6 command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
@ -38,10 +38,10 @@ Theta0 (degrees) :ul
|
||||
Theta0 is specified in degrees, but LAMMPS converts it to radians
|
||||
internally.
|
||||
|
||||
Additional to the cosine term the {cosine/buck6d} angle style computes
|
||||
the short range (vdW) interaction belonging to the
|
||||
"pair_buck6d"_pair_buck6d_coul_gauss.html between the end atoms of
|
||||
the angle. For this reason this angle style only works in combination
|
||||
Additional to the cosine term the {cosine/buck6d} angle style computes
|
||||
the short range (vdW) interaction belonging to the
|
||||
"pair_buck6d"_pair_buck6d_coul_gauss.html between the end atoms of the
|
||||
angle. For this reason this angle style only works in combination
|
||||
with the "pair_buck6d"_pair_buck6d_coul_gauss.html styles and needs
|
||||
the "special_bonds"_special_bonds.html 1-3 interactions to be weighted
|
||||
0.0 to prevent double counting.
|
||||
|
||||
@ -62,18 +62,27 @@ which are included in the LAMMPS distribution. The full list of all
|
||||
angle styles are is on the "Commands bond"_Commands_bond.html#angle
|
||||
doc page.
|
||||
|
||||
"angle_style none"_angle_none.html - turn off angle interactions
|
||||
"angle_style zero"_angle_zero.html - topology but no interactions
|
||||
"angle_style hybrid"_angle_hybrid.html - define multiple styles of angle interactions :ul
|
||||
"none"_angle_none.html - turn off angle interactions
|
||||
"zero"_angle_zero.html - topology but no interactions
|
||||
"hybrid"_angle_hybrid.html - define multiple styles of angle interactions :ul
|
||||
|
||||
"angle_style charmm"_angle_charmm.html - CHARMM angle
|
||||
"angle_style class2"_angle_class2.html - COMPASS (class 2) angle
|
||||
"angle_style cosine"_angle_cosine.html - cosine angle potential
|
||||
"angle_style cosine/delta"_angle_cosine_delta.html - difference of cosines angle potential
|
||||
"angle_style cosine/periodic"_angle_cosine_periodic.html - DREIDING angle
|
||||
"angle_style cosine/squared"_angle_cosine_squared.html - cosine squared angle potential
|
||||
"angle_style harmonic"_angle_harmonic.html - harmonic angle
|
||||
"angle_style table"_angle_table.html - tabulated by angle :ul
|
||||
"charmm"_angle_charmm.html - CHARMM angle
|
||||
"class2"_angle_class2.html - COMPASS (class 2) angle
|
||||
"class2/p6"_angle_class2.html - COMPASS (class 2) angle expanded to 6th order
|
||||
"cosine"_angle_cosine.html - angle with cosine term
|
||||
"cosine/buck6d"_angle_cosine_buck6d.html - same as cosine with Buckingham term between 1-3 atoms
|
||||
"cosine/delta"_angle_cosine_delta.html - angle with difference of cosines
|
||||
"cosine/periodic"_angle_cosine_periodic.html - DREIDING angle
|
||||
"cosine/shift"_angle_cosine_shift.html - angle cosine with a shift
|
||||
"cosine/shift/exp"_angle_cosine_shift_exp.html - cosine with shift and exponential term in spring constant
|
||||
"cosine/squared"_angle_cosine_squared.html - angle with cosine squared term
|
||||
"dipole"_angle_dipole.html - angle that controls orientation of a point dipole
|
||||
"fourier"_angle_fourier.html - angle with multiple cosine terms
|
||||
"fourier/simple"_angle_fourier_simple.html - angle with a single cosine term
|
||||
"harmonic"_angle_harmonic.html - harmonic angle
|
||||
"quartic"_angle_quartic.html - angle with cubic and quartic terms
|
||||
"sdk"_angle_sdk.html - harmonic angle with repulsive SDK pair style between 1-3 atoms
|
||||
"table"_angle_table.html - tabulated by angle :ul
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -516,3 +516,4 @@ appear in {dimstr} for the {shift} style.
|
||||
"fix balance"_fix_balance.html
|
||||
|
||||
[Default:] none
|
||||
:link(pizza,http://pizza.sandia.gov)
|
||||
|
||||
@ -28,34 +28,44 @@ The {oxdna/fene} and {oxdna2/fene} bond styles use the potential
|
||||
|
||||
:c,image(Eqs/bond_oxdna_fene.jpg)
|
||||
|
||||
to define a modified finite extensible nonlinear elastic (FENE) potential
|
||||
"(Ouldridge)"_#oxdna_fene to model the connectivity of the phosphate backbone
|
||||
in the oxDNA force field for coarse-grained modelling of DNA.
|
||||
to define a modified finite extensible nonlinear elastic (FENE)
|
||||
potential "(Ouldridge)"_#oxdna_fene to model the connectivity of the
|
||||
phosphate backbone in the oxDNA force field for coarse-grained
|
||||
modelling of DNA.
|
||||
|
||||
The following coefficients must be defined for the bond type via the
|
||||
"bond_coeff"_bond_coeff.html command as given in the above example, or in
|
||||
the data file or restart files read by the "read_data"_read_data.html
|
||||
or "read_restart"_read_restart.html commands:
|
||||
"bond_coeff"_bond_coeff.html command as given in the above example, or
|
||||
in the data file or restart files read by the
|
||||
"read_data"_read_data.html or "read_restart"_read_restart.html
|
||||
commands:
|
||||
|
||||
epsilon (energy)
|
||||
Delta (distance)
|
||||
r0 (distance) :ul
|
||||
|
||||
NOTE: The oxDNA bond style has to be used together with the corresponding oxDNA pair styles
|
||||
for excluded volume interaction {oxdna/excv}, stacking {oxdna/stk}, cross-stacking {oxdna/xstk}
|
||||
and coaxial stacking interaction {oxdna/coaxstk} as well as hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
|
||||
"pair_style oxdna/excv"_pair_oxdna.html). For the oxDNA2 "(Snodin)"_#oxdna2 bond style the analogous pair styles and an additional Debye-Hueckel pair
|
||||
style {oxdna2/dh} have to be defined.
|
||||
The coefficients in the above example have to be kept fixed and cannot be changed without reparametrizing the entire model.
|
||||
NOTE: The oxDNA bond style has to be used together with the
|
||||
corresponding oxDNA pair styles for excluded volume interaction
|
||||
{oxdna/excv}, stacking {oxdna/stk}, cross-stacking {oxdna/xstk} and
|
||||
coaxial stacking interaction {oxdna/coaxstk} as well as
|
||||
hydrogen-bonding interaction {oxdna/hbond} (see also documentation of
|
||||
"pair_style oxdna/excv"_pair_oxdna.html). For the oxDNA2
|
||||
"(Snodin)"_#oxdna2 bond style the analogous pair styles and an
|
||||
additional Debye-Hueckel pair style {oxdna2/dh} have to be defined.
|
||||
The coefficients in the above example have to be kept fixed and cannot
|
||||
be changed without reparametrizing the entire model.
|
||||
|
||||
Example input and data files for DNA duplexes can be found in examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/.
|
||||
A simple python setup tool which creates single straight or helical DNA strands,
|
||||
DNA duplexes or arrays of DNA duplexes can be found in examples/USER/cgdna/util/.
|
||||
Example input and data files for DNA duplexes can be found in
|
||||
examples/USER/cgdna/examples/oxDNA/ and /oxDNA2/. A simple python
|
||||
setup tool which creates single straight or helical DNA strands, DNA
|
||||
duplexes or arrays of DNA duplexes can be found in
|
||||
examples/USER/cgdna/util/.
|
||||
|
||||
Please cite "(Henrich)"_#Henrich2 and the relevant oxDNA articles in any publication that uses this implementation.
|
||||
The article contains more information on the model, the structure of the input file, the setup tool
|
||||
and the performance of the LAMMPS-implementation of oxDNA.
|
||||
The preprint version of the article can be found "here"_PDF/USER-CGDNA.pdf.
|
||||
Please cite "(Henrich)"_#Henrich2 and the relevant oxDNA articles in
|
||||
any publication that uses this implementation. The article contains
|
||||
more information on the model, the structure of the input file, the
|
||||
setup tool and the performance of the LAMMPS-implementation of oxDNA.
|
||||
The preprint version of the article can be found
|
||||
"here"_PDF/USER-CGDNA.pdf.
|
||||
|
||||
:line
|
||||
|
||||
@ -65,20 +75,25 @@ This bond style can only be used if LAMMPS was built with the
|
||||
USER-CGDNA package and the MOLECULE and ASPHERE package. See the
|
||||
"Build package"_Build_package.html doc page for more info.
|
||||
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_style oxdna/excv"_pair_oxdna.html, "pair_style oxdna2/excv"_pair_oxdna2.html, "fix nve/dotc/langevin"_fix_nve_dotc_langevin.html, "bond_coeff"_bond_coeff.html
|
||||
"pair_style oxdna/excv"_pair_oxdna.html, "pair_style
|
||||
oxdna2/excv"_pair_oxdna2.html, "fix
|
||||
nve/dotc/langevin"_fix_nve_dotc_langevin.html,
|
||||
"bond_coeff"_bond_coeff.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Henrich2)
|
||||
[(Henrich)] O. Henrich, Y. A. Gutierrez-Fosado, T. Curk, T. E. Ouldridge, Eur. Phys. J. E 41, 57 (2018).
|
||||
[(Henrich)] O. Henrich, Y. A. Gutierrez-Fosado, T. Curk,
|
||||
T. E. Ouldridge, Eur. Phys. J. E 41, 57 (2018).
|
||||
|
||||
:link(oxdna_fene)
|
||||
[(Ouldridge)] T.E. Ouldridge, A.A. Louis, J.P.K. Doye, J. Chem. Phys. 134, 085101 (2011).
|
||||
[(Ouldridge)] T.E. Ouldridge, A.A. Louis, J.P.K. Doye,
|
||||
J. Chem. Phys. 134, 085101 (2011).
|
||||
|
||||
:link(oxdna2)
|
||||
[(Snodin)] B.E. Snodin, F. Randisi, M. Mosayebi, et al., J. Chem. Phys. 142, 234901 (2015).
|
||||
[(Snodin)] B.E. Snodin, F. Randisi, M. Mosayebi, et al.,
|
||||
J. Chem. Phys. 142, 234901 (2015).
|
||||
|
||||
@ -69,18 +69,23 @@ Note that there are also additional bond styles submitted by users
|
||||
which are included in the LAMMPS distribution. The full list of all
|
||||
bond styles is on the "Commands bond"_Commands_bond.html doc page.
|
||||
|
||||
"bond_style none"_bond_none.html - turn off bonded interactions
|
||||
"bond_style zero"_bond_zero.html - topology but no interactions
|
||||
"bond_style hybrid"_bond_hybrid.html - define multiple styles of bond interactions :ul
|
||||
"none"_bond_none.html - turn off bonded interactions
|
||||
"zero"_bond_zero.html - topology but no interactions
|
||||
"hybrid"_bond_hybrid.html - define multiple styles of bond interactions :ul
|
||||
|
||||
"bond_style class2"_bond_class2.html - COMPASS (class 2) bond
|
||||
"bond_style fene"_bond_fene.html - FENE (finite-extensible non-linear elastic) bond
|
||||
"bond_style fene/expand"_bond_fene_expand.html - FENE bonds with variable size particles
|
||||
"bond_style harmonic"_bond_harmonic.html - harmonic bond
|
||||
"bond_style morse"_bond_morse.html - Morse bond
|
||||
"bond_style nonlinear"_bond_nonlinear.html - nonlinear bond
|
||||
"bond_style quartic"_bond_quartic.html - breakable quartic bond
|
||||
"bond_style table"_bond_table.html - tabulated by bond length :ul
|
||||
"class2"_bond_class2.html - COMPASS (class 2) bond
|
||||
"fene"_bond_fene.html - FENE (finite-extensible non-linear elastic) bond
|
||||
"fene/expand"_bond_fene_expand.html - FENE bonds with variable size particles
|
||||
"gromos"_bond_gromos.html - GROMOS force field bond
|
||||
"harmonic"_bond_harmonic.html - harmonic bond
|
||||
"harmonic/shift"_bond_harmonic_shift.html - shifted harmonic bond
|
||||
"harmonic/shift/cut"_bond_harmonic_shift_cut.html - shifted harmonic bond with a cutoff
|
||||
"morse"_bond_morse.html - Morse bond
|
||||
"nonlinear"_bond_nonlinear.html - nonlinear bond
|
||||
"oxdna/fene"_bond_oxdna.html - modified FENE bond suitable for DNA modeling
|
||||
"oxdna2/fene"_bond_oxdna.html - same as oxdna but used with different pair styles
|
||||
"quartic"_bond_quartic.html - breakable quartic bond
|
||||
"table"_bond_table.html - tabulated by bond length :ul
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -44,6 +44,7 @@ Commands :h1
|
||||
fix_modify
|
||||
group
|
||||
group2ndx
|
||||
hyper
|
||||
if
|
||||
improper_coeff
|
||||
improper_style
|
||||
|
||||
@ -175,9 +175,14 @@ The individual style names on the "Commands
|
||||
compute"_Commands_compute.html doc page are followed by one or more of
|
||||
(g,i,k,o,t) to indicate which accelerated styles exist.
|
||||
|
||||
"ackland/atom"_compute_ackland_atom.html -
|
||||
"adf"_compute_adf.html - angular distribution function
|
||||
"aggregate/atom"_compute_cluster_atom.html - aggregate ID for each atom
|
||||
"angle"_compute_angle.html -
|
||||
"angle/local"_compute_angle_local.html -
|
||||
"angle/local"_compute_bond_local.html - theta and energy of each angle
|
||||
"angmom/chunk"_compute_angmom_chunk.html - angular momentum for each chunk
|
||||
"basal/atom"_compute_basal_atom.html -
|
||||
"body/local"_compute_body_local.html - attributes of body sub-particles
|
||||
"bond"_compute_bond.html - values computed by a bond style
|
||||
"bond/local"_compute_bond_local.html - distance and energy of each bond
|
||||
@ -186,30 +191,48 @@ compute"_Commands_compute.html doc page are followed by one or more of
|
||||
"chunk/spread/atom"_compute_chunk_spread_atom.html - spreads chunk values to each atom in chunk
|
||||
"cluster/atom"_compute_cluster_atom.html - cluster ID for each atom
|
||||
"cna/atom"_compute_cna_atom.html - common neighbor analysis (CNA) for each atom
|
||||
"cnp/atom"_compute_cnp_atom.html -
|
||||
"com"_compute_com.html - center-of-mass of group of atoms
|
||||
"com/chunk"_compute_com_chunk.html - center-of-mass for each chunk
|
||||
"contact/atom"_compute_contact_atom.html - contact count for each spherical particle
|
||||
"coord/atom"_compute_coord_atom.html - coordination number for each atom
|
||||
"damage/atom"_compute_damage_atom.html - Peridynamic damage for each atom
|
||||
"dihedral"_compute_dihedral.html -
|
||||
"dihedral/local"_compute_dihedral_local.html - angle of each dihedral
|
||||
"dilatation/atom"_compute_dilatation_atom.html - Peridynamic dilatation for each atom
|
||||
"dipole/chunk"_compute_dipole_chunk.html -
|
||||
"displace/atom"_compute_displace_atom.html - displacement of each atom
|
||||
"dpd"_compute_dpd.html -
|
||||
"dpd/atom"_compute_dpd_atom.html -
|
||||
"edpd/temp/atom"_compute_edpd_temp_atom.html -
|
||||
"entropy/atom"_compute_entropy_atom.html -
|
||||
"erotate/asphere"_compute_erotate_asphere.html - rotational energy of aspherical particles
|
||||
"erotate/rigid"_compute_erotate_rigid.html - rotational energy of rigid bodies
|
||||
"erotate/sphere"_compute_erotate_sphere.html - rotational energy of spherical particles
|
||||
"erotate/sphere/atom"_compute_erotate_sphere.html - rotational energy for each spherical particle
|
||||
"erotate/sphere/atom"_compute_erotate_sphere_atom.html -
|
||||
"event/displace"_compute_event_displace.html - detect event on atom displacement
|
||||
"fep"_compute_fep.html -
|
||||
"force/tally"_compute_tally.html -
|
||||
"fragment/atom"_compute_cluster_atom.html - fragment ID for each atom
|
||||
"global/atom"_compute_global_atom.html -
|
||||
"group/group"_compute_group_group.html - energy/force between two groups of atoms
|
||||
"gyration"_compute_gyration.html - radius of gyration of group of atoms
|
||||
"gyration/chunk"_compute_gyration_chunk.html - radius of gyration for each chunk
|
||||
"heat/flux"_compute_heat_flux.html - heat flux through a group of atoms
|
||||
"heat/flux/tally"_compute_tally.html -
|
||||
"hexorder/atom"_compute_hexorder_atom.html - bond orientational order parameter q6
|
||||
"improper"_compute_improper.html -
|
||||
"improper/local"_compute_improper_local.html - angle of each improper
|
||||
"inertia/chunk"_compute_inertia_chunk.html - inertia tensor for each chunk
|
||||
"ke"_compute_ke.html - translational kinetic energy
|
||||
"ke/atom"_compute_ke_atom.html - kinetic energy for each atom
|
||||
"ke/atom/eff"_compute_ke_atom_eff.html -
|
||||
"ke/eff"_compute_ke_eff.html -
|
||||
"ke/rigid"_compute_ke_rigid.html - translational kinetic energy of rigid bodies
|
||||
"meso/e/atom"_compute_meso_e_atom.html -
|
||||
"meso/rho/atom"_compute_meso_rho_atom.html -
|
||||
"meso/t/atom"_compute_meso_t_atom.html -
|
||||
"msd"_compute_msd.html - mean-squared displacement of group of atoms
|
||||
"msd/chunk"_compute_msd_chunk.html - mean-squared displacement for each chunk
|
||||
"msd/nongauss"_compute_msd_nongauss.html - MSD and non-Gaussian parameter of group of atoms
|
||||
@ -219,37 +242,77 @@ compute"_Commands_compute.html doc page are followed by one or more of
|
||||
"pair/local"_compute_pair_local.html - distance/energy/force of each pairwise interaction
|
||||
"pe"_compute_pe.html - potential energy
|
||||
"pe/atom"_compute_pe_atom.html - potential energy for each atom
|
||||
"pe/mol/tally"_compute_tally.html -
|
||||
"pe/tally"_compute_tally.html -
|
||||
"plasticity/atom"_compute_plasticity_atom.html - Peridynamic plasticity for each atom
|
||||
"pressure"_compute_pressure.html - total pressure and pressure tensor
|
||||
"pressure/cylinder"_compute_pressure_cylinder.html -
|
||||
"pressure/uef"_compute_pressure_uef.html -
|
||||
"property/atom"_compute_property_atom.html - convert atom attributes to per-atom vectors/arrays
|
||||
"property/local"_compute_property_local.html - convert local attributes to localvectors/arrays
|
||||
"property/chunk"_compute_property_chunk.html - extract various per-chunk attributes
|
||||
"property/local"_compute_property_local.html - convert local attributes to localvectors/arrays
|
||||
"ptm/atom"_compute_ptm_atom.html -
|
||||
"rdf"_compute_rdf.html - radial distribution function g(r) histogram of group of atoms
|
||||
"reduce"_compute_reduce.html - combine per-atom quantities into a single global value
|
||||
"reduce/chunk"_compute_reduce_chunk.html - reduce per-atom quantities within each chunk
|
||||
"reduce/region"_compute_reduce.html - same as compute reduce, within a region
|
||||
"rigid/local"_compute_rigid_local.html - extract rigid body attributes
|
||||
"saed"_compute_saed.html -
|
||||
"slice"_compute_slice.html - extract values from global vector or array
|
||||
"smd/contact/radius"_compute_smd_contact_radius.html -
|
||||
"smd/damage"_compute_smd_damage.html -
|
||||
"smd/hourglass/error"_compute_smd_hourglass_error.html -
|
||||
"smd/internal/energy"_compute_smd_internal_energy.html -
|
||||
"smd/plastic/strain"_compute_smd_plastic_strain.html -
|
||||
"smd/plastic/strain/rate"_compute_smd_plastic_strain_rate.html -
|
||||
"smd/rho"_compute_smd_rho.html -
|
||||
"smd/tlsph/defgrad"_compute_smd_tlsph_defgrad.html -
|
||||
"smd/tlsph/dt"_compute_smd_tlsph_dt.html -
|
||||
"smd/tlsph/num/neighs"_compute_smd_tlsph_num_neighs.html -
|
||||
"smd/tlsph/shape"_compute_smd_tlsph_shape.html -
|
||||
"smd/tlsph/strain"_compute_smd_tlsph_strain.html -
|
||||
"smd/tlsph/strain/rate"_compute_smd_tlsph_strain_rate.html -
|
||||
"smd/tlsph/stress"_compute_smd_tlsph_stress.html -
|
||||
"smd/triangle/vertices"_compute_smd_triangle_vertices.html -
|
||||
"smd/triangle/vertices"_compute_smd_triangle_vertices.html -
|
||||
"smd/ulsph/num/neighs"_compute_smd_ulsph_num_neighs.html -
|
||||
"smd/ulsph/strain"_compute_smd_ulsph_strain.html -
|
||||
"smd/ulsph/strain/rate"_compute_smd_ulsph_strain_rate.html -
|
||||
"smd/ulsph/stress"_compute_smd_ulsph_stress.html -
|
||||
"smd/vol"_compute_smd_vol.html -
|
||||
"sna/atom"_compute_sna_atom.html - calculate bispectrum coefficients for each atom
|
||||
"snad/atom"_compute_sna_atom.html - derivative of bispectrum coefficients for each atom
|
||||
"snav/atom"_compute_sna_atom.html - virial contribution from bispectrum coefficients for each atom
|
||||
"spin"_compute_spin.html -
|
||||
"stress/atom"_compute_stress_atom.html - stress tensor for each atom
|
||||
"stress/mop"_compute_stress_mop.html -
|
||||
"stress/mop/profile"_compute_stress_mop.html -
|
||||
"stress/tally"_compute_tally.html -
|
||||
"tdpd/cc/atom"_compute_tdpd_cc_atom.html -
|
||||
"temp"_compute_temp.html - temperature of group of atoms
|
||||
"temp/asphere"_compute_temp_asphere.html - temperature of aspherical particles
|
||||
"temp/body"_compute_temp_body.html - temperature of body particles
|
||||
"temp/chunk"_compute_temp_chunk.html - temperature of each chunk
|
||||
"temp/com"_compute_temp_com.html - temperature after subtracting center-of-mass velocity
|
||||
"temp/cs"_compute_temp_cs.html -
|
||||
"temp/deform"_compute_temp_deform.html - temperature excluding box deformation velocity
|
||||
"temp/deform/eff"_compute_temp_deform_eff.html -
|
||||
"temp/drude"_compute_temp_drude.html -
|
||||
"temp/eff"_compute_temp_eff.html -
|
||||
"temp/partial"_compute_temp_partial.html - temperature excluding one or more dimensions of velocity
|
||||
"temp/profile"_compute_temp_profile.html - temperature excluding a binned velocity profile
|
||||
"temp/ramp"_compute_temp_ramp.html - temperature excluding ramped velocity component
|
||||
"temp/region"_compute_temp_region.html - temperature of a region of atoms
|
||||
"temp/region/eff"_compute_temp_region_eff.html -
|
||||
"temp/rotate"_compute_temp_rotate.html -
|
||||
"temp/sphere"_compute_temp_sphere.html - temperature of spherical particles
|
||||
"temp/uef"_compute_temp_uef.html -
|
||||
"ti"_compute_ti.html - thermodynamic integration free energy values
|
||||
"torque/chunk"_compute_torque_chunk.html - torque applied on each chunk
|
||||
"vacf"_compute_vacf.html - velocity-autocorrelation function of group of atoms
|
||||
"vcm/chunk"_compute_vcm_chunk.html - velocity of center-of-mass for each chunk
|
||||
"voronoi/atom"_compute_voronoi_atom.html - Voronoi volume and neighbors for each atom :ul
|
||||
"voronoi/atom"_compute_voronoi_atom.html - Voronoi volume and neighbors for each atom
|
||||
"xrd"_compute_xrd.html - :ul
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
|
||||
213
doc/src/compute_adf.txt
Normal file
213
doc/src/compute_adf.txt
Normal file
@ -0,0 +1,213 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
compute adf command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID adf Nbin itype1 jtype1 ktype1 Rjinner1 Rjouter1 Rkinner1 Rkouter1 ... :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
adf = style name of this compute command :l
|
||||
Nbin = number of ADF bins :l
|
||||
itypeN = central atom type for Nth ADF histogram (see asterisk form below) :l
|
||||
jtypeN = J atom type for Nth ADF histogram (see asterisk form below) :l
|
||||
ktypeN = K atom type for Nth ADF histogram (see asterisk form below) :l
|
||||
RjinnerN = inner radius of J atom shell for Nth ADF histogram (distance units) :l
|
||||
RjouterN = outer radius of J atom shell for Nth ADF histogram (distance units) :l
|
||||
RkinnerN = inner radius of K atom shell for Nth ADF histogram (distance units) :l
|
||||
RkouterN = outer radius of K atom shell for Nth ADF histogram (distance units) :l
|
||||
|
||||
zero or one keyword/value pairs may be appended :l
|
||||
keyword = {ordinate} :l
|
||||
{ordinate} value = {degree} or {radian} or {cosine}
|
||||
Choose the ordinate parameter for the histogram :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
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 &
|
||||
1 2 2 0.0 1.5 0.0 1.5 &
|
||||
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 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates one or more angular distribution functions
|
||||
(ADF) for a group of particles. Each ADF is calculated in histogram form
|
||||
by measuring the angle formed by a central atom and two neighbor atoms and
|
||||
binning these angles into {Nbin} bins.
|
||||
Only neighbors for which {Rinner} < {R} < {Router} are counted, where
|
||||
{Rinner} and {Router} are specified separately for the first and second
|
||||
neighbor atom in each requested ADF.
|
||||
|
||||
NOTE: If you have a bonded system, then the settings of
|
||||
"special_bonds"_special_bonds.html command can remove pairwise
|
||||
interactions between atoms in the same bond, angle, or dihedral. This
|
||||
is the default setting for the "special_bonds"_special_bonds.html
|
||||
command, and means those pairwise interactions do not appear in the
|
||||
neighbor list. Because this fix uses a neighbor list, it also means
|
||||
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
|
||||
zero (e.g. 1.0e-50). Another workaround is to write a dump file, and
|
||||
use the "rerun"_rerun.html command to compute the ADF for snapshots in
|
||||
the dump file. The rerun script can use a
|
||||
"special_bonds"_special_bonds.html command that includes all pairs in
|
||||
the neighbor list.
|
||||
|
||||
NOTE: If you request any outer cutoff {Router} > force cutoff, or if no
|
||||
pair style is defined, e.g. the "rerun"_rerun.html command is being used to
|
||||
post-process a dump file of snapshots you must insure ghost atom information
|
||||
out to the largest value of {Router} + {skin} is communicated, via the
|
||||
"comm_modify cutoff"_comm_modify.html command, else the ADF computation
|
||||
cannot be performed, and LAMMPS will give an error message. The {skin} value
|
||||
is what is specified with the "neighbor"_neighbor.html command.
|
||||
|
||||
The {itypeN},{jtypeN},{ktypeN} settings can be specified in one of two
|
||||
ways. An explicit numeric value can be used, as in the 1st example
|
||||
above. Or a wild-card asterisk can be used to specify a range of atom
|
||||
types as in the 2nd example above.
|
||||
This takes the form "*" or "*n" or "n*" or "m*n". If N = the
|
||||
number of atom types, then an asterisk with no numeric values means
|
||||
all types 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).
|
||||
|
||||
If {itypeN}, {jtypeN}, and {ktypeN} are single values, as in the 1st example
|
||||
above, this means that the ADF is computed where atoms of type {itypeN}
|
||||
are the central atom, and neighbor atoms of type {jtypeN} and {ktypeN}
|
||||
are forming the angle. If any of {itypeN}, {jtypeN}, or {ktypeN}
|
||||
represent a range of values via
|
||||
the wild-card asterisk, as in the 2nd example above, this means that the
|
||||
ADF is computed where atoms of any of the range of types represented
|
||||
by {itypeN} are the central atom, and the angle is formed by two neighbors,
|
||||
one neighbor in the range of types represented by {jtypeN} and another neighbor
|
||||
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
|
||||
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
|
||||
extremely expensive to compute. For example, with liquid water
|
||||
with a 10 A force cutoff, there are 80,000 angles per atom.
|
||||
In addition, most of the interesting angular structure occurs for
|
||||
neighbors that are the closest to the central atom, involving
|
||||
just a few dozen angles.
|
||||
|
||||
Angles for each ADF are generated by double-looping over the list of
|
||||
neighbors of each central atom I,
|
||||
just as they would be in the force calculation for
|
||||
a threebody potential such as "Stillinger-Weber"_pair_sw.html.
|
||||
The angle formed by central atom I and neighbor atoms J and K is included in an
|
||||
ADF if the following criteria are met:
|
||||
|
||||
atoms I,J,K are all in the specified compute group
|
||||
the distance between atoms I,J is between Rjinner and Rjouter
|
||||
the distance between atoms I,K is between Rkinner and Rkouter
|
||||
the type of the I atom matches itypeN (one or a range of types)
|
||||
atoms I,J,K are distinct
|
||||
the type of the J atom matches jtypeN (one or a range of types)
|
||||
the type of the K atom matches ktypeN (one or a range of types) :ul
|
||||
|
||||
Each unique angle satisfying the above criteria is counted only once, regardless
|
||||
of whether either or both of the neighbor atoms making up the
|
||||
angle appear in both the J and K lists.
|
||||
It is OK if a particular angle is included in more than
|
||||
one individual histogram, due to the way the {itypeN}, {jtypeN}, {ktypeN}
|
||||
arguments are specified.
|
||||
|
||||
The first ADF value for a bin is calculated from the histogram count by
|
||||
dividing by the total number of triples satisfying the criteria,
|
||||
so that the integral of the ADF w.r.t. angle is 1, i.e. the ADF
|
||||
is a probability density function.
|
||||
|
||||
The second ADF value is reported as a cumulative sum of
|
||||
all bins up to the current bins, averaged
|
||||
over atoms of type {itypeN}. It represents the
|
||||
number of angles per central atom with angle less
|
||||
than or equal to the angle of the current bin,
|
||||
analogous to the coordination
|
||||
number radial distribution function.
|
||||
|
||||
The {ordinate} optional keyword determines
|
||||
whether the bins are of uniform angular size from zero
|
||||
to 180 ({degree}), zero to Pi ({radian}), or the
|
||||
cosine of the angle uniform in the range \[-1,1\] ({cosine}).
|
||||
{cosine} has the advantage of eliminating the {acos()} function
|
||||
call, which speeds up the compute by 2-3x, and it is also preferred
|
||||
on physical grounds, because the for uniformly distributed particles
|
||||
in 3D, the angular probability density w.r.t dtheta is
|
||||
sin(theta)/2, while for d(cos(theta)), it is 1/2,
|
||||
Regardless of which ordinate is chosen, the first column of ADF
|
||||
values is normalized w.r.t. the range of that ordinate, so that
|
||||
the integral is 1.
|
||||
|
||||
The simplest way to output the results of the compute adf calculation
|
||||
to a file is to use the "fix ave/time"_fix_ave_time.html command, for
|
||||
example:
|
||||
|
||||
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 :pre
|
||||
|
||||
[Output info:]
|
||||
|
||||
This compute calculates a global array with the number of rows =
|
||||
{Nbins}, and the number of columns = 1 + 2*Ntriples, where Ntriples is the
|
||||
number of I,J,K triples specified. The first column has the bin
|
||||
coordinate (angle-related ordinate at midpoint of bin). Each subsequent column has
|
||||
the two ADF values for a specific set of ({itypeN},{jtypeN},{ktypeN})
|
||||
interactions, as described above. These values can be used
|
||||
by any command that uses a global values from a compute as input. See
|
||||
the "Howto output"_Howto_output.html doc page for an overview of
|
||||
LAMMPS output options.
|
||||
|
||||
The array values calculated by this compute are all "intensive".
|
||||
|
||||
The first column of array values is the angle-related ordinate, either
|
||||
the angle in degrees or radians, or the cosine of the angle. Each
|
||||
subsequent pair of columns gives the first and second kinds of ADF
|
||||
for a specific set of ({itypeN},{jtypeN},{ktypeN}). The values
|
||||
in the first ADF column are normalized numbers >= 0.0,
|
||||
whose integral w.r.t. the ordinate is 1,
|
||||
i.e. the first ADF is a normalized probability distribution.
|
||||
The values in the second ADF column are also numbers >= 0.0.
|
||||
They are the cumulative density distribution of angles per atom.
|
||||
By definition, this ADF is monotonically increasing from zero to
|
||||
a maximum value equal to the average total number of
|
||||
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
|
||||
distances, you can use the "rerun"_rerun.html command to post-process
|
||||
a dump file and set the cutoff for the potential to be longer in the
|
||||
rerun script. Note that in the rerun context, the force cutoff is
|
||||
arbitrary, since you aren't running dynamics and thus are not changing
|
||||
your model.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"compute rdf"_compute_rdf.html, "fix ave/time"_fix_ave_time.html, "compute_modify"_compute_modify.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The keyword default is ordinate = degree.
|
||||
|
||||
|
||||
@ -117,5 +117,5 @@ package"_Build_package.html doc page for more info.
|
||||
:line
|
||||
|
||||
:link(Larsen)
|
||||
[(Larsen)] Larsen, Schmidt, Schiøtz, Modelling Simul Mater Sci Eng, 24, 055007 (2016).
|
||||
[(Larsen)] Larsen, Schmidt, Schiotz, Modelling Simul Mater Sci Eng, 24, 055007 (2016).
|
||||
|
||||
|
||||
@ -191,7 +191,8 @@ via "compute_modify dynamic yes"_compute_modify.html
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix ave/time"_fix_ave_time.html, "compute_modify"_compute_modify.html
|
||||
"fix ave/time"_fix_ave_time.html, "compute_modify"_compute_modify.html,
|
||||
"compute adf"_compute_adf.html
|
||||
|
||||
[Default:]
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@ Computes :h1
|
||||
:maxdepth: 1
|
||||
|
||||
compute_ackland_atom
|
||||
compute_adf
|
||||
compute_angle
|
||||
compute_angle_local
|
||||
compute_angmom_chunk
|
||||
|
||||
@ -85,16 +85,24 @@ which are included in the LAMMPS distribution. The full list of all
|
||||
dihedral styles is on the "Commands bond"_Commands_bond.html#dihedral
|
||||
doc page.
|
||||
|
||||
"dihedral_style none"_dihedral_none.html - turn off dihedral interactions
|
||||
"dihedral_style zero"_dihedral_zero.html - topology but no interactions
|
||||
"dihedral_style hybrid"_dihedral_hybrid.html - define multiple styles of dihedral interactions :ul
|
||||
"none"_dihedral_none.html - turn off dihedral interactions
|
||||
"zero"_dihedral_zero.html - topology but no interactions
|
||||
"hybrid"_dihedral_hybrid.html - define multiple styles of dihedral interactions :ul
|
||||
|
||||
"dihedral_style charmm"_dihedral_charmm.html - CHARMM dihedral
|
||||
"dihedral_style class2"_dihedral_class2.html - COMPASS (class 2) dihedral
|
||||
"dihedral_style harmonic"_dihedral_harmonic.html - harmonic dihedral
|
||||
"dihedral_style helix"_dihedral_helix.html - helix dihedral
|
||||
"dihedral_style multi/harmonic"_dihedral_multi_harmonic.html - multi-harmonic dihedral
|
||||
"dihedral_style opls"_dihedral_opls.html - OPLS dihedral :ul
|
||||
"charmm"_dihedral_charmm.html - CHARMM dihedral
|
||||
"charmmfsw"_dihedral_charmm.html - CHARMM dihedral with force switching
|
||||
"class2"_dihedral_class2.html - COMPASS (class 2) dihedral
|
||||
"cosine/shift/exp"_dihedral_cosine_shift_exp.html - dihedral with exponential in spring constant
|
||||
"fourier"_dihedral_fourier.html - dihedral with multiple cosine terms
|
||||
"harmonic"_dihedral_harmonic.html - harmonic dihedral
|
||||
"helix"_dihedral_helix.html - helix dihedral
|
||||
"multi/harmonic"_dihedral_multi_harmonic.html - dihedral with 5 harmonic terms
|
||||
"nharmonic"_dihedral_nharmonic.html - same as multi-harmonic with N terms
|
||||
"opls"_dihedral_opls.html - OPLS dihedral
|
||||
"quadratic"_dihedral_quadratic.html - dihedral with quadratic term in angle
|
||||
"spherical"_dihedral_spherical.html - dihedral which includes angle terms to avoid singularities
|
||||
"table"_dihedral_table.html - tabulated dihedral
|
||||
"table/cut"_dihedral_table_cut.html - tabulated dihedral with analytic cutoff :ul
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ dump h5md1 all h5md 100 dump_h5md.h5 velocity author "John Doe" :pre
|
||||
[Description:]
|
||||
|
||||
Dump a snapshot of atom coordinates every N timesteps in the
|
||||
"HDF5"_HDF5_ws based "H5MD"_h5md file format "(de Buyl)"_#h5md_cpc.
|
||||
"HDF5"_HDF5-ws based "H5MD"_h5md file format "(de Buyl)"_#h5md_cpc.
|
||||
HDF5 files are binary, portable and self-describing. This dump style
|
||||
will write only one file, on the root node.
|
||||
|
||||
@ -102,11 +102,11 @@ enabled if LAMMPS was built with that package. See the "Build
|
||||
package"_Build_package.html doc page for more info. It also requires
|
||||
(i) building the ch5md library provided with LAMMPS (See the "Build
|
||||
package"_Build_package.html doc page for more info.) and (ii) having
|
||||
the "HDF5"_HDF5_ws library installed (C bindings are sufficient) on
|
||||
the "HDF5"_HDF5-ws library installed (C bindings are sufficient) on
|
||||
your system. The library ch5md is compiled with the h5cc wrapper
|
||||
provided by the HDF5 library.
|
||||
|
||||
:link(HDF5_ws,http://www.hdfgroup.org/HDF5/)
|
||||
:link(HDF5-ws,http://www.hdfgroup.org/HDF5/)
|
||||
|
||||
:line
|
||||
|
||||
|
||||
174
doc/src/fix.txt
174
doc/src/fix.txt
@ -167,136 +167,217 @@ page are followed by one or more of (g,i,k,o,t) to indicate which
|
||||
accelerated styles exist.
|
||||
|
||||
"adapt"_fix_adapt.html - change a simulation parameter over time
|
||||
"adapt/fep"_fix_adapt_fep.html -
|
||||
"addforce"_fix_addforce.html - add a force to each atom
|
||||
"addtorque"_fix_addtorque.html -
|
||||
"append/atoms"_fix_append_atoms.html - append atoms to a running simulation
|
||||
"atc"_fix_atc.html -
|
||||
"atom/swap"_fix_atom_swap.html - Monte Carlo atom type swapping
|
||||
"aveforce"_fix_aveforce.html - add an averaged force to each atom
|
||||
"ave/atom"_fix_ave_atom.html - compute per-atom time-averaged quantities
|
||||
"ave/chunk"_fix_ave_chunk.html - compute per-chunk time-averaged quantities
|
||||
"ave/correlate"_fix_ave_correlate.html - compute/output time correlations
|
||||
"ave/correlate/long"_fix_ave_correlate_long.html -
|
||||
"ave/histo"_fix_ave_histo.html - compute/output time-averaged histograms
|
||||
"ave/histo/weight"_fix_ave_histo.html -
|
||||
"ave/time"_fix_ave_time.html - compute/output global time-averaged quantities
|
||||
"aveforce"_fix_aveforce.html - add an averaged force to each atom
|
||||
"balance"_fix_balance.html - perform dynamic load-balancing
|
||||
"bocs"_fix_bocs.html -
|
||||
"bond/break"_fix_bond_break.html - break bonds on the fly
|
||||
"bond/create"_fix_bond_create.html - create bonds on the fly
|
||||
"bond/react"_fix_bond_react.html -
|
||||
"bond/swap"_fix_bond_swap.html - Monte Carlo bond swapping
|
||||
"box/relax"_fix_box_relax.html - relax box size during energy minimization
|
||||
"client/md"_fix_client_md.html -
|
||||
"cmap"_fix_cmap.html -
|
||||
"colvars"_fix_colvars.html -
|
||||
"controller"_fix_controller.html -
|
||||
"deform"_fix_deform.html - change the simulation box size/shape
|
||||
"deposit"_fix_deposit.html - add new atoms above a surface
|
||||
"dpd/energy"_fix_dpd_energy.html -
|
||||
"drag"_fix_drag.html - drag atoms towards a defined coordinate
|
||||
"drude"_fix_drude.html -
|
||||
"drude/transform/direct"_fix_drude_transform.html -
|
||||
"drude/transform/inverse"_fix_drude_transform.html -
|
||||
"dt/reset"_fix_dt_reset.html - reset the timestep based on velocity, forces
|
||||
"edpd/source"_fix_dpd_source.html -
|
||||
"efield"_fix_efield.html - impose electric field on system
|
||||
"ehex"_fix_ehex.html - ehanced heat exchange algorithm
|
||||
"enforce2d"_fix_enforce2d.html - zero out z-dimension velocity and force
|
||||
"eos/cv"_fix_eos_cv.html -
|
||||
"eos/table"_fix_eos_table.html -
|
||||
"eos/table/rx"_fix_eos_table_rx.html -
|
||||
"evaporate"_fix_evaporate.html - remove atoms from simulation periodically
|
||||
"external"_fix_external.html - callback to an external driver program
|
||||
"ffl"_fix_ffl.html -
|
||||
"filter/corotate"_fix_filter_corotate.html -
|
||||
"flow/gauss"_fix_flow_gauss.html -
|
||||
"freeze"_fix_freeze.html - freeze atoms in a granular simulation
|
||||
"gcmc"_fix_gcmc.html - grand canonical insertions/deletions
|
||||
"gld"_fix_gcmc.html - generalized Langevin dynamics integrator
|
||||
"gld"_fix_gld.html -
|
||||
"gle"_fix_gle.html -
|
||||
"gravity"_fix_gravity.html - add gravity to atoms in a granular simulation
|
||||
"grem"_fix_grem.html -
|
||||
"halt"_fix_halt.html - terminate a dynamics run or minimization
|
||||
"heat"_fix_heat.html - add/subtract momentum-conserving heat
|
||||
"hyper/global"_fix_hyper_global.html - global hyperdynamics
|
||||
"hyper/local"_fix_hyper_local.html - local hyperdynamics
|
||||
"imd"_fix_imd.html -
|
||||
"indent"_fix_indent.html - impose force due to an indenter
|
||||
"latte"_fix_latte.html - wrapper on LATTE density-functional tight-binding code
|
||||
"ipi"_fix_ipi.html -
|
||||
"langevin"_fix_langevin.html - Langevin temperature control
|
||||
"langevin/drude"_fix_langevin_drude.html -
|
||||
"langevin/eff"_fix_langevin_eff.html -
|
||||
"langevin/spin"_fix_langevin_spin.html -
|
||||
"latte"_fix_latte.html - wrapper on LATTE density-functional tight-binding code
|
||||
"lb/fluid"_fix_lb_fluid.html -
|
||||
"lb/momentum"_fix_lb_momentum.html -
|
||||
"lb/pc"_fix_lb_pc.html -
|
||||
"lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html -
|
||||
"lb/viscous"_fix_lb_viscous.html -
|
||||
"lineforce"_fix_lineforce.html - constrain atoms to move in a line
|
||||
"manifoldforce"_fix_manifoldforce.html -
|
||||
"meso"_fix_meso.html -
|
||||
"meso"_fix_meso_move.html - move mesoscopic SPH/SDPD particles in a prescribed fashion
|
||||
"meso/move"_fix_meso_move.html -
|
||||
"meso/stationary"_fix_meso_stationary.html -
|
||||
"momentum"_fix_momentum.html - zero the linear and/or angular momentum of a group of atoms
|
||||
"move"_fix_move.html - move atoms in a prescribed fashion
|
||||
"mscg"_fix_mscg.html -
|
||||
"msst"_fix_msst.html - multi-scale shock technique (MSST) integration
|
||||
"mvv/dpd"_fix_mvv_dpd.html -
|
||||
"mvv/edpd"_fix_mvv_dpd.html -
|
||||
"mvv/tdpd"_fix_mvv_dpd.html -
|
||||
"neb"_fix_neb.html - nudged elastic band (NEB) spring forces
|
||||
"nph"_fix_nh.html - constant NPH time integration via Nose/Hoover
|
||||
"nphug"_fix_nphug.html - constant-stress Hugoniostat integration
|
||||
"nph/asphere"_fix_nph_asphere.html - NPH for aspherical particles
|
||||
"nph/body"_fix_nph_body.html -
|
||||
"nph/body"_fix_nve_body.html - NPH for body particles
|
||||
"nph/eff"_fix_nh_eff.html -
|
||||
"nph/sphere"_fix_nph_sphere.html - NPH for spherical particles
|
||||
"nphug"_fix_nphug.html - constant-stress Hugoniostat integration
|
||||
"npt"_fix_nh.html - constant NPT time integration via Nose/Hoover
|
||||
"npt/asphere"_fix_npt_asphere.html - NPT for aspherical particles
|
||||
"npt/body"_fix_npt_body.html -
|
||||
"npt/body"_fix_nve_body.html - NPT for body particles
|
||||
"npt/eff"_fix_nh_eff.html -
|
||||
"npt/sphere"_fix_npt_sphere.html - NPT for spherical particles
|
||||
"npt/uef"_fix_nh_uef.html -
|
||||
"nve"_fix_nve.html - constant NVE time integration
|
||||
"nve/asphere"_fix_nve_asphere.html - NVE for aspherical particles
|
||||
"nve/asphere/noforce"_fix_nve_asphere_noforce.html - NVE for aspherical particles without forces"
|
||||
"nve/awpmd"_fix_nve_awpmd.html -
|
||||
"nve/body"_fix_nve_body.html - NVE for body particles
|
||||
"nve/dot"_fix_nve_dot.html -
|
||||
"nve/dotc/langevin"_fix_nve_dotc_langevin.html -
|
||||
"nve/eff"_fix_nve_eff.html -
|
||||
"nve/limit"_fix_nve_limit.html - NVE with limited step length
|
||||
"nve/line"_fix_nve_line.html - NVE for line segments
|
||||
"nve/manifold/rattle"_fix_nve_manifold_rattle.html -
|
||||
"nve/noforce"_fix_nve_noforce.html - NVE without forces (v only)
|
||||
"nve/sphere"_fix_nve_sphere.html - NVE for spherical particles
|
||||
"nve/spin"_fix_nve_spin.html -
|
||||
"nve/tri"_fix_nve_tri.html - NVE for triangles
|
||||
"nvk"_fix_nvk.html -
|
||||
"nvt"_fix_nh.html - constant NVT time integration via Nose/Hoover
|
||||
"nvt/asphere"_fix_nvt_asphere.html - NVT for aspherical particles
|
||||
"nvt/body"_fix_nve_body.html - NVT for body particles
|
||||
"nvt/body"_fix_nvt_body.html -
|
||||
"nvt/eff"_fix_nh_eff.html -
|
||||
"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html -
|
||||
"nvt/sllod"_fix_nvt_sllod.html - NVT for NEMD with SLLOD equations
|
||||
"nvt/sllod/eff"_fix_nvt_sllod_eff.html -
|
||||
"nvt/sphere"_fix_nvt_sphere.html - NVT for spherical particles
|
||||
"nvt/uef"_fix_nh_uef.html -
|
||||
"oneway"_fix_oneway.html - constrain particles on move in one direction
|
||||
"orient/bcc"_fix_orient.html - add grain boundary migration force for BCC
|
||||
"orient/fcc"_fix_orient.html - add grain boundary migration force for FCC
|
||||
"phonon"_fix_phonon.html -
|
||||
"pimd"_fix_pimd.html -
|
||||
"planeforce"_fix_planeforce.html - constrain atoms to move in a plane
|
||||
"poems"_fix_poems.html - constrain clusters of atoms to move \
|
||||
as coupled rigid bodies
|
||||
"plumed"_fix_plumed.html - wrapper on PLUMED free energy library
|
||||
"poems"_fix_poems.html - constrain clusters of atoms to move as coupled rigid bodies
|
||||
"pour"_fix_pour.html - pour new atoms/molecules into a granular simulation domain
|
||||
"press/berendsen"_fix_press_berendsen.html - pressure control by \
|
||||
Berendsen barostat
|
||||
"precession/spin"_fix_precession_spin.html -
|
||||
"press/berendsen"_fix_press_berendsen.html - pressure control by Berendsen barostat
|
||||
"print"_fix_print.html - print text and variables during a simulation
|
||||
"property/atom"_fix_property_atom.html - add customized per-atom values
|
||||
"qeq/comb"_fix_qeq_comb.html - charge equilibration for COMB potential \
|
||||
"qeq/dynamic"_fix_qeq.html - charge equilibration via dynamic method \
|
||||
"qeq/fire"_fix_qeq.html - charge equilibration via FIRE minimizer \
|
||||
"qeq/point"_fix_qeq.html - charge equilibration via point method \
|
||||
"qeq/shielded"_fix_qeq.html - charge equilibration via shielded method \
|
||||
"qeq/slater"_fix_qeq.html - charge equilibration via Slater method \
|
||||
"python/invoke"_fix_python_invoke.html -
|
||||
"python/move"_fix_python_move.html -
|
||||
"qbmsst"_fix_qbmsst.html -
|
||||
"qeq/comb"_fix_qeq_comb.html - charge equilibration for COMB potential
|
||||
"qeq/dynamic"_fix_qeq.html - charge equilibration via dynamic method
|
||||
"qeq/fire"_fix_qeq.html - charge equilibration via FIRE minimizer
|
||||
"qeq/point"_fix_qeq.html - charge equilibration via point method
|
||||
"qeq/reax"_fix_qeq_reax.html -
|
||||
"qeq/shielded"_fix_qeq.html - charge equilibration via shielded method
|
||||
"qeq/slater"_fix_qeq.html - charge equilibration via Slater method
|
||||
"qmmm"_fix_qmmm.html -
|
||||
"qtb"_fix_qtb.html -
|
||||
"rattle"_fix_shake.html - RATTLE constraints on bonds and/or angles
|
||||
"reax/bonds"_fix_reax_bonds.html - write out ReaxFF bond information \
|
||||
"recenter"_fix_recenter.html - constrain the center-of-mass position \
|
||||
of a group of atoms
|
||||
"reax/bonds"_fix_reax_bonds.html - write out ReaxFF bond information
|
||||
"reax/c/bonds"_fix_reax_bonds.html -
|
||||
"reax/c/species"_fix_reaxc_species.html -
|
||||
"recenter"_fix_recenter.html - constrain the center-of-mass position of a group of atoms
|
||||
"restrain"_fix_restrain.html - constrain a bond, angle, dihedral
|
||||
"rigid"_fix_rigid.html - constrain one or more clusters of atoms to \
|
||||
move as a rigid body with NVE integration
|
||||
"rigid/nph"_fix_rigid.html - constrain one or more clusters of atoms to \
|
||||
move as a rigid body with NPH integration
|
||||
"rigid/npt"_fix_rigid.html - constrain one or more clusters of atoms to \
|
||||
move as a rigid body with NPT integration
|
||||
"rigid/nve"_fix_rigid.html - constrain one or more clusters of atoms to \
|
||||
move as a rigid body with alternate NVE integration
|
||||
"rigid/nvt"_fix_rigid.html - constrain one or more clusters of atoms to \
|
||||
move as a rigid body with NVT integration
|
||||
"rigid/small"_fix_rigid.html - constrain many small clusters of atoms to \
|
||||
move as a rigid body with NVE integration
|
||||
"rigid/small/nph"_fix_rigid.html - constrain many small clusters of atoms to \
|
||||
move as a rigid body with NPH integration
|
||||
"rigid/small/npt"_fix_rigid.html - constrain many small clusters of atoms to \
|
||||
move as a rigid body with NPT integration
|
||||
"rigid/small/nve"_fix_rigid.html - constrain many small clusters of atoms to \
|
||||
move as a rigid body with alternate NVE integration
|
||||
"rigid/small/nvt"_fix_rigid.html - constrain many small clusters of atoms to \
|
||||
move as a rigid body with NVT integration
|
||||
"rhok"_fix_rhok.html -
|
||||
"rigid"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NVE integration
|
||||
"rigid/nph"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NPH integration
|
||||
"rigid/nph/small"_fix_rigid.html -
|
||||
"rigid/npt"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NPT integration
|
||||
"rigid/npt/small"_fix_rigid.html -
|
||||
"rigid/nve"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with alternate NVE integration
|
||||
"rigid/nve/small"_fix_rigid.html -
|
||||
"rigid/nvt"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NVT integration
|
||||
"rigid/nvt/small"_fix_rigid.html -
|
||||
"rigid/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVE integration
|
||||
"rigid/small/nph"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NPH integration
|
||||
"rigid/small/npt"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NPT integration
|
||||
"rigid/small/nve"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with alternate NVE integration
|
||||
"rigid/small/nvt"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVT integration
|
||||
"rigid/meso"_fix_rigid_meso.html - constrain clusters of mesoscopic SPH/SDPD particles to move as a rigid body
|
||||
"rx"_fix_rx.html -
|
||||
"saed/vtk"_fix_saed_vtk.html -
|
||||
"setforce"_fix_setforce.html - set the force on each atom
|
||||
"shake"_fix_shake.html - SHAKE constraints on bonds and/or angles
|
||||
"shardlow"_fix_shardlow.html -
|
||||
"smd"_fix_smd.html -
|
||||
"smd/adjust_dt"_fix_smd_adjust_dt.html -
|
||||
"smd/integrate_tlsph"_fix_smd_integrate_tlsph.html -
|
||||
"smd/integrate_ulsph"_fix_smd_integrate_ulsph.html -
|
||||
"smd/move_tri_surf"_fix_smd_move_triangulated_surface.html -
|
||||
"smd/setvel"_fix_smd_setvel.html -
|
||||
"smd/wall_surface"_fix_smd_wall_surface.html -
|
||||
"spring"_fix_spring.html - apply harmonic spring force to group of atoms
|
||||
"spring/chunk"_fix_spring_chunk.html - apply harmonic spring force to each chunk of atoms
|
||||
"spring/rg"_fix_spring_rg.html - spring on radius of gyration of \
|
||||
group of atoms
|
||||
"spring/rg"_fix_spring_rg.html - spring on radius of gyration of group of atoms
|
||||
"spring/self"_fix_spring_self.html - spring from each atom to its origin
|
||||
"srd"_fix_srd.html - stochastic rotation dynamics (SRD)
|
||||
"store/force"_fix_store_force.html - store force on each atom
|
||||
"store/state"_fix_store_state.html - store attributes for each atom
|
||||
"temp/berendsen"_fix_temp_berendsen.html - temperature control by \
|
||||
Berendsen thermostat
|
||||
"tdpd/source"_fix_dpd_source.html -
|
||||
"temp/berendsen"_fix_temp_berendsen.html - temperature control by Berendsen thermostat
|
||||
"temp/csld"_fix_temp_csvr.html - canonical sampling thermostat with Langevin dynamics
|
||||
"temp/csvr"_fix_temp_csvr.html - canonical sampling thermostat with Hamiltonian dynamics
|
||||
"temp/rescale"_fix_temp_rescale.html - temperature control by \
|
||||
velocity rescaling
|
||||
"temp/rescale"_fix_temp_rescale.html - temperature control by velocity rescaling
|
||||
"temp/rescale/eff"_fix_temp_rescale_eff.html -
|
||||
"tfmc"_fix_tfmc.html - perform force-bias Monte Carlo with time-stamped method
|
||||
"thermal/conductivity"_fix_thermal_conductivity.html - Muller-Plathe kinetic energy exchange for \
|
||||
thermal conductivity calculation
|
||||
"thermal/conductivity"_fix_thermal_conductivity.html - Muller-Plathe kinetic energy exchange for thermal conductivity calculation
|
||||
"ti/spring"_fix_ti_spring.html -
|
||||
"tmd"_fix_tmd.html - guide a group of atoms to a new configuration
|
||||
"ttm"_fix_ttm.html - two-temperature model for electronic/atomic coupling
|
||||
"ttm/mod"_fix_ttm.html -
|
||||
"tune/kspace"_fix_tune_kspace.html - auto-tune KSpace parameters
|
||||
"vector"_fix_vector.html - accumulate a global vector every N timesteps
|
||||
"viscosity"_fix_viscosity.html - Muller-Plathe momentum exchange for \
|
||||
viscosity calculation
|
||||
"viscosity"_fix_viscosity.html - Muller-Plathe momentum exchange for viscosity calculation
|
||||
"viscous"_fix_viscous.html - viscous damping for granular simulations
|
||||
"wall/body/polygon"_fix_wall_body_polygon.html -
|
||||
"wall/body/polyhedron"_fix_wall_body_polyhedron.html -
|
||||
"wall/colloid"_fix_wall.html - Lennard-Jones wall interacting with finite-size particles
|
||||
"wall/ees"_fix_wall_ees.html -
|
||||
"wall/gran"_fix_wall_gran.html - frictional wall(s) for granular simulations
|
||||
"wall/gran/region"_fix_wall_gran_region.html -
|
||||
"wall/harmonic"_fix_wall.html - harmonic spring wall
|
||||
"wall/lj1043"_fix_wall.html - Lennard-Jones 10-4-3 wall
|
||||
"wall/lj126"_fix_wall.html - Lennard-Jones 12-6 wall
|
||||
@ -304,6 +385,7 @@ accelerated styles exist.
|
||||
"wall/piston"_fix_wall_piston.html - moving reflective piston wall
|
||||
"wall/reflect"_fix_wall_reflect.html - reflecting wall(s)
|
||||
"wall/region"_fix_wall_region.html - use region surface as wall
|
||||
"wall/region/ees"_fix_wall_ees.html -
|
||||
"wall/srd"_fix_wall_srd.html - slip/no-slip wall for SRD particles :ul
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
@ -376,3 +376,4 @@ appear in {dimstr} for the {shift} style.
|
||||
"group"_group.html, "processors"_processors.html, "balance"_balance.html
|
||||
|
||||
[Default:] none
|
||||
:link(pizza,http://pizza.sandia.gov)
|
||||
|
||||
@ -137,8 +137,8 @@ doc page for more info.
|
||||
[Related commands:]
|
||||
|
||||
"fix bond/create"_fix_bond_create.html, "fix
|
||||
bond/swap"_fix_bond_swap.html, "dump local"_dump.html,
|
||||
"special_bonds"_special_bonds.html
|
||||
bond/react"_fix_bond_react.html, "fix bond/swap"_fix_bond_swap.html,
|
||||
"dump local"_dump.html, "special_bonds"_special_bonds.html
|
||||
|
||||
[Default:]
|
||||
|
||||
|
||||
@ -232,8 +232,8 @@ doc page for more info.
|
||||
[Related commands:]
|
||||
|
||||
"fix bond/break"_fix_bond_break.html, "fix
|
||||
bond/swap"_fix_bond_swap.html, "dump local"_dump.html,
|
||||
"special_bonds"_special_bonds.html
|
||||
bond/react"_fix_bond_react.html, "fix bond/swap"_fix_bond_swap.html,
|
||||
"dump local"_dump.html, "special_bonds"_special_bonds.html
|
||||
|
||||
[Default:]
|
||||
|
||||
|
||||
@ -24,11 +24,11 @@ common_keyword = {stabilization} :l
|
||||
{stabilization} values = {no} or {yes} {group-ID} {xmax}
|
||||
{no} = no reaction site stabilization
|
||||
{yes} = perform reaction site stabilization
|
||||
{group-ID} = user-assigned ID for all non-reacting atoms (group created internally)
|
||||
{group-ID} = user-assigned prefix for the dynamic group of non-reacting atoms
|
||||
{xmax} = xmax value that is used by an internally created "nve/limit"_fix_nve_limit.html integrator :pre
|
||||
react = mandatory argument indicating new reaction specification :l
|
||||
react-ID = user-assigned name for the reaction :l
|
||||
react-group-ID = only atoms in this group are available for the reaction :l
|
||||
react-group-ID = only atoms in this group are considered for the reaction :l
|
||||
Nevery = attempt reaction every this many steps :l
|
||||
Rmin = bonding pair atoms must be separated by more than Rmin to initiate reaction (distance units) :l
|
||||
Rmax = bonding pair atoms must be separated by less than Rmax to initiate reaction (distance units) :l
|
||||
@ -41,14 +41,18 @@ react = mandatory argument indicating new reaction specification :l
|
||||
fraction = initiate reaction with this probability if otherwise eligible
|
||||
seed = random number seed (positive integer)
|
||||
{stabilize_steps} value = timesteps
|
||||
timesteps = number of timesteps to apply internally created nve/limit.html :pre
|
||||
timesteps = number of timesteps to apply internally created nve/limit fix :pre
|
||||
{update_edges} value = {none} or {charges} :l
|
||||
none = do not update topology near the edges of reaction templates
|
||||
charges = update atomic charges of all atoms in reaction templates
|
||||
custom = force the update of user-specified atomic charges :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
molecule mol1 pre_reacted_topology.txt
|
||||
molecule mol2 post_reacted_topology.txt
|
||||
fix 5 all bond/react stabilization no react myrxn1 all 1 0 3.25 mol1 mol2 map_file.txt :pre
|
||||
fix 5 all bond/react react myrxn1 all 1 0 3.25 mol1 mol2 map_file.txt :pre
|
||||
|
||||
molecule mol1 pre_reacted_rxn1.txt
|
||||
molecule mol2 post_reacted_rxn1.txt
|
||||
@ -57,7 +61,7 @@ molecule mol4 post_reacted_rxn2.txt
|
||||
fix 5 all bond/react stabilization yes nvt_grp .03 &
|
||||
react myrxn1 all 1 0 3.25 mol1 mol2 map_file_rxn1.txt prob 0.50 12345 &
|
||||
react myrxn2 all 1 0 2.75 mol3 mol4 map_file_rxn2.txt prob 0.25 12345
|
||||
fix 6 nvt_grp nvt temp 300 300 100 # set thermostat after bond/react :pre
|
||||
fix 6 nvt_grp_REACT nvt temp 300 300 100 # set thermostat after bond/react :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -99,19 +103,29 @@ involved in any new reactions. The {xmax} value keyword should
|
||||
typically be set to the maximum distance that non-reacting atoms move
|
||||
during the simulation.
|
||||
|
||||
The group-ID set using the {stabilization} keyword should be a
|
||||
previously unused group-ID. It cannot be specified as 'all'. The fix
|
||||
bond/react command creates a "dynamic group"_group.html of this name
|
||||
that includes all non-reacting atoms. This dynamic group-ID should
|
||||
then be used by a subsequent system-wide time integrator such as nvt,
|
||||
npt, or nve, as shown in the second example above. It is currently
|
||||
necessary to place the time integration command after the fix
|
||||
bond/react command due to the internal dynamic grouping performed by
|
||||
fix bond/react.
|
||||
The group-ID set using the {stabilization} keyword can be an existing
|
||||
static group or a previously-unused group-ID. It cannot be specified
|
||||
as 'all'. If the group-ID is previously unused, the fix bond/react
|
||||
command creates a "dynamic group"_group.html 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
|
||||
constant-topology parts of your system separately. The dynamic group
|
||||
contains only non-reacting atoms at a given timestep, and therefore
|
||||
should be used by a subsequent system-wide time integrator such as
|
||||
nvt, npt, or nve, as shown in the second example above. The time
|
||||
integration command should be placed after the fix bond/react command
|
||||
due to the internal dynamic grouping performed by fix bond/react.
|
||||
|
||||
NOTE: The internally created group currently applies to all atoms in
|
||||
the system, i.e. you should generally not have a separate thermostat
|
||||
which acts on the 'all' group.
|
||||
NOTE: If the group-ID is an existing static group, react-group-IDs
|
||||
should also be specified as this static group, or a subset.
|
||||
|
||||
NOTE: If the group-ID is previously unused, the internally created
|
||||
group applies to all atoms in the system, i.e. you should generally
|
||||
not have a separate thermostat which acts on the 'all' group, or any
|
||||
other group.
|
||||
|
||||
The following comments pertain to each {react} argument:
|
||||
|
||||
@ -155,7 +169,17 @@ Some atoms in the pre-reacted template that are not reacting may have
|
||||
missing topology with respect to the simulation. For example, the
|
||||
pre-reacted template may contain an atom that would connect to the
|
||||
rest of a long polymer chain. These are referred to as edge atoms, and
|
||||
are also specified in the map file.
|
||||
are also specified in the map file. When the pre-reaction template
|
||||
contains edge atoms, not all atoms, bonds, charges, etc. specified in
|
||||
the reaction templates will be updated. Specifically, topology that
|
||||
involves only atoms that are 'too near' to template edges will not be
|
||||
updated. The definition of 'too near the edge' depends on which
|
||||
interactions are defined in the simulation. If the simulation has
|
||||
defined dihedrals, atoms within two bonds of edge atoms are considered
|
||||
'too near the edge.' If the simulation defines angles, but not
|
||||
dihedrals, atoms within one bond of edge atoms are considered 'too
|
||||
near the edge.' If just bonds are defined, only edge atoms are
|
||||
considered 'too near the edge.'
|
||||
|
||||
Note that some care must be taken when a building a molecule template
|
||||
for a given simulation. All atom types in the pre-reacted template
|
||||
@ -178,23 +202,30 @@ A discussion of correctly handling this is also provided on the
|
||||
The map file is a text document with the following format:
|
||||
|
||||
A map file has a header and a body. The header of map file the
|
||||
contains one mandatory keyword and one optional keyword. The mandatory
|
||||
keyword is 'equivalences' and the optional keyword is 'edgeIDs':
|
||||
contains one mandatory keyword and two optional keywords. The mandatory
|
||||
keyword is 'equivalences' and the optional keywords are 'edgeIDs' and
|
||||
'customIDs':
|
||||
|
||||
N {equivalences} = # of atoms N in the reaction molecule templates
|
||||
N {edgeIDs} = # of edge atoms N in the pre-reacted molecule template :pre
|
||||
N {edgeIDs} = # of edge atoms N in the pre-reacted molecule template
|
||||
N {customIDs} = # of atoms N that are specified for a custom update :pre
|
||||
|
||||
The body of the map file contains two mandatory sections and one
|
||||
optional section. The first mandatory section begins with the keyword
|
||||
The body of the map file contains two mandatory sections and two
|
||||
optional sections. The first mandatory section begins with the keyword
|
||||
'BondingIDs' and lists the atom IDs of the bonding atom pair in the
|
||||
pre-reacted molecule template. The second mandatory section begins
|
||||
with the keyword 'Equivalences' and lists a one-to-one correspondence
|
||||
between atom IDs of the pre- and post-reacted templates. The first
|
||||
column is an atom ID of the pre-reacted molecule template, and the
|
||||
second column is the corresponding atom ID of the post-reacted
|
||||
molecule template. The optional section begins with the keyword
|
||||
molecule template. The first optional section begins with the keyword
|
||||
'EdgeIDs' and lists the atom IDs of edge atoms in the pre-reacted
|
||||
molecule template.
|
||||
molecule template. The second optional section begins with the keyword
|
||||
'Custom Edges' and allows for forcing the update of a specific atom's
|
||||
atomic charge. The first column is the ID of an atom near the edge of
|
||||
the pre-reacted molecule template, and the value of the second column
|
||||
is either 'none' or 'charges.' Further details are provided in the
|
||||
discussion of the 'update_edges' keyword.
|
||||
|
||||
A sample map file is given below:
|
||||
|
||||
@ -255,6 +286,18 @@ 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.
|
||||
|
||||
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,
|
||||
including atoms near the edge of reaction templates. When the value is
|
||||
set to 'custom,' an additional section must be included in the map
|
||||
file that specifies whether to update charges, on a per-atom basis.
|
||||
The format of this section is detailed above. Listing a pre-reaction
|
||||
atom ID with a value of 'charges' will force the update of the atom's
|
||||
charge, even if it is near a template edge. Atoms not near a template
|
||||
edge are unaffected by this setting.
|
||||
|
||||
In order to produce the most physical behavior, this 'reaction site
|
||||
equilibration time' should be tuned to be as small as possible while
|
||||
retaining stability for a given system or reaction step. After a
|
||||
@ -323,7 +366,7 @@ bond/break"_fix_bond_break.html, "fix bond/swap"_fix_bond_swap.html,
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60
|
||||
The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60, update_edges = none
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -116,7 +116,8 @@ not a limitation of functionality.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix smd"_fix_smd.html
|
||||
"fix smd"_fix_smd.html, "fix spring"_fix_spring.html,
|
||||
"fix plumed"_fix_plumed.html
|
||||
|
||||
[Default:]
|
||||
|
||||
@ -126,4 +127,4 @@ and tstat = NULL.
|
||||
:line
|
||||
|
||||
:link(Fiorin)
|
||||
[(Fiorin)] Fiorin , Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594
|
||||
[(Fiorin)] Fiorin, Klein, Henin, Mol. Phys., DOI:10.1080/00268976.2013.813594
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
:line
|
||||
|
||||
fix freeze command :h3
|
||||
fix freeze/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
fix gravity command :h3
|
||||
fix gravity/omp command :h3
|
||||
fix gravity/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
@ -135,8 +135,7 @@ files"_restart.html. None of the "fix_modify"_fix_modify.html options
|
||||
are relevant to this fix. No global or per-atom quantities are stored
|
||||
by this fix for access by various "output commands"_Howto_output.html.
|
||||
No parameter of this fix can be used with the {start/stop} keywords of
|
||||
the "run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
the "run"_run.html command.
|
||||
|
||||
[Restrictions:] none
|
||||
|
||||
|
||||
260
doc/src/fix_hyper_global.txt
Normal file
260
doc/src/fix_hyper_global.txt
Normal file
@ -0,0 +1,260 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix hyper/global command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID hyper/global cutbond qfactor Vmax Tequil :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command
|
||||
hyper/global = style name of this fix command
|
||||
cutbond = max distance at which a pair of atoms is considered bonded (distance units)
|
||||
qfactor = max strain at which bias potential goes to 0.0 (unitless)
|
||||
Vmax = height of bias potential (energy units)
|
||||
Tequil = equilibration temperature (temperature units) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all hyper/global 1.0 0.3 0.8 300.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
This fix is meant to be used with the "hyper"_hyper.html command to
|
||||
perform a bond-boost global hyperdynamics (GHD) simulation. The role
|
||||
of this fix is to a select a single pair of atoms in the system at
|
||||
each timestep to add a global bias potential to, which will alter the
|
||||
dynamics of the system in a manner that effectively accelerates time.
|
||||
This is in contrast to the "fix hyper/local"_fix_hyper_local.html
|
||||
command, which can be user to perform a local hyperdynamics (LHD)
|
||||
simulation, by adding a local bias potential to multiple pairs of
|
||||
atoms at each timestep. GHD can time accelerate a small simulation
|
||||
with up to a few 100 atoms. For larger systems, LHD is needed to
|
||||
achieve good time acceleration.
|
||||
|
||||
For a system that undergoes rare transition events, where one or more
|
||||
atoms move over an energy barrier to a new potential energy basin, the
|
||||
effect of the bias potential is to induce more rapid transitions.
|
||||
This can lead to a dramatic speed-up in the rate at which events
|
||||
occurs, without altering their relative frequencies, thus leading to
|
||||
an overall increase in the elapsed real time of the simulation as
|
||||
compared to running for the same number of timesteps with normal MD.
|
||||
See the "hyper"_hyper.html doc page for a more general discussion of
|
||||
hyperdynamics and citations that explain both GHD and LHD.
|
||||
|
||||
The equations and logic used by this fix and described here to perform
|
||||
GHD follow the description given in "(Voter2013)"_#Voter2013ghd. The
|
||||
bond-boost form of a bias potential for HD is due to Miron and
|
||||
Fichthorn as described in "(Miron)"_#Mironghd. In LAMMPS we use a
|
||||
simplified version of bond-boost GHD where a single bond in the system
|
||||
is biased at any one timestep.
|
||||
|
||||
Bonds are defined between each pair of I,J atoms whose R0ij distance
|
||||
is less than {cutbond}, when the system is in a quenched state
|
||||
(minimum) energy. Note that these are not "bonds" in a covalent
|
||||
sense. A bond is simply any pair of atoms that meet the distance
|
||||
criterion. {Cutbond} is an argument to this fix; it is discussed
|
||||
below. A bond is only formed if one or both of the I.J atoms are in
|
||||
the specified group.
|
||||
|
||||
The current strain of bond IJ (when running dynamics) is defined as
|
||||
|
||||
Eij = (Rij - R0ij) / R0ij :pre
|
||||
|
||||
where Rij is the current distance between atoms I,J, and R0ij is the
|
||||
equilibrium distance in the quenched state.
|
||||
|
||||
The bias energy Vij of any bond IJ is defined as
|
||||
|
||||
Vij = Vmax * (1 - (Eij/q)^2) for abs(Eij) < qfactor
|
||||
= 0 otherwise :pre
|
||||
|
||||
where the prefactor {Vmax} and the cutoff {qfactor} are arguments to
|
||||
this fix; they are discussed below. This functional form is an
|
||||
inverse parabola centered at 0.0 with height Vmax and which goes to
|
||||
0.0 at +/- qfactor.
|
||||
|
||||
Let Emax = the maximum of abs(Eij) for all IJ bonds in the system on a
|
||||
given timestep. On that step, Vij is added as a bias potential to
|
||||
only the single bond with strain Emax, call it Vij(max). Note that
|
||||
Vij(max) will be 0.0 if Emax >= qfactor on that timestep. Also note
|
||||
that Vij(max) is added to the normal interatomic potential that is
|
||||
computed between all atoms in the system at every step.
|
||||
|
||||
The derivative of Vij(max) with respect to the position of each atom
|
||||
in the Emax bond gives a bias force Fij(max) acting on the bond as
|
||||
|
||||
Fij(max) = - dVij(max)/dEij = 2 Vmax Eij / qfactor^2 for abs(Eij) < qfactor
|
||||
= 0 otherwise :pre
|
||||
|
||||
which can be decomposed into an equal and opposite force acting on
|
||||
only the two I,J atoms in the Emax bond.
|
||||
|
||||
The time boost factor for the system is given each timestep I by
|
||||
|
||||
Bi = exp(beta * Vij(max)) :pre
|
||||
|
||||
where beta = 1/kTequil, and {Tequil} is the temperature of the system
|
||||
and an argument to this fix. Note that Bi >= 1 at every step.
|
||||
|
||||
NOTE: To run GHD, the input script must also use the "fix
|
||||
langevin"_fix_langevin.html command to thermostat the atoms at the
|
||||
same {Tequil} as specified by this fix, so that the system is running
|
||||
constant-temperature (NVT) dynamics. LAMMPS does not check that this
|
||||
is done.
|
||||
|
||||
The elapsed time t_hyper for a GHD simulation running for {N}
|
||||
timesteps is simply
|
||||
|
||||
t_hyper = Sum (i = 1 to N) Bi * dt :pre
|
||||
|
||||
where dt is the timestep size defined by the "timestep"_timestep.html
|
||||
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.
|
||||
Likewise, which bond has Emax strain and thus which pair of 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 "fix
|
||||
hyper/local"_fix_hyper_local.html doc page for details.
|
||||
|
||||
:line
|
||||
|
||||
Here is additional information on the input parameters for GHD.
|
||||
|
||||
The {cutbond} argument is the cutoff distance for defining bonds
|
||||
between pairs of nearby atoms. A pair of I,J atoms in their
|
||||
equilibrium, minimum-energy configuration, which are separated by a
|
||||
distance Rij < {cutbond}, are flagged as a bonded pair. Setting
|
||||
{cubond} to be ~25% larger than the nearest-neighbor distance in a
|
||||
crystalline lattice is a typical choice for solids, so that bonds
|
||||
exist only between nearest neighbor pairs.
|
||||
|
||||
The {qfactor} argument is the limiting strain at which the bias
|
||||
potential goes to 0.0. It is dimensionless, so a value of 0.3 means a
|
||||
bond distance can be up to 30% larger or 30% smaller than the
|
||||
equilibrium (quenched) R0ij distance and the two atoms in the bond
|
||||
could still experience a non-zero bias force.
|
||||
|
||||
If {qfactor} is set too large, then transitions from one energy basin
|
||||
to another are affected because the bias potential is non-zero at the
|
||||
transition state (e.g. saddle point). If {qfactor} is set too small
|
||||
than little boost is achieved because the Eij strain of some bond in
|
||||
the system will (nearly) always exceed {qfactor}. A value of 0.3 for
|
||||
{qfactor} is typically reasonable.
|
||||
|
||||
The {Vmax} argument is the prefactor on the bias potential. Ideally,
|
||||
tt should be set to a value slightly less than the smallest barrier
|
||||
height for an event to occur. Otherwise the applied bias potential
|
||||
may be large enough (when added to the interatomic potential) to
|
||||
produce a local energy basin with a maxima in the center. This can
|
||||
produce artificial energy minima in the same basin that trap an atom.
|
||||
Or if {Vmax} is even larger, it may induce an atom(s) to rapidly
|
||||
transition to another energy basin. Both cases are "bad dynamics"
|
||||
which violate the assumptions of GHD that guarantee an accelerated
|
||||
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.
|
||||
|
||||
NOTE: If you have no physical intuition as to the smallest barrier
|
||||
height in your system, a reasonable strategy to determine the largest
|
||||
{Vmax} you can use for an LHD model, is to run a sequence of
|
||||
simulations with smaller and smaller {Vmax} values, until the event
|
||||
rate does not change.
|
||||
|
||||
The {Tequil} argument is the temperature at which the system is
|
||||
simulated; see the comment above about the "fix
|
||||
langevin"_fix_langevin.html thermostatting. It is also part of the
|
||||
beta term in the exponential factor that determines how much boost is
|
||||
achieved as a function of the bias potential.
|
||||
|
||||
In general, the lower the value of {Tequil} and the higher the value
|
||||
of {Vmax}, the more boost will be achievable by the GHD algorithm.
|
||||
|
||||
:line
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information about this fix is written to "binary restart
|
||||
files"_restart.html.
|
||||
|
||||
The "fix_modify"_fix_modify.html {energy} option is supported by this
|
||||
fix to add the energy of the bias potential to the the system's
|
||||
potential energy as part of "thermodynamic output"_thermo_style.html.
|
||||
|
||||
This fix computes a global scalar and global vector of length 11, which
|
||||
can be accessed by various "output commands"_Howto_output.html. The
|
||||
scalar is the magnitude of the bias potential (energy units) applied on
|
||||
the current timestep. The vector stores the following quantities:
|
||||
|
||||
1 = boost factor on this step (unitless)
|
||||
2 = max strain Eij of any bond on this step (unitless)
|
||||
3 = ID of first atom in the max-strain bond
|
||||
4 = ID of second atom in the max-strain bond
|
||||
5 = average # of bonds/atom on this step :ul
|
||||
|
||||
6 = fraction of timesteps with bias = 0.0 during this run
|
||||
7 = max drift distance of any atom during this run (distance units)
|
||||
8 = max bond length during this run (distance units) :ul
|
||||
|
||||
9 = cummulative hyper time since fix was defined (time units)
|
||||
10 = cummulative count of event timesteps since fix was defined
|
||||
11 = cummulative count of atoms in events since fix was defined :ul
|
||||
|
||||
The first 5 quantities are for the current timestep. Quantities 6-8
|
||||
are for the current hyper run. Quantities 9-11 are cummulative across
|
||||
multiple runs (since the fix was defined in the input script).
|
||||
|
||||
For value 7, drift is the distance an atom moves between timesteps
|
||||
when the bond list is reset, i.e. between events. Atoms involved in
|
||||
an event will typically move the greatest distance since others are
|
||||
typically oscillating around their lattice site.
|
||||
|
||||
For value 10, events are checked for by the "hyper"_hyper.html command
|
||||
once every {Nevent} timesteps. This value is the count of those
|
||||
timesteps on which one (or more) events was detected. It is NOT the
|
||||
number of distinct events, since more than one event may occur in the
|
||||
same {Nevent} time window.
|
||||
|
||||
For value 11, each time the "hyper"_hyper.html command checks for an
|
||||
event, it invokes a compute to flag zero or more atoms as
|
||||
participating in one or more events. E.g. atoms that have displaced
|
||||
more than some distance from the previous quench state. Value 11 is
|
||||
the cummulative count of the number of atoms participating in any of
|
||||
the events that were found.
|
||||
|
||||
The scalar and vector values calculated by this fix are all
|
||||
"intensive".
|
||||
|
||||
No parameter of this fix can be used with the {start/stop} keywords of
|
||||
the "run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This command can only be used if LAMMPS was built with the REPLICA
|
||||
package. See the "Build package"_Build_package.html doc page for more
|
||||
info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"hyper"_hyper.html, "fix hyper/local"_fix_hyper_local.html
|
||||
|
||||
[Default:] None
|
||||
|
||||
:line
|
||||
|
||||
:link(Voter2013ghd)
|
||||
[(Voter2013)] S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139,
|
||||
144110 (2013).
|
||||
|
||||
:link(Mironghd)
|
||||
[(Miron)] R. A. Miron and K. A. Fichthorn, J Chem Phys, 119, 6210 (2003).
|
||||
404
doc/src/fix_hyper_local.txt
Normal file
404
doc/src/fix_hyper_local.txt
Normal file
@ -0,0 +1,404 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
fix hyper/local command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID hyper/local cutbond qfactor Vmax Tequil Dcut alpha Btarget :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
hyper/local = style name of this fix command :l
|
||||
cutbond = max distance at which a pair of atoms is considered bonded (distance units) :l
|
||||
qfactor = max strain at which bias potential goes to 0.0 (unitless) :l
|
||||
Vmax = estimated height of bias potential (energy units) :l
|
||||
Tequil = equilibration temperature (temperature units) :l
|
||||
Dcut = minimum distance between boosted bonds (distance units) :l
|
||||
alpha = boostostat relaxation time (time units) :l
|
||||
Btarget = desired time boost factor (unitless) :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {lost} or {check/bias} or {check/coeff}
|
||||
{lostbond} value = error/warn/ignore
|
||||
{check/bias} values = Nevery error/warn/ignore
|
||||
{check/coeff} values = Nevery error/warn/ignore :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all hyper/local 1.0 0.3 0.8 300.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
This fix is meant to be used with the "hyper"_hyper.html command to
|
||||
perform a bond-boost local hyperdynamics (LHD) simulation. The role
|
||||
of this fix is to a select multiple pairs of atoms in the system at
|
||||
each timestep to add a local bias potential to, which will alter the
|
||||
dynamics of the system in a manner that effectively accelerates time.
|
||||
This is in contrast to the "fix hyper/global"_fix_hyper_global.html
|
||||
command, which can be user to perform a global hyperdynamics (GHD)
|
||||
simulation, by adding a global bias potential to a single pair of
|
||||
atoms at each timestep. GHD can time accelerate a small simulation
|
||||
with up to a few 100 atoms. For larger systems, LHD is needed to
|
||||
achieve good time acceleration.
|
||||
|
||||
For a system that undergoes rare transition events, where one or more
|
||||
atoms move over an energy barrier to a new potential energy basin, the
|
||||
effect of the bias potential is to induce more rapid transitions.
|
||||
This can lead to a dramatic speed-up in the rate at which events
|
||||
occurs, without altering their relative frequencies, thus leading to
|
||||
an overall increase in the elapsed real time of the simulation as
|
||||
compared to running for the same number of timesteps with normal MD.
|
||||
See the "hyper"_hyper.html doc page for a more general discussion of
|
||||
hyperdynamics and citations that explain both GHD and LHD.
|
||||
|
||||
The equations and logic used by this fix and described here to perform
|
||||
LHD follow the description given in "(Voter2013)"_#Voter2013lhd. The
|
||||
bond-boost form of a bias potential for HD is due to Miron and
|
||||
Fichthorn as described in "(Miron)"_#Mironlhd.
|
||||
|
||||
To understand this description, you should first read the description
|
||||
of the GHD algorithm on the "fix hyper/global"_fix_hyper_global.html
|
||||
doc page. This description of LHD builds on the GHD description.
|
||||
|
||||
The definition of bonds, Eij, and Emax are the same for GHD and LHD.
|
||||
The formulas for Vij(max) and Fij(max) are also the same except for a
|
||||
pre-factor Cij, explained below.
|
||||
|
||||
The bias energy Vij applied to a bond IJ with maximum strain is
|
||||
|
||||
Vij(max) = Cij * Vmax * (1 - (Eij/q)^2) for abs(Eij) < qfactor
|
||||
= 0 otherwise :pre
|
||||
|
||||
The derivative of Vij(max) with respect to the position of each atom
|
||||
in the IJ bond gives a bias force Fij(max) acting on the bond as
|
||||
|
||||
Fij(max) = - dVij(max)/dEij = 2 Cij Vmax Eij / qfactor^2 for abs(Eij) < qfactor
|
||||
= 0 otherwise :pre
|
||||
|
||||
which can be decomposed into an equal and opposite force acting on
|
||||
only the two I,J atoms in the IJ bond.
|
||||
|
||||
The key difference is that in GHD a bias energy and force is added (on
|
||||
a particular timestep) to only one bond (pair of atoms) in the system,
|
||||
which is the bond with maximum strain Emax.
|
||||
|
||||
In LHD, a bias energy and force can be added to multiple bonds
|
||||
separated by the specified {Dcut} distance or more. A bond IJ is
|
||||
biased if it is the maximum strain bond within its local
|
||||
"neighborhood", which is defined as the bond IJ plus any neighbor
|
||||
bonds within a distance {Dcut} from IJ. The "distance" between bond
|
||||
IJ and bond KL is the minimum distance between any of the IK, IL, JK,
|
||||
JL pairs of atoms.
|
||||
|
||||
For a large system, multiple bonds will typically meet this
|
||||
requirement, and thus a bias potential Vij(max) will be applied to
|
||||
many bonds on the same timestep.
|
||||
|
||||
In LHD, all bonds store a Cij prefactor which appears in the Vij(max)
|
||||
and Fij(max) equations above. Note that the Cij factor scales the
|
||||
strength of the bias energy and forces whenever bond IJ is the maximum
|
||||
strain bond in its neighborhood.
|
||||
|
||||
Cij is initialized to 1.0 when a bond between the I,J atoms is first
|
||||
defined. The specified {Btarget} factor is then used to adjust the
|
||||
Cij prefactors for each bond every timestep in the following manner.
|
||||
|
||||
An instantaneous boost factor Bij is computed each timestep
|
||||
for each bond, as
|
||||
|
||||
Bij = exp(beta * Vkl(max)) :pre
|
||||
|
||||
where Vkl(max) is the bias energy of the maxstrain bond KL within bond
|
||||
IJ's neighborhood, beta = 1/kTequil, and {Tequil} is the temperature
|
||||
of the system and an argument to this fix.
|
||||
|
||||
NOTE: To run LHD, the input script must also use the "fix
|
||||
langevin"_fix_langevin.html command to thermostat the atoms at the
|
||||
same {Tequil} as specified by this fix, so that the system is running
|
||||
constant-temperature (NVT) dynamics. LAMMPS does not check that this
|
||||
is done.
|
||||
|
||||
Note that if IJ = KL, then bond IJ is a biased bond on that timestep,
|
||||
otherwise it is not. But regardless, the boost factor Bij can be
|
||||
thought of an estimate of time boost currently being applied within a
|
||||
local region centered on bond IJ. For LHD, we want this to be the
|
||||
specified {Btarget} value everywhere in the simulation domain.
|
||||
|
||||
To accomplish this, if Bij < Btarget, the Cij prefactor for bond IJ is
|
||||
incremented on the current timestep by an amount proportional to the
|
||||
inverse of the specified {alpha} and the difference (Bij - Btarget).
|
||||
Conversely if Bij > Btarget, Cij is decremented by the same amount.
|
||||
This procedure is termed "boostostatting" in
|
||||
"(Voter2013)"_#Voter2013lhd. It drives all of the individual Cij to
|
||||
values such that when Vij{max} is applied as a bias to bond IJ, the
|
||||
resulting boost factor Bij will be close to {Btarget} on average.
|
||||
Thus the LHD time acceleration factor for the overall system is
|
||||
effectively {Btarget}.
|
||||
|
||||
Note that in LHD, the boost factor {Btarget} is specified by the user.
|
||||
This is in contrast to global hyperdynamics (GHD) where the boost
|
||||
factor varies each timestep and is computed as a function of {Vmax},
|
||||
Emax, and {Tequil}; see the "fix hyper/global"_fix_hyper_global.html
|
||||
doc page for details.
|
||||
|
||||
:line
|
||||
|
||||
Here is additional information on the input parameters for LHD.
|
||||
|
||||
Note that the {cutbond}, {qfactor}, and {Tequil} arguments have the
|
||||
same meaning as for GHD. The {Vmax} argument is slightly different.
|
||||
The {Dcut}, {alpha}, and {Btarget} parameters are unique to LHD.
|
||||
|
||||
The {cutbond} argument is the cutoff distance for defining bonds
|
||||
between pairs of nearby atoms. A pair of I,J atoms in their
|
||||
equilibrium, minimum-energy configuration, which are separated by a
|
||||
distance Rij < {cutbond}, are flagged as a bonded pair. Setting
|
||||
{cubond} to be ~25% larger than the nearest-neighbor distance in a
|
||||
crystalline lattice is a typical choice for solids, so that bonds
|
||||
exist only between nearest neighbor pairs.
|
||||
|
||||
The {qfactor} argument is the limiting strain at which the bias
|
||||
potential goes to 0.0. It is dimensionless, so a value of 0.3 means a
|
||||
bond distance can be up to 30% larger or 30% smaller than the
|
||||
equilibrium (quenched) R0ij distance and the two atoms in the bond
|
||||
could still experience a non-zero bias force.
|
||||
|
||||
If {qfactor} is set too large, then transitions from one energy basin
|
||||
to another are affected because the bias potential is non-zero at the
|
||||
transition state (e.g. saddle point). If {qfactor} is set too small
|
||||
than little boost can be achieved because the Eij strain of some bond in
|
||||
the system will (nearly) always exceed {qfactor}. A value of 0.3 for
|
||||
{qfactor} is typically a reasonable value.
|
||||
|
||||
The {Vmax} argument is a fixed prefactor on the bias potential. There
|
||||
is a also a dynamic prefactor Cij, driven by the choice of {Btarget}
|
||||
as discussed above. The product of these should be a value less than
|
||||
the smallest barrier height for an event to occur. Otherwise the
|
||||
applied bias potential may be large enough (when added to the
|
||||
interatomic potential) to produce a local energy basin with a maxima
|
||||
in the center. This can produce artificial energy minima in the same
|
||||
basin that trap an atom. Or if Cij*{Vmax} is even larger, it may
|
||||
induce an atom(s) to rapidly transition to another energy basin. Both
|
||||
cases are "bad dynamics" which violate the assumptions of LHD that
|
||||
guarantee an accelerated time-accurate trajectory of the system.
|
||||
|
||||
NOTE: It may seem that {Vmax} can be set to any value, and Cij will
|
||||
compensate to reduce the overall prefactor if necessary. However the
|
||||
Cij are initialized to 1.0 and the boostostatting procedure typically
|
||||
operates slowly enough that there can be a time period of bad dynamics
|
||||
if {Vmax} is set too large. A better strategy is to set {Vmax} to the
|
||||
smallest barrier height for an event (the same as for GHD), so that
|
||||
the Cij remain near unity.
|
||||
|
||||
The {Tequil} argument is the temperature at which the system is
|
||||
simulated; see the comment above about the "fix
|
||||
langevin"_fix_langevin.html thermostatting. It is also part of the
|
||||
beta term in the exponential factor that determines how much boost is
|
||||
achieved as a function of the bias potential. See the discussion of
|
||||
the {Btarget} argument below.
|
||||
|
||||
As discussed above, the {Dcut} argument is the distance required
|
||||
between two locally maxstrain bonds for them to both be selected as
|
||||
biased bonds on the same timestep. Computationally, the larger {Dcut}
|
||||
is, the more work (computation and communication) must be done each
|
||||
timestep within the LHD algorithm. And the fewer bonds can be
|
||||
simultaneously biased, which may mean the specified {Btarget} time
|
||||
acceleration cannot be achieved.
|
||||
|
||||
Physically {Dcut} should be a long enough distance that biasing two
|
||||
pairs of atoms that close together will not influence the dynamics of
|
||||
each pair. E.g. something like 2x the cutoff of the interatomic
|
||||
potential. In practice a {Dcut} value of ~10 Angstroms seems to work
|
||||
well for many solid-state systems.
|
||||
|
||||
NOTE: You must also insure that ghost atom communication is performed
|
||||
for a distance of at least {Dcut} + {cutevent} where {cutevent} = the
|
||||
distance one or more 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 "comm_modify cutoff"_comm_modify.html
|
||||
command can be used to set the ghost cutoff explicitly, e.g.
|
||||
|
||||
comm_modify cutoff 12.0 :pre
|
||||
|
||||
This fix does not know the {cutevent} parameter, but uses half the
|
||||
bond length as an estimate to warn if the ghost cutoff is not long
|
||||
enough.
|
||||
|
||||
As described above the {alpha} argument is a pre-factor in the
|
||||
boostostat update equation for each bond's Cij prefactor. {Alpha} is
|
||||
specified in time units, similar to other thermostat or barostat
|
||||
damping parameters. It is roughly the physical time it will take the
|
||||
boostostat to adjust a Cij value from a too high (or too low) value to
|
||||
a correct one. An {alpha} setting of a few ps is typically good for
|
||||
solid-state systems. Note that the {alpha} argument here is the
|
||||
inverse of the alpha parameter discussed in
|
||||
"(Voter2013)"_#Voter2013lhd.
|
||||
|
||||
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 = Btarget * N*dt :pre
|
||||
|
||||
where dt is the timestep size defined by the "timestep"_timestep.html
|
||||
command. The effective time acceleration due to LHD is thus t_hyper /
|
||||
N*dt = Btarget, where N*dt is 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
|
||||
|
||||
Btarget = exp(beta * Vsmall) :pre
|
||||
|
||||
where Vsmall is the smallest event barrier height in your system, beta
|
||||
= 1/kTequil, and {Tequil} is the specified temperature of the system
|
||||
(both by this fix and the Langevin thermostat).
|
||||
|
||||
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.
|
||||
|
||||
NOTE: If you have no physical intuition as to the smallest barrier
|
||||
height in your system, a reasonable strategy to determine the largest
|
||||
{Btarget} you can use for an LHD model, is to run a sequence of
|
||||
simulations with smaller and smaller {Btarget} values, until the event
|
||||
rate does not change.
|
||||
|
||||
:line
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information about this fix is written to "binary restart
|
||||
files"_restart.html.
|
||||
|
||||
The "fix_modify"_fix_modify.html {energy} option is supported by this
|
||||
fix to add the energy of the bias potential to the the system's
|
||||
potential energy as part of "thermodynamic output"_thermo_style.html.
|
||||
|
||||
This fix computes a global scalar and global vector of length 23,
|
||||
which can be accessed by various "output
|
||||
commands"_Howto_output.html. The scalar is the magnitude of
|
||||
the bias potential (energy units) applied on the current timestep,
|
||||
summed over all biased bonds. The vector stores the following
|
||||
quantities:
|
||||
|
||||
1 = # of biased bonds on this step
|
||||
2 = max strain Eij of any bond on this step (unitless)
|
||||
3 = average bias potential for all biased bonds on this step (energy units)
|
||||
4 = average # of bonds/atom on this step
|
||||
5 = average neighbor bonds/bond on this step within {Dcut} :ul
|
||||
|
||||
6 = fraction of steps and bonds with no bias during this run
|
||||
7 = max drift distance of any atom during this run (distance units)
|
||||
8 = max bond length during this run (distance units)
|
||||
9 = average # of biased bonds/step during this run
|
||||
10 = average bias potential for all biased bonds during this run (energy units)
|
||||
11 = max bias potential for any biased bond during this run (energy units)
|
||||
12 = min bias potential for any biased bond during this run (energy units)
|
||||
13 = max distance from my sub-box of any ghost atom with maxstrain < qfactor during this run (distance units)
|
||||
14 = max distance outside my box of any ghost atom with any maxstrain during this run (distance units)
|
||||
15 = count of ghost neighbor atoms not found on reneighbor steps during this run
|
||||
16 = count of lost bond partners during this run
|
||||
17 = average bias coeff for lost bond partners during this run
|
||||
18 = count of bias overlaps found during this run
|
||||
19 = count of non-matching bias coefficients found during this run :ul
|
||||
|
||||
20 = cummulative hyper time since fix created (time units)
|
||||
21 = cummulative count of event timesteps since fix created
|
||||
22 = cummulative count of atoms in events since fix created
|
||||
23 = cummulative # of new bonds since fix created :ul
|
||||
|
||||
The first quantities (1-5) are for the current timestep. Quantities
|
||||
6-19 are for the current hyper run. They are reset each time a new
|
||||
hyper run is performed. Quantities 20-23 are cummulative across
|
||||
multiple runs (since the fix was defined in the input script).
|
||||
|
||||
For value 6, the numerator is a count of all biased bonds on every
|
||||
timestep whose bias energy = 0.0 due to Eij >= {qfactor}. The
|
||||
denominator is the count of all biased bonds on all timesteps.
|
||||
|
||||
For value 7, drift is the distance an atom moves between timesteps
|
||||
when the bond list is reset, i.e. between events. Atoms involved in
|
||||
an event will typically move the greatest distance since others are
|
||||
typically oscillating around their lattice site.
|
||||
|
||||
For values 13 and 14, the maxstrain of a ghost atom is the maxstrain
|
||||
of any bond it is part of, and it is checked for ghost atoms within
|
||||
the bond neighbor cutoff.
|
||||
|
||||
Values 15-19 are mostly useful for debugging and diagnositc purposes.
|
||||
|
||||
For values 15-17, it is possible that a ghost atom owned by another
|
||||
processor will move far enough (e.g. as part of an event-in-progress)
|
||||
that it will no longer be within the communication cutoff distance for
|
||||
acquiring ghost atoms. Likewise it may be a ghost atom bond partner
|
||||
that cannot be found because it has moved too far. These values count
|
||||
those occurrences. Because they typically involve atoms that are part
|
||||
of events, they do not usually indicate bad dynamics. Value 16 is the
|
||||
average bias coefficient for bonds where a partner atom was lost.
|
||||
|
||||
For value 18, no two bonds should be biased if they are within a
|
||||
{Dcut} distance of each other. This value should be zero, indicating
|
||||
that no pair of bonds "overlap", meaning they are closer than {Dcut}
|
||||
from each other.
|
||||
|
||||
For value 19, the same bias coefficient is stored by both atoms in an
|
||||
IJ bond. This value should be zero, indicating that for all bonds,
|
||||
each atom in the bond stores the a bias coefficient with the same
|
||||
value.
|
||||
|
||||
Value 20 is simply the specified {boost} factor times the number of
|
||||
timestep times the timestep size.
|
||||
|
||||
For value 21, events are checked for by the "hyper"_hyper.html command
|
||||
once every {Nevent} timesteps. This value is the count of those
|
||||
timesteps on which one (or more) events was detected. It is NOT the
|
||||
number of distinct events, since more than one event may occur in the
|
||||
same {Nevent} time window.
|
||||
|
||||
For value 22, each time the "hyper"_hyper.html command checks for an
|
||||
event, it invokes a compute to flag zero or more atoms as
|
||||
participating in one or more events. E.g. atoms that have displaced
|
||||
more than some distance from the previous quench state. Value 22 is
|
||||
the cummulative count of the number of atoms participating in any of
|
||||
the events that were found.
|
||||
|
||||
Value 23 tallies the number of new bonds created by the bond reset
|
||||
operation. Bonds between a specific I,J pair of atoms may persist for
|
||||
the entire hyperdynamics simulation if neither I or J are involved in
|
||||
an event.
|
||||
|
||||
The scalar and vector values calculated by this fix are all
|
||||
"intensive".
|
||||
|
||||
No parameter of this fix can be used with the {start/stop} keywords of
|
||||
the "run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the REPLICA 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:]
|
||||
|
||||
"hyper"_hyper.html, "fix hyper/global"_fix_hyper_global.html
|
||||
|
||||
[Default:] None
|
||||
|
||||
:line
|
||||
|
||||
:link(Voter2013lhd)
|
||||
[(Voter2013)] S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139,
|
||||
144110 (2013).
|
||||
|
||||
:link(Mironlhd)
|
||||
[(Miron)] R. A. Miron and K. A. Fichthorn, J Chem Phys, 119, 6210 (2003).
|
||||
233
doc/src/fix_meso_move.txt
Normal file
233
doc/src/fix_meso_move.txt
Normal file
@ -0,0 +1,233 @@
|
||||
"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
|
||||
|
||||
fix meso/move command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID meso/move style args keyword values ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
meso/move = style name of this fix command :l
|
||||
style = {linear} or {wiggle} or {rotate} or {variable} :l
|
||||
{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
|
||||
Ax,Ay,Az = components of amplitude vector (distance units), any component can be specified as NULL
|
||||
period = period of oscillation (time units)
|
||||
{rotate} args = Px Py Pz Rx Ry Rz period
|
||||
Px,Py,Pz = origin point of axis of rotation (distance units)
|
||||
Rx,Ry,Rz = axis of rotation vector
|
||||
period = period of rotation (time units)
|
||||
{variable} args = v_dx v_dy v_dz v_vx v_vy v_vz
|
||||
v_dx,v_dy,v_dz = 3 variable names that calculate x,y,z displacement as function of time, any component can be specified as NULL
|
||||
v_vx,v_vy,v_vz = 3 variable names that calculate x,y,z velocity as function of time, any component can be specified as NULL :pre
|
||||
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {units} :l
|
||||
{units} value = {box} or {lattice} :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
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
|
||||
fix 2 boundary meso/move variable v_myx v_myy NULL v_VX v_VY NULL :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Perform updates of position, velocity, internal energy and local
|
||||
density for mesoscopic particles in the group each timestep using the
|
||||
specified settings or formulas, without regard to forces on the
|
||||
particles. This can be useful for boundary, solid bodies or other
|
||||
particles, whose movement can influence nearby particles.
|
||||
|
||||
The operation of this fix is exactly like that described by the
|
||||
"fix move"_fix_move.html command, except that particles' density,
|
||||
internal energy and extrapolated velocity are also updated.
|
||||
|
||||
NOTE: The particles affected by this fix should not be time integrated
|
||||
by other fixes (e.g. "fix meso"_fix_meso.html, "fix
|
||||
meso/stationary"_fix_meso_stationary.html), since that will change their
|
||||
positions and velocities twice.
|
||||
|
||||
NOTE: As particles move due to this fix, they will pass thru periodic
|
||||
boundaries and be remapped to the other side of the simulation box,
|
||||
just as they would during normal time integration (e.g. via the "fix
|
||||
meso"_fix_meso.html command). It is up to you to decide whether periodic
|
||||
boundaries are appropriate with the kind of particle motion you are
|
||||
prescribing with this fix.
|
||||
|
||||
NOTE: As dicsussed below, particles are moved relative to their initial
|
||||
position at the time the fix is specified. These initial coordinates
|
||||
are stored by the fix in "unwrapped" form, by using the image flags
|
||||
associated with each particle. See the "dump custom"_dump.html command
|
||||
for a discussion of "unwrapped" coordinates. See the Atoms section of
|
||||
the "read_data"_read_data.html command for a discussion of image flags
|
||||
and how they are set for each particle. You can reset the image flags
|
||||
(e.g. to 0) before invoking this fix by using the "set image"_set.html
|
||||
command.
|
||||
|
||||
:line
|
||||
|
||||
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
|
||||
|
||||
X(t) = X0 + V * delta :pre
|
||||
|
||||
where {X0} = (x0,y0,z0) is their position at the time the fix is
|
||||
specified, {V} is the specified velocity vector with components
|
||||
(Vx,Vy,Vz), and {delta} is the time elapsed since the fix was
|
||||
specified. This style also sets the velocity of each particle to V =
|
||||
(Vx,Vy,Vz). If any of the velocity components is specified as NULL,
|
||||
then the position and velocity of that component is time integrated
|
||||
the same as the "fix meso"_fix_meso.html command would perform, using
|
||||
the corresponding force component on the particle.
|
||||
|
||||
Note that the {linear} style is identical to using the {variable}
|
||||
style with an "equal-style variable"_variable.html that uses the
|
||||
vdisplace() function. E.g.
|
||||
|
||||
variable V equal 10.0
|
||||
variable x equal vdisplace(0.0,$V)
|
||||
fix 1 boundary move variable v_x NULL NULL v_V NULL NULL :pre
|
||||
|
||||
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
|
||||
|
||||
X(t) = X0 + A sin(omega*delta) :pre
|
||||
|
||||
where {X0} = (x0,y0,z0) is their position at the time the fix is
|
||||
specified, {A} is the specified amplitude vector with components
|
||||
(Ax,Ay,Az), {omega} is 2 PI / {period}, and {delta} is the time
|
||||
elapsed since the fix was specified. This style also sets the
|
||||
velocity of each particle to the time derivative of this expression.
|
||||
If any of the amplitude components is specified as NULL, then the
|
||||
position and velocity of that component is time integrated the same as
|
||||
the "fix meso"_fix_meso.html command would perform, using the
|
||||
corresponding force component on the particle.
|
||||
|
||||
Note that the {wiggle} style is identical to using the {variable}
|
||||
style with "equal-style variables"_variable.html that use the
|
||||
swiggle() and cwiggle() functions. E.g.
|
||||
|
||||
variable A equal 10.0
|
||||
variable T equal 5.0
|
||||
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))
|
||||
fix 1 boundary move variable v_x NULL NULL v_v NULL NULL :pre
|
||||
|
||||
The {rotate} style rotates particles around a rotation axis {R} =
|
||||
(Rx,Ry,Rz) that goes thru a point {P} = (Px,Py,Pz). The {period} of
|
||||
the rotation is also specified. The direction of rotation for the
|
||||
particles around the rotation axis is consistent with the right-hand
|
||||
rule: if your right-hand thumb points along {R}, then your fingers wrap
|
||||
around the axis in the direction of rotation.
|
||||
|
||||
This style also sets the velocity of each particle to (omega cross
|
||||
Rperp) where omega is its angular velocity around the rotation axis and
|
||||
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
|
||||
"variable"_variable.html command. Each of the 6 variables is
|
||||
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.
|
||||
{Equal}-style variables compute a single numeric quantity, that can be
|
||||
a function of the timestep as well as of other simulation values.
|
||||
{Atom}-style variables compute a numeric quantity for each particle, that
|
||||
can be a function per-atom quantities, such as the particle's position, as
|
||||
well as of the timestep and other simulation values. Note that this
|
||||
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 "variable"_variable.html command for details.
|
||||
|
||||
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
|
||||
particle.
|
||||
|
||||
Any of the 6 variables can be specified as NULL. If both the
|
||||
displacement and velocity variables for a particular x,y,z component
|
||||
are specified as NULL, then the position and velocity of that
|
||||
component is time integrated the same as the "fix meso"_fix_meso.html
|
||||
command would perform, using the corresponding force component on the
|
||||
particle. If only the velocity variable for a component is specified as
|
||||
NULL, then the displacement variable will be used to set the position
|
||||
of the particle, and its velocity component will not be changed. If only
|
||||
the displacement variable for a component is specified as NULL, then
|
||||
the velocity variable will be used to set the velocity of the particle,
|
||||
and the position of the particle will be time integrated using that
|
||||
velocity.
|
||||
|
||||
The {units} keyword determines the meaning of the distance units used
|
||||
to define the {linear} velocity and {wiggle} amplitude and {rotate}
|
||||
origin. This setting is ignored for the {variable} style. A {box}
|
||||
value selects standard units as defined by the "units"_units.html
|
||||
command, e.g. velocity in Angstroms/fmsec and amplitude and position
|
||||
in Angstroms for units = real. A {lattice} value means the velocity
|
||||
units are in lattice spacings per time and the amplitude and position
|
||||
are in lattice spacings. The "lattice"_lattice.html command must have
|
||||
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.
|
||||
|
||||
:line
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
This fix writes the original coordinates of moving particles to "binary
|
||||
restart files"_restart.html, as well as the initial timestep, so that
|
||||
the motion can be continuous in a restarted simulation. See the
|
||||
"read_restart"_read_restart.html command for info on how to re-specify
|
||||
a fix in an input script that reads a restart file, so that the
|
||||
operation of the fix continues in an uninterrupted fashion.
|
||||
|
||||
NOTE: Because the move positions are a function of the current
|
||||
timestep and the initial timestep, you cannot reset the timestep to a
|
||||
different value after reading a restart file, if you expect a fix move
|
||||
command to work in an uninterrupted fashion.
|
||||
|
||||
None of the "fix_modify"_fix_modify.html options are relevant to this
|
||||
fix.
|
||||
|
||||
This fix produces a per-atom array which can be accessed by various
|
||||
"output commands"_Howto_output.html. The number of columns for each
|
||||
atom is 3, and the columns store the original unwrapped x,y,z coords
|
||||
of each particle. The per-atom values can be accessed on any timestep.
|
||||
|
||||
No parameter of this fix can be used with the {start/stop} keywords of
|
||||
the "run"_run.html command.
|
||||
|
||||
This fix is not invoked during "energy minimization"_minimize.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-SDPD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
|
||||
This fix requires that atoms store density and internal energy as
|
||||
defined by the "atom_style meso"_atom_style.html command.
|
||||
|
||||
All particles in the group must be mesoscopic SPH/SDPD particles.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix move"_fix_move.html, "fix meso"_fix_meso.html,
|
||||
"displace_atoms"_displace_atoms.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The option default is units = lattice.
|
||||
@ -35,7 +35,7 @@ keyword = {parallel} or {perp} or {end} :l
|
||||
fix 1 active neb 10.0
|
||||
fix 2 all neb 1.0 perp 1.0 end last
|
||||
fix 2 all neb 1.0 perp 1.0 end first 1.0 end last 1.0
|
||||
fix 1 all neb 1.0 nudge ideal end last/efirst 1 :pre
|
||||
fix 1 all neb 1.0 parallel ideal end last/efirst 1 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -212,7 +212,7 @@ page for more info.
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are nudge = neigh, perp = 0.0, ends is not
|
||||
The option defaults are parallel = neigh, perp = 0.0, ends is not
|
||||
specified (no inter-replica force on the end replicas).
|
||||
|
||||
:line
|
||||
|
||||
@ -36,8 +36,8 @@ The command is equivalent to the "fix nve"_fix_nve.html.
|
||||
The particles are always considered to have a finite size.
|
||||
|
||||
An example input file can be found in /examples/USER/cgdna/examples/duplex1/.
|
||||
A technical report with more information on this integrator can be found
|
||||
"here"_PDF/USER-CGDNA-overview.pdf.
|
||||
Further details of the implementation and stability of the integrator are contained in "(Henrich)"_#Henrich3.
|
||||
The preprint version of the article can be found "here"_PDF/USER-CGDNA.pdf.
|
||||
|
||||
:line
|
||||
|
||||
@ -59,3 +59,5 @@ See the "Build package"_Build_package.html doc page for more info.
|
||||
[(Davidchack)] R.L Davidchack, T.E. Ouldridge, and M.V. Tretyakov. J. Chem. Phys. 142, 144114 (2015).
|
||||
:link(Miller1)
|
||||
[(Miller)] T. F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002).
|
||||
:link(Henrich3)
|
||||
[(Henrich)] O. Henrich, Y. A. Gutierrez-Fosado, T. Curk, T. E. Ouldridge, Eur. Phys. J. E 41, 57 (2018).
|
||||
|
||||
@ -114,8 +114,8 @@ The scale factor after the {angmom} keyword gives the ratio of the rotational to
|
||||
the translational friction coefficient.
|
||||
|
||||
An example input file can be found in /examples/USER/cgdna/examples/duplex2/.
|
||||
A technical report with more information on this integrator can be found
|
||||
"here"_PDF/USER-CGDNA-overview.pdf.
|
||||
Further details of the implementation and stability of the integrators are contained in "(Henrich)"_#Henrich4.
|
||||
The preprint version of the article can be found "here"_PDF/USER-CGDNA.pdf.
|
||||
|
||||
:line
|
||||
|
||||
@ -139,3 +139,5 @@ See the "Build package"_Build_package.html doc page for more info.
|
||||
[(Miller)] T. F. Miller III, M. Eleftheriou, P. Pattnaik, A. Ndirango, G. J. Martyna, J. Chem. Phys., 116, 8649-8659 (2002).
|
||||
:link(Dunweg3)
|
||||
[(Dunweg)] B. Dunweg, W. Paul, Int. J. Mod. Phys. C, 2, 817-27 (1991).
|
||||
:link(Henrich4)
|
||||
[(Henrich)] O. Henrich, Y. A. Gutierrez-Fosado, T. Curk, T. E. Ouldridge, Eur. Phys. J. E 41, 57 (2018).
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
|
||||
fix nve/sphere command :h3
|
||||
fix nve/sphere/omp command :h3
|
||||
fix nve/sphere/kk command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
117
doc/src/fix_plumed.txt
Normal file
117
doc/src/fix_plumed.txt
Normal file
@ -0,0 +1,117 @@
|
||||
"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
|
||||
|
||||
fix plumed command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID plumed keyword value ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
plumed = style name of this fix command :l
|
||||
keyword = {plumedfile} or {outfile} :l
|
||||
{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) :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix pl all plumed all plumed plumedfile plumed.dat outfile p.log
|
||||
|
||||
[Description:]
|
||||
|
||||
This fix instructs LAMMPS to call the "PLUMED"_plumedhome library, which
|
||||
allows one to perform various forms of trajectory analysis on the fly
|
||||
and to also use methods such as umbrella sampling and metadynamics to
|
||||
enhance the sampling of phase space.
|
||||
|
||||
The documentation included here only describes the fix plumed command
|
||||
itself. This command is LAMMPS specific, whereas most of the
|
||||
functionality implemented in PLUMED, however, will work with a range of
|
||||
MD codes, and when PLUMED is used as a stand alone code for analysis.
|
||||
The full "documentation for PLUMED"_plumeddocs is available online and
|
||||
included in the PLUMED source code. The PLUMED library development is
|
||||
hosted at
|
||||
"https://github.com/plumed/plumed2"_https://github.com/plumed/plumed2
|
||||
A detailed discussion of the code can be found in "(PLUMED)"_#PLUMED.
|
||||
|
||||
There is an example input for using this package with LAMMPS in the
|
||||
examples/USER/plumed directory.
|
||||
|
||||
:line
|
||||
|
||||
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
|
||||
to be used. Furthermore, the fix plumed command should appear in the
|
||||
LAMMPS input file [after] relevant input paramters (e.g. the timestep)
|
||||
have been set.
|
||||
|
||||
The {group-ID} entry is ignored. LAMMPS will always pass all the atoms
|
||||
to PLUMED and there can only be one instance of the plumed fix at a
|
||||
time. The plumed fix communicates the minimum amount of information
|
||||
required and the PLUMED supports multiple, completely independent
|
||||
collective variables, multiple independent biases and multiple
|
||||
independent forms of analysis. There is thus really no restriction in
|
||||
functionality by only allowing only one plumed fix in the LAMMPS input.
|
||||
|
||||
The {plumedfile} keyword allows the user to specify the name of the
|
||||
PLUMED input file. Instructions as to what should be included in a
|
||||
plumed input file can be found in the "documentation for
|
||||
PLUMED"_plumeddocs
|
||||
|
||||
The {outfile} keyword allows the user to specify the name of a file on
|
||||
which to output the PLUMED log. This log file normally just parrots the
|
||||
information that is contained in the input file. The names of the files
|
||||
on which the results from the various analyses that have been performed
|
||||
using PLUMED will be specified by the user in the PLUMED input file.
|
||||
|
||||
[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
|
||||
"PLUMED documentation"_plumeddocs. When the restart command is found in
|
||||
the PLUMED input PLUMED will append to the files that were generated in
|
||||
the run that was performed previously. No part of the PLUMED restart
|
||||
data is included in the LAMMPS restart files. Furthermore, any history
|
||||
dependent bias potentials that were accumulated in previous calculations
|
||||
will be read in when the RESTART command is included in the PLUMED
|
||||
input.
|
||||
|
||||
The "fix_modify"_fix_modify.html {energy} option is not supported by
|
||||
this fix.
|
||||
|
||||
Nothing is computed by this fix that can be accessed by any of the
|
||||
"output commands"_Howto_output.html within LAMMPS. All the quantities
|
||||
of interest can be output by commands that are native to PLUMED,
|
||||
however.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the USER-PLUMED package. It is only enabled if
|
||||
LAMMPS was built with that package. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
|
||||
There can only be one plumed fix active at a time.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix smd"_fix_smd.html
|
||||
"fix colvars"_fix_colvars.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The default options are plumedfile = NULL and outfile = NULL
|
||||
|
||||
:line
|
||||
|
||||
:link(PLUMED)
|
||||
[(PLUMED)] G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014)
|
||||
|
||||
:link(plumeddocs,http://www.plumed.org/documentation)
|
||||
:link(plumedhome,http://www.plumed.org/)
|
||||
349
doc/src/fix_rigid_meso.txt
Normal file
349
doc/src/fix_rigid_meso.txt
Normal file
@ -0,0 +1,349 @@
|
||||
"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
|
||||
|
||||
fix rigid/meso command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
fix ID group-ID rigid/meso bodystyle args keyword values ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
rigid/meso = style name of this fix command :l
|
||||
bodystyle = {single} or {molecule} or {group} :l
|
||||
{single} args = none
|
||||
{molecule} args = none
|
||||
{custom} args = {i_propname} or {v_varname}
|
||||
i_propname = an integer property defined via fix property/atom
|
||||
v_varname = an atom-style or atomfile-style variable
|
||||
{group} args = N groupID1 groupID2 ...
|
||||
N = # of groups
|
||||
groupID1, groupID2, ... = list of N group IDs :pre
|
||||
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {reinit} or {force} or {torque} or {infile} :l
|
||||
{reinit} = {yes} or {no}
|
||||
{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
|
||||
{torque} 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 torque is active
|
||||
{infile} filename
|
||||
filename = file with per-body values of mass, center-of-mass, moments of inertia :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 ellipsoid rigid/meso single
|
||||
fix 1 rods rigid/meso molecule
|
||||
fix 1 spheres rigid/meso single force 1 off off on
|
||||
fix 1 particles rigid/meso molecule force 1*5 off off off force 6*10 off off on
|
||||
fix 2 spheres rigid/meso group 3 sphere1 sphere2 sphere3 torque * off off off :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Treat one or more sets of mesoscopic SPH/SDPD particles as independent
|
||||
rigid bodies. This means that each timestep the total force and torque
|
||||
on each rigid body is computed as the sum of the forces and torques on
|
||||
its constituent particles. The coordinates and velocities of the
|
||||
particles in each body are then updated so that the body moves and
|
||||
rotates as a single entity using the methods described in the paper by
|
||||
"(Miller)"_#Miller. Density and internal energy of the particles will
|
||||
also be updated. This is implemented by creating internal data structures
|
||||
for each rigid body and performing time integration on these data
|
||||
structures. Positions and velocities of the constituent particles are
|
||||
regenerated from the rigid body data structures in every time step. This
|
||||
restricts which operations and fixes can be applied to rigid bodies. See
|
||||
below for a detailed discussion.
|
||||
|
||||
The operation of this fix is exactly like that described by the
|
||||
"fix rigid/nve"_fix_rigid.html command, except that particles' density,
|
||||
internal energy and extrapolated velocity are also updated.
|
||||
|
||||
NOTE: You should not update the particles in rigid bodies via other
|
||||
time-integration fixes (e.g. "fix meso"_fix_meso.html,
|
||||
"fix meso/stationary"_fix_meso_stationary.html), or you will have conflicting
|
||||
updates to positions and velocities resulting in unphysical behavior in most
|
||||
cases. When performing a hybrid simulation with some atoms in rigid bodies,
|
||||
and some not, a separate time integration fix like "fix meso"_fix_meso.html
|
||||
should be used for the non-rigid particles.
|
||||
|
||||
NOTE: These fixes are overkill if you simply want to hold a collection
|
||||
of particles stationary or have them move with a constant velocity. To
|
||||
hold particles stationary use "fix
|
||||
meso/stationary"_fix_meso_stationary.html instead. If you would like to
|
||||
move particles with a constant velocity use "fix
|
||||
meso/move"_fix_meso_move.html.
|
||||
|
||||
IMPORTANT NOTE: The aggregate properties of each rigid body are
|
||||
calculated at the start of a simulation run and are maintained in
|
||||
internal data structures. The properties include the position and
|
||||
velocity of the center-of-mass of the body, its moments of inertia, and
|
||||
its angular momentum. This is done using the properties of the
|
||||
constituent particles of the body at that point in time (or see the {infile}
|
||||
keyword option). Thereafter, changing these properties of individual
|
||||
particles in the body will have no effect on a rigid body's dynamics, unless
|
||||
they effect any computation of per-particle forces or torques. If the
|
||||
keyword {reinit} is set to {yes} (the default), the rigid body data
|
||||
structures will be recreated at the beginning of each {run} command;
|
||||
if the keyword {reinit} is set to {no}, the rigid body data structures
|
||||
will be built only at the very first {run} command and maintained for
|
||||
as long as the rigid fix is defined. For example, you might think you
|
||||
could displace the particles in a body or add a large velocity to each particle
|
||||
in a body to make it move in a desired direction before a 2nd run is
|
||||
performed, using the "set"_set.html or
|
||||
"displace_atoms"_displace_atoms.html or "velocity"_velocity.html
|
||||
commands. But these commands will not affect the internal attributes
|
||||
of the body unless {reinit} is set to {yes}. With {reinit} set to {no}
|
||||
(or using the {infile} option, which implies {reinit} {no}) the position
|
||||
and velocity of individual particles in the body will be reset when time
|
||||
integration starts again.
|
||||
|
||||
:line
|
||||
|
||||
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.
|
||||
|
||||
For bodystyle {single} the entire fix group of particles is treated as
|
||||
one rigid body.
|
||||
|
||||
For bodystyle {molecule}, particles are grouped into rigid bodies by their
|
||||
respective molecule IDs: each set of particles in the fix group with the
|
||||
same molecule ID is treated as a different rigid body. Note that particles
|
||||
with a molecule ID = 0 will be treated as a single rigid body. For a
|
||||
system with solvent (typically this is particles with molecule ID = 0)
|
||||
surrounding rigid bodies, this may not be what you want. Thus you
|
||||
should be careful to use a fix group that only includes particles you
|
||||
want to be part of rigid bodies.
|
||||
|
||||
Bodystyle {custom} is similar to bodystyle {molecule} except that it
|
||||
is more flexible in using other per-atom properties to define the sets
|
||||
of particles that form rigid bodies. An integer vector defined by the
|
||||
"fix property/atom"_fix_property_atom.html command can be used. Or an
|
||||
"atom-style or atomfile-style variable"_variable.html can be used; the
|
||||
floating-point value produced by the variable is rounded to an
|
||||
integer. As with bondstyle {molecule}, each set of particles in the fix
|
||||
groups with the same integer value is treated as a different rigid
|
||||
body. Since fix property/atom vectors and atom-style variables
|
||||
produce values for all particles, you should be careful to use a fix group
|
||||
that only includes particles you want to be part of rigid bodies.
|
||||
|
||||
For bodystyle {group}, each of the listed groups is treated as a
|
||||
separate rigid body. Only particles that are also in the fix group are
|
||||
included in each rigid body.
|
||||
|
||||
NOTE: To compute the initial center-of-mass position and other
|
||||
properties of each rigid body, the image flags for each particle in the
|
||||
body are used to "unwrap" the particle coordinates. Thus you must
|
||||
insure that these image flags are consistent so that the unwrapping
|
||||
creates a valid rigid body (one where the particles are close together)
|
||||
, particularly if the particles in a single rigid body straddle a
|
||||
periodic boundary. This means the input data file or restart file must
|
||||
define the image flags for each particle consistently or that you have
|
||||
used the "set"_set.html command to specify them correctly. If a
|
||||
dimension is non-periodic then the image flag of each particle must be
|
||||
0 in that dimension, else an error is generated.
|
||||
|
||||
By default, each rigid body is acted on by other particles which induce
|
||||
an external force and torque on its center of mass, causing it to
|
||||
translate and rotate. Components of the external center-of-mass force
|
||||
and torque can be turned off by the {force} and {torque} keywords.
|
||||
This may be useful if you wish a body to rotate but not translate, or
|
||||
vice versa, or if you wish it to rotate or translate continuously
|
||||
unaffected by interactions with other particles. Note that if you
|
||||
expect a rigid body not to move or rotate by using these keywords, you
|
||||
must insure its initial center-of-mass translational or angular
|
||||
velocity is 0.0. Otherwise the initial translational or angular
|
||||
momentum the body has will persist.
|
||||
|
||||
An xflag, yflag, or zflag set to {off} means turn off the component of
|
||||
force or torque in that dimension. A setting of {on} means turn on
|
||||
the component, which is the default. Which rigid body(s) the settings
|
||||
apply to is determined by the first argument of the {force} and
|
||||
{torque} keywords. It can be an integer M from 1 to Nbody, where
|
||||
Nbody is the number of rigid bodies defined. A wild-card asterisk can
|
||||
be used in place of, or in conjunction with, the M argument to set the
|
||||
flags for multiple rigid bodies. This takes the form "*" or "*n" or
|
||||
"n*" or "m*n". If N = the number of rigid bodies, then an asterisk
|
||||
with no numeric values means all bodies from 1 to N. A leading
|
||||
asterisk means all bodies from 1 to n (inclusive). A trailing
|
||||
asterisk means all bodies from n to N (inclusive). A middle asterisk
|
||||
means all bodies from m to n (inclusive). Note that you can use the
|
||||
{force} or {torque} keywords as many times as you like. If a
|
||||
particular rigid body has its component flags set multiple times, the
|
||||
settings from the final keyword are used.
|
||||
|
||||
For computational efficiency, you should typically define one fix
|
||||
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.
|
||||
|
||||
:line
|
||||
|
||||
The keyword/value option pairs are used in the following ways.
|
||||
|
||||
The {reinit} keyword determines, whether the rigid body properties
|
||||
are re-initialized between run commands. With the option {yes} (the
|
||||
default) this is done, with the option {no} this is not done. Turning
|
||||
off the re-initialization can be helpful to protect rigid bodies against
|
||||
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}.
|
||||
|
||||
:line
|
||||
|
||||
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
|
||||
position, its 6 moments of inertia, its center-of-mass velocity, and
|
||||
the 3 image flags of the center-of-mass position. For rigid bodies
|
||||
consisting of point particles or non-overlapping finite-size
|
||||
particles, LAMMPS can compute these values accurately. However, for
|
||||
rigid bodies consisting of finite-size particles which overlap each
|
||||
other, LAMMPS will ignore the overlaps when computing these 4
|
||||
attributes. The amount of error this induces depends on the amount of
|
||||
overlap. To avoid this issue, the values can be pre-computed
|
||||
(e.g. using Monte Carlo integration).
|
||||
|
||||
The format of the file is as follows. Note that the file does not
|
||||
have to list attributes for every rigid body integrated by fix rigid.
|
||||
Only bodies which the file specifies will have their computed
|
||||
attributes overridden. The file can contain initial blank lines or
|
||||
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:
|
||||
|
||||
ID1 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm
|
||||
ID2 masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm
|
||||
...
|
||||
IDN masstotal xcm ycm zcm ixx iyy izz ixy ixz iyz vxcm vycm vzcm lx ly lz ixcm iycm izcm :pre
|
||||
|
||||
The rigid body IDs are all positive integers. For the {single}
|
||||
bodystyle, only an ID of 1 can be used. For the {group} bodystyle,
|
||||
IDs from 1 to Ng can be used where Ng is the number of specified
|
||||
groups. For the {molecule} bodystyle, use the molecule ID for the
|
||||
atoms in a specific rigid body as the rigid body ID.
|
||||
|
||||
The masstotal and center-of-mass coordinates (xcm,ycm,zcm) are
|
||||
self-explanatory. The center-of-mass should be consistent with what
|
||||
is calculated for the position of the rigid body with all its atoms
|
||||
unwrapped by their respective image flags. If this produces a
|
||||
center-of-mass that is outside the simulation box, LAMMPS wraps it
|
||||
back into the box.
|
||||
|
||||
The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
|
||||
values consistent with the current orientation of the rigid body
|
||||
around its center of mass. The values are with respect to the
|
||||
simulation box XYZ axes, not with respect to the principal axes of the
|
||||
rigid body itself. LAMMPS performs the latter calculation internally.
|
||||
|
||||
The (vxcm,vycm,vzcm) values are the velocity of the center of mass.
|
||||
The (lx,ly,lz) values are the angular momentum of the body. The
|
||||
(vxcm,vycm,vzcm) and (lx,ly,lz) values can simply be set to 0 if you
|
||||
wish the body to have no initial motion.
|
||||
|
||||
The (ixcm,iycm,izcm) values are the image flags of the center of mass
|
||||
of the body. For periodic dimensions, they specify which image of the
|
||||
simulation box the body is considered to be in. An image of 0 means
|
||||
it is inside the box as defined. A value of 2 means add 2 box lengths
|
||||
to get the true value. A value of -1 means subtract 1 box length to
|
||||
get the true value. LAMMPS updates these flags as the rigid bodies
|
||||
cross periodic boundaries during the simulation.
|
||||
|
||||
NOTE: If you use the {infile} keyword and write restart
|
||||
files during a simulation, then each time a restart file is written,
|
||||
the fix also write an auxiliary restart file with the name
|
||||
rfile.rigid, where "rfile" is the name of the restart file,
|
||||
e.g. tmp.restart.10000 and tmp.restart.10000.rigid. This auxiliary
|
||||
file is in the same format described above. Thus it can be used in a
|
||||
new input script that restarts the run and re-specifies a rigid fix
|
||||
using an {infile} keyword and the appropriate filename. Note that the
|
||||
auxiliary file will contain one line for every rigid body, even if the
|
||||
original file only listed a subset of the rigid bodies.
|
||||
|
||||
:line
|
||||
|
||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||
|
||||
No information is written to "binary restart files"_restart.html.
|
||||
If the {infile} keyword is used, an auxiliary file is written out
|
||||
with rigid body information each time a restart file is written, as
|
||||
explained above for the {infile} keyword.
|
||||
|
||||
None of the "fix_modify"_fix_modify.html options are relevant to this
|
||||
fix.
|
||||
|
||||
This fix computes a global array of values which can be accessed by
|
||||
various "output commands"_Howto_output.html.
|
||||
|
||||
The number of rows in the array is equal to the number of rigid
|
||||
bodies. The number of columns is 28. Thus for each rigid body, 28
|
||||
values are stored: the xyz coords of the center of mass (COM), the xyz
|
||||
components of the COM velocity, the xyz components of the force acting
|
||||
on the COM, the components of the 4-vector quaternion representing the
|
||||
orientation of the rigid body, the xyz components of the angular momentum
|
||||
of the body around its COM, the xyz components of the torque acting on the
|
||||
COM, the 3 principal components of the moment of inertia and the xyz image
|
||||
flags of the COM.
|
||||
|
||||
The center of mass (COM) for each body is similar to unwrapped
|
||||
coordinates written to a dump file. It will always be inside (or
|
||||
slightly outside) the simulation box. The image flags have the same
|
||||
meaning as image flags for particle positions (see the "dump" command).
|
||||
This means you can calculate the unwrapped COM by applying the image
|
||||
flags to the COM, the same as when unwrapped coordinates are written
|
||||
to a dump file.
|
||||
|
||||
The force and torque values in the array are not affected by the
|
||||
{force} and {torque} keywords in the fix rigid command; they reflect
|
||||
values before any changes are made by those keywords.
|
||||
|
||||
The ordering of the rigid bodies (by row in the array) is as follows.
|
||||
For the {single} keyword there is just one rigid body. For the
|
||||
{molecule} keyword, the bodies are ordered by ascending molecule ID.
|
||||
For the {group} keyword, the list of group IDs determines the ordering
|
||||
of bodies.
|
||||
|
||||
The array values calculated by this fix are "intensive", meaning they
|
||||
are independent of the number of particles in the simulation.
|
||||
|
||||
No parameter of this fix can be used with the {start/stop} keywords of
|
||||
the "run"_run.html command.
|
||||
|
||||
This fix is not invoked during "energy minimization"_minimize.html.
|
||||
|
||||
:line
|
||||
|
||||
[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 "Build package"_Build_package.html doc page for more info.
|
||||
|
||||
This fix requires that atoms store density and internal energy as
|
||||
defined by the "atom_style meso"_atom_style.html command.
|
||||
|
||||
All particles in the group must be mesoscopic SPH/SDPD particles.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix meso/move"_fix_meso_move.html, "fix rigid"_fix_rigid.html,
|
||||
"neigh_modify exclude"_neigh_modify.html
|
||||
|
||||
[Default:]
|
||||
|
||||
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.
|
||||
|
||||
:line
|
||||
|
||||
:link(Miller)
|
||||
[(Miller)] Miller, Eleftheriou, Pattnaik, Ndirango, and Newns,
|
||||
J Chem Phys, 116, 8649 (2002).
|
||||
@ -137,7 +137,8 @@ package"_Build_package.html doc page for more info.
|
||||
|
||||
"fix drag"_fix_drag.html, "fix spring"_fix_spring.html,
|
||||
"fix spring/self"_fix_spring_self.html,
|
||||
"fix spring/rg"_fix_spring_rg.html
|
||||
"fix spring/rg"_fix_spring_rg.html,
|
||||
"fix colvars"_fix_colvars.html, "fix plumed"_fix_plumed.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
|
||||
@ -57,6 +57,8 @@ Fixes :h1
|
||||
fix_grem
|
||||
fix_halt
|
||||
fix_heat
|
||||
fix_hyper_global
|
||||
fix_hyper_local
|
||||
fix_imd
|
||||
fix_indent
|
||||
fix_ipi
|
||||
@ -73,6 +75,7 @@ Fixes :h1
|
||||
fix_lineforce
|
||||
fix_manifoldforce
|
||||
fix_meso
|
||||
fix_meso_move
|
||||
fix_meso_stationary
|
||||
fix_momentum
|
||||
fix_move
|
||||
@ -117,6 +120,7 @@ Fixes :h1
|
||||
fix_phonon
|
||||
fix_pimd
|
||||
fix_planeforce
|
||||
fix_plumed
|
||||
fix_poems
|
||||
fix_pour
|
||||
fix_precession_spin
|
||||
@ -137,6 +141,7 @@ Fixes :h1
|
||||
fix_restrain
|
||||
fix_rhok
|
||||
fix_rigid
|
||||
fix_rigid_meso
|
||||
fix_rx
|
||||
fix_saed_vtk
|
||||
fix_setforce
|
||||
|
||||
@ -225,8 +225,7 @@ atomfile-style variable. The variable is evaluated and atoms whose
|
||||
per-atom values are 0.0, are removed from the dynamic group. If the {property}
|
||||
keyword is used, the per-atom property name must be a previously defined
|
||||
per-atom property. The per-atom property is evaluated and atoms whose
|
||||
values are 0.0 are removed from the dynamic group, otherwise they
|
||||
are added to the group.
|
||||
values are 0.0 are removed from the dynamic group.
|
||||
|
||||
The assignment of atoms to a dynamic group is done at the beginning of
|
||||
each run and on every timestep that is a multiple of {N}, which is the
|
||||
|
||||
192
doc/src/hyper.txt
Normal file
192
doc/src/hyper.txt
Normal file
@ -0,0 +1,192 @@
|
||||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
hyper command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
hyper N Nevent fix-ID compute-ID keyword values ... :pre
|
||||
|
||||
N = # of timesteps to run :ulb,l
|
||||
Nevent = check for events every this many steps :l
|
||||
fix-ID = ID of a fix that applies a global or local bias potential, can be NULL :l
|
||||
compute-ID = ID of a compute that identifies when an event has occurred :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {min} or {dump} or {rebond} :l
|
||||
{min} values = etol ftol maxiter maxeval
|
||||
etol = stopping tolerance for energy, used in quenching
|
||||
ftol = stopping tolerance for force, used in quenching
|
||||
maxiter = max iterations of minimize, used in quenching
|
||||
maxeval = max number of force/energy evaluations, used in quenching
|
||||
{dump} value = dump-ID
|
||||
dump-ID = ID of dump to trigger whenever an event takes place
|
||||
{rebond} value = Nrebond
|
||||
Nrebond = frequency at which to reset bonds, even if no event has occurred
|
||||
:pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute event all event/displace 1.0
|
||||
fix HG mobile hyper/global 3.0 0.3 0.4 800.0
|
||||
hyper 5000 100 HG event min 1.0e-6 1.0e-6 100 100 dump 1 dump 5 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Run a bond-boost hyperdynamics (HD) simulation where time is
|
||||
accelerated by application of a bias potential to one or more pairs of
|
||||
nearby atoms in the system. This command can be used to run both
|
||||
global and local hyperdyamics. In global HD a single bond within the
|
||||
system is biased on each timestep. In local HD multiple bonds
|
||||
(separated by a sufficient distance) can be biased simultaneously at
|
||||
each timestep. In the bond-boost hyperdynamics context, a "bond" is
|
||||
not a covalent bond between a pair of atoms in a molecule. Rather it
|
||||
is simply a pair of nearby atoms as discussed below.
|
||||
|
||||
Both global and local HD are described in "(Voter2013)"_#Voter2013 by
|
||||
Art Voter and collaborators. Similar to parallel replica dynamics
|
||||
(PRD), global and local HD are methods for performing accelerated
|
||||
dynamics that are suitable for infrequent-event systems that obey
|
||||
first-order kinetics. A good overview of accelerated dynamics methods
|
||||
for such systems in given in "(Voter2002)"_#Voter2002hd from the same
|
||||
group. To quote from the review paper: "The dynamical evolution is
|
||||
characterized by vibrational excursions within a potential basin,
|
||||
punctuated by occasional transitions between basins." The transition
|
||||
probability is characterized by p(t) = k*exp(-kt) where k is the rate
|
||||
constant. Running multiple replicas gives an effective enhancement in
|
||||
the timescale spanned by the multiple simulations, while waiting for
|
||||
an event to occur.
|
||||
|
||||
Both HD and PRD produce a time-accurate trajectory that effectively
|
||||
extends the timescale over which a system can be simulated, but they
|
||||
do it differently. HD uses a single replica of the system and
|
||||
accelerates time by biasing the interaction potential in a manner such
|
||||
that each timestep is effectively longer. PRD creates Nr replicas of
|
||||
the system and runs dynamics on each independently with a normal
|
||||
unbiased potential until an event occurs in one of the replicas. The
|
||||
time between events is reduced by a factor of Nr replicas. For both
|
||||
methods, per CPU second, more physical time elapses and more events
|
||||
occur. See the "prd"_prd.html 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:
|
||||
|
||||
quench
|
||||
create initial list of bonds :pre
|
||||
|
||||
while (time remains):
|
||||
run dynamics for Nevent steps
|
||||
quench
|
||||
check for an event
|
||||
if event occurred: reset list of bonds
|
||||
restore pre-quench state :pre
|
||||
|
||||
The list of bonds is the list of atom pairs of atoms that are within a
|
||||
short cutoff distance of each other after the system energy is
|
||||
minimized (quenched). This list is created and reset by a "fix
|
||||
hyper/global"_fix_hyper_global.html or "fix
|
||||
hyper/local"_fix_hyper_local.html command specified as {fix-ID}. At
|
||||
every dynamics timestep, the same fix selects one of more bonds to
|
||||
apply a bias potential to.
|
||||
|
||||
IMPORTANT NOTE: The style of fix associated with the specified
|
||||
{fix-ID} determines whether you are running the global versus local
|
||||
hyperdynamics algorithm.
|
||||
|
||||
Dynamics (with the bias potential) is run continuously, stopping every
|
||||
{Nevent} steps to check if a transition event has occurred. The
|
||||
specified {N} for total steps must be a multiple of {Nevent}. check
|
||||
is performed by quenching the system and comparing the resulting atom
|
||||
coordinates to the coordinates from the previous basin.
|
||||
|
||||
A quench is an energy minimization and is performed by whichever
|
||||
algorithm has been defined by the "min_style"_min_style.html command.
|
||||
Minimization parameters may be set via the
|
||||
"min_modify"_min_modify.html command and by the {min} keyword of the
|
||||
hyper command. The latter are the settings that would be used with
|
||||
the "minimize"_minimize.html command. Note that typically, you do not
|
||||
need to perform a highly-converged minimization to detect a transition
|
||||
event, though you may need to in order to prevent a set of atoms in
|
||||
the system from relaxing to a saddle point.
|
||||
|
||||
The event check is performed by a compute with the specified
|
||||
{compute-ID}. Currently there is only one compute that works with the
|
||||
hyper command, which is the "compute
|
||||
event/displace"_compute_event_displace.html command. Other
|
||||
event-checking computes may be added. "Compute
|
||||
event/displace"_compute_event_displace.html checks whether any atom in
|
||||
the compute group has moved further than a specified threshold
|
||||
distance. If so, an event has occurred.
|
||||
|
||||
If this happens, the list of bonds is reset, since some bond pairs
|
||||
are likely now too far apart, and new pairs are likely close enough
|
||||
to be considered a bond. The pre-quenched state of the
|
||||
system (coordinates and velocities) is restored, and dynamics continue.
|
||||
|
||||
At the end of the hyper run, a variety of statistics are output to the
|
||||
screen and logfile. These include info relevant to both global and
|
||||
local hyperdynamics, such as the number of events and the elapsed
|
||||
hyper time (acclerated time), And it includes info specific to one or
|
||||
the other, depending on which style of fix was specified by {fix-ID}.
|
||||
|
||||
:line
|
||||
|
||||
The optional keywords operate as follows.
|
||||
|
||||
As explained above, the {min} keyword can be used to specify
|
||||
parameters for the quench. Their meaning is the same
|
||||
as for the "minimize"_minimize.html command
|
||||
|
||||
The {dump} keyword can be used to trigger a specific dump command with
|
||||
the specified {dump-ID} to output a snapshot each time an event is
|
||||
detected. It can be specified multiple times with different {dump-ID}
|
||||
values, as in the example above. These snapshots will be for the
|
||||
quenched state of the system on a timestep that is a multiple of
|
||||
{Nevent}, i.e. a timestep after the event has occurred. Note that any
|
||||
dump command in the input script will also output snapshots at
|
||||
whatever timestep interval it defines via its {N} argument; see the
|
||||
"dump"_dump.html command for details. This means if you only want a
|
||||
particular dump to output snapshots when events are detected, you
|
||||
should specify its {N} as a value larger than the length of the
|
||||
hyperdynamics run.
|
||||
|
||||
As in the code logic above, the bond list is normally only reset when
|
||||
an event occurs. The {rebond} keyword will force a reset of the bond
|
||||
list every {Nrebond} steps, even if an event has not occurred.
|
||||
{Nrebond} must be a multiple of {Nevent}. This can be useful to check
|
||||
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.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This command can only be used if LAMMPS was built with the REPLICA
|
||||
package. See the "Build package"_Build_package.html doc
|
||||
page for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"fix hyper/global"_fix_hyper_global.html, "fix
|
||||
hyper/local"_fix_hyper_local.html, "compute
|
||||
event/displace"_compute_event_displace.html, "prd"_prd.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The option defaults are min = 0.1 0.1 40 50 and time = steps.
|
||||
|
||||
:line
|
||||
|
||||
:link(Voter2013)
|
||||
[(Voter2013)] S. Y. Kim, D. Perez, A. F. Voter, J Chem Phys, 139,
|
||||
144110 (2013).
|
||||
|
||||
:link(Voter2002hd)
|
||||
[(Voter2002)] Voter, Montalenti, Germann, Annual Review of Materials
|
||||
Research 32, 321 (2002).
|
||||
@ -64,14 +64,19 @@ which are included in the LAMMPS distribution. The full list of all
|
||||
improper styles is on the "Commands bond"_Commands_bond.html#improper
|
||||
doc page.
|
||||
|
||||
"improper_style none"_improper_none.html - turn off improper interactions
|
||||
"improper_style zero"_improper_zero.html - topology but no interactions
|
||||
"improper_style hybrid"_improper_hybrid.html - define multiple styles of improper interactions :ul
|
||||
"none"_improper_none.html - turn off improper interactions
|
||||
"zero"_improper_zero.html - topology but no interactions
|
||||
"hybrid"_improper_hybrid.html - define multiple styles of improper interactions :ul
|
||||
|
||||
"improper_style class2"_improper_class2.html - COMPASS (class 2) improper
|
||||
"improper_style cvff"_improper_cvff.html - CVFF improper
|
||||
"improper_style harmonic"_improper_harmonic.html - harmonic improper
|
||||
"improper_style umbrella"_improper_umbrella.html - DREIDING improper :ul
|
||||
"class2"_improper_class2.html - COMPASS (class 2) improper
|
||||
"cossq"_improper_cossq.html - improper with a cosine squared term
|
||||
"cvff"_improper_cvff.html - CVFF improper
|
||||
"distance"_improper_distance.html - improper based on distance between atom planes
|
||||
"fourier"_improper_fourier.html - improper with multiple cosine terms
|
||||
"harmonic"_improper_harmonic.html - harmonic improper
|
||||
"inversion/harmonic"_improper_inversion_harmonic.html - harmonic improper with Wilson-Decius out-of-plane definition
|
||||
"ring"_improper_ring.html - improper which prevents planar conformations
|
||||
"umbrella"_improper_umbrella.html - DREIDING improper :ul
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -160,6 +160,7 @@ dump_cfg_uef.html
|
||||
echo.html
|
||||
group.html
|
||||
group2ndx.html
|
||||
hyper.html
|
||||
if.html
|
||||
include.html
|
||||
info.html
|
||||
@ -277,6 +278,8 @@ fix_gravity.html
|
||||
fix_grem.html
|
||||
fix_halt.html
|
||||
fix_heat.html
|
||||
fix_hyper_global.html
|
||||
fix_hyper_local.html
|
||||
fix_imd.html
|
||||
fix_indent.html
|
||||
fix_ipi.html
|
||||
@ -293,6 +296,7 @@ fix_lb_viscous.html
|
||||
fix_lineforce.html
|
||||
fix_manifoldforce.html
|
||||
fix_meso.html
|
||||
fix_meso_move.html
|
||||
fix_meso_stationary.html
|
||||
fix_momentum.html
|
||||
fix_move.html
|
||||
@ -337,6 +341,7 @@ fix_orient.html
|
||||
fix_phonon.html
|
||||
fix_pimd.html
|
||||
fix_planeforce.html
|
||||
fix_plumed.html
|
||||
fix_poems.html
|
||||
fix_pour.html
|
||||
fix_precession_spin.html
|
||||
@ -356,6 +361,7 @@ fix_reaxc_species.html
|
||||
fix_recenter.html
|
||||
fix_restrain.html
|
||||
fix_rigid.html
|
||||
fix_rigid_meso.html
|
||||
fix_rhok.html
|
||||
fix_rx.html
|
||||
fix_saed_vtk.html
|
||||
@ -404,6 +410,7 @@ lammps_commands_compute.html
|
||||
compute.html
|
||||
compute_modify.html
|
||||
compute_ackland_atom.html
|
||||
compute_adf.html
|
||||
compute_angle.html
|
||||
compute_angle_local.html
|
||||
compute_angmom_chunk.html
|
||||
@ -614,6 +621,7 @@ pair_reax.html
|
||||
pair_reaxc.html
|
||||
pair_resquared.html
|
||||
pair_sdk.html
|
||||
pair_sdpd_taitwater_isothermal.html
|
||||
pair_smd_hertz.html
|
||||
pair_smd_tlsph.html
|
||||
pair_smd_triangulated_surface.html
|
||||
|
||||
@ -137,8 +137,8 @@ If LAMMPS is the server code, it will begin receiving messages when
|
||||
the "server"_server.html command is invoked.
|
||||
|
||||
A fix client command will terminate its messaging with the server when
|
||||
LAMMPS ends, or the fix is deleted via the "unfix"_unfix command. The
|
||||
server command will terminate its messaging with the client when the
|
||||
LAMMPS ends, or the fix is deleted via the "unfix"_unfix.html command.
|
||||
The server command will terminate its messaging with the client when the
|
||||
client signals it. Then the remainder of the LAMMPS input script will
|
||||
be processed.
|
||||
|
||||
|
||||
@ -24,21 +24,21 @@ pair_style born/coul/dsf command :h3
|
||||
|
||||
pair_style style args :pre
|
||||
|
||||
style = {born} or {born/coul/long} or {born/coul/long/cs} or {born/coul/msm} or {born/coul/wolf}
|
||||
style = {born} or {born/coul/long} or {born/coul/msm} or {born/coul/wolf}
|
||||
args = list of arguments for a particular style :ul
|
||||
{born} args = cutoff
|
||||
cutoff = global cutoff for non-Coulombic interactions (distance units)
|
||||
{born/coul/long} or {born/coul/long/cs} args = cutoff (cutoff2)
|
||||
{born/coul/long} args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
{born/coul/msm} args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
{born/coul/wolf} or {born/coul/wolf/cs} args = alpha cutoff (cutoff2)
|
||||
{born/coul/wolf} args = alpha cutoff (cutoff2)
|
||||
alpha = damping parameter (inverse distance units)
|
||||
cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
{born/coul/dsf} or {born/coul/dsf/cs} args = alpha cutoff (cutoff2)
|
||||
{born/coul/dsf} args = alpha cutoff (cutoff2)
|
||||
alpha = damping parameter (inverse distance units)
|
||||
cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (distance units) :pre
|
||||
|
||||
@ -19,8 +19,6 @@ pair_style coul/dsf/gpu command :h3
|
||||
pair_style coul/dsf/kk command :h3
|
||||
pair_style coul/dsf/omp command :h3
|
||||
pair_style coul/long command :h3
|
||||
pair_style coul/long/cs command :h3
|
||||
pair_style coul/long/cs/gpu command :h3
|
||||
pair_style coul/long/omp command :h3
|
||||
pair_style coul/long/gpu command :h3
|
||||
pair_style coul/long/kk command :h3
|
||||
@ -30,7 +28,6 @@ pair_style coul/streitz command :h3
|
||||
pair_style coul/wolf command :h3
|
||||
pair_style coul/wolf/kk command :h3
|
||||
pair_style coul/wolf/omp command :h3
|
||||
pair_style coul/wolf/cs command :h3
|
||||
pair_style tip4p/cut command :h3
|
||||
pair_style tip4p/long command :h3
|
||||
pair_style tip4p/cut/omp command :h3
|
||||
@ -42,10 +39,8 @@ pair_style coul/cut cutoff
|
||||
pair_style coul/debye kappa cutoff
|
||||
pair_style coul/dsf alpha cutoff
|
||||
pair_style coul/long cutoff
|
||||
pair_style coul/long/cs cutoff
|
||||
pair_style coul/long/gpu cutoff
|
||||
pair_style coul/wolf alpha cutoff
|
||||
pair_style coul/wolf/cs alpha cutoff
|
||||
pair_style coul/streitz cutoff keyword alpha
|
||||
pair_style tip4p/cut otype htype btype atype qdist cutoff
|
||||
pair_style tip4p/long otype htype btype atype qdist cutoff :pre
|
||||
@ -68,14 +63,12 @@ pair_style coul/dsf 0.05 10.0
|
||||
pair_coeff * * :pre
|
||||
|
||||
pair_style coul/long 10.0
|
||||
pair_style coul/long/cs 10.0
|
||||
pair_coeff * * :pre
|
||||
|
||||
pair_style coul/msm 10.0
|
||||
pair_coeff * * :pre
|
||||
|
||||
pair_style coul/wolf 0.2 9.0
|
||||
pair_style coul/wolf/cs 0.2 9.0
|
||||
pair_coeff * * :pre
|
||||
|
||||
pair_style coul/streitz 12.0 ewald
|
||||
@ -204,12 +197,6 @@ option. The Coulombic cutoff specified for this style means that
|
||||
pairwise interactions within this distance are computed directly;
|
||||
interactions outside that distance are computed in reciprocal space.
|
||||
|
||||
Style {coul/long/cs} is identical to {coul/long} except that a term is
|
||||
added for the "core/shell model"_Howto_coreshell.html to allow charges
|
||||
on core and shell particles to be separated by r = 0.0. The same
|
||||
correction is introduced for the {coul/wolf/cs} style which is
|
||||
identical to {coul/wolf}.
|
||||
|
||||
Styles {tip4p/cut} and {tip4p/long} implement the coulomb part of
|
||||
the TIP4P water model of "(Jorgensen)"_#Jorgensen3, which introduces
|
||||
a massless site located a short distance away from the oxygen atom
|
||||
@ -317,9 +304,9 @@ This pair style can only be used via the {pair} keyword of the
|
||||
[Restrictions:]
|
||||
|
||||
The {coul/long}, {coul/msm} and {tip4p/long} styles are part of the
|
||||
KSPACE package. The {coul/long/cs} style is part of the CORESHELL
|
||||
package. They are only enabled if LAMMPS was built with that package.
|
||||
See the "Build package"_Build_package.html doc page for more info.
|
||||
KSPACE package. They are only enabled if LAMMPS was built with that
|
||||
package. See the "Build package"_Build_package.html doc page for more
|
||||
info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
|
||||
@ -6,51 +6,74 @@
|
||||
|
||||
:line
|
||||
|
||||
pair_style born/coul/dsf/cs command :h3
|
||||
pair_style born/coul/long/cs command :h3
|
||||
pair_style born/coul/long/cs/gpu command :h3
|
||||
pair_style buck/coul/long/cs command :h3
|
||||
pair_style born/coul/dsf/cs command :h3
|
||||
pair_style born/coul/wolf/cs command :h3
|
||||
pair_style born/coul/wolf/cs/gpu command :h3
|
||||
pair_style buck/coul/long/cs command :h3
|
||||
pair_style coul/long/cs command :h3
|
||||
pair_style coul/long/cs/gpu command :h3
|
||||
pair_style coul/wolf/cs command :h3
|
||||
pair_style lj/cut/coul/long/cs command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style style args :pre
|
||||
|
||||
style = {born/coul/long/cs} or {buck/coul/long/cs} or {born/coul/dsf/cs} or {born/coul/wolf/cs}
|
||||
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 :ul
|
||||
{born/coul/long/cs} args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
{buck/coul/long/cs} args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
{born/coul/dsf/cs} args = alpha cutoff (cutoff2)
|
||||
alpha = damping parameter (inverse distance units)
|
||||
cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (distance units) :pre
|
||||
cutoff2 = global cutoff for Coulombic (distance units)
|
||||
{born/coul/long/cs} args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for non-Coulombic (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
{born/coul/wolf/cs} args = alpha cutoff (cutoff2)
|
||||
alpha = damping parameter (inverse distance units)
|
||||
cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
{buck/coul/long/cs} args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
{coul/long} args = cutoff
|
||||
cutoff = global cutoff for Coulombic (distance units)
|
||||
{coul/wolf} args = alpha cutoff
|
||||
alpha = damping parameter (inverse distance units)
|
||||
cutoff = global cutoff for Coulombic (distance units)
|
||||
{lj/cut/coul/long/cs} args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style born/coul/dsf/cs 0.1 10.0 12.0
|
||||
pair_coeff * * 0.0 1.00 0.00 0.00 0.00
|
||||
pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 :pre
|
||||
|
||||
pair_style born/coul/long/cs 10.0 8.0
|
||||
pair_coeff 1 1 6.08 0.317 2.340 24.18 11.51 :pre
|
||||
|
||||
pair_style born/coul/wolf/cs 0.25 10.0 12.0
|
||||
pair_coeff * * 0.0 1.00 0.00 0.00 0.00
|
||||
pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 :pre
|
||||
|
||||
pair_style buck/coul/long/cs 10.0
|
||||
pair_style buck/coul/long/cs 10.0 8.0
|
||||
pair_coeff * * 100.0 1.5 200.0
|
||||
pair_coeff 1 1 100.0 1.5 200.0 9.0 :pre
|
||||
|
||||
pair_style born/coul/dsf/cs 0.1 10.0 12.0
|
||||
pair_coeff * * 0.0 1.00 0.00 0.00 0.00
|
||||
pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 :pre
|
||||
pair_style coul/long/cs 10.0
|
||||
pair_coeff * * :pre
|
||||
|
||||
pair_style born/coul/wolf/cs 0.25 10.0 12.0
|
||||
pair_coeff * * 0.0 1.00 0.00 0.00 0.00
|
||||
pair_coeff 1 1 480.0 0.25 0.00 1.05 0.50 :pre
|
||||
pair_style coul/wolf/cs 0.2 9.0
|
||||
pair_coeff * * :pre
|
||||
|
||||
pair_style lj/cut/coul/long/cs 10.0
|
||||
pair_style lj/cut/coul/long/cs 10.0 8.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -59,16 +82,28 @@ core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham2. See
|
||||
the "Howto coreshell"_Howto_coreshell.html doc page for an overview of
|
||||
the model as implemented in LAMMPS.
|
||||
|
||||
The styles with a {coul/long} term are identical to the "pair_style
|
||||
born/coul/long"_pair_born.html and "pair_style
|
||||
buck/coul/long"_pair_buck.html styles, except they correctly treat the
|
||||
special case where the distance between two charged core and shell
|
||||
atoms in the same core/shell pair approach r = 0.0. This needs
|
||||
special treatment when a long-range solver for Coulombic interactions
|
||||
is also used, i.e. via the "kspace_style"_kspace_style.html command.
|
||||
All the styles are identical to the corresponding pair style without
|
||||
the "/cs" in the name:
|
||||
|
||||
More specifically, the short-range Coulomb interaction between a core
|
||||
and its shell should be turned off using the
|
||||
"pair_style born/coul/dsf"_pair_born.html
|
||||
"pair_style born/coul/long"_pair_born.html
|
||||
"pair_style born/coul/wolf"_pair_born.html
|
||||
"pair_style buck/coul/long"_pair_buck.html
|
||||
"pair_style coul/long"_pair_coul.html
|
||||
"pair_style coul/wolf"_pair_coul.html
|
||||
"pair_style lj/cut/coul/long"_pair_lj.html :ul
|
||||
|
||||
except that they correctly treat the special case where the distance
|
||||
between two charged core and shell atoms in the same core/shell pair
|
||||
approach r = 0.0.
|
||||
|
||||
Styles with a "/long" in the name are used with a long-range solver
|
||||
for Coulombic interactions via the "kspace_style"_kspace_style.html
|
||||
command. They require special treatment of the short-range Coulombic
|
||||
interactions within the cor/shell model.
|
||||
|
||||
Specifically, the short-range Coulomb interaction between a core and
|
||||
its shell should be turned off using the
|
||||
"special_bonds"_special_bonds.html command by setting the 1-2 weight
|
||||
to 0.0, which works because the core and shell atoms are bonded to
|
||||
each other. This induces a long-range correction approximation which
|
||||
@ -83,21 +118,10 @@ where C is an energy-conversion constant, Qi and Qj are the charges on
|
||||
the core and shell, epsilon is the dielectric constant and r_min is the
|
||||
minimal distance.
|
||||
|
||||
The pair style {born/coul/dsf/cs} is identical to the
|
||||
"pair_style born/coul/dsf"_pair_born.html style, which uses
|
||||
the damped shifted force model as in "coul/dsf"_pair_coul.html
|
||||
to compute the Coulomb contribution. This approach does not require
|
||||
a long-range solver, thus the only correction is the addition of a
|
||||
minimal distance to avoid the possible r = 0.0 case for a
|
||||
core/shell pair.
|
||||
|
||||
The pair style {born/coul/wolf/cs} is identical to the
|
||||
"pair_style born/coul/wolf"_pair_born.html style, which uses
|
||||
the Wolf summation as in "coul/wolf"_pair_coul.html to compute
|
||||
the Coulomb contribution. This approach does not require
|
||||
a long-range solver, thus the only correction is the addition of a
|
||||
minimal distance to avoid the possible r = 0.0 case for a
|
||||
core/shell pair.
|
||||
For styles that are not used with a long-range solver, i.e. those with
|
||||
"/dsf" or "/wolf" in the name, the only correction is the addition of
|
||||
a minimal distance to avoid the possible r = 0.0 case for a core/shell
|
||||
pair.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@ pair_style gran/hooke command :h3
|
||||
pair_style gran/hooke/omp command :h3
|
||||
pair_style gran/hooke/history command :h3
|
||||
pair_style gran/hooke/history/omp command :h3
|
||||
pair_style gran/hooke/history/kk command :h3
|
||||
pair_style gran/hertz/history command :h3
|
||||
pair_style gran/hertz/history/omp command :h3
|
||||
|
||||
|
||||
@ -25,7 +25,6 @@ pair_style lj/cut/coul/dsf/gpu command :h3
|
||||
pair_style lj/cut/coul/dsf/kk command :h3
|
||||
pair_style lj/cut/coul/dsf/omp command :h3
|
||||
pair_style lj/cut/coul/long command :h3
|
||||
pair_style lj/cut/coul/long/cs command :h3
|
||||
pair_style lj/cut/coul/long/gpu command :h3
|
||||
pair_style lj/cut/coul/long/kk command :h3
|
||||
pair_style lj/cut/coul/long/intel command :h3
|
||||
@ -46,7 +45,7 @@ pair_style lj/cut/tip4p/long/opt command :h3
|
||||
|
||||
pair_style style args :pre
|
||||
|
||||
style = {lj/cut} or {lj/cut/coul/cut} or {lj/cut/coul/debye} or {lj/cut/coul/dsf} or {lj/cut/coul/long} or {lj/cut/coul/long/cs} or {lj/cut/coul/msm} or {lj/cut/tip4p/long}
|
||||
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 :ul
|
||||
{lj/cut} args = cutoff
|
||||
cutoff = global cutoff for Lennard Jones interactions (distance units)
|
||||
@ -107,9 +106,7 @@ pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 1.0 1.0 2.5 :pre
|
||||
|
||||
pair_style lj/cut/coul/long 10.0
|
||||
pair_style lj/cut/coul/long/cs 10.0
|
||||
pair_style lj/cut/coul/long 10.0 8.0
|
||||
pair_style lj/cut/coul/long/cs 10.0 8.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0 :pre
|
||||
|
||||
@ -186,11 +183,6 @@ specified for this style means that pairwise interactions within this
|
||||
distance are computed directly; interactions outside that distance are
|
||||
computed in reciprocal space.
|
||||
|
||||
Style {lj/cut/coul/long/cs} is identical to {lj/cut/coul/long} except
|
||||
that a term is added for the "core/shell model"_Howto_coreshell.html
|
||||
to allow charges on core and shell particles to be separated by r =
|
||||
0.0.
|
||||
|
||||
Style {coul/wolf} adds a Coulombic pairwise interaction via the Wolf
|
||||
summation method, described in "Wolf"_#Wolf1, given by:
|
||||
|
||||
|
||||
108
doc/src/pair_sdpd_taitwater_isothermal.txt
Normal file
108
doc/src/pair_sdpd_taitwater_isothermal.txt
Normal file
@ -0,0 +1,108 @@
|
||||
"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
|
||||
|
||||
pair_style sdpd/taitwater/isothermal command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style sdpd/taitwater/isothermal temperature viscosity seed
|
||||
:pre
|
||||
|
||||
temperature = temperature of the fluid (temperature units)
|
||||
viscosity = dynamic viscosity of the fluid (mass*distance/time units)
|
||||
seed = random number generator seed (positive integer, optional) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style sdpd/taitwater/isothermal 300. 1. 28681
|
||||
pair_coeff * * 1000.0 1430.0 2.4 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The sdpd/taitwater/isothermal style computes forces between mesoscopic
|
||||
particles according to the Smoothed Dissipative Particle Dynamics model
|
||||
described in this paper by "(Espanol and Revenga)"_#Espanol_Revenga under
|
||||
the following assumptions:
|
||||
|
||||
:olb
|
||||
The temperature is constant and uniform. :l
|
||||
The shear viscosity is constant and uniform. :l
|
||||
The volume viscosity is negligible before the shear viscosity. :l
|
||||
The Boltzmann constant is negligible before the heat capacity of a
|
||||
single mesoscopic particle of fluid. :ole,l
|
||||
|
||||
The third assumption is true for water in nearly incompressible flows.
|
||||
The fourth holds true for water for any reasonable size one can
|
||||
imagine for a mesoscopic particle.
|
||||
|
||||
The pressure forces between particles will be computed according to
|
||||
Tait's equation of state:
|
||||
|
||||
:c,image(Eqs/pair_sph_tait.jpg)
|
||||
|
||||
where gamma = 7 and B = c_0^2 rho_0 / gamma, with rho_0 being the
|
||||
reference density and c_0 the reference speed of sound.
|
||||
|
||||
The laminar viscosity and the random forces will be computed according
|
||||
to formulas described in "(Espanol and Revenga)"_#Espanol_Revenga.
|
||||
|
||||
IMPORTANT NOTE: Similar to "brownian"_pair_brownian.html and
|
||||
"dpd"_pair_dpd.html styles, the "newton"_newton.html setting for
|
||||
pairwise interactions needs to be on when running LAMMPS in parallel
|
||||
if you want to ensure linear momentum conservation. Otherwise random
|
||||
forces generated for pairs straddling processor boundary will not be
|
||||
equal and opposite.
|
||||
|
||||
NOTE: The actual random seed used will be a mix of what you specify
|
||||
and other parameters like the MPI ranks. This is to ensure that
|
||||
different MPI tasks have distinct seeds.
|
||||
|
||||
The following coefficients must be defined for each pair of atoms
|
||||
types via the "pair_coeff"_pair_coeff.html command as in the examples
|
||||
above.
|
||||
|
||||
rho0 reference density (mass/volume units)
|
||||
c0 reference soundspeed (distance/time units)
|
||||
h kernel function cutoff (distance units) :ul
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
This style does not support mixing. Thus, coefficients for all
|
||||
I,J pairs must be specified explicitly.
|
||||
|
||||
This style does not support the "pair_modify"_pair_modify.html
|
||||
shift, table, and tail options.
|
||||
|
||||
This style does not write information to "binary restart
|
||||
files"_restart.html. 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 "run_style
|
||||
respa"_run_style.html command. It does not support the {inner},
|
||||
{middle}, {outer} keywords.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This pair style is part of the USER-SDPD 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:]
|
||||
|
||||
"pair coeff"_pair_coeff.html, "pair sph/rhosum"_pair_sph_rhosum.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The default seed is 0 (before mixing).
|
||||
|
||||
:line
|
||||
|
||||
:link(Espanol_Revenga)
|
||||
[(Espanol and Revenga)] Espanol, Revenga, Physical Review E, 67, 026705 (2003).
|
||||
@ -95,120 +95,218 @@ GPUs, and KNLs. The individual style names on the "Commands
|
||||
pair"_Commands_pair.html doc page are followed by one or more of
|
||||
(g,i,k,o,t) to indicate which accelerated styles exist.
|
||||
|
||||
"pair_style none"_pair_none.html - turn off pairwise interactions
|
||||
"pair_style hybrid"_pair_hybrid.html - multiple styles of pairwise interactions
|
||||
"pair_style hybrid/overlay"_pair_hybrid.html - multiple styles of superposed pairwise interactions
|
||||
"pair_style zero"_pair_zero.html - neighbor list but no interactions :ul
|
||||
"none"_pair_none.html - turn off pairwise interactions
|
||||
"hybrid"_pair_hybrid.html - multiple styles of pairwise interactions
|
||||
"hybrid/overlay"_pair_hybrid.html - multiple styles of superposed pairwise interactions
|
||||
"zero"_pair_zero.html - neighbor list but no interactions :ul
|
||||
|
||||
"pair_style adp"_pair_adp.html - angular dependent potential (ADP) of Mishin
|
||||
"pair_style airebo"_pair_airebo.html - AIREBO potential of Stuart
|
||||
"pair_style airebo/morse"_pair_airebo.html - AIREBO with Morse instead of LJ
|
||||
"pair_style atm"_pair_atm.html - Axilrod-Teller-Muto potential
|
||||
"pair_style beck"_pair_beck.html - Beck potential
|
||||
"pair_style body/nparticle"_pair_body_nparticle.html - interactions between body particles
|
||||
"pair_style bop"_pair_bop.html - BOP potential of Pettifor
|
||||
"pair_style born"_pair_born.html - Born-Mayer-Huggins potential
|
||||
"pair_style born/coul/long"_pair_born.html - Born-Mayer-Huggins with long-range Coulombics
|
||||
"pair_style born/coul/long/cs"_pair_born.html - Born-Mayer-Huggins with long-range Coulombics and core/shell
|
||||
"pair_style born/coul/msm"_pair_born.html - Born-Mayer-Huggins with long-range MSM Coulombics
|
||||
"pair_style born/coul/wolf"_pair_born.html - Born-Mayer-Huggins with Coulombics via Wolf potential
|
||||
"pair_style brownian"_pair_brownian.html - Brownian potential for Fast Lubrication Dynamics
|
||||
"pair_style brownian/poly"_pair_brownian.html - Brownian potential for Fast Lubrication Dynamics with polydispersity
|
||||
"pair_style buck"_pair_buck.html - Buckingham potential
|
||||
"pair_style buck/coul/cut"_pair_buck.html - Buckingham with cutoff Coulomb
|
||||
"pair_style buck/coul/long"_pair_buck.html - Buckingham with long-range Coulombics
|
||||
"pair_style buck/coul/long/cs"_pair_buck.html - Buckingham with long-range Coulombics and core/shell
|
||||
"pair_style buck/coul/msm"_pair_buck.html - Buckingham long-range MSM Coulombics
|
||||
"pair_style buck/long/coul/long"_pair_buck_long.html - long-range Buckingham with long-range Coulombics
|
||||
"pair_style colloid"_pair_colloid.html - integrated colloidal potential
|
||||
"pair_style comb"_pair_comb.html - charge-optimized many-body (COMB) potential
|
||||
"pair_style comb3"_pair_comb.html - charge-optimized many-body (COMB3) potential
|
||||
"pair_style coul/cut"_pair_coul.html - cutoff Coulombic potential
|
||||
"pair_style coul/debye"_pair_coul.html - cutoff Coulombic potential with Debye screening
|
||||
"pair_style coul/dsf"_pair_coul.html - Coulombics via damped shifted forces
|
||||
"pair_style coul/long"_pair_coul.html - long-range Coulombic potential
|
||||
"pair_style coul/long/cs"_pair_coul.html - long-range Coulombic potential and core/shell
|
||||
"pair_style coul/msm"_pair_coul.html - long-range MSM Coulombics
|
||||
"pair_style coul/streitz"_pair_coul.html - Coulombics via Streitz/Mintmire Slater orbitals
|
||||
"pair_style coul/wolf"_pair_coul.html - Coulombics via Wolf potential
|
||||
"pair_style dpd"_pair_dpd.html - dissipative particle dynamics (DPD)
|
||||
"pair_style dpd/tstat"_pair_dpd.html - DPD thermostatting
|
||||
"pair_style dsmc"_pair_dsmc.html - Direct Simulation Monte Carlo (DSMC)
|
||||
"pair_style eam"_pair_eam.html - embedded atom method (EAM)
|
||||
"pair_style eam/alloy"_pair_eam.html - alloy EAM
|
||||
"pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM
|
||||
"pair_style eim"_pair_eim.html - embedded ion method (EIM)
|
||||
"pair_style gauss"_pair_gauss.html - Gaussian potential
|
||||
"pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential
|
||||
"pair_style gran/hertz/history"_pair_gran.html - granular potential with Hertzian interactions
|
||||
"pair_style gran/hooke"_pair_gran.html - granular potential with history effects
|
||||
"pair_style gran/hooke/history"_pair_gran.html - granular potential without history effects
|
||||
"pair_style hbond/dreiding/lj"_pair_hbond_dreiding.html - DREIDING hydrogen bonding LJ potential
|
||||
"pair_style hbond/dreiding/morse"_pair_hbond_dreiding.html - DREIDING hydrogen bonding Morse potential
|
||||
"pair_style kim"_pair_kim.html - interface to potentials provided by KIM project
|
||||
"pair_style lcbop"_pair_lcbop.html - long-range bond-order potential (LCBOP)
|
||||
"pair_style line/lj"_pair_line_lj.html - LJ potential between line segments
|
||||
"pair_style lj/charmm/coul/charmm"_pair_charmm.html - CHARMM potential with cutoff Coulomb
|
||||
"pair_style lj/charmm/coul/charmm/implicit"_pair_charmm.html - CHARMM for implicit solvent
|
||||
"pair_style lj/charmm/coul/long"_pair_charmm.html - CHARMM with long-range Coulomb
|
||||
"pair_style lj/charmm/coul/msm"_pair_charmm.html - CHARMM with long-range MSM Coulombics
|
||||
"pair_style lj/class2"_pair_class2.html - COMPASS (class 2) force field with no Coulomb
|
||||
"pair_style lj/class2/coul/cut"_pair_class2.html - COMPASS with cutoff Coulomb
|
||||
"pair_style lj/class2/coul/long"_pair_class2.html - COMPASS with long-range Coulomb
|
||||
"pair_style lj/cubic"_pair_lj_cubic.html - LJ with cubic after inflection point
|
||||
"pair_style lj/cut"_pair_lj.html - cutoff Lennard-Jones potential with no Coulomb
|
||||
"pair_style lj/cut/coul/cut"_pair_lj.html - LJ with cutoff Coulomb
|
||||
"pair_style lj/cut/coul/debye"_pair_lj.html - LJ with Debye screening added to Coulomb
|
||||
"pair_style lj/cut/coul/dsf"_pair_lj.html - LJ with Coulombics via damped shifted forces
|
||||
"pair_style lj/cut/coul/long"_pair_lj.html - LJ with long-range Coulombics
|
||||
"pair_style lj/cut/coul/long/cs"_pair_lj.html - LJ with long-range Coulombics and core/shell
|
||||
"pair_style lj/cut/coul/msm"_pair_lj.html - LJ with long-range MSM Coulombics
|
||||
"pair_style lj/cut/dipole/cut"_pair_dipole.html - point dipoles with cutoff
|
||||
"pair_style lj/cut/dipole/long"_pair_dipole.html - point dipoles with long-range Ewald
|
||||
"pair_style lj/cut/tip4p/cut"_pair_lj.html - LJ with cutoff Coulomb for TIP4P water
|
||||
"pair_style lj/cut/tip4p/long"_pair_lj.html - LJ with long-range Coulomb for TIP4P water
|
||||
"pair_style lj/expand"_pair_lj_expand.html - Lennard-Jones for variable size particles
|
||||
"pair_style lj/gromacs"_pair_gromacs.html - GROMACS-style Lennard-Jones potential
|
||||
"pair_style lj/gromacs/coul/gromacs"_pair_gromacs.html - GROMACS-style LJ and Coulombic potential
|
||||
"pair_style lj/long/coul/long"_pair_lj_long.html - long-range LJ and long-range Coulombics
|
||||
"pair_style lj/long/dipole/long"_pair_dipole.html - long-range LJ and long-range point dipoles
|
||||
"pair_style lj/long/tip4p/long"_pair_lj_long.html - long-range LJ and long-range Coulomb for TIP4P water
|
||||
"pair_style lj/smooth"_pair_lj_smooth.html - smoothed Lennard-Jones potential
|
||||
"pair_style lj/smooth/linear"_pair_lj_smooth_linear.html - linear smoothed Lennard-Jones potential
|
||||
"pair_style lj96/cut"_pair_lj96.html - Lennard-Jones 9/6 potential
|
||||
"pair_style lubricate"_pair_lubricate.html - hydrodynamic lubrication forces
|
||||
"pair_style lubricate/poly"_pair_lubricate.html - hydrodynamic lubrication forces with polydispersity
|
||||
"pair_style lubricateU"_pair_lubricateU.html - hydrodynamic lubrication forces for Fast Lubrication Dynamics
|
||||
"pair_style lubricateU/poly"_pair_lubricateU.html - hydrodynamic lubrication forces for Fast Lubrication with polydispersity
|
||||
"pair_style meam"_pair_meam.html - modified embedded atom method (MEAM)
|
||||
"pair_style mie/cut"_pair_mie.html - Mie potential
|
||||
"pair_style morse"_pair_morse.html - Morse potential
|
||||
"pair_style nb3b/harmonic"_pair_nb3b_harmonic.html - nonbonded 3-body harmonic potential
|
||||
"pair_style nm/cut"_pair_nm.html - N-M potential
|
||||
"pair_style nm/cut/coul/cut"_pair_nm.html - N-M potential with cutoff Coulomb
|
||||
"pair_style nm/cut/coul/long"_pair_nm.html - N-M potential with long-range Coulombics
|
||||
"pair_style peri/eps"_pair_peri.html - peridynamic EPS potential
|
||||
"pair_style peri/lps"_pair_peri.html - peridynamic LPS potential
|
||||
"pair_style peri/pmb"_pair_peri.html - peridynamic PMB potential
|
||||
"pair_style peri/ves"_pair_peri.html - peridynamic VES potential
|
||||
"pair_style polymorphic"_pair_polymorphic.html - polymorphic 3-body potential
|
||||
"pair_style reax"_pair_reax.html - ReaxFF potential
|
||||
"pair_style rebo"_pair_airebo.html - 2nd generation REBO potential of Brenner
|
||||
"pair_style resquared"_pair_resquared.html - Everaers RE-Squared ellipsoidal potential
|
||||
"pair_style snap"_pair_snap.html - SNAP quantum-accurate potential
|
||||
"pair_style soft"_pair_soft.html - Soft (cosine) potential
|
||||
"pair_style sw"_pair_sw.html - Stillinger-Weber 3-body potential
|
||||
"pair_style table"_pair_table.html - tabulated pair potential
|
||||
"pair_style tersoff"_pair_tersoff.html - Tersoff 3-body potential
|
||||
"pair_style tersoff/mod"_pair_tersoff_mod.html - modified Tersoff 3-body potential
|
||||
"pair_style tersoff/zbl"_pair_tersoff_zbl.html - Tersoff/ZBL 3-body potential
|
||||
"pair_style tip4p/cut"_pair_coul.html - Coulomb for TIP4P water w/out LJ
|
||||
"pair_style tip4p/long"_pair_coul.html - long-range Coulombics for TIP4P water w/out LJ
|
||||
"pair_style tri/lj"_pair_tri_lj.html - LJ potential between triangles
|
||||
"pair_style vashishta"_pair_vashishta.html - Vashishta 2-body and 3-body potential
|
||||
"pair_style yukawa"_pair_yukawa.html - Yukawa potential
|
||||
"pair_style yukawa/colloid"_pair_yukawa_colloid.html - screened Yukawa potential for finite-size particles
|
||||
"pair_style zbl"_pair_zbl.html - Ziegler-Biersack-Littmark potential :ul
|
||||
"adp"_pair_adp.html - angular dependent potential (ADP) of Mishin
|
||||
"agni"_pair_agni.html - machine learned potential mapping atomic environment to forces
|
||||
"airebo"_pair_airebo.html - AIREBO potential of Stuart
|
||||
"airebo/morse"_pair_airebo.html - AIREBO with Morse instead of LJ
|
||||
"atm"_pair_atm.html - Axilrod-Teller-Muto potential
|
||||
"awpmd/cut"_pair_awpmd.html - Antisymmetrized Wave Packet MD potential for atoms and electrons
|
||||
"beck"_pair_beck.html - Beck potential
|
||||
"body/nparticle"_pair_body_nparticle.html - interactions between body particles
|
||||
"body/rounded/polygon"_pair_body_rounded_polygon.html - granular-style 2d polygon potential
|
||||
"body/rounded/polyhedron"_pair_body_rounded_polyhedron.html - granular-style 3d polyhedron potential
|
||||
"bop"_pair_bop.html - BOP potential of Pettifor
|
||||
"born"_pair_born.html - Born-Mayer-Huggins potential
|
||||
"born/coul/dsf"_pair_born.html - Born with damped-shifted-force model
|
||||
"born/coul/dsf/cs"_pair_cs.html - Born with damped-shifted-force and core/shell model
|
||||
"born/coul/long"_pair_born.html - Born with long-range Coulombics
|
||||
"born/coul/long/cs"_pair_cs.html - Born with long-range Coulombics and core/shell
|
||||
"born/coul/msm"_pair_born.html - Born with long-range MSM Coulombics
|
||||
"born/coul/wolf"_pair_born.html - Born with Wolf potential for Coulombics
|
||||
"born/coul/wolf/cs"_pair_cs.html - Born with Wolf potential for Coulombics and core/shell model
|
||||
"brownian"_pair_brownian.html - Brownian potential for Fast Lubrication Dynamics
|
||||
"brownian/poly"_pair_brownian.html - Brownian potential for Fast Lubrication Dynamics with polydispersity
|
||||
"buck"_pair_buck.html - Buckingham potential
|
||||
"buck/coul/cut"_pair_buck.html - Buckingham with cutoff Coulomb
|
||||
"buck/coul/long"_pair_buck.html - Buckingham with long-range Coulombics
|
||||
"buck/coul/long/cs"_pair_cs.html - Buckingham with long-range Coulombics and core/shell
|
||||
"buck/coul/msm"_pair_buck.html - Buckingham with long-range MSM Coulombics
|
||||
"buck/long/coul/long"_pair_buck_long.html - long-range Buckingham with long-range Coulombics
|
||||
"buck/mdf"_pair_mdf.html - Buckingham with a taper function
|
||||
"buck6d/coul/gauss/dsf"_pair_buck6d_coul_gauss.html - dispersion-damped Buckingham with damped-shift-force model
|
||||
"buck6d/coul/gauss/long"_pair_buck6d_coul_gauss.html - dispersion-damped Buckingham with long-range Coulombics
|
||||
"colloid"_pair_colloid.html - integrated colloidal potential
|
||||
"comb"_pair_comb.html - charge-optimized many-body (COMB) potential
|
||||
"comb3"_pair_comb.html - charge-optimized many-body (COMB3) potential
|
||||
"coul/cut"_pair_coul.html - cutoff Coulombic potential
|
||||
"coul/cut/soft"_pair_lj_soft.html - Coulombic potential with a soft core
|
||||
"coul/debye"_pair_coul.html - cutoff Coulombic potential with Debye screening
|
||||
"coul/diel"_pair_coul_diel.html - Coulomb potential with dielectric permittivity
|
||||
"coul/dsf"_pair_coul.html - Coulombics with damped-shifted-force model
|
||||
"coul/long"_pair_coul.html - long-range Coulombic potential
|
||||
"coul/long/cs"_pair_cs.html - long-range Coulombic potential and core/shell
|
||||
"coul/long/soft"_pair_lj_soft.html - long-range Coulombic potential with a soft core
|
||||
"coul/msm"_pair_coul.html - long-range MSM Coulombics
|
||||
"coul/shield"_pair_coul_shield.html - Coulombics for boron nitride for use with "ilp/graphene/hbn"_pair_ilp_graphene_hbn.html potential
|
||||
"coul/streitz"_pair_coul.html - Coulombics via Streitz/Mintmire Slater orbitals
|
||||
"coul/wolf"_pair_coul.html - Coulombics via Wolf potential
|
||||
"coul/wolf/cs"_pair_cs.html - ditto with core/shell adjustments
|
||||
"dpd"_pair_dpd.html - dissipative particle dynamics (DPD)
|
||||
"dpd/fdt"_pair_dpd_fdt.html - DPD for constant temperature and pressure
|
||||
"dpd/fdt/energy"_pair_dpd_fdt.html - DPD for constant energy and enthalpy
|
||||
"dpd/tstat"_pair_dpd.html - pair-wise DPD thermostatting
|
||||
"dsmc"_pair_dsmc.html - Direct Simulation Monte Carlo (DSMC)
|
||||
"eam"_pair_eam.html - embedded atom method (EAM)
|
||||
"eam/alloy"_pair_eam.html - alloy EAM
|
||||
"eam/cd"_pair_eam.html - concentration-dependent EAM
|
||||
"eam/cd/old"_pair_eam.html - older two-site model for concentration-dependent EAM
|
||||
"eam/fs"_pair_eam.html - Finnis-Sinclair EAM
|
||||
"edip"_pair_edip.html - three-body EDIP potential
|
||||
"edip/multi"_pair_edip.html - multi-element EDIP potential
|
||||
"edpd"_pair_meso.html - eDPD particle interactions
|
||||
"eff/cut"_pair_eff.html - electron force field with a cutoff
|
||||
"eim"_pair_eim.html - embedded ion method (EIM)
|
||||
"exp6/rx"_pair_exp6_rx.html - reactive DPD potential
|
||||
"extep"_pair_extep.html - extended Tersoff potential
|
||||
"gauss"_pair_gauss.html - Gaussian potential
|
||||
"gauss/cut"_pair_gauss.html - generalized Gaussian potential
|
||||
"gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential
|
||||
"gran/hertz/history"_pair_gran.html - granular potential with Hertzian interactions
|
||||
"gran/hooke"_pair_gran.html - granular potential with history effects
|
||||
"gran/hooke/history"_pair_gran.html - granular potential without history effects
|
||||
"gw"_pair_gw.html - Gao-Weber potential
|
||||
"gw/zbl"_pair_gw.html - Gao-Weber potential with a repulsive ZBL core
|
||||
"hbond/dreiding/lj"_pair_hbond_dreiding.html - DREIDING hydrogen bonding LJ potential
|
||||
"hbond/dreiding/morse"_pair_hbond_dreiding.html - DREIDING hydrogen bonding Morse potential
|
||||
"ilp/graphene/hbn"_pair_ilp_graphene_hbn.html - registry-dependent interlayer potential (ILP)
|
||||
"kim"_pair_kim.html - interface to potentials provided by KIM project
|
||||
"kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html - Kolmogorov-Crespi (KC) potential with no simplifications
|
||||
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html - Kolmogorov-Crespi (KC) potential with normals along z-axis
|
||||
"lcbop"_pair_lcbop.html - long-range bond-order potential (LCBOP)
|
||||
"lennard/mdf"_pair_mdf.html - LJ potential in A/B form with a taper function
|
||||
"line/lj"_pair_line_lj.html - LJ potential between line segments
|
||||
"list"_pair_list.html - potential between pairs of atoms explicitly listed in an input file
|
||||
"lj/charmm/coul/charmm"_pair_charmm.html - CHARMM potential with cutoff Coulomb
|
||||
"lj/charmm/coul/charmm/implicit"_pair_charmm.html - CHARMM for implicit solvent
|
||||
"lj/charmm/coul/long"_pair_charmm.html - CHARMM with long-range Coulomb
|
||||
"lj/charmm/coul/long/soft"_pair_lj_soft.html - CHARMM with long-range Coulomb and a soft core
|
||||
"lj/charmm/coul/msm"_pair_charmm.html - CHARMM with long-range MSM Coulombics
|
||||
"lj/charmmfsw/coul/charmmfsh"_pair_charmm.html - CHARMM with force switching and shifting
|
||||
"lj/charmmfsw/coul/long"_pair_charmm.html - CHARMM with force switching and long-rnage Coulombics
|
||||
"lj/class2"_pair_class2.html - COMPASS (class 2) force field with no Coulomb
|
||||
"lj/class2/coul/cut"_pair_class2.html - COMPASS with cutoff Coulomb
|
||||
"lj/class2/coul/long"_pair_class2.html - COMPASS with long-range Coulomb
|
||||
"lj/cubic"_pair_lj_cubic.html - LJ with cubic after inflection point
|
||||
"lj/cut"_pair_lj.html - cutoff Lennard-Jones potential with no Coulomb
|
||||
"lj/cut/coul/cut"_pair_lj.html - LJ with cutoff Coulomb
|
||||
"lj/cut/coul/cut/soft"_pair_lj_soft.html - LJ with cutoff Coulomb with a soft core
|
||||
"lj/cut/coul/debye"_pair_lj.html - LJ with Debye screening added to Coulomb
|
||||
"lj/cut/coul/dsf"_pair_lj.html - LJ with Coulombics via damped shifted forces
|
||||
"lj/cut/coul/long"_pair_lj.html - LJ with long-range Coulombics
|
||||
"lj/cut/coul/long/cs"_pair_cs.html - ditto with core/shell adjustments
|
||||
"lj/cut/coul/long/soft"_pair_lj_soft.html - LJ with long-range Coulombics with a soft core
|
||||
"lj/cut/coul/msm"_pair_lj.html - LJ with long-range MSM Coulombics
|
||||
"lj/cut/coul/wolf"_pair_lj.html - LJ with Coulombics via Wolf potential
|
||||
"lj/cut/dipole/cut"_pair_dipole.html - point dipoles with cutoff
|
||||
"lj/cut/dipole/long"_pair_dipole.html - point dipoles with long-range Ewald
|
||||
"lj/cut/soft"_pair_lj_soft.html - LJ with a soft core
|
||||
"lj/cut/thole/long"_pair_thole.html - LJ with Coulomibics with thole damping
|
||||
"lj/cut/tip4p/cut"_pair_lj.html - LJ with cutoff Coulomb for TIP4P water
|
||||
"lj/cut/tip4p/long"_pair_lj.html - LJ with long-range Coulomb for TIP4P water
|
||||
"lj/cut/tip4p/long/soft"_pair_lj_soft.html - LJ with cutoff Coulomb for TIP4P water with a soft core
|
||||
"lj/expand"_pair_lj_expand.html - Lennard-Jones for variable size particles
|
||||
"lj/expand/coul/long"_pair_lj_expand.html - Lennard-Jones for variable size particles with long-range Coulombics
|
||||
"lj/gromacs"_pair_gromacs.html - GROMACS-style Lennard-Jones potential
|
||||
"lj/gromacs/coul/gromacs"_pair_gromacs.html - GROMACS-style LJ and Coulombic potential
|
||||
"lj/long/coul/long"_pair_lj_long.html - long-range LJ and long-range Coulombics
|
||||
"lj/long/dipole/long"_pair_dipole.html - long-range LJ and long-range point dipoles
|
||||
"lj/long/tip4p/long"_pair_lj_long.html - long-range LJ and long-range Coulombics for TIP4P water
|
||||
"lj/mdf"_pair_mdf.html - LJ potential with a taper function
|
||||
"lj/sdk"_pair_sdk.html - LJ for SDK coarse-graining
|
||||
"lj/sdk/coul/long"_pair_sdk.html - LJ for SDK coarse-graining with long-range Coulombics
|
||||
"lj/sdk/coul/msm"_pair_sdk.html - LJ for SDK coarse-graining with long-range Coulombics via MSM
|
||||
"lj/sf/dipole/sf"_pair_dipole.html - LJ with dipole interaction with shifted forces
|
||||
"lj/smooth"_pair_lj_smooth.html - smoothed Lennard-Jones potential
|
||||
"lj/smooth/linear"_pair_lj_smooth_linear.html - linear smoothed LJ potential
|
||||
"lj96/cut"_pair_lj96.html - Lennard-Jones 9/6 potential
|
||||
"lubricate"_pair_lubricate.html - hydrodynamic lubrication forces
|
||||
"lubricate/poly"_pair_lubricate.html - hydrodynamic lubrication forces with polydispersity
|
||||
"lubricateU"_pair_lubricateU.html - hydrodynamic lubrication forces for Fast Lubrication Dynamics
|
||||
"lubricateU/poly"_pair_lubricateU.html - hydrodynamic lubrication forces for Fast Lubrication with polydispersity
|
||||
"mdpd"_pair_meso.html - mDPD particle interactions
|
||||
"mdpd/rhosum"_pair_meso.html - mDPD particle interactions for mass density
|
||||
"meam"_pair_meam.html - modified embedded atom method (MEAM) in Fortran
|
||||
"meam/c"_pair_meam.html - modified embedded atom method (MEAM) in C
|
||||
"meam/spline"_pair_meam_spline.html - splined version of MEAM
|
||||
"meam/sw/spline"_pair_meam_sw_spline.html - splined version of MEAM with a Stillinger-Weber term
|
||||
"mgpt"_pair_mgpt.html - simplified model generalized pseudopotential theory (MGPT) potential
|
||||
"mie/cut"_pair_mie.html - Mie potential
|
||||
"momb"_pair_momb.html - Many-Body Metal-Organic (MOMB) force field
|
||||
"morse"_pair_morse.html - Morse potential
|
||||
"morse/smooth/linear"_pair_morse.html - linear smoothed Morse potential
|
||||
"morse/soft"_pair_morse.html - Morse potential with a soft core
|
||||
"multi/lucy"_pair_multi_lucy.html - DPD potential with density-dependent force
|
||||
"multi/lucy/rx"_pair_multi_lucy_rx.html - reactive DPD potential with density-dependent force
|
||||
"nb3b/harmonic"_pair_nb3b_harmonic.html - nonbonded 3-body harmonic potential
|
||||
"nm/cut"_pair_nm.html - N-M potential
|
||||
"nm/cut/coul/cut"_pair_nm.html - N-M potential with cutoff Coulomb
|
||||
"nm/cut/coul/long"_pair_nm.html - N-M potential with long-range Coulombics
|
||||
"oxdna/coaxstk"_pair_oxdna.html -
|
||||
"oxdna/excv"_pair_oxdna.html -
|
||||
"oxdna/hbond"_pair_oxdna.html -
|
||||
"oxdna/stk"_pair_oxdna.html -
|
||||
"oxdna/xstk"_pair_oxdna.html -
|
||||
"oxdna2/coaxstk"_pair_oxdna2.html -
|
||||
"oxdna2/dh"_pair_oxdna2.html -
|
||||
"oxdna2/excv"_pair_oxdna2.html -
|
||||
"oxdna2/hbond"_pair_oxdna2.html -
|
||||
"oxdna2/stk"_pair_oxdna2.html -
|
||||
"oxdna2/xstk"_pair_oxdna2.html -
|
||||
"peri/eps"_pair_peri.html - peridynamic EPS potential
|
||||
"peri/lps"_pair_peri.html - peridynamic LPS potential
|
||||
"peri/pmb"_pair_peri.html - peridynamic PMB potential
|
||||
"peri/ves"_pair_peri.html - peridynamic VES potential
|
||||
"polymorphic"_pair_polymorphic.html - polymorphic 3-body potential
|
||||
"python"_pair_python.html -
|
||||
"quip"_pair_quip.html -
|
||||
"reax"_pair_reax.html - ReaxFF potential in Fortran
|
||||
"reax/c"_pair_reaxc.html - ReaxFF potential in C
|
||||
"rebo"_pair_airebo.html - 2nd generation REBO potential of Brenner
|
||||
"resquared"_pair_resquared.html - Everaers RE-Squared ellipsoidal potential
|
||||
"sdpd/taitwater/isothermal"_pair_sdpd_taitwater_isothermal.html - smoothed dissipative particle dynamics for water at isothermal conditions
|
||||
"smd/hertz"_pair_smd_hertz.html -
|
||||
"smd/tlsph"_pair_smd_tlsph.html -
|
||||
"smd/tri_surface"_pair_smd_triangulated_surface.html -
|
||||
"smd/ulsph"_pair_smd_ulsph.html -
|
||||
"smtbq"_pair_smtbq.html -
|
||||
"snap"_pair_snap.html - SNAP quantum-accurate potential
|
||||
"soft"_pair_soft.html - Soft (cosine) potential
|
||||
"sph/heatconduction"_pair_sph_heatconduction.html -
|
||||
"sph/idealgas"_pair_sph_idealgas.html -
|
||||
"sph/lj"_pair_sph_lj.html -
|
||||
"sph/rhosum"_pair_sph_rhosum.html -
|
||||
"sph/taitwater"_pair_sph_taitwater.html -
|
||||
"sph/taitwater/morris"_pair_sph_taitwater_morris.html -
|
||||
"spin/dmi"_pair_spin_dmi.html -
|
||||
"spin/exchange"_pair_spin_exchange.html -
|
||||
"spin/magelec"_pair_spin_magelec.html -
|
||||
"spin/neel"_pair_spin_neel.html -
|
||||
"srp"_pair_srp.html -
|
||||
"sw"_pair_sw.html - Stillinger-Weber 3-body potential
|
||||
"table"_pair_table.html - tabulated pair potential
|
||||
"table/rx"_pair_table_rx.html -
|
||||
"tdpd"_pair_meso.html - tDPD particle interactions
|
||||
"tersoff"_pair_tersoff.html - Tersoff 3-body potential
|
||||
"tersoff/mod"_pair_tersoff_mod.html - modified Tersoff 3-body potential
|
||||
"tersoff/mod/c"_pair_tersoff_mod.html -
|
||||
"tersoff/table"_pair_tersoff.html -
|
||||
"tersoff/zbl"_pair_tersoff_zbl.html - Tersoff/ZBL 3-body potential
|
||||
"thole"_pair_thole.html - Coulomb interactions with thole damping
|
||||
"tip4p/cut"_pair_coul.html - Coulomb for TIP4P water w/out LJ
|
||||
"tip4p/long"_pair_coul.html - long-range Coulombics for TIP4P water w/out LJ
|
||||
"tip4p/long/soft"_pair_lj_soft.html -
|
||||
"tri/lj"_pair_tri_lj.html - LJ potential between triangles
|
||||
"ufm"_pair_ufm.html -
|
||||
"vashishta"_pair_vashishta.html - Vashishta 2-body and 3-body potential
|
||||
"vashishta/table"_pair_vashishta.html -
|
||||
"yukawa"_pair_yukawa.html - Yukawa potential
|
||||
"yukawa/colloid"_pair_yukawa_colloid.html - screened Yukawa potential for finite-size particles
|
||||
"zbl"_pair_zbl.html - Ziegler-Biersack-Littmark potential :ul
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -86,6 +86,7 @@ Pair Styles :h1
|
||||
pair_reaxc
|
||||
pair_resquared
|
||||
pair_sdk
|
||||
pair_sdpd_taitwater_isothermal
|
||||
pair_smd_hertz
|
||||
pair_smd_tlsph
|
||||
pair_smd_triangulated_surface
|
||||
|
||||
@ -48,11 +48,12 @@ replicas of a system. One or more replicas can be used. The total
|
||||
number of steps {N} to run can be interpreted in one of two ways; see
|
||||
discussion of the {time} keyword below.
|
||||
|
||||
PRD is described in "this paper"_#Voter1998 by Art Voter. It is a method
|
||||
for performing accelerated dynamics that is suitable for
|
||||
infrequent-event systems that obey first-order kinetics. A good
|
||||
overview of accelerated dynamics methods for such systems in given in
|
||||
"this review paper"_#Voter2002prd from the same group. To quote from the
|
||||
PRD is described in "(Voter1998)"_#Voter1998 by Art Voter. Similar to
|
||||
global or local hyperdynamics (HD), PRD is a method for performing
|
||||
accelerated dynamics that is suitable for infrequent-event systems
|
||||
that obey first-order kinetics. A good overview of accelerated
|
||||
dynamics methods for such systems in given in this review paper
|
||||
"(Voter2002)"_#Voter2002prd from Art's group. To quote from the
|
||||
paper: "The dynamical evolution is characterized by vibrational
|
||||
excursions within a potential basin, punctuated by occasional
|
||||
transitions between basins." The transition probability is
|
||||
@ -61,15 +62,26 @@ Running multiple replicas gives an effective enhancement in the
|
||||
timescale spanned by the multiple simulations, while waiting for an
|
||||
event to occur.
|
||||
|
||||
Each replica runs on a partition of one or more processors. Processor
|
||||
partitions are defined at run-time using the "-partition command-line
|
||||
switch"_Run_options.html. Note that if you have MPI installed, you
|
||||
can run a multi-replica simulation with more replicas (partitions)
|
||||
than you have physical processors, e.g you can run a 10-replica
|
||||
simulation on one or two processors. However for PRD, this makes
|
||||
little sense, since running a replica on virtual instead of physical
|
||||
processors,offers no effective parallel speed-up in searching for
|
||||
infrequent events. See the "Howto replica"_Howto_replica.html doc
|
||||
Both PRD and HD produce a time-accurate trajectory that effectively
|
||||
extends the timescale over which a system can be simulated, but they
|
||||
do it differently. PRD creates Nr replicas of the system and runs
|
||||
dynamics on each independently with a normal unbiased potential until
|
||||
an event occurs in one of the replicas. The time between events is
|
||||
reduced by a factor of Nr replicas. HD uses a single replica of the
|
||||
system and accelerates time by biasing the interaction potential in a
|
||||
manner such that each timestep is effectively longer. For both
|
||||
methods, per CPU second, more physical time elapses and more events
|
||||
occur. See the "hyper"_hyper.html doc page for more info about HD.
|
||||
|
||||
In PRD, each replica runs on a partition of one or more processors.
|
||||
Processor partitions are defined at run-time using the "-partition
|
||||
command-line switch"_Run_options.html. Note that if you have MPI
|
||||
installed, you can run a multi-replica simulation with more replicas
|
||||
(partitions) than you have physical processors, e.g you can run a
|
||||
10-replica simulation on one or two processors. However for PRD, this
|
||||
makes little sense, since running a replica on virtual instead of
|
||||
physical processors,offers no effective parallel speed-up in searching
|
||||
for infrequent events. See the "Howto replica"_Howto_replica.html doc
|
||||
page for further discussion.
|
||||
|
||||
When a PRD simulation is performed, it is assumed that each replica is
|
||||
@ -78,8 +90,8 @@ I.e. the simulation domain, the number of atoms, the interaction
|
||||
potentials, etc should be the same for every replica.
|
||||
|
||||
A PRD run has several stages, which are repeated each time an "event"
|
||||
occurs in one of the replicas, as defined below. The logic for a PRD
|
||||
run is as follows:
|
||||
occurs in one of the replicas, as explained below. The logic for a
|
||||
PRD run is as follows:
|
||||
|
||||
while (time remains):
|
||||
dephase for n_dephase*t_dephase steps
|
||||
@ -129,7 +141,8 @@ Minimization parameters may be set via the
|
||||
PRD command. The latter are the settings that would be used with the
|
||||
"minimize"_minimize.html command. Note that typically, you do not
|
||||
need to perform a highly-converged minimization to detect a transition
|
||||
event.
|
||||
event, though you may need to in order to prevent a set of atoms in
|
||||
the system from relaxing to a saddle point.
|
||||
|
||||
The event check is performed by a compute with the specified
|
||||
{compute-ID}. Currently there is only one compute that works with the
|
||||
@ -307,7 +320,7 @@ deposit"_fix_deposit.html.
|
||||
"min_modify"_min_modify.html, "min_style"_min_style.html,
|
||||
"run_style"_run_style.html, "minimize"_minimize.html,
|
||||
"velocity"_velocity.html, "temper"_temper.html, "neb"_neb.html,
|
||||
"tad"_tad.html
|
||||
"tad"_tad.html, "hyper"_hyper.html
|
||||
|
||||
[Default:]
|
||||
|
||||
|
||||
@ -78,6 +78,7 @@ friction: frictional contact of spherical asperities between 2d surfaces
|
||||
gcmc: Grand Canonical Monte Carlo (GCMC) via the fix gcmc command
|
||||
granregion: use of fix wall/region/gran as boundary on granular particles
|
||||
hugoniostat: Hugoniostat shock dynamics
|
||||
hyper: global and local hyperdynamics of diffusion on Pt surface
|
||||
indent: spherical indenter into a 2d solid
|
||||
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
|
||||
latte: use of LATTE density-functional tight-binding quantum code
|
||||
|
||||
@ -36,7 +36,7 @@ fix myrxns all bond/react stabilization yes statted_grp .03 &
|
||||
react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map
|
||||
|
||||
# stable at 800K
|
||||
fix 1 statted_grp nvt temp 800 800 100
|
||||
fix 1 statted_grp_REACT nvt temp 800 800 100
|
||||
|
||||
# in order to customize behavior of reacting atoms,
|
||||
# you can use the internally created 'bond_react_MASTER_group', like so:
|
||||
|
||||
@ -36,7 +36,7 @@ fix myrxns all bond/react stabilization yes statted_grp .03 &
|
||||
react rxn1 all 1 0.0 2.9 mol1 mol2 rxn1_stp1_map &
|
||||
react rxn2 all 1 0.0 5.0 mol3 mol4 rxn1_stp2_map
|
||||
|
||||
fix 1 statted_grp nvt temp 300 300 100
|
||||
fix 1 statted_grp_REACT nvt temp 300 300 100
|
||||
|
||||
fix 4 bond_react_MASTER_group temp/rescale 1 300 300 10 1
|
||||
|
||||
|
||||
6531
examples/USER/plumed/data.peptide
Normal file
6531
examples/USER/plumed/data.peptide
Normal file
File diff suppressed because it is too large
Load Diff
41
examples/USER/plumed/in.peptide-plumed
Normal file
41
examples/USER/plumed/in.peptide-plumed
Normal file
@ -0,0 +1,41 @@
|
||||
# Solvated 5-mer peptide
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
pair_style lj/charmm/coul/long 8.0 10.0 10.0
|
||||
bond_style harmonic
|
||||
angle_style charmm
|
||||
dihedral_style charmm
|
||||
improper_style harmonic
|
||||
kspace_style pppm 0.0001
|
||||
|
||||
read_data data.peptide
|
||||
|
||||
neighbor 2.0 bin
|
||||
neigh_modify delay 5
|
||||
|
||||
timestep 2.0
|
||||
|
||||
group peptide type <= 12
|
||||
group one id 2 4 5 6
|
||||
group two id 80 82 83 84
|
||||
group ref id 37
|
||||
group colvar union one two ref
|
||||
|
||||
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
|
||||
|
||||
fix 2 all plumed plumedfile plumed.dat outfile p.log
|
||||
fix 2a ref setforce 0.0 0.0 0.0
|
||||
|
||||
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
|
||||
|
||||
#dump 1 colvar custom 1 dump.colvar.lammpstrj id xu yu zu fx fy fz
|
||||
#dump_modify 1 sort id
|
||||
|
||||
thermo_style custom step temp etotal pe ke epair ebond f_2
|
||||
thermo 10
|
||||
variable step equal step
|
||||
variable pe equal pe
|
||||
|
||||
run 101
|
||||
162
examples/USER/plumed/log.24Oct18.peptide-plumed.g++.1
Normal file
162
examples/USER/plumed/log.24Oct18.peptide-plumed.g++.1
Normal file
@ -0,0 +1,162 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:87)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Solvated 5-mer peptide
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
pair_style lj/charmm/coul/long 8.0 10.0 10.0
|
||||
bond_style harmonic
|
||||
angle_style charmm
|
||||
dihedral_style charmm
|
||||
improper_style harmonic
|
||||
kspace_style pppm 0.0001
|
||||
|
||||
read_data data.peptide
|
||||
orthogonal box = (36.8402 41.0137 29.7681) to (64.2116 68.3851 57.1395)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
2004 atoms
|
||||
reading velocities ...
|
||||
2004 velocities
|
||||
scanning bonds ...
|
||||
3 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
14 = max dihedrals/atom
|
||||
scanning impropers ...
|
||||
1 = max impropers/atom
|
||||
reading bonds ...
|
||||
1365 bonds
|
||||
reading angles ...
|
||||
786 angles
|
||||
reading dihedrals ...
|
||||
207 dihedrals
|
||||
reading impropers ...
|
||||
12 impropers
|
||||
4 = max # of 1-2 neighbors
|
||||
7 = max # of 1-3 neighbors
|
||||
14 = max # of 1-4 neighbors
|
||||
18 = max # of special neighbors
|
||||
|
||||
neighbor 2.0 bin
|
||||
neigh_modify delay 5
|
||||
|
||||
timestep 2.0
|
||||
|
||||
group peptide type <= 12
|
||||
84 atoms in group peptide
|
||||
group one id 2 4 5 6
|
||||
4 atoms in group one
|
||||
group two id 80 82 83 84
|
||||
4 atoms in group two
|
||||
group ref id 37
|
||||
1 atoms in group ref
|
||||
group colvar union one two ref
|
||||
9 atoms in group colvar
|
||||
|
||||
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
|
||||
|
||||
fix 2 all plumed plumedfile plumed.dat outfile p.log
|
||||
fix 2a ref setforce 0.0 0.0 0.0
|
||||
|
||||
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
|
||||
19 = # of size 2 clusters
|
||||
6 = # of size 3 clusters
|
||||
3 = # of size 4 clusters
|
||||
640 = # of frozen angles
|
||||
|
||||
#dump 1 colvar custom 1 dump.colvar.lammpstrj id xu yu zu fx fy fz
|
||||
#dump_modify 1 sort id
|
||||
|
||||
thermo_style custom step temp etotal pe ke epair ebond f_2
|
||||
thermo 10
|
||||
variable step equal step
|
||||
variable pe equal pe
|
||||
|
||||
run 101
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:321)
|
||||
G vector (1/distance) = 0.268725
|
||||
grid = 15 15 15
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0228209
|
||||
estimated relative force accuracy = 6.87243e-05
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 10648 3375
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 5 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 12
|
||||
ghost atom cutoff = 12
|
||||
binsize = 6, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/charmm/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
SHAKE stats (type/ave/delta) on step 0
|
||||
4 1.111 1.44264e-05
|
||||
6 0.996998 7.26967e-06
|
||||
8 1.08 1.32536e-05
|
||||
10 1.111 1.22749e-05
|
||||
12 1.08 1.11767e-05
|
||||
14 0.96 0
|
||||
18 0.957206 4.37979e-05
|
||||
31 104.519 0.00396029
|
||||
Per MPI rank memory allocation (min/avg/max) = 18.7 | 18.7 | 18.7 Mbytes
|
||||
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
|
||||
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 0
|
||||
10 276.9783 -5234.3057 -6348.6171 1114.3114 -6421.6171 17.024361 0.47785504
|
||||
20 279.08532 -5226.4036 -6349.1917 1122.7881 -6441.0169 20.764378 0.52605302
|
||||
30 282.32141 -5222.3866 -6358.1939 1135.8073 -6448.9785 22.945165 0.65106011
|
||||
40 276.34173 -5218.7623 -6330.5128 1111.7504 -6423.7566 15.655345 0.23795099
|
||||
50 286.12741 -5215.9248 -6367.0439 1151.1192 -6449.2655 17.420975 0.42646205
|
||||
60 273.01449 -5217.7381 -6316.1026 1098.3646 -6406.4709 21.800931 0.92327815
|
||||
70 274.67549 -5221.0246 -6326.0716 1105.047 -6409.7721 19.41235 0.0016975896
|
||||
80 273.74824 -5224.7613 -6326.0778 1101.3165 -6418.5055 19.206793 0.48550348
|
||||
90 284.32594 -5229.195 -6373.0667 1143.8717 -6461.3467 21.124789 0.5468014
|
||||
SHAKE stats (type/ave/delta) on step 100
|
||||
4 1.111 2.06868e-06
|
||||
6 0.996999 2.09521e-06
|
||||
8 1.08 1.10835e-06
|
||||
10 1.111 2.46599e-06
|
||||
12 1.08 8.86314e-07
|
||||
14 0.959999 0
|
||||
18 0.9572 9.14098e-06
|
||||
31 104.52 0.000760401
|
||||
100 270.40648 -5234.9604 -6322.8327 1087.8723 -6417.73 19.666404 0.0094784372
|
||||
101 270.99811 -5235.8295 -6326.082 1090.2525 -6418.8974 17.285816 0.086681332
|
||||
Loop time of 2.12948 on 1 procs for 101 steps with 2004 atoms
|
||||
|
||||
Performance: 8.196 ns/day, 2.928 hours/ns, 47.429 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.757 | 1.757 | 1.757 | 0.0 | 82.51
|
||||
Bond | 0.0052233 | 0.0052233 | 0.0052233 | 0.0 | 0.25
|
||||
Kspace | 0.14772 | 0.14772 | 0.14772 | 0.0 | 6.94
|
||||
Neigh | 0.16455 | 0.16455 | 0.16455 | 0.0 | 7.73
|
||||
Comm | 0.0083704 | 0.0083704 | 0.0083704 | 0.0 | 0.39
|
||||
Output | 0.00031424 | 0.00031424 | 0.00031424 | 0.0 | 0.01
|
||||
Modify | 0.044411 | 0.044411 | 0.044411 | 0.0 | 2.09
|
||||
Other | | 0.001851 | | | 0.09
|
||||
|
||||
Nlocal: 2004 ave 2004 max 2004 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 11134 ave 11134 max 11134 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 707961 ave 707961 max 707961 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 707961
|
||||
Ave neighs/atom = 353.274
|
||||
Ave special neighs/atom = 2.34032
|
||||
Neighbor list builds = 8
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:02
|
||||
162
examples/USER/plumed/log.24Oct18.peptide-plumed.g++.4
Normal file
162
examples/USER/plumed/log.24Oct18.peptide-plumed.g++.4
Normal file
@ -0,0 +1,162 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:87)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Solvated 5-mer peptide
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
pair_style lj/charmm/coul/long 8.0 10.0 10.0
|
||||
bond_style harmonic
|
||||
angle_style charmm
|
||||
dihedral_style charmm
|
||||
improper_style harmonic
|
||||
kspace_style pppm 0.0001
|
||||
|
||||
read_data data.peptide
|
||||
orthogonal box = (36.8402 41.0137 29.7681) to (64.2116 68.3851 57.1395)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
2004 atoms
|
||||
reading velocities ...
|
||||
2004 velocities
|
||||
scanning bonds ...
|
||||
3 = max bonds/atom
|
||||
scanning angles ...
|
||||
6 = max angles/atom
|
||||
scanning dihedrals ...
|
||||
14 = max dihedrals/atom
|
||||
scanning impropers ...
|
||||
1 = max impropers/atom
|
||||
reading bonds ...
|
||||
1365 bonds
|
||||
reading angles ...
|
||||
786 angles
|
||||
reading dihedrals ...
|
||||
207 dihedrals
|
||||
reading impropers ...
|
||||
12 impropers
|
||||
4 = max # of 1-2 neighbors
|
||||
7 = max # of 1-3 neighbors
|
||||
14 = max # of 1-4 neighbors
|
||||
18 = max # of special neighbors
|
||||
|
||||
neighbor 2.0 bin
|
||||
neigh_modify delay 5
|
||||
|
||||
timestep 2.0
|
||||
|
||||
group peptide type <= 12
|
||||
84 atoms in group peptide
|
||||
group one id 2 4 5 6
|
||||
4 atoms in group one
|
||||
group two id 80 82 83 84
|
||||
4 atoms in group two
|
||||
group ref id 37
|
||||
1 atoms in group ref
|
||||
group colvar union one two ref
|
||||
9 atoms in group colvar
|
||||
|
||||
fix 1 all nvt temp 275.0 275.0 100.0 tchain 1
|
||||
|
||||
fix 2 all plumed plumedfile plumed.dat outfile p.log
|
||||
fix 2a ref setforce 0.0 0.0 0.0
|
||||
|
||||
fix 4 all shake 0.0001 10 100 b 4 6 8 10 12 14 18 a 31
|
||||
19 = # of size 2 clusters
|
||||
6 = # of size 3 clusters
|
||||
3 = # of size 4 clusters
|
||||
640 = # of frozen angles
|
||||
|
||||
#dump 1 colvar custom 1 dump.colvar.lammpstrj id xu yu zu fx fy fz
|
||||
#dump_modify 1 sort id
|
||||
|
||||
thermo_style custom step temp etotal pe ke epair ebond f_2
|
||||
thermo 10
|
||||
variable step equal step
|
||||
variable pe equal pe
|
||||
|
||||
run 101
|
||||
PPPM initialization ...
|
||||
using 12-bit tables for long-range coulomb (../kspace.cpp:321)
|
||||
G vector (1/distance) = 0.268725
|
||||
grid = 15 15 15
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.0228209
|
||||
estimated relative force accuracy = 6.87243e-05
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 4312 960
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 5 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 12
|
||||
ghost atom cutoff = 12
|
||||
binsize = 6, bins = 5 5 5
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/charmm/coul/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
SHAKE stats (type/ave/delta) on step 0
|
||||
4 1.111 1.44264e-05
|
||||
6 0.996998 7.26967e-06
|
||||
8 1.08 1.32536e-05
|
||||
10 1.111 1.22749e-05
|
||||
12 1.08 1.11767e-05
|
||||
14 0.96 0
|
||||
18 0.957206 4.37979e-05
|
||||
31 104.519 0.00396029
|
||||
Per MPI rank memory allocation (min/avg/max) = 15.65 | 15.86 | 16.05 Mbytes
|
||||
Step Temp TotEng PotEng KinEng E_pair E_bond f_2
|
||||
0 282.10052 -5237.458 -6372.3766 1134.9186 -6442.768 16.557152 0
|
||||
10 276.9783 -5234.3057 -6348.6171 1114.3114 -6421.6171 17.024361 0.47785504
|
||||
20 279.08532 -5226.4036 -6349.1917 1122.7881 -6441.0169 20.764378 0.52605302
|
||||
30 282.32141 -5222.3866 -6358.1939 1135.8073 -6448.9785 22.945165 0.65106011
|
||||
40 276.34173 -5218.7623 -6330.5128 1111.7504 -6423.7566 15.655345 0.23795099
|
||||
50 286.12741 -5215.9248 -6367.0439 1151.1192 -6449.2655 17.420975 0.42646205
|
||||
60 273.01449 -5217.7381 -6316.1026 1098.3646 -6406.4709 21.800931 0.92327815
|
||||
70 274.67549 -5221.0246 -6326.0716 1105.047 -6409.7721 19.41235 0.0016975896
|
||||
80 273.74824 -5224.7613 -6326.0778 1101.3165 -6418.5055 19.206793 0.48550348
|
||||
90 284.32594 -5229.195 -6373.0667 1143.8717 -6461.3466 21.124789 0.5468014
|
||||
SHAKE stats (type/ave/delta) on step 100
|
||||
4 1.111 2.06868e-06
|
||||
6 0.996999 2.09521e-06
|
||||
8 1.08 1.10835e-06
|
||||
10 1.111 2.46599e-06
|
||||
12 1.08 8.86314e-07
|
||||
14 0.959999 0
|
||||
18 0.9572 9.14098e-06
|
||||
31 104.52 0.000760401
|
||||
100 270.40648 -5234.9604 -6322.8327 1087.8723 -6417.73 19.666404 0.009478437
|
||||
101 270.99811 -5235.8295 -6326.082 1090.2525 -6418.8974 17.285816 0.086681332
|
||||
Loop time of 1.16767 on 4 procs for 101 steps with 2004 atoms
|
||||
|
||||
Performance: 14.947 ns/day, 1.606 hours/ns, 86.497 timesteps/s
|
||||
97.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.84633 | 0.86651 | 0.88617 | 1.6 | 74.21
|
||||
Bond | 0.0010614 | 0.0027132 | 0.004288 | 3.0 | 0.23
|
||||
Kspace | 0.095008 | 0.1162 | 0.13491 | 4.3 | 9.95
|
||||
Neigh | 0.07834 | 0.078424 | 0.078516 | 0.0 | 6.72
|
||||
Comm | 0.03314 | 0.033299 | 0.033426 | 0.1 | 2.85
|
||||
Output | 0.00036979 | 0.00076199 | 0.0019338 | 0.0 | 0.07
|
||||
Modify | 0.063471 | 0.064011 | 0.065312 | 0.3 | 5.48
|
||||
Other | | 0.005751 | | | 0.49
|
||||
|
||||
Nlocal: 501 ave 512 max 492 min
|
||||
Histogram: 1 0 0 1 0 1 0 0 0 1
|
||||
Nghost: 6570.25 ave 6604 max 6529 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 1 1
|
||||
Neighs: 176990 ave 181122 max 173551 min
|
||||
Histogram: 1 1 0 0 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 707961
|
||||
Ave neighs/atom = 353.274
|
||||
Ave special neighs/atom = 2.34032
|
||||
Neighbor list builds = 8
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:01
|
||||
4
examples/USER/plumed/plumed.dat
Normal file
4
examples/USER/plumed/plumed.dat
Normal file
@ -0,0 +1,4 @@
|
||||
UNITS LENGTH=A ENERGY=kcal/mol
|
||||
dd: DISTANCE ATOMS=45,48
|
||||
RESTRAINT ARG=dd KAPPA=2000 AT=6.0
|
||||
PRINT ARG=dd FILE=colvar
|
||||
103
examples/USER/plumed/reference/colvar
Normal file
103
examples/USER/plumed/reference/colvar
Normal file
@ -0,0 +1,103 @@
|
||||
#! FIELDS time dd
|
||||
0.000000 5.985554
|
||||
0.002000 6.002880
|
||||
0.004000 6.022015
|
||||
0.006000 6.029922
|
||||
0.008000 6.020103
|
||||
0.010000 5.996906
|
||||
0.012000 5.972734
|
||||
0.014000 5.960079
|
||||
0.016000 5.963714
|
||||
0.018000 5.978140
|
||||
0.020000 5.991813
|
||||
0.022000 5.995155
|
||||
0.024000 5.987021
|
||||
0.026000 5.975340
|
||||
0.028000 5.971456
|
||||
0.030000 5.981945
|
||||
0.032000 6.003550
|
||||
0.034000 6.024743
|
||||
0.036000 6.032990
|
||||
0.038000 6.022936
|
||||
0.040000 6.000131
|
||||
0.042000 5.977800
|
||||
0.044000 5.968692
|
||||
0.046000 5.977224
|
||||
0.048000 5.996934
|
||||
0.050000 6.014800
|
||||
0.052000 6.019586
|
||||
0.054000 6.008803
|
||||
0.056000 5.989809
|
||||
0.058000 5.974484
|
||||
0.060000 5.971140
|
||||
0.062000 5.979074
|
||||
0.064000 5.989379
|
||||
0.066000 5.991356
|
||||
0.068000 5.980176
|
||||
0.070000 5.960625
|
||||
0.072000 5.944401
|
||||
0.074000 5.942614
|
||||
0.076000 5.958402
|
||||
0.078000 5.984574
|
||||
0.080000 6.007964
|
||||
0.082000 6.017667
|
||||
0.084000 6.011795
|
||||
0.086000 5.998304
|
||||
0.088000 5.989405
|
||||
0.090000 5.993275
|
||||
0.092000 6.008545
|
||||
0.094000 6.025183
|
||||
0.096000 6.031186
|
||||
0.098000 6.020651
|
||||
0.100000 5.997952
|
||||
0.102000 5.975230
|
||||
0.104000 5.964757
|
||||
0.106000 5.971150
|
||||
0.108000 5.988568
|
||||
0.110000 6.004676
|
||||
0.112000 6.008731
|
||||
0.114000 5.998481
|
||||
0.116000 5.981406
|
||||
0.118000 5.969615
|
||||
0.120000 5.971827
|
||||
0.122000 5.987658
|
||||
0.124000 6.007888
|
||||
0.126000 6.020477
|
||||
0.128000 6.018377
|
||||
0.130000 6.004046
|
||||
0.132000 5.987682
|
||||
0.134000 5.980338
|
||||
0.136000 5.986534
|
||||
0.138000 6.001303
|
||||
0.140000 6.013589
|
||||
0.142000 6.013717
|
||||
0.144000 6.000028
|
||||
0.146000 5.980283
|
||||
0.148000 5.966836
|
||||
0.150000 5.968670
|
||||
0.152000 5.985459
|
||||
0.154000 6.007612
|
||||
0.156000 6.022374
|
||||
0.158000 6.022034
|
||||
0.160000 6.008851
|
||||
0.162000 5.993355
|
||||
0.164000 5.987212
|
||||
0.166000 5.995452
|
||||
0.168000 6.013111
|
||||
0.170000 6.028386
|
||||
0.172000 6.030387
|
||||
0.174000 6.016468
|
||||
0.176000 5.994191
|
||||
0.178000 5.976616
|
||||
0.180000 5.973983
|
||||
0.182000 5.987185
|
||||
0.184000 6.007275
|
||||
0.186000 6.021338
|
||||
0.188000 6.020837
|
||||
0.190000 6.006955
|
||||
0.192000 5.989433
|
||||
0.194000 5.979796
|
||||
0.196000 5.983601
|
||||
0.198000 5.996921
|
||||
0.200000 6.009310
|
||||
0.202000 6.011114
|
||||
57
examples/USER/plumed/reference/p.log
Normal file
57
examples/USER/plumed/reference/p.log
Normal file
@ -0,0 +1,57 @@
|
||||
PLUMED: PLUMED is starting
|
||||
PLUMED: Version: 2.4.2 (git: Unknown) compiled on Jul 11 2018 at 19:09:03
|
||||
PLUMED: Please cite this paper when using PLUMED [1]
|
||||
PLUMED: For further information see the PLUMED web page at http://www.plumed.org
|
||||
PLUMED: Root: /Users/gareth/MD_code/lammps-permanent/lammps/lib/plumed/plumed2-2.4.2/
|
||||
PLUMED: For installed feature, see /Users/gareth/MD_code/lammps-permanent/lammps/lib/plumed/plumed2-2.4.2//src/config/config.txt
|
||||
PLUMED: Molecular dynamics engine: LAMMPS
|
||||
PLUMED: Precision of reals: 8
|
||||
PLUMED: Running over 1 node
|
||||
PLUMED: Number of threads: 1
|
||||
PLUMED: Cache line size: 512
|
||||
PLUMED: Number of atoms: 2004
|
||||
PLUMED: File suffix:
|
||||
PLUMED: FILE: plumed.dat
|
||||
PLUMED: Action UNITS
|
||||
PLUMED: with label @0
|
||||
PLUMED: length: A
|
||||
PLUMED: energy: kcal/mol
|
||||
PLUMED: time: ps
|
||||
PLUMED: charge: e
|
||||
PLUMED: mass: amu
|
||||
PLUMED: using physical units
|
||||
PLUMED: inside PLUMED, Boltzmann constant is 0.001987
|
||||
PLUMED: Action DISTANCE
|
||||
PLUMED: with label dd
|
||||
PLUMED: between atoms 45 48
|
||||
PLUMED: using periodic boundary conditions
|
||||
PLUMED: Action RESTRAINT
|
||||
PLUMED: with label @2
|
||||
PLUMED: with arguments dd
|
||||
PLUMED: added component to this action: @2.bias
|
||||
PLUMED: at 6.000000
|
||||
PLUMED: with harmonic force constant 2000.000000
|
||||
PLUMED: and linear force constant 0.000000
|
||||
PLUMED: added component to this action: @2.force2
|
||||
PLUMED: Action PRINT
|
||||
PLUMED: with label @3
|
||||
PLUMED: with stride 1
|
||||
PLUMED: with arguments dd
|
||||
PLUMED: on file colvar
|
||||
PLUMED: with format %f
|
||||
PLUMED: END FILE: plumed.dat
|
||||
PLUMED: Timestep: 0.002000
|
||||
PLUMED: KbT has not been set by the MD engine
|
||||
PLUMED: It should be set by hand where needed
|
||||
PLUMED: Relevant bibliography:
|
||||
PLUMED: [1] Tribello, Bonomi, Branduardi, Camilloni, and Bussi, Comput. Phys. Commun. 185, 604 (2014)
|
||||
PLUMED: Please read and cite where appropriate!
|
||||
PLUMED: Finished setup
|
||||
PLUMED: Cycles Total Average Minumum Maximum
|
||||
PLUMED: 1 0.020354 0.020354 0.020354 0.020354
|
||||
PLUMED: 1 Prepare dependencies 102 0.000256 0.000003 0.000001 0.000006
|
||||
PLUMED: 2 Sharing data 102 0.010002 0.000098 0.000078 0.000546
|
||||
PLUMED: 3 Waiting for data 102 0.001398 0.000014 0.000011 0.000072
|
||||
PLUMED: 4 Calculating (forward loop) 102 0.001797 0.000018 0.000013 0.000058
|
||||
PLUMED: 5 Applying (backward loop) 102 0.002666 0.000026 0.000022 0.000062
|
||||
PLUMED: 6 Update 102 0.001126 0.000011 0.000007 0.000055
|
||||
@ -1,7 +1,7 @@
|
||||
# Point dipoles in a 2d box
|
||||
|
||||
units lj
|
||||
atom_style full
|
||||
atom_style charge
|
||||
|
||||
read_data data.NaCl
|
||||
|
||||
@ -29,7 +29,7 @@ pair_coeff * *
|
||||
#fix 2 all scafacos p3m tolerance field 0.001
|
||||
|
||||
kspace_style scafacos p3m 0.001
|
||||
kspace_style scafacos tolerance field
|
||||
#kspace_style scafacos tolerance field
|
||||
|
||||
timestep 0.005
|
||||
thermo 10
|
||||
|
||||
61
examples/USER/sdpd/2d-diffusion-in-shear-flow/in.lammps
Normal file
61
examples/USER/sdpd/2d-diffusion-in-shear-flow/in.lammps
Normal file
@ -0,0 +1,61 @@
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable Lf equal $R*3
|
||||
variable Lb equal $R*4
|
||||
variable wall_velocity equal 0.01 # micrometers/microsecond
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
|
||||
region box block -${Lb} ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
create_box 4 box
|
||||
lattice sq $a
|
||||
|
||||
create_atoms 1 box
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
set region sphere type 2
|
||||
|
||||
region upper_wall block INF INF +${Lf} INF INF INF units box
|
||||
set region upper_wall type 3
|
||||
|
||||
region lower_wall block INF INF INF -${Lf} INF INF units box
|
||||
set region lower_wall type 4
|
||||
|
||||
group fluid type 1
|
||||
group sphere type 2
|
||||
group upper_wall type 3
|
||||
group lower_wall type 4
|
||||
|
||||
mass * ${mass}
|
||||
set group all meso/rho ${rho_0}
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 2 sphere rigid/meso single
|
||||
fix 3 upper_wall meso/move linear +${wall_velocity} 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -${wall_velocity} 0 0 units box
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
@ -0,0 +1,247 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable Lf equal $R*3
|
||||
variable Lf equal 0.5*3
|
||||
variable Lb equal $R*4
|
||||
variable Lb equal 0.5*4
|
||||
variable wall_velocity equal 0.01 # micrometers/microsecond
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -${Lb} ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 0.1 units box
|
||||
create_box 4 box
|
||||
Created orthogonal box = (-2 -2 0) to (2 2 0.1)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 1600 atoms
|
||||
Time spent = 0.00169706 secs
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
81 settings made for type
|
||||
|
||||
region upper_wall block INF INF +${Lf} INF INF INF units box
|
||||
region upper_wall block INF INF +1.5 INF INF INF units box
|
||||
set region upper_wall type 3
|
||||
200 settings made for type
|
||||
|
||||
region lower_wall block INF INF INF -${Lf} INF INF units box
|
||||
region lower_wall block INF INF INF -1.5 INF INF units box
|
||||
set region lower_wall type 4
|
||||
240 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
1079 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
group upper_wall type 3
|
||||
200 atoms in group upper_wall
|
||||
group lower_wall type 4
|
||||
240 atoms in group lower_wall
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
1600 settings made for meso/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
fix 3 upper_wall meso/move linear +${wall_velocity} 0 0 units box
|
||||
fix 3 upper_wall meso/move linear +0.01 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -${wall_velocity} 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -0.01 0 0 units box
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 15 15 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/2d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.937 | 6.937 | 6.937 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 0 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 3 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 4 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 5 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 6 0
|
||||
2200 2.2 7 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 7 0
|
||||
2500 2.5 8 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 8 0
|
||||
2800 2.8 9 0
|
||||
2900 2.9 9 0
|
||||
3000 3 9 0
|
||||
3100 3.1 10 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 10 0
|
||||
3400 3.4 11 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 11 0
|
||||
3700 3.7 12 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 12 0
|
||||
4000 4 13 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 14 0
|
||||
4300 4.3 14 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 15 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 16 0
|
||||
4900 4.9 16 0
|
||||
5000 5 16 0
|
||||
5100 5.1 17 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 17 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 18 0
|
||||
5700 5.7 19 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 19 0
|
||||
6000 6 20 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 21 0
|
||||
6300 6.3 21 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 22 0
|
||||
6600 6.6 22 0
|
||||
6700 6.7 22 0
|
||||
6800 6.8 23 0
|
||||
6900 6.9 23 0
|
||||
7000 7 23 0
|
||||
7100 7.1 24 0
|
||||
7200 7.2 24 0
|
||||
7300 7.3 25 0
|
||||
7400 7.4 25 0
|
||||
7500 7.5 25 0
|
||||
7600 7.6 26 0
|
||||
7700 7.7 26 0
|
||||
7800 7.8 26 0
|
||||
7900 7.9 27 0
|
||||
8000 8 27 0
|
||||
8100 8.1 27 0
|
||||
8200 8.2 28 0
|
||||
8300 8.3 28 0
|
||||
8400 8.4 28 0
|
||||
8500 8.5 29 0
|
||||
8600 8.6 29 0
|
||||
8700 8.7 30 0
|
||||
8800 8.8 30 0
|
||||
8900 8.9 30 0
|
||||
9000 9 31 0
|
||||
9100 9.1 31 0
|
||||
9200 9.2 31 0
|
||||
9300 9.3 32 0
|
||||
9400 9.4 32 0
|
||||
9500 9.5 32 0
|
||||
9600 9.6 33 0
|
||||
9700 9.7 33 0
|
||||
9800 9.8 33 0
|
||||
9900 9.9 34 0
|
||||
10000 10 34 0
|
||||
Loop time of 144.208 on 1 procs for 10000 steps with 1600 atoms
|
||||
|
||||
Performance: 5991348.580 ns/day, 0.000 hours/ns, 69.344 timesteps/s
|
||||
99.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 143.08 | 143.08 | 143.08 | 0.0 | 99.22
|
||||
Neigh | 0.033195 | 0.033195 | 0.033195 | 0.0 | 0.02
|
||||
Comm | 0.24139 | 0.24139 | 0.24139 | 0.0 | 0.17
|
||||
Output | 0.11687 | 0.11687 | 0.11687 | 0.0 | 0.08
|
||||
Modify | 0.61566 | 0.61566 | 0.61566 | 0.0 | 0.43
|
||||
Other | | 0.117 | | | 0.08
|
||||
|
||||
Nlocal: 1600 ave 1600 max 1600 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 993 ave 993 max 993 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 73236 ave 73236 max 73236 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 73236
|
||||
Ave neighs/atom = 45.7725
|
||||
Neighbor list builds = 34
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:24
|
||||
@ -0,0 +1,247 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable Lf equal $R*3
|
||||
variable Lf equal 0.5*3
|
||||
variable Lb equal $R*4
|
||||
variable Lb equal 0.5*4
|
||||
variable wall_velocity equal 0.01 # micrometers/microsecond
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -${Lb} ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 ${Lb} -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -${Lb} ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 ${Lb} 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 ${a} units box
|
||||
region box block -2 2 -2 2 0 0.1 units box
|
||||
create_box 4 box
|
||||
Created orthogonal box = (-2 -2 0) to (2 2 0.1)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 1600 atoms
|
||||
Time spent = 0.000589566 secs
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
81 settings made for type
|
||||
|
||||
region upper_wall block INF INF +${Lf} INF INF INF units box
|
||||
region upper_wall block INF INF +1.5 INF INF INF units box
|
||||
set region upper_wall type 3
|
||||
200 settings made for type
|
||||
|
||||
region lower_wall block INF INF INF -${Lf} INF INF units box
|
||||
region lower_wall block INF INF INF -1.5 INF INF units box
|
||||
set region lower_wall type 4
|
||||
240 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
1079 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
group upper_wall type 3
|
||||
200 atoms in group upper_wall
|
||||
group lower_wall type 4
|
||||
240 atoms in group lower_wall
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
1600 settings made for meso/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
fix 3 upper_wall meso/move linear +${wall_velocity} 0 0 units box
|
||||
fix 3 upper_wall meso/move linear +0.01 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -${wall_velocity} 0 0 units box
|
||||
fix 4 lower_wall meso/move linear -0.01 0 0 units box
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 15 15 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/2d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.854 | 6.854 | 6.854 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 1 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 4 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 4 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 5 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 6 0
|
||||
2200 2.2 6 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 7 0
|
||||
2500 2.5 7 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 8 0
|
||||
2800 2.8 8 0
|
||||
2900 2.9 9 0
|
||||
3000 3 9 0
|
||||
3100 3.1 9 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 10 0
|
||||
3400 3.4 10 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 11 0
|
||||
3700 3.7 11 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 12 0
|
||||
4000 4 12 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 13 0
|
||||
4300 4.3 13 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 14 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 15 0
|
||||
4900 4.9 16 0
|
||||
5000 5 16 0
|
||||
5100 5.1 17 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 17 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 18 0
|
||||
5700 5.7 18 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 19 0
|
||||
6000 6 20 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 20 0
|
||||
6300 6.3 21 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 21 0
|
||||
6600 6.6 22 0
|
||||
6700 6.7 22 0
|
||||
6800 6.8 22 0
|
||||
6900 6.9 23 0
|
||||
7000 7 23 0
|
||||
7100 7.1 23 0
|
||||
7200 7.2 24 0
|
||||
7300 7.3 24 0
|
||||
7400 7.4 25 0
|
||||
7500 7.5 25 0
|
||||
7600 7.6 25 0
|
||||
7700 7.7 25 0
|
||||
7800 7.8 26 0
|
||||
7900 7.9 26 0
|
||||
8000 8 26 0
|
||||
8100 8.1 27 0
|
||||
8200 8.2 27 0
|
||||
8300 8.3 27 0
|
||||
8400 8.4 28 0
|
||||
8500 8.5 28 0
|
||||
8600 8.6 28 0
|
||||
8700 8.7 29 0
|
||||
8800 8.8 29 0
|
||||
8900 8.9 29 0
|
||||
9000 9 30 0
|
||||
9100 9.1 30 0
|
||||
9200 9.2 31 0
|
||||
9300 9.3 31 0
|
||||
9400 9.4 31 0
|
||||
9500 9.5 32 0
|
||||
9600 9.6 32 0
|
||||
9700 9.7 32 0
|
||||
9800 9.8 32 0
|
||||
9900 9.9 33 0
|
||||
10000 10 33 0
|
||||
Loop time of 63.2372 on 4 procs for 10000 steps with 1600 atoms
|
||||
|
||||
Performance: 13662841.706 ns/day, 0.000 hours/ns, 158.135 timesteps/s
|
||||
94.3% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 51.576 | 53.662 | 55.484 | 23.9 | 84.86
|
||||
Neigh | 0.011519 | 0.012395 | 0.013405 | 0.7 | 0.02
|
||||
Comm | 6.8389 | 8.5423 | 10.517 | 56.1 | 13.51
|
||||
Output | 0.12342 | 0.12513 | 0.1302 | 0.8 | 0.20
|
||||
Modify | 0.58708 | 0.69128 | 0.78806 | 11.3 | 1.09
|
||||
Other | | 0.2038 | | | 0.32
|
||||
|
||||
Nlocal: 400 ave 411 max 388 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
Nghost: 552.25 ave 567 max 539 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Neighs: 18298.8 ave 18781 max 17829 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 73195
|
||||
Ave neighs/atom = 45.7469
|
||||
Neighbor list builds = 33
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:03
|
||||
49
examples/USER/sdpd/2d-diffusion/in.lammps
Normal file
49
examples/USER/sdpd/2d-diffusion/in.lammps
Normal file
@ -0,0 +1,49 @@
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable L equal $R*3
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
|
||||
region box block -$L $L -$L $L 0 $a units box
|
||||
create_box 2 box
|
||||
lattice sq $a
|
||||
|
||||
create_atoms 1 box
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
set region sphere type 2
|
||||
|
||||
group fluid type 1
|
||||
group sphere type 2
|
||||
|
||||
mass * ${mass}
|
||||
set group all meso/rho ${rho_0}
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 2 sphere rigid/meso single
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
226
examples/USER/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.1
Normal file
226
examples/USER/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.1
Normal file
@ -0,0 +1,226 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable L equal $R*3
|
||||
variable L equal 0.5*3
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -$L $L -$L $L 0 $a units box
|
||||
region box block -1.5 $L -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 0.1 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-1.5 -1.5 0) to (1.5 1.5 0.1)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 900 atoms
|
||||
Time spent = 0.0015769 secs
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
81 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
819 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
900 settings made for meso/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 12 12 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/2d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.137 | 6.137 | 6.137 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 1 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 3 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 4 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 6 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 7 0
|
||||
2200 2.2 7 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 7 0
|
||||
2500 2.5 8 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 8 0
|
||||
2800 2.8 9 0
|
||||
2900 2.9 9 0
|
||||
3000 3 10 0
|
||||
3100 3.1 10 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 11 0
|
||||
3400 3.4 11 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 12 0
|
||||
3700 3.7 12 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 13 0
|
||||
4000 4 13 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 14 0
|
||||
4300 4.3 14 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 15 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 16 0
|
||||
4900 4.9 16 0
|
||||
5000 5 17 0
|
||||
5100 5.1 17 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 18 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 18 0
|
||||
5700 5.7 19 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 19 0
|
||||
6000 6 19 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 20 0
|
||||
6300 6.3 20 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 21 0
|
||||
6600 6.6 21 0
|
||||
6700 6.7 21 0
|
||||
6800 6.8 22 0
|
||||
6900 6.9 22 0
|
||||
7000 7 22 0
|
||||
7100 7.1 23 0
|
||||
7200 7.2 23 0
|
||||
7300 7.3 23 0
|
||||
7400 7.4 24 0
|
||||
7500 7.5 24 0
|
||||
7600 7.6 24 0
|
||||
7700 7.7 25 0
|
||||
7800 7.8 25 0
|
||||
7900 7.9 26 0
|
||||
8000 8 26 0
|
||||
8100 8.1 26 0
|
||||
8200 8.2 26 0
|
||||
8300 8.3 27 0
|
||||
8400 8.4 27 0
|
||||
8500 8.5 27 0
|
||||
8600 8.6 28 0
|
||||
8700 8.7 28 0
|
||||
8800 8.8 28 0
|
||||
8900 8.9 29 0
|
||||
9000 9 29 0
|
||||
9100 9.1 29 0
|
||||
9200 9.2 30 0
|
||||
9300 9.3 30 0
|
||||
9400 9.4 30 0
|
||||
9500 9.5 30 0
|
||||
9600 9.6 31 0
|
||||
9700 9.7 31 0
|
||||
9800 9.8 32 0
|
||||
9900 9.9 32 0
|
||||
10000 10 32 0
|
||||
Loop time of 80.9456 on 1 procs for 10000 steps with 900 atoms
|
||||
|
||||
Performance: 10673829.855 ns/day, 0.000 hours/ns, 123.540 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 80.306 | 80.306 | 80.306 | 0.0 | 99.21
|
||||
Neigh | 0.017418 | 0.017418 | 0.017418 | 0.0 | 0.02
|
||||
Comm | 0.16939 | 0.16939 | 0.16939 | 0.0 | 0.21
|
||||
Output | 0.070281 | 0.070281 | 0.070281 | 0.0 | 0.09
|
||||
Modify | 0.3154 | 0.3154 | 0.3154 | 0.0 | 0.39
|
||||
Other | | 0.067 | | | 0.08
|
||||
|
||||
Nlocal: 900 ave 900 max 900 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 762 ave 762 max 762 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 40697 ave 40697 max 40697 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 40697
|
||||
Ave neighs/atom = 45.2189
|
||||
Neighbor list builds = 32
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:20
|
||||
226
examples/USER/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.4
Normal file
226
examples/USER/sdpd/2d-diffusion/log.24Oct18.2d-diffusion.g++.4
Normal file
@ -0,0 +1,226 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
dimension 2
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable R equal 0.5 # radius of sphere micrometers
|
||||
variable a equal $R/5 # lattice spacing micrometers
|
||||
variable a equal 0.5/5
|
||||
variable L equal $R*3
|
||||
variable L equal 0.5*3
|
||||
variable T equal 300.
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 100. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.5 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.5
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 1e-3 # timestep microseconds
|
||||
variable skin equal 0.2*$h
|
||||
variable skin equal 0.2*0.45
|
||||
|
||||
region box block -$L $L -$L $L 0 $a units box
|
||||
region box block -1.5 $L -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -$L $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 $L 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 $a units box
|
||||
region box block -1.5 1.5 -1.5 1.5 0 0.1 units box
|
||||
create_box 2 box
|
||||
Created orthogonal box = (-1.5 -1.5 0) to (1.5 1.5 0.1)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
lattice sq $a
|
||||
lattice sq 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 900 atoms
|
||||
Time spent = 0.0010246 secs
|
||||
|
||||
region sphere sphere 0 0 0 $R units box
|
||||
region sphere sphere 0 0 0 0.5 units box
|
||||
set region sphere type 2
|
||||
81 settings made for type
|
||||
|
||||
group fluid type 1
|
||||
819 atoms in group fluid
|
||||
group sphere type 2
|
||||
81 atoms in group sphere
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
900 settings made for meso/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 100 ${h}
|
||||
pair_coeff * * 1 100 0.45
|
||||
|
||||
fix 1 fluid meso
|
||||
fix 2 sphere rigid/meso single
|
||||
1 rigid bodies with 81 atoms
|
||||
|
||||
fix 2d all enforce2d
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.09 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
timestep ${dt}
|
||||
timestep 0.001
|
||||
|
||||
dump dump_id all atom 100 dump.lammpstrj
|
||||
|
||||
thermo 100
|
||||
thermo_style custom step time nbuild ndanger
|
||||
|
||||
run 10000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.54
|
||||
ghost atom cutoff = 0.54
|
||||
binsize = 0.27, bins = 12 12 1
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/2d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.087 | 6.087 | 6.087 Mbytes
|
||||
Step Time Nbuild Ndanger
|
||||
0 0 0 0
|
||||
100 0.1 0 0
|
||||
200 0.2 0 0
|
||||
300 0.3 0 0
|
||||
400 0.4 1 0
|
||||
500 0.5 1 0
|
||||
600 0.6 1 0
|
||||
700 0.7 2 0
|
||||
800 0.8 2 0
|
||||
900 0.9 2 0
|
||||
1000 1 3 0
|
||||
1100 1.1 3 0
|
||||
1200 1.2 3 0
|
||||
1300 1.3 4 0
|
||||
1400 1.4 4 0
|
||||
1500 1.5 5 0
|
||||
1600 1.6 5 0
|
||||
1700 1.7 5 0
|
||||
1800 1.8 6 0
|
||||
1900 1.9 6 0
|
||||
2000 2 6 0
|
||||
2100 2.1 7 0
|
||||
2200 2.2 7 0
|
||||
2300 2.3 7 0
|
||||
2400 2.4 8 0
|
||||
2500 2.5 8 0
|
||||
2600 2.6 8 0
|
||||
2700 2.7 9 0
|
||||
2800 2.8 9 0
|
||||
2900 2.9 9 0
|
||||
3000 3 9 0
|
||||
3100 3.1 10 0
|
||||
3200 3.2 10 0
|
||||
3300 3.3 10 0
|
||||
3400 3.4 11 0
|
||||
3500 3.5 11 0
|
||||
3600 3.6 11 0
|
||||
3700 3.7 12 0
|
||||
3800 3.8 12 0
|
||||
3900 3.9 12 0
|
||||
4000 4 13 0
|
||||
4100 4.1 13 0
|
||||
4200 4.2 13 0
|
||||
4300 4.3 14 0
|
||||
4400 4.4 14 0
|
||||
4500 4.5 15 0
|
||||
4600 4.6 15 0
|
||||
4700 4.7 15 0
|
||||
4800 4.8 16 0
|
||||
4900 4.9 16 0
|
||||
5000 5 16 0
|
||||
5100 5.1 16 0
|
||||
5200 5.2 17 0
|
||||
5300 5.3 17 0
|
||||
5400 5.4 18 0
|
||||
5500 5.5 18 0
|
||||
5600 5.6 19 0
|
||||
5700 5.7 19 0
|
||||
5800 5.8 19 0
|
||||
5900 5.9 20 0
|
||||
6000 6 20 0
|
||||
6100 6.1 20 0
|
||||
6200 6.2 21 0
|
||||
6300 6.3 21 0
|
||||
6400 6.4 21 0
|
||||
6500 6.5 22 0
|
||||
6600 6.6 22 0
|
||||
6700 6.7 22 0
|
||||
6800 6.8 23 0
|
||||
6900 6.9 23 0
|
||||
7000 7 23 0
|
||||
7100 7.1 24 0
|
||||
7200 7.2 24 0
|
||||
7300 7.3 24 0
|
||||
7400 7.4 25 0
|
||||
7500 7.5 25 0
|
||||
7600 7.6 25 0
|
||||
7700 7.7 26 0
|
||||
7800 7.8 26 0
|
||||
7900 7.9 26 0
|
||||
8000 8 27 0
|
||||
8100 8.1 27 0
|
||||
8200 8.2 27 0
|
||||
8300 8.3 28 0
|
||||
8400 8.4 28 0
|
||||
8500 8.5 28 0
|
||||
8600 8.6 28 0
|
||||
8700 8.7 29 0
|
||||
8800 8.8 29 0
|
||||
8900 8.9 29 0
|
||||
9000 9 30 0
|
||||
9100 9.1 30 0
|
||||
9200 9.2 31 0
|
||||
9300 9.3 31 0
|
||||
9400 9.4 31 0
|
||||
9500 9.5 31 0
|
||||
9600 9.6 32 0
|
||||
9700 9.7 32 0
|
||||
9800 9.8 32 0
|
||||
9900 9.9 33 0
|
||||
10000 10 33 0
|
||||
Loop time of 69.01 on 4 procs for 10000 steps with 900 atoms
|
||||
|
||||
Performance: 12519931.275 ns/day, 0.000 hours/ns, 144.907 timesteps/s
|
||||
48.7% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 56.528 | 57.936 | 58.729 | 11.0 | 83.95
|
||||
Neigh | 0.013157 | 0.013382 | 0.013551 | 0.1 | 0.02
|
||||
Comm | 8.9594 | 9.7555 | 11.113 | 26.7 | 14.14
|
||||
Output | 0.14644 | 0.15009 | 0.15809 | 1.2 | 0.22
|
||||
Modify | 0.72913 | 0.91574 | 1.0524 | 12.4 | 1.33
|
||||
Other | | 0.2389 | | | 0.35
|
||||
|
||||
Nlocal: 225 ave 229 max 223 min
|
||||
Histogram: 1 2 0 0 0 0 0 0 0 1
|
||||
Nghost: 442 ave 444 max 439 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 0 2
|
||||
Neighs: 10188.8 ave 10437 max 9932 min
|
||||
Histogram: 1 0 0 1 0 0 0 1 0 1
|
||||
|
||||
Total # of neighbors = 40755
|
||||
Ave neighs/atom = 45.2833
|
||||
Neighbor list builds = 33
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:09
|
||||
24
examples/USER/sdpd/README
Normal file
24
examples/USER/sdpd/README
Normal file
@ -0,0 +1,24 @@
|
||||
Smoothed Dissipative Particle Dynamics examples
|
||||
|
||||
equipartition-verification:
|
||||
This example verifies the equipartition theorem.
|
||||
It simulates a periodic box of water with no solid bodies.
|
||||
If equipartition theorem holds true, the average of each component of
|
||||
translational kinetic energy should be equal to k_B T, and therefore
|
||||
vx_sq_check, vy_sq_check, and vz_sq_check should fluctuate near 1.
|
||||
|
||||
2d-diffusion:
|
||||
This example demonstrates the free diffusion of a disk in 2D.
|
||||
The 3D simulation is similar but takes much longer to complete.
|
||||
As with other statistical experiments you need an ensemble to
|
||||
extract meaningful average quantities.
|
||||
For a more realistic simulation you should increase the resolution
|
||||
of the disk/sphere which also necessitates reduction of timestep.
|
||||
|
||||
2d-diffusion-in-shear-flow:
|
||||
This example demonstrates the diffusion of a disk in shear flow in 2D.
|
||||
The 3D simulation is similar but takes much longer to complete.
|
||||
As with other statistical experiments you need an ensemble to
|
||||
extract meaningful average quantities.
|
||||
For a more realistic simulation you should increase the resolution
|
||||
of the disk/sphere which also necessitates reduction of timestep.
|
||||
45
examples/USER/sdpd/equipartition-verification/in.lammps
Normal file
45
examples/USER/sdpd/equipartition-verification/in.lammps
Normal file
@ -0,0 +1,45 @@
|
||||
dimension 3
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable a equal 0.1 # lattice spacing micrometers
|
||||
variable L equal $a*10
|
||||
variable T equal 300.
|
||||
variable kB equal 1.3806504e-8 # picogram-micrometer^2/(microsecond^2-Kelvin)
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 10. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.0 # kernel function cutoff micrometers
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable dt equal 5e-4 # timestep microseconds
|
||||
variable skin equal 0.1*$h
|
||||
|
||||
region box block -$L $L -$L $L -$L $L units box
|
||||
create_box 1 box
|
||||
lattice sc $a
|
||||
|
||||
create_atoms 1 box
|
||||
|
||||
mass * ${mass}
|
||||
set group all meso/rho ${rho_0}
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
|
||||
variable vx_sq atom vx*vx
|
||||
variable vy_sq atom vy*vy
|
||||
variable vz_sq atom vz*vz
|
||||
compute v_sq all reduce ave v_vx_sq v_vy_sq v_vz_sq
|
||||
variable vx_sq_check equal c_v_sq[1]*${mass}/${kB}/$T
|
||||
variable vy_sq_check equal c_v_sq[2]*${mass}/${kB}/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*${mass}/${kB}/$T
|
||||
|
||||
fix 1 all meso
|
||||
|
||||
neighbor ${skin} bin
|
||||
timestep ${dt}
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
|
||||
run 200
|
||||
@ -0,0 +1,146 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
dimension 3
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable a equal 0.1 # lattice spacing micrometers
|
||||
variable L equal $a*10
|
||||
variable L equal 0.1*10
|
||||
variable T equal 300.
|
||||
variable kB equal 1.3806504e-8 # picogram-micrometer^2/(microsecond^2-Kelvin)
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 10. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.0 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.0
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 5e-4 # timestep microseconds
|
||||
variable skin equal 0.1*$h
|
||||
variable skin equal 0.1*0.4
|
||||
|
||||
region box block -$L $L -$L $L -$L $L units box
|
||||
region box block -1 $L -$L $L -$L $L units box
|
||||
region box block -1 1 -$L $L -$L $L units box
|
||||
region box block -1 1 -1 $L -$L $L units box
|
||||
region box block -1 1 -1 1 -$L $L units box
|
||||
region box block -1 1 -1 1 -1 $L units box
|
||||
region box block -1 1 -1 1 -1 1 units box
|
||||
create_box 1 box
|
||||
Created orthogonal box = (-1 -1 -1) to (1 1 1)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
lattice sc $a
|
||||
lattice sc 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 8000 atoms
|
||||
Time spent = 0.00285411 secs
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
8000 settings made for meso/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 10 ${h}
|
||||
pair_coeff * * 1 10 0.4
|
||||
|
||||
variable vx_sq atom vx*vx
|
||||
variable vy_sq atom vy*vy
|
||||
variable vz_sq atom vz*vz
|
||||
compute v_sq all reduce ave v_vx_sq v_vy_sq v_vz_sq
|
||||
variable vx_sq_check equal c_v_sq[1]*${mass}/${kB}/$T
|
||||
variable vx_sq_check equal c_v_sq[1]*0.001/${kB}/$T
|
||||
variable vx_sq_check equal c_v_sq[1]*0.001/1.3806504e-08/$T
|
||||
variable vx_sq_check equal c_v_sq[1]*0.001/1.3806504e-08/300
|
||||
variable vy_sq_check equal c_v_sq[2]*${mass}/${kB}/$T
|
||||
variable vy_sq_check equal c_v_sq[2]*0.001/${kB}/$T
|
||||
variable vy_sq_check equal c_v_sq[2]*0.001/1.3806504e-08/$T
|
||||
variable vy_sq_check equal c_v_sq[2]*0.001/1.3806504e-08/300
|
||||
variable vz_sq_check equal c_v_sq[3]*${mass}/${kB}/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*0.001/${kB}/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*0.001/1.3806504e-08/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*0.001/1.3806504e-08/300
|
||||
|
||||
fix 1 all meso
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.04 bin
|
||||
timestep ${dt}
|
||||
timestep 0.0005
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
|
||||
run 200
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.44
|
||||
ghost atom cutoff = 0.44
|
||||
binsize = 0.22, bins = 10 10 10
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 13.54 | 13.54 | 13.54 Mbytes
|
||||
Step Time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
0 0 0 0 0
|
||||
10 0.005 0.70973271 0.71495693 0.71910087
|
||||
20 0.01 0.90418096 0.88845437 0.89659567
|
||||
30 0.015 0.9590736 0.97880338 0.9619016
|
||||
40 0.02 0.98533774 0.96057682 0.95600448
|
||||
50 0.025 0.96433662 0.96650071 0.95509683
|
||||
60 0.03 0.96598029 0.96373656 0.96734888
|
||||
70 0.035 0.95433045 0.98004764 0.96255924
|
||||
80 0.04 0.97872906 0.95987289 0.96623598
|
||||
90 0.045 0.99913888 0.99255731 0.95616142
|
||||
100 0.05 0.98872675 0.97141018 0.95338841
|
||||
110 0.055 0.97794592 0.97389258 0.98473719
|
||||
120 0.06 0.98389266 0.96716284 0.95504862
|
||||
130 0.065 0.98572886 0.96680923 0.95599065
|
||||
140 0.07 0.97602684 0.97580081 0.9886878
|
||||
150 0.075 0.99172003 0.95027467 0.96028033
|
||||
160 0.08 0.96793247 0.94590928 0.95644301
|
||||
170 0.085 0.94167619 0.98048861 0.93439426
|
||||
180 0.09 0.97277934 0.97383622 0.96900866
|
||||
190 0.095 0.96647288 1.0027643 0.96230782
|
||||
200 0.1 0.94864291 0.95902585 0.96398175
|
||||
Loop time of 60.1095 on 1 procs for 200 steps with 8000 atoms
|
||||
|
||||
Performance: 143737.595 ns/day, 0.000 hours/ns, 3.327 timesteps/s
|
||||
99.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 59.92 | 59.92 | 59.92 | 0.0 | 99.68
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.11154 | 0.11154 | 0.11154 | 0.0 | 0.19
|
||||
Output | 0.0063498 | 0.0063498 | 0.0063498 | 0.0 | 0.01
|
||||
Modify | 0.043546 | 0.043546 | 0.043546 | 0.0 | 0.07
|
||||
Other | | 0.02811 | | | 0.05
|
||||
|
||||
Nlocal: 8000 ave 8000 max 8000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 16389 ave 16389 max 16389 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 1.456e+06 ave 1.456e+06 max 1.456e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1456000
|
||||
Ave neighs/atom = 182
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:00
|
||||
@ -0,0 +1,146 @@
|
||||
LAMMPS (24 Oct 2018)
|
||||
dimension 3
|
||||
units micro
|
||||
atom_style meso
|
||||
|
||||
variable a equal 0.1 # lattice spacing micrometers
|
||||
variable L equal $a*10
|
||||
variable L equal 0.1*10
|
||||
variable T equal 300.
|
||||
variable kB equal 1.3806504e-8 # picogram-micrometer^2/(microsecond^2-Kelvin)
|
||||
variable rho_0 equal 1. # density picograms/micrometer^3
|
||||
variable c_0 equal 10. # speed of sound micrometers/microsecond
|
||||
variable mu equal 1. # dynamic viscosity picogram/(micrometer-microsecond)
|
||||
variable h equal $a*4.0 # kernel function cutoff micrometers
|
||||
variable h equal 0.1*4.0
|
||||
variable mass equal $a*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*$a*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*$a*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*${rho_0}
|
||||
variable mass equal 0.1*0.1*0.1*1
|
||||
variable dt equal 5e-4 # timestep microseconds
|
||||
variable skin equal 0.1*$h
|
||||
variable skin equal 0.1*0.4
|
||||
|
||||
region box block -$L $L -$L $L -$L $L units box
|
||||
region box block -1 $L -$L $L -$L $L units box
|
||||
region box block -1 1 -$L $L -$L $L units box
|
||||
region box block -1 1 -1 $L -$L $L units box
|
||||
region box block -1 1 -1 1 -$L $L units box
|
||||
region box block -1 1 -1 1 -1 $L units box
|
||||
region box block -1 1 -1 1 -1 1 units box
|
||||
create_box 1 box
|
||||
Created orthogonal box = (-1 -1 -1) to (1 1 1)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
lattice sc $a
|
||||
lattice sc 0.1
|
||||
Lattice spacing in x,y,z = 0.1 0.1 0.1
|
||||
|
||||
create_atoms 1 box
|
||||
Created 8000 atoms
|
||||
Time spent = 0.00252754 secs
|
||||
|
||||
mass * ${mass}
|
||||
mass * 0.001
|
||||
set group all meso/rho ${rho_0}
|
||||
set group all meso/rho 1
|
||||
8000 settings made for meso/rho
|
||||
|
||||
pair_style sdpd/taitwater/isothermal $T ${mu} 76787 # temperature viscosity random_seed
|
||||
pair_style sdpd/taitwater/isothermal 300 ${mu} 76787
|
||||
pair_style sdpd/taitwater/isothermal 300 1 76787
|
||||
pair_coeff * * ${rho_0} ${c_0} ${h}
|
||||
pair_coeff * * 1 ${c_0} ${h}
|
||||
pair_coeff * * 1 10 ${h}
|
||||
pair_coeff * * 1 10 0.4
|
||||
|
||||
variable vx_sq atom vx*vx
|
||||
variable vy_sq atom vy*vy
|
||||
variable vz_sq atom vz*vz
|
||||
compute v_sq all reduce ave v_vx_sq v_vy_sq v_vz_sq
|
||||
variable vx_sq_check equal c_v_sq[1]*${mass}/${kB}/$T
|
||||
variable vx_sq_check equal c_v_sq[1]*0.001/${kB}/$T
|
||||
variable vx_sq_check equal c_v_sq[1]*0.001/1.3806504e-08/$T
|
||||
variable vx_sq_check equal c_v_sq[1]*0.001/1.3806504e-08/300
|
||||
variable vy_sq_check equal c_v_sq[2]*${mass}/${kB}/$T
|
||||
variable vy_sq_check equal c_v_sq[2]*0.001/${kB}/$T
|
||||
variable vy_sq_check equal c_v_sq[2]*0.001/1.3806504e-08/$T
|
||||
variable vy_sq_check equal c_v_sq[2]*0.001/1.3806504e-08/300
|
||||
variable vz_sq_check equal c_v_sq[3]*${mass}/${kB}/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*0.001/${kB}/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*0.001/1.3806504e-08/$T
|
||||
variable vz_sq_check equal c_v_sq[3]*0.001/1.3806504e-08/300
|
||||
|
||||
fix 1 all meso
|
||||
|
||||
neighbor ${skin} bin
|
||||
neighbor 0.04 bin
|
||||
timestep ${dt}
|
||||
timestep 0.0005
|
||||
|
||||
thermo 10
|
||||
thermo_style custom step time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
|
||||
run 200
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 10 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 0.44
|
||||
ghost atom cutoff = 0.44
|
||||
binsize = 0.22, bins = 10 10 10
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair sdpd/taitwater/isothermal, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 5.795 | 5.795 | 5.795 Mbytes
|
||||
Step Time v_vx_sq_check v_vy_sq_check v_vz_sq_check
|
||||
0 0 0 0 0
|
||||
10 0.005 0.71224819 0.71470372 0.7008956
|
||||
20 0.01 0.90627589 0.90683966 0.90116506
|
||||
30 0.015 0.938505 0.95884272 0.93337542
|
||||
40 0.02 0.94394649 0.93668038 0.96468004
|
||||
50 0.025 0.97152309 0.97546161 0.95107762
|
||||
60 0.03 0.94710871 0.95678322 0.97285504
|
||||
70 0.035 0.96253148 0.95838642 0.95450883
|
||||
80 0.04 0.97581495 0.95278681 0.95099478
|
||||
90 0.045 0.96251614 0.9740684 0.96081505
|
||||
100 0.05 0.94191275 0.97137523 0.94084858
|
||||
110 0.055 0.953406 0.95739684 0.98574522
|
||||
120 0.06 0.99001614 0.99608287 0.9839996
|
||||
130 0.065 0.96575225 0.94309655 0.92847798
|
||||
140 0.07 0.97642687 0.97458638 0.94696406
|
||||
150 0.075 0.99316381 0.96876814 0.95440106
|
||||
160 0.08 0.94589744 0.95264791 0.95495169
|
||||
170 0.085 0.97599092 0.95336014 0.97687718
|
||||
180 0.09 0.97214242 0.9726305 0.9726035
|
||||
190 0.095 0.97577583 0.96523645 0.9756968
|
||||
200 0.1 0.96386053 0.97268854 0.94582436
|
||||
Loop time of 32.5247 on 4 procs for 200 steps with 8000 atoms
|
||||
|
||||
Performance: 265644.515 ns/day, 0.000 hours/ns, 6.149 timesteps/s
|
||||
73.9% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 27.385 | 28.409 | 28.761 | 11.1 | 87.34
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 3.582 | 3.9343 | 4.9531 | 29.7 | 12.10
|
||||
Output | 0.022267 | 0.026073 | 0.033141 | 2.7 | 0.08
|
||||
Modify | 0.031714 | 0.033134 | 0.034367 | 0.6 | 0.10
|
||||
Other | | 0.1226 | | | 0.38
|
||||
|
||||
Nlocal: 2000 ave 2000 max 2000 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 8469 ave 8469 max 8469 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 364000 ave 376628 max 351184 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
|
||||
Total # of neighbors = 1456000
|
||||
Ave neighs/atom = 182
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:32
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user