Compare commits
424 Commits
patch_30Ju
...
patch_21Ju
| Author | SHA1 | Date | |
|---|---|---|---|
| 938175d2bc | |||
| 472de2e85a | |||
| cbdf1d3a64 | |||
| 68df62b869 | |||
| cac4c5d930 | |||
| 5b4275002c | |||
| 39cefc4eb3 | |||
| 6d70c393e1 | |||
| 1f819ca333 | |||
| 3390e1d4c5 | |||
| 02ff2068cd | |||
| 78cfd3ff79 | |||
| b162cefc5f | |||
| 0008c0eca3 | |||
| 674514f822 | |||
| 419404a9b5 | |||
| c215278ad1 | |||
| c73f8a5500 | |||
| c844de03ef | |||
| 5fec11a0db | |||
| 262ce37eed | |||
| 65bf187a39 | |||
| 0246feb1c2 | |||
| bba7e3554c | |||
| 82f5bbf859 | |||
| 894a7e4bce | |||
| c1a650d50d | |||
| 610fea20dd | |||
| 40a053000d | |||
| bc47ec5027 | |||
| 05c0b5d5ce | |||
| 859da19869 | |||
| e0200cf3d7 | |||
| 211beaee48 | |||
| 55c3d139c1 | |||
| bf5c1dbc9e | |||
| eff159baf4 | |||
| 4d4ae93ef8 | |||
| 93ed07f445 | |||
| 0e6531e2b6 | |||
| 117499e847 | |||
| c9342aec31 | |||
| c5698ac994 | |||
| 95c215d5d3 | |||
| 65f9c1abf5 | |||
| 0748b12472 | |||
| b3bd36947d | |||
| 5c191e1e6e | |||
| cdbcacffce | |||
| a0bfe932b5 | |||
| 5fe83755b8 | |||
| 2fb6a61f2a | |||
| 63bebf58fd | |||
| dd7bc1d34e | |||
| e2efabc6c4 | |||
| 0af7fbe98e | |||
| abc9cfe30f | |||
| 4743bf4ea0 | |||
| b61276b59d | |||
| 74c9c15589 | |||
| 5df8be2ca4 | |||
| 1b0f35c241 | |||
| 168fe438a5 | |||
| 2ba7abe57e | |||
| fb7923df06 | |||
| 2be20f424f | |||
| 78ddce5de1 | |||
| 08dd79b1ce | |||
| dbbc60b4b8 | |||
| dff117fe53 | |||
| f163477d3a | |||
| 54b47212a1 | |||
| 81f8590df1 | |||
| 96615ea97e | |||
| 91f97fa74c | |||
| 585ed5e1dc | |||
| 882210613e | |||
| e98056c0e8 | |||
| 31cfc99ad9 | |||
| 52715cc804 | |||
| ad02d7a5e0 | |||
| 34fdfb6b81 | |||
| 92f194ac93 | |||
| f344629a29 | |||
| 209d3ff3ff | |||
| 35b030015d | |||
| 9a13ad5230 | |||
| ee10b200e0 | |||
| 25a836b729 | |||
| 52b30b11ec | |||
| d7ef1b007d | |||
| 29e2c82d71 | |||
| 4dc61f7f2a | |||
| 300beb819b | |||
| 3287f1cddc | |||
| 94464f5390 | |||
| 581d47a10a | |||
| 438346a936 | |||
| dff2e93e2a | |||
| 508a38a7fa | |||
| 71344aaa28 | |||
| 181b7cf34f | |||
| 0105d1caa5 | |||
| 1021f5753b | |||
| dee38c26b3 | |||
| a392f212ee | |||
| 73a076daf3 | |||
| 8949b2f165 | |||
| bf37e6aae1 | |||
| 7a312ca8d8 | |||
| 28ee835103 | |||
| 1a738f80e2 | |||
| 4cbe095444 | |||
| 41a7557cc9 | |||
| 74aa1d482a | |||
| b37b45c817 | |||
| aa82608142 | |||
| a082895b90 | |||
| 2580ca78f4 | |||
| e3818f031b | |||
| 2fb0f95324 | |||
| ad818717cc | |||
| a7a63ee3fb | |||
| d37bb0fd6f | |||
| 449d7be8f8 | |||
| 1ddd8aa97c | |||
| d3392dba45 | |||
| fd2b5b1cd8 | |||
| bc3860b462 | |||
| b33974cd19 | |||
| be440c7125 | |||
| dcbdc7452b | |||
| d6e6b840e9 | |||
| 548629958e | |||
| 001dcb6bb1 | |||
| 9068d17afc | |||
| 113825f8fc | |||
| 20824203ab | |||
| 18928c6602 | |||
| 4b9c2ab1f1 | |||
| a88237df99 | |||
| ea1d447703 | |||
| 5a73b1de98 | |||
| e5d532c2c1 | |||
| 40e3fcd750 | |||
| 46675361a6 | |||
| 315c829bd2 | |||
| c589dd5894 | |||
| 6c28adcf3b | |||
| da66516dec | |||
| 3847a3000c | |||
| f8ad39e7d1 | |||
| 1c5c2d8f22 | |||
| db289ba0b3 | |||
| 24b5cd7dec | |||
| 9cbb2e9df5 | |||
| 38011f6ac4 | |||
| b65f6b3b61 | |||
| ed1bdb8ed4 | |||
| 00413ae956 | |||
| 8f95b4a5d9 | |||
| 60f078a8f9 | |||
| 66274e7863 | |||
| 116c2a56ca | |||
| 031cae8e49 | |||
| 38d9c0bedf | |||
| 9e1d560fda | |||
| 095c6a9850 | |||
| 5f14d5c87f | |||
| 25e54bd68e | |||
| 284b1618f9 | |||
| 83291fdd67 | |||
| f969d9ab72 | |||
| f307d7f5f9 | |||
| cd0b034cab | |||
| b3060bc48e | |||
| e42342ff51 | |||
| 8359a4384a | |||
| c6dc8b5414 | |||
| 9fe0b1cb5e | |||
| 4778887243 | |||
| 510d5277c1 | |||
| b49f0a6a09 | |||
| 4b2c1f5edd | |||
| d4da99562f | |||
| 26e21852ff | |||
| 8eb7791342 | |||
| 207232c1a3 | |||
| ed452c3624 | |||
| e6a8f3c8c0 | |||
| 17d59a4342 | |||
| 6f775f6592 | |||
| d0c544224f | |||
| 40e59b27a7 | |||
| f8321d77d8 | |||
| d32000239b | |||
| e2e4305fe9 | |||
| 8396ade280 | |||
| 6c6c47ce9c | |||
| 6c08503dff | |||
| 64dad33c12 | |||
| a5a1706f82 | |||
| 92d225a68c | |||
| 07e05300c9 | |||
| f360cca1a3 | |||
| a28db101cc | |||
| 0825e71a5a | |||
| 9b3ffa5487 | |||
| a402de41b7 | |||
| 772d75a63a | |||
| df63d4147d | |||
| 8102045fdb | |||
| 9be30dcf61 | |||
| 0c89b517a5 | |||
| ab683a03ad | |||
| f0af7c686a | |||
| e38f970676 | |||
| 0d570f5577 | |||
| d15264a668 | |||
| bade009b6c | |||
| 49780480a8 | |||
| 9ec77585ea | |||
| 9c97ca11fe | |||
| e0e24799c2 | |||
| 4a1acffde9 | |||
| 9e83279887 | |||
| f71513f483 | |||
| cc9df9a76d | |||
| 71f13cee9d | |||
| d7efa8d523 | |||
| 0679c01c4b | |||
| 2b1ca89b57 | |||
| ea5015c630 | |||
| d0cfb0ccae | |||
| e18a11d6bd | |||
| bebd10712a | |||
| 909bc5a801 | |||
| 7ee73e44ad | |||
| 4da8ec39de | |||
| ecc5d3e353 | |||
| 7071cff481 | |||
| 240c33b503 | |||
| f59e391713 | |||
| 2016333cf0 | |||
| 7591343702 | |||
| 5918d9e6c7 | |||
| bda245339e | |||
| 6cd2c8d117 | |||
| d6665aba99 | |||
| a98d21f002 | |||
| a7369e76cd | |||
| 06a199f7d0 | |||
| a43428fd1b | |||
| cd739c2782 | |||
| 1898fae3f6 | |||
| 5cef86d7b7 | |||
| 8fbc8a7148 | |||
| c0f1472385 | |||
| 6e3e13f2a8 | |||
| 9a268da7de | |||
| 4c67822e6b | |||
| e459ee8a58 | |||
| 61e3b41908 | |||
| 6239a579e8 | |||
| 416467a154 | |||
| fd95fc98c5 | |||
| d3853af4be | |||
| 12f62583f9 | |||
| 5c59f6af87 | |||
| 88fc9360c0 | |||
| 37d56a6bf6 | |||
| 955bff7c4e | |||
| 94e9b3bc82 | |||
| 7e140399db | |||
| f16c6f40a7 | |||
| 94d98b6aea | |||
| bdac1ae3e7 | |||
| 0944eda391 | |||
| 7870a89133 | |||
| d6ebf3cd46 | |||
| fcc6ed3a58 | |||
| 169206790a | |||
| de7f02e48b | |||
| bb9ab025c1 | |||
| 0b1443ed23 | |||
| 53d20c9ebc | |||
| 960addcc2c | |||
| 2351f99bef | |||
| 89f0116eab | |||
| 7918919d30 | |||
| 91a8df1903 | |||
| d37e943e8d | |||
| 836570ec26 | |||
| 58cd6a160c | |||
| 6bf329098e | |||
| a1011b606e | |||
| 9e96b71703 | |||
| 2977a8aa15 | |||
| d1b5b0a168 | |||
| d768069cfe | |||
| 5d0800beef | |||
| 47d77530e2 | |||
| 022252dde0 | |||
| 9ec72d1406 | |||
| f1abfe2411 | |||
| 461633e6f6 | |||
| 83d58ba57d | |||
| 1df59c4b95 | |||
| fe12ea2734 | |||
| 134a2e8dd6 | |||
| 759797733d | |||
| a0157f8063 | |||
| 443cc4445e | |||
| e2a07acb71 | |||
| ca24cd5006 | |||
| ebfe7f68af | |||
| c488e6208d | |||
| 69052fa337 | |||
| 4dee43cc2d | |||
| 84ded03e24 | |||
| 8f6e454522 | |||
| 585466929f | |||
| a314b40aa0 | |||
| 6e580bbdb5 | |||
| 3f068f7671 | |||
| adacc7f2a4 | |||
| 11099bb3f7 | |||
| 2eec6c7f65 | |||
| 0461599d0a | |||
| 37b2da637d | |||
| df40ffddf3 | |||
| ffe8e1c0e9 | |||
| fcec94579c | |||
| 75977367a1 | |||
| 34cfe07f97 | |||
| 37b2778d4b | |||
| cfaa3be898 | |||
| 6f8b8c2f71 | |||
| 9de3077b19 | |||
| de815ed6ba | |||
| fac3c70d02 | |||
| 9f733fb305 | |||
| 6de020805f | |||
| c37b5e50b1 | |||
| 53415592d2 | |||
| 14321d1fa0 | |||
| c3f8644613 | |||
| 7fe2df423f | |||
| 8dae5d5fc7 | |||
| feec9673d8 | |||
| 9d0aee7426 | |||
| def0cf8a7b | |||
| 59aa8a5e12 | |||
| fadfb1b482 | |||
| 543371374a | |||
| ab785e8a89 | |||
| 52b92e743e | |||
| 1815ab610e | |||
| 735f9ad592 | |||
| f9dc2b7ca8 | |||
| 089c4ed5d9 | |||
| 17e419e251 | |||
| 2c64809cd8 | |||
| 7e16a17f31 | |||
| 0b298c7193 | |||
| d331e75a14 | |||
| 28bbb6afbc | |||
| 07afe1c66d | |||
| 40088f558c | |||
| db43aadf09 | |||
| cae9788d42 | |||
| 307f54611f | |||
| f598ae7ebf | |||
| bf8043fdb8 | |||
| bc36511767 | |||
| 3a014a5430 | |||
| 4660c043d8 | |||
| a524eaf424 | |||
| 8929ba42cd | |||
| c3fe0e77c2 | |||
| 2a4e51fa38 | |||
| 84ee52a6e5 | |||
| 7350dd61d5 | |||
| 70d3d56944 | |||
| ed56878271 | |||
| 791bb9f6d5 | |||
| c57564252c | |||
| aee3d9f2cd | |||
| 0a18c52414 | |||
| c7a31aea97 | |||
| 8d12581f16 | |||
| 558d2eb84f | |||
| 0a9dd81288 | |||
| 0363fe9b17 | |||
| 9c7005a91c | |||
| 971ca4fe44 | |||
| 503a1f2246 | |||
| 8fd46095ae | |||
| 9279431593 | |||
| 4492d61625 | |||
| 778d431d4c | |||
| 10dcb08760 | |||
| 6af407d01e | |||
| 1035dcd4cc | |||
| 19ee89fa10 | |||
| ad38b5d306 | |||
| edfb4076ff | |||
| eafcc06670 | |||
| d4c7455197 | |||
| b34b58c713 | |||
| cccd04f46b | |||
| 7488f22981 | |||
| 0f094c2501 | |||
| af2e1bf7c6 | |||
| 2a2219d049 | |||
| 911b95fdc9 | |||
| f958cacbb4 | |||
| ce4ca0e640 | |||
| cfa12bc1cf | |||
| 73ed317254 | |||
| f0a3256151 | |||
| 65b4d87f99 | |||
| 711f875001 | |||
| 16eab647d4 |
@ -69,18 +69,10 @@ if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
|
||||
set(CMAKE_TUNE_DEFAULT "-march=native")
|
||||
endif()
|
||||
|
||||
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
|
||||
set(CMAKE_TUNE_DEFAULT "-march=native")
|
||||
endif()
|
||||
|
||||
# we require C++11 without extensions
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Use compiler extensions")
|
||||
|
||||
########################################################################
|
||||
# User input options #
|
||||
@ -193,7 +185,7 @@ if(NOT ${LAMMPS_MEMALIGN} STREQUAL "0")
|
||||
target_compile_definitions(lammps PRIVATE -DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN})
|
||||
endif()
|
||||
|
||||
option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" OFF)
|
||||
option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" ${ENABLE_TESTING})
|
||||
if(LAMMPS_EXCEPTIONS)
|
||||
target_compile_definitions(lammps PUBLIC -DLAMMPS_EXCEPTIONS)
|
||||
endif()
|
||||
@ -366,7 +358,7 @@ foreach(PKG_WITH_INCL KSPACE PYTHON VORONOI USER-COLVARS USER-MOLFILE USER-NETCD
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler specific optimization or instrumentation")
|
||||
set(CMAKE_TUNE_FLAGS "${CMAKE_TUNE_DEFAULT}" CACHE STRING "Compiler and machine specific optimization flags (compilation only)")
|
||||
separate_arguments(CMAKE_TUNE_FLAGS)
|
||||
foreach(_FLAG ${CMAKE_TUNE_FLAGS})
|
||||
target_compile_options(lammps PRIVATE ${_FLAG})
|
||||
|
||||
@ -52,26 +52,26 @@ add_library(GTest::GTest UNKNOWN IMPORTED)
|
||||
set_target_properties(GTest::GTest PROPERTIES
|
||||
IMPORTED_LOCATION ${GTEST_LIBRARY_PATH}
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${GTEST_INCLUDE_DIR}
|
||||
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||
INTERFACE_LINK_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
|
||||
add_dependencies(GTest::GTest googletest)
|
||||
|
||||
add_library(GTest::GMock UNKNOWN IMPORTED)
|
||||
set_target_properties(GTest::GMock PROPERTIES
|
||||
IMPORTED_LOCATION ${GMOCK_LIBRARY_PATH}
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${GMOCK_INCLUDE_DIR}
|
||||
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||
INTERFACE_LINK_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
|
||||
add_dependencies(GTest::GMock googletest)
|
||||
|
||||
add_library(GTest::GTestMain UNKNOWN IMPORTED)
|
||||
set_target_properties(GTest::GTestMain PROPERTIES
|
||||
IMPORTED_LOCATION ${GTEST_MAIN_LIBRARY_PATH}
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${GTEST_INCLUDE_DIR}
|
||||
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||
INTERFACE_LINK_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
|
||||
add_dependencies(GTest::GTestMain googletest)
|
||||
|
||||
add_library(GTest::GMockMain UNKNOWN IMPORTED)
|
||||
set_target_properties(GTest::GMockMain PROPERTIES
|
||||
IMPORTED_LOCATION ${GMOCK_MAIN_LIBRARY_PATH}
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${GMOCK_INCLUDE_DIR}
|
||||
IMPORTED_LINK_INTERFACE_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||||
INTERFACE_LINK_LIBRARIES "${CMAKE_THREAD_LIBS_INIT}")
|
||||
add_dependencies(GTest::GMockMain googletest)
|
||||
|
||||
@ -64,30 +64,41 @@ if(GPU_API STREQUAL "CUDA")
|
||||
|
||||
# build arch/gencode commands for nvcc based on CUDA toolkit version and use choice
|
||||
# --arch translates directly instead of JIT, so this should be for the preferred or most common architecture
|
||||
set(GPU_CUDA_GENCODE "-arch=${GPU_ARCH} ")
|
||||
set(GPU_CUDA_GENCODE "-arch=${GPU_ARCH}")
|
||||
# Fermi (GPU Arch 2.x) is supported by CUDA 3.2 to CUDA 8.0
|
||||
if((CUDA_VERSION VERSION_GREATER "3.1") AND (CUDA_VERSION VERSION_LESS "9.0"))
|
||||
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_20,code=[sm_20,compute_20] ")
|
||||
if((CUDA_VERSION VERSION_GREATER_EQUAL "3.2") AND (CUDA_VERSION VERSION_LESS "9.0"))
|
||||
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_20,code=[sm_20,compute_20] ")
|
||||
endif()
|
||||
# Kepler (GPU Arch 3.x) is supported by CUDA 5 and later
|
||||
if(CUDA_VERSION VERSION_GREATER "4.9")
|
||||
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] ")
|
||||
# Kepler (GPU Arch 3.0) is supported by CUDA 5 to CUDA 10.2
|
||||
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "11.0"))
|
||||
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_30,code=[sm_30,compute_30] ")
|
||||
endif()
|
||||
# Kepler (GPU Arch 3.5) is supported by CUDA 5 to CUDA 11
|
||||
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "12.0"))
|
||||
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35]")
|
||||
endif()
|
||||
# Maxwell (GPU Arch 5.x) is supported by CUDA 6 and later
|
||||
if(CUDA_VERSION VERSION_GREATER "5.9")
|
||||
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] ")
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "6.0")
|
||||
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52]")
|
||||
endif()
|
||||
# Pascal (GPU Arch 6.x) is supported by CUDA 8 and later
|
||||
if(CUDA_VERSION VERSION_GREATER "7.9")
|
||||
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] ")
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "8.0")
|
||||
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61]")
|
||||
endif()
|
||||
# Volta (GPU Arch 7.0) is supported by CUDA 9 and later
|
||||
if(CUDA_VERSION VERSION_GREATER "8.9")
|
||||
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_70,code=[sm_70,compute_70] ")
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "9.0")
|
||||
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_70,code=[sm_70,compute_70]")
|
||||
endif()
|
||||
# Turing (GPU Arch 7.5) is supported by CUDA 10 and later
|
||||
if(CUDA_VERSION VERSION_GREATER "9.9")
|
||||
string(APPEND GPU_CUDA_GENCODE "-gencode arch=compute_75,code=[sm_75,compute_75] ")
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "10.0")
|
||||
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_75,code=[sm_75,compute_75]")
|
||||
endif()
|
||||
# Ampere (GPU Arch 8.0) is supported by CUDA 11 and later
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "11.0")
|
||||
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_80,code=[sm_80,compute_80]")
|
||||
endif()
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
|
||||
message(WARNING "Unsupported CUDA version. Use at your own risk.")
|
||||
endif()
|
||||
|
||||
cuda_compile_fatbin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS ${CUDA_REQUEST_PIC}
|
||||
@ -226,30 +237,41 @@ elseif(GPU_API STREQUAL "HIP")
|
||||
|
||||
# build arch/gencode commands for nvcc based on CUDA toolkit version and use choice
|
||||
# --arch translates directly instead of JIT, so this should be for the preferred or most common architecture
|
||||
set(HIP_CUDA_GENCODE "-arch=${HIP_ARCH} ")
|
||||
set(HIP_CUDA_GENCODE "-arch=${HIP_ARCH}")
|
||||
# Fermi (GPU Arch 2.x) is supported by CUDA 3.2 to CUDA 8.0
|
||||
if((CUDA_VERSION VERSION_GREATER "3.1") AND (CUDA_VERSION VERSION_LESS "9.0"))
|
||||
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_20,code=[sm_20,compute_20] ")
|
||||
if((CUDA_VERSION VERSION_GREATER_EQUAL "3.2") AND (CUDA_VERSION VERSION_LESS "9.0"))
|
||||
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_20,code=[sm_20,compute_20]")
|
||||
endif()
|
||||
# Kepler (GPU Arch 3.x) is supported by CUDA 5 and later
|
||||
if(CUDA_VERSION VERSION_GREATER "4.9")
|
||||
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_30,code=[sm_30,compute_30] -gencode arch=compute_35,code=[sm_35,compute_35] ")
|
||||
# Kepler (GPU Arch 3.0) is supported by CUDA 5 to CUDA 10.2
|
||||
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "11.0"))
|
||||
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_30,code=[sm_30,compute_30]")
|
||||
endif()
|
||||
# Kepler (GPU Arch 3.5) is supported by CUDA 5 to CUDA 11.0
|
||||
if((CUDA_VERSION VERSION_GREATER_EQUAL "5.0") AND (CUDA_VERSION VERSION_LESS "12.0"))
|
||||
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_35,code=[sm_35,compute_35]")
|
||||
endif()
|
||||
# Maxwell (GPU Arch 5.x) is supported by CUDA 6 and later
|
||||
if(CUDA_VERSION VERSION_GREATER "5.9")
|
||||
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52] ")
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "6.0")
|
||||
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_50,code=[sm_50,compute_50] -gencode arch=compute_52,code=[sm_52,compute_52]")
|
||||
endif()
|
||||
# Pascal (GPU Arch 6.x) is supported by CUDA 8 and later
|
||||
if(CUDA_VERSION VERSION_GREATER "7.9")
|
||||
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61] ")
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "8.0")
|
||||
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_60,code=[sm_60,compute_60] -gencode arch=compute_61,code=[sm_61,compute_61]")
|
||||
endif()
|
||||
# Volta (GPU Arch 7.0) is supported by CUDA 9 and later
|
||||
if(CUDA_VERSION VERSION_GREATER "8.9")
|
||||
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_70,code=[sm_70,compute_70] ")
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "9.0")
|
||||
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_70,code=[sm_70,compute_70]")
|
||||
endif()
|
||||
# Turing (GPU Arch 7.5) is supported by CUDA 10 and later
|
||||
if(CUDA_VERSION VERSION_GREATER "9.9")
|
||||
string(APPEND HIP_CUDA_GENCODE "-gencode arch=compute_75,code=[sm_75,compute_75] ")
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "10.0")
|
||||
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_75,code=[sm_75,compute_75]")
|
||||
endif()
|
||||
# Ampere (GPU Arch 8.0) is supported by CUDA 11 and later
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "11.0")
|
||||
string(APPEND HIP_CUDA_GENCODE " -gencode arch=compute_80,code=[sm_80,compute_80]")
|
||||
endif()
|
||||
if(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
|
||||
message(WARNING "Unsupported CUDA version. Use at your own risk.")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
.TH LAMMPS "30 June 2020" "2020-06-30"
|
||||
.TH LAMMPS "21 July 2020" "2020-07-21"
|
||||
.SH NAME
|
||||
.B LAMMPS
|
||||
\- Molecular Dynamics Simulator.
|
||||
|
||||
@ -193,14 +193,17 @@ compiler and any :doc:`accelerator packages <Speed_packages>` you have
|
||||
included in the build.
|
||||
|
||||
You can tell CMake to look for a specific compiler with setting CMake
|
||||
variable during configuration. For a few common choices, there are also
|
||||
presets in the ``cmake/presets`` folder. For convenience, there is a
|
||||
``CMAKE_TUNE_FLAGS`` variable that can be set to apply global compiler
|
||||
options. More on that below, but you can also specify the corresponding
|
||||
``CMAKE_*_FLAGS`` variables individually if you want to experiment with
|
||||
alternate optimization flags. You should specify all 3 compilers, so
|
||||
that the (few) LAMMPS source files written in C or Fortran are built
|
||||
with a compiler consistent with the one used for the C++ files:
|
||||
variables (listed below) during configuration. For a few common
|
||||
choices, there are also presets in the ``cmake/presets`` folder. For
|
||||
convenience, there is a ``CMAKE_TUNE_FLAGS`` variable that can be set to
|
||||
apply global compiler options (applied to compilation only), to be used
|
||||
for adding compiler or host specific optimization flags in addition to
|
||||
the "flags" variables listed below. You may also specify the
|
||||
corresponding ``CMAKE_*_FLAGS`` variables individually, if you want to
|
||||
experiment with alternate optimization flags. You should specify all 3
|
||||
compilers, so that the (few) LAMMPS source files written in C or Fortran
|
||||
are built with a compiler consistent with the one used for the C++
|
||||
files:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@ -229,11 +232,7 @@ can be loaded with `-C ../cmake/presets/clang.cmake`. Similarly,
|
||||
|
||||
In addition you can set ``CMAKE_TUNE_FLAGS`` to specifically add
|
||||
compiler flags to tune for optimal performance on given hosts. By
|
||||
default these are initialized to some compiler specific flags, to
|
||||
optimize the LAMMPS executable with optimizations and instructions
|
||||
available on the host where LAMMPS is compiled. For example, for Intel
|
||||
compilers this would be ``-xHost`` and for GNU compilers this would be
|
||||
``-march=native``. To turn these flags off, do ``-D CMAKE_TUNE_FLAGS=``.
|
||||
default this variable is empty.
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@ -105,10 +105,10 @@ CMake build
|
||||
# generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA)
|
||||
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
|
||||
# value = sm_XX, see below
|
||||
# default is sm_30
|
||||
# default is sm_50
|
||||
-D HIP_ARCH=value # primary GPU hardware choice for GPU_API=hip
|
||||
# value depends on selected HIP_PLATFORM
|
||||
# default is 'gfx906' for HIP_PLATFORM=hcc and 'sm_30' for HIP_PLATFORM=nvcc
|
||||
# default is 'gfx906' for HIP_PLATFORM=hcc and 'sm_50' for HIP_PLATFORM=nvcc
|
||||
-D HIP_USE_DEVICE_SORT=value # enables GPU sorting
|
||||
# value = yes (default) or no
|
||||
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
|
||||
@ -1255,6 +1255,15 @@ also typically :ref:`install the USER-OMP package <user-omp>`, as it can be
|
||||
used in tandem with the USER-INTEL package to good effect, as explained
|
||||
on the :doc:`Speed intel <Speed_intel>` doc page.
|
||||
|
||||
When using Intel compilers version 16.0 or later is required. You can
|
||||
also use the GNU or Clang compilers and they will provide performance
|
||||
improvements over regular styles and USER-OMP styles, but less so than
|
||||
with the Intel compilers. Please also note, that some compilers have
|
||||
been found to apply memory alignment constraints incompletely or
|
||||
incorrectly and thus can cause segmentation faults in otherwise correct
|
||||
code when using features from the USER-INTEL package.
|
||||
|
||||
|
||||
CMake build
|
||||
^^^^^^^^^^^
|
||||
|
||||
|
||||
@ -46,13 +46,6 @@ An alphabetic list of all general LAMMPS commands.
|
||||
* :doc:`dimension <dimension>`
|
||||
* :doc:`displace_atoms <displace_atoms>`
|
||||
* :doc:`dump <dump>`
|
||||
* :doc:`dump atom/adios <dump_adios>`
|
||||
* :doc:`dump custom/adios <dump_adios>`
|
||||
* :doc:`dump image <dump_image>`
|
||||
* :doc:`dump movie <dump_image>`
|
||||
* :doc:`dump netcdf <dump_netcdf>`
|
||||
* :doc:`dump netcdf/mpiio <dump_netcdf>`
|
||||
* :doc:`dump vtk <dump_vtk>`
|
||||
* :doc:`dump_modify <dump_modify>`
|
||||
* :doc:`dynamical_matrix <dynamical_matrix>`
|
||||
* :doc:`echo <echo>`
|
||||
@ -108,7 +101,8 @@ An alphabetic list of all general LAMMPS commands.
|
||||
* :doc:`region <region>`
|
||||
* :doc:`replicate <replicate>`
|
||||
* :doc:`rerun <rerun>`
|
||||
* :doc:`reset_ids <reset_ids>`
|
||||
* :doc:`reset_atom_ids <reset_atom_ids>`
|
||||
* :doc:`reset_mol_ids <reset_mol_ids>`
|
||||
* :doc:`reset_timestep <reset_timestep>`
|
||||
* :doc:`restart <restart>`
|
||||
* :doc:`run <run>`
|
||||
|
||||
@ -80,6 +80,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
* :doc:`ke/eff <compute_ke_eff>`
|
||||
* :doc:`ke/rigid <compute_ke_rigid>`
|
||||
* :doc:`mesont <compute_mesont>`
|
||||
* :doc:`mliap <compute_mliap>`
|
||||
* :doc:`momentum <compute_momentum>`
|
||||
* :doc:`msd <compute_msd>`
|
||||
* :doc:`msd/chunk <compute_msd_chunk>`
|
||||
@ -122,6 +123,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
* :doc:`smd/tlsph/strain/rate <compute_smd_tlsph_strain_rate>`
|
||||
* :doc:`smd/tlsph/stress <compute_smd_tlsph_stress>`
|
||||
* :doc:`smd/triangle/vertices <compute_smd_triangle_vertices>`
|
||||
* :doc:`smd/ulsph/effm <compute_smd_ulsph_effm>`
|
||||
* :doc:`smd/ulsph/num/neighs <compute_smd_ulsph_num_neighs>`
|
||||
* :doc:`smd/ulsph/strain <compute_smd_ulsph_strain>`
|
||||
* :doc:`smd/ulsph/strain/rate <compute_smd_ulsph_strain_rate>`
|
||||
|
||||
@ -42,6 +42,7 @@ OPT.
|
||||
* :doc:`bocs <fix_bocs>`
|
||||
* :doc:`bond/break <fix_bond_break>`
|
||||
* :doc:`bond/create <fix_bond_create>`
|
||||
* :doc:`bond/create/angle <fix_bond_create>`
|
||||
* :doc:`bond/react <fix_bond_react>`
|
||||
* :doc:`bond/swap <fix_bond_swap>`
|
||||
* :doc:`box/relax <fix_box_relax>`
|
||||
@ -243,3 +244,4 @@ OPT.
|
||||
* :doc:`wall/region <fix_wall_region>`
|
||||
* :doc:`wall/region/ees <fix_wall_ees>`
|
||||
* :doc:`wall/srd <fix_wall_srd>`
|
||||
* :doc:`widom <fix_widom>`
|
||||
|
||||
@ -136,22 +136,22 @@ OPT.
|
||||
* :doc:`lj/class2/soft <pair_fep_soft>`
|
||||
* :doc:`lj/cubic (go) <pair_lj_cubic>`
|
||||
* :doc:`lj/cut (gikot) <pair_lj>`
|
||||
* :doc:`lj/cut/coul/cut (gko) <pair_lj>`
|
||||
* :doc:`lj/cut/coul/cut (gko) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/coul/cut/soft (o) <pair_fep_soft>`
|
||||
* :doc:`lj/cut/coul/debye (gko) <pair_lj>`
|
||||
* :doc:`lj/cut/coul/dsf (gko) <pair_lj>`
|
||||
* :doc:`lj/cut/coul/long (gikot) <pair_lj>`
|
||||
* :doc:`lj/cut/coul/debye (gko) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/coul/dsf (gko) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/coul/long (gikot) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/coul/long/cs <pair_cs>`
|
||||
* :doc:`lj/cut/coul/long/soft (o) <pair_fep_soft>`
|
||||
* :doc:`lj/cut/coul/msm (go) <pair_lj>`
|
||||
* :doc:`lj/cut/coul/wolf (o) <pair_lj>`
|
||||
* :doc:`lj/cut/coul/msm (go) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/coul/wolf (o) <pair_lj_cut_coul>`
|
||||
* :doc:`lj/cut/dipole/cut (go) <pair_dipole>`
|
||||
* :doc:`lj/cut/dipole/long (g) <pair_dipole>`
|
||||
* :doc:`lj/cut/dipole/sf (go) <pair_dipole>`
|
||||
* :doc:`lj/cut/soft (o) <pair_fep_soft>`
|
||||
* :doc:`lj/cut/thole/long (o) <pair_thole>`
|
||||
* :doc:`lj/cut/tip4p/cut (o) <pair_lj>`
|
||||
* :doc:`lj/cut/tip4p/long (got) <pair_lj>`
|
||||
* :doc:`lj/cut/tip4p/cut (o) <pair_lj_cut_tip4p>`
|
||||
* :doc:`lj/cut/tip4p/long (got) <pair_lj_cut_tip4p>`
|
||||
* :doc:`lj/cut/tip4p/long/soft (o) <pair_fep_soft>`
|
||||
* :doc:`lj/expand (gko) <pair_lj_expand>`
|
||||
* :doc:`lj/expand/coul/long (g) <pair_lj_expand>`
|
||||
|
||||
@ -102,8 +102,8 @@ documentation for the formula it computes.
|
||||
* :doc:`pair_style <pair_buck>` buck/coul/cut
|
||||
* :doc:`pair_style <pair_buck>` buck/coul/long
|
||||
* :doc:`pair_style <pair_lj>` lj/cut
|
||||
* :doc:`pair_style <pair_lj>` lj/cut/coul/cut
|
||||
* :doc:`pair_style <pair_lj>` lj/cut/coul/long
|
||||
* :doc:`pair_style <pair_lj_cut_coul>` lj/cut/coul/cut
|
||||
* :doc:`pair_style <pair_lj_cut_coul>` lj/cut/coul/long
|
||||
|
||||
* :doc:`pair_style <pair_hbond_dreiding>` hbond/dreiding/lj
|
||||
* :doc:`pair_style <pair_hbond_dreiding>` hbond/dreiding/morse
|
||||
|
||||
@ -9,13 +9,15 @@ surface meshes of discrete points, collections of sub-particles,
|
||||
deformable objects, etc. Note that other kinds of finite-size
|
||||
spherical and aspherical particles are also supported by LAMMPS, such
|
||||
as spheres, ellipsoids, line segments, and triangles, but they are
|
||||
simpler entities that body particles. See the :doc:`Howto spherical <Howto_spherical>` doc page for a general overview of all
|
||||
these particle types.
|
||||
simpler entities than body particles. See the :doc:`Howto spherical
|
||||
<Howto_spherical>` doc page for a general overview of all these
|
||||
particle types.
|
||||
|
||||
Body particles are used via the :doc:`atom_style body <atom_style>`
|
||||
command. It takes a body style as an argument. The current body
|
||||
styles supported by LAMMPS are as follows. The name in the first
|
||||
column is used as the *bstyle* argument for the :doc:`atom_style body <atom_style>` command.
|
||||
column is used as the *bstyle* argument for the :doc:`atom_style body
|
||||
<atom_style>` command.
|
||||
|
||||
+----------------------+---------------------------------------------------+
|
||||
| *nparticle* | rigid body with N sub-particles |
|
||||
@ -30,8 +32,9 @@ thus how they can be used to compute pairwise body/body or
|
||||
bond/non-body (point particle) interactions. More details of each
|
||||
style are described below.
|
||||
|
||||
More styles may be added in the future. See the :doc:`Modify body <Modify_body>` doc page for details on how to add a new body
|
||||
style to the code.
|
||||
More styles may be added in the future. See the :doc:`Modify body
|
||||
<Modify_body>` doc page for details on how to add a new body style to
|
||||
the code.
|
||||
|
||||
----------
|
||||
|
||||
@ -55,10 +58,10 @@ interactions, building neighbor lists, migrating particles between
|
||||
processors, output of particles to a dump file, etc. This means that
|
||||
interactions between pairs of bodies or between a body and non-body
|
||||
(point) particle need to be encoded in an appropriate pair style. If
|
||||
such a pair style were to mimic the :doc:`fix rigid <fix_rigid>` model,
|
||||
it would need to loop over the entire collection of interactions
|
||||
between pairs of simple particles within the two bodies, each time a
|
||||
single body/body interaction was computed.
|
||||
such a pair style were to mimic the :doc:`fix rigid <fix_rigid>`
|
||||
model, it would need to loop over the entire collection of
|
||||
interactions between pairs of simple particles within the two bodies,
|
||||
each time a single body/body interaction was computed.
|
||||
|
||||
Thus it only makes sense to use body particles and develop such a pair
|
||||
style, when particle/particle interactions are more complex than what
|
||||
@ -160,27 +163,6 @@ of the body particle.
|
||||
The :doc:`pair_style body/nparticle <pair_body_nparticle>` command can be used
|
||||
with this body style to compute body/body and body/non-body interactions.
|
||||
|
||||
For output purposes via the :doc:`compute body/local <compute_body_local>` and :doc:`dump local <dump>`
|
||||
commands, this body style produces one datum for each of the N
|
||||
sub-particles in a body particle. The datum has 3 values:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 = x position of sub-particle
|
||||
2 = y position of sub-particle
|
||||
3 = z position of sub-particle
|
||||
|
||||
These values are the current position of the sub-particle within the
|
||||
simulation domain, not a displacement from the center-of-mass (COM) of
|
||||
the body particle itself. These values are calculated using the
|
||||
current COM and orientation of the body particle.
|
||||
|
||||
For images created by the :doc:`dump image <dump_image>` command, if the
|
||||
*body* keyword is set, then each body particle is drawn as a
|
||||
collection of spheres, one for each sub-particle. The size of each
|
||||
sphere is determined by the *bflag1* parameter for the *body* keyword.
|
||||
The *bflag2* argument is ignored.
|
||||
|
||||
----------
|
||||
|
||||
**Specifics of body style rounded/polygon:**
|
||||
@ -208,7 +190,7 @@ The Nmin and Nmax arguments are used to bound the size of data
|
||||
structures used internally by each particle.
|
||||
|
||||
When the :doc:`read_data <read_data>` command reads a data file for this
|
||||
body style, the following information must be provided for each entry
|
||||
body style, the following information must be provided for each body
|
||||
in the *Bodies* section of the data file:
|
||||
|
||||
.. parsed-literal::
|
||||
@ -219,21 +201,25 @@ in the *Bodies* section of the data file:
|
||||
x1 y1 z1
|
||||
...
|
||||
xN yN zN
|
||||
i j j k k ...
|
||||
diameter
|
||||
|
||||
where M = 6 + 3\*N + 2\*N + 1, and N is the number of vertices in the
|
||||
body particle.
|
||||
where M = 6 + 3\*N + 1, and N is the number of vertices in the body
|
||||
particle.
|
||||
|
||||
The integer line has a single value N. The floating point line(s)
|
||||
list 6 moments of inertia followed by the coordinates of the N
|
||||
list 6 moments of inertia, followed by the coordinates of the N
|
||||
vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by
|
||||
2N vertex indices corresponding to the end points of the N edges,
|
||||
followed by a single diameter value = the rounded diameter of the
|
||||
circle that surrounds each vertex. The diameter value can be different
|
||||
for each body particle. These floating-point values can be listed on
|
||||
as many lines as you wish; see the :doc:`read_data <read_data>` command
|
||||
for more details.
|
||||
a diameter value = the rounded diameter of the circle that surrounds
|
||||
each vertex. The diameter value can be different for each body
|
||||
particle. These floating-point values can be listed on as many lines
|
||||
as you wish; see the :doc:`read_data <read_data>` command for more
|
||||
details.
|
||||
|
||||
.. note::
|
||||
|
||||
It is important that the vertices for each polygonal body particle be
|
||||
listed in order around its perimeter, so that edges can be inferred.
|
||||
LAMMPS does not check that this is the case.
|
||||
|
||||
The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
|
||||
values consistent with the current orientation of the rigid body
|
||||
@ -260,10 +246,6 @@ is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz =
|
||||
-0.7071 0.7071 0
|
||||
0.7071 0.7071 0
|
||||
0.7071 -0.7071 0
|
||||
0 1
|
||||
1 2
|
||||
2 3
|
||||
3 0
|
||||
1.0
|
||||
|
||||
A rod in 2D, whose length is 4.0, mass 1.0, rounded at two ends
|
||||
@ -345,8 +327,10 @@ in the *Bodies* section of the data file:
|
||||
1 2 3 4
|
||||
diameter
|
||||
|
||||
where M = 6 + 3\*N + 2\*E + 4\*F + 1, and N is the number of vertices in
|
||||
the body particle, E = number of edges, F = number of faces.
|
||||
where M = 6 + 3\*N + 2\*E + 4\*F + 1, and N is the number of vertices
|
||||
in the body particle, E = number of edges, F = number of faces. For N
|
||||
= 1 or 2, the format is simpler. E and F are ignored and no edges or
|
||||
faces are listed, so that M = 6 + 3\*N + 1.
|
||||
|
||||
The integer line has three values: number of vertices (N), number of
|
||||
edges (E) and number of faces (F). The floating point line(s) list 6
|
||||
@ -356,16 +340,26 @@ the end points of the E edges, then 4\*F vertex indices defining F
|
||||
faces. The last value is the diameter value = the rounded diameter of
|
||||
the sphere that surrounds each vertex. The diameter value can be
|
||||
different for each body particle. These floating-point values can be
|
||||
listed on as many lines as you wish; see the
|
||||
:doc:`read_data <read_data>` command for more details. Because the
|
||||
maximum number of vertices per face is hard-coded to be 4
|
||||
(i.e. quadrilaterals), faces with more than 4 vertices need to be
|
||||
split into triangles or quadrilaterals. For triangular faces, the
|
||||
last vertex index should be set to -1.
|
||||
listed on as many lines as you wish; see the :doc:`read_data
|
||||
<read_data>` command for more details.
|
||||
|
||||
The ordering of the 4 vertices within a face should follow
|
||||
the right-hand rule so that the normal vector of the face points
|
||||
outwards from the center of mass.
|
||||
Note that vertices are numbered from 0 to N-1 inclusive. The order of
|
||||
the 2 vertices in each edge does not matter. Faces can be triangles
|
||||
or quadrilaterals. In both cases 4 vertices must be specified. For a
|
||||
triangle the 4th vertex is -1. The 4 vertices within each triangle or
|
||||
quadrilateral face should be ordered by the right-hand rule so that
|
||||
the normal vector of the face points outwards from the center of mass.
|
||||
For polyhedron with faces with more than 4 vertices, you should split
|
||||
the complex face into multiple simple faces, each of which is a
|
||||
triangle or quadrilateral.
|
||||
|
||||
.. note::
|
||||
|
||||
If a face is a quadrilateral then its 4 vertices must be co-planar.
|
||||
LAMMPS does not check that this is the case. If you have a quad-face
|
||||
of a polyhedron that is not planar (e.g. a cube whose vertices have
|
||||
been randomly displaced), then you should represent the single quad
|
||||
face as two triangle faces instead.
|
||||
|
||||
The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the
|
||||
values consistent with the current orientation of the rigid body
|
||||
@ -421,8 +415,8 @@ by circles of diameter 0.5, is specified as follows:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 1 13
|
||||
2
|
||||
1 3 13
|
||||
2 1 1
|
||||
0 1.33333 1.33333 0 0 0
|
||||
-2 0 0
|
||||
2 0 0
|
||||
@ -432,27 +426,34 @@ A sphere whose diameter is 3.0 and mass 1.0, is specified as follows:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 1 10
|
||||
1
|
||||
1 3 10
|
||||
1 1 1
|
||||
0.9 0.9 0.9 0 0 0
|
||||
0 0 0
|
||||
3.0
|
||||
|
||||
The :doc:`pair_style body/rounded/polhedron <pair_body_rounded_polyhedron>` command can
|
||||
be used with this body style to compute body/body interactions. The
|
||||
:doc:`fix wall/body/polyhedron <fix_wall_body_polygon>` command can be
|
||||
used with this body style to compute the interaction of body particles
|
||||
with a wall.
|
||||
The number of edges and faces for a rod or sphere must be listed,
|
||||
but is ignored.
|
||||
|
||||
The :doc:`pair_style body/rounded/polhedron
|
||||
<pair_body_rounded_polyhedron>` command can be used with this body
|
||||
style to compute body/body interactions. The :doc:`fix
|
||||
wall/body/polyhedron <fix_wall_body_polygon>` command can be used with
|
||||
this body style to compute the interaction of body particles with a
|
||||
wall.
|
||||
|
||||
----------
|
||||
|
||||
For output purposes via the :doc:`compute body/local <compute_body_local>` and :doc:`dump local <dump>`
|
||||
commands, this body style produces one datum for each of the N
|
||||
sub-particles in a body particle. The datum has 3 values:
|
||||
**Output specifics for all body styles:**
|
||||
|
||||
For the :doc:`compute body/local <compute_body_local>` and :doc:`dump
|
||||
local <dump>` commands, all 3 of the body styles described on his page
|
||||
produces one datum for each of the N vertices (of sub-particles) in a
|
||||
body particle. The datum has 3 values:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
1 = x position of vertex
|
||||
1 = x position of vertex (or sub-particle)
|
||||
2 = y position of vertex
|
||||
3 = z position of vertex
|
||||
|
||||
@ -461,15 +462,29 @@ simulation domain, not a displacement from the center-of-mass (COM) of
|
||||
the body particle itself. These values are calculated using the
|
||||
current COM and orientation of the body particle.
|
||||
|
||||
For images created by the :doc:`dump image <dump_image>` command, if the
|
||||
*body* keyword is set, then each body particle is drawn as a polygon
|
||||
consisting of N line segments. Note that the line segments are drawn
|
||||
between the N vertices, which does not correspond exactly to the
|
||||
physical extent of the body (because the :doc:`pair_style rounded/polygon <pair_body_rounded_polygon>` defines finite-size
|
||||
spheres at those point and the line segments between the spheres are
|
||||
tangent to the spheres). The drawn diameter of each line segment is
|
||||
determined by the *bflag1* parameter for the *body* keyword. The
|
||||
*bflag2* argument is ignored.
|
||||
The :doc:`dump image <dump_image>` command and its *body* keyword can
|
||||
be used to render body particles.
|
||||
|
||||
For the *nparticle* body style, each body is drawn as a
|
||||
collection of spheres, one for each sub-particle. The size of each
|
||||
sphere is determined by the *bflag1* parameter for the *body* keyword.
|
||||
The *bflag2* argument is ignored.
|
||||
|
||||
For the *rounded/polygon* body style, each body is drawn as a polygon
|
||||
with N line segments. For the *rounded/polyhedron* body style, each
|
||||
face of each body is drawn as a polygon with N line segments. The
|
||||
drawn diameter of each line segment is determined by the *bflag1*
|
||||
parameter for the *body* keyword. The *bflag2* argument is ignored.
|
||||
|
||||
Note that for both the *rounded/polygon* and *rounded/polyhedron*
|
||||
styles, line segments are drawn between the pairs of vertices.
|
||||
Depending on the diameters of the line segments this may be slightly
|
||||
different than the physical extent of the body as calculated by the
|
||||
:doc:`pair_style rounded/polygon <pair_body_rounded_polygon>` or
|
||||
:doc:`pair_style rounded/polyhedron <pair_body_rounded_polyhedron>`
|
||||
commands. Conceptually, the pair styles define the surface of a 2d or
|
||||
3d body by lines or planes that are tangent to the finite-size spheres
|
||||
of specified diameter which are placed on each vertex position.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -331,7 +331,7 @@ Some common LAMMPS specific variables
|
||||
* - ``BUILD_DOC``
|
||||
- include building the HTML format documentation for packaging/installing (default: ``off``)
|
||||
* - ``CMAKE_TUNE_FLAGS``
|
||||
- common compiler flags, for optimization or instrumentation (default: compiler specific)
|
||||
- common compiler flags, for optimization or instrumentation (default:)
|
||||
* - ``LAMMPS_MACHINE``
|
||||
- when set to ``name`` the LAMMPS executable and library will be called ``lmp_name`` and ``liblammps_name.a``
|
||||
* - ``LAMMPS_EXCEPTIONS``
|
||||
|
||||
@ -3,13 +3,15 @@ Output from LAMMPS (thermo, dumps, computes, fixes, variables)
|
||||
|
||||
There are four basic kinds of LAMMPS output:
|
||||
|
||||
* :doc:`Thermodynamic output <thermo_style>`, which is a list
|
||||
of quantities printed every few timesteps to the screen and logfile.
|
||||
* :doc:`Thermodynamic output <thermo_style>`, which is a list of
|
||||
quantities printed every few timesteps to the screen and logfile.
|
||||
* :doc:`Dump files <dump>`, which contain snapshots of atoms and various
|
||||
per-atom values and are written at a specified frequency.
|
||||
* Certain fixes can output user-specified quantities to files: :doc:`fix ave/time <fix_ave_time>` for time averaging, :doc:`fix ave/chunk <fix_ave_chunk>` for spatial or other averaging, and :doc:`fix print <fix_print>` for single-line output of
|
||||
:doc:`variables <variable>`. Fix print can also output to the
|
||||
screen.
|
||||
* Certain fixes can output user-specified quantities to files:
|
||||
:doc:`fix ave/time <fix_ave_time>` for time averaging,
|
||||
:doc:`fix ave/chunk <fix_ave_chunk>` for spatial or other averaging, and
|
||||
:doc:`fix print <fix_print>` for single-line output of
|
||||
:doc:`variables <variable>`. Fix print can also output to the screen.
|
||||
* :doc:`Restart files <restart>`.
|
||||
|
||||
A simulation prints one set of thermodynamic output and (optionally)
|
||||
@ -41,7 +43,7 @@ to output and the kind of data they operate on and produce:
|
||||
.. _global:
|
||||
|
||||
Global/per-atom/local data
|
||||
---------------------------------------
|
||||
--------------------------
|
||||
|
||||
Various output-related commands work with three different styles of
|
||||
data: global, per-atom, or local. A global datum is one or more
|
||||
@ -54,7 +56,7 @@ bond distances.
|
||||
.. _scalar:
|
||||
|
||||
Scalar/vector/array data
|
||||
-------------------------------------
|
||||
------------------------
|
||||
|
||||
Global, per-atom, and local datums can each come in three kinds: a
|
||||
single scalar value, a vector of values, or a 2d array of values. The
|
||||
@ -81,10 +83,27 @@ the dimension twice (array -> scalar). Thus a command that uses
|
||||
scalar values as input can typically also process elements of a vector
|
||||
or array.
|
||||
|
||||
.. _disambiguation:
|
||||
|
||||
Disambiguation
|
||||
--------------
|
||||
|
||||
Some computes and fixes produce data in multiple styles, e.g. a global
|
||||
scalar and a per-atom vector. Usually the context in which the input
|
||||
script references the data determines which style is meant. Example: if
|
||||
a compute provides both a global scalar and a per-atom vector, the
|
||||
former will be accessed by using ``c_ID`` in an equal-style variable,
|
||||
while the latter will be accessed by using ``c_ID`` in an atom-style
|
||||
variable. Note that atom-style variable formulas can also access global
|
||||
scalars, but in this case it is not possible to do directly because of
|
||||
the ambiguity. Instead, an equal-style variable can be defined which
|
||||
accesses the global scalar, and that variable used in the atom-style
|
||||
variable formula in place of ``c_ID``.
|
||||
|
||||
.. _thermo:
|
||||
|
||||
Thermodynamic output
|
||||
---------------------------------
|
||||
--------------------
|
||||
|
||||
The frequency and format of thermodynamic output is set by the
|
||||
:doc:`thermo <thermo>`, :doc:`thermo_style <thermo_style>`, and
|
||||
@ -112,7 +131,7 @@ intensive result.
|
||||
.. _dump:
|
||||
|
||||
Dump file output
|
||||
---------------------------
|
||||
----------------
|
||||
|
||||
Dump file output is specified by the :doc:`dump <dump>` and
|
||||
:doc:`dump_modify <dump_modify>` commands. There are several
|
||||
@ -138,7 +157,7 @@ command.
|
||||
.. _fixoutput:
|
||||
|
||||
Fixes that write output files
|
||||
---------------------------------------------
|
||||
-----------------------------
|
||||
|
||||
Several fixes take various quantities as input and can write output
|
||||
files: :doc:`fix ave/time <fix_ave_time>`, :doc:`fix ave/chunk <fix_ave_chunk>`, :doc:`fix ave/histo <fix_ave_histo>`,
|
||||
@ -192,7 +211,7 @@ from normal thermodynamic or dump file output.
|
||||
.. _computeoutput:
|
||||
|
||||
Computes that process output quantities
|
||||
-----------------------------------------------------------
|
||||
---------------------------------------
|
||||
|
||||
The :doc:`compute reduce <compute_reduce>` and :doc:`compute reduce/region <compute_reduce>` commands take one or more per-atom
|
||||
or local vector quantities as inputs and "reduce" them (sum, min, max,
|
||||
@ -219,7 +238,7 @@ output commands.
|
||||
.. _fixprocoutput:
|
||||
|
||||
Fixes that process output quantities
|
||||
--------------------------------------------------------
|
||||
------------------------------------
|
||||
|
||||
The :doc:`fix vector <fix_vector>` command can create global vectors as
|
||||
output from global scalars as input, accumulating them one element at
|
||||
@ -244,7 +263,7 @@ The output of this fix can be used as input to other output commands.
|
||||
.. _compute:
|
||||
|
||||
Computes that generate values to output
|
||||
-----------------------------------------------------
|
||||
---------------------------------------
|
||||
|
||||
Every :doc:`compute <compute>` in LAMMPS produces either global or
|
||||
per-atom or local values. The values can be scalars or vectors or
|
||||
@ -257,7 +276,7 @@ without the word "atom" or "local" produce global values.
|
||||
.. _fix:
|
||||
|
||||
Fixes that generate values to output
|
||||
----------------------------------------------
|
||||
------------------------------------
|
||||
|
||||
Some :doc:`fixes <fix>` in LAMMPS produces either global or per-atom or
|
||||
local values which can be accessed by other commands. The values can
|
||||
@ -269,7 +288,7 @@ describes them.
|
||||
.. _variable:
|
||||
|
||||
Variables that generate values to output
|
||||
-------------------------------------------------------
|
||||
----------------------------------------
|
||||
|
||||
:doc:`Variables <variable>` defined in an input script can store one or
|
||||
more strings. But equal-style, vector-style, and atom-style or
|
||||
@ -284,7 +303,7 @@ commands described in this section.
|
||||
.. _table:
|
||||
|
||||
Summary table of output options and data flow between commands
|
||||
--------------------------------------------------------------------------
|
||||
--------------------------------------------------------------
|
||||
|
||||
This table summarizes the various commands that can be used for
|
||||
generating output from LAMMPS. Each command produces output data of
|
||||
|
||||
@ -11,11 +11,11 @@ angle style of *harmonic* or *charmm* should also be used.
|
||||
A TIP4P model is run with LAMMPS using either this command
|
||||
for a cutoff model:
|
||||
|
||||
* :doc:`pair_style lj/cut/tip4p/cut <pair_lj>`
|
||||
* :doc:`pair_style lj/cut/tip4p/cut <pair_lj_cut_tip4p>`
|
||||
|
||||
or these two commands for a long-range model:
|
||||
|
||||
* :doc:`pair_style lj/cut/tip4p/long <pair_lj>`
|
||||
* :doc:`pair_style lj/cut/tip4p/long <pair_lj_cut_tip4p>`
|
||||
* :doc:`kspace_style pppm/tip4p <kspace_style>`
|
||||
|
||||
For both models, the bond lengths and bond angles should be held fixed
|
||||
@ -95,7 +95,7 @@ typically best in an efficiency sense to use a LJ cutoff >= Coulomb
|
||||
cutoff + 2\*(OM distance), to shrink the size of the neighbor list.
|
||||
This leads to slightly larger cost for the long-range calculation, so
|
||||
you can test the trade-off for your model. The OM distance and the LJ
|
||||
and Coulombic cutoffs are set in the :doc:`pair_style lj/cut/tip4p/long <pair_lj>` command.
|
||||
and Coulombic cutoffs are set in the :doc:`pair_style lj/cut/tip4p/long <pair_lj_cut_tip4p>` command.
|
||||
|
||||
Wikipedia also has a nice article on `water models <http://en.wikipedia.org/wiki/Water_model>`_.
|
||||
|
||||
|
||||
@ -21,8 +21,14 @@ Pre-built Ubuntu Linux executables
|
||||
A pre-built LAMMPS executable suitable for running on the latest
|
||||
Ubuntu Linux versions, can be downloaded as a Debian package. This
|
||||
allows you to install LAMMPS with a single command, and stay
|
||||
up-to-date with the current version of LAMMPS by simply updating your
|
||||
operating system.
|
||||
up-to-date with the current stable version of LAMMPS by simply updating
|
||||
your operating system. Please note, that the repository below offers
|
||||
two LAMMPS packages, ``lammps-daily`` and ``lammps-stable``. The
|
||||
LAMMPS developers recommend to use the ``lammps-stable`` package for
|
||||
any production simulations. The ``lammps-daily`` package is built
|
||||
from the LAMMPS development sources, and those versions may have known
|
||||
issues and bugs when new features are added and the software has not
|
||||
undergone full release testing.
|
||||
|
||||
To install the appropriate personal-package archives (PPAs), do the
|
||||
following once:
|
||||
@ -37,16 +43,16 @@ To install LAMMPS do the following once:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo apt-get install lammps-daily
|
||||
$ sudo apt-get install lammps-stable
|
||||
|
||||
This downloads an executable named ``lmp_daily`` to your box, which
|
||||
This downloads an executable named ``lmp_stable`` to your box, which
|
||||
can then be used in the usual way to run input scripts:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ lmp_daily -in in.lj
|
||||
$ lmp_stable -in in.lj
|
||||
|
||||
To update LAMMPS to the most current version, do the following:
|
||||
To update LAMMPS to the most current stable version, do the following:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@ -58,25 +64,25 @@ To get a copy of the current documentation and examples:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo apt-get install lammps-daily-doc
|
||||
$ sudo apt-get install lammps-stable-doc
|
||||
|
||||
which will download the doc files in
|
||||
``/usr/share/doc/lammps-daily-doc/doc`` and example problems in
|
||||
``/usr/share/doc/lammps-stable-doc/doc`` and example problems in
|
||||
``/usr/share/doc/lammps-doc/examples``.
|
||||
|
||||
To get a copy of the current potentials files:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo apt-get install lammps-daily-data
|
||||
$ sudo apt-get install lammps-stable-data
|
||||
|
||||
which will download the potentials files to
|
||||
``/usr/share/lammps-daily/potentials``. The ``lmp_daily`` binary is
|
||||
``/usr/share/lammps-stable/potentials``. The ``lmp_stable`` binary is
|
||||
hard-coded to look for potential files in this directory (it does not
|
||||
use the `LAMMPS_POTENTIALS` environment variable, as described
|
||||
in :doc:`pair_coeff <pair_coeff>` command).
|
||||
|
||||
The ``lmp_daily`` binary is built with the :ref:`KIM package <kim>` which
|
||||
The ``lmp_stable`` binary is built with the :ref:`KIM package <kim>` which
|
||||
results in the above command also installing the `kim-api` binaries when LAMMPS
|
||||
is installed. In order to use potentials from `openkim.org <openkim_>`_, you
|
||||
can install the `openkim-models` package
|
||||
@ -89,9 +95,9 @@ To un-install LAMMPS, do the following:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo apt-get remove lammps-daily
|
||||
$ sudo apt-get remove lammps-stable
|
||||
|
||||
Please use ``lmp_daily -help`` to see which compilation options, packages,
|
||||
Please use ``lmp_stable -help`` to see which compilation options, packages,
|
||||
and styles are included in the binary.
|
||||
|
||||
Thanks to Anton Gladky (gladky.anton at gmail.com) for setting up this
|
||||
|
||||
@ -306,7 +306,8 @@ gpu" or "-suffix gpu" :doc:`command-line switches <Run_options>`. See
|
||||
also the :ref:`KOKKOS <PKG-KOKKOS>` package, which has GPU-enabled styles.
|
||||
|
||||
**Authors:** Mike Brown (Intel) while at Sandia and ORNL and Trung Nguyen
|
||||
(Northwestern U) while at ORNL.
|
||||
(Northwestern U) while at ORNL and later. AMD HIP support by Evgeny
|
||||
Kuznetsov, Vladimir Stegailov, and Vsevolod Nikolskiy (HSE University).
|
||||
|
||||
**Install:**
|
||||
|
||||
|
||||
@ -78,7 +78,7 @@ above, create a test.py file containing these lines:
|
||||
pypar.finalize()
|
||||
|
||||
To run LAMMPS in parallel, assuming you have installed the
|
||||
`mpi4py <https://bitbucket.org/mpi4py/mpi4py>`_ package as discussed
|
||||
`mpi4py <https://mpi4py.readthedocs.io>`_ package as discussed
|
||||
above, create a test.py file containing these lines:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
@ -50,6 +50,10 @@ but this can be overridden using the device option of the :doc:`package <package
|
||||
command. run lammps/lib/gpu/ocl_get_devices to get a list of available
|
||||
platforms and devices with a suitable ICD available.
|
||||
|
||||
To compute and use this package in HIP mode, you have to have the AMD ROCm
|
||||
software installed. Versions of ROCm older than 3.5 are currently deprecated
|
||||
by AMD.
|
||||
|
||||
**Building LAMMPS with the GPU package:**
|
||||
|
||||
See the :ref:`Build extras <gpu>` doc page for
|
||||
|
||||
@ -138,10 +138,10 @@ For Intel Xeon Phi co-processors (Offload):
|
||||
|
||||
**Required hardware/software:**
|
||||
|
||||
When using Intel compilers version 16.0 or later is required.
|
||||
|
||||
In order to use offload to co-processors, an Intel Xeon Phi
|
||||
co-processor and an Intel compiler are required. For this, the
|
||||
recommended version of the Intel compiler is 14.0.1.106 or
|
||||
versions 15.0.2.044 and higher.
|
||||
co-processor and an Intel compiler are required.
|
||||
|
||||
Although any compiler can be used with the USER-INTEL package,
|
||||
currently, vectorization directives are disabled by default when
|
||||
|
||||
@ -49,13 +49,14 @@ The following coefficients must be defined for each angle type via the
|
||||
the data file or restart files read by the :doc:`read_data <read_data>`
|
||||
or :doc:`read_restart <read_restart>` commands:
|
||||
|
||||
* :math:`K` (energy/radian\^2)
|
||||
* :math:`K` (energy)
|
||||
* :math:`\theta_0` (degrees)
|
||||
* :math:`K_{ub}` (energy/distance\^2)
|
||||
* :math:`r_{ub}` (distance)
|
||||
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of :math:`K` are in energy/radian\^2.
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence :math:`K` is effectively energy per
|
||||
radian\^2.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -41,27 +41,29 @@ The *class2* angle style uses the potential
|
||||
E_{bb} & = M (r_{ij} - r_1) (r_{jk} - r_2) \\
|
||||
E_{ba} & = N_1 (r_{ij} - r_1) (\theta - \theta_0) + N_2(r_{jk} - r_2)(\theta - \theta_0)
|
||||
|
||||
where :math:`E_a` is the angle term, :math:`E_{bb}` is a bond-bond term, and :math:`E_{ba}` is a
|
||||
bond-angle term. :math:`\theta_0` is the equilibrium angle and :math:`r_1` and :math:`r_2` are
|
||||
the equilibrium bond lengths.
|
||||
where :math:`E_a` is the angle term, :math:`E_{bb}` is a bond-bond
|
||||
term, and :math:`E_{ba}` is a bond-angle term. :math:`\theta_0` is
|
||||
the equilibrium angle and :math:`r_1` and :math:`r_2` are the
|
||||
equilibrium bond lengths.
|
||||
|
||||
See :ref:`(Sun) <angle-Sun>` for a description of the COMPASS class2 force field.
|
||||
|
||||
Coefficients for the :math:`E_a`, :math:`E_{bb}`, and :math:`E_{ba}` formulas must be defined for
|
||||
each angle type via the :doc:`angle_coeff <angle_coeff>` command as in
|
||||
the example above, or in the data file or restart files read by the
|
||||
:doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
|
||||
commands.
|
||||
Coefficients for the :math:`E_a`, :math:`E_{bb}`, and :math:`E_{ba}`
|
||||
formulas must be defined for each angle type via the :doc:`angle_coeff
|
||||
<angle_coeff>` command as in the example above, or in the data file or
|
||||
restart files read by the :doc:`read_data <read_data>` or
|
||||
:doc:`read_restart <read_restart>` commands.
|
||||
|
||||
These are the 4 coefficients for the :math:`E_a` formula:
|
||||
|
||||
* :math:`\theta_0` (degrees)
|
||||
* :math:`K_2` (energy/radian\^2)
|
||||
* :math:`K_3` (energy/radian\^3)
|
||||
* :math:`K_4` (energy/radian\^4)
|
||||
* :math:`K_2` (energy)
|
||||
* :math:`K_3` (energy)
|
||||
* :math:`K_4` (energy)
|
||||
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of the various :math:`K` are in per-radian.
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence the various :math:`K` are effectively energy
|
||||
per radian\^2 or radian\^3 or radian\^4.
|
||||
|
||||
For the :math:`E_{bb}` formula, each line in a :doc:`angle_coeff <angle_coeff>`
|
||||
command in the input script lists 4 coefficients, the first of which
|
||||
@ -122,11 +124,15 @@ The *class2/p6* angle style uses the *class2* potential expanded to sixth order:
|
||||
In this expanded term 6 coefficients for the :math:`E_a` formula need to be set:
|
||||
|
||||
* :math:`\theta_0` (degrees)
|
||||
* :math:`K_2` (energy/radian\^2)
|
||||
* :math:`K_3` (energy/radian\^3)
|
||||
* :math:`K_4` (energy/radian\^4)
|
||||
* :math:`K_5` (energy/radian\^5)
|
||||
* :math:`K_6` (energy/radian\^6)
|
||||
* :math:`K_2` (energy)
|
||||
* :math:`K_3` (energy)
|
||||
* :math:`K_4` (energy)
|
||||
* :math:`K_5` (energy)
|
||||
* :math:`K_6` (energy)
|
||||
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence the various :math:`K` are effectively energy
|
||||
per radian\^2 or radian\^3 or radian\^4 or radian\^5 or radian\^6.
|
||||
|
||||
The bond-bond and bond-angle terms remain unchanged.
|
||||
|
||||
|
||||
@ -40,14 +40,15 @@ the data file or restart files read by the :doc:`read_data <read_data>`
|
||||
or :doc:`read_restart <read_restart>` commands:
|
||||
|
||||
* :math:`K_{SS}` (energy/distance\^2)
|
||||
* :math:`K_{BS0}` (energy/distance/rad)
|
||||
* :math:`K_{BS1}` (energy/distance/rad)
|
||||
* :math:`K_{BS0}` (energy/distance)
|
||||
* :math:`K_{BS1}` (energy/distance)
|
||||
* :math:`r_{12,0}` (distance)
|
||||
* :math:`r_{32,0}` (distance)
|
||||
* :math:`\theta_0` (degrees)
|
||||
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of :math:`K_{BS0}` and :math:`K_{BS1}` are in energy/distance/radian.
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence the :math:`K_{BS0}` and :math:`K_{BS1}` are
|
||||
effectively energy/distance per radian.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -44,11 +44,12 @@ The following coefficients must be defined for each angle type via the
|
||||
the data file or restart files read by the :doc:`read_data <read_data>`
|
||||
or :doc:`read_restart <read_restart>` commands:
|
||||
|
||||
* :math:`K` (energy/radian\^2)
|
||||
* :math:`K` (energy)
|
||||
* :math:`\theta_0` (degrees)
|
||||
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of :math:`K` are in energy/radian\^2.
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence :math:`K` is effectively energy per
|
||||
radian\^2.
|
||||
|
||||
----------
|
||||
|
||||
@ -61,11 +62,13 @@ produce the same results, except for round-off and precision issues.
|
||||
|
||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
LAMMPS was built with those packages. See the :doc:`Build package
|
||||
<Build_package>` doc page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
|
||||
:doc:`suffix <suffix>` command in your input script.
|
||||
by including their suffix, or you can use the :doc:`-suffix
|
||||
command-line switch <Run_options>` when you invoke LAMMPS, or you can
|
||||
use the :doc:`suffix <suffix>` command in your input script.
|
||||
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
@ -28,20 +28,22 @@ as defined in :ref:`(Allinger) <mm3-allinger1989>`
|
||||
|
||||
E = K (\theta - \theta_0)^2 \left[ 1 - 0.014(\theta - \theta_0) + 5.6(10)^{-5} (\theta - \theta_0)^2 - 7.0(10)^{-7} (\theta - \theta_0)^3 + 9(10)^{-10} (\theta - \theta_0)^4 \right]
|
||||
|
||||
where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` is a
|
||||
prefactor. The anharmonic prefactors have units :math:`\deg^{-n}`, for example
|
||||
:math:`-0.014 \deg^{-1}`, :math:`5.6 \cdot 10^{-5} \deg^{-2}`, ...
|
||||
where :math:`\theta_0` is the equilibrium value of the angle, and
|
||||
:math:`K` is a prefactor. The anharmonic prefactors have units
|
||||
:math:`\deg^{-n}`, for example :math:`-0.014 \deg^{-1}`, :math:`5.6
|
||||
\cdot 10^{-5} \deg^{-2}`, ...
|
||||
|
||||
The following coefficients must be defined for each angle type via the
|
||||
:doc:`angle_coeff <angle_coeff>` command as in the example above, or in
|
||||
the data file or restart files read by the :doc:`read_data <read_data>`
|
||||
or :doc:`read_restart <read_restart>` commands:
|
||||
|
||||
* :math:`K` (energy/radian\^2)
|
||||
* :math:`K` (energy)
|
||||
* :math:`\theta_0` (degrees)
|
||||
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of :math:`K` are in energy/radian\^2.
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence :math:`K` is effectively energy per
|
||||
radian\^2.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -39,12 +39,13 @@ the data file or restart files read by the :doc:`read_data <read_data>`
|
||||
or :doc:`read_restart <read_restart>` commands:
|
||||
|
||||
* :math:`\theta_0` (degrees)
|
||||
* :math:`K_2` (energy/radian\^2)
|
||||
* :math:`K_3` (energy/radian\^3)
|
||||
* :math:`K_4` (energy/radian\^4)
|
||||
* :math:`K_2` (energy)
|
||||
* :math:`K_3` (energy)
|
||||
* :math:`K_4` (energy)
|
||||
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of :math:`K` are in energy/radian\^2.
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence the various :math:`K` are effectively energy
|
||||
per radian\^2 or radian\^3 or radian\^4.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -44,13 +44,15 @@ is included in :math:`K`.
|
||||
The following coefficients must be defined for each angle type via the
|
||||
:doc:`angle_coeff <angle_coeff>` command as in the example above:
|
||||
|
||||
* :math:`K` (energy/radian\^2)
|
||||
* :math:`K` (energy)
|
||||
* :math:`\theta_0` (degrees)
|
||||
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of :math:`K` are in energy/radian\^2.
|
||||
The also required *lj/sdk* parameters will be extracted automatically
|
||||
from the pair_style.
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence :math:`K` is effectively energy per
|
||||
radian\^2.
|
||||
|
||||
The required *lj/sdk* parameters are extracted automatically from the
|
||||
pair_style.
|
||||
|
||||
----------
|
||||
|
||||
@ -63,7 +65,8 @@ produce the same results, except for round-off and precision issues.
|
||||
|
||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
LAMMPS was built with those packages. See the :doc:`Build package
|
||||
<Build_package>` doc page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
|
||||
|
||||
@ -88,7 +88,8 @@ Commands
|
||||
region
|
||||
replicate
|
||||
rerun
|
||||
reset_ids
|
||||
reset_atom_ids
|
||||
reset_mol_ids
|
||||
reset_timestep
|
||||
restart
|
||||
run
|
||||
|
||||
@ -225,6 +225,7 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` doc
|
||||
* :doc:`ke/atom/eff <compute_ke_atom_eff>` - per-atom translational and radial kinetic energy in the electron force field model
|
||||
* :doc:`ke/eff <compute_ke_eff>` - kinetic energy of a group of nuclei and electrons in the electron force field model
|
||||
* :doc:`ke/rigid <compute_ke_rigid>` - translational kinetic energy of rigid bodies
|
||||
* :doc:`mliap <compute_mliap>` - gradients of energy and forces w.r.t. model parameters and related quantities for training machine learning interatomic potentials
|
||||
* :doc:`momentum <compute_momentum>` - translational momentum
|
||||
* :doc:`msd <compute_msd>` - mean-squared displacement of group of atoms
|
||||
* :doc:`msd/chunk <compute_msd_chunk>` - mean-squared displacement for each chunk
|
||||
@ -268,12 +269,13 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` doc
|
||||
* :doc:`smd/tlsph/strain/rate <compute_smd_tlsph_strain_rate>` -
|
||||
* :doc:`smd/tlsph/stress <compute_smd_tlsph_stress>` - per-particle Cauchy stress tensor for SPH particles
|
||||
* :doc:`smd/triangle/vertices <compute_smd_triangle_vertices>` -
|
||||
* :doc:`smd/ulsph/effm <compute_smd_ulsph_effm>` - per-particle effective shear modulus
|
||||
* :doc:`smd/ulsph/num/neighs <compute_smd_ulsph_num_neighs>` -
|
||||
* :doc:`smd/ulsph/strain <compute_smd_ulsph_strain>` -
|
||||
* :doc:`smd/ulsph/strain/rate <compute_smd_ulsph_strain_rate>` -
|
||||
* :doc:`smd/ulsph/stress <compute_smd_ulsph_stress>` - per-particle Cauchy stress tensor and von Mises equivalent stress in Smooth Mach Dynamics
|
||||
* :doc:`smd/vol <compute_smd_vol>` - per-particle volumes and their sum in Smooth Mach Dynamics
|
||||
* :doc:`snap <compute_sna_atom>` - bispectrum components and related quantities for a group of atoms
|
||||
* :doc:`snap <compute_sna_atom>` - gradients of SNAP energy and forces w.r.t. linear coefficients and related quantities for fitting SNAP potentials
|
||||
* :doc:`sna/atom <compute_sna_atom>` - bispectrum components for each atom
|
||||
* :doc:`snad/atom <compute_sna_atom>` - derivative of bispectrum components for each atom
|
||||
* :doc:`snav/atom <compute_sna_atom>` - virial contribution from bispectrum components for each atom
|
||||
|
||||
@ -622,14 +622,16 @@ cylinder, x for a y-axis cylinder, and x for a z-axis cylinder.
|
||||
|
||||
**Output info:**
|
||||
|
||||
This compute calculates a per-atom vector, which can be accessed by
|
||||
any command that uses per-atom values from a compute as input. See
|
||||
the :doc:`Howto output <Howto_output>` doc page for an overview of
|
||||
This compute calculates a per-atom vector (the chunk ID), which can
|
||||
be accessed by any command that uses per-atom values from a compute
|
||||
as input. It also calculates a global scalar (the number of chunks),
|
||||
which can be similarly accessed everywhere outside of a per-atom context.
|
||||
See the :doc:`Howto output <Howto_output>` doc page for an overview of
|
||||
LAMMPS output options.
|
||||
|
||||
The per-atom vector values are unitless chunk IDs, ranging from 1 to
|
||||
*Nchunk* (inclusive) for atoms assigned to chunks, and 0 for atoms not
|
||||
belonging to a chunk.
|
||||
belonging to a chunk. The scalar contains the value of *Nchunk*.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -15,12 +15,18 @@ Syntax
|
||||
.. parsed-literal::
|
||||
|
||||
compute ID group-ID cluster/atom cutoff
|
||||
compute ID group-ID fragment/atom
|
||||
compute ID group-ID fragment/atom keyword value ...
|
||||
compute ID group-ID aggregate/atom cutoff
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* *cluster/atom* or *fragment/atom* or *aggregate/atom* = style name of this compute command
|
||||
* cutoff = distance within which to label atoms as part of same cluster (distance units)
|
||||
* zero or more keyword/value pairs may be appended to *fragment/atom*
|
||||
* keyword = *single*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*single* value = *yes* or *no* to treat single atoms (no bonds) as fragments
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -29,27 +35,36 @@ Examples
|
||||
|
||||
compute 1 all cluster/atom 3.5
|
||||
compute 1 all fragment/atom
|
||||
|
||||
compute 1 all fragment/atom single no
|
||||
compute 1 all aggregate/atom 3.5
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Define a computation that assigns each atom a cluster, fragment,
|
||||
or aggregate ID.
|
||||
Define a computation that assigns each atom a cluster, fragment, or
|
||||
aggregate ID. Only atoms in the compute group are clustered and
|
||||
assigned cluster IDs. Atoms not in the compute group are assigned an
|
||||
ID = 0.
|
||||
|
||||
A cluster is defined as a set of atoms, each of which is within the
|
||||
cutoff distance from one or more other atoms in the cluster. If an
|
||||
atom has no neighbors within the cutoff distance, then it is a 1-atom
|
||||
cluster.
|
||||
|
||||
A fragment is similarly defined as a set of atoms, each of
|
||||
which has an explicit bond (i.e. defined via a :doc:`data file <read_data>`,
|
||||
the :doc:`create_bonds <create_bonds>` command, or through fixes like
|
||||
:doc:`fix bond/create <fix_bond_create>`, :doc:`fix bond/swap <fix_bond_swap>`,
|
||||
or :doc:`fix bond/break <fix_bond_break>`). The cluster ID or fragment ID
|
||||
of every atom in the cluster will be set to the smallest atom ID of any atom
|
||||
in the cluster or fragment, respectively.
|
||||
A fragment is similarly defined as a set of atoms, each of which has a
|
||||
bond to another atom in the fragment. Bonds can be defined initially
|
||||
via the :doc:`data file <read_data>` or :doc:`create_bonds
|
||||
<create_bonds>` commands, or dynamically by fixes which create or
|
||||
break bonds like :doc:`fix bond/react <fix_bond_react>`, :doc:`fix
|
||||
bond/create <fix_bond_create>`, :doc:`fix bond/swap <fix_bond_swap>`,
|
||||
or :doc:`fix bond/break <fix_bond_break>`. The cluster ID or fragment
|
||||
ID of every atom in the cluster will be set to the smallest atom ID of
|
||||
any atom in the cluster or fragment, respectively.
|
||||
|
||||
For the *fragment/atom* style, the *single* keyword determines whether
|
||||
single atoms (not bonded to another atom) are treated as one-atom
|
||||
fragments or not, based on the *yes* or *no* setting. If the setting
|
||||
is *no* (the default), their fragment IDs are set to 0.
|
||||
|
||||
An aggregate is defined by combining the rules for clusters and
|
||||
fragments, i.e. a set of atoms, where each of it is within the cutoff
|
||||
@ -57,19 +72,11 @@ distance from one or more atoms within a fragment that is part of
|
||||
the same cluster. This measure can be used to track molecular assemblies
|
||||
like micelles.
|
||||
|
||||
Only atoms in the compute group are clustered and assigned cluster
|
||||
IDs. Atoms not in the compute group are assigned a cluster ID = 0.
|
||||
For fragments, only bonds where **both** atoms of the bond are included
|
||||
in the compute group are assigned to fragments, so that only fragments
|
||||
are detected where **all** atoms are in the compute group. Thus atoms
|
||||
may be included in the compute group, yes still have a fragment ID of 0.
|
||||
|
||||
For computes *cluster/atom* and *aggregate/atom* the neighbor list needed
|
||||
to compute this quantity is constructed each time the calculation is
|
||||
performed (i.e. each time a snapshot of atoms is dumped). Thus it can be
|
||||
inefficient to compute/dump this quantity too frequently or to have
|
||||
multiple compute/dump commands, each of a *cluster/atom* or
|
||||
*aggregate/atom* style.
|
||||
For computes *cluster/atom* and *aggregate/atom* a neighbor list
|
||||
needed to compute cluster IDs is constructed each time the compute is
|
||||
invoked. Thus it can be inefficient to compute/dump this quantity too
|
||||
frequently or to have multiple *cluster/atom* or *aggregate/atom*
|
||||
style computes.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -89,6 +96,14 @@ multiple compute/dump commands, each of a *cluster/atom* or
|
||||
:doc:`special_bonds <special_bonds>` command that includes all pairs in
|
||||
the neighbor list.
|
||||
|
||||
.. note::
|
||||
|
||||
For the compute fragment/atom style, each fragment is identified
|
||||
using the current bond topology. This will not account for bonds
|
||||
broken by the :doc:`bond_style quartic <bond_quartic>` command
|
||||
because it does not perform a full update of the bond topology data
|
||||
structures within LAMMPS.
|
||||
|
||||
**Output info:**
|
||||
|
||||
This compute calculates a per-atom vector, which can be accessed by
|
||||
@ -107,4 +122,7 @@ Related commands
|
||||
|
||||
:doc:`compute coord/atom <compute_coord_atom>`
|
||||
|
||||
**Default:** none
|
||||
**Default:**
|
||||
|
||||
The default for fragment/atom is single no.
|
||||
|
||||
|
||||
@ -160,63 +160,63 @@ pair styles and parameters that can be used with this compute. See
|
||||
the doc pages for individual pair styles and their energy formulas for
|
||||
the meaning of these parameters:
|
||||
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`born <pair_born>` | a,b,c | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`buck <pair_buck>` | a,c | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`buck/mdf <pair_mdf>` | a,c | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/cut <pair_coul>` | scale | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/cut/soft <pair_fep_soft>` | lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/long, coul/msm <pair_coul>` | scale | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/long/soft <pair_fep_soft>` | scale, lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`eam <pair_eam>` | scale | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`gauss <pair_gauss>` | a | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lennard/mdf <pair_mdf>` | a,b | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/class2 <pair_class2>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/class2/coul/cut, lj/class2/coul/long <pair_class2>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut <pair_lj>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm <pair_lj>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/tip4p/cut, lj/cut/tip4p/long <pair_lj>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/tip4p/long/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/expand <pair_lj_expand>` | epsilon,sigma,delta | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/mdf <pair_mdf>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/sf/dipole/sf <pair_dipole>` | epsilon,sigma,scale | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`mie/cut <pair_mie>` | epsilon,sigma,gamR,gamA | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`morse, morse/smooth/linear <pair_morse>` | d0,r0,alpha | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`morse/soft <pair_morse>` | d0,r0,alpha,lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`nm/cut <pair_nm>` | e0,r0,nn,mm | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`nm/cut/coul/cut, nm/cut/coul/long <pair_nm>` | e0,r0,nn,mm | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`ufm <pair_ufm>` | epsilon,sigma,scale | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`soft <pair_soft>` | a | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`born <pair_born>` | a,b,c | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`buck <pair_buck>` | a,c | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`buck/mdf <pair_mdf>` | a,c | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/cut <pair_coul>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/cut/soft <pair_fep_soft>` | lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/long, coul/msm <pair_coul>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/long/soft <pair_fep_soft>` | scale, lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`eam <pair_eam>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`gauss <pair_gauss>` | a | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lennard/mdf <pair_mdf>` | a,b | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/class2 <pair_class2>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/class2/coul/cut, lj/class2/coul/long <pair_class2>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut <pair_lj>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm <pair_lj_cut_coul>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/tip4p/cut, lj/cut/tip4p/long <pair_lj_cut_tip4p>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/tip4p/long/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/expand <pair_lj_expand>` | epsilon,sigma,delta | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/mdf <pair_mdf>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/sf/dipole/sf <pair_dipole>` | epsilon,sigma,scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`mie/cut <pair_mie>` | epsilon,sigma,gamR,gamA | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`morse, morse/smooth/linear <pair_morse>` | d0,r0,alpha | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`morse/soft <pair_morse>` | d0,r0,alpha,lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`nm/cut <pair_nm>` | e0,r0,nn,mm | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`nm/cut/coul/cut, nm/cut/coul/long <pair_nm>` | e0,r0,nn,mm | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`ufm <pair_ufm>` | epsilon,sigma,scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`soft <pair_soft>` | a | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
|
||||
Note that it is easy to add new potentials and their parameters to
|
||||
this list. All it typically takes is adding an extract() method to
|
||||
|
||||
177
doc/src/compute_mliap.rst
Normal file
177
doc/src/compute_mliap.rst
Normal file
@ -0,0 +1,177 @@
|
||||
.. index:: compute mliap
|
||||
|
||||
compute mliap command
|
||||
=====================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute ID group-ID mliap ... keyword values ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* mliap = style name of this compute command
|
||||
* two or more keyword/value pairs must be appended
|
||||
* keyword = *model* or *descriptor* or *gradgradflag*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*model* values = style
|
||||
style = *linear* or *quadratic*
|
||||
*descriptor* values = style filename
|
||||
style = *sna*
|
||||
filename = name of file containing descriptor definitions
|
||||
*gradgradflag* value = 0/1
|
||||
toggle gradgrad method for force gradient
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute mliap model linear descriptor sna Ta06A.mliap.descriptor
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Compute style *mliap* provides a general interface to the gradient
|
||||
of machine-learning interatomic potentials w.r.t. model parameters.
|
||||
It is used primarily for calculating the gradient of energy, force, and
|
||||
stress components w.r.t. model parameters, which is useful when training
|
||||
:doc:`mliap pair_style <pair_mliap>` models to match target data.
|
||||
It provides separate
|
||||
definitions of the interatomic potential functional form (*model*)
|
||||
and the geometric quantities that characterize the atomic positions
|
||||
(*descriptor*). By defining *model* and *descriptor* separately,
|
||||
it is possible to use many different models with a given descriptor,
|
||||
or many different descriptors with a given model. Currently, the
|
||||
compute supports just two models, *linear* and *quadratic*,
|
||||
and one descriptor, *sna*, the SNAP descriptor used by
|
||||
:doc:`pair_style snap <pair_snap>`, including the linear, quadratic,
|
||||
and chem variants. Work is currently underway to extend
|
||||
the interface to handle neural network energy models,
|
||||
and it is also straightforward to add new descriptor styles.
|
||||
|
||||
The compute *mliap* command must be followed by two keywords
|
||||
*model* and *descriptor* in either order.
|
||||
|
||||
The *model* keyword is followed by a model style, currently limited to
|
||||
either *linear* or *quadratic*.
|
||||
|
||||
The *descriptor* keyword is followed by a descriptor style, and additional arguments.
|
||||
Currently the only descriptor style is *sna*, indicating the bispectrum component
|
||||
descriptors used by the Spectral Neighbor Analysis Potential (SNAP) potentials of
|
||||
:doc:`pair_style snap <pair_snap>`.
|
||||
A single additional argument specifies the descriptor filename
|
||||
containing the parameters and setting used by the SNAP descriptor.
|
||||
The descriptor filename usually ends in the *.mliap.descriptor* extension.
|
||||
The format of this file is identical to the descriptor file in the
|
||||
:doc:`pair_style mliap <pair_mliap>`, and is described in detail
|
||||
there.
|
||||
|
||||
.. note::
|
||||
|
||||
The number of LAMMPS atom types (and the value of *nelems* in the model)
|
||||
must match the value of *nelems* in the descriptor file.
|
||||
|
||||
Compute *mliap* calculates a global array containing gradient information.
|
||||
The number of columns in the array is :math:`nelems \times nparams + 1`.
|
||||
The first row of the array contain the derivative of potential energy w.r.t. to
|
||||
each parameter and each element. The last six rows
|
||||
of the array contain the corresponding derivatives of the
|
||||
virial stress tensor, listed in Voigt notation: *pxx*, *pyy*, *pzz*,
|
||||
*pyz*, *pxz*, *pxy*. In between the energy and stress rows are
|
||||
the 3\*\ *N* rows containing the derivatives of the force components.
|
||||
See section below on output for a detailed description of how
|
||||
rows and columns are ordered.
|
||||
|
||||
The element in the last column of each row contains
|
||||
the potential energy, force, or stress, according to the row.
|
||||
These quantities correspond to the user-specified reference potential
|
||||
that must be subtracted from the target data when training a model.
|
||||
The potential energy calculation uses the built in compute *thermo_pe*.
|
||||
The stress calculation uses a compute called *mliap_press* that is
|
||||
automatically created behind the scenes, according to the following
|
||||
command:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute mliap_press all pressure NULL virial
|
||||
|
||||
See section below on output for a detailed explanation of the data
|
||||
layout in the global array.
|
||||
|
||||
The optional keyword *gradgradflag* controls how the force
|
||||
gradient is calculated. A value of 1 requires that the model provide
|
||||
the matrix of double gradients of energy w.r.t. both parameters
|
||||
and descriptors. For the linear and quadratic models this matrix is
|
||||
sparse and so is easily calculated and stored. For other models, this
|
||||
matrix may be prohibitively expensive to calculate and store.
|
||||
A value of 0 requires that the descriptor provide the derivative
|
||||
of the descriptors w.r.t. the position of every neighbor atom.
|
||||
This is not optimal for linear and quadratic models, but may be
|
||||
a better choice for more complex models.
|
||||
|
||||
Atoms not in the group do not contribute to this compute.
|
||||
Neighbor atoms not in the group do not contribute to this compute.
|
||||
The neighbor list needed to compute this quantity is constructed each
|
||||
time the calculation is performed (i.e. each time a snapshot of atoms
|
||||
is dumped). Thus it can be inefficient to compute/dump this quantity
|
||||
too frequently.
|
||||
|
||||
.. note::
|
||||
|
||||
If the user-specified reference potentials includes bonded and
|
||||
non-bonded pairwise interactions, then the settings of
|
||||
:doc:`special_bonds <special_bonds>` command can remove pairwise
|
||||
interactions between atoms in the same bond, angle, or dihedral. This
|
||||
is the default setting for the :doc:`special_bonds <special_bonds>`
|
||||
command, and means those pairwise interactions do not appear in the
|
||||
neighbor list. Because this fix uses the neighbor list, it also means
|
||||
those pairs will not be included in the calculation. The :doc:`rerun <rerun>`
|
||||
command is not an option here, since the reference potential is required
|
||||
for the last column of the global array. A work-around is to prevent
|
||||
pairwise interactions from being removed by explicitly adding a
|
||||
*tiny* positive value for every pairwise interaction that would otherwise be
|
||||
set to zero in the :doc:`special_bonds <special_bonds>` command.
|
||||
|
||||
----------
|
||||
|
||||
**Output info:**
|
||||
|
||||
Compute *mliap* evaluates a global array.
|
||||
The columns are arranged into
|
||||
*nelems* blocks, listed in order of element *I*\ . Each block
|
||||
contains one column for each of the *nparams* model parameters.
|
||||
A final column contains the corresponding energy, force component
|
||||
on an atom, or virial stress component. The rows of the array appear
|
||||
in the following order:
|
||||
|
||||
* 1 row: Derivatives of potential energy w.r.t. each parameter of each element.
|
||||
* 3\*\ *N* rows: Derivatives of force components. x, y, and z components of force on atom *i* appearing in consecutive rows. The atoms are sorted based on atom ID.
|
||||
* 6 rows: Derivatives of virial stress tensor w.r.t. each parameter of each element. The ordering of the rows follows Voigt notation: *pxx*, *pyy*, *pzz*, *pyz*, *pxz*, *pxy*.
|
||||
|
||||
These values can be accessed by any command that uses a global array
|
||||
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
||||
page for an overview of LAMMPS output options. To see how this command
|
||||
can be used within a Python workflow to train machine-learning interatomic
|
||||
potentials, see the examples in `FitSNAP <https://github.com/FitSNAP/FitSNAP>`_.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This compute is part of the MLIAP package. It is only enabled if
|
||||
LAMMPS was built with that package. In addition, building LAMMPS with the MLIAP package
|
||||
requires building LAMMPS with the SNAP package.
|
||||
See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_style mliap <pair_mliap>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The keyword defaults are gradgradflag = 1
|
||||
@ -61,8 +61,8 @@ The summation is over the *nnn* nearest
|
||||
neighbors of the central atom.
|
||||
The angles :math:`theta` and :math:`phi` are the standard spherical polar angles
|
||||
defining the direction of the bond vector :math:`r_{ij}`.
|
||||
The phase and sign of :math:`Y_{lm}` follow the standard conventions,
|
||||
so that :math:`{\rm sign}(Y_{ll}(0,0)) = (-1)^l`.
|
||||
The phase and sign of :math:`Y_{lm}` follow the standard conventions,
|
||||
so that :math:`{\rm sign}(Y_{ll}(0,0)) = (-1)^l`.
|
||||
The second equation defines :math:`Q_l`, which is a
|
||||
rotationally invariant non-negative amplitude obtained by summing
|
||||
over all the components of degree *l*\ .
|
||||
@ -181,13 +181,13 @@ values for each atom will be added to the output array, which are real numbers.
|
||||
|
||||
If the keyword *components* is set, then the real and imaginary parts
|
||||
of each component of *normalized* :math:`\hat{Y}_{lm}` will be added to the
|
||||
output array in the following order: :math:`{\rm Re}(\hat{Y}_{-m}), {\rm Im}(\hat{Y}_{-m}),
|
||||
{\rm Re}(\hat{Y}_{-m+1}), {\rm Im}(\hat{Y}_{-m+1}), \dots , {\rm Re}(\hat{Y}_m), {\rm Im}(\hat{Y}_m)`.
|
||||
output array in the following order: :math:`{\rm Re}(\hat{Y}_{-m}), {\rm Im}(\hat{Y}_{-m}),
|
||||
{\rm Re}(\hat{Y}_{-m+1}), {\rm Im}(\hat{Y}_{-m+1}), \dots , {\rm Re}(\hat{Y}_m), {\rm Im}(\hat{Y}_m)`.
|
||||
|
||||
In summary, the per-atom array will contain *nlvalues* columns, followed by
|
||||
an additional *nlvalues* columns if *wl* is set to yes, followed by
|
||||
an additional *nlvalues* columns if *wl/hat* is set to yes, followed
|
||||
by an additional 2\*(2\* *ldegree*\ +1) columns if the *components*
|
||||
by an additional 2\*(2\* *ldegree*\ +1) columns if the *components*
|
||||
keyword is set.
|
||||
|
||||
These values can be accessed by any command that uses per-atom values
|
||||
|
||||
56
doc/src/compute_smd_ulsph_effm.rst
Normal file
56
doc/src/compute_smd_ulsph_effm.rst
Normal file
@ -0,0 +1,56 @@
|
||||
.. index:: compute smd/ulsph/effm
|
||||
|
||||
compute smd/ulsph/effm command
|
||||
================================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute ID group-ID smd/ulsph/effm
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* smd/ulsph/effm = style name of this compute command
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute 1 all smd/ulsph/effm
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Define a computation that outputs the effective shear modulus for
|
||||
particles interacting via the updated Lagrangian SPH pair style.
|
||||
|
||||
See `this PDF guide <PDF/SMD_LAMMPS_userguide.pdf>`_ to using Smooth
|
||||
Mach Dynamics in LAMMPS.
|
||||
|
||||
**Output info:**
|
||||
|
||||
This compute calculates a per-particle vector, which can be accessed
|
||||
by any command that uses per-particle values from a compute as input.
|
||||
See the :doc:`Howto output <Howto_output>` doc page for an overview of
|
||||
LAMMPS output options.
|
||||
|
||||
The per-particle vector contains the current effective per atom shear
|
||||
modulus as computed by the :doc:`pair smd/ulsph <pair_smd_ulsph>` pair
|
||||
style.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This compute is part of the USER-SMD package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. This compute can
|
||||
only be used for particles which interact with the updated Lagrangian
|
||||
SPH pair style.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair smd/ulsph <pair_smd_ulsph>`
|
||||
|
||||
**Default:** none
|
||||
@ -391,7 +391,9 @@ of :math:`K N_{elem}^3` columns.
|
||||
|
||||
These values can be accessed by any command that uses per-atom values
|
||||
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
||||
page for an overview of LAMMPS output options.
|
||||
page for an overview of LAMMPS output options. To see how this command
|
||||
can be used within a Python workflow to train SNAP potentials,
|
||||
see the examples in `FitSNAP <https://github.com/FitSNAP/FitSNAP>`_.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -89,7 +89,7 @@ number of atoms in the system. Note that this is not done for
|
||||
molecular systems (see the :doc:`atom_style <atom_style>` command),
|
||||
regardless of the *compress* setting, since it would foul up the bond
|
||||
connectivity that has already been assigned. However, the
|
||||
:doc:`reset_ids <reset_ids>` command can be used after this command to
|
||||
:doc:`reset_atom_ids <reset_atom_ids>` command can be used after this command to
|
||||
accomplish the same thing.
|
||||
|
||||
Note that the re-assignment of IDs is not really a compression, where
|
||||
@ -157,7 +157,7 @@ using molecule template files via the :doc:`molecule <molecule>` and
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`create_atoms <create_atoms>`, :doc:`reset_ids <reset_ids>`
|
||||
:doc:`create_atoms <create_atoms>`, :doc:`reset_atom_ids <reset_atom_ids>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
@ -111,34 +111,34 @@ be listed under a *AngleTorsion Coeffs* heading and you must leave out
|
||||
the *at*, i.e. only list 8 coefficients after the dihedral type.
|
||||
|
||||
* *at*
|
||||
* :math:`D_1` (energy/radian)
|
||||
* :math:`D_2` (energy/radian)
|
||||
* :math:`D_3` (energy/radian)
|
||||
* :math:`E_1` (energy/radian)
|
||||
* :math:`E_2` (energy/radian)
|
||||
* :math:`E_3` (energy/radian)
|
||||
* :math:`D_1` (energy)
|
||||
* :math:`D_2` (energy)
|
||||
* :math:`D_3` (energy)
|
||||
* :math:`E_1` (energy)
|
||||
* :math:`E_2` (energy)
|
||||
* :math:`E_3` (energy)
|
||||
* :math:`\theta_1` (degrees)
|
||||
* :math:`\theta_2` (degrees)
|
||||
|
||||
:math:`\theta_1` and :math:`\theta_2` are specified in degrees, but LAMMPS converts
|
||||
them to radians internally; hence the units of :math:`D` and :math:`E` are in
|
||||
energy/radian.
|
||||
:math:`\theta_1` and :math:`\theta_2` are specified in degrees, but
|
||||
LAMMPS converts them to radians internally; hence the various
|
||||
:math:`D` and :math:`E` are effectively energy per radian.
|
||||
|
||||
For the :math:`E_{aat}` formula, each line in a
|
||||
:doc:`dihedral_coeff <dihedral_coeff>` command in the input script lists
|
||||
4 coefficients, the first of which is *aat* to indicate they are
|
||||
AngleAngleTorsion coefficients. In a data file, these coefficients
|
||||
should be listed under a *AngleAngleTorsion Coeffs* heading and you
|
||||
must leave out the *aat*, i.e. only list 3 coefficients after the
|
||||
dihedral type.
|
||||
For the :math:`E_{aat}` formula, each line in a :doc:`dihedral_coeff
|
||||
<dihedral_coeff>` command in the input script lists 4 coefficients,
|
||||
the first of which is *aat* to indicate they are AngleAngleTorsion
|
||||
coefficients. In a data file, these coefficients should be listed
|
||||
under a *AngleAngleTorsion Coeffs* heading and you must leave out the
|
||||
*aat*, i.e. only list 3 coefficients after the dihedral type.
|
||||
|
||||
* *aat*
|
||||
* :math:`M` (energy/radian\^2)
|
||||
* :math:`M` (energy)
|
||||
* :math:`\theta_1` (degrees)
|
||||
* :math:`\theta_2` (degrees)
|
||||
|
||||
:math:`\theta_1` and :math:`\theta_2` are specified in degrees, but LAMMPS converts
|
||||
them to radians internally; hence the units of M are in energy/radian\^2.
|
||||
:math:`\theta_1` and :math:`\theta_2` are specified in degrees, but
|
||||
LAMMPS converts them to radians internally; hence :math:`M` is
|
||||
effectively energy per radian\^2.
|
||||
|
||||
For the :math:`E_{bb13}` formula, each line in a
|
||||
:doc:`dihedral_coeff <dihedral_coeff>` command in the input script lists
|
||||
|
||||
@ -39,9 +39,13 @@ above, or in the data file or restart files read by the
|
||||
:doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
|
||||
commands:
|
||||
|
||||
* :math:`K` (energy/radian\^2)
|
||||
* :math:`K` (energy)
|
||||
* :math:`\phi_0` (degrees)
|
||||
|
||||
:math:`\phi_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence :math:`K` is effectively energy per
|
||||
radian\^2.
|
||||
|
||||
----------
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
|
||||
@ -185,6 +185,7 @@ accelerated styles exist.
|
||||
* :doc:`bocs <fix_bocs>` - NPT style time integration with pressure correction
|
||||
* :doc:`bond/break <fix_bond_break>` - break bonds on the fly
|
||||
* :doc:`bond/create <fix_bond_create>` - create bonds on the fly
|
||||
* :doc:`bond/create/angle <fix_bond_create>` - create bonds on the fly with angle constraints
|
||||
* :doc:`bond/react <fix_bond_react>` - apply topology changes to model reactions
|
||||
* :doc:`bond/swap <fix_bond_swap>` - Monte Carlo bond swapping
|
||||
* :doc:`box/relax <fix_box_relax>` - relax box size during energy minimization
|
||||
@ -386,6 +387,7 @@ accelerated styles exist.
|
||||
* :doc:`wall/region <fix_wall_region>` - use region surface as wall
|
||||
* :doc:`wall/region/ees <fix_wall_ees>` - use region surface as wall for ellipsoidal particles
|
||||
* :doc:`wall/srd <fix_wall_srd>` - slip/no-slip wall for SRD particles
|
||||
* :doc:`widom <fix_widom>` - Widom insertions of atoms or molecules
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -123,87 +123,85 @@ current list of pair styles and parameters that can be varied by this
|
||||
fix. See the doc pages for individual pair styles and their energy
|
||||
formulas for the meaning of these parameters:
|
||||
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`born <pair_born>` | a,b,c | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`born/coul/long, born/coul/msm <pair_born>` | coulombic_cutoff | type global |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`buck <pair_buck>` | a,c | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`buck/coul/long, buck/coul/msm <pair_buck>` | coulombic_cutoff | type global |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`buck/mdf <pair_mdf>` | a,c | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/cut <pair_coul>` | scale | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/cut/soft <pair_fep_soft>` | lambda | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/debye <pair_coul>` | scale | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/dsf <pair_coul>` | coulombic_cutoff | type global |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/long, coul/msm <pair_coul>` | coulombic_cutoff, scale | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/long/soft <pair_fep_soft>` | scale, lambda, coulombic_cutoff | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`eam, eam/alloy, eam/fs <pair_eam>` | scale | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`gauss <pair_gauss>` | a | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lennard/mdf <pair_mdf>` | A,B | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/class2 <pair_class2>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/class2/coul/cut, lj/class2/coul/long <pair_class2>` | epsilon,sigma,coulombic_cutoff | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut <pair_lj>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm <pair_lj>` | epsilon,sigma,coulombic_cutoff | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft <pair_fep_soft>` | epsilon,sigma,lambda,coulombic_cutoff | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut/coul/dsf <pair_lj>` | cutoff | type global |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut/tip4p/cut <pair_lj>` | epsilon,sigma,coulombic_cutoff | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/expand <pair_lj_expand>` | epsilon,sigma,delta | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/mdf <pair_mdf>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/sf/dipole/sf <pair_dipole>` | epsilon,sigma,scale | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lubricate <pair_lubricate>` | mu | global |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`mie/cut <pair_mie>` | epsilon,sigma,gamma_repulsive,gamma_attractive | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`morse, morse/smooth/linear <pair_morse>` | D0,R0,alpha | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`morse/soft <pair_morse>` | D0,R0,alpha,lambda | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`nm/cut <pair_nm>` | E0,R0,m,n | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`nm/cut/coul/cut, nm/cut/coul/long <pair_nm>` | E0,R0,m,n,coulombic_cutoff | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`reax/c <pair_reaxc>` | chi, eta, gamma | type global |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`spin/dmi <pair_spin_dmi>` | coulombic_cutoff | type global |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`spin/exchange <pair_spin_exchange>` | coulombic_cutoff | type global |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`spin/magelec <pair_spin_magelec>` | coulombic_cutoff | type global |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`spin/neel <pair_spin_neel>` | coulombic_cutoff | type global |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`table <pair_table>` | table_cutoff | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`ufm <pair_ufm>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`soft <pair_soft>` | a | type pairs |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| | | |
|
||||
+---------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`born <pair_born>` | a,b,c | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`born/coul/long, born/coul/msm <pair_born>` | coulombic_cutoff | type global |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`buck <pair_buck>` | a,c | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`buck/coul/long, buck/coul/msm <pair_buck>` | coulombic_cutoff | type global |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`buck/mdf <pair_mdf>` | a,c | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/cut <pair_coul>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/cut/soft <pair_fep_soft>` | lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/debye <pair_coul>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/dsf <pair_coul>` | coulombic_cutoff | type global |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/long, coul/msm <pair_coul>` | coulombic_cutoff, scale | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`coul/long/soft <pair_fep_soft>` | scale, lambda, coulombic_cutoff | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`eam, eam/alloy, eam/fs <pair_eam>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`gauss <pair_gauss>` | a | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lennard/mdf <pair_mdf>` | A,B | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/class2 <pair_class2>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/class2/coul/cut, lj/class2/coul/long <pair_class2>` | epsilon,sigma,coulombic_cutoff | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut <pair_lj>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm <pair_lj_cut_coul>` | epsilon,sigma,coulombic_cutoff | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft <pair_fep_soft>` | epsilon,sigma,lambda,coulombic_cutoff | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut/coul/dsf <pair_lj_cut_coul>` | cutoff | type global |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut/tip4p/cut <pair_lj_cut_tip4p>` | epsilon,sigma,coulombic_cutoff | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/cut/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/expand <pair_lj_expand>` | epsilon,sigma,delta | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/mdf <pair_mdf>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lj/sf/dipole/sf <pair_dipole>` | epsilon,sigma,scale | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`lubricate <pair_lubricate>` | mu | global |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`mie/cut <pair_mie>` | epsilon,sigma,gamma_repulsive,gamma_attractive | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`morse, morse/smooth/linear <pair_morse>` | D0,R0,alpha | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`morse/soft <pair_morse>` | D0,R0,alpha,lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`nm/cut <pair_nm>` | E0,R0,m,n | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`nm/cut/coul/cut, nm/cut/coul/long <pair_nm>` | E0,R0,m,n,coulombic_cutoff | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`reax/c <pair_reaxc>` | chi, eta, gamma | type global |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`spin/dmi <pair_spin_dmi>` | coulombic_cutoff | type global |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`spin/exchange <pair_spin_exchange>` | coulombic_cutoff | type global |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`spin/magelec <pair_spin_magelec>` | coulombic_cutoff | type global |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`spin/neel <pair_spin_neel>` | coulombic_cutoff | type global |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`table <pair_table>` | table_cutoff | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`ufm <pair_ufm>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
| :doc:`soft <pair_soft>` | a | type pairs |
|
||||
+------------------------------------------------------------------------------+--------------------------------------------------+-------------+
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@ -117,63 +117,63 @@ change. This is the current list of pair styles and parameters that
|
||||
can be varied by this fix. See the doc pages for individual pair
|
||||
styles and their energy formulas for the meaning of these parameters:
|
||||
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`born <pair_born>` | a,b,c | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`buck <pair_buck>` | a,c | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`buck/mdf <pair_mdf>` | a,c | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/cut <pair_coul>` | scale | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/cut/soft <pair_fep_soft>` | lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/long, coul/msm <pair_coul>` | scale | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/long/soft <pair_fep_soft>` | scale, lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`eam <pair_eam>` | scale | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`gauss <pair_gauss>` | a | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lennard/mdf <pair_mdf>` | a,b | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/class2 <pair_class2>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/class2/coul/cut, lj/class2/coul/long <pair_class2>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut <pair_lj>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm <pair_lj>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/tip4p/cut, lj/cut/tip4p/long <pair_lj>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/tip4p/long/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/expand <pair_lj_expand>` | epsilon,sigma,delta | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/mdf <pair_mdf>` | epsilon,sigma | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/sf/dipole/sf <pair_dipole>` | epsilon,sigma,scale | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`mie/cut <pair_mie>` | epsilon,sigma,gamR,gamA | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`morse, morse/smooth/linear <pair_morse>` | d0,r0,alpha | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`morse/soft <pair_morse>` | d0,r0,alpha,lambda | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`nm/cut <pair_nm>` | e0,r0,nn,mm | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`nm/cut/coul/cut, nm/cut/coul/long <pair_nm>` | e0,r0,nn,mm | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`ufm <pair_ufm>` | epsilon,sigma,scale | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`soft <pair_soft>` | a | type pairs |
|
||||
+---------------------------------------------------------------------+-------------------------+------------+
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`born <pair_born>` | a,b,c | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`buck <pair_buck>` | a,c | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`buck/mdf <pair_mdf>` | a,c | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/cut <pair_coul>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/cut/soft <pair_fep_soft>` | lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/long, coul/msm <pair_coul>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`coul/long/soft <pair_fep_soft>` | scale, lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`eam <pair_eam>` | scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`gauss <pair_gauss>` | a | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lennard/mdf <pair_mdf>` | a,b | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/class2 <pair_class2>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/class2/coul/cut, lj/class2/coul/long <pair_class2>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut <pair_lj>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/coul/cut, lj/cut/coul/long, lj/cut/coul/msm <pair_lj_cut_coul>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/coul/cut/soft, lj/cut/coul/long/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/tip4p/cut, lj/cut/tip4p/long <pair_lj_cut_tip4p>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/cut/tip4p/long/soft <pair_fep_soft>` | epsilon,sigma,lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/expand <pair_lj_expand>` | epsilon,sigma,delta | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/mdf <pair_mdf>` | epsilon,sigma | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`lj/sf/dipole/sf <pair_dipole>` | epsilon,sigma,scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`mie/cut <pair_mie>` | epsilon,sigma,gamR,gamA | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`morse, morse/smooth/linear <pair_morse>` | d0,r0,alpha | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`morse/soft <pair_morse>` | d0,r0,alpha,lambda | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`nm/cut <pair_nm>` | e0,r0,nn,mm | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`nm/cut/coul/cut, nm/cut/coul/long <pair_nm>` | e0,r0,nn,mm | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`ufm <pair_ufm>` | epsilon,sigma,scale | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
| :doc:`soft <pair_soft>` | a | type pairs |
|
||||
+------------------------------------------------------------------------------+-------------------------+------------+
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@ -3,6 +3,9 @@
|
||||
fix bond/create command
|
||||
=======================
|
||||
|
||||
fix bond/create/angle command
|
||||
=============================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
@ -17,7 +20,7 @@ Syntax
|
||||
* Rmin = 2 atoms separated by less than Rmin can bond (distance units)
|
||||
* bondtype = type of created bonds
|
||||
* zero or more keyword/value pairs may be appended to args
|
||||
* keyword = *iparam* or *jparam* or *prob* or *atype* or *dtype* or *itype*
|
||||
* keyword = *iparam* or *jparam* or *prob* or *atype* or *dtype* or *itype* or *aconstrain*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -36,6 +39,9 @@ Syntax
|
||||
dihedraltype = type of created dihedrals
|
||||
*itype* value = impropertype
|
||||
impropertype = type of created impropers
|
||||
*aconstrain* value = amin amax
|
||||
amin = minimal angle at which new bonds can be created
|
||||
amax = maximal angle at which new bonds can be created
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -45,6 +51,7 @@ Examples
|
||||
fix 5 all bond/create 10 1 2 0.8 1
|
||||
fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3
|
||||
fix 5 all bond/create 1 3 3 0.8 1 prob 0.5 85784 iparam 2 3 atype 1 dtype 2
|
||||
fix 5 all bond/create/angle 10 1 2 1.122 1 aconstrain 120 180 prob 1 4928459 iparam 2 1 jparam 2 2
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
@ -110,7 +117,16 @@ actually created. The *fraction* setting must be a value between 0.0
|
||||
and 1.0. A uniform random number between 0.0 and 1.0 is generated and
|
||||
the eligible bond is only created if the random number < fraction.
|
||||
|
||||
Any bond that is created is assigned a bond type of *bondtype*
|
||||
The *aconstrain* keyword is only available with the fix
|
||||
bond/create/angle command. It allows to specify a minimal and maximal
|
||||
angle *amin* and *amax* between the two prospective bonding partners and
|
||||
a third particle that is already bonded to one of the two partners.
|
||||
Such a criterion can be important when new angles are defined together
|
||||
with the formation of a new bond. Without a restriction on the
|
||||
permissible angle, and for stiffer angle potentials, very large energies
|
||||
can arise and lead to uncontrolled behavior.
|
||||
|
||||
Any bond that is created is assigned a bond type of *bondtype*.
|
||||
|
||||
When a bond is created, data structures within LAMMPS that store bond
|
||||
topology are updated to reflect the creation. If the bond is part of
|
||||
@ -218,12 +234,14 @@ You can dump out snapshots of the current bond topology via the :doc:`dump local
|
||||
|
||||
**Restart, fix_modify, output, run start/stop, minimize info:**
|
||||
|
||||
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
|
||||
are relevant to this fix.
|
||||
No information about this fix is written to :doc:`binary restart files
|
||||
<restart>`. None of the :doc:`fix_modify <fix_modify>` options are
|
||||
relevant to this fix.
|
||||
|
||||
This fix computes two statistics which it stores in a global vector of
|
||||
length 2, which can be accessed by various :doc:`output commands <Howto_output>`. The vector values calculated by this fix
|
||||
are "intensive".
|
||||
length 2, which can be accessed by various :doc:`output commands
|
||||
<Howto_output>`. The vector values calculated by this fix are
|
||||
"intensive".
|
||||
|
||||
These are the 2 quantities:
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ Description
|
||||
This fix performs grand canonical Monte Carlo (GCMC) exchanges of
|
||||
atoms or molecules with an imaginary ideal gas
|
||||
reservoir at the specified T and chemical potential (mu) as discussed
|
||||
in :ref:`(Frenkel) <Frenkel>`. It also
|
||||
in :ref:`(Frenkel) <Frenkel2>`. It also
|
||||
attempts Monte Carlo (MC) moves (translations and molecule
|
||||
rotations) within the simulation cell or
|
||||
region. If used with the :doc:`fix nvt <fix_nh>`
|
||||
@ -481,7 +481,7 @@ listed above.
|
||||
|
||||
----------
|
||||
|
||||
.. _Frenkel:
|
||||
.. _Frenkel2:
|
||||
|
||||
**(Frenkel)** Frenkel and Smit, Understanding Molecular Simulation,
|
||||
Academic Press, London, 2002.
|
||||
|
||||
@ -15,7 +15,7 @@ Syntax
|
||||
* dir = *x* or *y* or *z*
|
||||
* shockvel = shock velocity (strictly positive, velocity units)
|
||||
* zero or more keyword/value pairs may be appended
|
||||
* keyword = *q* or *mu* or *p0* or *v0* or *e0* or *tscale* or *damp* or *seed*\ or *f_max* or *N_f* or *eta* or *beta* or *T_init*
|
||||
* keyword = *q* or *mu* or *p0* or *v0* or *e0* or *tscale* or *damp* or *seed* or *f_max* or *N_f* or *eta* or *beta* or *T_init*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
|
||||
@ -183,11 +183,13 @@ the restraint is
|
||||
|
||||
with the following coefficients:
|
||||
|
||||
* :math:`K` (energy/radian\^2)
|
||||
* :math:`K` (energy)
|
||||
* :math:`\theta_0` (degrees)
|
||||
|
||||
:math:`K` and :math:`\theta_0` are specified with the fix. Note that the usual 1/2
|
||||
factor is included in :math:`K`.
|
||||
:math:`K` and :math:`\theta_0` are specified with the fix.
|
||||
:math:`\theta_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence :math:`K` is effectively energy per
|
||||
radian\^2. Note that the usual 1/2 factor is included in :math:`K`.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -93,7 +93,7 @@ Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`kspace_style <kspace_style>`, :doc:`boundary <boundary>`
|
||||
:doc:`kspace_modify <kspace_modify>`, :doc:`pair_style lj/cut/coul/long <pair_lj>`, :doc:`pair_style lj/charmm/coul/long <pair_charmm>`, :doc:`pair_style lj/long <pair_lj_long>`, :doc:`pair_style lj/long/coul/long <pair_lj_long>`,
|
||||
:doc:`kspace_modify <kspace_modify>`, :doc:`pair_style lj/cut/coul/long <pair_lj_cut_coul>`, :doc:`pair_style lj/charmm/coul/long <pair_charmm>`, :doc:`pair_style lj/long <pair_lj_long>`, :doc:`pair_style lj/long/coul/long <pair_lj_long>`,
|
||||
:doc:`pair_style buck/coul/long <pair_buck>`
|
||||
|
||||
Default
|
||||
|
||||
227
doc/src/fix_widom.rst
Normal file
227
doc/src/fix_widom.rst
Normal file
@ -0,0 +1,227 @@
|
||||
.. index:: fix widom
|
||||
|
||||
fix widom command
|
||||
=================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
fix ID group-ID widom N M type seed T keyword values ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||
* widom = style name of this fix command
|
||||
* N = invoke this fix every N steps
|
||||
* M = number of Widom insertions to attempt every N steps
|
||||
* type = atom type for inserted atoms (must be 0 if mol keyword used)
|
||||
* seed = random # seed (positive integer)
|
||||
* T = temperature of the system (temperature units)
|
||||
* zero or more keyword/value pairs may be appended to args
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
keyword = *mol*\ , *region*\ , *full_energy*, *charge*\ , *intra_energy*
|
||||
*mol* value = template-ID
|
||||
template-ID = ID of molecule template specified in a separate :doc:`molecule <molecule>` command
|
||||
*region* value = region-ID
|
||||
region-ID = ID of region where Widom insertions are allowed
|
||||
*full_energy* = compute the entire system energy when performing Widom insertions
|
||||
*charge* value = charge of inserted atoms (charge units)
|
||||
*intra_energy* value = intramolecular energy (energy units)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix 2 gas widom 1 50000 1 19494 2.0
|
||||
fix 3 water widom 1000 100 0 29494 300.0 mol h2omol full_energy
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
This fix performs Widom insertions of atoms or molecules at the given
|
||||
temperature as discussed in :ref:`(Frenkel) <Frenkel1>`. Specific uses
|
||||
include computation of Henry constants of small molecules in microporous
|
||||
materials or amorphous systems.
|
||||
|
||||
|
||||
Every N timesteps the fix attempts M number of Widom insertions of atoms
|
||||
or molecules.
|
||||
|
||||
If the *mol* keyword is used, only molecule insertions are performed.
|
||||
Conversely, if the *mol* keyword is not used, only atom insertions are
|
||||
performed.
|
||||
|
||||
This command may optionally use the *region* keyword to define an
|
||||
insertion volume. The specified region must have been previously
|
||||
defined with a :doc:`region <region>` command. It must be defined with
|
||||
side = *in*\ . Insertion attempts occur only within the specified
|
||||
region. For non-rectangular regions, random trial points are generated
|
||||
within the rectangular bounding box until a point is found that lies
|
||||
inside the region. If no valid point is generated after 1000 trials, no
|
||||
insertion is performed. If an attempted insertion places the atom or
|
||||
molecule center-of-mass outside the specified region, a new attempted
|
||||
insertion is generated. This process is repeated until the atom or
|
||||
molecule center-of-mass is inside the specified region.
|
||||
|
||||
Note that neighbor lists are re-built every timestep that this fix is
|
||||
invoked, so you should not set N to be too small. See the :doc:`neighbor
|
||||
<neighbor>` command for details.
|
||||
|
||||
When an atom or molecule is to be inserted, its coordinates are chosen
|
||||
at a random position within the current simulation cell or region.
|
||||
Relative coordinates for atoms in a molecule are taken from the
|
||||
template molecule provided by the user. The center of mass of the
|
||||
molecule is placed at the insertion point. The orientation of the
|
||||
molecule is chosen at random by rotating about this point.
|
||||
|
||||
Individual atoms are inserted, unless the *mol* keyword is used. It
|
||||
specifies a *template-ID* previously defined using the :doc:`molecule
|
||||
<molecule>` command, which reads a file that defines the molecule. The
|
||||
coordinates, atom types, charges, etc., as well as any bonding and
|
||||
special neighbor information for the molecule can be specified in the
|
||||
molecule file. See the :doc:`molecule <molecule>` command for details.
|
||||
The only settings required to be in this file are the coordinates and
|
||||
types of atoms in the molecule.
|
||||
|
||||
If you wish to insert molecules via the *mol* keyword, that will have
|
||||
their bonds or angles constrained via SHAKE, use the *shake* keyword,
|
||||
specifying as its value the ID of a separate :doc:`fix shake
|
||||
<fix_shake>` command which also appears in your input script.
|
||||
|
||||
Note that fix widom does not use configurational bias MC or any other
|
||||
kind of sampling of intramolecular degrees of freedom. Inserted
|
||||
molecules can have different orientations, but they will all have the
|
||||
same intramolecular configuration, which was specified in the molecule
|
||||
command input.
|
||||
|
||||
For atoms, inserted particles have the specified atom type. For
|
||||
molecules, they use the same atom types as in the template molecule
|
||||
supplied by the user.
|
||||
|
||||
The excess chemical potential mu_ex is defined as:
|
||||
|
||||
.. math::
|
||||
|
||||
\mu_{ex} = -kT \ln(<\exp(-(U_{N+1}-U_{N})/{kT})>)
|
||||
|
||||
where *k* is Boltzman's constant, *T* is the user-specified temperature,
|
||||
U_N and U_{N+1} is the potential energy of the system with N and N+1
|
||||
particles.
|
||||
|
||||
The *full_energy* option means that the fix calculates the total
|
||||
potential energy of the entire simulated system, instead of just the
|
||||
energy of the part that is changed. By default, this option is off, in
|
||||
which case only partial energies are computed to determine the energy
|
||||
difference due to the proposed change.
|
||||
|
||||
The *full_energy* option is needed for systems with complicated
|
||||
potential energy calculations, including the following:
|
||||
|
||||
* long-range electrostatics (kspace)
|
||||
* many-body pair styles
|
||||
* hybrid pair styles
|
||||
* eam pair styles
|
||||
* tail corrections
|
||||
* need to include potential energy contributions from other fixes
|
||||
|
||||
In these cases, LAMMPS will automatically apply the *full_energy*
|
||||
keyword and issue a warning message.
|
||||
|
||||
When the *mol* keyword is used, the *full_energy* option also includes
|
||||
the intramolecular energy of inserted and deleted molecules, whereas
|
||||
this energy is not included when *full_energy* is not used. If this is
|
||||
not desired, the *intra_energy* keyword can be used to define an amount
|
||||
of energy that is subtracted from the final energy when a molecule is
|
||||
inserted, and subtracted from the initial energy when a molecule is
|
||||
deleted. For molecules that have a non-zero intramolecular energy, this
|
||||
will ensure roughly the same behavior whether or not the *full_energy*
|
||||
option is used.
|
||||
|
||||
Some fixes have an associated potential energy. Examples of such fixes
|
||||
include: :doc:`efield <fix_efield>`, :doc:`gravity <fix_gravity>`,
|
||||
:doc:`addforce <fix_addforce>`, :doc:`restrain <fix_restrain>`, and
|
||||
:doc:`wall fixes <fix_wall>`. For that energy to be included in the
|
||||
total potential energy of the system (the quantity used when performing
|
||||
Widom insertions), you MUST enable the :doc:`fix_modify <fix_modify>`
|
||||
*energy* option for that fix. The doc pages for individual :doc:`fix
|
||||
<fix>` commands specify if this should be done.
|
||||
|
||||
Use the *charge* option to insert atoms with a user-specified point
|
||||
charge. Note that doing so will cause the system to become non-neutral.
|
||||
LAMMPS issues a warning when using long-range electrostatics (kspace)
|
||||
with non-neutral systems. See the :doc:`compute group/group
|
||||
<compute_group_group>` documentation for more details about simulating
|
||||
non-neutral systems with kspace on.
|
||||
|
||||
**Restart, fix_modify, output, run start/stop, minimize info:**
|
||||
|
||||
This fix writes the state of the fix to :doc:`binary restart files
|
||||
<restart>`. This includes information about the random number generator
|
||||
seed, the next timestep for Widom insertions etc. See the
|
||||
:doc:`read_restart <read_restart>` 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::
|
||||
|
||||
For this to work correctly, the timestep must **not** be changed
|
||||
after reading the restart with :doc:`reset_timestep
|
||||
<reset_timestep>`. The fix will try to detect it and stop with an
|
||||
error.
|
||||
|
||||
None of the :doc:`fix_modify <fix_modify>` options are relevant to this
|
||||
fix.
|
||||
|
||||
This fix computes a global vector of length 3, which can be accessed by
|
||||
various :doc:`output commands <Howto_output>`. The vector values are
|
||||
the following global cumulative quantities:
|
||||
|
||||
* 1 = average excess chemical potential on each timestep
|
||||
* 2 = average difference in potential energy on each timestep
|
||||
* 3 = volume of the insertion region
|
||||
|
||||
The vector values calculated by this fix are "extensive".
|
||||
|
||||
No parameter of this fix can be used with the *start/stop* keywords of
|
||||
the :doc:`run <run>` command. This fix is not invoked during
|
||||
:doc:`energy minimization <minimize>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This fix is part of the MC package. It is only enabled if LAMMPS was
|
||||
built with that package. See the :doc:`Build package <Build_package>`
|
||||
doc page for more info.
|
||||
|
||||
Do not set "neigh_modify once yes" or else this fix will never be
|
||||
called. Reneighboring is **required**.
|
||||
|
||||
Can be run in parallel, but aspects of the GCMC part will not scale well
|
||||
in parallel. Only usable for 3D simulations.
|
||||
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fix gcmc <fix_gcmc>`
|
||||
:doc:`fix atom/swap <fix_atom_swap>`,
|
||||
:doc:`neighbor <neighbor>`,
|
||||
:doc:`fix deposit <fix_deposit>`, :doc:`fix evaporate <fix_evaporate>`,
|
||||
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The option defaults are mol = no, intra_energy = 0.0 and full_energy =
|
||||
no, except for the situations where full_energy is required, as listed
|
||||
above.
|
||||
|
||||
----------
|
||||
|
||||
.. _Frenkel1:
|
||||
|
||||
**(Frenkel)** Frenkel and Smit, Understanding Molecular Simulation,
|
||||
Academic Press, London, 2002.
|
||||
@ -74,29 +74,31 @@ commands.
|
||||
|
||||
These are the 2 coefficients for the :math:`E_i` formula:
|
||||
|
||||
* :math:`K` (energy/radian\^2)
|
||||
* :math:`K` (energy)
|
||||
* :math:`\chi_0` (degrees)
|
||||
|
||||
:math:`\chi_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of K are in energy/radian\^2.
|
||||
:math:`\chi_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence :math:`K` is effectively energy per
|
||||
radian\^2.
|
||||
|
||||
For the :math:`E_{aa}` formula, each line in a
|
||||
:doc:`improper_coeff <improper_coeff>` command in the input script lists
|
||||
7 coefficients, the first of which is *aa* to indicate they are
|
||||
AngleAngle coefficients. In a data file, these coefficients should be
|
||||
listed under a *AngleAngle Coeffs* heading and you must leave out the
|
||||
*aa*, i.e. only list 6 coefficients after the improper type.
|
||||
For the :math:`E_{aa}` formula, each line in a :doc:`improper_coeff
|
||||
<improper_coeff>` command in the input script lists 7 coefficients,
|
||||
the first of which is *aa* to indicate they are AngleAngle
|
||||
coefficients. In a data file, these coefficients should be listed
|
||||
under a *AngleAngle Coeffs* heading and you must leave out the *aa*,
|
||||
i.e. only list 6 coefficients after the improper type.
|
||||
|
||||
* *aa*
|
||||
* :math:`M_1` (energy/distance)
|
||||
* :math:`M_2` (energy/distance)
|
||||
* :math:`M_3` (energy/distance)
|
||||
* :math:`M_1` (energy)
|
||||
* :math:`M_2` (energy)
|
||||
* :math:`M_3` (energy)
|
||||
* :math:`\theta_1` (degrees)
|
||||
* :math:`\theta_2` (degrees)
|
||||
* :math:`\theta_3` (degrees)
|
||||
|
||||
The theta values are specified in degrees, but LAMMPS converts them to
|
||||
radians internally; hence the units of M are in energy/radian\^2.
|
||||
The :math:`\theta` values are specified in degrees, but LAMMPS
|
||||
converts them to radians internally; hence the hence the various
|
||||
:math:`M` are effectively energy per radian\^2.
|
||||
|
||||
----------
|
||||
|
||||
@ -109,7 +111,8 @@ produce the same results, except for round-off and precision issues.
|
||||
|
||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
LAMMPS was built with those packages. See the :doc:`Build package
|
||||
<Build_package>` doc page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
|
||||
|
||||
@ -59,11 +59,12 @@ above, or in the data file or restart files read by the
|
||||
:doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
|
||||
commands:
|
||||
|
||||
* :math:`K` (energy/radian\^2)
|
||||
* :math:`K` (energy)
|
||||
* :math:`\chi_0` (degrees)
|
||||
|
||||
:math:`\chi_0` is specified in degrees, but LAMMPS converts it to radians
|
||||
internally; hence the units of K are in energy/radian\^2.
|
||||
:math:`\chi_0` is specified in degrees, but LAMMPS converts it to
|
||||
radians internally; hence :math:`K` is effectively energy per
|
||||
radian\^2.
|
||||
|
||||
----------
|
||||
|
||||
@ -76,11 +77,13 @@ produce the same results, except for round-off and precision issues.
|
||||
|
||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
LAMMPS was built with those packages. See the :doc:`Build package
|
||||
<Build_package>` doc page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
|
||||
:doc:`suffix <suffix>` command in your input script.
|
||||
by including their suffix, or you can use the :doc:`-suffix
|
||||
command-line switch <Run_options>` when you invoke LAMMPS, or you can
|
||||
use the :doc:`suffix <suffix>` command in your input script.
|
||||
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
@ -437,7 +437,7 @@ virial, so this contribution is not included.
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`kspace_modify <kspace_modify>`, :doc:`pair_style lj/cut/coul/long <pair_lj>`, :doc:`pair_style lj/charmm/coul/long <pair_charmm>`, :doc:`pair_style lj/long/coul/long <pair_lj_long>`, :doc:`pair_style buck/coul/long <pair_buck>`
|
||||
:doc:`kspace_modify <kspace_modify>`, :doc:`pair_style lj/cut/coul/long <pair_lj_cut_coul>`, :doc:`pair_style lj/charmm/coul/long <pair_charmm>`, :doc:`pair_style lj/long/coul/long <pair_lj_long>`, :doc:`pair_style buck/coul/long <pair_buck>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
@ -231,7 +231,7 @@ so that its energy is 0.0 at the cutoff via the
|
||||
:doc:`pair_modify <pair_modify>` command. See the doc pages for
|
||||
individual :doc:`pair styles <pair_style>` for details. Note that
|
||||
Coulombic potentials always have a cutoff, unless versions with a
|
||||
long-range component are used (e.g. :doc:`pair_style lj/cut/coul/long <pair_lj>`). The CHARMM potentials go to 0.0 at
|
||||
long-range component are used (e.g. :doc:`pair_style lj/cut/coul/long <pair_lj_cut_coul>`). The CHARMM potentials go to 0.0 at
|
||||
the cutoff (e.g. :doc:`pair_style lj/charmm/coul/charmm <pair_charmm>`),
|
||||
as do the GROMACS potentials (e.g. :doc:`pair_style lj/gromacs <pair_gromacs>`).
|
||||
|
||||
|
||||
@ -518,7 +518,7 @@ script are supported by the KOKKOS package. In this case data can stay
|
||||
on the GPU for many timesteps without being moved between the host and
|
||||
GPU, if you use the *device* value. If your script uses styles (e.g.
|
||||
fixes) which are not yet supported by the KOKKOS package, then data has
|
||||
to be move between the host and device anyway, so it is typically faster
|
||||
to be moved between the host and device anyway, so it is typically faster
|
||||
to let the host handle communication, by using the *host* value. Using
|
||||
*host* instead of *no* will enable use of multiple threads to
|
||||
pack/unpack communicated data. When running small systems on a GPU,
|
||||
|
||||
@ -120,7 +120,7 @@ the "/cs" in the name:
|
||||
* :doc:`pair_style buck/coul/long <pair_buck>`
|
||||
* :doc:`pair_style coul/long <pair_coul>`
|
||||
* :doc:`pair_style coul/wolf <pair_coul>`
|
||||
* :doc:`pair_style lj/cut/coul/long <pair_lj>`
|
||||
* :doc:`pair_style lj/cut/coul/long <pair_lj_cut_coul>`
|
||||
* :doc:`pair_style lj/class2/coul/long <pair_class2>`
|
||||
|
||||
except that they correctly treat the special case where the distance
|
||||
|
||||
@ -1,109 +1,15 @@
|
||||
.. index:: pair_style lj/cut
|
||||
.. index:: pair_style lj/cut/gpu
|
||||
.. index:: pair_style lj/cut/intel
|
||||
.. index:: pair_style lj/cut/kk
|
||||
.. index:: pair_style lj/cut/opt
|
||||
.. index:: pair_style lj/cut/omp
|
||||
|
||||
|
||||
pair_style lj/cut command
|
||||
=========================
|
||||
|
||||
pair_style lj/cut/gpu command
|
||||
=============================
|
||||
|
||||
pair_style lj/cut/intel command
|
||||
===============================
|
||||
|
||||
pair_style lj/cut/kk command
|
||||
============================
|
||||
|
||||
pair_style lj/cut/opt command
|
||||
=============================
|
||||
|
||||
pair_style lj/cut/omp command
|
||||
=============================
|
||||
|
||||
pair_style lj/cut/coul/cut command
|
||||
==================================
|
||||
|
||||
pair_style lj/cut/coul/cut/gpu command
|
||||
======================================
|
||||
|
||||
pair_style lj/cut/coul/cut/kk command
|
||||
=====================================
|
||||
|
||||
pair_style lj/cut/coul/cut/omp command
|
||||
======================================
|
||||
|
||||
pair_style lj/cut/coul/debye command
|
||||
====================================
|
||||
|
||||
pair_style lj/cut/coul/debye/gpu command
|
||||
========================================
|
||||
|
||||
pair_style lj/cut/coul/debye/kk command
|
||||
=======================================
|
||||
|
||||
pair_style lj/cut/coul/debye/omp command
|
||||
========================================
|
||||
|
||||
pair_style lj/cut/coul/dsf command
|
||||
==================================
|
||||
|
||||
pair_style lj/cut/coul/dsf/gpu command
|
||||
======================================
|
||||
|
||||
pair_style lj/cut/coul/dsf/kk command
|
||||
=====================================
|
||||
|
||||
pair_style lj/cut/coul/dsf/omp command
|
||||
======================================
|
||||
|
||||
pair_style lj/cut/coul/long command
|
||||
===================================
|
||||
|
||||
pair_style lj/cut/coul/long/gpu command
|
||||
=======================================
|
||||
|
||||
pair_style lj/cut/coul/long/kk command
|
||||
======================================
|
||||
|
||||
pair_style lj/cut/coul/long/intel command
|
||||
=========================================
|
||||
|
||||
pair_style lj/cut/coul/long/opt command
|
||||
=======================================
|
||||
|
||||
pair_style lj/cut/coul/long/omp command
|
||||
=======================================
|
||||
|
||||
pair_style lj/cut/coul/msm command
|
||||
==================================
|
||||
|
||||
pair_style lj/cut/coul/msm/gpu command
|
||||
======================================
|
||||
|
||||
pair_style lj/cut/coul/msm/omp command
|
||||
======================================
|
||||
|
||||
pair_style lj/cut/coul/wolf command
|
||||
===================================
|
||||
|
||||
pair_style lj/cut/coul/wolf/omp command
|
||||
=======================================
|
||||
|
||||
pair_style lj/cut/tip4p/cut command
|
||||
===================================
|
||||
|
||||
pair_style lj/cut/tip4p/cut/omp command
|
||||
=======================================
|
||||
|
||||
pair_style lj/cut/tip4p/long command
|
||||
====================================
|
||||
|
||||
pair_style lj/cut/tip4p/long/gpu command
|
||||
========================================
|
||||
|
||||
pair_style lj/cut/tip4p/long/omp command
|
||||
========================================
|
||||
|
||||
pair_style lj/cut/tip4p/long/opt command
|
||||
========================================
|
||||
Accelerator Variants: *lj/cut/gpu*, *lj/cut/intel*, *lj/cut/kk*, *lj/cut/opt*, *lj/cut/omp*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
@ -112,46 +18,13 @@ Syntax
|
||||
|
||||
pair_style style args
|
||||
|
||||
* 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*
|
||||
* style = *lj/cut*
|
||||
* args = list of arguments for a particular style
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*lj/cut* args = cutoff
|
||||
cutoff = global cutoff for Lennard Jones interactions (distance units)
|
||||
*lj/cut/coul/cut* args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/coul/debye* args = kappa cutoff (cutoff2)
|
||||
kappa = inverse of the Debye length (inverse distance units)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/coul/dsf* args = alpha cutoff (cutoff2)
|
||||
alpha = damping parameter (inverse distance units)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (distance units)
|
||||
*lj/cut/coul/long* args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/coul/msm* args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/coul/wolf* args = alpha cutoff (cutoff2)
|
||||
alpha = damping parameter (inverse distance units)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 2 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/tip4p/cut* args = otype htype btype atype qdist cutoff (cutoff2)
|
||||
otype,htype = atom types for TIP4P O and H
|
||||
btype,atype = bond and angle types for TIP4P waters
|
||||
qdist = distance from O atom to massless charge (distance units)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/tip4p/long* args = otype htype btype atype qdist cutoff (cutoff2)
|
||||
otype,htype = atom types for TIP4P O and H
|
||||
btype,atype = bond and angle types for TIP4P waters
|
||||
qdist = distance from O atom to massless charge (distance units)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -162,46 +35,6 @@ Examples
|
||||
pair_coeff * * 1 1
|
||||
pair_coeff 1 1 1 1.1 2.8
|
||||
|
||||
pair_style lj/cut/coul/cut 10.0
|
||||
pair_style lj/cut/coul/cut 10.0 8.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0 9.0
|
||||
|
||||
pair_style lj/cut/coul/debye 1.5 3.0
|
||||
pair_style lj/cut/coul/debye 1.5 2.5 5.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 1.0 1.5 2.5
|
||||
pair_coeff 1 1 1.0 1.5 2.5 5.0
|
||||
|
||||
pair_style lj/cut/coul/dsf 0.05 2.5 10.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
pair_style lj/cut/coul/long 10.0
|
||||
pair_style lj/cut/coul/long 10.0 8.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0
|
||||
|
||||
pair_style lj/cut/coul/msm 10.0
|
||||
pair_style lj/cut/coul/msm 10.0 8.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0
|
||||
|
||||
pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0
|
||||
pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0 10.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0
|
||||
|
||||
pair_style lj/cut/coul/wolf 0.2 5. 10.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0
|
||||
pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0 10.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
@ -214,150 +47,36 @@ given by
|
||||
\left(\frac{\sigma}{r}\right)^6 \right]
|
||||
\qquad r < r_c
|
||||
|
||||
Rc is the cutoff.
|
||||
:math:`r_c` is the cutoff.
|
||||
|
||||
Style *lj/cut/coul/cut* adds a Coulombic pairwise interaction given by
|
||||
See the :doc:`lj/cut/coul <pair_lj_cut_coul>` styles to add a Coulombic
|
||||
pairwise interaction and the :doc:`lj/cut/tip4p <pair_lj_cut_tip4p>` styles to
|
||||
add the TIP4P water model.
|
||||
|
||||
.. math::
|
||||
Coefficients
|
||||
""""""""""""
|
||||
|
||||
E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c
|
||||
|
||||
where C is an energy-conversion constant, :math:`q_i` and :math:`q_j`
|
||||
are the charges on the 2 atoms, and :math:`\epsilon` is the dielectric
|
||||
constant which can be set by the :doc:`dielectric <dielectric>` command.
|
||||
If one cutoff is specified in the pair_style command, it is used for
|
||||
both the LJ and Coulombic terms. If two cutoffs are specified, they are
|
||||
used as cutoffs for the LJ and Coulombic terms respectively.
|
||||
|
||||
Style *lj/cut/coul/debye* adds an additional exp() damping factor
|
||||
to the Coulombic term, given by
|
||||
|
||||
.. math::
|
||||
|
||||
E = \frac{C q_i q_j}{\epsilon r} \exp(- \kappa r) \qquad r < r_c
|
||||
|
||||
where :math:`\kappa` is the inverse of the Debye length. This potential
|
||||
is another way to mimic the screening effect of a polar solvent.
|
||||
|
||||
Style *lj/cut/coul/dsf* computes the Coulombic term via the damped
|
||||
shifted force model described in :ref:`Fennell <Fennell2>`, given by:
|
||||
|
||||
.. math::
|
||||
|
||||
E =
|
||||
q_iq_j \left[ \frac{\mbox{erfc} (\alpha r)}{r} - \frac{\mbox{erfc} (\alpha r_c)}{r_c} +
|
||||
\left( \frac{\mbox{erfc} (\alpha r_c)}{r_c^2} + \frac{2\alpha}{\sqrt{\pi}}\frac{\exp (-\alpha^2 r^2_c)}{r_c} \right)(r-r_c) \right] \qquad r < r_c
|
||||
|
||||
where :math:`\alpha` is the damping parameter and erfc() is the complementary
|
||||
error-function. This potential is essentially a short-range,
|
||||
spherically-truncated, charge-neutralized, shifted, pairwise *1/r*
|
||||
summation. The potential is based on Wolf summation, proposed as an
|
||||
alternative to Ewald summation for condensed phase systems where
|
||||
charge screening causes electrostatic interactions to become
|
||||
effectively short-ranged. In order for the electrostatic sum to be
|
||||
absolutely convergent, charge neutralization within the cutoff radius
|
||||
is enforced by shifting the potential through placement of image
|
||||
charges on the cutoff sphere. Convergence can often be improved by
|
||||
setting :math:`\alpha` to a small non-zero value.
|
||||
|
||||
Styles *lj/cut/coul/long* and *lj/cut/coul/msm* compute the same
|
||||
Coulombic interactions as style *lj/cut/coul/cut* except that an
|
||||
additional damping factor is applied to the Coulombic term so it can
|
||||
be used in conjunction with the :doc:`kspace_style <kspace_style>`
|
||||
command and its *ewald* or *pppm* 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/wolf* adds a Coulombic pairwise interaction via the Wolf
|
||||
summation method, described in :ref:`Wolf <Wolf1>`, given by:
|
||||
|
||||
.. math::
|
||||
|
||||
E_i = \frac{1}{2} \sum_{j \neq i}
|
||||
\frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} +
|
||||
\frac{1}{2} \sum_{j \neq i}
|
||||
\frac{q_i q_j {\rm erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c
|
||||
|
||||
where :math:`\alpha` is the damping parameter, and erfc() is the
|
||||
complementary error-function terms. This potential is essentially a
|
||||
short-range, spherically-truncated, charge-neutralized, shifted,
|
||||
pairwise *1/r* summation. With a manipulation of adding and subtracting
|
||||
a self term (for i = j) to the first and second term on the
|
||||
right-hand-side, respectively, and a small enough :math:`\alpha` damping
|
||||
parameter, the second term shrinks and the potential becomes a
|
||||
rapidly-converging real-space summation. With a long enough cutoff and
|
||||
small enough :math:`\alpha` parameter, the energy and forces calculated by the
|
||||
Wolf summation method approach those of the Ewald sum. So it is a means
|
||||
of getting effective long-range interactions with a short-range
|
||||
potential.
|
||||
|
||||
Styles *lj/cut/tip4p/cut* and *lj/cut/tip4p/long* implement the TIP4P
|
||||
water model of :ref:`(Jorgensen) <Jorgensen2>`, which introduces a massless
|
||||
site located a short distance away from the oxygen atom along the
|
||||
bisector of the HOH angle. The atomic types of the oxygen and
|
||||
hydrogen atoms, the bond and angle types for OH and HOH interactions,
|
||||
and the distance to the massless charge site are specified as
|
||||
pair_style arguments. Style *lj/cut/tip4p/cut* uses a cutoff for
|
||||
Coulomb interactions; style *lj/cut/tip4p/long* is for use with a
|
||||
long-range Coulombic solver (Ewald or PPPM).
|
||||
|
||||
.. note::
|
||||
|
||||
For each TIP4P water molecule in your system, the atom IDs for
|
||||
the O and 2 H atoms must be consecutive, with the O atom first. This
|
||||
is to enable LAMMPS to "find" the 2 H atoms associated with each O
|
||||
atom. For example, if the atom ID of an O atom in a TIP4P water
|
||||
molecule is 500, then its 2 H atoms must have IDs 501 and 502.
|
||||
|
||||
See the :doc:`Howto tip4p <Howto_tip4p>` doc page for more information
|
||||
on how to use the TIP4P pair styles and lists of parameters to set.
|
||||
Note that the neighbor list cutoff for Coulomb interactions is
|
||||
effectively extended by a distance 2\*qdist when using the TIP4P pair
|
||||
style, to account for the offset distance of the fictitious charges on
|
||||
O atoms in water molecules. Thus it is typically best in an
|
||||
efficiency sense to use a LJ cutoff >= Coulombic cutoff + 2\*qdist, to
|
||||
shrink the size of the neighbor list. This leads to slightly larger
|
||||
cost for the long-range calculation, so you can test the trade-off for
|
||||
your model.
|
||||
|
||||
For all of the *lj/cut* pair styles, the following coefficients must
|
||||
be defined for each pair of atoms types via the
|
||||
:doc:`pair_coeff <pair_coeff>` command as in the examples above, or in
|
||||
the data file or restart files read by the :doc:`read_data <read_data>`
|
||||
or :doc:`read_restart <read_restart>` commands, or by mixing as
|
||||
described below:
|
||||
The following coefficients must be defined for each pair of atoms types via the
|
||||
:doc:`pair_coeff <pair_coeff>` command as in the examples above, or in the data
|
||||
file or restart files read by the :doc:`read_data <read_data>` or
|
||||
:doc:`read_restart <read_restart>` commands, or by mixing as described below:
|
||||
|
||||
* :math:`\epsilon` (energy units)
|
||||
* :math:`\sigma` (distance units)
|
||||
* cutoff1 (distance units)
|
||||
* cutoff2 (distance units)
|
||||
* LJ cutoff (distance units)
|
||||
|
||||
Note that :math:`\sigma` is defined in the LJ formula as the zero-crossing
|
||||
distance for the potential, not as the energy minimum at :math:`2^{\frac{1}{6}} \sigma`.
|
||||
|
||||
The latter 2 coefficients are optional. If not specified, the global
|
||||
LJ and Coulombic cutoffs specified in the pair_style command are used.
|
||||
If only one cutoff is specified, it is used as the cutoff for both LJ
|
||||
and Coulombic interactions for this type pair. If both coefficients
|
||||
are specified, they are used as the LJ and Coulombic cutoffs for this
|
||||
type pair. You cannot specify 2 cutoffs for style *lj/cut*\ , since it
|
||||
has no Coulombic terms.
|
||||
|
||||
For *lj/cut/coul/long* and *lj/cut/coul/msm* and *lj/cut/tip4p/cut*
|
||||
and *lj/cut/tip4p/long* only the LJ cutoff can be specified since a
|
||||
Coulombic cutoff cannot be specified for an individual I,J type pair.
|
||||
All type pairs use the same global Coulombic cutoff specified in the
|
||||
pair_style command.
|
||||
The last coefficient is optional. If not specified, the global
|
||||
LJ cutoff specified in the pair_style command are used.
|
||||
|
||||
----------
|
||||
|
||||
A version of these styles with a soft core, *lj/cut/soft*\ , suitable
|
||||
for use in free energy calculations, is part of the USER-FEP package and
|
||||
is documented with the :doc:`pair_style */soft <pair_fep_soft>`
|
||||
styles. The version with soft core is only available if LAMMPS was built
|
||||
with that package. See the :doc:`Build package <Build_package>` doc page
|
||||
for more info.
|
||||
styles.
|
||||
|
||||
----------
|
||||
|
||||
@ -381,21 +100,17 @@ instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
**Mixing, shift, table, tail correction, restart, rRESPA info**\ :
|
||||
**Mixing, shift, table, tail correction, restart, rRESPA info:**
|
||||
|
||||
For atom type pairs I,J and I != J, the epsilon and sigma coefficients
|
||||
and cutoff distance for all of the lj/cut pair styles can be mixed.
|
||||
The default mix value is *geometric*\ . See the "pair_modify" command
|
||||
The default mix value is *geometric*. See the "pair_modify" command
|
||||
for details.
|
||||
|
||||
All of the *lj/cut* pair styles support the
|
||||
:doc:`pair_modify <pair_modify>` shift option for the energy of the
|
||||
Lennard-Jones portion of the pair interaction.
|
||||
|
||||
The *lj/cut/coul/long* and *lj/cut/tip4p/long* pair styles support the
|
||||
:doc:`pair_modify <pair_modify>` table option since they can tabulate
|
||||
the short-range portion of the long-range Coulombic interaction.
|
||||
|
||||
All of the *lj/cut* pair styles support the
|
||||
:doc:`pair_modify <pair_modify>` tail option for adding a long-range
|
||||
tail correction to the energy and pressure for the Lennard-Jones
|
||||
@ -404,7 +119,7 @@ portion of the pair interaction.
|
||||
All of the *lj/cut* pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do
|
||||
not need to be specified in an input script that reads a restart file.
|
||||
|
||||
The *lj/cut* and *lj/cut/coul/long* pair styles support the use of the
|
||||
The *lj/cut* pair styles support the use of the
|
||||
*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa <run_style>` command, meaning the pairwise forces can be
|
||||
partitioned by distance at different levels of the rRESPA hierarchy.
|
||||
The other styles only support the *pair* keyword of run_style respa.
|
||||
@ -412,30 +127,17 @@ See the :doc:`run_style <run_style>` command for details.
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
The *lj/cut/coul/long* and *lj/cut/tip4p/long* styles are part of the
|
||||
KSPACE package. The *lj/cut/tip4p/cut* style is part of the MOLECULE
|
||||
package. These styles are only enabled if LAMMPS was built with those
|
||||
packages. See the :doc:`Build package <Build_package>` doc page for
|
||||
more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_coeff <pair_coeff>`
|
||||
* :doc:`pair_coeff <pair_coeff>`
|
||||
* :doc:`pair_style lj/cut/coul/cut <pair_lj_cut_coul>`
|
||||
* :doc:`pair_style lj/cut/coul/debye <pair_lj_cut_coul>`
|
||||
* :doc:`pair_style lj/cut/coul/dsf <pair_lj_cut_coul>`
|
||||
* :doc:`pair_style lj/cut/coul/long <pair_lj_cut_coul>`
|
||||
* :doc:`pair_style lj/cut/coul/msm <pair_lj_cut_coul>`
|
||||
* :doc:`pair_style lj/cut/coul/wolf <pair_lj_cut_coul>`
|
||||
* :doc:`pair_style lj/cut/tip4p/cut <pair_lj_cut_tip4p>`
|
||||
* :doc:`pair_style lj/cut/tip4p/long <pair_lj_cut_tip4p>`
|
||||
|
||||
**Default:** none
|
||||
|
||||
----------
|
||||
|
||||
.. _Jorgensen2:
|
||||
|
||||
**(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
|
||||
Phys, 79, 926 (1983).
|
||||
|
||||
.. _Fennell2:
|
||||
|
||||
**(Fennell)** C. J. Fennell, J. D. Gezelter, J Chem Phys, 124,
|
||||
234104 (2006).
|
||||
|
||||
328
doc/src/pair_lj_cut_coul.rst
Normal file
328
doc/src/pair_lj_cut_coul.rst
Normal file
@ -0,0 +1,328 @@
|
||||
.. index:: pair_style lj/cut/coul/cut
|
||||
.. index:: pair_style lj/cut/coul/cut/gpu
|
||||
.. index:: pair_style lj/cut/coul/cut/kk
|
||||
.. index:: pair_style lj/cut/coul/cut/omp
|
||||
.. index:: pair_style lj/cut/coul/debye
|
||||
.. index:: pair_style lj/cut/coul/debye/gpu
|
||||
.. index:: pair_style lj/cut/coul/debye/kk
|
||||
.. index:: pair_style lj/cut/coul/debye/omp
|
||||
.. index:: pair_style lj/cut/coul/dsf
|
||||
.. index:: pair_style lj/cut/coul/dsf/gpu
|
||||
.. index:: pair_style lj/cut/coul/dsf/kk
|
||||
.. index:: pair_style lj/cut/coul/dsf/omp
|
||||
.. index:: pair_style lj/cut/coul/long
|
||||
.. index:: pair_style lj/cut/coul/long/gpu
|
||||
.. index:: pair_style lj/cut/coul/long/kk
|
||||
.. index:: pair_style lj/cut/coul/long/intel
|
||||
.. index:: pair_style lj/cut/coul/long/opt
|
||||
.. index:: pair_style lj/cut/coul/long/omp
|
||||
.. index:: pair_style lj/cut/coul/msm
|
||||
.. index:: pair_style lj/cut/coul/msm/gpu
|
||||
.. index:: pair_style lj/cut/coul/msm/omp
|
||||
.. index:: pair_style lj/cut/coul/wolf
|
||||
.. index:: pair_style lj/cut/coul/wolf/omp
|
||||
|
||||
pair_style lj/cut/coul/cut command
|
||||
==================================
|
||||
|
||||
Accelerator Variants: *lj/cut/coul/cut/gpu*, *lj/cut/coul/cut/kk*, *lj/cut/coul/cut/omp*
|
||||
|
||||
pair_style lj/cut/coul/debye command
|
||||
====================================
|
||||
|
||||
Accelerator Variants: *lj/cut/coul/debye/gpu*, lj/cut/coul/debye/kk, *lj/cut/coul/debye/omp*
|
||||
|
||||
pair_style lj/cut/coul/dsf command
|
||||
==================================
|
||||
|
||||
Accelerator Variants: *lj/cut/coul/dsf/gpu*, *lj/cut/coul/dsf/kk*, *lj/cut/coul/dsf/omp*
|
||||
|
||||
pair_style lj/cut/coul/long command
|
||||
===================================
|
||||
|
||||
Accelerator Variants: *lj/cut/coul/long/gpu*, *lj/cut/coul/long/kk*, *lj/cut/coul/long/intel*, *lj/cut/coul/long/opt*, *lj/cut/coul/long/omp*
|
||||
|
||||
pair_style lj/cut/coul/msm command
|
||||
==================================
|
||||
|
||||
Accelerator Variants: *lj/cut/coul/msm/gpu*, *lj/cut/coul/msm/omp*
|
||||
|
||||
pair_style lj/cut/coul/wolf command
|
||||
===================================
|
||||
|
||||
Accelerator Variants: *lj/cut/coul/wolf/omp*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style style args
|
||||
|
||||
* style = *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/coul/wolf*
|
||||
* args = list of arguments for a particular style
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*lj/cut/coul/cut* args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/coul/debye* args = kappa cutoff (cutoff2)
|
||||
kappa = inverse of the Debye length (inverse distance units)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/coul/dsf* args = alpha cutoff (cutoff2)
|
||||
alpha = damping parameter (inverse distance units)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (distance units)
|
||||
*lj/cut/coul/long* args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/coul/msm* args = cutoff (cutoff2)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/coul/wolf* args = alpha cutoff (cutoff2)
|
||||
alpha = damping parameter (inverse distance units)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 2 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style lj/cut/coul/cut 10.0
|
||||
pair_style lj/cut/coul/cut 10.0 8.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0 9.0
|
||||
|
||||
pair_style lj/cut/coul/debye 1.5 3.0
|
||||
pair_style lj/cut/coul/debye 1.5 2.5 5.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 1.0 1.5 2.5
|
||||
pair_coeff 1 1 1.0 1.5 2.5 5.0
|
||||
|
||||
pair_style lj/cut/coul/dsf 0.05 2.5 10.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
pair_style lj/cut/coul/long 10.0
|
||||
pair_style lj/cut/coul/long 10.0 8.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0
|
||||
|
||||
pair_style lj/cut/coul/msm 10.0
|
||||
pair_style lj/cut/coul/msm 10.0 8.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0
|
||||
|
||||
pair_style lj/cut/coul/wolf 0.2 5. 10.0
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 1.0 1.0 2.5
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
The *lj/cut/coul* styles compute the standard 12/6 Lennard-Jones potential,
|
||||
given by
|
||||
|
||||
.. math::
|
||||
|
||||
E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} -
|
||||
\left(\frac{\sigma}{r}\right)^6 \right]
|
||||
\qquad r < r_c
|
||||
|
||||
:math:`r_c` is the cutoff.
|
||||
|
||||
Style *lj/cut/coul/cut* adds a Coulombic pairwise interaction given by
|
||||
|
||||
.. math::
|
||||
|
||||
E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c
|
||||
|
||||
where :math:`C` is an energy-conversion constant, :math:`q_i` and :math:`q_j`
|
||||
are the charges on the 2 atoms, and :math:`\epsilon` is the dielectric
|
||||
constant which can be set by the :doc:`dielectric <dielectric>` command.
|
||||
If one cutoff is specified in the pair_style command, it is used for
|
||||
both the LJ and Coulombic terms. If two cutoffs are specified, they are
|
||||
used as cutoffs for the LJ and Coulombic terms respectively.
|
||||
|
||||
Style *lj/cut/coul/debye* adds an additional exp() damping factor
|
||||
to the Coulombic term, given by
|
||||
|
||||
.. math::
|
||||
|
||||
E = \frac{C q_i q_j}{\epsilon r} \exp(- \kappa r) \qquad r < r_c
|
||||
|
||||
where :math:`\kappa` is the inverse of the Debye length. This potential
|
||||
is another way to mimic the screening effect of a polar solvent.
|
||||
|
||||
Style *lj/cut/coul/dsf* computes the Coulombic term via the damped
|
||||
shifted force model described in :ref:`Fennell <Fennell2>`, given by:
|
||||
|
||||
.. math::
|
||||
|
||||
E =
|
||||
q_iq_j \left[ \frac{\mbox{erfc} (\alpha r)}{r} - \frac{\mbox{erfc} (\alpha r_c)}{r_c} +
|
||||
\left( \frac{\mbox{erfc} (\alpha r_c)}{r_c^2} + \frac{2\alpha}{\sqrt{\pi}}\frac{\exp (-\alpha^2 r^2_c)}{r_c} \right)(r-r_c) \right] \qquad r < r_c
|
||||
|
||||
where :math:`\alpha` is the damping parameter and erfc() is the complementary
|
||||
error-function. This potential is essentially a short-range,
|
||||
spherically-truncated, charge-neutralized, shifted, pairwise *1/r*
|
||||
summation. The potential is based on Wolf summation, proposed as an
|
||||
alternative to Ewald summation for condensed phase systems where
|
||||
charge screening causes electrostatic interactions to become
|
||||
effectively short-ranged. In order for the electrostatic sum to be
|
||||
absolutely convergent, charge neutralization within the cutoff radius
|
||||
is enforced by shifting the potential through placement of image
|
||||
charges on the cutoff sphere. Convergence can often be improved by
|
||||
setting :math:`\alpha` to a small non-zero value.
|
||||
|
||||
Styles *lj/cut/coul/long* and *lj/cut/coul/msm* compute the same
|
||||
Coulombic interactions as style *lj/cut/coul/cut* except that an
|
||||
additional damping factor is applied to the Coulombic term so it can
|
||||
be used in conjunction with the :doc:`kspace_style <kspace_style>`
|
||||
command and its *ewald* or *pppm* 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/wolf* adds a Coulombic pairwise interaction via the Wolf
|
||||
summation method, described in :ref:`Wolf <Wolf3>`, given by:
|
||||
|
||||
.. math::
|
||||
|
||||
E_i = \frac{1}{2} \sum_{j \neq i}
|
||||
\frac{q_i q_j {\rm erfc}(\alpha r_{ij})}{r_{ij}} +
|
||||
\frac{1}{2} \sum_{j \neq i}
|
||||
\frac{q_i q_j {\rm erf}(\alpha r_{ij})}{r_{ij}} \qquad r < r_c
|
||||
|
||||
where :math:`\alpha` is the damping parameter, and erfc() is the
|
||||
complementary error-function terms. This potential is essentially a
|
||||
short-range, spherically-truncated, charge-neutralized, shifted,
|
||||
pairwise *1/r* summation. With a manipulation of adding and subtracting
|
||||
a self term (for i = j) to the first and second term on the
|
||||
right-hand-side, respectively, and a small enough :math:`\alpha` damping
|
||||
parameter, the second term shrinks and the potential becomes a
|
||||
rapidly-converging real-space summation. With a long enough cutoff and
|
||||
small enough :math:`\alpha` parameter, the energy and forces calculated by the
|
||||
Wolf summation method approach those of the Ewald sum. So it is a means
|
||||
of getting effective long-range interactions with a short-range
|
||||
potential.
|
||||
|
||||
Coefficients
|
||||
""""""""""""
|
||||
|
||||
For all of the *lj/cut/coul* pair styles, the following coefficients must
|
||||
be defined for each pair of atoms types via the
|
||||
:doc:`pair_coeff <pair_coeff>` command as in the examples above, or in
|
||||
the data file or restart files read by the :doc:`read_data <read_data>`
|
||||
or :doc:`read_restart <read_restart>` commands, or by mixing as
|
||||
described below:
|
||||
|
||||
* :math:`\epsilon` (energy units)
|
||||
* :math:`\sigma` (distance units)
|
||||
* cutoff1 (distance units)
|
||||
* cutoff2 (distance units)
|
||||
|
||||
Note that :math:`\sigma` is defined in the LJ formula as the zero-crossing
|
||||
distance for the potential, not as the energy minimum at :math:`2^{\frac{1}{6}} \sigma`.
|
||||
|
||||
The latter 2 coefficients are optional. If not specified, the global
|
||||
LJ and Coulombic cutoffs specified in the pair_style command are used.
|
||||
If only one cutoff is specified, it is used as the cutoff for both LJ
|
||||
and Coulombic interactions for this type pair. If both coefficients
|
||||
are specified, they are used as the LJ and Coulombic cutoffs for this
|
||||
type pair.
|
||||
|
||||
For *lj/cut/coul/long* and *lj/cut/coul/msm* only the LJ cutoff can be
|
||||
specified since a Coulombic cutoff cannot be specified for an individual I,J
|
||||
type pair. All type pairs use the same global Coulombic cutoff specified in
|
||||
the pair_style command.
|
||||
|
||||
----------
|
||||
|
||||
A version of these styles with a soft core, *lj/cut/coul/soft*\ and
|
||||
*lj/cut/coul/long/soft*\ , suitable for use in free energy calculations, is
|
||||
part of the USER-FEP package and is documented with the :doc:`pair_style */soft <pair_fep_soft>` styles.
|
||||
|
||||
----------
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
|
||||
page. The accelerated styles take the same arguments and should
|
||||
produce the same results, except for round-off and precision issues.
|
||||
|
||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
|
||||
:doc:`suffix <suffix>` command in your input script.
|
||||
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
**Mixing, shift, table, tail correction, restart, rRESPA info**\ :
|
||||
|
||||
For atom type pairs I,J and I != J, the epsilon and sigma coefficients
|
||||
and cutoff distance for all of the lj/cut pair styles can be mixed.
|
||||
The default mix value is *geometric*\ . See the "pair_modify" command
|
||||
for details.
|
||||
|
||||
All of the *lj/cut* pair styles support the
|
||||
:doc:`pair_modify <pair_modify>` shift option for the energy of the
|
||||
Lennard-Jones portion of the pair interaction.
|
||||
|
||||
The *lj/cut/coul/long* pair styles support the
|
||||
:doc:`pair_modify <pair_modify>` table option since they can tabulate
|
||||
the short-range portion of the long-range Coulombic interaction.
|
||||
|
||||
All of the *lj/cut* pair styles support the
|
||||
:doc:`pair_modify <pair_modify>` tail option for adding a long-range
|
||||
tail correction to the energy and pressure for the Lennard-Jones
|
||||
portion of the pair interaction.
|
||||
|
||||
All of the *lj/cut* pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do
|
||||
not need to be specified in an input script that reads a restart file.
|
||||
|
||||
The *lj/cut/coul/long* pair styles support the use of the
|
||||
*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa <run_style>` command, meaning the pairwise forces can be
|
||||
partitioned by distance at different levels of the rRESPA hierarchy.
|
||||
The other styles only support the *pair* keyword of run_style respa.
|
||||
See the :doc:`run_style <run_style>` command for details.
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
The *lj/cut/coul/long* styles are part of the KSPACE package.
|
||||
These styles are only enabled if LAMMPS was built with those
|
||||
packages. See the :doc:`Build package <Build_package>` doc page for
|
||||
more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_coeff <pair_coeff>`
|
||||
|
||||
**Default:** none
|
||||
|
||||
----------
|
||||
|
||||
.. _Wolf3:
|
||||
|
||||
**(Wolf)** D. Wolf, P. Keblinski, S. R. Phillpot, J. Eggebrecht, J Chem
|
||||
Phys, 110, 8254 (1999).
|
||||
|
||||
.. _Fennell2:
|
||||
|
||||
**(Fennell)** C. J. Fennell, J. D. Gezelter, J Chem Phys, 124,
|
||||
234104 (2006).
|
||||
230
doc/src/pair_lj_cut_tip4p.rst
Normal file
230
doc/src/pair_lj_cut_tip4p.rst
Normal file
@ -0,0 +1,230 @@
|
||||
.. index:: pair_style lj/cut/tip4p/cut
|
||||
.. index:: pair_style lj/cut/tip4p/cut/omp
|
||||
.. index:: pair_style lj/cut/tip4p/long
|
||||
.. index:: pair_style lj/cut/tip4p/long/gpu
|
||||
.. index:: pair_style lj/cut/tip4p/long/omp
|
||||
.. index:: pair_style lj/cut/tip4p/long/opt
|
||||
|
||||
|
||||
pair_style lj/cut/tip4p/cut command
|
||||
===================================
|
||||
|
||||
Accelerator Variants: *lj/cut/tip4p/cut/omp*
|
||||
|
||||
pair_style lj/cut/tip4p/long command
|
||||
====================================
|
||||
|
||||
Accelerator Variants: *lj/cut/tip4p/long/gpu*, *lj/cut/tip4p/long/omp*, *lj/cut/tip4p/long/opt*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style style args
|
||||
|
||||
* style = *lj/cut/tip4p/cut* or *lj/cut/tip4p/long*
|
||||
* args = list of arguments for a particular style
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*lj/cut/tip4p/cut* args = otype htype btype atype qdist cutoff (cutoff2)
|
||||
otype,htype = atom types for TIP4P O and H
|
||||
btype,atype = bond and angle types for TIP4P waters
|
||||
qdist = distance from O atom to massless charge (distance units)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
*lj/cut/tip4p/long* args = otype htype btype atype qdist cutoff (cutoff2)
|
||||
otype,htype = atom types for TIP4P O and H
|
||||
btype,atype = bond and angle types for TIP4P waters
|
||||
qdist = distance from O atom to massless charge (distance units)
|
||||
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
|
||||
cutoff2 = global cutoff for Coulombic (optional) (distance units)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0
|
||||
pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0 10.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0
|
||||
|
||||
pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0
|
||||
pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0 10.0
|
||||
pair_coeff * * 100.0 3.0
|
||||
pair_coeff 1 1 100.0 3.5 9.0
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
The *lj/cut/tip4p* styles compute the standard 12/6 Lennard-Jones potential,
|
||||
given by
|
||||
|
||||
.. math::
|
||||
|
||||
E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} -
|
||||
\left(\frac{\sigma}{r}\right)^6 \right]
|
||||
\qquad r < r_c
|
||||
|
||||
:math:`r_c` is the cutoff.
|
||||
|
||||
They add Coulombic pairwise interactions given by
|
||||
|
||||
.. math::
|
||||
|
||||
E = \frac{C q_i q_j}{\epsilon r} \qquad r < r_c
|
||||
|
||||
where :math:`C` is an energy-conversion constant, :math:`q_i` and :math:`q_j`
|
||||
are the charges on the 2 atoms, and :math:`\epsilon` is the dielectric
|
||||
constant which can be set by the :doc:`dielectric <dielectric>` command.
|
||||
If one cutoff is specified in the pair_style command, it is used for
|
||||
both the LJ and Coulombic terms. If two cutoffs are specified, they are
|
||||
used as cutoffs for the LJ and Coulombic terms respectively.
|
||||
|
||||
Style *lj/cut/tip4p/long* compute the same
|
||||
Coulombic interactions as style *lj/cut/tip4p/cut* except that an
|
||||
additional damping factor is applied to the Coulombic term so it can
|
||||
be used in conjunction with the :doc:`kspace_style <kspace_style>`
|
||||
command and its *ewald* or *pppm* 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.
|
||||
|
||||
The *lj/cut/tip4p* styles implement the TIP4P
|
||||
water model of :ref:`(Jorgensen) <Jorgensen2>`, which introduces a massless
|
||||
site located a short distance away from the oxygen atom along the
|
||||
bisector of the HOH angle. The atomic types of the oxygen and
|
||||
hydrogen atoms, the bond and angle types for OH and HOH interactions,
|
||||
and the distance to the massless charge site are specified as
|
||||
pair_style arguments. Style *lj/cut/tip4p/cut* uses a cutoff for
|
||||
Coulomb interactions; style *lj/cut/tip4p/long* is for use with a
|
||||
long-range Coulombic solver (Ewald or PPPM).
|
||||
|
||||
.. note::
|
||||
|
||||
For each TIP4P water molecule in your system, the atom IDs for
|
||||
the O and 2 H atoms must be consecutive, with the O atom first. This
|
||||
is to enable LAMMPS to "find" the 2 H atoms associated with each O
|
||||
atom. For example, if the atom ID of an O atom in a TIP4P water
|
||||
molecule is 500, then its 2 H atoms must have IDs 501 and 502.
|
||||
|
||||
See the :doc:`Howto tip4p <Howto_tip4p>` doc page for more information
|
||||
on how to use the TIP4P pair styles and lists of parameters to set.
|
||||
Note that the neighbor list cutoff for Coulomb interactions is
|
||||
effectively extended by a distance 2\*qdist when using the TIP4P pair
|
||||
style, to account for the offset distance of the fictitious charges on
|
||||
O atoms in water molecules. Thus it is typically best in an
|
||||
efficiency sense to use a LJ cutoff >= Coulombic cutoff + 2\*qdist, to
|
||||
shrink the size of the neighbor list. This leads to slightly larger
|
||||
cost for the long-range calculation, so you can test the trade-off for
|
||||
your model.
|
||||
|
||||
Coefficients
|
||||
""""""""""""
|
||||
|
||||
For all of the *lj/cut* pair styles, the following coefficients must
|
||||
be defined for each pair of atoms types via the
|
||||
:doc:`pair_coeff <pair_coeff>` command as in the examples above, or in
|
||||
the data file or restart files read by the :doc:`read_data <read_data>`
|
||||
or :doc:`read_restart <read_restart>` commands, or by mixing as
|
||||
described below:
|
||||
|
||||
* :math:`\epsilon` (energy units)
|
||||
* :math:`\sigma` (distance units)
|
||||
* LJ cutoff (distance units)
|
||||
|
||||
Note that :math:`\sigma` is defined in the LJ formula as the zero-crossing
|
||||
distance for the potential, not as the energy minimum at :math:`2^{\frac{1}{6}} \sigma`.
|
||||
|
||||
The last coefficient is optional. If not specified, the global
|
||||
LJ cutoff specified in the pair_style command is used.
|
||||
|
||||
For *lj/cut/tip4p/cut* and *lj/cut/tip4p/long* only the LJ cutoff can be
|
||||
specified since a Coulombic cutoff cannot be specified for an individual I,J
|
||||
type pair. All type pairs use the same global Coulombic cutoff specified in
|
||||
the pair_style command.
|
||||
|
||||
----------
|
||||
|
||||
A version of these styles with a soft core, *lj/cut/tip4p/long/soft*\ , suitable
|
||||
for use in free energy calculations, is part of the USER-FEP package and
|
||||
is documented with the :doc:`pair_style */soft <pair_fep_soft>`
|
||||
styles.
|
||||
|
||||
----------
|
||||
|
||||
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
||||
functionally the same as the corresponding style without the suffix.
|
||||
They have been optimized to run faster, depending on your available
|
||||
hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc
|
||||
page. The accelerated styles take the same arguments and should
|
||||
produce the same results, except for round-off and precision issues.
|
||||
|
||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
by including their suffix, or you can use the :doc:`-suffix command-line switch <Run_options>` when you invoke LAMMPS, or you can use the
|
||||
:doc:`suffix <suffix>` command in your input script.
|
||||
|
||||
See the :doc:`Speed packages <Speed_packages>` doc page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
**Mixing, shift, table, tail correction, restart, rRESPA info**\ :
|
||||
|
||||
For atom type pairs I,J and I != J, the epsilon and sigma coefficients
|
||||
and cutoff distance for all of the lj/cut pair styles can be mixed.
|
||||
The default mix value is *geometric*\ . See the "pair_modify" command
|
||||
for details.
|
||||
|
||||
All of the *lj/cut* pair styles support the
|
||||
:doc:`pair_modify <pair_modify>` shift option for the energy of the
|
||||
Lennard-Jones portion of the pair interaction.
|
||||
|
||||
The *lj/cut/coul/long* and *lj/cut/tip4p/long* pair styles support the
|
||||
:doc:`pair_modify <pair_modify>` table option since they can tabulate
|
||||
the short-range portion of the long-range Coulombic interaction.
|
||||
|
||||
All of the *lj/cut* pair styles support the
|
||||
:doc:`pair_modify <pair_modify>` tail option for adding a long-range
|
||||
tail correction to the energy and pressure for the Lennard-Jones
|
||||
portion of the pair interaction.
|
||||
|
||||
All of the *lj/cut* pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do
|
||||
not need to be specified in an input script that reads a restart file.
|
||||
|
||||
The *lj/cut* and *lj/cut/coul/long* pair styles support the use of the
|
||||
*inner*\ , *middle*\ , and *outer* keywords of the :doc:`run_style respa <run_style>` command, meaning the pairwise forces can be
|
||||
partitioned by distance at different levels of the rRESPA hierarchy.
|
||||
The other styles only support the *pair* keyword of run_style respa.
|
||||
See the :doc:`run_style <run_style>` command for details.
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
The *lj/cut/tip4p/long* styles are part of the
|
||||
KSPACE package. The *lj/cut/tip4p/cut* style is part of the MOLECULE
|
||||
package. These styles are only enabled if LAMMPS was built with those
|
||||
packages. See the :doc:`Build package <Build_package>` doc page for
|
||||
more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_coeff <pair_coeff>`
|
||||
|
||||
**Default:** none
|
||||
|
||||
----------
|
||||
|
||||
.. _Jorgensen2:
|
||||
|
||||
**(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
|
||||
Phys, 79, 926 (1983).
|
||||
@ -8,7 +8,19 @@ Syntax
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style mliap
|
||||
pair_style mliap ... keyword values ...
|
||||
|
||||
* two keyword/value pairs must be appended
|
||||
* keyword = *model* or *descriptor*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*model* values = style filename
|
||||
style = *linear* or *quadratic*
|
||||
filename = name of file containing model definitions
|
||||
*descriptor* values = style filename
|
||||
style = *sna*
|
||||
filename = name of file containing descriptor definitions
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -16,68 +28,70 @@ Examples
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style mliap model linear InP.mliap.model descriptor sna InP.mliap.descriptor
|
||||
pair_style mliap model quadratic W.mliap.model descriptor sna W.mliap.descriptor
|
||||
pair_style mliap model quadratic W.mliap.model descriptor sna W.mliap.descriptor
|
||||
pair_coeff * * In P
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Pair style *mliap* provides a general interface to families of
|
||||
machine-learning interatomic potentials. It provides separate
|
||||
Pair style *mliap* provides a general interface to families of
|
||||
machine-learning interatomic potentials. It allows separate
|
||||
definitions of the interatomic potential functional form (*model*)
|
||||
and the geometric quantities that characterize the atomic positions
|
||||
(*descriptor*). By defining *model* and *descriptor* separately,
|
||||
(*descriptor*). By defining *model* and *descriptor* separately,
|
||||
it is possible to use many different models with a given descriptor,
|
||||
or many different descriptors with a given model. Currently, the pair_style
|
||||
or many different descriptors with a given model. Currently, the pair_style
|
||||
supports just two models, *linear* and *quadratic*,
|
||||
and one descriptor, *sna*, the SNAP descriptor used by :doc:`pair_style snap <pair_snap>`, including the linear, quadratic,
|
||||
and chem variants. Work is currently underway to extend
|
||||
the interface to handle neural network energy models,
|
||||
and it is also straightforward to add new descriptor styles.
|
||||
In order to train a model, it is useful to know the gradient or derivative
|
||||
of energy, force, and stress w.r.t. model parameters. This information
|
||||
can be accessed using the related :doc:`compute mliap <compute_mliap>` command.
|
||||
|
||||
The pair_style *mliap* command must be followed by two keywords
|
||||
*model* and *descriptor* in either order. A single
|
||||
*pair_coeff* command is also required. The first 2 arguments
|
||||
*pair_coeff* command is also required. The first 2 arguments
|
||||
must be \* \* so as to span all LAMMPS atom types.
|
||||
This is followed by a list of N arguments
|
||||
that specify the mapping of MLIAP
|
||||
element names to LAMMPS atom types,
|
||||
element names to LAMMPS atom types,
|
||||
where N is the number of LAMMPS atom types.
|
||||
|
||||
The *model* keyword is followed by a model style, currently limited to
|
||||
either *linear* or *quadratic*. In both cases,
|
||||
this is followed by a single argument specifying the model filename containing the
|
||||
linear or quadratic coefficients for a set of elements.
|
||||
this is followed by a single argument specifying the model filename containing the
|
||||
parameters for a set of elements.
|
||||
The model filename usually ends in the *.mliap.model* extension.
|
||||
It may contain coefficients for many elements. The only requirement is that it
|
||||
It may contain parameters for many elements. The only requirement is that it
|
||||
contain at least those element names appearing in the
|
||||
*pair_coeff* command.
|
||||
|
||||
The top of the model file can contain any number of blank and comment lines (start with #),
|
||||
The top of the model file can contain any number of blank and comment lines (start with #),
|
||||
but follows a strict format after that. The first non-blank non-comment
|
||||
line must contain two integers:
|
||||
|
||||
* nelems = Number of elements
|
||||
* ncoeff = Number of coefficients
|
||||
* nparams = Number of parameters
|
||||
|
||||
This is followed by one block for each of the *nelem* elements.
|
||||
Each block consists of *ncoeff* coefficients, one per line.
|
||||
Each block consists of *nparams* parameters, one per line.
|
||||
Note that this format is similar, but not identical to that used
|
||||
for the :doc:`pair_style snap <pair_snap>` coefficient file.
|
||||
Specifically, the line containing the element weight and radius is omitted,
|
||||
Specifically, the line containing the element weight and radius is omitted,
|
||||
since these are handled by the *descriptor*.
|
||||
|
||||
The *descriptor* keyword is followed by a descriptor style, and additional arguments.
|
||||
Currently the only descriptor style is *sna*, indicating the bispectrum component
|
||||
descriptors used by the Spectral Neighbor Analysis Potential (SNAP) potentials of
|
||||
Currently the only descriptor style is *sna*, indicating the bispectrum component
|
||||
descriptors used by the Spectral Neighbor Analysis Potential (SNAP) potentials of
|
||||
:doc:`pair_style snap <pair_snap>`.
|
||||
The \'p\' in SNAP is dropped, because keywords that match pair_styles are silently stripped
|
||||
out by the LAMMPS command parser. A single additional argument specifies the descriptor filename
|
||||
containing the parameters and setting used by the SNAP descriptor.
|
||||
A single additional argument specifies the descriptor filename
|
||||
containing the parameters and setting used by the SNAP descriptor.
|
||||
The descriptor filename usually ends in the *.mliap.descriptor* extension.
|
||||
|
||||
The SNAP descriptor file closely follows the format of the
|
||||
:doc:`pair_style snap <pair_snap>` parameter file.
|
||||
The SNAP descriptor file closely follows the format of the
|
||||
:doc:`pair_style snap <pair_snap>` parameter file.
|
||||
The file can contain blank and comment lines (start
|
||||
with #) anywhere. Each non-blank non-comment line must contain one
|
||||
keyword/value pair. The required keywords are *rcutfac* and
|
||||
@ -87,7 +101,7 @@ In addition, the SNAP descriptor file must contain
|
||||
the *nelems*, *elems*, *radelems*, and *welems* keywords.
|
||||
The *nelems* keyword specifies the number of elements
|
||||
provided in the other three keywords.
|
||||
The *elems* keyword is followed by a list of *nelems*
|
||||
The *elems* keyword is followed by a list of *nelems*
|
||||
element names that must include the element
|
||||
names appearing in the *pair_coeff* command,
|
||||
but can contain other names too.
|
||||
@ -131,6 +145,6 @@ See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_style snap <pair_snap>`,
|
||||
:doc:`pair_style snap <pair_snap>`, :doc:`compute mliap <compute_mliap>`
|
||||
|
||||
**Default:** none
|
||||
|
||||
@ -25,9 +25,9 @@ Description
|
||||
"""""""""""
|
||||
|
||||
Pair style *snap* defines the spectral
|
||||
neighbor analysis potential (SNAP), a machine-learning
|
||||
neighbor analysis potential (SNAP), a machine-learning
|
||||
interatomic potential :ref:`(Thompson) <Thompson20142>`.
|
||||
Like the GAP framework of Bartok et al. :ref:`(Bartok2010) <Bartok20102>`,
|
||||
Like the GAP framework of Bartok et al. :ref:`(Bartok2010) <Bartok20102>`,
|
||||
SNAP uses bispectrum components
|
||||
to characterize the local neighborhood of each atom
|
||||
in a very general way. The mathematical definition of the
|
||||
@ -139,7 +139,7 @@ The SNAP parameter file can contain blank and comment lines (start
|
||||
with #) anywhere. Each non-blank non-comment line must contain one
|
||||
keyword/value pair. The required keywords are *rcutfac* and
|
||||
*twojmax*\ . Optional keywords are *rfac0*\ , *rmin0*\ ,
|
||||
*switchflag*\ , *bzeroflag*\ , *quadraticflag*\ , *chemflag*\ ,
|
||||
*switchflag*\ , *bzeroflag*\ , *quadraticflag*\ , *chemflag*\ ,
|
||||
*bnormflag*\ , *wselfallflag*\ , and *chunksize*\ .
|
||||
|
||||
The default values for these keywords are
|
||||
@ -154,34 +154,34 @@ The default values for these keywords are
|
||||
* *wselfallflag* = 0
|
||||
* *chunksize* = 2000
|
||||
|
||||
If *quadraticflag* is set to 1, then the SNAP energy expression includes additional quadratic terms
|
||||
If *quadraticflag* is set to 1, then the SNAP energy expression includes additional quadratic terms
|
||||
that have been shown to increase the overall accuracy of the potential without much increase
|
||||
in computational cost :ref:`(Wood) <Wood20182>`.
|
||||
in computational cost :ref:`(Wood) <Wood20182>`.
|
||||
|
||||
.. math::
|
||||
|
||||
E^i_{SNAP}(\mathbf{B}^i) = \beta^{\mu_i}_0 + \boldsymbol{\beta}^{\mu_i} \cdot \mathbf{B}_i + \frac{1}{2}\mathbf{B}^t_i \cdot \boldsymbol{\alpha}^{\mu_i} \cdot \mathbf{B}_i
|
||||
|
||||
where :math:`\mathbf{B}_i` is the *K*-vector of bispectrum components,
|
||||
:math:`\boldsymbol{\beta}^{\mu_i}` is the *K*-vector of linear coefficients
|
||||
for element :math:`\mu_i`, and :math:`\boldsymbol{\alpha}^{\mu_i}`
|
||||
where :math:`\mathbf{B}_i` is the *K*-vector of bispectrum components,
|
||||
:math:`\boldsymbol{\beta}^{\mu_i}` is the *K*-vector of linear coefficients
|
||||
for element :math:`\mu_i`, and :math:`\boldsymbol{\alpha}^{\mu_i}`
|
||||
is the symmetric *K* by *K* matrix of quadratic coefficients.
|
||||
The SNAP element file should contain *K*\ (\ *K*\ +1)/2 additional coefficients
|
||||
for each element, the upper-triangular elements of :math:`\boldsymbol{\alpha}^{\mu_i}`.
|
||||
|
||||
If *chemflag* is set to 1, then the energy expression is written in terms of explicit multi-element bispectrum
|
||||
components indexed on ordered triplets of elements, which has been shown to increase the ability of the SNAP
|
||||
potential to capture energy differences in chemically complex systems,
|
||||
potential to capture energy differences in chemically complex systems,
|
||||
at the expense of a significant increase in computational cost :ref:`(Cusentino) <Cusentino20202>`.
|
||||
|
||||
.. math::
|
||||
|
||||
E^i_{SNAP}(\mathbf{B}^i) = \beta^{\mu_i}_0 + \sum_{\kappa,\lambda,\mu} \boldsymbol{\beta}^{\kappa\lambda\mu}_{\mu_i} \cdot \mathbf{B}^{\kappa\lambda\mu}_i
|
||||
E^i_{SNAP}(\mathbf{B}^i) = \beta^{\mu_i}_0 + \sum_{\kappa,\lambda,\mu} \boldsymbol{\beta}^{\kappa\lambda\mu}_{\mu_i} \cdot \mathbf{B}^{\kappa\lambda\mu}_i
|
||||
|
||||
where :math:`\mathbf{B}^{\kappa\lambda\mu}_i` is the *K*-vector of bispectrum components
|
||||
for neighbors of elements :math:`\kappa`, :math:`\lambda`, and :math:`\mu` and
|
||||
:math:`\boldsymbol{\beta}^{\kappa\lambda\mu}_{\mu_i}` is the corresponding *K*-vector
|
||||
of linear coefficients for element :math:`\mu_i`. The SNAP element file should contain
|
||||
where :math:`\mathbf{B}^{\kappa\lambda\mu}_i` is the *K*-vector of bispectrum components
|
||||
for neighbors of elements :math:`\kappa`, :math:`\lambda`, and :math:`\mu` and
|
||||
:math:`\boldsymbol{\beta}^{\kappa\lambda\mu}_{\mu_i}` is the corresponding *K*-vector
|
||||
of linear coefficients for element :math:`\mu_i`. The SNAP element file should contain
|
||||
a total of :math:`K N_{elem}^3` coefficients for each of the :math:`N_{elem}` elements.
|
||||
|
||||
The keyword *chunksize* is only applicable when using the
|
||||
|
||||
@ -201,21 +201,21 @@ accelerated styles exist.
|
||||
* :doc:`lj/class2/soft <pair_fep_soft>` - COMPASS (class 2) force field with no Coulomb with a soft core
|
||||
* :doc:`lj/cubic <pair_lj_cubic>` - LJ with cubic after inflection point
|
||||
* :doc:`lj/cut <pair_lj>` - cutoff Lennard-Jones potential without Coulomb
|
||||
* :doc:`lj/cut/coul/cut <pair_lj>` - LJ with cutoff Coulomb
|
||||
* :doc:`lj/cut/coul/cut <pair_lj_cut_coul>` - LJ with cutoff Coulomb
|
||||
* :doc:`lj/cut/coul/cut/soft <pair_fep_soft>` - LJ with cutoff Coulomb with a soft core
|
||||
* :doc:`lj/cut/coul/debye <pair_lj>` - LJ with Debye screening added to Coulomb
|
||||
* :doc:`lj/cut/coul/dsf <pair_lj>` - LJ with Coulomb via damped shifted forces
|
||||
* :doc:`lj/cut/coul/long <pair_lj>` - LJ with long-range Coulomb
|
||||
* :doc:`lj/cut/coul/debye <pair_lj_cut_coul>` - LJ with Debye screening added to Coulomb
|
||||
* :doc:`lj/cut/coul/dsf <pair_lj_cut_coul>` - LJ with Coulomb via damped shifted forces
|
||||
* :doc:`lj/cut/coul/long <pair_lj_cut_coul>` - LJ with long-range Coulomb
|
||||
* :doc:`lj/cut/coul/long/cs <pair_cs>` - LJ with long-range Coulomb with core/shell adjustments
|
||||
* :doc:`lj/cut/coul/long/soft <pair_fep_soft>` - LJ with long-range Coulomb with a soft core
|
||||
* :doc:`lj/cut/coul/msm <pair_lj>` - LJ with long-range MSM Coulomb
|
||||
* :doc:`lj/cut/coul/wolf <pair_lj>` - LJ with Coulomb via Wolf potential
|
||||
* :doc:`lj/cut/coul/msm <pair_lj_cut_coul>` - LJ with long-range MSM Coulomb
|
||||
* :doc:`lj/cut/coul/wolf <pair_lj_cut_coul>` - LJ with Coulomb via Wolf potential
|
||||
* :doc:`lj/cut/dipole/cut <pair_dipole>` - point dipoles with cutoff
|
||||
* :doc:`lj/cut/dipole/long <pair_dipole>` - point dipoles with long-range Ewald
|
||||
* :doc:`lj/cut/soft <pair_fep_soft>` - LJ with a soft core
|
||||
* :doc:`lj/cut/thole/long <pair_thole>` - LJ with Coulomb with thole damping
|
||||
* :doc:`lj/cut/tip4p/cut <pair_lj>` - LJ with cutoff Coulomb for TIP4P water
|
||||
* :doc:`lj/cut/tip4p/long <pair_lj>` - LJ with long-range Coulomb for TIP4P water
|
||||
* :doc:`lj/cut/tip4p/cut <pair_lj_cut_tip4p>` - LJ with cutoff Coulomb for TIP4P water
|
||||
* :doc:`lj/cut/tip4p/long <pair_lj_cut_tip4p>` - LJ with long-range Coulomb for TIP4P water
|
||||
* :doc:`lj/cut/tip4p/long/soft <pair_fep_soft>` - LJ with cutoff Coulomb for TIP4P water with a soft core
|
||||
* :doc:`lj/expand <pair_lj_expand>` - Lennard-Jones for variable size particles
|
||||
* :doc:`lj/expand/coul/long <pair_lj_expand>` - Lennard-Jones for variable size particles with long-range Coulomb
|
||||
|
||||
@ -98,7 +98,7 @@ more of the optional keywords listed above for the pair_style command.
|
||||
These are *ewald* or *pppm* or *msm* or *dispersion* or *tip4p*\ . This
|
||||
is so LAMMPS can insure the short-range potential and long-range
|
||||
solver are compatible with each other, as it does for other
|
||||
short-range pair styles, such as :doc:`pair_style lj/cut/coul/long <pair_lj>`. Note that it is up to you to insure
|
||||
short-range pair styles, such as :doc:`pair_style lj/cut/coul/long <pair_lj_cut_coul>`. Note that it is up to you to insure
|
||||
the tabulated values for each pair of atom types has the correct
|
||||
functional form to be compatible with the matching long-range solver.
|
||||
|
||||
|
||||
@ -182,7 +182,7 @@ Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fix drude <fix_drude>`, :doc:`fix langevin/drude <fix_langevin_drude>`, :doc:`fix drude/transform <fix_drude_transform>`, :doc:`compute temp/drude <compute_temp_drude>`
|
||||
:doc:`pair_style lj/cut/coul/long <pair_lj>`
|
||||
:doc:`pair_style lj/cut/coul/long <pair_lj_cut_coul>`
|
||||
|
||||
**Default:** none
|
||||
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
.. index:: reset_ids
|
||||
.. index:: reset_atom_ids
|
||||
|
||||
reset_ids command
|
||||
=================
|
||||
reset_atom_ids command
|
||||
======================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
reset_ids keyword values ...
|
||||
reset_atom_ids keyword values ...
|
||||
|
||||
* zero or more keyword/value pairs may be appended
|
||||
* keyword = *sort*
|
||||
@ -22,8 +22,8 @@ Examples
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
reset_ids
|
||||
reset_ids sort yes
|
||||
reset_atom_ids
|
||||
reset_atom_ids sort yes
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
@ -77,7 +77,7 @@ processor have consecutive IDs, as the :doc:`create_atoms
|
||||
that are owned by other processors. The :doc:`comm_modify cutoff <comm_modify>` command can be used to correct this issue.
|
||||
Or you can define a pair style before using this command. If you do
|
||||
the former, you should unset the comm_modify cutoff after using
|
||||
reset_ids so that subsequent communication is not inefficient.
|
||||
reset_atom_ids so that subsequent communication is not inefficient.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
116
doc/src/reset_mol_ids.rst
Normal file
116
doc/src/reset_mol_ids.rst
Normal file
@ -0,0 +1,116 @@
|
||||
.. index:: reset_mol_ids
|
||||
|
||||
reset_mol_ids command
|
||||
=====================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
reset_mol_ids group-ID keyword value ...
|
||||
|
||||
* group-ID = ID of group of atoms whose molecule IDs will be reset
|
||||
* zero or more keyword/value pairs may be appended
|
||||
* keyword = *compress* or *offset* or *single*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*compress* value = *yes* or *no*
|
||||
*offset* value = *Noffset* >= -1
|
||||
*single* value = *yes* or *no* to treat single atoms (no bonds) as molecules
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
reset_mol_ids all
|
||||
reset_mol_ids all offset 10 single yes
|
||||
reset_mol_ids solvent compress yes offset 100
|
||||
reset_mol_ids solvent compress no
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Reset molecule IDs for a group of atoms based on current bond
|
||||
connectivity. This will typically create a new set of molecule IDs
|
||||
for atoms in the group. Only molecule IDs for atoms in the specified
|
||||
group are reset; molecule IDs for atoms not in the group are not
|
||||
changed.
|
||||
|
||||
For purposes of this operation, molecules are identified by the current
|
||||
bond connectivity in the system, which may or may not be consistent with
|
||||
the current molecule IDs. A molecule in this context is a set of atoms
|
||||
connected to each other with explicit bonds. The specific algorithm
|
||||
used is the one of :doc:`compute fragment/atom <compute_cluster_atom>`
|
||||
Once the molecules are identified and a new molecule ID computed for
|
||||
each, this command will update the current molecule ID for all atoms in
|
||||
the group with the new molecule ID. Note that if the group excludes
|
||||
atoms within molecules, one (physical) molecule may become two or more
|
||||
(logical) molecules. For example if the group excludes atoms in the
|
||||
middle of a linear chain, then each end of the chain is considered an
|
||||
independent molecule and will be assigned a different molecule ID.
|
||||
|
||||
This can be a useful operation to perform after running reactive
|
||||
molecular dynamics run with :doc:`fix bond/react <fix_bond_react>`,
|
||||
:doc:`fix bond/create <fix_bond_create>`, or :doc:`fix bond/break
|
||||
<fix_bond_break>`, all of which can change molecule topologies. It can
|
||||
also be useful after molecules have been deleted with the
|
||||
:doc:`delete_atoms <delete_atoms>` command or after a simulation which
|
||||
has lost molecules, e.g. via the :doc:`fix evaporate <fix_evaporate>`
|
||||
command.
|
||||
|
||||
The *compress* keyword determines how new molecule IDs are computed. If
|
||||
the setting is *yes* (the default) and there are N molecules in the
|
||||
group, the new molecule IDs will be a set of N contiguous values. See
|
||||
the *offset* keyword for details on selecting the range of these values.
|
||||
If the setting is *no*, the molecule ID of every atom in the molecule
|
||||
will be set to the smallest atom ID of any atom in the molecule.
|
||||
|
||||
The *single* keyword determines whether single atoms (not bonded to
|
||||
another atom) are treated as one-atom molecules or not, based on the
|
||||
*yes* or *no* setting. If the setting is *no* (the default), their
|
||||
molecule IDs are set to 0. This setting can be important if the new
|
||||
molecule IDs will be used as input to other commands such as
|
||||
:doc:`compute chunk/atom molecule <compute_chunk_atom>` or :doc:`fix
|
||||
rigid molecule <fix_rigid>`.
|
||||
|
||||
The *offset* keyword is only used if the *compress* setting is *yes*.
|
||||
Its default value is *Noffset* = -1. In that case, if the specified
|
||||
group is *all*, then the new compressed molecule IDs will range from 1
|
||||
to N. If the specified group is not *all* and the largest molecule ID
|
||||
of atoms outside that group is M, then the new compressed molecule IDs will
|
||||
range from M+1 to M+N, to avoid collision with existing molecule
|
||||
IDs. If an *Noffset* >= 0 is specified, then the new compressed
|
||||
molecule IDs will range from *Noffset*\ +1 to *Noffset*\ +N. If the group
|
||||
is not *all* there may be collisions with the molecule IDs of other atoms.
|
||||
|
||||
.. note::
|
||||
|
||||
The same as explained for the :doc:`compute fragment/atom
|
||||
<compute_cluster_atom>` command, molecules are identified using the
|
||||
current bond topology. This will not account for bonds broken by
|
||||
the :doc:`bond_style quartic <bond_quartic>` command because it
|
||||
does not perform a full update of the bond topology data structures
|
||||
within LAMMPS.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
none
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`reset_atom_ids <reset_atom_ids>`, :doc:`fix bond/react <fix_bond_react>`,
|
||||
:doc:`fix bond/create <fix_bond_create>`,
|
||||
:doc:`fix bond/break <fix_bond_break>`,
|
||||
:doc:`fix evaporate <fix_evaporate>`,
|
||||
:doc:`delete_atoms <delete_atoms>`,
|
||||
:doc:`compute fragment/atom <compute_cluster_atom>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The default keyword settings are compress = yes, single = no, and
|
||||
offset = -1.
|
||||
@ -52,6 +52,7 @@ minimize = {}
|
||||
pair = {}
|
||||
reader = {}
|
||||
region = {}
|
||||
total = 0
|
||||
|
||||
upper = re.compile("[A-Z]+")
|
||||
gpu = re.compile("(.+)/gpu$")
|
||||
@ -60,7 +61,7 @@ kokkos = re.compile("(.+)/kk$")
|
||||
kokkos_skip = re.compile("(.+)/kk/(host|device)$")
|
||||
omp = re.compile("(.+)/omp$")
|
||||
opt = re.compile("(.+)/opt$")
|
||||
removed = re.compile("(.+)Deprecated$")
|
||||
removed = re.compile("(.*)Deprecated$")
|
||||
|
||||
def register_style(list,style,info):
|
||||
if style in list.keys():
|
||||
@ -119,6 +120,7 @@ for h in headers:
|
||||
|
||||
# skip over internal styles w/o explicit documentation
|
||||
style = m[1]
|
||||
total += 1
|
||||
if upper.match(style):
|
||||
continue
|
||||
|
||||
@ -197,12 +199,13 @@ print("""Parsed style names w/o suffixes from C++ tree in %s:
|
||||
Fix styles: %3d Improper styles: %3d
|
||||
Integrate styles: %3d Kspace styles: %3d
|
||||
Minimize styles: %3d Pair styles: %3d
|
||||
Reader styles: %3d Region styles: %3d""" \
|
||||
Reader styles: %3d Region styles: %3d
|
||||
----------------------------------------------------
|
||||
Total number of styles (including suffixes): %d""" \
|
||||
% (src, len(angle), len(atom), len(body), len(bond), \
|
||||
len(command), len(compute), len(dihedral), len(dump), \
|
||||
len(fix), len(improper), len(integrate), len(kspace), \
|
||||
len(minimize), len(pair), len(reader), len(region)))
|
||||
|
||||
len(minimize), len(pair), len(reader), len(region), total))
|
||||
|
||||
counter = 0
|
||||
|
||||
|
||||
@ -16,6 +16,13 @@
|
||||
import sys
|
||||
import os
|
||||
|
||||
has_enchant = False
|
||||
try:
|
||||
import enchant
|
||||
has_enchant = True
|
||||
except:
|
||||
pass
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
@ -321,7 +328,7 @@ epub_author = 'The LAMMPS Developers'
|
||||
# configure spelling extension if present
|
||||
import importlib.util
|
||||
spelling_spec = importlib.util.find_spec("sphinxcontrib.spelling")
|
||||
if spelling_spec:
|
||||
if spelling_spec and has_enchant:
|
||||
extensions.append('sphinxcontrib.spelling')
|
||||
|
||||
spelling_lang='en_US'
|
||||
|
||||
@ -748,6 +748,7 @@ Eebt
|
||||
ees
|
||||
eFF
|
||||
efield
|
||||
effm
|
||||
eflux
|
||||
eg
|
||||
Eggebrecht
|
||||
@ -869,6 +870,7 @@ evalue
|
||||
Evanseck
|
||||
evdwl
|
||||
Everaers
|
||||
Evgeny
|
||||
evirials
|
||||
ewald
|
||||
Ewald
|
||||
@ -1073,6 +1075,7 @@ GPa
|
||||
gpu
|
||||
gpuID
|
||||
gpus
|
||||
gradgradflag
|
||||
gradV
|
||||
GradVidottan
|
||||
graining
|
||||
@ -1483,6 +1486,7 @@ Kumar
|
||||
Kuronen
|
||||
Kusters
|
||||
Kutta
|
||||
Kuznetsov
|
||||
kx
|
||||
Lackmann
|
||||
Ladd
|
||||
@ -2029,6 +2033,7 @@ nhc
|
||||
NiAlH
|
||||
Nicklas
|
||||
Niklasson
|
||||
Nikolskiy
|
||||
Nimpropertype
|
||||
Ninteger
|
||||
Nissila
|
||||
@ -2057,6 +2062,7 @@ nodeless
|
||||
nodeset
|
||||
nodesets
|
||||
Noehring
|
||||
Noffset
|
||||
noforce
|
||||
Noid
|
||||
nolib
|
||||
@ -2082,6 +2088,7 @@ Novint
|
||||
np
|
||||
Npair
|
||||
Npairs
|
||||
nparams
|
||||
nparticle
|
||||
npernode
|
||||
nph
|
||||
@ -3201,6 +3208,7 @@ Voth
|
||||
vpz
|
||||
vratio
|
||||
Vries
|
||||
Vsevolod
|
||||
Vsmall
|
||||
Vstream
|
||||
vtarget
|
||||
@ -3242,6 +3250,8 @@ whitesmoke
|
||||
whitespace
|
||||
Wi
|
||||
Wicaksono
|
||||
Widom
|
||||
widom
|
||||
Wijk
|
||||
Wikipedia
|
||||
wildcard
|
||||
|
||||
@ -75,7 +75,7 @@ eim: NaCl using the EIM potential
|
||||
ellipse: ellipsoidal particles in spherical solvent, 2d system
|
||||
flow: Couette and Poiseuille flow in a 2d channel
|
||||
friction: frictional contact of spherical asperities between 2d surfaces
|
||||
gcmc: Grand Canonical Monte Carlo (GCMC) via the fix gcmc command
|
||||
gcmc: Grand Canonical MC with fix gcmc, Widom insertion with fix widom
|
||||
gjf: use of fix langevin Gronbech-Jensen/Farago option
|
||||
granregion: use of fix wall/region/gran as boundary on granular particles
|
||||
hugoniostat: Hugoniostat shock dynamics
|
||||
|
||||
@ -27,6 +27,7 @@ group all type 1 4
|
||||
# oxDNA bond interactions - FENE backbone
|
||||
bond_style oxdna/fene
|
||||
bond_coeff * 2.0 0.25 0.7525
|
||||
special_bonds lj 0 1 1
|
||||
|
||||
# oxDNA pair interactions
|
||||
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
|
||||
@ -48,6 +49,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
LAMMPS (30 Jun 2020)
|
||||
variable number equal 1
|
||||
variable ofreq equal 1000
|
||||
variable efreq equal 1000
|
||||
@ -12,7 +12,10 @@ newton off
|
||||
|
||||
boundary p p p
|
||||
|
||||
|
||||
|
||||
atom_style hybrid bond ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156)
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
@ -35,9 +38,8 @@ read_data data.duplex1
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 9.5e-05 secs
|
||||
read_data CPU = 0.001865 secs
|
||||
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.002 seconds
|
||||
set atom * mass 3.1575
|
||||
10 settings made for mass
|
||||
|
||||
@ -47,6 +49,12 @@ group all type 1 4
|
||||
# oxDNA bond interactions - FENE backbone
|
||||
bond_style oxdna/fene
|
||||
bond_coeff * 2.0 0.25 0.7525
|
||||
special_bonds lj 0 1 1
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
|
||||
# oxDNA pair interactions
|
||||
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
|
||||
@ -69,6 +77,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
@ -99,9 +108,9 @@ run 1000000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.956
|
||||
ghost atom cutoff = 1.956
|
||||
binsize = 0.978, bins = 41 41 41
|
||||
master list distance cutoff = 1.9560004
|
||||
ghost atom cutoff = 2.5
|
||||
binsize = 0.97800022, bins = 41 41 41
|
||||
5 neighbor lists, perpetual/occasional/extra = 5 0 0
|
||||
(1) pair oxdna/excv, perpetual
|
||||
attributes: half, newton off
|
||||
@ -128,8 +137,8 @@ Neighbor list info ...
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
WARNING: Communication cutoff 1.956 is shorter than a bond length based estimate of 2.12875. This may lead to errors. (../comm.cpp:685)
|
||||
Per MPI rank memory allocation (min/avg/max) = 2.836 | 2.836 | 2.836 Mbytes
|
||||
0 ekin = 0 | erot = 0 | epot = -14.6424332448164 | etot = -14.6424332448164
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.883 | 7.883 | 7.883 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -1.4711818 0.0069384985 -1.4642433 2.5836586e-06
|
||||
1000 ekin = 0.00113448721737003 | erot = 0.00413455947734281 | epot = -14.6477022915193 | etot = -14.6424332448246
|
||||
@ -1133,34 +1142,34 @@ Step Temp E_pair E_mol TotEng Press
|
||||
999000 ekin = 0.188315843917336 | erot = 0.335221830001114 | epot = -15.1659709188676 | etot = -14.6424332449491
|
||||
1000000 ekin = 0.1816243230724 | erot = 0.33096613964385 | epot = -15.155023707645 | etot = -14.6424332449287
|
||||
1000000 0.013453654 -1.5270261 0.011523695 -1.4973399 -8.4815516e-05
|
||||
Loop time of 17.1797 on 1 procs for 1000000 steps with 10 atoms
|
||||
Loop time of 15.696 on 1 procs for 1000000 steps with 10 atoms
|
||||
|
||||
Performance: 50291.944 tau/day, 58208.268 timesteps/s
|
||||
Performance: 55045.770 tau/day, 63710.382 timesteps/s
|
||||
99.6% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 13.871 | 13.871 | 13.871 | 0.0 | 80.74
|
||||
Bond | 0.52454 | 0.52454 | 0.52454 | 0.0 | 3.05
|
||||
Pair | 11.973 | 11.973 | 11.973 | 0.0 | 76.28
|
||||
Bond | 0.57492 | 0.57492 | 0.57492 | 0.0 | 3.66
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.14987 | 0.14987 | 0.14987 | 0.0 | 0.87
|
||||
Output | 7e-06 | 7e-06 | 7e-06 | 0.0 | 0.00
|
||||
Modify | 2.4075 | 2.4075 | 2.4075 | 0.0 | 14.01
|
||||
Other | | 0.227 | | | 1.32
|
||||
Comm | 0.18391 | 0.18391 | 0.18391 | 0.0 | 1.17
|
||||
Output | 8e-06 | 8e-06 | 8e-06 | 0.0 | 0.00
|
||||
Modify | 2.7068 | 2.7068 | 2.7068 | 0.0 | 17.25
|
||||
Other | | 0.2573 | | | 1.64
|
||||
|
||||
Nlocal: 10 ave 10 max 10 min
|
||||
Nlocal: 10.0 ave 10.0 max 10.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Nghost: 0.0 ave 0.0 max 0.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 45 ave 45 max 45 min
|
||||
Neighs: 37.0 ave 37.0 max 37.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 45
|
||||
Ave neighs/atom = 4.5
|
||||
Total # of neighbors = 37
|
||||
Ave neighs/atom = 3.7
|
||||
Ave special neighs/atom = 3.6
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_restart config.${number}.*
|
||||
Total wall time: 0:00:17
|
||||
Total wall time: 0:00:15
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
LAMMPS (30 Jun 2020)
|
||||
variable number equal 1
|
||||
variable ofreq equal 1000
|
||||
variable efreq equal 1000
|
||||
@ -12,7 +12,10 @@ newton off
|
||||
|
||||
boundary p p p
|
||||
|
||||
|
||||
|
||||
atom_style hybrid bond ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156)
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
@ -35,9 +38,8 @@ read_data data.duplex1
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000216 secs
|
||||
read_data CPU = 0.003061 secs
|
||||
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.003 seconds
|
||||
set atom * mass 3.1575
|
||||
10 settings made for mass
|
||||
|
||||
@ -47,6 +49,12 @@ group all type 1 4
|
||||
# oxDNA bond interactions - FENE backbone
|
||||
bond_style oxdna/fene
|
||||
bond_coeff * 2.0 0.25 0.7525
|
||||
special_bonds lj 0 1 1
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
|
||||
# oxDNA pair interactions
|
||||
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
|
||||
@ -69,6 +77,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
@ -99,9 +108,9 @@ run 1000000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 1.956
|
||||
ghost atom cutoff = 1.956
|
||||
binsize = 0.978, bins = 41 41 41
|
||||
master list distance cutoff = 1.9560004
|
||||
ghost atom cutoff = 2.5
|
||||
binsize = 0.97800022, bins = 41 41 41
|
||||
5 neighbor lists, perpetual/occasional/extra = 5 0 0
|
||||
(1) pair oxdna/excv, perpetual
|
||||
attributes: half, newton off
|
||||
@ -128,8 +137,8 @@ Neighbor list info ...
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
WARNING: Communication cutoff 1.956 is shorter than a bond length based estimate of 2.12875. This may lead to errors. (../comm.cpp:685)
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.33 | 7.512 | 7.694 Mbytes
|
||||
0 ekin = 0 | erot = 0 | epot = -14.6424332448164 | etot = -14.6424332448164
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.605 | 7.662 | 7.719 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -1.4711818 0.0069384985 -1.4642433 2.5836586e-06
|
||||
1000 ekin = 0.00113448721737009 | erot = 0.0041345594773427 | epot = -14.6477022915193 | etot = -14.6424332448246
|
||||
@ -1133,34 +1142,34 @@ Step Temp E_pair E_mol TotEng Press
|
||||
999000 ekin = 0.18831584391307 | erot = 0.335221830005501 | epot = -15.1659709188615 | etot = -14.642433244943
|
||||
1000000 ekin = 0.181624323067755 | erot = 0.330966139649165 | epot = -15.1550237076395 | etot = -14.6424332449226
|
||||
1000000 0.013453654 -1.5270261 0.011523695 -1.4973399 -8.4815516e-05
|
||||
Loop time of 18.6281 on 4 procs for 1000000 steps with 10 atoms
|
||||
Loop time of 16.5005 on 4 procs for 1000000 steps with 10 atoms
|
||||
|
||||
Performance: 46381.610 tau/day, 53682.419 timesteps/s
|
||||
Performance: 52362.058 tau/day, 60604.234 timesteps/s
|
||||
99.5% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.50691 | 7.0285 | 12.641 | 197.6 | 37.73
|
||||
Bond | 0.081876 | 0.27627 | 0.44175 | 28.5 | 1.48
|
||||
Pair | 0.51373 | 5.7702 | 10.408 | 174.5 | 34.97
|
||||
Bond | 0.084405 | 0.27056 | 0.44162 | 28.3 | 1.64
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 1.7692 | 2.0629 | 2.3468 | 17.0 | 11.07
|
||||
Output | 1.8e-05 | 2.625e-05 | 3e-05 | 0.0 | 0.00
|
||||
Modify | 0.17309 | 0.88362 | 1.5352 | 58.4 | 4.74
|
||||
Other | | 8.377 | | | 44.97
|
||||
Comm | 1.7403 | 2.0946 | 2.4247 | 18.8 | 12.69
|
||||
Output | 4e-05 | 6e-05 | 7.1e-05 | 0.0 | 0.00
|
||||
Modify | 0.17451 | 0.87938 | 1.53 | 58.2 | 5.33
|
||||
Other | | 7.486 | | | 45.37
|
||||
|
||||
Nlocal: 2.5 ave 5 max 0 min
|
||||
Nlocal: 2.5 ave 5.0 max 0.0 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Nghost: 7.5 ave 10 max 5 min
|
||||
Nghost: 7.5 ave 10.0 max 5.0 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Neighs: 18.5 ave 35 max 0 min
|
||||
Neighs: 16.0 ave 30.0 max 0.0 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 74
|
||||
Ave neighs/atom = 7.4
|
||||
Total # of neighbors = 64
|
||||
Ave neighs/atom = 6.4
|
||||
Ave special neighs/atom = 3.6
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_restart config.${number}.*
|
||||
Total wall time: 0:00:18
|
||||
Total wall time: 0:00:16
|
||||
@ -27,6 +27,7 @@ group all type 1 4
|
||||
# oxDNA bond interactions - FENE backbone
|
||||
bond_style oxdna/fene
|
||||
bond_coeff * 2.0 0.25 0.7525
|
||||
special_bonds lj 0 1 1
|
||||
|
||||
# oxDNA pair interactions
|
||||
pair_style hybrid/overlay oxdna/excv oxdna/stk oxdna/hbond oxdna/xstk oxdna/coaxstk
|
||||
@ -48,6 +49,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1176
examples/USER/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1
Normal file
1176
examples/USER/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.1
Normal file
File diff suppressed because it is too large
Load Diff
1176
examples/USER/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4
Normal file
1176
examples/USER/cgdna/examples/oxDNA/duplex2/log.30Jun20.duplex2.g++.4
Normal file
File diff suppressed because it is too large
Load Diff
@ -27,6 +27,7 @@ group all type 1 4
|
||||
# oxDNA2 bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
|
||||
# oxDNA2 pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -49,6 +50,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
LAMMPS (30 Jun 2020)
|
||||
variable number equal 1
|
||||
variable ofreq equal 1000
|
||||
variable efreq equal 1000
|
||||
@ -13,6 +13,7 @@ newton off
|
||||
boundary p p p
|
||||
|
||||
atom_style hybrid bond ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156)
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
@ -35,8 +36,8 @@ read_data data.duplex1
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000116 secs
|
||||
read_data CPU = 0.002026 secs
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.003 seconds
|
||||
|
||||
set atom * mass 3.1575
|
||||
10 settings made for mass
|
||||
@ -47,6 +48,12 @@ group all type 1 4
|
||||
# oxDNA2 bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
|
||||
# oxDNA2 pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -71,6 +78,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
@ -101,9 +109,9 @@ run 1000000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.6274
|
||||
ghost atom cutoff = 2.6274
|
||||
binsize = 1.3137, bins = 31 31 31
|
||||
master list distance cutoff = 2.6274048
|
||||
ghost atom cutoff = 2.6274048
|
||||
binsize = 1.3137024, bins = 31 31 31
|
||||
6 neighbor lists, perpetual/occasional/extra = 6 0 0
|
||||
(1) pair oxdna2/excv, perpetual
|
||||
attributes: half, newton off
|
||||
@ -135,7 +143,9 @@ Neighbor list info ...
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.024 | 3.024 | 3.024 Mbytes
|
||||
WARNING: Communication cutoff adjusted to 2.627404783947349 (../comm.cpp:690)
|
||||
0 ekin = 0 | erot = 0 | epot = -14.6175140343334 | etot = -14.6175140343334
|
||||
Per MPI rank memory allocation (min/avg/max) = 8.021 | 8.021 | 8.021 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -1.4712768 0.009525411 -1.4617514 4.663076e-06
|
||||
1000 ekin = 0.00113086229080528 | erot = 0.0043101016040658 | epot = -14.6229549982368 | etot = -14.617514034342
|
||||
@ -1139,34 +1149,34 @@ Step Temp E_pair E_mol TotEng Press
|
||||
999000 ekin = 0.190992053959174 | erot = 0.320462575795008 | epot = -15.1289686644104 | etot = -14.6175140346562
|
||||
1000000 ekin = 0.179708146665509 | erot = 0.311553394429298 | epot = -15.1087755756885 | etot = -14.6175140345937
|
||||
1000000 0.013311715 -1.5443684 0.033490821 -1.4929067 -3.7544839e-05
|
||||
Loop time of 18.4193 on 1 procs for 1000000 steps with 10 atoms
|
||||
Loop time of 17.0535 on 1 procs for 1000000 steps with 10 atoms
|
||||
|
||||
Performance: 46907.305 tau/day, 54290.862 timesteps/s
|
||||
Performance: 50663.947 tau/day, 58638.827 timesteps/s
|
||||
99.5% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 14.935 | 14.935 | 14.935 | 0.0 | 81.08
|
||||
Bond | 0.55556 | 0.55556 | 0.55556 | 0.0 | 3.02
|
||||
Pair | 13.135 | 13.135 | 13.135 | 0.0 | 77.02
|
||||
Bond | 0.6362 | 0.6362 | 0.6362 | 0.0 | 3.73
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.16028 | 0.16028 | 0.16028 | 0.0 | 0.87
|
||||
Output | 7e-06 | 7e-06 | 7e-06 | 0.0 | 0.00
|
||||
Modify | 2.5402 | 2.5402 | 2.5402 | 0.0 | 13.79
|
||||
Other | | 0.2285 | | | 1.24
|
||||
Comm | 0.18919 | 0.18919 | 0.18919 | 0.0 | 1.11
|
||||
Output | 8e-06 | 8e-06 | 8e-06 | 0.0 | 0.00
|
||||
Modify | 2.8399 | 2.8399 | 2.8399 | 0.0 | 16.65
|
||||
Other | | 0.2536 | | | 1.49
|
||||
|
||||
Nlocal: 10 ave 10 max 10 min
|
||||
Nlocal: 10.0 ave 10.0 max 10.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Nghost: 0.0 ave 0.0 max 0.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 45 ave 45 max 45 min
|
||||
Neighs: 37.0 ave 37.0 max 37.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 45
|
||||
Ave neighs/atom = 4.5
|
||||
Total # of neighbors = 37
|
||||
Ave neighs/atom = 3.7
|
||||
Ave special neighs/atom = 3.6
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_restart config.${number}.*
|
||||
Total wall time: 0:00:18
|
||||
Total wall time: 0:00:17
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
LAMMPS (30 Jun 2020)
|
||||
variable number equal 1
|
||||
variable ofreq equal 1000
|
||||
variable efreq equal 1000
|
||||
@ -13,6 +13,7 @@ newton off
|
||||
boundary p p p
|
||||
|
||||
atom_style hybrid bond ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156)
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
@ -35,8 +36,8 @@ read_data data.duplex1
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000198 secs
|
||||
read_data CPU = 0.004522 secs
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.004 seconds
|
||||
|
||||
set atom * mass 3.1575
|
||||
10 settings made for mass
|
||||
@ -47,6 +48,12 @@ group all type 1 4
|
||||
# oxDNA2 bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
|
||||
# oxDNA2 pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -71,6 +78,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
@ -101,9 +109,9 @@ run 1000000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.6274
|
||||
ghost atom cutoff = 2.6274
|
||||
binsize = 1.3137, bins = 31 31 31
|
||||
master list distance cutoff = 2.6274048
|
||||
ghost atom cutoff = 2.6274048
|
||||
binsize = 1.3137024, bins = 31 31 31
|
||||
6 neighbor lists, perpetual/occasional/extra = 6 0 0
|
||||
(1) pair oxdna2/excv, perpetual
|
||||
attributes: half, newton off
|
||||
@ -135,7 +143,9 @@ Neighbor list info ...
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.653 | 7.835 | 8.018 Mbytes
|
||||
WARNING: Communication cutoff adjusted to 2.627404783947349 (../comm.cpp:690)
|
||||
0 ekin = 0 | erot = 0 | epot = -14.6175140343334 | etot = -14.6175140343334
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.903 | 7.96 | 8.018 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -1.4712768 0.009525411 -1.4617514 4.663076e-06
|
||||
1000 ekin = 0.00113086229080478 | erot = 0.00431010160406708 | epot = -14.6229549982368 | etot = -14.617514034342
|
||||
@ -1139,34 +1149,34 @@ Step Temp E_pair E_mol TotEng Press
|
||||
999000 ekin = 0.190992053959209 | erot = 0.320462575794744 | epot = -15.1289686644103 | etot = -14.6175140346563
|
||||
1000000 ekin = 0.179708146665587 | erot = 0.311553394428757 | epot = -15.1087755756882 | etot = -14.6175140345938
|
||||
1000000 0.013311715 -1.5443684 0.033490821 -1.4929067 -3.7544839e-05
|
||||
Loop time of 20.7945 on 4 procs for 1000000 steps with 10 atoms
|
||||
Loop time of 17.7119 on 4 procs for 1000000 steps with 10 atoms
|
||||
|
||||
Performance: 41549.361 tau/day, 48089.538 timesteps/s
|
||||
99.6% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
Performance: 48780.802 tau/day, 56459.261 timesteps/s
|
||||
99.5% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.66725 | 7.9254 | 14.304 | 209.9 | 38.11
|
||||
Bond | 0.095496 | 0.30973 | 0.49863 | 30.5 | 1.49
|
||||
Pair | 0.59564 | 6.28 | 11.307 | 181.3 | 35.46
|
||||
Bond | 0.083757 | 0.28777 | 0.47668 | 30.6 | 1.62
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 1.8943 | 2.1825 | 2.4604 | 15.6 | 10.50
|
||||
Output | 2e-05 | 2.9e-05 | 3.2e-05 | 0.0 | 0.00
|
||||
Modify | 0.18231 | 0.95644 | 1.673 | 62.4 | 4.60
|
||||
Other | | 9.421 | | | 45.30
|
||||
Comm | 1.8539 | 2.1875 | 2.4877 | 17.3 | 12.35
|
||||
Output | 2.1e-05 | 3.85e-05 | 4.5e-05 | 0.0 | 0.00
|
||||
Modify | 0.18254 | 0.92719 | 1.638 | 61.5 | 5.23
|
||||
Other | | 8.029 | | | 45.33
|
||||
|
||||
Nlocal: 2.5 ave 5 max 0 min
|
||||
Nlocal: 2.5 ave 5.0 max 0.0 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Nghost: 7.5 ave 10 max 5 min
|
||||
Nghost: 7.5 ave 10.0 max 5.0 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Neighs: 18.5 ave 35 max 0 min
|
||||
Neighs: 16.0 ave 30.0 max 0.0 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 74
|
||||
Ave neighs/atom = 7.4
|
||||
Total # of neighbors = 64
|
||||
Ave neighs/atom = 6.4
|
||||
Ave special neighs/atom = 3.6
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_restart config.${number}.*
|
||||
Total wall time: 0:00:20
|
||||
Total wall time: 0:00:17
|
||||
@ -27,6 +27,7 @@ group all type 1 4
|
||||
# oxDNA2 bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
|
||||
# oxDNA2 pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -49,6 +50,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -27,6 +27,7 @@ group all type 1 4
|
||||
# oxDNA2 bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
|
||||
# oxDNA2 pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -49,6 +50,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
LAMMPS (30 Jun 2020)
|
||||
variable number equal 3
|
||||
variable ofreq equal 1000
|
||||
variable efreq equal 1000
|
||||
@ -13,6 +13,7 @@ newton off
|
||||
boundary p p p
|
||||
|
||||
atom_style hybrid bond ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156)
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
@ -35,8 +36,8 @@ read_data data.duplex3
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000145 secs
|
||||
read_data CPU = 0.001965 secs
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.002 seconds
|
||||
|
||||
set atom * mass 1.0
|
||||
10 settings made for mass
|
||||
@ -47,6 +48,12 @@ group all type 1 4
|
||||
# oxDNA2 bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
|
||||
# oxDNA2 pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -71,6 +78,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
@ -101,9 +109,9 @@ run 1000000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.6274
|
||||
ghost atom cutoff = 2.6274
|
||||
binsize = 1.3137, bins = 31 31 31
|
||||
master list distance cutoff = 2.6274048
|
||||
ghost atom cutoff = 2.6274048
|
||||
binsize = 1.3137024, bins = 31 31 31
|
||||
6 neighbor lists, perpetual/occasional/extra = 6 0 0
|
||||
(1) pair oxdna2/excv, perpetual
|
||||
attributes: half, newton off
|
||||
@ -135,7 +143,9 @@ Neighbor list info ...
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.024 | 3.024 | 3.024 Mbytes
|
||||
WARNING: Communication cutoff adjusted to 2.627404783947349 (../comm.cpp:690)
|
||||
0 ekin = 0 | erot = 0 | epot = -14.6249037416652 | etot = -14.6249037416652
|
||||
Per MPI rank memory allocation (min/avg/max) = 8.021 | 8.021 | 8.021 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -1.4720158 0.009525411 -1.4624904 3.1370518e-06
|
||||
1000 ekin = 0.00366431201929618 | erot = 0.00193726360267488 | epot = -14.630505317301 | etot = -14.624903741679
|
||||
@ -1139,34 +1149,34 @@ Step Temp E_pair E_mol TotEng Press
|
||||
999000 ekin = 0.330110494517114 | erot = 0.658973630822449 | epot = -15.6139878677246 | etot = -14.624903742385
|
||||
1000000 ekin = 0.345190458650495 | erot = 0.661138339466907 | epot = -15.6312325406154 | etot = -14.624903742498
|
||||
1000000 0.025569664 -1.5839232 0.020799898 -1.5286042 -3.5789082e-06
|
||||
Loop time of 25.9663 on 1 procs for 1000000 steps with 10 atoms
|
||||
Loop time of 16.5683 on 1 procs for 1000000 steps with 10 atoms
|
||||
|
||||
Performance: 33273.840 tau/day, 38511.388 timesteps/s
|
||||
99.6% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 52147.644 tau/day, 60356.069 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 | 21.428 | 21.428 | 21.428 | 0.0 | 82.52
|
||||
Bond | 0.76981 | 0.76981 | 0.76981 | 0.0 | 2.96
|
||||
Pair | 12.734 | 12.734 | 12.734 | 0.0 | 76.86
|
||||
Bond | 0.62259 | 0.62259 | 0.62259 | 0.0 | 3.76
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.25709 | 0.25709 | 0.25709 | 0.0 | 0.99
|
||||
Output | 9e-06 | 9e-06 | 9e-06 | 0.0 | 0.00
|
||||
Modify | 3.1584 | 3.1584 | 3.1584 | 0.0 | 12.16
|
||||
Other | | 0.3534 | | | 1.36
|
||||
Comm | 0.18386 | 0.18386 | 0.18386 | 0.0 | 1.11
|
||||
Output | 7e-06 | 7e-06 | 7e-06 | 0.0 | 0.00
|
||||
Modify | 2.7788 | 2.7788 | 2.7788 | 0.0 | 16.77
|
||||
Other | | 0.2491 | | | 1.50
|
||||
|
||||
Nlocal: 10 ave 10 max 10 min
|
||||
Nlocal: 10.0 ave 10.0 max 10.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Nghost: 0.0 ave 0.0 max 0.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 45 ave 45 max 45 min
|
||||
Neighs: 37.0 ave 37.0 max 37.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 45
|
||||
Ave neighs/atom = 4.5
|
||||
Total # of neighbors = 37
|
||||
Ave neighs/atom = 3.7
|
||||
Ave special neighs/atom = 3.6
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_restart config.${number}.*
|
||||
Total wall time: 0:00:25
|
||||
Total wall time: 0:00:16
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
LAMMPS (30 Jun 2020)
|
||||
variable number equal 3
|
||||
variable ofreq equal 1000
|
||||
variable efreq equal 1000
|
||||
@ -13,6 +13,7 @@ newton off
|
||||
boundary p p p
|
||||
|
||||
atom_style hybrid bond ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156)
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
@ -35,8 +36,8 @@ read_data data.duplex3
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000188 secs
|
||||
read_data CPU = 0.002791 secs
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.004 seconds
|
||||
|
||||
set atom * mass 1.0
|
||||
10 settings made for mass
|
||||
@ -47,6 +48,12 @@ group all type 1 4
|
||||
# oxDNA2 bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
2 = max # of 1-4 neighbors
|
||||
4 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
|
||||
# oxDNA2 pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -71,6 +78,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
@ -101,9 +109,9 @@ run 1000000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 2.6274
|
||||
ghost atom cutoff = 2.6274
|
||||
binsize = 1.3137, bins = 31 31 31
|
||||
master list distance cutoff = 2.6274048
|
||||
ghost atom cutoff = 2.6274048
|
||||
binsize = 1.3137024, bins = 31 31 31
|
||||
6 neighbor lists, perpetual/occasional/extra = 6 0 0
|
||||
(1) pair oxdna2/excv, perpetual
|
||||
attributes: half, newton off
|
||||
@ -135,7 +143,9 @@ Neighbor list info ...
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.653 | 7.835 | 8.018 Mbytes
|
||||
WARNING: Communication cutoff adjusted to 2.627404783947349 (../comm.cpp:690)
|
||||
0 ekin = 0 | erot = 0 | epot = -14.6249037416652 | etot = -14.6249037416652
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.903 | 7.96 | 8.018 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -1.4720158 0.009525411 -1.4624904 3.1370518e-06
|
||||
1000 ekin = 0.00366431201929595 | erot = 0.00193726360268106 | epot = -14.630505317301 | etot = -14.624903741679
|
||||
@ -1139,34 +1149,34 @@ Step Temp E_pair E_mol TotEng Press
|
||||
999000 ekin = 0.330110494517446 | erot = 0.658973630822486 | epot = -15.613987867725 | etot = -14.6249037423851
|
||||
1000000 ekin = 0.345190458651126 | erot = 0.66113833946702 | epot = -15.6312325406162 | etot = -14.624903742498
|
||||
1000000 0.025569664 -1.5839232 0.020799898 -1.5286042 -3.5789082e-06
|
||||
Loop time of 20.0167 on 4 procs for 1000000 steps with 10 atoms
|
||||
Loop time of 17.6535 on 4 procs for 1000000 steps with 10 atoms
|
||||
|
||||
Performance: 43164.007 tau/day, 49958.342 timesteps/s
|
||||
Performance: 48942.073 tau/day, 56645.918 timesteps/s
|
||||
99.5% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.59089 | 7.5652 | 13.908 | 205.5 | 37.79
|
||||
Bond | 0.090803 | 0.29363 | 0.47758 | 29.6 | 1.47
|
||||
Pair | 0.58208 | 6.2309 | 11.391 | 182.5 | 35.30
|
||||
Bond | 0.087981 | 0.28429 | 0.45668 | 28.3 | 1.61
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 1.7298 | 2.0312 | 2.2983 | 16.6 | 10.15
|
||||
Output | 1.4e-05 | 2.075e-05 | 2.3e-05 | 0.0 | 0.00
|
||||
Modify | 0.17638 | 0.90613 | 1.5893 | 60.1 | 4.53
|
||||
Other | | 9.22 | | | 46.06
|
||||
Comm | 1.8415 | 2.1564 | 2.4456 | 17.3 | 12.21
|
||||
Output | 1.5e-05 | 2.275e-05 | 2.6e-05 | 0.0 | 0.00
|
||||
Modify | 0.1751 | 0.91094 | 1.6034 | 60.5 | 5.16
|
||||
Other | | 8.071 | | | 45.72
|
||||
|
||||
Nlocal: 2.5 ave 5 max 0 min
|
||||
Nlocal: 2.5 ave 5.0 max 0.0 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Nghost: 7.5 ave 10 max 5 min
|
||||
Nghost: 7.5 ave 10.0 max 5.0 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
Neighs: 18.5 ave 35 max 0 min
|
||||
Neighs: 16.0 ave 30.0 max 0.0 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 74
|
||||
Ave neighs/atom = 7.4
|
||||
Total # of neighbors = 64
|
||||
Ave neighs/atom = 6.4
|
||||
Ave special neighs/atom = 3.6
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_restart config.${number}.*
|
||||
Total wall time: 0:00:20
|
||||
Total wall time: 0:00:17
|
||||
@ -18,17 +18,19 @@ atom_style hybrid bond ellipsoid
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
neighbor 2.0 bin
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 10 delay 0 check yes
|
||||
|
||||
read_data data.duplex4.4type
|
||||
mass * 3.1575
|
||||
mass * 3.1575 # sets per-type mass if not in data file
|
||||
set atom * mass 3.1575 # sets per-atom mass
|
||||
|
||||
group all type 1 4
|
||||
|
||||
# oxDNA bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
|
||||
# oxDNA pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -60,6 +62,7 @@ timestep 1e-4
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
|
||||
@ -10,7 +10,7 @@ units lj
|
||||
|
||||
dimension 3
|
||||
|
||||
newton on
|
||||
newton off
|
||||
|
||||
boundary p p p
|
||||
|
||||
@ -22,13 +22,15 @@ neighbor 1.0 bin
|
||||
neigh_modify every 10 delay 0 check yes
|
||||
|
||||
read_data data.duplex4.8type
|
||||
mass * 3.1575
|
||||
mass * 3.1575 # sets per-type mass if not in data file
|
||||
set atom * mass 3.1575 # sets per-atom mass
|
||||
|
||||
group all type 1 8
|
||||
|
||||
# oxDNA bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
|
||||
# oxDNA pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -60,6 +62,7 @@ timestep 1e-4
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
LAMMPS (30 Jun 2020)
|
||||
variable number equal 1
|
||||
variable ofreq equal 10000
|
||||
variable efreq equal 10000
|
||||
@ -16,10 +16,11 @@ newton off
|
||||
boundary p p p
|
||||
|
||||
atom_style hybrid bond ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156)
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
neighbor 2.0 bin
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 10 delay 0 check yes
|
||||
|
||||
read_data data.duplex4.4type
|
||||
@ -38,9 +39,11 @@ read_data data.duplex4.4type
|
||||
2 = max # of 1-3 neighbors
|
||||
4 = max # of 1-4 neighbors
|
||||
6 = max # of special neighbors
|
||||
special bonds CPU = 6.2e-05 secs
|
||||
read_data CPU = 0.001124 secs
|
||||
mass * 3.1575
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.003 seconds
|
||||
mass * 3.1575 # sets per-type mass if not in data file
|
||||
set atom * mass 3.1575 # sets per-atom mass
|
||||
26 settings made for mass
|
||||
|
||||
group all type 1 4
|
||||
26 atoms in group all
|
||||
@ -48,6 +51,12 @@ group all type 1 4
|
||||
# oxDNA bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
4 = max # of 1-4 neighbors
|
||||
6 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
|
||||
# oxDNA pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -115,6 +124,7 @@ timestep 1e-4
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
@ -149,9 +159,9 @@ run 100000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.63899
|
||||
ghost atom cutoff = 5.63899
|
||||
binsize = 2.81949, bins = 15 15 15
|
||||
master list distance cutoff = 4.6389877
|
||||
ghost atom cutoff = 4.6389877
|
||||
binsize = 2.3194939, bins = 18 18 18
|
||||
6 neighbor lists, perpetual/occasional/extra = 6 0 0
|
||||
(1) pair oxdna2/excv, perpetual
|
||||
attributes: half, newton off
|
||||
@ -183,47 +193,49 @@ Neighbor list info ...
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.89 | 3.89 | 3.89 Mbytes
|
||||
WARNING: Communication cutoff adjusted to 4.638987723814632 (../comm.cpp:690)
|
||||
0 ekin = 0 | erot = 0 | epot = -41.6285382417448 | etot = -41.6285382417448
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.771 | 9.771 | 9.771 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -1.6384018 0.037304147 -1.6010976 6.7769766e-05
|
||||
10000 ekin = 1.01296379553452 | erot = 1.38476360245491 | epot = -41.9785360036035 | etot = -39.5808086056141
|
||||
20000 ekin = 1.75607695499755 | erot = 1.86620102096623 | epot = -41.9558496477913 | etot = -38.3335716718275
|
||||
30000 ekin = 2.25878673688255 | erot = 2.60035907744906 | epot = -41.2869827431736 | etot = -36.427836928842
|
||||
40000 ekin = 2.11105717434601 | erot = 3.16611217122795 | epot = -40.2762731426449 | etot = -34.999103797071
|
||||
50000 ekin = 3.05379083545185 | erot = 2.45050275456902 | epot = -40.3032957287999 | etot = -34.799002138779
|
||||
60000 ekin = 3.05154113920288 | erot = 2.52539576708931 | epot = -39.6800099891302 | etot = -34.103073082838
|
||||
70000 ekin = 3.23212209366503 | erot = 3.28914763888578 | epot = -40.1240667487288 | etot = -33.602797016178
|
||||
80000 ekin = 2.82623224207568 | erot = 2.91292948677805 | epot = -39.0983962904507 | etot = -33.3592345615969
|
||||
90000 ekin = 3.05995314905566 | erot = 3.5429982411034 | epot = -39.1646070343971 | etot = -32.561655644238
|
||||
100000 ekin = 3.46139546969836 | erot = 4.11704803295073 | epot = -38.5124679837256 | etot = -30.9340244810765
|
||||
100000 0.092303879 -1.5243833 0.043134544 -1.3481182 6.862374e-06
|
||||
Loop time of 7.99505 on 1 procs for 100000 steps with 26 atoms
|
||||
10000 ekin = 0.876675896491307 | erot = 3.01631310953192 | epot = -43.6949424313443 | etot = -39.8019534253211
|
||||
20000 ekin = 1.02178060459022 | erot = 1.54107635735041 | epot = -40.2257383206528 | etot = -37.6628813587121
|
||||
30000 ekin = 1.77819697871127 | erot = 2.67180081099997 | epot = -40.9840548186678 | etot = -36.5340570289565
|
||||
40000 ekin = 2.55095642638533 | erot = 2.97955929579275 | epot = -40.0756048400153 | etot = -34.5450891178372
|
||||
50000 ekin = 2.43321388920862 | erot = 3.63137266285959 | epot = -39.3718897377946 | etot = -33.3073031857264
|
||||
60000 ekin = 2.51123200110303 | erot = 3.95693243683571 | epot = -38.8877878920178 | etot = -32.4196234540791
|
||||
70000 ekin = 3.33444097207872 | erot = 4.12593683683079 | epot = -38.7679893452499 | etot = -31.3076115363404
|
||||
80000 ekin = 3.41969296989344 | erot = 3.46589964095079 | epot = -37.5712487729465 | etot = -30.6856561621023
|
||||
90000 ekin = 3.53106755106414 | erot = 3.40955821292295 | epot = -35.9319384430368 | etot = -28.9913126790497
|
||||
100000 ekin = 3.47860763041501 | erot = 3.95117534418391 | epot = -37.6128506757402 | etot = -30.1830677011413
|
||||
100000 0.09276287 -1.4972391 0.050590991 -1.3128555 0.00017815014
|
||||
Loop time of 7.33046 on 1 procs for 100000 steps with 26 atoms
|
||||
|
||||
Performance: 108066.893 tau/day, 12507.742 timesteps/s
|
||||
Performance: 117864.395 tau/day, 13641.712 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 | 7.2072 | 7.2072 | 7.2072 | 0.0 | 90.15
|
||||
Bond | 0.14292 | 0.14292 | 0.14292 | 0.0 | 1.79
|
||||
Neigh | 1.9e-05 | 1.9e-05 | 1.9e-05 | 0.0 | 0.00
|
||||
Comm | 0.015676 | 0.015676 | 0.015676 | 0.0 | 0.20
|
||||
Output | 0.001372 | 0.001372 | 0.001372 | 0.0 | 0.02
|
||||
Modify | 0.61071 | 0.61071 | 0.61071 | 0.0 | 7.64
|
||||
Other | | 0.01714 | | | 0.21
|
||||
Pair | 6.4814 | 6.4814 | 6.4814 | 0.0 | 88.42
|
||||
Bond | 0.16262 | 0.16262 | 0.16262 | 0.0 | 2.22
|
||||
Neigh | 4.2e-05 | 4.2e-05 | 4.2e-05 | 0.0 | 0.00
|
||||
Comm | 0.019555 | 0.019555 | 0.019555 | 0.0 | 0.27
|
||||
Output | 0.00131 | 0.00131 | 0.00131 | 0.0 | 0.02
|
||||
Modify | 0.64596 | 0.64596 | 0.64596 | 0.0 | 8.81
|
||||
Other | | 0.01961 | | | 0.27
|
||||
|
||||
Nlocal: 26 ave 26 max 26 min
|
||||
Nlocal: 26.0 ave 26.0 max 26.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Nghost: 0.0 ave 0.0 max 0.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 325 ave 325 max 325 min
|
||||
Neighs: 299.0 ave 299.0 max 299.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 325
|
||||
Ave neighs/atom = 12.5
|
||||
Ave special neighs/atom = 5.07692
|
||||
Neighbor list builds = 1
|
||||
Total # of neighbors = 299
|
||||
Ave neighs/atom = 11.5
|
||||
Ave special neighs/atom = 5.076923076923077
|
||||
Neighbor list builds = 2
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_restart config.${number}.*
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
LAMMPS (30 Jun 2020)
|
||||
variable number equal 1
|
||||
variable ofreq equal 10000
|
||||
variable efreq equal 10000
|
||||
@ -16,10 +16,11 @@ newton off
|
||||
boundary p p p
|
||||
|
||||
atom_style hybrid bond ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156)
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
neighbor 2.0 bin
|
||||
neighbor 1.0 bin
|
||||
neigh_modify every 10 delay 0 check yes
|
||||
|
||||
read_data data.duplex4.4type
|
||||
@ -38,9 +39,11 @@ read_data data.duplex4.4type
|
||||
2 = max # of 1-3 neighbors
|
||||
4 = max # of 1-4 neighbors
|
||||
6 = max # of special neighbors
|
||||
special bonds CPU = 0.000173 secs
|
||||
read_data CPU = 0.00242 secs
|
||||
mass * 3.1575
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.004 seconds
|
||||
mass * 3.1575 # sets per-type mass if not in data file
|
||||
set atom * mass 3.1575 # sets per-atom mass
|
||||
26 settings made for mass
|
||||
|
||||
group all type 1 4
|
||||
26 atoms in group all
|
||||
@ -48,6 +51,12 @@ group all type 1 4
|
||||
# oxDNA bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
4 = max # of 1-4 neighbors
|
||||
6 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
|
||||
# oxDNA pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -115,6 +124,7 @@ timestep 1e-4
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
@ -149,9 +159,9 @@ run 100000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.63899
|
||||
ghost atom cutoff = 5.63899
|
||||
binsize = 2.81949, bins = 15 15 15
|
||||
master list distance cutoff = 4.6389877
|
||||
ghost atom cutoff = 4.6389877
|
||||
binsize = 2.3194939, bins = 18 18 18
|
||||
6 neighbor lists, perpetual/occasional/extra = 6 0 0
|
||||
(1) pair oxdna2/excv, perpetual
|
||||
attributes: half, newton off
|
||||
@ -183,50 +193,52 @@ Neighbor list info ...
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.499 | 9.682 | 9.864 Mbytes
|
||||
WARNING: Communication cutoff adjusted to 4.638987723814632 (../comm.cpp:690)
|
||||
0 ekin = 0 | erot = 0 | epot = -41.6285382417448 | etot = -41.6285382417448
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.756 | 9.813 | 9.871 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -1.6384018 0.037304147 -1.6010976 6.7769766e-05
|
||||
10000 ekin = 1.20524984175817 | erot = 1.2679122962101 | epot = -41.9183873815797 | etot = -39.4452252436114
|
||||
20000 ekin = 1.60856540355485 | erot = 2.64140880508964 | epot = -41.0106168994545 | etot = -36.76064269081
|
||||
30000 ekin = 2.821101638199 | erot = 3.06373823252434 | epot = -40.9348041675027 | etot = -35.0499642967793
|
||||
40000 ekin = 2.36296917392486 | erot = 3.53353555114673 | epot = -39.5591676362755 | etot = -33.6626629112039
|
||||
50000 ekin = 2.93383938780818 | erot = 3.39920211088179 | epot = -40.3602175538497 | etot = -34.0271760551597
|
||||
60000 ekin = 2.42811021532829 | erot = 2.75130045540831 | epot = -39.3178531324554 | etot = -34.1384424617188
|
||||
70000 ekin = 2.7282200818863 | erot = 3.76502037022117 | epot = -40.5673105068195 | etot = -34.074070054712
|
||||
80000 ekin = 2.90877851656705 | erot = 2.43617899356904 | epot = -38.4099618426175 | etot = -33.0650043324814
|
||||
90000 ekin = 3.89203816080263 | erot = 2.67194811393274 | epot = -39.1880466354802 | etot = -32.6240603607448
|
||||
100000 ekin = 3.98445325397832 | erot = 2.77079124049636 | epot = -39.2805505658488 | etot = -32.5253060713741
|
||||
100000 0.10625209 -1.5603519 0.049561514 -1.3575422 -1.7755557e-05
|
||||
Loop time of 7.14827 on 4 procs for 100000 steps with 26 atoms
|
||||
10000 ekin = 0.705506935391957 | erot = 3.21864563172922 | epot = -44.0640899615318 | etot = -40.1399373944106
|
||||
20000 ekin = 1.16547426389222 | erot = 1.69259899672632 | epot = -41.827511978894 | etot = -38.9694387182755
|
||||
30000 ekin = 2.07592540045025 | erot = 2.81661265099434 | epot = -41.8258727293348 | etot = -36.9333346778902
|
||||
40000 ekin = 3.0352692177735 | erot = 2.43995587980307 | epot = -41.3155342467788 | etot = -35.8403091492022
|
||||
50000 ekin = 2.69044710203348 | erot = 2.86176633025683 | epot = -40.5544750556414 | etot = -35.0022616233511
|
||||
60000 ekin = 2.90956639769978 | erot = 2.84679944563592 | epot = -39.7474408128141 | etot = -33.9910749694784
|
||||
70000 ekin = 1.89941118514544 | erot = 3.71508585194422 | epot = -38.9575890625426 | etot = -33.3430920254529
|
||||
80000 ekin = 2.43472912058895 | erot = 3.11589280920166 | epot = -39.844809532279 | etot = -34.2941876024883
|
||||
90000 ekin = 2.3759389593227 | erot = 3.25835921096947 | epot = -38.913072246407 | etot = -33.2787740761149
|
||||
100000 ekin = 3.23901515322217 | erot = 3.3464944524431 | epot = -38.6302041314432 | etot = -32.044694525778
|
||||
100000 0.086373737 -1.5432369 0.057459797 -1.3611996 7.7958353e-05
|
||||
Loop time of 6.09292 on 4 procs for 100000 steps with 26 atoms
|
||||
|
||||
Performance: 120868.376 tau/day, 13989.395 timesteps/s
|
||||
Performance: 141803.976 tau/day, 16412.497 timesteps/s
|
||||
99.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 | 0.047776 | 3.0726 | 6.3143 | 172.8 | 42.98
|
||||
Bond | 0.00736 | 0.056846 | 0.10864 | 20.7 | 0.80
|
||||
Neigh | 1.9e-05 | 1.9e-05 | 1.9e-05 | 0.0 | 0.00
|
||||
Comm | 0.30925 | 3.451 | 6.3739 | 157.5 | 48.28
|
||||
Output | 0.000896 | 0.0010197 | 0.001301 | 0.5 | 0.01
|
||||
Modify | 0.015512 | 0.18417 | 0.37845 | 39.4 | 2.58
|
||||
Other | | 0.3826 | | | 5.35
|
||||
Pair | 0.047712 | 2.5625 | 5.2874 | 157.3 | 42.06
|
||||
Bond | 0.007398 | 0.053166 | 0.10097 | 19.8 | 0.87
|
||||
Neigh | 1.8e-05 | 1.8e-05 | 1.8e-05 | 0.0 | 0.00
|
||||
Comm | 0.29205 | 2.9624 | 5.4188 | 143.0 | 48.62
|
||||
Output | 0.000866 | 0.00099325 | 0.001303 | 0.0 | 0.02
|
||||
Modify | 0.016247 | 0.18354 | 0.37524 | 39.2 | 3.01
|
||||
Other | | 0.3303 | | | 5.42
|
||||
|
||||
Nlocal: 6.5 ave 13 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 19.5 ave 26 max 13 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 123.5 ave 247 max 0 min
|
||||
Nlocal: 6.5 ave 14.0 max 0.0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Nghost: 18.5 ave 24.0 max 12.0 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
Neighs: 113.75 ave 239.0 max 0.0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 494
|
||||
Ave neighs/atom = 19
|
||||
Ave special neighs/atom = 5.07692
|
||||
Total # of neighbors = 455
|
||||
Ave neighs/atom = 17.5
|
||||
Ave special neighs/atom = 5.076923076923077
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_restart config.${number}.*
|
||||
|
||||
|
||||
Total wall time: 0:00:07
|
||||
Total wall time: 0:00:06
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
LAMMPS (30 Jun 2020)
|
||||
variable number equal 1
|
||||
variable ofreq equal 10000
|
||||
variable efreq equal 10000
|
||||
@ -11,11 +11,12 @@ units lj
|
||||
|
||||
dimension 3
|
||||
|
||||
newton on
|
||||
newton off
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_style hybrid bond ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156)
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
@ -31,16 +32,18 @@ read_data data.duplex4.8type
|
||||
26 velocities
|
||||
26 ellipsoids
|
||||
scanning bonds ...
|
||||
1 = max bonds/atom
|
||||
2 = max bonds/atom
|
||||
reading bonds ...
|
||||
24 bonds
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
4 = max # of 1-4 neighbors
|
||||
6 = max # of special neighbors
|
||||
special bonds CPU = 6.5e-05 secs
|
||||
read_data CPU = 0.001139 secs
|
||||
mass * 3.1575
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.002 seconds
|
||||
mass * 3.1575 # sets per-type mass if not in data file
|
||||
set atom * mass 3.1575 # sets per-atom mass
|
||||
26 settings made for mass
|
||||
|
||||
group all type 1 8
|
||||
26 atoms in group all
|
||||
@ -48,6 +51,12 @@ group all type 1 8
|
||||
# oxDNA bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
4 = max # of 1-4 neighbors
|
||||
6 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
|
||||
# oxDNA pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -157,6 +166,7 @@ timestep 1e-4
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
@ -191,81 +201,83 @@ run 100000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.63899
|
||||
ghost atom cutoff = 4.63899
|
||||
binsize = 2.31949, bins = 18 18 18
|
||||
master list distance cutoff = 4.6389877
|
||||
ghost atom cutoff = 4.6389877
|
||||
binsize = 2.3194939, bins = 18 18 18
|
||||
6 neighbor lists, perpetual/occasional/extra = 6 0 0
|
||||
(1) pair oxdna2/excv, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
attributes: half, newton off
|
||||
pair build: half/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
(2) pair oxdna2/stk, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
attributes: half, newton off
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair oxdna2/hbond, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
attributes: half, newton off
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) pair oxdna2/xstk, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
attributes: half, newton off
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) pair oxdna2/coaxstk, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
attributes: half, newton off
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) pair oxdna2/dh, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
attributes: half, newton off
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.905 | 3.905 | 3.905 Mbytes
|
||||
WARNING: Communication cutoff adjusted to 4.638987723814632 (../comm.cpp:690)
|
||||
0 ekin = 0 | erot = 0 | epot = -41.6285382417448 | etot = -41.6285382417448
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.771 | 9.771 | 9.771 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -1.6384018 0.037304147 -1.6010976 6.7769766e-05
|
||||
10000 ekin = 1.0129637955345 | erot = 1.38476360245492 | epot = -41.9785360036034 | etot = -39.580808605614
|
||||
20000 ekin = 1.75607695499755 | erot = 1.86620102096618 | epot = -41.9558496477911 | etot = -38.3335716718274
|
||||
30000 ekin = 2.25878673688259 | erot = 2.60035907744898 | epot = -41.2869827431736 | etot = -36.427836928842
|
||||
40000 ekin = 2.11105717434584 | erot = 3.16611217122799 | epot = -40.2762731426449 | etot = -34.9991037970711
|
||||
50000 ekin = 3.05379083545187 | erot = 2.45050275456888 | epot = -40.3032957287998 | etot = -34.7990021387791
|
||||
60000 ekin = 3.05154113920291 | erot = 2.5253957670889 | epot = -39.6800099891299 | etot = -34.1030730828381
|
||||
70000 ekin = 3.23212209366464 | erot = 3.28914763888543 | epot = -40.1240667487278 | etot = -33.6027970161777
|
||||
80000 ekin = 2.82623224207591 | erot = 2.91292948677732 | epot = -39.0983962904496 | etot = -33.3592345615963
|
||||
90000 ekin = 3.05995314905694 | erot = 3.54299824110274 | epot = -39.164607034397 | etot = -32.5616556442373
|
||||
100000 ekin = 3.46139546969892 | erot = 4.11704803295143 | epot = -38.512467983727 | etot = -30.9340244810767
|
||||
100000 0.092303879 -1.5243833 0.043134544 -1.3481182 6.862374e-06
|
||||
Loop time of 7.94086 on 1 procs for 100000 steps with 26 atoms
|
||||
10000 ekin = 0.876675896491307 | erot = 3.01631310953192 | epot = -43.6949424313443 | etot = -39.8019534253211
|
||||
20000 ekin = 1.02178060459022 | erot = 1.54107635735041 | epot = -40.2257383206528 | etot = -37.6628813587121
|
||||
30000 ekin = 1.77819697871127 | erot = 2.67180081099997 | epot = -40.9840548186678 | etot = -36.5340570289565
|
||||
40000 ekin = 2.55095642638533 | erot = 2.97955929579275 | epot = -40.0756048400153 | etot = -34.5450891178372
|
||||
50000 ekin = 2.43321388920862 | erot = 3.63137266285959 | epot = -39.3718897377946 | etot = -33.3073031857264
|
||||
60000 ekin = 2.51123200110303 | erot = 3.95693243683571 | epot = -38.8877878920178 | etot = -32.4196234540791
|
||||
70000 ekin = 3.33444097207872 | erot = 4.12593683683079 | epot = -38.7679893452499 | etot = -31.3076115363404
|
||||
80000 ekin = 3.41969296989344 | erot = 3.46589964095079 | epot = -37.5712487729465 | etot = -30.6856561621023
|
||||
90000 ekin = 3.53106755106414 | erot = 3.40955821292295 | epot = -35.9319384430368 | etot = -28.9913126790497
|
||||
100000 ekin = 3.47860763041501 | erot = 3.95117534418391 | epot = -37.6128506757402 | etot = -30.1830677011413
|
||||
100000 0.09276287 -1.4972391 0.050590991 -1.3128555 0.00017815014
|
||||
Loop time of 7.44606 on 1 procs for 100000 steps with 26 atoms
|
||||
|
||||
Performance: 108804.336 tau/day, 12593.094 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 116034.458 tau/day, 13429.914 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 | 7.1507 | 7.1507 | 7.1507 | 0.0 | 90.05
|
||||
Bond | 0.14487 | 0.14487 | 0.14487 | 0.0 | 1.82
|
||||
Neigh | 6.4e-05 | 6.4e-05 | 6.4e-05 | 0.0 | 0.00
|
||||
Comm | 0.032259 | 0.032259 | 0.032259 | 0.0 | 0.41
|
||||
Output | 0.003484 | 0.003484 | 0.003484 | 0.0 | 0.04
|
||||
Modify | 0.59013 | 0.59013 | 0.59013 | 0.0 | 7.43
|
||||
Other | | 0.01934 | | | 0.24
|
||||
Pair | 6.5843 | 6.5843 | 6.5843 | 0.0 | 88.43
|
||||
Bond | 0.16149 | 0.16149 | 0.16149 | 0.0 | 2.17
|
||||
Neigh | 4.3e-05 | 4.3e-05 | 4.3e-05 | 0.0 | 0.00
|
||||
Comm | 0.022595 | 0.022595 | 0.022595 | 0.0 | 0.30
|
||||
Output | 0.001492 | 0.001492 | 0.001492 | 0.0 | 0.02
|
||||
Modify | 0.65313 | 0.65313 | 0.65313 | 0.0 | 8.77
|
||||
Other | | 0.02299 | | | 0.31
|
||||
|
||||
Nlocal: 26 ave 26 max 26 min
|
||||
Nlocal: 26.0 ave 26.0 max 26.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 0 ave 0 max 0 min
|
||||
Nghost: 0.0 ave 0.0 max 0.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 323 ave 323 max 323 min
|
||||
Neighs: 299.0 ave 299.0 max 299.0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 323
|
||||
Ave neighs/atom = 12.4231
|
||||
Ave special neighs/atom = 5.07692
|
||||
Neighbor list builds = 4
|
||||
Total # of neighbors = 299
|
||||
Ave neighs/atom = 11.5
|
||||
Ave special neighs/atom = 5.076923076923077
|
||||
Neighbor list builds = 2
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_restart config.${number}.*
|
||||
@ -1,4 +1,4 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
LAMMPS (30 Jun 2020)
|
||||
variable number equal 1
|
||||
variable ofreq equal 10000
|
||||
variable efreq equal 10000
|
||||
@ -11,11 +11,12 @@ units lj
|
||||
|
||||
dimension 3
|
||||
|
||||
newton on
|
||||
newton off
|
||||
|
||||
boundary p p p
|
||||
|
||||
atom_style hybrid bond ellipsoid
|
||||
WARNING: Atom_style hybrid defines both pertype and peratom masses - both must be set, only peratom masses will be used (../atom_vec_hybrid.cpp:156)
|
||||
atom_modify sort 0 1.0
|
||||
|
||||
# Pair interactions require lists of neighbours to be calculated
|
||||
@ -31,16 +32,18 @@ read_data data.duplex4.8type
|
||||
26 velocities
|
||||
26 ellipsoids
|
||||
scanning bonds ...
|
||||
1 = max bonds/atom
|
||||
2 = max bonds/atom
|
||||
reading bonds ...
|
||||
24 bonds
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
4 = max # of 1-4 neighbors
|
||||
6 = max # of special neighbors
|
||||
special bonds CPU = 0.000232 secs
|
||||
read_data CPU = 0.002447 secs
|
||||
mass * 3.1575
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.004 seconds
|
||||
mass * 3.1575 # sets per-type mass if not in data file
|
||||
set atom * mass 3.1575 # sets per-atom mass
|
||||
26 settings made for mass
|
||||
|
||||
group all type 1 8
|
||||
26 atoms in group all
|
||||
@ -48,6 +51,12 @@ group all type 1 8
|
||||
# oxDNA bond interactions - FENE backbone
|
||||
bond_style oxdna2/fene
|
||||
bond_coeff * 2.0 0.25 0.7564
|
||||
special_bonds lj 0 1 1
|
||||
2 = max # of 1-2 neighbors
|
||||
2 = max # of 1-3 neighbors
|
||||
4 = max # of 1-4 neighbors
|
||||
6 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
|
||||
# oxDNA pair interactions
|
||||
pair_style hybrid/overlay oxdna2/excv oxdna2/stk oxdna2/hbond oxdna2/xstk oxdna2/coaxstk oxdna2/dh
|
||||
@ -157,6 +166,7 @@ timestep 1e-4
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
@ -191,84 +201,86 @@ run 100000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.63899
|
||||
ghost atom cutoff = 4.63899
|
||||
binsize = 2.31949, bins = 18 18 18
|
||||
master list distance cutoff = 4.6389877
|
||||
ghost atom cutoff = 4.6389877
|
||||
binsize = 2.3194939, bins = 18 18 18
|
||||
6 neighbor lists, perpetual/occasional/extra = 6 0 0
|
||||
(1) pair oxdna2/excv, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
attributes: half, newton off
|
||||
pair build: half/bin/newtoff
|
||||
stencil: half/bin/3d/newtoff
|
||||
bin: standard
|
||||
(2) pair oxdna2/stk, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
attributes: half, newton off
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair oxdna2/hbond, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
attributes: half, newton off
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) pair oxdna2/xstk, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
attributes: half, newton off
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) pair oxdna2/coaxstk, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
attributes: half, newton off
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) pair oxdna2/dh, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
attributes: half, newton off
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.381 | 9.563 | 9.746 Mbytes
|
||||
WARNING: Communication cutoff adjusted to 4.638987723814632 (../comm.cpp:690)
|
||||
0 ekin = 0 | erot = 0 | epot = -41.6285382417448 | etot = -41.6285382417448
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.756 | 9.813 | 9.871 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 0 -1.6384018 0.037304147 -1.6010976 6.7769766e-05
|
||||
10000 ekin = 1.20524984175816 | erot = 1.26791229621008 | epot = -41.9183873815797 | etot = -39.4452252436115
|
||||
20000 ekin = 1.6085654035548 | erot = 2.6414088050897 | epot = -41.0106168994546 | etot = -36.7606426908101
|
||||
30000 ekin = 2.82110163819891 | erot = 3.06373823252419 | epot = -40.9348041675026 | etot = -35.0499642967795
|
||||
40000 ekin = 2.35553603700794 | erot = 3.60405945883761 | epot = -39.5418687902286 | etot = -33.5822732943831
|
||||
50000 ekin = 3.06061403125833 | erot = 3.35548669087246 | epot = -40.3236585928169 | etot = -33.9075578706861
|
||||
60000 ekin = 2.7347216991605 | erot = 4.23926242244084 | epot = -39.5379959923263 | etot = -32.564011870725
|
||||
70000 ekin = 3.46562604991873 | erot = 2.8521307045909 | epot = -38.7237000550356 | etot = -32.4059433005259
|
||||
80000 ekin = 3.17815543267806 | erot = 3.11078099027451 | epot = -39.7525036398366 | etot = -33.463567216884
|
||||
90000 ekin = 3.51635117668857 | erot = 2.58384069017333 | epot = -39.4762533092413 | etot = -33.3760614423795
|
||||
100000 ekin = 3.64218174280962 | erot = 2.88607181210736 | epot = -37.6002449519119 | etot = -31.0719913969949
|
||||
100000 0.097124846 -1.5164679 0.070304678 -1.3060794 -2.9111933e-05
|
||||
Loop time of 5.64462 on 4 procs for 100000 steps with 26 atoms
|
||||
10000 ekin = 0.705506935391957 | erot = 3.21864563172922 | epot = -44.0640899615318 | etot = -40.1399373944106
|
||||
20000 ekin = 1.16547426389222 | erot = 1.69259899672632 | epot = -41.827511978894 | etot = -38.9694387182755
|
||||
30000 ekin = 2.07592540045025 | erot = 2.81661265099434 | epot = -41.8258727293348 | etot = -36.9333346778902
|
||||
40000 ekin = 3.0352692177735 | erot = 2.43995587980307 | epot = -41.3155342467788 | etot = -35.8403091492022
|
||||
50000 ekin = 2.69044710203348 | erot = 2.86176633025683 | epot = -40.5544750556414 | etot = -35.0022616233511
|
||||
60000 ekin = 2.90956639769978 | erot = 2.84679944563592 | epot = -39.7474408128141 | etot = -33.9910749694784
|
||||
70000 ekin = 1.89941118514544 | erot = 3.71508585194422 | epot = -38.9575890625426 | etot = -33.3430920254529
|
||||
80000 ekin = 2.43472912058895 | erot = 3.11589280920166 | epot = -39.844809532279 | etot = -34.2941876024883
|
||||
90000 ekin = 2.3759389593227 | erot = 3.25835921096947 | epot = -38.913072246407 | etot = -33.2787740761149
|
||||
100000 ekin = 3.23901515322217 | erot = 3.3464944524431 | epot = -38.6302041314432 | etot = -32.044694525778
|
||||
100000 0.086373737 -1.5432369 0.057459797 -1.3611996 7.7958353e-05
|
||||
Loop time of 6.15993 on 4 procs for 100000 steps with 26 atoms
|
||||
|
||||
Performance: 153066.031 tau/day, 17715.976 timesteps/s
|
||||
99.0% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
Performance: 140261.437 tau/day, 16233.963 timesteps/s
|
||||
99.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 | 0.069668 | 2.1601 | 4.2189 | 138.7 | 38.27
|
||||
Bond | 0.008542 | 0.052544 | 0.095929 | 18.7 | 0.93
|
||||
Neigh | 4.8e-05 | 5.6e-05 | 6.4e-05 | 0.0 | 0.00
|
||||
Comm | 0.90402 | 3.1443 | 5.4155 | 124.9 | 55.70
|
||||
Output | 0.001003 | 0.0011317 | 0.001468 | 0.6 | 0.02
|
||||
Modify | 0.021098 | 0.20024 | 0.38154 | 39.2 | 3.55
|
||||
Other | | 0.0863 | | | 1.53
|
||||
Pair | 0.049533 | 2.573 | 5.3124 | 157.6 | 41.77
|
||||
Bond | 0.007709 | 0.055244 | 0.10383 | 20.2 | 0.90
|
||||
Neigh | 1.8e-05 | 1.875e-05 | 1.9e-05 | 0.0 | 0.00
|
||||
Comm | 0.32774 | 3.0114 | 5.4815 | 142.5 | 48.89
|
||||
Output | 0.000925 | 0.0010595 | 0.00137 | 0.6 | 0.02
|
||||
Modify | 0.016369 | 0.18492 | 0.37491 | 39.3 | 3.00
|
||||
Other | | 0.3343 | | | 5.43
|
||||
|
||||
Nlocal: 6.5 ave 13 max 0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 17.5 ave 22 max 13 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 80.25 ave 167 max 0 min
|
||||
Nlocal: 6.5 ave 14.0 max 0.0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 1 1
|
||||
Nghost: 18.5 ave 24.0 max 12.0 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
Neighs: 113.75 ave 239.0 max 0.0 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 321
|
||||
Ave neighs/atom = 12.3462
|
||||
Ave special neighs/atom = 5.07692
|
||||
Neighbor list builds = 3
|
||||
Total # of neighbors = 455
|
||||
Ave neighs/atom = 17.5
|
||||
Ave special neighs/atom = 5.076923076923077
|
||||
Neighbor list builds = 1
|
||||
Dangerous builds = 0
|
||||
|
||||
#write_restart config.${number}.*
|
||||
|
||||
|
||||
Total wall time: 0:00:05
|
||||
Total wall time: 0:00:06
|
||||
@ -27,6 +27,7 @@ group all type 1 4
|
||||
# oxRNA2 bond interactions - FENE backbone
|
||||
bond_style oxrna2/fene
|
||||
bond_coeff * 2.0 0.25 0.761070781051
|
||||
special_bonds lj 0 1 1
|
||||
|
||||
# oxRNA2 pair interactions
|
||||
pair_style hybrid/overlay oxrna2/excv oxrna2/stk oxrna2/hbond oxrna2/xstk oxrna2/coaxstk oxrna2/dh
|
||||
@ -50,6 +51,7 @@ timestep 1e-5
|
||||
|
||||
#comm_style tiled
|
||||
#fix 3 all balance 10000 1.1 rcb
|
||||
comm_modify cutoff 2.5
|
||||
|
||||
#compute mol all chunk/atom molecule
|
||||
#compute mychunk all vcm/chunk mol
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
17322
examples/gcmc/data.spce
Normal file
17322
examples/gcmc/data.spce
Normal file
File diff suppressed because it is too large
Load Diff
2019
examples/gcmc/data.widom.lj
Normal file
2019
examples/gcmc/data.widom.lj
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user