Compare commits
100 Commits
patch_27Oc
...
stable_29S
| Author | SHA1 | Date | |
|---|---|---|---|
| 6fd8b2b177 | |||
| 6edaf42b3d | |||
| 79c047487d | |||
| ac5acb9abf | |||
| 87fbbd3b13 | |||
| 8ac0ec6473 | |||
| 8acba74c4d | |||
| 34bcbdf41d | |||
| d519ca0213 | |||
| a392e8dc09 | |||
| a4d4f77bc2 | |||
| 83a8f72d83 | |||
| 3c54b56cfe | |||
| ff1a08f148 | |||
| 5a53b0fc03 | |||
| e550600ebe | |||
| 7cb13be52a | |||
| ab56d7ecd7 | |||
| bd6ac3ee6d | |||
| 27ca0a8f41 | |||
| f688b9b6b5 | |||
| 16c61b3cc0 | |||
| fb480f22fc | |||
| d0507559a4 | |||
| 58eb331b08 | |||
| c68015ca87 | |||
| 583c22d6e0 | |||
| 58a4694d92 | |||
| 97cf345528 | |||
| 0658abbdd4 | |||
| 72026a58bf | |||
| 7152231a10 | |||
| 8fe8a667b6 | |||
| 560c543e69 | |||
| c5e6650924 | |||
| 10373ea5c9 | |||
| 992b1cf582 | |||
| 1505f3de06 | |||
| 566efe04f2 | |||
| 7586adbb6a | |||
| 69d6ddccc5 | |||
| 5ae496dcef | |||
| bc5d742623 | |||
| 882e699163 | |||
| 9c725d79d6 | |||
| 79fbf437a3 | |||
| d130aa4289 | |||
| 5d8b83a251 | |||
| 5a2548a83d | |||
| a85b310e1f | |||
| e51fd40547 | |||
| 62f271658b | |||
| 0aa742934f | |||
| a26a709a7b | |||
| 027293d285 | |||
| f7d049ac2d | |||
| ea0ff1c8f7 | |||
| 5c1bb5f13a | |||
| 24d9b4b611 | |||
| a0e75c9006 | |||
| 2435b953e1 | |||
| c042e12323 | |||
| e9efe46db9 | |||
| ecc14b7308 | |||
| 0152fe5cdf | |||
| 892d17af22 | |||
| 2cca00203e | |||
| 9f4626a62a | |||
| e890a0b45e | |||
| 68223f0385 | |||
| 1291a88bff | |||
| d9b687450a | |||
| bd950b37d7 | |||
| 21fcdf8c56 | |||
| 6b400fb4bf | |||
| d982298ab2 | |||
| 765fd7f763 | |||
| 0325047c01 | |||
| 2dce8923ee | |||
| 8d1ba074be | |||
| 4675a3b560 | |||
| 8999b1f69f | |||
| 6c2b19c11b | |||
| a425334928 | |||
| db2faf2789 | |||
| fdbb7d0da4 | |||
| 52cd99918f | |||
| a3e6a95ffb | |||
| 5b65169997 | |||
| 5f3bf69e30 | |||
| 507c02b9af | |||
| b7fe47ba48 | |||
| 7dfd11da4b | |||
| 97ba95f30e | |||
| c1945b4ec9 | |||
| c4291a4b8e | |||
| 5b5dfa86c5 | |||
| 3ca3f6959f | |||
| f7b7bfa406 | |||
| 3d2f29c92d |
2
.github/CODEOWNERS
vendored
2
.github/CODEOWNERS
vendored
@ -83,7 +83,7 @@ src/library.* @sjplimp
|
||||
src/main.cpp @sjplimp
|
||||
src/min_*.* @sjplimp
|
||||
src/memory.* @sjplimp
|
||||
src/modify.* @sjplimp @stanmoore1
|
||||
src/modify.* @sjplimp
|
||||
src/molecule.* @sjplimp
|
||||
src/my_page.h @sjplimp
|
||||
src/my_pool_chunk.h @sjplimp
|
||||
|
||||
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@ -3,7 +3,7 @@ name: "CodeQL Code Analysis"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [develop]
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
|
||||
33
.github/workflows/compile-msvc.yml
vendored
33
.github/workflows/compile-msvc.yml
vendored
@ -1,33 +0,0 @@
|
||||
# GitHub action to build LAMMPS on Windows with Visual C++
|
||||
name: "Native Windows Compilation"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [develop]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Windows Compilation Test
|
||||
if: ${{ github.repository == 'lammps/lammps' }}
|
||||
runs-on: windows-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: Building LAMMPS via CMake
|
||||
shell: bash
|
||||
run: |
|
||||
cmake -C cmake/presets/windows.cmake \
|
||||
-S cmake -B build \
|
||||
-D BUILD_SHARED_LIBS=on \
|
||||
-D LAMMPS_EXCEPTIONS=on
|
||||
cmake --build build --config Release
|
||||
|
||||
- name: Run LAMMPS executable
|
||||
shell: bash
|
||||
run: |
|
||||
./build/Release/lmp.exe -h
|
||||
./build/Release/lmp.exe -in bench/in.lj
|
||||
2
.github/workflows/unittest-macos.yml
vendored
2
.github/workflows/unittest-macos.yml
vendored
@ -3,7 +3,7 @@ name: "Unittest for MacOS"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [develop]
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
7
.gitignore
vendored
7
.gitignore
vendored
@ -37,8 +37,8 @@ vgcore.*
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
.clang-format
|
||||
.lammps_history
|
||||
.vs
|
||||
|
||||
#cmake
|
||||
/build*
|
||||
@ -49,8 +49,3 @@ Thumbs.db
|
||||
/Testing
|
||||
/cmake_install.cmake
|
||||
/lmp
|
||||
out/Debug
|
||||
out/RelWithDebInfo
|
||||
out/Release
|
||||
out/x86
|
||||
out/x64
|
||||
|
||||
@ -81,40 +81,22 @@ check_for_autogen_files(${LAMMPS_SOURCE_DIR})
|
||||
include(CheckIncludeFileCXX)
|
||||
|
||||
# set required compiler flags and compiler/CPU arch specific optimizations
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Qrestrict")
|
||||
endif()
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
|
||||
set(CMAKE_TUNE_DEFAULT "/QxCOMMON-AVX512")
|
||||
else()
|
||||
set(CMAKE_TUNE_DEFAULT "/QxHost")
|
||||
endif()
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM"))
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
|
||||
set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
|
||||
set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512")
|
||||
else()
|
||||
set(CMAKE_TUNE_DEFAULT "-xHost")
|
||||
endif()
|
||||
set(CMAKE_TUNE_DEFAULT "-xHost")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# we require C++11 without extensions. Kokkos requires at least C++14 (currently)
|
||||
# we require C++11 without extensions
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
if(PKG_KOKKOS AND (CMAKE_CXX_STANDARD LESS 14))
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Use compiler extensions")
|
||||
# ugly hacks for MSVC which by default always reports an old C++ standard in the __cplusplus macro
|
||||
# and prints lots of pointless warnings about "unsafe" functions
|
||||
# ugly hack for MSVC which by default always reports an old C++ standard in the __cplusplus macro
|
||||
if(MSVC)
|
||||
add_compile_options(/Zc:__cplusplus)
|
||||
add_compile_options(/wd4244)
|
||||
add_compile_options(/wd4267)
|
||||
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
|
||||
endif()
|
||||
|
||||
# export all symbols when building a .dll file on windows
|
||||
@ -299,11 +281,6 @@ else()
|
||||
target_include_directories(mpi_stubs PUBLIC $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}/STUBS>)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
target_link_libraries(lammps PRIVATE mpi_stubs)
|
||||
if(MSVC)
|
||||
target_link_libraries(lmp PRIVATE mpi_stubs)
|
||||
target_include_directories(lmp INTERFACE $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}/STUBS>)
|
||||
target_compile_definitions(lmp INTERFACE $<INSTALL_INTERFACE:LAMMPS_LIB_NO_MPI>)
|
||||
endif(MSVC)
|
||||
target_include_directories(lammps INTERFACE $<BUILD_INTERFACE:${LAMMPS_SOURCE_DIR}/STUBS>)
|
||||
target_compile_definitions(lammps INTERFACE $<INSTALL_INTERFACE:LAMMPS_LIB_NO_MPI>)
|
||||
else()
|
||||
@ -491,12 +468,9 @@ foreach(HEADER cmath)
|
||||
endif(NOT FOUND_${HEADER})
|
||||
endforeach(HEADER)
|
||||
|
||||
# make the standard math library overrideable and autodetected (for systems that don't have it)
|
||||
find_library(STANDARD_MATH_LIB m DOC "Standard Math library")
|
||||
mark_as_advanced(STANDARD_MATH_LIB)
|
||||
if(STANDARD_MATH_LIB)
|
||||
target_link_libraries(lammps PRIVATE ${STANDARD_MATH_LIB})
|
||||
endif()
|
||||
set(MATH_LIBRARIES "m" CACHE STRING "math library")
|
||||
mark_as_advanced( MATH_LIBRARIES )
|
||||
target_link_libraries(lammps PRIVATE ${MATH_LIBRARIES})
|
||||
|
||||
######################################
|
||||
# Generate Basic Style files
|
||||
@ -617,12 +591,15 @@ foreach(PKG_WITH_INCL CORESHELL QEQ OPENMP DPD-SMOOTH KOKKOS OPT INTEL GPU)
|
||||
endforeach()
|
||||
|
||||
if(PKG_PLUGIN)
|
||||
target_compile_definitions(lammps PRIVATE -DLMP_PLUGIN)
|
||||
endif()
|
||||
|
||||
# link with -ldl or equivalent for plugin loading; except on Windows
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
target_link_libraries(lammps PRIVATE ${CMAKE_DL_LIBS})
|
||||
if(BUILD_SHARED_LIBS)
|
||||
target_compile_definitions(lammps PRIVATE -DLMP_PLUGIN)
|
||||
else()
|
||||
message(WARNING "Plugin loading will not work unless BUILD_SHARED_LIBS is enabled")
|
||||
endif()
|
||||
# link with -ldl or equivalent for plugin loading; except on Windows
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
target_link_libraries(lammps PRIVATE ${CMAKE_DL_LIBS})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
######################################################################
|
||||
@ -631,7 +608,7 @@ endif()
|
||||
# and after everything else that is compiled locally
|
||||
######################################################################
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
target_link_libraries(lammps PRIVATE "wsock32;psapi")
|
||||
target_link_libraries(lammps PRIVATE -lwsock32 -lpsapi)
|
||||
endif()
|
||||
|
||||
######################################################
|
||||
|
||||
@ -1,55 +0,0 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "x64-Debug-MSVC",
|
||||
"generator": "Ninja",
|
||||
"configurationType": "Debug",
|
||||
"buildRoot": "${workspaceRoot}\\build\\${name}",
|
||||
"installRoot": "${workspaceRoot}\\install\\${name}",
|
||||
"cmakeCommandArgs": "-S ${workspaceRoot}\\cmake -C ${workspaceRoot}\\cmake\\presets\\windows.cmake",
|
||||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"inheritEnvironments": [ "msvc_x64_x64" ],
|
||||
"variables": [
|
||||
{
|
||||
"name": "BUILD_SHARED_LIBS",
|
||||
"value": "True",
|
||||
"type": "BOOL"
|
||||
},
|
||||
{
|
||||
"name": "BUILD_TOOLS",
|
||||
"value": "True",
|
||||
"type": "BOOL"
|
||||
},
|
||||
{
|
||||
"name": "LAMMPS_EXCEPTIONS",
|
||||
"value": "True",
|
||||
"type": "BOOL"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "x64-Debug-Clang",
|
||||
"generator": "Ninja",
|
||||
"configurationType": "Debug",
|
||||
"buildRoot": "${workspaceRoot}\\build\\${name}",
|
||||
"installRoot": "${workspaceRoot}\\install\\${name}",
|
||||
"cmakeCommandArgs": "-S ${workspaceRoot}\\cmake -C ${workspaceRoot}\\cmake\\presets\\windows.cmake",
|
||||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"inheritEnvironments": [ "clang_cl_x64" ],
|
||||
"variables": [
|
||||
{
|
||||
"name": "BUILD_TOOLS",
|
||||
"value": "True",
|
||||
"type": "BOOL"
|
||||
},
|
||||
{
|
||||
"name": "LAMMPS_EXCEPTIONS",
|
||||
"value": "True",
|
||||
"type": "BOOL"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -7,8 +7,8 @@ else()
|
||||
endif()
|
||||
|
||||
include(ExternalProject)
|
||||
set(GTEST_URL "https://github.com/google/googletest/archive/release-1.11.0.tar.gz" CACHE STRING "URL of googletest source")
|
||||
set(GTEST_MD5 "e8a8df240b6938bb6384155d4c37d937" CACHE STRING "MD5 sum for googletest source")
|
||||
set(GTEST_URL "https://github.com/google/googletest/archive/release-1.10.0.tar.gz" CACHE STRING "URL for GTest tarball")
|
||||
set(GTEST_MD5 "ecd1fa65e7de707cd5c00bdac56022cd" CACHE STRING "MD5 checksum of GTest tarball")
|
||||
mark_as_advanced(GTEST_URL)
|
||||
mark_as_advanced(GTEST_MD5)
|
||||
ExternalProject_Add(googletest
|
||||
|
||||
@ -25,7 +25,7 @@ function(validate_option name values)
|
||||
endfunction(validate_option)
|
||||
|
||||
function(get_lammps_version version_header variable)
|
||||
file(READ ${version_header} line)
|
||||
file(STRINGS ${version_header} line REGEX LAMMPS_VERSION)
|
||||
set(MONTHS x Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
|
||||
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\1" day "${line}")
|
||||
string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\2" month "${line}")
|
||||
@ -85,7 +85,7 @@ endfunction(GenerateBinaryHeader)
|
||||
|
||||
# fetch missing potential files
|
||||
function(FetchPotentials pkgfolder potfolder)
|
||||
if(EXISTS "${pkgfolder}/potentials.txt")
|
||||
if (EXISTS "${pkgfolder}/potentials.txt")
|
||||
file(STRINGS "${pkgfolder}/potentials.txt" linelist REGEX "^[^#].")
|
||||
foreach(line ${linelist})
|
||||
string(FIND ${line} " " blank)
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
find_package(ZLIB REQUIRED)
|
||||
target_link_libraries(lammps PRIVATE ZLIB::ZLIB)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(Zstd IMPORTED_TARGET libzstd>=1.4)
|
||||
|
||||
if(Zstd_FOUND)
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PkgConfig_FOUND)
|
||||
pkg_check_modules(Zstd IMPORTED_TARGET libzstd>=1.4)
|
||||
if(Zstd_FOUND)
|
||||
target_compile_definitions(lammps PRIVATE -DLAMMPS_ZSTD)
|
||||
target_link_libraries(lammps PRIVATE PkgConfig::Zstd)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -30,7 +30,15 @@ file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/[^.]*.cpp)
|
||||
file(MAKE_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/gpu)
|
||||
|
||||
if(GPU_API STREQUAL "CUDA")
|
||||
find_package(CUDA REQUIRED)
|
||||
find_package(CUDA QUIET)
|
||||
# augment search path for CUDA toolkit libraries to include the stub versions. Needed to find libcuda.so on machines without a CUDA driver installation
|
||||
if(CUDA_FOUND)
|
||||
set(CMAKE_LIBRARY_PATH "${CUDA_TOOLKIT_ROOT_DIR}/lib64/stubs;${CUDA_TOOLKIT_ROOT_DIR}/lib/stubs;${CUDA_TOOLKIT_ROOT_DIR}/lib64;${CUDA_TOOLKIT_ROOT_DIR}/lib;${CMAKE_LIBRARY_PATH}")
|
||||
find_package(CUDA REQUIRED)
|
||||
else()
|
||||
message(FATAL_ERROR "CUDA Toolkit not found")
|
||||
endif()
|
||||
|
||||
find_program(BIN2C bin2c)
|
||||
if(NOT BIN2C)
|
||||
message(FATAL_ERROR "Could not find bin2c, use -DBIN2C=/path/to/bin2c to help cmake finding it.")
|
||||
@ -306,12 +314,12 @@ elseif(GPU_API STREQUAL "HIP")
|
||||
|
||||
if(HIP_COMPILER STREQUAL "clang")
|
||||
add_custom_command(OUTPUT ${CUBIN_FILE}
|
||||
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --genco --offload-arch=${HIP_ARCH} -O3 -ffast-math -DUSE_HIP -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} -I${LAMMPS_LIB_SOURCE_DIR}/gpu -o ${CUBIN_FILE} ${CU_CPP_FILE}
|
||||
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --genco --offload-arch=${HIP_ARCH} -O3 -DUSE_HIP -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} -I${LAMMPS_LIB_SOURCE_DIR}/gpu -o ${CUBIN_FILE} ${CU_CPP_FILE}
|
||||
DEPENDS ${CU_CPP_FILE}
|
||||
COMMENT "Generating ${CU_NAME}.cubin")
|
||||
else()
|
||||
add_custom_command(OUTPUT ${CUBIN_FILE}
|
||||
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --genco -t="${HIP_ARCH}" -f=\"-O3 -ffast-math -DUSE_HIP -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} -I${LAMMPS_LIB_SOURCE_DIR}/gpu\" -o ${CUBIN_FILE} ${CU_CPP_FILE}
|
||||
VERBATIM COMMAND ${HIP_HIPCC_EXECUTABLE} --genco -t="${HIP_ARCH}" -f=\"-O3 -DUSE_HIP -D_${GPU_PREC_SETTING} -DLAMMPS_${LAMMPS_SIZES} -I${LAMMPS_LIB_SOURCE_DIR}/gpu\" -o ${CUBIN_FILE} ${CU_CPP_FILE}
|
||||
DEPENDS ${CU_CPP_FILE}
|
||||
COMMENT "Generating ${CU_NAME}.cubin")
|
||||
endif()
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
########################################################################
|
||||
# As of version 3.3.0 Kokkos requires C++14
|
||||
if(CMAKE_CXX_STANDARD LESS 14)
|
||||
message(FATAL_ERROR "The KOKKOS package requires the C++ standard to be set to at least C++14")
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
endif()
|
||||
########################################################################
|
||||
# consistency checks and Kokkos options/settings required by LAMMPS
|
||||
|
||||
@ -8,7 +8,7 @@ option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed on
|
||||
if(DOWNLOAD_EIGEN3)
|
||||
message(STATUS "Eigen3 download requested - we will build our own")
|
||||
|
||||
set(EIGEN3_URL "${LAMMPS_THIRDPARTY_URL}/eigen-3.4.0.tar.gz" CACHE STRING "URL for Eigen3 tarball")
|
||||
set(EIGEN3_URL "https://download.lammps.org/thirdparty/eigen-3.4.0.tar.gz" CACHE STRING "URL for Eigen3 tarball")
|
||||
set(EIGEN3_MD5 "4c527a9171d71a72a9d4186e65bea559" CACHE STRING "MD5 checksum of Eigen3 tarball")
|
||||
mark_as_advanced(EIGEN3_URL)
|
||||
mark_as_advanced(EIGEN3_MD5)
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.10.25.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
|
||||
|
||||
set(PACELIB_MD5 "a2ac3315c41a1a4a5c912bcb1bc9c5cc" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
|
||||
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2021.4.9.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
|
||||
set(PACELIB_MD5 "4db54962fbd6adcf8c18d46e1798ceb5" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
|
||||
mark_as_advanced(PACELIB_URL)
|
||||
mark_as_advanced(PACELIB_MD5)
|
||||
|
||||
# download library sources to build folder
|
||||
file(DOWNLOAD ${PACELIB_URL} ${CMAKE_BINARY_DIR}/libpace.tar.gz EXPECTED_HASH MD5=${PACELIB_MD5}) #SHOW_PROGRESS
|
||||
file(DOWNLOAD ${PACELIB_URL} ${CMAKE_BINARY_DIR}/libpace.tar.gz SHOW_PROGRESS EXPECTED_HASH MD5=${PACELIB_MD5})
|
||||
|
||||
# uncompress downloaded sources
|
||||
execute_process(
|
||||
@ -14,19 +14,12 @@ execute_process(
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
file(GLOB lib-pace ${CMAKE_BINARY_DIR}/lammps-user-pace-*)
|
||||
add_subdirectory(${lib-pace}/yaml-cpp build-yaml-cpp)
|
||||
set(YAML_CPP_INCLUDE_DIR ${lib-pace}/yaml-cpp/include)
|
||||
|
||||
file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${lib-pace}/ML-PACE)
|
||||
file(GLOB PACE_EVALUATOR_SOURCES ${lib-pace}/ML-PACE/*.cpp)
|
||||
file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE)
|
||||
file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE/*.cpp)
|
||||
list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp)
|
||||
|
||||
add_library(pace STATIC ${PACE_EVALUATOR_SOURCES})
|
||||
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
|
||||
target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR} ${YAML_CPP_INCLUDE_DIR})
|
||||
|
||||
|
||||
target_link_libraries(pace PRIVATE yaml-cpp-pace)
|
||||
|
||||
target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR})
|
||||
target_link_libraries(lammps PRIVATE pace)
|
||||
|
||||
|
||||
@ -32,7 +32,8 @@ if(DOWNLOAD_QUIP)
|
||||
foreach(flag ${LAPACK_LIBRARIES})
|
||||
set(temp "${temp} ${flag}")
|
||||
endforeach()
|
||||
set(temp "${temp}\n")
|
||||
# Fix cmake crashing when MATH_LINKOPTS not set, required for e.g. recent Cray Programming Environment
|
||||
set(temp "${temp} -L/_DUMMY_PATH_\n")
|
||||
set(temp "${temp}PYTHON=python\nPIP=pip\nEXTRA_LINKOPTS=\n")
|
||||
set(temp "${temp}HAVE_CP2K=0\nHAVE_VASP=0\nHAVE_TB=0\nHAVE_PRECON=1\nHAVE_LOTF=0\nHAVE_ONIOM=0\n")
|
||||
set(temp "${temp}HAVE_LOCAL_E_MIX=0\nHAVE_QC=0\nHAVE_GAP=1\nHAVE_DESCRIPTORS_NONCOMMERCIAL=1\n")
|
||||
@ -50,6 +51,7 @@ if(DOWNLOAD_QUIP)
|
||||
GIT_TAG origin/public
|
||||
GIT_SHALLOW YES
|
||||
GIT_PROGRESS YES
|
||||
GIT_SUBMODULES "src/fox;src/GAP"
|
||||
PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/quip.config <SOURCE_DIR>/arch/Makefile.lammps
|
||||
CONFIGURE_COMMAND env QUIP_ARCH=lammps make config
|
||||
BUILD_COMMAND env QUIP_ARCH=lammps make libquip
|
||||
|
||||
@ -54,8 +54,8 @@ if(DOWNLOAD_PLUMED)
|
||||
set(PLUMED_BUILD_BYPRODUCTS "<INSTALL_DIR>/lib/libplumedWrapper.a")
|
||||
endif()
|
||||
|
||||
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.2/plumed-src-2.7.2.tgz" CACHE STRING "URL for PLUMED tarball")
|
||||
set(PLUMED_MD5 "cfa0b4dd90a81c25d3302e8d97bfeaea" CACHE STRING "MD5 checksum of PLUMED tarball")
|
||||
set(PLUMED_URL "https://github.com/plumed/plumed2/releases/download/v2.7.4/plumed-src-2.7.4.tgz" CACHE STRING "URL for PLUMED tarball")
|
||||
set(PLUMED_MD5 "858e0b6aed173748fc85b6bc8a9dcb3e" CACHE STRING "MD5 checksum of PLUMED tarball")
|
||||
|
||||
mark_as_advanced(PLUMED_URL)
|
||||
mark_as_advanced(PLUMED_MD5)
|
||||
|
||||
@ -25,9 +25,7 @@ if(BUILD_TOOLS)
|
||||
get_filename_component(MSI2LMP_SOURCE_DIR ${LAMMPS_TOOLS_DIR}/msi2lmp/src ABSOLUTE)
|
||||
file(GLOB MSI2LMP_SOURCES ${MSI2LMP_SOURCE_DIR}/[^.]*.c)
|
||||
add_executable(msi2lmp ${MSI2LMP_SOURCES})
|
||||
if(STANDARD_MATH_LIB)
|
||||
target_link_libraries(msi2lmp PRIVATE ${STANDARD_MATH_LIB})
|
||||
endif()
|
||||
target_link_libraries(msi2lmp PRIVATE ${MATH_LIBRARIES})
|
||||
install(TARGETS msi2lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install(FILES ${LAMMPS_DOC_DIR}/msi2lmp.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
|
||||
endif()
|
||||
|
||||
@ -48,7 +48,6 @@ set(ALL_PACKAGES
|
||||
PHONON
|
||||
PLUGIN
|
||||
POEMS
|
||||
PYTHON
|
||||
QEQ
|
||||
REACTION
|
||||
REAXFF
|
||||
|
||||
@ -1,64 +0,0 @@
|
||||
set(WIN_PACKAGES
|
||||
ASPHERE
|
||||
BOCS
|
||||
BODY
|
||||
BROWNIAN
|
||||
CG-DNA
|
||||
CG-SDK
|
||||
CLASS2
|
||||
COLLOID
|
||||
COLVARS
|
||||
CORESHELL
|
||||
DIELECTRIC
|
||||
DIFFRACTION
|
||||
DIPOLE
|
||||
DPD-BASIC
|
||||
DPD-MESO
|
||||
DPD-REACT
|
||||
DPD-SMOOTH
|
||||
DRUDE
|
||||
EFF
|
||||
EXTRA-COMPUTE
|
||||
EXTRA-DUMP
|
||||
EXTRA-FIX
|
||||
EXTRA-MOLECULE
|
||||
EXTRA-PAIR
|
||||
FEP
|
||||
GRANULAR
|
||||
INTERLAYER
|
||||
KSPACE
|
||||
MANIFOLD
|
||||
MANYBODY
|
||||
MC
|
||||
MEAM
|
||||
MISC
|
||||
ML-IAP
|
||||
ML-SNAP
|
||||
MOFFF
|
||||
MOLECULE
|
||||
MOLFILE
|
||||
OPENMP
|
||||
ORIENT
|
||||
PERI
|
||||
PHONON
|
||||
POEMS
|
||||
PTM
|
||||
QEQ
|
||||
QTB
|
||||
REACTION
|
||||
REAXFF
|
||||
REPLICA
|
||||
RIGID
|
||||
SHOCK
|
||||
SMTBQ
|
||||
SPH
|
||||
SPIN
|
||||
SRD
|
||||
TALLY
|
||||
UEF
|
||||
YAFF)
|
||||
|
||||
foreach(PKG ${WIN_PACKAGES})
|
||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||
endforeach()
|
||||
|
||||
@ -230,7 +230,7 @@ $(VENV):
|
||||
)
|
||||
|
||||
$(MATHJAX):
|
||||
@git clone -b 3.2.0 -c advice.detachedHead=0 --depth 1 git://github.com/mathjax/MathJax.git $@
|
||||
@git clone -b 3.2.0 -c advice.detachedHead=0 --depth 1 https://github.com/mathjax/MathJax.git $@
|
||||
|
||||
$(ANCHORCHECK): $(VENV)
|
||||
@( \
|
||||
|
||||
@ -435,8 +435,6 @@ INPUT = @LAMMPS_SOURCE_DIR@/utils.cpp \
|
||||
@LAMMPS_SOURCE_DIR@/my_pool_chunk.cpp \
|
||||
@LAMMPS_SOURCE_DIR@/my_pool_chunk.h \
|
||||
@LAMMPS_SOURCE_DIR@/math_eigen.h \
|
||||
@LAMMPS_SOURCE_DIR@/platform.h \
|
||||
@LAMMPS_SOURCE_DIR@/platform.cpp \
|
||||
|
||||
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
|
||||
# directories that are symbolic links (a Unix file system feature) are excluded
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
.TH LAMMPS "1" "27 October 2021" "2021-10-27"
|
||||
.TH LAMMPS "29 September 2021" "2021-09-29"
|
||||
.SH NAME
|
||||
.B LAMMPS
|
||||
\- Molecular Dynamics Simulator.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
.TH MSI2LMP "1" "v3.9.9" "2018-11-05"
|
||||
.TH MSI2LMP "v3.9.9" "2018-11-05"
|
||||
.SH NAME
|
||||
.B MSI2LMP
|
||||
\- Converter for Materials Studio files to LAMMPS
|
||||
|
||||
@ -321,7 +321,9 @@ following settings:
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_JPEG -DLAMMPS_PNG -DLAMMPS_FFMPEG <other LMP_INC settings>
|
||||
LMP_INC = -DLAMMPS_JPEG
|
||||
LMP_INC = -DLAMMPS_PNG
|
||||
LMP_INC = -DLAMMPS_FFMPEG
|
||||
|
||||
JPG_INC = -I/usr/local/include # path to jpeglib.h, png.h, zlib.h header files if make cannot find them
|
||||
JPG_PATH = -L/usr/lib # paths to libjpeg.a, libpng.a, libz.a (.so) files if make cannot find them
|
||||
@ -352,10 +354,8 @@ Read or write compressed files
|
||||
-----------------------------------------
|
||||
|
||||
If this option is enabled, large files can be read or written with
|
||||
compression by ``gzip`` or similar tools by several LAMMPS commands,
|
||||
including :doc:`read_data <read_data>`, :doc:`rerun <rerun>`, and
|
||||
:doc:`dump <dump>`. Currently supported compression tools are:
|
||||
``gzip``, ``bzip2``, ``zstd``, and ``lzma``.
|
||||
gzip compression by several LAMMPS commands, including
|
||||
:doc:`read_data <read_data>`, :doc:`rerun <rerun>`, and :doc:`dump <dump>`.
|
||||
|
||||
.. tabs::
|
||||
|
||||
@ -364,23 +364,23 @@ including :doc:`read_data <read_data>`, :doc:`rerun <rerun>`, and
|
||||
.. code-block:: bash
|
||||
|
||||
-D WITH_GZIP=value # yes or no
|
||||
# default is yes if CMake can find the gzip program, else no
|
||||
# default is yes if CMake can find gzip, else no
|
||||
-D GZIP_EXECUTABLE=path # path to gzip executable if CMake cannot find it
|
||||
|
||||
.. tab:: Traditional make
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_GZIP <other LMP_INC settings>
|
||||
LMP_INC = -DLAMMPS_GZIP
|
||||
|
||||
This option requires that your operating system fully supports the
|
||||
"popen()" function in the standard runtime library and that a ``gzip``
|
||||
or other executable can be found by LAMMPS in the standard search path
|
||||
during a run.
|
||||
This option requires that your operating system fully supports the "popen()"
|
||||
function in the standard runtime library and that a ``gzip`` executable can be
|
||||
found by LAMMPS during a run.
|
||||
|
||||
.. note::
|
||||
|
||||
On clusters with high-speed networks, using the "fork()" library call
|
||||
(required by "popen()") can interfere with the fast communication
|
||||
On some clusters with high-speed networks, using the "fork()" library
|
||||
call (required by "popen()") can interfere with the fast communication
|
||||
library and lead to simulations using compressed output or input to
|
||||
hang or crash. For selected operations, compressed file I/O is also
|
||||
available using a compression library instead, which is what the
|
||||
@ -452,7 +452,7 @@ those systems:
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_LONGLONG_TO_LONG <other LMP_INC settings>
|
||||
LMP_INC = -DLAMMPS_LONGLONG_TO_LONG
|
||||
|
||||
----------
|
||||
|
||||
@ -479,7 +479,7 @@ e.g. to Python. Of course, the calling code has to be set up to
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_EXCEPTIONS <other LMP_INC settings>
|
||||
LMP_INC = -DLAMMPS_EXCEPTIONS
|
||||
|
||||
.. note::
|
||||
|
||||
@ -520,7 +520,7 @@ executable, not the library.
|
||||
|
||||
.. code-block:: make
|
||||
|
||||
LMP_INC = -DLAMMPS_TRAP_FPE <other LMP_INC settings>
|
||||
LMP_INC = -DLAMMPS_TRAP_FPE
|
||||
|
||||
After compilation with this flag set, the LAMMPS executable will stop
|
||||
and produce a core dump when a division by zero, overflow, illegal math
|
||||
|
||||
@ -4,7 +4,6 @@ Notes for building LAMMPS on Windows
|
||||
* :ref:`General remarks <generic>`
|
||||
* :ref:`Running Linux on Windows <linux>`
|
||||
* :ref:`Using GNU GCC ported to Windows <gnu>`
|
||||
* :ref:`Using Visual Studio <msvc>`
|
||||
* :ref:`Using a cross-compiler <cross>`
|
||||
|
||||
----------
|
||||
@ -32,13 +31,13 @@ pre-compiled Windows binary packages are sufficient for your needs. If
|
||||
it is necessary for you to compile LAMMPS on a Windows machine
|
||||
(e.g. because it is your main desktop), please also consider using a
|
||||
virtual machine software and compile and run LAMMPS in a Linux virtual
|
||||
machine, or - if you have a sufficiently up-to-date Windows 10 or
|
||||
Windows 11 installation - consider using the Windows subsystem for
|
||||
Linux. This optional Windows feature allows you to run the bash shell
|
||||
from Ubuntu from within Windows and from there on, you can pretty much
|
||||
use that shell like you are running on an Ubuntu Linux machine
|
||||
(e.g. installing software via apt-get and more). For more details on
|
||||
that, please see :doc:`this tutorial <Howto_wsl>`.
|
||||
machine, or - if you have a sufficiently up-to-date Windows 10
|
||||
installation - consider using the Windows subsystem for Linux. This
|
||||
optional Windows feature allows you to run the bash shell from Ubuntu
|
||||
from within Windows and from there on, you can pretty much use that
|
||||
shell like you are running on an Ubuntu Linux machine (e.g. installing
|
||||
software via apt-get and more). For more details on that, please see
|
||||
:doc:`this tutorial <Howto_wsl>`.
|
||||
|
||||
.. _gnu:
|
||||
|
||||
@ -68,35 +67,6 @@ requiring changes to the LAMMPS source code, or figure out corrections
|
||||
yourself, please report them on the lammps-users mailing list, or file
|
||||
them as an issue or pull request on the LAMMPS GitHub project.
|
||||
|
||||
.. _msvc:
|
||||
|
||||
Using Microsoft Visual Studio
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Following the integration of the :doc:`platform namespace
|
||||
<Developer_platform>` into the LAMMPS code base, portability of LAMMPS
|
||||
to be compiled on Windows using Visual Studio has been significantly
|
||||
improved. This has been tested with Visual Studio 2019 (aka version
|
||||
16). Not all features and packages in LAMMPS are currently supported
|
||||
out of the box, but a preset ``cmake/presets/windows.cmake`` is provided
|
||||
that contains the packages that have been compiled successfully. You
|
||||
must use the CMake based build procedure, and either use the integrated
|
||||
CMake support of Visual Studio or use an external CMake installation to
|
||||
create build files for the Visual Studio build system. Please note that
|
||||
on launching Visual Studio it will scan the directory tree and likely
|
||||
miss the correct master ``CMakeLists.txt``. Try to open the
|
||||
``cmake/CMakeSettings.json`` and use those CMake configurations as a
|
||||
starting point. It is also possible to configure and compile LAMMPS
|
||||
from the command line with a CMake binary from `cmake.org <https://cmake.org>`_.
|
||||
|
||||
To support running in parallel you can compile with OpenMP enabled using
|
||||
the OPENMP package or install Microsoft MPI (including the SDK) and compile
|
||||
LAMMPS with MPI enabled.
|
||||
|
||||
This is work in progress and you should contact the LAMMPS developers
|
||||
via GitHub, the forum, or the mailing list, if you have questions or
|
||||
LAMMPS specific problems.
|
||||
|
||||
.. _cross:
|
||||
|
||||
Using a cross-compiler
|
||||
|
||||
@ -23,7 +23,6 @@ OPT.
|
||||
:columns: 5
|
||||
|
||||
* :doc:`accelerate/cos <fix_accelerate_cos>`
|
||||
* :doc:`acks2/reaxff (k) <fix_acks2_reaxff>`
|
||||
* :doc:`adapt <fix_adapt>`
|
||||
* :doc:`adapt/fep <fix_adapt_fep>`
|
||||
* :doc:`addforce <fix_addforce>`
|
||||
@ -104,7 +103,6 @@ OPT.
|
||||
* :doc:`manifoldforce <fix_manifoldforce>`
|
||||
* :doc:`mdi/engine <fix_mdi_engine>`
|
||||
* :doc:`meso/move <fix_meso_move>`
|
||||
* :doc:`mol/swap <fix_mol_swap>`
|
||||
* :doc:`momentum (k) <fix_momentum>`
|
||||
* :doc:`momentum/chunk <fix_momentum>`
|
||||
* :doc:`move <fix_move>`
|
||||
|
||||
@ -18,5 +18,4 @@ of time and requests from the LAMMPS user community.
|
||||
Developer_plugins
|
||||
Developer_unittest
|
||||
Classes
|
||||
Developer_platform
|
||||
Developer_utils
|
||||
|
||||
@ -1,152 +0,0 @@
|
||||
Platform abstraction functions
|
||||
------------------------------
|
||||
|
||||
The ``platform`` sub-namespace inside the ``LAMMPS_NS`` namespace
|
||||
provides a collection of wrapper and convenience functions and utilities
|
||||
that perform common tasks for which platform specific code would be
|
||||
required or for which a more high-level abstraction would be convenient
|
||||
and reduce duplicated code. This reduces redundant implementations and
|
||||
encourages consistent behavior and thus has some overlap with the
|
||||
:doc:`"utils" sub-namespace <Developer_utils>`.
|
||||
|
||||
Time functions
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
.. doxygenfunction:: cputime
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: walltime
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: usleep
|
||||
:project: progguide
|
||||
|
||||
Platform information functions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. doxygenfunction:: os_info
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: compiler_info
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: cxx_standard
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: openmp_standard
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: mpi_vendor
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: mpi_info
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: compress_info
|
||||
:project: progguide
|
||||
|
||||
|
||||
File and path functions and global constants
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. doxygenvariable:: filepathsep
|
||||
:project: progguide
|
||||
|
||||
.. doxygenvariable:: pathvarsep
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: guesspath
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: path_basename
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: path_join
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: file_is_readable
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: is_console
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: path_is_directory
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: current_directory
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: list_directory
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: chdir
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: mkdir
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: rmdir
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: unlink
|
||||
:project: progguide
|
||||
|
||||
Standard I/O function wrappers
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. doxygenvariable:: END_OF_FILE
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: ftell
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: fseek
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: ftruncate
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: popen
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: pclose
|
||||
:project: progguide
|
||||
|
||||
Environment variable functions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. doxygenfunction:: putenv
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: list_pathenv
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: find_exe_path
|
||||
:project: progguide
|
||||
|
||||
Dynamically loaded object or library functions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. doxygenfunction:: dlopen
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: dlclose
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: dlsym
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: dlerror
|
||||
:project: progguide
|
||||
|
||||
Compressed file I/O functions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. doxygenfunction:: has_compress_extension
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: compressed_read
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: compressed_write
|
||||
:project: progguide
|
||||
@ -7,9 +7,7 @@ a collection of convenience functions and utilities that perform common
|
||||
tasks that are required repeatedly throughout the LAMMPS code like
|
||||
reading or writing to files with error checking or translation of
|
||||
strings into specific types of numbers with checking for validity. This
|
||||
reduces redundant implementations and encourages consistent behavior and
|
||||
thus has some overlap with the :doc:`"platform" sub-namespace
|
||||
<Developer_platform>`.
|
||||
reduces redundant implementations and encourages consistent behavior.
|
||||
|
||||
I/O with status check and similar functions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -62,9 +60,6 @@ silently returning the result of a partial conversion or zero in cases
|
||||
where the string is not a valid number. This behavior allows to more
|
||||
easily detect typos or issues when processing input files.
|
||||
|
||||
Similarly the :cpp:func:`logical() <LAMMPS_NS::utils::logical>` function
|
||||
will convert a string into a boolean and will only accept certain words.
|
||||
|
||||
The *do_abort* flag should be set to ``true`` in case this function
|
||||
is called only on a single MPI rank, as that will then trigger the
|
||||
a call to ``Error::one()`` for errors instead of ``Error::all()``
|
||||
@ -88,9 +83,6 @@ strings for compliance without conversion.
|
||||
.. doxygenfunction:: tnumeric
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: logical
|
||||
:project: progguide
|
||||
|
||||
|
||||
String processing
|
||||
^^^^^^^^^^^^^^^^^
|
||||
@ -103,12 +95,6 @@ and parsing files or arguments.
|
||||
.. doxygenfunction:: strdup
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: lowercase
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: uppercase
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: trim
|
||||
:project: progguide
|
||||
|
||||
@ -151,6 +137,21 @@ and parsing files or arguments.
|
||||
.. doxygenfunction:: is_double
|
||||
:project: progguide
|
||||
|
||||
File and path functions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. doxygenfunction:: guesspath
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: path_basename
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: path_join
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: file_is_readable
|
||||
:project: progguide
|
||||
|
||||
Potential file functions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
||||
@ -29,9 +29,7 @@ of code in the header before include guards:
|
||||
.. code-block:: c
|
||||
|
||||
#ifdef FIX_CLASS
|
||||
// clang-format off
|
||||
FixStyle(print/vel,FixPrintVel);
|
||||
// clang-format on
|
||||
FixStyle(print/vel,FixPrintVel)
|
||||
#else
|
||||
/* the definition of the FixPrintVel class comes here */
|
||||
...
|
||||
@ -55,7 +53,7 @@ of each timestep. First of all, implement a constructor:
|
||||
if (narg < 4)
|
||||
error->all(FLERR,"Illegal fix print/vel command");
|
||||
|
||||
nevery = force->inumeric(FLERR,arg[3]);
|
||||
nevery = utils::inumeric(FLERR,arg[3],false,lmp);
|
||||
if (nevery <= 0)
|
||||
error->all(FLERR,"Illegal fix print/vel command");
|
||||
}
|
||||
|
||||
@ -80,7 +80,7 @@ Lowercase directories
|
||||
+-------------+------------------------------------------------------------------+
|
||||
| friction | frictional contact of spherical asperities between 2d surfaces |
|
||||
+-------------+------------------------------------------------------------------+
|
||||
| mc | Monte Carlo features via fix gcmc, widom and other commands |
|
||||
| gcmc | Grand Canonical Monte Carlo (GCMC) via the fix gcmc command |
|
||||
+-------------+------------------------------------------------------------------+
|
||||
| granregion | use of fix wall/region/gran as boundary on granular particles |
|
||||
+-------------+------------------------------------------------------------------+
|
||||
@ -205,7 +205,7 @@ Uppercase directories
|
||||
+------------+--------------------------------------------------------------------------------------------------+
|
||||
| KAPPA | compute thermal conductivity via several methods |
|
||||
+------------+--------------------------------------------------------------------------------------------------+
|
||||
| MC-LOOP | using LAMMPS in a Monte Carlo mode to relax the energy of a system in a input script loop |
|
||||
| MC | using LAMMPS in a Monte Carlo mode to relax the energy of a system |
|
||||
+------------+--------------------------------------------------------------------------------------------------+
|
||||
| PACKAGES | examples for specific packages and contributed commands |
|
||||
+------------+--------------------------------------------------------------------------------------------------+
|
||||
|
||||
@ -141,7 +141,8 @@ unrelated feature, you should switch branches!
|
||||
Committing changes to the *develop*, *release*, or *stable* branches
|
||||
is strongly discouraged. While it may be convenient initially, it
|
||||
will create more work in the long run. Various texts and tutorials
|
||||
on using git effectively discuss the motivation for this.
|
||||
on using git effectively discuss the motivation for using feature
|
||||
branches instead.
|
||||
|
||||
**After changes are made**
|
||||
|
||||
|
||||
@ -2,8 +2,8 @@ Thermostats
|
||||
===========
|
||||
|
||||
Thermostatting means controlling the temperature of particles in an MD
|
||||
simulation. :doc:`Barostatting <Howto_barostat>` means controlling
|
||||
the pressure. Since the pressure includes a kinetic component due to
|
||||
simulation. :doc:`Barostatting <Howto_barostat>` means controlling the
|
||||
pressure. Since the pressure includes a kinetic component due to
|
||||
particle velocities, both these operations require calculation of the
|
||||
temperature. Typically a target temperature (T) and/or pressure (P)
|
||||
is specified by the user, and the thermostat or barostat attempts to
|
||||
@ -26,13 +26,11 @@ can be invoked via the *dpd/tstat* pair style:
|
||||
* :doc:`pair_style dpd/tstat <pair_dpd>`
|
||||
|
||||
:doc:`Fix nvt <fix_nh>` only thermostats the translational velocity of
|
||||
particles. :doc:`Fix nvt/sllod <fix_nvt_sllod>` also does this,
|
||||
except that it subtracts out a velocity bias due to a deforming box
|
||||
and integrates the SLLOD equations of motion. See the :doc:`Howto
|
||||
nemd <Howto_nemd>` page for further details. :doc:`Fix nvt/sphere
|
||||
<fix_nvt_sphere>` and :doc:`fix nvt/asphere <fix_nvt_asphere>`
|
||||
thermostat not only translation velocities but also rotational
|
||||
velocities for spherical and aspherical particles.
|
||||
particles. :doc:`Fix nvt/sllod <fix_nvt_sllod>` also does this, except
|
||||
that it subtracts out a velocity bias due to a deforming box and
|
||||
integrates the SLLOD equations of motion. See the :doc:`Howto nemd <Howto_nemd>` page for further details. :doc:`Fix nvt/sphere <fix_nvt_sphere>` and :doc:`fix nvt/asphere <fix_nvt_asphere>` thermostat not only translation
|
||||
velocities but also rotational velocities for spherical and aspherical
|
||||
particles.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -42,31 +40,25 @@ velocities for spherical and aspherical particles.
|
||||
e.g. molecular systems. The latter can be tricky to do correctly.
|
||||
|
||||
DPD thermostatting alters pairwise interactions in a manner analogous
|
||||
to the per-particle thermostatting of :doc:`fix langevin
|
||||
<fix_langevin>`.
|
||||
to the per-particle thermostatting of :doc:`fix langevin <fix_langevin>`.
|
||||
|
||||
Any of the thermostatting fixes can be instructed to use custom
|
||||
temperature computes that remove bias which has two effects: first,
|
||||
the current calculated temperature, which is compared to the requested
|
||||
target temperature, is calculated with the velocity bias removed;
|
||||
second, the thermostat adjusts only the thermal temperature component
|
||||
of the particle's velocities, which are the velocities with the bias
|
||||
removed. The removed bias is then added back to the adjusted
|
||||
velocities. See the doc pages for the individual fixes and for the
|
||||
:doc:`fix_modify <fix_modify>` command for instructions on how to
|
||||
assign a temperature compute to a thermostatting fix.
|
||||
Any of the thermostatting fixes can be instructed to use custom temperature
|
||||
computes that remove bias which has two effects: first, the current
|
||||
calculated temperature, which is compared to the requested target temperature,
|
||||
is calculated with the velocity bias removed; second, the thermostat adjusts
|
||||
only the thermal temperature component of the particle's velocities, which are
|
||||
the velocities with the bias removed. The removed bias is then added back
|
||||
to the adjusted velocities. See the doc pages for the individual
|
||||
fixes and for the :doc:`fix_modify <fix_modify>` command for
|
||||
instructions on how to assign a temperature compute to a
|
||||
thermostatting fix. For example, you can apply a thermostat to only
|
||||
the x and z components of velocity by using it in conjunction with
|
||||
:doc:`compute temp/partial <compute_temp_partial>`. Of you could
|
||||
thermostat only the thermal temperature of a streaming flow of
|
||||
particles without affecting the streaming velocity, by using
|
||||
:doc:`compute temp/profile <compute_temp_profile>`.
|
||||
|
||||
For example, you can apply a thermostat only to atoms in a spatial
|
||||
region by using it in conjunction with :doc:`compute temp/region
|
||||
<compute_temp_region>`. Or you can apply a thermostat to only the x
|
||||
and z components of velocity by using it with :doc:`compute
|
||||
temp/partial <compute_temp_partial>`. Of you could thermostat only
|
||||
the thermal temperature of a streaming flow of particles without
|
||||
affecting the streaming velocity, by using :doc:`compute temp/profile
|
||||
<compute_temp_profile>`.
|
||||
|
||||
Below is a list of custom temperature computes that can be used like
|
||||
that:
|
||||
Below is a list of some custom temperature computes that can be used like that:
|
||||
|
||||
* :doc:`compute_temp_asphere`
|
||||
* :doc:`compute_temp_body`
|
||||
@ -80,6 +72,8 @@ that:
|
||||
* :doc:`compute_temp_rotate`
|
||||
* :doc:`compute_temp_sphere`
|
||||
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
Only the nvt fixes perform time integration, meaning they update
|
||||
@ -92,17 +86,17 @@ that:
|
||||
* :doc:`fix nve/sphere <fix_nve_sphere>`
|
||||
* :doc:`fix nve/asphere <fix_nve_asphere>`
|
||||
|
||||
Thermodynamic output, which can be setup via the :doc:`thermo_style
|
||||
<thermo_style>` command, often includes temperature values. As
|
||||
explained on the page for the :doc:`thermo_style <thermo_style>`
|
||||
command, the default temperature is setup by the thermo command
|
||||
itself. It is NOT the temperature associated with any thermostatting
|
||||
fix you have defined or with any compute you have defined that
|
||||
calculates a temperature. The doc pages for the thermostatting fixes
|
||||
explain the ID of the temperature compute they create. Thus if you
|
||||
want to view these temperatures, you need to specify them explicitly
|
||||
via the :doc:`thermo_style custom <thermo_style>` command. Or you can
|
||||
use the :doc:`thermo_modify <thermo_modify>` command to re-define what
|
||||
Thermodynamic output, which can be setup via the
|
||||
:doc:`thermo_style <thermo_style>` command, often includes temperature
|
||||
values. As explained on the page for the
|
||||
:doc:`thermo_style <thermo_style>` command, the default temperature is
|
||||
setup by the thermo command itself. It is NOT the temperature
|
||||
associated with any thermostatting fix you have defined or with any
|
||||
compute you have defined that calculates a temperature. The doc pages
|
||||
for the thermostatting fixes explain the ID of the temperature compute
|
||||
they create. Thus if you want to view these temperatures, you need to
|
||||
specify them explicitly via the :doc:`thermo_style custom <thermo_style>` command. Or you can use the
|
||||
:doc:`thermo_modify <thermo_modify>` command to re-define what
|
||||
temperature compute is used for default thermodynamic output.
|
||||
|
||||
----------
|
||||
|
||||
@ -28,8 +28,9 @@ provides `limited support for subversion clients <svn_>`_.
|
||||
|
||||
You can follow the LAMMPS development on 3 different git branches:
|
||||
|
||||
* **stable** : this branch is updated with every stable release;
|
||||
updates are always "fast forward" merges from *develop*
|
||||
* **stable** : this branch is updated from the *release* branch with
|
||||
every stable release version and also has selected bug fixes and updates
|
||||
back-ported from the *develop* branch
|
||||
* **release** : this branch is updated with every patch release;
|
||||
updates are always "fast forward" merges from *develop*
|
||||
* **develop** : this branch follows the ongoing development and
|
||||
@ -47,20 +48,22 @@ your machine and "release" is one of the 3 branches listed above.
|
||||
(Note that you actually download all 3 branches; you can switch
|
||||
between them at any time using "git checkout <branch name>".)
|
||||
|
||||
.. note::
|
||||
.. admonition:: Saving time and disk space when using ``git clone``
|
||||
|
||||
The complete git history of the LAMMPS project is quite large because
|
||||
it contains the entire commit history of the project since fall 2006,
|
||||
which includes the time when LAMMPS was managed with subversion. This
|
||||
also includes commits that have added and removed some large files
|
||||
(mostly by accident). If you do not need access to the entire commit
|
||||
history, you can speed up the "cloning" process and reduce local disk
|
||||
space requirements by using the *--depth* git command line flag thus
|
||||
create a "shallow clone" of the repository that contains only a
|
||||
subset of the git history. Using a depth of 1000 is usually sufficient
|
||||
to include the head commits of the *develop* and the *release* branches.
|
||||
To include the head commit of the *stable* branch you may need a depth
|
||||
of up to 10000.
|
||||
which includes the time when LAMMPS was managed with subversion.
|
||||
This includes a few commits that have added and removed some large
|
||||
files (mostly by accident). If you do not need access to the entire
|
||||
commit history (most people don't), you can speed up the "cloning"
|
||||
process and reduce local disk space requirements by using the
|
||||
*--depth* git command line flag. That will create a "shallow clone"
|
||||
of the repository containing only a subset of the git history. Using
|
||||
a depth of 1000 is usually sufficient to include the head commits of
|
||||
the *develop* and the *release* branches. To include the head commit
|
||||
of the *stable* branch you may need a depth of up to 10000. If you
|
||||
later need more of the git history, you can always convert the
|
||||
shallow clone into a "full clone".
|
||||
|
||||
Once the command completes, your directory will contain the same files
|
||||
as if you unpacked a current LAMMPS tarball, with the exception, that
|
||||
@ -156,9 +159,9 @@ changed. How to do this depends on the build system you are using.
|
||||
.. admonition:: Git protocols
|
||||
:class: note
|
||||
|
||||
The servers at github.com support the "git://" and "https://" access
|
||||
protocols for anonymous, read-only access. If you have a suitably
|
||||
configured GitHub account, you may also use SSH protocol with the
|
||||
The servers at github.com support the "https://" access protocol for
|
||||
anonymous, read-only access. If you have a suitably configured GitHub
|
||||
account, you may also use SSH protocol with the
|
||||
URL "git@github.com:lammps/lammps.git".
|
||||
|
||||
The LAMMPS GitHub project is currently managed by Axel Kohlmeyer
|
||||
|
||||
@ -16,7 +16,7 @@ source code design, the program structure, the spatial decomposition
|
||||
approach, the neighbor finding, basic communications algorithms, and how
|
||||
users and developers have contributed to LAMMPS is:
|
||||
|
||||
`LAMMPS - A flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales, Comp. Phys. Comm. (accepted 09/2021), DOI:10.1016/j.cpc.2021.108171 <https://doi.org/10.1016/j.cpc.2021.108171>`_
|
||||
`LAMMPS - A flexible simulation tool for particle-based materials modeling at the atomic, meso, and continuum scales, Comp. Phys. Comm. 271, 108171 (2022) <https://doi.org/10.1016/j.cpc.2021.108171>`_
|
||||
|
||||
So a project using LAMMPS or a derivative application that uses LAMMPS
|
||||
as a simulation engine should cite this paper. The paper is expected to
|
||||
|
||||
@ -10,23 +10,31 @@ Whenever we fix a bug or update or add a feature, it will be merged into
|
||||
the *develop* branch of the git repository. When a sufficient number of
|
||||
changes have accumulated *and* the software passes a set of automated
|
||||
tests, we release it in the next *patch* release, which are made every
|
||||
few weeks. Info on patch releases are on `this website page
|
||||
few weeks. The *release* branch of the git repository is updated with
|
||||
every such release. Info on patch releases are on `this website page
|
||||
<https://www.lammps.org/bug.html>`_.
|
||||
|
||||
Once or twice a year, only bug fixes and small, non-intrusive changes are
|
||||
included for a period of time, and the code is subjected to more detailed
|
||||
Once or twice a year, we apply only bug fixes and small, non-intrusive
|
||||
changes to the *develop* branch and the code is subjected to more detailed
|
||||
and thorough testing than the default automated testing. The latest
|
||||
patch release after such a period is then labeled as a *stable* version.
|
||||
patch release after such a period is then also labeled as a *stable* version
|
||||
and the *stable* branch is updated with it. Between stable releases
|
||||
we occasionally release some updates to the stable release containing
|
||||
only bug fixes and updates back-ported from *develop* but no new features
|
||||
and update the *stable* branch accordingly.
|
||||
|
||||
Each version of LAMMPS contains all the features and bug-fixes up to
|
||||
and including its version date.
|
||||
Each version of LAMMPS contains all the documented features up to and
|
||||
including its version date.
|
||||
|
||||
The version date is printed to the screen and logfile every time you
|
||||
run LAMMPS. It is also in the file src/version.h and in the LAMMPS
|
||||
directory name created when you unpack a tarball. And it is on the
|
||||
first page of the :doc:`manual <Manual>`.
|
||||
|
||||
* If you browse the HTML pages on the LAMMPS WWW site, they always
|
||||
describe the most current patch release of LAMMPS.
|
||||
* If you browse the HTML pages on the LAMMPS WWW site, they will by
|
||||
default describe the most current patch release version of LAMMPS.
|
||||
In the navigation bar on the bottom left, there is the option to
|
||||
view instead the documentation for the most recent *stable* version
|
||||
or the latest version from the current development branch.
|
||||
* If you browse the HTML pages included in your tarball, they
|
||||
describe the version you have, which may be older.
|
||||
|
||||
@ -12,24 +12,24 @@ includes some optional methods to enable its use with rRESPA.
|
||||
|
||||
Here is a brief description of the class methods in pair.h:
|
||||
|
||||
+---------------------------------+-------------------------------------------------------------------+
|
||||
| compute | workhorse routine that computes pairwise interactions |
|
||||
+---------------------------------+-------------------------------------------------------------------+
|
||||
| settings | reads the input script line with arguments you define |
|
||||
+---------------------------------+-------------------------------------------------------------------+
|
||||
| coeff | set coefficients for one i,j type pair |
|
||||
+---------------------------------+-------------------------------------------------------------------+
|
||||
| init_one | perform initialization for one i,j type pair |
|
||||
+---------------------------------+-------------------------------------------------------------------+
|
||||
| init_style | initialization specific to this pair style |
|
||||
+---------------------------------+-------------------------------------------------------------------+
|
||||
| write & read_restart | write/read i,j pair coeffs to restart files |
|
||||
+---------------------------------+-------------------------------------------------------------------+
|
||||
| write & read_restart_settings | write/read global settings to restart files |
|
||||
+---------------------------------+-------------------------------------------------------------------+
|
||||
| single | force and energy of a single pairwise interaction between 2 atoms |
|
||||
+---------------------------------+-------------------------------------------------------------------+
|
||||
| compute_inner/middle/outer | versions of compute used by rRESPA |
|
||||
+---------------------------------+-------------------------------------------------------------------+
|
||||
+---------------------------------+---------------------------------------------------------------------+
|
||||
| compute | workhorse routine that computes pairwise interactions |
|
||||
+---------------------------------+---------------------------------------------------------------------+
|
||||
| settings | reads the input script line with arguments you define |
|
||||
+---------------------------------+---------------------------------------------------------------------+
|
||||
| coeff | set coefficients for one i,j type pair |
|
||||
+---------------------------------+---------------------------------------------------------------------+
|
||||
| init_one | perform initialization for one i,j type pair |
|
||||
+---------------------------------+---------------------------------------------------------------------+
|
||||
| init_style | initialization specific to this pair style |
|
||||
+---------------------------------+---------------------------------------------------------------------+
|
||||
| write & read_restart | write/read i,j pair coeffs to restart files |
|
||||
+---------------------------------+---------------------------------------------------------------------+
|
||||
| write & read_restart_settings | write/read global settings to restart files |
|
||||
+---------------------------------+---------------------------------------------------------------------+
|
||||
| single | force/r and energy of a single pairwise interaction between 2 atoms |
|
||||
+---------------------------------+---------------------------------------------------------------------+
|
||||
| compute_inner/middle/outer | versions of compute used by rRESPA |
|
||||
+---------------------------------+---------------------------------------------------------------------+
|
||||
|
||||
The inner/middle/outer routines are optional.
|
||||
|
||||
@ -14,7 +14,7 @@ Intel Xeon Phi co-processors.
|
||||
|
||||
The `Benchmark page <https://www.lammps.org/bench.html>`_ of the LAMMPS
|
||||
website gives performance results for the various accelerator
|
||||
packages discussed on the :doc:`Accelerator packages <Speed_packages>`
|
||||
packages discussed on the :doc:`Speed packages <Speed_packages>` doc
|
||||
page, for several of the standard LAMMPS benchmark problems, as a
|
||||
function of problem size and number of compute nodes, on different
|
||||
hardware platforms.
|
||||
|
||||
@ -278,16 +278,20 @@ eam database tool
|
||||
-----------------------------
|
||||
|
||||
The tools/eam_database directory contains a Fortran program that will
|
||||
generate EAM alloy setfl potential files for any combination of 16
|
||||
generate EAM alloy setfl potential files for any combination of 17
|
||||
elements: Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti,
|
||||
Zr. The files can then be used with the :doc:`pair_style eam/alloy <pair_eam>` command.
|
||||
Zr, Cr. The files can then be used with the :doc:`pair_style eam/alloy <pair_eam>` command.
|
||||
|
||||
The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov,
|
||||
and is based on his paper:
|
||||
with updates from Lucas Hale (NIST) lucas.hale at nist.gov and is based on his paper:
|
||||
|
||||
X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69,
|
||||
144113 (2004).
|
||||
|
||||
The parameters for Cr were taken from:
|
||||
|
||||
Lin Z B, Johnson R A and Zhigilei L V, Phys. Rev. B 77 214108 (2008).
|
||||
|
||||
----------
|
||||
|
||||
.. _eamgn:
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Styles with a *gpu*, *intel*, *kk*, *omp*, or *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:`Accelerator packages <Speed_packages>`
|
||||
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.
|
||||
|
||||
@ -13,5 +13,5 @@ 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:`Accelerator packages <Speed_packages>` page for more
|
||||
See the :doc:`Speed packages <Speed_packages>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
@ -56,7 +56,23 @@ radian\^2.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
Styles with a *gpu*, *intel*, *kk*, *omp*, or *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, INTEL, KOKKOS,
|
||||
OPENMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
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 :doc:`Speed packages <Speed_packages>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -319,9 +319,28 @@ styles; see the :doc:`Modify <Modify>` doc page.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
Styles with a *kk* suffix are functionally the same as the
|
||||
corresponding style without the suffix. They have been optimized to
|
||||
run faster, depending on your available hardware, as discussed in on
|
||||
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.
|
||||
|
||||
----------
|
||||
Note that other acceleration packages in LAMMPS, specifically the GPU,
|
||||
INTEL, OPENMP, and OPT packages do not use accelerated atom
|
||||
styles.
|
||||
|
||||
The accelerated styles are part of the KOKKOS package. They are only
|
||||
enabled if LAMMPS was built with those packages. See the :doc:`Build
|
||||
package <Build_package>` page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
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>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -1011,7 +1011,9 @@ can be disabled with the :code:`checksum` parameter.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
none
|
||||
|
||||
*dump_modify sort* is not supported for dumps of groups containing
|
||||
more than 2 billion atoms.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -166,7 +166,6 @@ page are followed by one or more of (g,i,k,o,t) to indicate which
|
||||
accelerated styles exist.
|
||||
|
||||
* :doc:`accelerate/cos <fix_accelerate_cos>` - apply cosine-shaped acceleration to atoms
|
||||
* :doc:`acks2/reaxff <fix_acks2_reaxff>` - apply ACKS2 charge equilibration
|
||||
* :doc:`adapt <fix_adapt>` - change a simulation parameter over time
|
||||
* :doc:`adapt/fep <fix_adapt_fep>` - enhanced version of fix adapt
|
||||
* :doc:`addforce <fix_addforce>` - add a force to each atom
|
||||
@ -247,7 +246,6 @@ accelerated styles exist.
|
||||
* :doc:`manifoldforce <fix_manifoldforce>` - restrain atoms to a manifold during minimization
|
||||
* :doc:`mdi/engine <fix_mdi_engine>` - connect LAMMPS to external programs via the MolSSI Driver Interface (MDI)
|
||||
* :doc:`meso/move <fix_meso_move>` - move mesoscopic SPH/SDPD particles in a prescribed fashion
|
||||
* :doc:`mol/swap <fix_mol_swap>` - Monte Carlo atom type swapping with a molecule
|
||||
* :doc:`momentum <fix_momentum>` - zero the linear and/or angular momentum of a group of atoms
|
||||
* :doc:`momentum/chunk <fix_momentum>` - zero the linear and/or angular momentum of a chunk of atoms
|
||||
* :doc:`move <fix_move>` - move atoms in a prescribed fashion
|
||||
|
||||
@ -1,118 +0,0 @@
|
||||
.. index:: fix acks2/reaxff
|
||||
.. index:: fix acks2/reaxff/kk
|
||||
|
||||
fix acks2/reaxff command
|
||||
========================
|
||||
|
||||
Accelerator Variants: *acks2/reaxff/kk*
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
fix ID group-ID acks2/reaxff Nevery cutlo cuthi tolerance params args
|
||||
|
||||
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||
* acks2/reaxff = style name of this fix command
|
||||
* Nevery = perform ACKS2 every this many steps
|
||||
* cutlo,cuthi = lo and hi cutoff for Taper radius
|
||||
* tolerance = precision to which charges will be equilibrated
|
||||
* params = reaxff or a filename
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix 1 all acks2/reaxff 1 0.0 10.0 1.0e-6 reaxff
|
||||
fix 1 all acks2/reaxff 1 0.0 10.0 1.0e-6 param.acks2
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Perform the atom-condensed Kohn-Sham DFT to second order (ACKS2) charge
|
||||
equilibration method as described in :ref:`(Verstraelen) <Verstraelen>`.
|
||||
ACKS2 impedes unphysical long-range charge transfer sometimes seen with
|
||||
QEq (e.g. for dissociation of molecules), at increased computational
|
||||
cost. It is typically used in conjunction with the ReaxFF force field
|
||||
model as implemented in the :doc:`pair_style reaxff <pair_reaxff>`
|
||||
command, but it can be used with any potential in LAMMPS, so long as it
|
||||
defines and uses charges on each atom. For more technical details about
|
||||
the charge equilibration performed by fix acks2/reaxff, see the
|
||||
:ref:`(O'Hearn) <O'Hearn>` paper.
|
||||
|
||||
The ACKS2 method minimizes the electrostatic energy of the system by
|
||||
adjusting the partial charge on individual atoms based on interactions
|
||||
with their neighbors. It requires some parameters for each atom type.
|
||||
If the *params* setting above is the word "reaxff", then these are
|
||||
extracted from the :doc:`pair_style reaxff <pair_reaxff>` command and
|
||||
the ReaxFF force field file it reads in. If a file name is specified
|
||||
for *params*\ , then the parameters are taken from the specified file
|
||||
and the file must contain one line for each atom type. The latter form
|
||||
must be used when performing QeQ with a non-ReaxFF potential. The lines
|
||||
should be formatted as follows:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
bond_softness
|
||||
itype chi eta gamma bcut
|
||||
|
||||
where the first line is the global parameter *bond_softness*. The
|
||||
remaining 1 to Ntypes lines include *itype*, the atom type from 1 to
|
||||
Ntypes, *chi*, the electronegativity in eV, *eta*, the self-Coulomb
|
||||
potential in eV, *gamma*, the valence orbital exponent, and *bcut*, the
|
||||
bond cutoff distance. Note that these 4 quantities are also in the
|
||||
ReaxFF potential file, except that eta is defined here as twice the eta
|
||||
value in the ReaxFF file. Note that unlike the rest of LAMMPS, the units
|
||||
of this fix are hard-coded to be A, eV, and electronic charge.
|
||||
|
||||
**Restart, fix_modify, output, run start/stop, minimize info:**
|
||||
|
||||
No information about this fix is written to :doc:`binary restart files
|
||||
<restart>`. No global scalar or vector or per-atom quantities are
|
||||
stored by this fix for access by various :doc:`output commands
|
||||
<Howto_output>`. No parameter of this fix can be used with the
|
||||
*start/stop* keywords of the :doc:`run <run>` command.
|
||||
|
||||
This fix is invoked during :doc:`energy minimization <minimize>`.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This fix is part of the REAXFF 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 fix does not correctly handle interactions involving multiple
|
||||
periodic images of the same atom. Hence, it should not be used for
|
||||
periodic cell dimensions less than 10 angstroms.
|
||||
|
||||
This fix may be used in combination with :doc:`fix efield <fix_efield>`
|
||||
and will apply the external electric field during charge equilibration,
|
||||
but there may be only one fix efield instance used, it may only use a
|
||||
constant electric field, and the electric field vector may only have
|
||||
components in non-periodic directions.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_style reaxff <pair_reaxff>`, :doc:`fix qeq/reaxff <fix_qeq_reaxff>`
|
||||
|
||||
**Default:** none
|
||||
|
||||
----------
|
||||
|
||||
.. _O'Hearn:
|
||||
|
||||
**(O'Hearn)** O'Hearn, Alperen, Aktulga, SIAM J. Sci. Comput., 42(1), C1-C22 (2020).
|
||||
|
||||
.. _Verstraelen:
|
||||
|
||||
**(Verstraelen)** Verstraelen, Ayers, Speybroeck, Waroquier, J. Chem. Phys. 138, 074108 (2013).
|
||||
@ -73,51 +73,51 @@ is the same after the swap as it was before the swap, even though the
|
||||
atom masses have changed.
|
||||
|
||||
The *semi-grand* keyword can be set to *yes* to switch to the
|
||||
semi-grand canonical ensemble as discussed in :ref:`(Sadigh)
|
||||
<Sadigh>`. This means that the total number of each particle type does
|
||||
not need to be conserved. The default is *no*, which means that the
|
||||
only kind of swap allowed exchanges an atom of one type with an atom
|
||||
of a different given type. In other words, the relative mole fractions
|
||||
of the swapped atoms remains constant. Whereas in the semi-grand
|
||||
canonical ensemble, the composition of the system can change. Note
|
||||
that when using *semi-grand*, atoms in the fix group whose type is not
|
||||
listed in the *types* keyword are ineligible for attempted
|
||||
conversion. An attempt is made to switch the selected atom (if
|
||||
eligible) to one of the other listed types with equal
|
||||
probability. Acceptance of each attempt depends upon the Metropolis
|
||||
criterion.
|
||||
semi-grand canonical ensemble as discussed in :ref:`(Sadigh) <Sadigh>`. This
|
||||
means that the total number of each particle type does not need to be
|
||||
conserved. The default is *no*, which means that the only kind of swap
|
||||
allowed exchanges an atom of one type with an atom of a different
|
||||
given type. In other words, the relative mole fractions of the swapped
|
||||
atoms remains constant. Whereas in the semi-grand canonical ensemble,
|
||||
the composition of the system can change. Note that when using
|
||||
*semi-grand*, atoms in the fix group whose type is not listed
|
||||
in the *types* keyword are ineligible for attempted
|
||||
conversion. An attempt is made to switch
|
||||
the selected atom (if eligible) to one of the other listed types
|
||||
with equal probability. Acceptance of each attempt depends upon the Metropolis criterion.
|
||||
|
||||
The *mu* keyword allows users to specify chemical potentials. This is
|
||||
required and allowed only when using *semi-grand*\ . All chemical
|
||||
potentials are absolute, so there is one for each swap type listed
|
||||
following the *types* keyword. In semi-grand canonical ensemble
|
||||
simulations the chemical composition of the system is controlled by
|
||||
the difference in these values. So shifting all values by a constant
|
||||
amount will have no effect on the simulation.
|
||||
The *mu* keyword allows users to specify chemical
|
||||
potentials. This is required and allowed only when using *semi-grand*\ .
|
||||
All chemical potentials are absolute, so there is one for
|
||||
each swap type listed following the *types* keyword.
|
||||
In semi-grand canonical ensemble simulations the chemical composition
|
||||
of the system is controlled by the difference in these values. So
|
||||
shifting all values by a constant amount will have no effect
|
||||
on the simulation.
|
||||
|
||||
This command may optionally use the *region* keyword to define swap
|
||||
volume. The specified region must have been previously defined with a
|
||||
:doc:`region <region>` command. It must be defined with side = *in*\
|
||||
. Swap attempts occur only between atoms that are both within the
|
||||
:doc:`region <region>` command. It must be defined with side = *in*\ .
|
||||
Swap attempts occur only between atoms that are both within the
|
||||
specified region. Swaps are not otherwise attempted.
|
||||
|
||||
You should ensure you do not swap atoms belonging to a molecule, or
|
||||
LAMMPS will eventually generate an error when it tries to find those
|
||||
atoms. LAMMPS will warn you if any of the atoms eligible for swapping
|
||||
have a non-zero molecule ID, but does not check for this at the time of
|
||||
LAMMPS will soon generate an error when it tries to find those atoms.
|
||||
LAMMPS will warn you if any of the atoms eligible for swapping have a
|
||||
non-zero molecule ID, but does not check for this at the time of
|
||||
swapping.
|
||||
|
||||
If not using *semi-grand* this fix checks to ensure all atoms of the
|
||||
given types have the same atomic charge. LAMMPS does not enforce this
|
||||
in general, but it is needed for this fix to simplify the swapping
|
||||
procedure. Successful swaps will swap the atom type and charge of the
|
||||
swapped atoms. Conversely, when using *semi-grand*, it is assumed that
|
||||
all the atom types involved in switches have the same
|
||||
charge. Otherwise, charge would not be conserved. As a consequence, no
|
||||
checks on atomic charges are performed, and successful switches update
|
||||
the atom type but not the atom charge. While it is possible to use
|
||||
*semi-grand* with groups of atoms that have different charges, these
|
||||
charges will not be changed when the atom types change.
|
||||
in general, but it is needed for this fix to simplify the
|
||||
swapping procedure. Successful swaps will swap the atom type and charge
|
||||
of the swapped atoms. Conversely, when using *semi-grand*, it is assumed that all the atom
|
||||
types involved in switches have the same charge. Otherwise, charge
|
||||
would not be conserved. As a consequence, no checks on atomic charges are
|
||||
performed, and successful switches update the atom type but not the
|
||||
atom charge. While it is possible to use *semi-grand* with groups of
|
||||
atoms that have different charges, these charges will not be changed when the
|
||||
atom types change.
|
||||
|
||||
Since this fix computes total potential energies before and after
|
||||
proposed swaps, so even complicated potential energy calculations are
|
||||
@ -133,24 +133,23 @@ OK, including the following:
|
||||
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:`langevin <fix_langevin>`,
|
||||
:doc:`restrain <fix_restrain>`, :doc:`temp/berendsen
|
||||
<fix_temp_berendsen>`, :doc:`temp/rescale <fix_temp_rescale>`, 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 GCMC moves), 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.
|
||||
:doc:`restrain <fix_restrain>`, :doc:`temp/berendsen <fix_temp_berendsen>`,
|
||||
:doc:`temp/rescale <fix_temp_rescale>`, 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 GCMC moves),
|
||||
you MUST enable the :doc:`fix_modify <fix_modify>` *energy* option for
|
||||
that fix. The doc pages for individual :doc:`fix <fix>` commands
|
||||
specify if this should be done.
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
This fix writes the state of the fix to :doc:`binary restart files
|
||||
<restart>`. This includes information about the random number
|
||||
generator seed, the next timestep for MC exchanges, the number of
|
||||
exchange attempts and successes 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.
|
||||
This fix writes the state of the fix to :doc:`binary restart files <restart>`. This includes information about the random
|
||||
number generator seed, the next timestep for MC exchanges, the number
|
||||
of exchange attempts and successes 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::
|
||||
|
||||
@ -166,13 +165,12 @@ by various :doc:`output commands <Howto_output>`. The vector values are
|
||||
the following global cumulative quantities:
|
||||
|
||||
* 1 = swap attempts
|
||||
* 2 = swap accepts
|
||||
* 2 = swap successes
|
||||
|
||||
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>`.
|
||||
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
@ -186,8 +184,7 @@ Related commands
|
||||
|
||||
:doc:`fix nvt <fix_nh>`, :doc:`neighbor <neighbor>`,
|
||||
:doc:`fix deposit <fix_deposit>`, :doc:`fix evaporate <fix_evaporate>`,
|
||||
:doc:`delete_atoms <delete_atoms>`, :doc:`fix gcmc <fix_gcmc>`,
|
||||
:doc:`fix mol/swap <fix_mol_swap>`
|
||||
:doc:`delete_atoms <delete_atoms>`, :doc:`fix gcmc <fix_gcmc>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
@ -138,18 +138,16 @@ temperature with optional time-dependence as well.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
atom velocities. E.g. removing the center-of-mass velocity from a
|
||||
group of atoms or removing the x-component of velocity from the
|
||||
calculation. This is not done by default, but only if the
|
||||
:doc:`fix_modify <fix_modify>` command is used to assign a temperature
|
||||
compute to this fix that includes such a bias term. See the doc pages
|
||||
for individual :doc:`compute commands <compute>` to determine which ones
|
||||
include a bias. In this case, the thermostat works in the following
|
||||
manner: bias is removed from each atom, thermostatting is performed on
|
||||
the remaining thermal degrees of freedom, and the bias is added back
|
||||
in.
|
||||
|
||||
The *damp* parameter is specified in time units and determines how
|
||||
rapidly the temperature is relaxed. For example, a value of 100.0 means
|
||||
@ -185,8 +183,7 @@ omega (which is derived from the angular momentum in the case of
|
||||
aspherical particles).
|
||||
|
||||
The rotational temperature of the particles can be monitored by the
|
||||
:doc:`compute temp/sphere <compute_temp_sphere>` and :doc:`compute
|
||||
temp/asphere <compute_temp_asphere>` commands with their rotate
|
||||
:doc:`compute temp/sphere <compute_temp_sphere>` and :doc:`compute temp/asphere <compute_temp_asphere>` commands with their rotate
|
||||
options.
|
||||
|
||||
For the *omega* keyword there is also a scale factor of
|
||||
|
||||
@ -167,20 +167,17 @@ functions, and include :doc:`thermo_style <thermo_style>` command
|
||||
keywords for the simulation box parameters and timestep and elapsed
|
||||
time. Thus it is easy to specify a time-dependent temperature.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
Like other fixes that perform thermostatting, this fix can be used with
|
||||
:doc:`compute commands <compute>` that remove a "bias" from the atom
|
||||
velocities. E.g. removing the center-of-mass velocity from a group of
|
||||
atoms. This is not done by default, but only if the
|
||||
:doc:`fix_modify <fix_modify>` command is used to assign a temperature
|
||||
compute to this fix that includes such a bias term. See the doc pages
|
||||
for individual :doc:`compute commands <compute>` to determine which ones
|
||||
include a bias. In this case, the thermostat works in the following
|
||||
manner: bias is removed from each atom, thermostatting is performed on
|
||||
the remaining thermal degrees of freedom, and the bias is added back
|
||||
in. NOTE: this feature has not been tested.
|
||||
|
||||
Note: The temperature thermostatting the core-Drude particle pairs
|
||||
should be chosen low enough, so as to mimic as closely as possible the
|
||||
|
||||
@ -1,170 +0,0 @@
|
||||
.. index:: fix mol/swap
|
||||
|
||||
fix mol/swap command
|
||||
=====================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
fix ID group-ID mol/swap N X itype jtype seed T keyword value ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||
* atom/swap = style name of this fix command
|
||||
* N = invoke this fix every N steps
|
||||
* X = number of swaps to attempt every N steps
|
||||
* itype,jtype = two atom types to swap with each other
|
||||
* seed = random # seed (positive integer)
|
||||
* T = scaling temperature of the MC swaps (temperature units)
|
||||
* zero or more keyword/value pairs may be appended to args
|
||||
* keyword = *ke*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*ke* value = *no* or *yes*
|
||||
*no* = no conservation of kinetic energy after atom swaps
|
||||
*yes* = kinetic energy is conserved after atom swaps
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix 2 all mol/swap 100 1 2 3 29494 300.0 ke no
|
||||
fix mySwap fluid mol/swap 500 10 1 2 482798 1.0
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
This fix performs Monte Carlo swaps of two specified atom types within
|
||||
a randomly selected molecule. Two possible use cases are as follows.
|
||||
|
||||
First, consider a mixture of some molecules with atoms of itype and
|
||||
other molecules with atoms of jtype. The fix will select a random
|
||||
molecule and attempt to swap all the itype atoms to jtype for the
|
||||
first kind of molecule, or all the jtype atoms to itype for the second
|
||||
kind. Because the swap will only take place if it is energetically
|
||||
favorable, the fix can be used to determine the miscibility of 2
|
||||
different kinds of molecules much more quickly than just dynamics
|
||||
would do it.
|
||||
|
||||
Second, consider diblock co-polymers with two types of monomers itype
|
||||
and jtype. The fix will select a random molecule and attempt to do a
|
||||
itype <--> jtype swap of all those monomers within the molecule. Thus
|
||||
the fix can be used to find the energetically favorable fractions of
|
||||
two flavors of diblock co-polymers.
|
||||
|
||||
Intra-molecular swaps of atom types are attempted every N timesteps. On
|
||||
that timestep, X swaps are attempted. For each attempt a single
|
||||
molecule ID is randomly selected. The range of possible molecule IDs
|
||||
from loID to hiID is pre-computed before each run begins. The
|
||||
loID/hiID is set for the molecule with the smallest/largest ID which
|
||||
has any itype or jtype atoms in it. Note that if you define a system
|
||||
with many molecule IDs between loID and hiID which have no itype or
|
||||
jtype atoms, then the fix will be inefficient at performing swaps.
|
||||
Also note that if atoms with molecule ID = 0 exist, they are not
|
||||
considered molecules by this fix; they are assumed to be solvent atoms
|
||||
or molecules.
|
||||
|
||||
Candidate atoms for swapping must also be in the fix group. Atoms
|
||||
within the selected molecule which are not itype or jtype are ignored.
|
||||
|
||||
When an atom is swapped from itype to jtype (or vice versa), if
|
||||
charges are defined, the charge values for itype versus jtype atoms
|
||||
are also swapped. This requires that all itype atoms in the system
|
||||
have the same charge value. Likewise all jtype atoms in the system
|
||||
must have the same charge value. If this is not the case, LAMMPS
|
||||
issues a warning that it cannot swap charge values.
|
||||
|
||||
If the *ke* keyword is set to yes, which is the default, and the
|
||||
masses of itype and jtype atoms are different, then when a swap
|
||||
occurs, the velocity of the swapped atom is rescaled by the sqrt of
|
||||
the mass ratio, so as to conserve the kinetic energy of the atom.
|
||||
|
||||
----------
|
||||
|
||||
The potential energy of the entire system is computed before and after
|
||||
each swap is performed within a single molecule. The specified
|
||||
temperature T is used in the Metropolis criterion to accept or reject
|
||||
the attempted swap. If the swap is rejected all swapped values are
|
||||
reversed.
|
||||
|
||||
The potential energy calculations can include systems and models with
|
||||
the following features:
|
||||
|
||||
* manybody pair styles, including EAM
|
||||
* hybrid pair styles
|
||||
* long-range electrostatics (kspace)
|
||||
* triclinic systems
|
||||
* potential energy contributions from other fixes
|
||||
|
||||
For the last bullet point, fixes can have an associated potential
|
||||
energy. Examples of such fixes include: :doc:`efield <fix_efield>`,
|
||||
:doc:`gravity <fix_gravity>`, :doc:`addforce <fix_addforce>`,
|
||||
:doc:`langevin <fix_langevin>`, :doc:`restrain <fix_restrain>`,
|
||||
:doc:`temp/berendsen <fix_temp_berendsen>`, :doc:`temp/rescale
|
||||
<fix_temp_rescale>`, and :doc:`wall fixes <fix_wall>`. For that
|
||||
energy to be included in the total potential energy of the system (the
|
||||
quantity used for the swap accept/reject decision), 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.
|
||||
|
||||
.. note::
|
||||
|
||||
One comment on computational efficiency. If the cutoff lengths
|
||||
defined for the pair style are different for itype versus jtype
|
||||
atoms (for any of their interactions with any other atom type), then
|
||||
a new neighbor list needs to be generated for every attempted swap.
|
||||
This is potentially expensive if N is small or X is large.
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
This fix writes the state of the fix to :doc:`binary restart files
|
||||
<restart>`. This includes information about the random number
|
||||
generator seed, the next timestep for MC exchanges, the number of
|
||||
exchange attempts and successes 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 2, which can be accessed
|
||||
by various :doc:`output commands <Howto_output>`. The vector values are
|
||||
the following global cumulative quantities:
|
||||
|
||||
* 1 = swap attempts
|
||||
* 2 = swap accepts
|
||||
|
||||
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.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fix atom/swap <fix_atom_swap>`, :doc:`fix gcmc <fix_gcmc>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The option default is ke = yes.
|
||||
@ -486,20 +486,19 @@ temperature or pressure during thermodynamic output via the
|
||||
compute-ID. It also means that changing attributes of *thermo_temp*
|
||||
or *thermo_press* will have no effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
Like other fixes that perform thermostatting, fix nvt and fix npt can
|
||||
be used with :doc:`compute commands <compute>` that calculate a
|
||||
temperature after removing a "bias" from the atom velocities.
|
||||
E.g. removing the center-of-mass velocity from a group of atoms or
|
||||
only calculating temperature on the x-component of velocity or only
|
||||
calculating temperature for atoms in a geometric region. This is not
|
||||
done by default, but only if the :doc:`fix_modify <fix_modify>` command
|
||||
is used to assign a temperature compute to this fix that includes such
|
||||
a bias term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -48,9 +48,8 @@ can also have a bias velocity removed from them before thermostatting
|
||||
takes place; see the description below.
|
||||
|
||||
Additional parameters affecting the thermostat and barostat are
|
||||
specified by keywords and values documented with the :doc:`fix npt
|
||||
<fix_nh>` command. See, for example, discussion of the *temp*, *iso*,
|
||||
*aniso*, and *dilate* keywords.
|
||||
specified by keywords and values documented with the :doc:`fix npt <fix_nh>` command. See, for example, discussion of the *temp*,
|
||||
*iso*, *aniso*, and *dilate* keywords.
|
||||
|
||||
The particles in the fix group are the only ones whose velocities and
|
||||
positions are updated by the velocity/position update portion of the
|
||||
@ -90,19 +89,18 @@ It also means that changing attributes of *thermo_temp* or
|
||||
*thermo_press* will have no effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
with :doc:`compute commands <compute>` that calculate a temperature
|
||||
after removing a "bias" from the atom velocities. E.g. removing the
|
||||
center-of-mass velocity from a group of atoms or only calculating
|
||||
temperature on the x-component of velocity or only calculating
|
||||
temperature for atoms in a geometric region. This is not done by
|
||||
default, but only if the :doc:`fix_modify <fix_modify>` command is used
|
||||
to assign a temperature compute to this fix that includes such a bias
|
||||
term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -87,19 +87,18 @@ It also means that changing attributes of *thermo_temp* or
|
||||
*thermo_press* will have no effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
with :doc:`compute commands <compute>` that calculate a temperature
|
||||
after removing a "bias" from the atom velocities. E.g. removing the
|
||||
center-of-mass velocity from a group of atoms or only calculating
|
||||
temperature on the x-component of velocity or only calculating
|
||||
temperature for atoms in a geometric region. This is not done by
|
||||
default, but only if the :doc:`fix_modify <fix_modify>` command is used
|
||||
to assign a temperature compute to this fix that includes such a bias
|
||||
term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -400,20 +400,19 @@ temperature or pressure during thermodynamic output via the
|
||||
compute-ID. It also means that changing attributes of *thermo_temp*
|
||||
or *thermo_press* will have no effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
Like other fixes that perform thermostatting, fix npt/cauchy can
|
||||
be used with :doc:`compute commands <compute>` that calculate a
|
||||
temperature after removing a "bias" from the atom velocities.
|
||||
E.g. removing the center-of-mass velocity from a group of atoms or
|
||||
only calculating temperature on the x-component of velocity or only
|
||||
calculating temperature for atoms in a geometric region. This is not
|
||||
done by default, but only if the :doc:`fix_modify <fix_modify>` command
|
||||
is used to assign a temperature compute to this fix that includes such
|
||||
a bias term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -103,19 +103,18 @@ appropriate compute-ID. It also means that changing attributes of
|
||||
*thermo_temp* or *thermo_press* will have no effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
with :doc:`compute commands <compute>` that calculate a temperature
|
||||
after removing a "bias" from the atom velocities. E.g. removing the
|
||||
center-of-mass velocity from a group of atoms or only calculating
|
||||
temperature on the x-component of velocity or only calculating
|
||||
temperature for atoms in a geometric region. This is not done by
|
||||
default, but only if the :doc:`fix_modify <fix_modify>` command is used
|
||||
to assign a temperature compute to this fix that includes such a bias
|
||||
term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -72,19 +72,18 @@ It also means that changing attributes of *thermo_temp* will have no
|
||||
effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
with :doc:`compute commands <compute>` that calculate a temperature
|
||||
after removing a "bias" from the atom velocities. E.g. removing the
|
||||
center-of-mass velocity from a group of atoms or only calculating
|
||||
temperature on the x-component of velocity or only calculating
|
||||
temperature for atoms in a geometric region. This is not done by
|
||||
default, but only if the :doc:`fix_modify <fix_modify>` command is used
|
||||
to assign a temperature compute to this fix that includes such a bias
|
||||
term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -69,19 +69,18 @@ It also means that changing attributes of *thermo_temp* will have no
|
||||
effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
with :doc:`compute commands <compute>` that calculate a temperature
|
||||
after removing a "bias" from the atom velocities. E.g. removing the
|
||||
center-of-mass velocity from a group of atoms or only calculating
|
||||
temperature on the x-component of velocity or only calculating
|
||||
temperature for atoms in a geometric region. This is not done by
|
||||
default, but only if the :doc:`fix_modify <fix_modify>` command is used
|
||||
to assign a temperature compute to this fix that includes such a bias
|
||||
term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -37,16 +37,15 @@ trajectory consistent with the canonical ensemble.
|
||||
|
||||
This thermostat is used for a simulation box that is changing size
|
||||
and/or shape, for example in a non-equilibrium MD (NEMD) simulation.
|
||||
The size/shape change is induced by use of the :doc:`fix deform
|
||||
<fix_deform>` command, so each point in the simulation box can be
|
||||
thought of as having a "streaming" velocity. This position-dependent
|
||||
streaming velocity is subtracted from each atom's actual velocity to
|
||||
yield a thermal velocity which is used for temperature computation and
|
||||
thermostatting. For example, if the box is being sheared in x,
|
||||
relative to y, then points at the bottom of the box (low y) have a
|
||||
small x velocity, while points at the top of the box (hi y) have a
|
||||
large x velocity. These velocities do not contribute to the thermal
|
||||
"temperature" of the atom.
|
||||
The size/shape change is induced by use of the :doc:`fix deform <fix_deform>` command, so each point in the simulation box
|
||||
can be thought of as having a "streaming" velocity. This
|
||||
position-dependent streaming velocity is subtracted from each atom's
|
||||
actual velocity to yield a thermal velocity which is used for
|
||||
temperature computation and thermostatting. For example, if the box
|
||||
is being sheared in x, relative to y, then points at the bottom of the
|
||||
box (low y) have a small x velocity, while points at the top of the
|
||||
box (hi y) have a large x velocity. These velocities do not
|
||||
contribute to the thermal "temperature" of the atom.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -61,15 +60,13 @@ large x velocity. These velocities do not contribute to the thermal
|
||||
consistent.
|
||||
|
||||
The SLLOD equations of motion, originally proposed by Hoover and Ladd
|
||||
(see :ref:`(Evans and Morriss) <Evans3>`), were proven to be
|
||||
equivalent to Newton's equations of motion for shear flow by
|
||||
:ref:`(Evans and Morriss) <Evans3>`. They were later shown to generate
|
||||
the desired velocity gradient and the correct production of work by
|
||||
stresses for all forms of homogeneous flow by :ref:`(Daivis and Todd)
|
||||
<Daivis>`. As implemented in LAMMPS, they are coupled to a
|
||||
Nose/Hoover chain thermostat in a velocity Verlet formulation, closely
|
||||
following the implementation used for the :doc:`fix nvt <fix_nh>`
|
||||
command.
|
||||
(see :ref:`(Evans and Morriss) <Evans3>`), were proven to be equivalent to
|
||||
Newton's equations of motion for shear flow by :ref:`(Evans and Morriss) <Evans3>`. They were later shown to generate the desired
|
||||
velocity gradient and the correct production of work by stresses for
|
||||
all forms of homogeneous flow by :ref:`(Daivis and Todd) <Daivis>`. As
|
||||
implemented in LAMMPS, they are coupled to a Nose/Hoover chain
|
||||
thermostat in a velocity Verlet formulation, closely following the
|
||||
implementation used for the :doc:`fix nvt <fix_nh>` command.
|
||||
|
||||
.. note::
|
||||
|
||||
@ -97,28 +94,27 @@ underscore + "temp", and the group for the new compute is the same as
|
||||
the fix group.
|
||||
|
||||
Note that this is NOT the compute used by thermodynamic output (see
|
||||
the :doc:`thermo_style <thermo_style>` command) with ID =
|
||||
*thermo_temp*. This means you can change the attributes of this fix's
|
||||
temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify
|
||||
<compute_modify>` command or print this temperature during
|
||||
thermodynamic output via the :doc:`thermo_style custom <thermo_style>`
|
||||
command using the appropriate compute-ID. It also means that changing
|
||||
attributes of *thermo_temp* will have no effect on this fix.
|
||||
the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*.
|
||||
This means you can change the attributes of this fix's temperature
|
||||
(e.g. its degrees-of-freedom) via the
|
||||
:doc:`compute_modify <compute_modify>` command or print this temperature
|
||||
during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID.
|
||||
It also means that changing attributes of *thermo_temp* will have no
|
||||
effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
with :doc:`compute commands <compute>` that calculate a temperature
|
||||
after removing a "bias" from the atom velocities. E.g. removing the
|
||||
center-of-mass velocity from a group of atoms or only calculating
|
||||
temperature on the x-component of velocity or only calculating
|
||||
temperature for atoms in a geometric region. This is not done by
|
||||
default, but only if the :doc:`fix_modify <fix_modify>` command is used
|
||||
to assign a temperature compute to this fix that includes such a bias
|
||||
term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -86,19 +86,18 @@ It also means that changing attributes of *thermo_temp* will have no
|
||||
effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
with :doc:`compute commands <compute>` that calculate a temperature
|
||||
after removing a "bias" from the atom velocities. E.g. removing the
|
||||
center-of-mass velocity from a group of atoms or only calculating
|
||||
temperature on the x-component of velocity or only calculating
|
||||
temperature for atoms in a geometric region. This is not done by
|
||||
default, but only if the :doc:`fix_modify <fix_modify>` command is used
|
||||
to assign a temperature compute to this fix that includes such a bias
|
||||
term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -230,10 +230,7 @@ These fixes are part of the QEQ package. They are only enabled if
|
||||
LAMMPS was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
These qeq fixes are not compatible with the GPU and USER-INTEL packages.
|
||||
|
||||
These qeq fixes will ignore electric field contributions from
|
||||
:doc:`fix efield <fix_efield>`.
|
||||
The qeq fixes are not compatible with the GPU and USER-INTEL packages.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -116,12 +116,6 @@ This fix does not correctly handle interactions involving multiple
|
||||
periodic images of the same atom. Hence, it should not be used for
|
||||
periodic cell dimensions less than 10 angstroms.
|
||||
|
||||
This fix may be used in combination with :doc:`fix efield <fix_efield>`
|
||||
and will apply the external electric field during charge equilibration,
|
||||
but there may be only one fix efield instance used, it may only use a
|
||||
constant electric field, and the electric field vector may only have
|
||||
components in non-periodic directions.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
|
||||
@ -56,17 +56,6 @@ number of molecules of each species. In this context, "species" means
|
||||
a unique molecule. The chemical formula of each species is given in
|
||||
the first line.
|
||||
|
||||
.. warning::
|
||||
|
||||
In order to compute averaged data, it is required that there are no
|
||||
neighbor list rebuilds between the *Nfreq* steps. For that reason, fix
|
||||
*reaxff/species* may change your neighbor list settings. There will
|
||||
be a warning message showing the new settings. Having an *Nfreq*
|
||||
setting that is larger than what is required for correct computation
|
||||
of the ReaxFF force field interactions can thus lead to incorrect
|
||||
results. For typical ReaxFF calculations a value of 100 is already
|
||||
quite large.
|
||||
|
||||
If the filename ends with ".gz", the output file is written in gzipped
|
||||
format. A gzipped dump file will be about 3x smaller than the text version,
|
||||
but will also take longer to write.
|
||||
|
||||
@ -28,6 +28,7 @@ Syntax
|
||||
Nstart = start averaging on this timestep
|
||||
*file* arg = filename
|
||||
filename = name of file to output time averages to
|
||||
*overwrite* arg = none = overwrite output file with only latest output
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
@ -160,6 +161,10 @@ the *file* keyword and this string is appended with _N.vtk where N is
|
||||
an index (0,1,2...) to account for situations with multiple diffraction
|
||||
intensity outputs.
|
||||
|
||||
The *overwrite* keyword will continuously overwrite the output file
|
||||
with the latest output, so that it only contains one timestep worth of
|
||||
output. This option can only be used with the *ave running* setting.
|
||||
|
||||
Restart, fix_modify, output, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
|
||||
@ -89,13 +89,26 @@ precession vectors instead of the forces.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
Styles with a *gpu*, *intel*, *kk*, *omp*, or *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.
|
||||
|
||||
.. note::
|
||||
The region keyword is also supported by Kokkos, but a Kokkos-enabled
|
||||
region must be used. See the region :doc:`region <region>` command for
|
||||
more information.
|
||||
|
||||
The region keyword is supported by Kokkos, but a Kokkos-enabled
|
||||
region must be used. See the region :doc:`region <region>` command for
|
||||
more information.
|
||||
These accelerated styles are part of the r Kokkos package. They are
|
||||
only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` 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>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -102,19 +102,18 @@ It also means that changing attributes of *thermo_temp* will have no
|
||||
effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
with :doc:`compute commands <compute>` that calculate a temperature
|
||||
after removing a "bias" from the atom velocities. E.g. removing the
|
||||
center-of-mass velocity from a group of atoms or only calculating
|
||||
temperature on the x-component of velocity or only calculating
|
||||
temperature for atoms in a geometric region. This is not done by
|
||||
default, but only if the :doc:`fix_modify <fix_modify>` command is used
|
||||
to assign a temperature compute to this fix that includes such a bias
|
||||
term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -110,29 +110,28 @@ during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` co
|
||||
It also means that changing attributes of *thermo_temp* will have no
|
||||
effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
Like other fixes that perform thermostatting, these fixes can be used
|
||||
with :doc:`compute commands <compute>` that calculate a temperature
|
||||
after removing a "bias" from the atom velocities. E.g. removing the
|
||||
center-of-mass velocity from a group of atoms or only calculating
|
||||
temperature on the x-component of velocity or only calculating
|
||||
temperature for atoms in a geometric region. This is not done by
|
||||
default, but only if the :doc:`fix_modify <fix_modify>` command is used
|
||||
to assign a temperature compute to this fix that includes such a bias
|
||||
term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal degrees of freedom, and the bias is added back in.
|
||||
|
||||
An important feature of these thermostats is that they have an
|
||||
associated effective energy that is a constant of motion. The
|
||||
effective energy is the total energy (kinetic + potential) plus the
|
||||
accumulated kinetic energy changes due to the thermostat. The latter
|
||||
quantity is the global scalar computed by these fixes. This feature is
|
||||
useful to check the integration of the equations of motion against
|
||||
discretization errors. In other words, the conservation of the
|
||||
effective energy can be used to choose an appropriate integration
|
||||
associated effective energy that is a constant of motion.
|
||||
The effective energy is the total energy (kinetic + potential) plus
|
||||
the accumulated kinetic energy changes due to the thermostat. The
|
||||
latter quantity is the global scalar computed by these fixes. This
|
||||
feature is useful to check the integration of the equations of motion
|
||||
against discretization errors. In other words, the conservation of
|
||||
the effective energy can be used to choose an appropriate integration
|
||||
:doc:`timestep <timestep>`. This is similar to the usual paradigm of
|
||||
checking the conservation of the total energy in the microcanonical
|
||||
ensemble.
|
||||
|
||||
@ -109,19 +109,19 @@ command using the appropriate compute-ID. It also means that changing
|
||||
attributes of *thermo_temp* will have no effect on this fix.
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
with :doc:`compute commands <compute>` that calculate a temperature
|
||||
after removing a "bias" from the atom velocities. E.g. removing the
|
||||
center-of-mass velocity from a group of atoms or only calculating
|
||||
temperature on the x-component of velocity or only calculating
|
||||
temperature for atoms in a geometric region. This is not done by
|
||||
default, but only if the :doc:`fix_modify <fix_modify>` command is
|
||||
used to assign a temperature compute to this fix that includes such a
|
||||
bias term. See the doc pages for individual :doc:`compute commands
|
||||
<compute>` to determine which ones include a bias. In this case, the
|
||||
thermostat works in the following manner: the current temperature is
|
||||
calculated taking the bias into account, bias is removed from each
|
||||
atom, thermostatting is performed on the remaining thermal degrees of
|
||||
freedom, and the bias is added back in.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -187,32 +187,26 @@ barostatting.
|
||||
|
||||
----------
|
||||
|
||||
Like other fixes that perform thermostatting, this fix can be used
|
||||
with :doc:`compute commands <compute>` that remove a "bias" from the
|
||||
atom velocities. E.g. to apply the thermostat only to atoms within a
|
||||
spatial :doc:`region <region>`, or to remove the center-of-mass
|
||||
velocity from a group of atoms, or to remove the x-component of
|
||||
velocity from the calculation.
|
||||
|
||||
This is not done by default, but only if the :doc:`fix_modify
|
||||
<fix_modify>` command is used to assign a temperature compute to this
|
||||
fix that includes such a bias term. See the doc pages for individual
|
||||
:doc:`compute temp commands <compute>` to determine which ones include
|
||||
a bias. In this case, the thermostat works in the following manner:
|
||||
bias is removed from each atom, thermostatting is performed on the
|
||||
remaining thermal degrees of freedom, and the bias is added back in.
|
||||
Like other fixes that perform thermostatting, these fixes can
|
||||
be used with :doc:`compute commands <compute>` that calculate a
|
||||
temperature after removing a "bias" from the atom velocities.
|
||||
This is not done by default, but only if the :doc:`fix_modify <fix_modify>` command
|
||||
is used to assign a temperature compute to this fix that includes such
|
||||
a bias term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
|
||||
this case, the thermostat works in the following manner: the current
|
||||
temperature is calculated taking the bias into account, bias is
|
||||
removed from each atom, thermostatting is performed on the remaining
|
||||
thermal DOF, and the bias is added back in.
|
||||
|
||||
.. note::
|
||||
|
||||
However, not all temperature compute commands are valid to be used
|
||||
with these fixes. Precisely, only temperature compute that does
|
||||
not modify the DOF of the group can be used. E.g. :doc:`compute
|
||||
temp/ramp <compute_temp_ramp>` and :doc:`compute viscosity/cos
|
||||
<compute_viscosity_cos>` compute the kinetic energy after remove a
|
||||
velocity gradient without affecting the DOF of the group, then they
|
||||
can be invoked in this way. In contrast, :doc:`compute
|
||||
temp/partial <compute_temp_partial>` may remove the DOF at one or
|
||||
more dimensions, therefore it cannot be used with these fixes.
|
||||
However, not all temperature compute commands are valid to be used with these fixes.
|
||||
Precisely, only temperature compute that does not modify the DOF of the group can be used.
|
||||
E.g. :doc:`compute temp/ramp <compute_temp_ramp>` and :doc:`compute viscosity/cos <compute_viscosity_cos>`
|
||||
compute the kinetic energy after remove a velocity gradient without affecting the DOF of the group,
|
||||
then they can be invoked in this way.
|
||||
In contrast, :doc:`compute temp/partial <compute_temp_partial>` may remove the DOF at one or more dimensions,
|
||||
therefore it cannot be used with these fixes.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -64,7 +64,25 @@ radian\^2.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
Styles with a *gpu*, *intel*, *kk*, *omp*, or *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, INTEL, KOKKOS,
|
||||
OPENMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
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>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -310,7 +310,7 @@ Forschungszentrum Juelich.
|
||||
|
||||
The library is available for download at "http://scafacos.de" or can
|
||||
be cloned from the git-repository
|
||||
"git://github.com/scafacos/scafacos.git".
|
||||
"https://github.com/scafacos/scafacos.git".
|
||||
|
||||
In order to use this KSpace style, you must download and build the
|
||||
ScaFaCoS library, then build LAMMPS with the SCAFACOS package
|
||||
@ -414,26 +414,33 @@ relative RMS error.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
Styles with a *gpu*, *intel*, *kk*, *omp*, or *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.
|
||||
|
||||
.. note::
|
||||
More specifically, the *pppm/gpu* style performs charge assignment and
|
||||
force interpolation calculations on the GPU. These processes are
|
||||
performed either in single or double precision, depending on whether
|
||||
the -DFFT_SINGLE setting was specified in your low-level Makefile, as
|
||||
discussed above. The FFTs themselves are still calculated on the CPU.
|
||||
If *pppm/gpu* is used with a GPU-enabled pair style, part of the PPPM
|
||||
calculation can be performed concurrently on the GPU while other
|
||||
calculations for non-bonded and bonded force calculation are performed
|
||||
on the CPU.
|
||||
|
||||
For the GPU package, the *pppm/gpu* style performs charge assignment
|
||||
and force interpolation calculations on the GPU. These processes
|
||||
are performed either in single or double precision, depending on
|
||||
whether the -DFFT_SINGLE setting was specified in your low-level
|
||||
Makefile, as discussed above. The FFTs themselves are still
|
||||
calculated on the CPU. If *pppm/gpu* is used with a GPU-enabled
|
||||
pair style, part of the PPPM calculation can be performed
|
||||
concurrently on the GPU while other calculations for non-bonded and
|
||||
bonded force calculation are performed on the CPU.
|
||||
The *pppm/kk* style performs charge assignment and force interpolation
|
||||
calculations, along with the FFTs themselves, on the GPU or (optionally) threaded
|
||||
on the CPU when using OpenMP and FFTW3.
|
||||
|
||||
.. note::
|
||||
These accelerated styles are part of the GPU, INTEL, KOKKOS,
|
||||
OPENMP, and OPT packages respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` page for more info.
|
||||
|
||||
For the KOKKOS package, the *pppm/kk* style performs charge
|
||||
assignment and force interpolation calculations, along with the FFTs
|
||||
themselves, on the GPU or (optionally) threaded on the CPU when
|
||||
using OpenMP and FFTW3.
|
||||
See the :doc:`Speed packages <Speed_packages>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -166,7 +166,7 @@ intel", or "package omp" command with default settings.
|
||||
set, either to default values or to specified settings. I.e. settings
|
||||
from previous invocations do not persist across multiple invocations.
|
||||
|
||||
See the :doc:`Accelerator packages <Speed_packages>` page for more details
|
||||
See the :doc:`Speed packages <Speed_packages>` page for more details
|
||||
about using the various accelerator packages for speeding up LAMMPS
|
||||
simulations.
|
||||
|
||||
|
||||
@ -67,7 +67,21 @@ and input files are provided in the examples/PACKAGES/agni directory.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
Styles with *omp* suffix is functionally the same as the corresponding
|
||||
style without the suffix. They have been optimized to run faster,
|
||||
depending on your available hardware, as discussed on the :doc:`Speed packages <Speed_packages>` doc page. The accelerated style takes
|
||||
the same arguments and should produce the same results, except for
|
||||
round-off and precision issues.
|
||||
|
||||
The accelerated style is part of the OPENMP. They are only enabled
|
||||
if LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` page for more info.
|
||||
|
||||
You can specify the accelerated style 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>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -205,7 +205,7 @@ For *damping mass_velocity*, the normal damping is given by:
|
||||
\eta_n = \eta_{n0} m_{eff}
|
||||
|
||||
Here, :math:`\eta_{n0}` is the damping coefficient specified for the normal
|
||||
contact model, in units of *mass*\ /\ *time* and
|
||||
contact model, in units of 1/\ *time* and
|
||||
:math:`m_{eff} = m_i m_j/(m_i + m_j)` is the effective mass.
|
||||
Use *damping mass_velocity* to reproduce the damping behavior of
|
||||
*pair gran/hooke/\**.
|
||||
|
||||
@ -383,19 +383,30 @@ coefficients to 0.0.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
Styles with a *gpu*, *intel*, *kk*, *omp*, or *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. Pair style *hybrid/scaled* does (currently) not support the
|
||||
*gpu*, *omp*, *kk*, or *intel* suffix.
|
||||
|
||||
.. note::
|
||||
Since the *hybrid*, *hybrid/overlay*, *hybrid/scaled* styles delegate
|
||||
computation to the individual sub-styles, the suffix versions of the
|
||||
*hybrid* and *hybrid/overlay* styles are used to propagate the
|
||||
corresponding suffix to all sub-styles, if those versions
|
||||
exist. Otherwise the non-accelerated version will be used.
|
||||
|
||||
Since the *hybrid*, *hybrid/overlay*, *hybrid/scaled* styles
|
||||
delegate computation to the individual sub-styles, the suffix
|
||||
versions of the *hybrid* and *hybrid/overlay* styles are used to
|
||||
propagate the corresponding suffix to all sub-styles, if those
|
||||
versions exist. Otherwise the non-accelerated version will be used.
|
||||
The individual accelerated sub-styles are part of the GPU, KOKKOS,
|
||||
INTEL, OPENMP, and OPT packages, respectively. They are only
|
||||
enabled if LAMMPS was built with those packages. See the
|
||||
:doc:`Build package <Build_package>` page for more info.
|
||||
The individual accelerated sub-styles are part of the GPU, KOKKOS,
|
||||
INTEL, OPENMP, and OPT packages, respectively. They are only
|
||||
enabled if LAMMPS was built with those packages. See the :doc:`Build
|
||||
package <Build_package>` page for more info.
|
||||
|
||||
You can specify the accelerated styles explicitly in your input script
|
||||
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>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -26,15 +26,29 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
The *lebedeva/z* style computes the Lebedeva interaction
|
||||
potential as described in :ref:`(Lebedeva et al.) <Leb01>`. An important simplification is made,
|
||||
which is to take all normals along the z-axis.
|
||||
The *lebedeva/z* pair style computes the Lebedeva interaction potential
|
||||
as described in :ref:`(Lebedeva1) <Leb01>` and :ref:`(Lebedeva2)
|
||||
<Leb02>`. An important simplification is made, which is to take all
|
||||
normals along the z-axis.
|
||||
|
||||
The Lebedeva potential is intended for the description of the interlayer
|
||||
interaction between graphene layers. To perform a realistic simulation,
|
||||
this potential must be used in combination with an intralayer potential
|
||||
such as :doc:`AIREBO <pair_airebo>` or :doc:`Tersoff <pair_tersoff>`
|
||||
facilitated by using pair style :doc:`hybrid/overlay <pair_hybrid>`. To
|
||||
keep the intralayer properties unaffected, the interlayer interaction
|
||||
within the same layers should be avoided. This can be achieved by
|
||||
assigning different atom types to atoms of different layers (e.g. 1 and
|
||||
2 in the examples above).
|
||||
|
||||
Other interactions can be set to zero using pair_style *none*\ .
|
||||
|
||||
|
||||
.. math::
|
||||
|
||||
E = & \frac{1}{2} \sum_i \sum_{i \neq j} V_{ij}\\
|
||||
E = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij}\\
|
||||
V_{ij} = & B e^{-\alpha(r_{ij} - z_0)} \\
|
||||
& + C(1 + D_1\rho^2_{ij} + D_2\rho^4_{ij} e^{-\lambda_1\rho^2_{ij}} e^{-\lambda_2 (z^2_{ij} - z^2_0)} \\
|
||||
& + C(1 + D_1\rho^2_{ij} + D_2\rho^4_{ij}) e^{-\lambda_1\rho^2_{ij}} e^{-\lambda_2 (z^2_{ij} - z^2_0)} \\
|
||||
& - A \left(\frac{z_0}{r_ij}\right)^6 + A \left( \frac{z_0}{r_c} \right)^6 \\
|
||||
\rho^2_{ij} = & x^2_{ij} + y^2_{ij} \qquad (\mathbf{n_i} \equiv \mathbf{\hat{z}})
|
||||
|
||||
@ -43,12 +57,15 @@ Energies are shifted so that they go continuously to zero at the cutoff assuming
|
||||
that the exponential part of :math:`V_{ij}` (first term) decays sufficiently fast.
|
||||
This shift is achieved by the last term in the equation for :math:`V_{ij}` above.
|
||||
|
||||
The parameter file (e.g. CC.Lebedeva), is intended for use with metal
|
||||
:doc:`units <units>`, with energies in meV. An additional parameter, *S*,
|
||||
is available to facilitate scaling of energies.
|
||||
The provided parameter file (CC.Lebedeva) contains two sets of parameters.
|
||||
|
||||
This potential must be used in combination with hybrid/overlay.
|
||||
Other interactions can be set to zero using pair_style *none*\ .
|
||||
- The first set (element name "C") is suitable for normal conditions and
|
||||
is taken from :ref:`(Popov1) <Popov>`
|
||||
- The second set (element name "C1") is suitable for high-pressure
|
||||
conditions and is taken from :ref:`(Koziol1) <Koziol>`
|
||||
|
||||
Both sets contain an additional parameter, *S*, that can be used to
|
||||
facilitate scaling of energies and is set to 1.0 by default.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
@ -77,4 +94,16 @@ none
|
||||
|
||||
.. _Leb01:
|
||||
|
||||
**(Lebedeva et al.)** I. V. Lebedeva, A. A. Knizhnik, A. M. Popov, Y. E. Lozovik, B. V. Potapkin, Phys. Rev. B, 84, 245437 (2011)
|
||||
**(Lebedeva1)** I. V. Lebedeva, A. A. Knizhnik, A. M. Popov, Y. E. Lozovik, B. V. Potapkin, Phys. Rev. B, 84, 245437 (2011)
|
||||
|
||||
.. _Leb02:
|
||||
|
||||
**(Lebedeva2)** I. V. Lebedeva, A. A. Knizhnik, A. M. Popov, Y. E. Lozovik, B. V. Potapkin, Physica E: 44, 949-954 (2012)
|
||||
|
||||
.. _Popov:
|
||||
|
||||
**(Popov1)** A.M. Popov, I. V. Lebedeva, A. A. Knizhnik, Y. E. Lozovik and B. V. Potapkin, Chem. Phys. Lett. 536, 82-86 (2012).
|
||||
|
||||
.. _Koziol:
|
||||
|
||||
**(Koziol1)** Z. Koziol, G. Gawlik and J. Jagielski, Chinese Phys. B 28, 096101 (2019).
|
||||
|
||||
@ -26,23 +26,25 @@ Examples
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
The local density (LD) potential is a mean-field manybody potential, and, in some
|
||||
sense,a generalization of embedded atom models (EAM). The name "local density
|
||||
potential" arises from the fact that it assigns an energy to an atom depending
|
||||
on the number of neighboring atoms of given type around it within a predefined
|
||||
spherical volume (i.e., within a cutoff). The bottom-up coarse-graining (CG)
|
||||
literature suggests that such potentials can be widely useful in capturing
|
||||
effective multibody forces in a computationally efficient manner so as to
|
||||
improve the quality of CG models of implicit solvation:ref:`(Sanyal1) <Sanyal1>` and
|
||||
phase-segregation in liquid mixtures:ref:`(Sanyal2) <Sanyal2>`, and provide guidelines
|
||||
to determine the extent of manybody correlations present in a CG
|
||||
model.:ref:`(Rosenberger) <Rosenberger>` The LD potential in LAMMPS is primarily
|
||||
intended to be used as a corrective potential over traditional pair potentials
|
||||
in bottom-up CG models, i.e., as a hybrid pair style with
|
||||
other explicit pair interaction terms (e.g., table spline, Lennard Jones, etc.).
|
||||
Because the LD potential is not a pair potential per se, it is implemented
|
||||
simply as a single auxiliary file with all specifications that will be read
|
||||
upon initialization.
|
||||
The local density (LD) potential is a mean-field manybody potential,
|
||||
and, in some way, a generalization of embedded atom models (EAM). The
|
||||
name "local density potential" arises from the fact that it assigns an
|
||||
energy to an atom depending on the number of neighboring atoms of a
|
||||
given type around it within a predefined spherical volume (i.e., within
|
||||
the cutoff). The bottom-up coarse-graining (CG) literature suggests
|
||||
that such potentials can be widely useful in capturing effective
|
||||
multibody forces in a computationally efficient manner and thus improve
|
||||
the quality of CG models of implicit solvation :ref:`(Sanyal1)
|
||||
<Sanyal1>` and phase-segregation in liquid mixtures :ref:`(Sanyal2)
|
||||
<Sanyal2>`, and provide guidelines to determine the extent of manybody
|
||||
correlations present in a CG model :ref:`(Rosenberger) <Rosenberger>`.
|
||||
The LD potential in LAMMPS is primarily intended to be used as a
|
||||
corrective potential over traditional pair potentials in bottom-up CG
|
||||
models via :doc:`hybrid/overlay pair style <pair_hybrid>` with other
|
||||
explicit pair interaction terms (e.g., tabulated, Lennard-Jones, Morse
|
||||
etc.). Because the LD potential is not a pair potential per se, it is
|
||||
implemented simply as a single auxiliary file with all specifications
|
||||
that will be read upon initialization.
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@ -126,11 +126,11 @@ and *compute_energy*, which both take 3 numerical arguments:
|
||||
* itype = the (numerical) type of the first atom
|
||||
* jtype = the (numerical) type of the second atom
|
||||
|
||||
This functions need to compute the force and the energy, respectively,
|
||||
and use the result as return value. The functions need to use the
|
||||
*pmap* dictionary to convert the LAMMPS atom type number to the symbolic
|
||||
value of the internal potential parameter data structure. Following
|
||||
the *LJCutMelt* example, here are the two functions:
|
||||
This functions need to compute the (scaled) force and the energy,
|
||||
respectively, and use the result as return value. The functions need
|
||||
to use the *pmap* dictionary to convert the LAMMPS atom type number
|
||||
to the symbolic value of the internal potential parameter data structure.
|
||||
Following the *LJCutMelt* example, here are the two functions:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
@ -154,10 +154,10 @@ the *LJCutMelt* example, here are the two functions:
|
||||
|
||||
for consistency with the C++ pair styles in LAMMPS, the
|
||||
*compute_force* function follows the conventions of the Pair::single()
|
||||
methods and does not return the full force, but the force scaled by
|
||||
the distance between the two atoms, so this value only needs to be
|
||||
multiplied by delta x, delta y, and delta z to conveniently obtain the
|
||||
three components of the force vector between these two atoms.
|
||||
methods and does not return the pairwise force directly, but the force
|
||||
divided by the distance between the two atoms, so this value only needs
|
||||
to be multiplied by delta x, delta y, and delta z to conveniently obtain
|
||||
the three components of the force vector between these two atoms.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ Syntax
|
||||
.. parsed-literal::
|
||||
|
||||
keyword = *checkqeq* or *lgvdw* or *safezone* or *mincap* or *minhbonds*
|
||||
*checkqeq* value = *yes* or *no* = whether or not to require qeq/reaxff or acks2/reaxff fix
|
||||
*checkqeq* value = *yes* or *no* = whether or not to require qeq/reaxff fix
|
||||
*enobonds* value = *yes* or *no* = whether or not to tally energy of atoms with no bonds
|
||||
*lgvdw* value = *yes* or *no* = whether or not to use a low gradient vdW correction
|
||||
*safezone* = factor used for array allocation
|
||||
@ -119,8 +119,7 @@ The ReaxFF parameter files provided were created using a charge
|
||||
equilibration (QEq) model for handling the electrostatic interactions.
|
||||
Therefore, by default, LAMMPS requires that either the
|
||||
:doc:`fix qeq/reaxff <fix_qeq_reaxff>` or the
|
||||
:doc:`fix qeq/shielded <fix_qeq>` or :doc:`fix acks2/reaxff <fix_acks2_reaxff>`
|
||||
command be used with
|
||||
:doc:`fix qeq/shielded <fix_qeq>` command be used with
|
||||
*pair_style reaxff* when simulating a ReaxFF model, to equilibrate
|
||||
the charges each timestep.
|
||||
|
||||
@ -129,8 +128,7 @@ for the QEq fixes, allowing a simulation to be run without charge
|
||||
equilibration. In this case, the static charges you assign to each
|
||||
atom will be used for computing the electrostatic interactions in
|
||||
the system. See the :doc:`fix qeq/reaxff <fix_qeq_reaxff>` or
|
||||
:doc:`fix qeq/shielded <fix_qeq>` or :doc:`fix acks2/reaxff <fix_acks2_reaxff>`
|
||||
command documentation for more details.
|
||||
:doc:`fix qeq/shielded <fix_qeq>` command documentation for more details.
|
||||
|
||||
Using the optional keyword *lgvdw* with the value *yes* turns on the
|
||||
low-gradient correction of ReaxFF for long-range London Dispersion,
|
||||
@ -354,8 +352,7 @@ Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair_coeff <pair_coeff>`, :doc:`fix qeq/reaxff <fix_qeq_reaxff>`,
|
||||
:doc:`fix acks2/reaxff <fix_acks2_reaxff>`, :doc:`fix reaxff/bonds <fix_reaxff_bonds>`,
|
||||
:doc:`fix reaxff/species <fix_reaxff_species>`
|
||||
:doc:`fix reaxff/bonds <fix_reaxff_bonds>`, :doc:`fix reaxff/species <fix_reaxff_species>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
@ -159,14 +159,28 @@ taken from the ij and ik pairs (:math:`\sigma`, *a*, :math:`\gamma`)
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
Styles with a *gpu*, *intel*, *kk*, *omp*, or *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.
|
||||
|
||||
.. note::
|
||||
These accelerated styles are part of the GPU, INTEL, KOKKOS,
|
||||
OPENMP and OPT packages, respectively. They are only enabled if
|
||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` page for more info.
|
||||
|
||||
When using the INTEL package with this style, there is an additional
|
||||
5 to 10 percent performance improvement when the Stillinger-Weber
|
||||
parameters p and q are set to 4 and 0 respectively. These
|
||||
parameters are common for modeling silicon and water.
|
||||
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.
|
||||
|
||||
When using the INTEL package with this style, there is an
|
||||
additional 5 to 10 percent performance improvement when the
|
||||
Stillinger-Weber parameters p and q are set to 4 and 0 respectively.
|
||||
These parameters are common for modeling silicon and water.
|
||||
|
||||
See the :doc:`Speed packages <Speed_packages>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -65,8 +65,10 @@ only enabled if LAMMPS was built with that package.
|
||||
See the :doc:`Build package <Build_package>` page for
|
||||
more info. Plugins are not available on Windows.
|
||||
|
||||
If plugins access functions or classes from a package, LAMMPS must
|
||||
have been compiled with that package included.
|
||||
For the loading of plugins to work the LAMMPS library must be
|
||||
:ref:`compiled as a shared library <library>`. If plugins
|
||||
access functions or classes from a package, LAMMPS must have
|
||||
been compiled with that package included.
|
||||
|
||||
Plugins are dependent on the LAMMPS binary interface (ABI)
|
||||
and particularly the MPI library used. So they are not guaranteed
|
||||
|
||||
@ -371,13 +371,26 @@ sub-regions can be defined with the *open* keyword.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
Styles with a *gpu*, *intel*, *kk*, *omp*, or *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.
|
||||
|
||||
.. note::
|
||||
The code using the region (such as a fix or compute) must also be supported
|
||||
by Kokkos or no acceleration will occur. Currently, only *block* style
|
||||
regions are supported by Kokkos.
|
||||
|
||||
Currently, only *block* style regions are supported by Kokkos. The
|
||||
code using the region (such as a fix or compute) must also be
|
||||
supported by Kokkos or no acceleration will occur.
|
||||
These accelerated styles are part of the Kokkos package. They are
|
||||
only enabled if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` 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>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -125,13 +125,12 @@ screen.0 by default; see the :doc:`-plog and -pscreen command-line switches <Run
|
||||
for the second partition will not contain thermodynamic output beyond the
|
||||
first timestep of the run.
|
||||
|
||||
See the :doc:`Accelerator packages <Speed_packages>` page for
|
||||
performance details of the speed-up offered by the *verlet/split*
|
||||
style. One important performance consideration is the assignment of
|
||||
logical processors in the 2 partitions to the physical cores of a
|
||||
parallel machine. The :doc:`processors <processors>` command has
|
||||
options to support this, and strategies are discussed in :doc:`Section
|
||||
5 <Speed>` of the manual.
|
||||
See the :doc:`Speed packages <Speed_packages>` page for performance
|
||||
details of the speed-up offered by the *verlet/split* style. One
|
||||
important performance consideration is the assignment of logical
|
||||
processors in the 2 partitions to the physical cores of a parallel
|
||||
machine. The :doc:`processors <processors>` command has options to
|
||||
support this, and strategies are discussed in :doc:`Section 5 <Speed>` of the manual.
|
||||
|
||||
----------
|
||||
|
||||
@ -296,10 +295,10 @@ except for round-off and precision issues.
|
||||
|
||||
You can specify *respa/omp* explicitly in your input script, 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.
|
||||
invoke LAMMPS, or you can use the :doc:`suffix <suffix>` command in your
|
||||
input script.
|
||||
|
||||
See the :doc:`Accelerator packages <Speed_packages>` page for more
|
||||
See the :doc:`Speed packages <Speed_packages>` page for more
|
||||
instructions on how to use the accelerated styles effectively.
|
||||
|
||||
----------
|
||||
@ -309,8 +308,7 @@ Restrictions
|
||||
|
||||
The *verlet/split* style can only be used if LAMMPS was built with the
|
||||
REPLICA package. Correspondingly the *respa/omp* style is available
|
||||
only if the OPENMP package was included. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
only if the OPENMP package was included. See the :doc:`Build package <Build_package>` page for more info.
|
||||
|
||||
Whenever using rRESPA, the user should experiment with trade-offs in
|
||||
speed and accuracy for their system, and verify that they are
|
||||
|
||||
@ -254,7 +254,7 @@ for command_type, entries in index.items():
|
||||
|
||||
print("Total number of style index entries:", total_index)
|
||||
|
||||
skip_fix = ('python', 'NEIGH_HISTORY/omp','acks2/reax','qeq/reax','reax/c/bonds','reax/c/species')
|
||||
skip_fix = ('python', 'NEIGH_HISTORY/omp','qeq/reax','reax/c/bonds','reax/c/species')
|
||||
skip_pair = ('meam/c','lj/sf','reax/c')
|
||||
|
||||
counter = 0
|
||||
@ -282,7 +282,7 @@ if counter:
|
||||
counter = 0
|
||||
|
||||
counter += check_style_index("compute", compute, index["compute"])
|
||||
counter += check_style_index("fix", fix, index["fix"], skip=['python','acks2/reax','qeq/reax','reax/c/bonds','reax/c/species'])
|
||||
counter += check_style_index("fix", fix, index["fix"], skip=['python','qeq/reax','reax/c/bonds','reax/c/species'])
|
||||
counter += check_style_index("angle_style", angle, index["angle_style"])
|
||||
counter += check_style_index("bond_style", bond, index["bond_style"])
|
||||
counter += check_style_index("dihedral_style", dihedral, index["dihedral_style"])
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Sphinx
|
||||
sphinxcontrib-spelling
|
||||
git+git://github.com/akohlmey/sphinx-fortran@parallel-read
|
||||
sphinx_tabs
|
||||
breathe
|
||||
Pygments
|
||||
six
|
||||
Sphinx==4.2.0
|
||||
sphinxcontrib-spelling==7.2.1
|
||||
git+https://github.com/akohlmey/sphinx-fortran@parallel-read
|
||||
sphinx_tabs==3.2.0
|
||||
breathe==4.31.0
|
||||
Pygments==2.10.0
|
||||
six==1.16.0
|
||||
|
||||
@ -19,7 +19,6 @@ accuracies
|
||||
ach
|
||||
ackland
|
||||
Ackland
|
||||
acks
|
||||
acolor
|
||||
acos
|
||||
Acta
|
||||
@ -78,7 +77,6 @@ allocators
|
||||
allosws
|
||||
AlO
|
||||
Alonso
|
||||
Alperen
|
||||
alphak
|
||||
alphashrink
|
||||
amap
|
||||
@ -687,7 +685,6 @@ diagonalized
|
||||
diagonalizers
|
||||
diagonalizing
|
||||
Diallo
|
||||
diblock
|
||||
Dickel
|
||||
diel
|
||||
differentiable
|
||||
@ -1125,6 +1122,7 @@ gaussian
|
||||
gaussians
|
||||
Gaussians
|
||||
Gavhane
|
||||
Gawlik
|
||||
gayberne
|
||||
gcc
|
||||
gcmc
|
||||
@ -1138,7 +1136,6 @@ Germann
|
||||
Germano
|
||||
gerolf
|
||||
Gerolf
|
||||
getrusage
|
||||
Gershgorin
|
||||
getter
|
||||
gettimeofday
|
||||
@ -1226,7 +1223,6 @@ Guo
|
||||
gw
|
||||
gyromagnetic
|
||||
gz
|
||||
gzip
|
||||
gzipped
|
||||
Haak
|
||||
Hafskjold
|
||||
@ -1257,7 +1253,6 @@ hbond
|
||||
hcp
|
||||
hdnnp
|
||||
HDNNP
|
||||
Hearn
|
||||
heatconduction
|
||||
Hebbeker
|
||||
Hebenstreit
|
||||
@ -1284,7 +1279,6 @@ hgrid
|
||||
hhmrr
|
||||
Hibbs
|
||||
Higdon
|
||||
hiID
|
||||
Hijazi
|
||||
Hilger
|
||||
Hinestrosa
|
||||
@ -1483,6 +1477,7 @@ Izz
|
||||
Jacobsen
|
||||
Jadhao
|
||||
Jadhav
|
||||
Jagielski
|
||||
jagreat
|
||||
Jahn
|
||||
Jalalvand
|
||||
@ -1609,6 +1604,7 @@ Koslowski
|
||||
Kosovan
|
||||
Koster
|
||||
Kosztin
|
||||
Koziol
|
||||
Kp
|
||||
kradius
|
||||
Kraker
|
||||
@ -1781,7 +1777,6 @@ Loewen
|
||||
logfile
|
||||
logfreq
|
||||
logicals
|
||||
loID
|
||||
Lomdahl
|
||||
Lond
|
||||
lookup
|
||||
@ -1817,7 +1812,6 @@ lyon
|
||||
Lysogorskiy
|
||||
Lyulin
|
||||
lz
|
||||
lzma
|
||||
Maaravi
|
||||
MACHDYN
|
||||
machdyn
|
||||
@ -2271,7 +2265,6 @@ Nmols
|
||||
nn
|
||||
nnodes
|
||||
Nocedal
|
||||
nO
|
||||
nocite
|
||||
nocoeff
|
||||
nodeless
|
||||
@ -2771,7 +2764,6 @@ REAXFF
|
||||
ReaxFF
|
||||
reaxff
|
||||
rebo
|
||||
recurse
|
||||
recursing
|
||||
Ree
|
||||
refactored
|
||||
@ -3086,7 +3078,6 @@ Spearot
|
||||
specular
|
||||
spellcheck
|
||||
Spellmeyer
|
||||
Speybroeck
|
||||
sph
|
||||
SPH
|
||||
Spickermann
|
||||
@ -3452,7 +3443,6 @@ usec
|
||||
uSemiParallel
|
||||
userguide
|
||||
username
|
||||
usleep
|
||||
usr
|
||||
util
|
||||
utils
|
||||
@ -3500,7 +3490,6 @@ Verlag
|
||||
verlet
|
||||
Verlet
|
||||
versa
|
||||
Verstraelen
|
||||
ves
|
||||
vflag
|
||||
vhi
|
||||
@ -3567,7 +3556,6 @@ vzcm
|
||||
vzi
|
||||
Waals
|
||||
Wadley
|
||||
Waroquier
|
||||
wallstyle
|
||||
walltime
|
||||
Waltham
|
||||
@ -3672,7 +3660,6 @@ Yc
|
||||
ycm
|
||||
Yeh
|
||||
yellowgreen
|
||||
yEs
|
||||
Yethiraj
|
||||
yflag
|
||||
yhi
|
||||
|
||||
1
examples/PACKAGES/extep/BN.extep
Symbolic link
1
examples/PACKAGES/extep/BN.extep
Symbolic link
@ -0,0 +1 @@
|
||||
../../../potentials/BN.extep
|
||||
@ -15,7 +15,7 @@ neigh_modify check yes
|
||||
|
||||
# Potential
|
||||
pair_style extep
|
||||
pair_coeff * * ../../../../potentials/BN.extep B N
|
||||
pair_coeff * * BN.extep B N
|
||||
|
||||
# Output
|
||||
thermo 10
|
||||
|
||||
@ -1,267 +0,0 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
# LAMMPS input file for 26.5% benzene mole fraction solution
|
||||
# with 380 benzene and 1000 water molecules,
|
||||
# using all possible local density potentials
|
||||
# between benzene and water
|
||||
#
|
||||
# Author: Tanmoy Sanyal, Shell Group, UC Santa Barbara
|
||||
#
|
||||
# Refer: Sanyal and Shell, JPC-B, 2018, 122 (21), 5678-5693
|
||||
|
||||
|
||||
|
||||
# Initialize simulation box
|
||||
dimension 3
|
||||
boundary p p p
|
||||
units real
|
||||
atom_style molecular
|
||||
|
||||
# Set potential styles
|
||||
pair_style hybrid/overlay table spline 500 local/density
|
||||
|
||||
# Read molecule data and set initial velocities
|
||||
read_data benzene_water.data
|
||||
orthogonal box = (-12.865 -12.865 -64.829) to (12.865 12.865 64.829)
|
||||
1 by 1 by 8 MPI processor grid
|
||||
reading atoms ...
|
||||
1380 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000566959 secs
|
||||
read_data CPU = 0.00661397 secs
|
||||
velocity all create 3.0000e+02 16611 rot yes dist gaussian
|
||||
|
||||
# Assign potentials
|
||||
pair_coeff 1 1 table benzene_water.pair.table PairBB
|
||||
WARNING: 33 of 500 force values in table are inconsistent with -dE/dr.
|
||||
Should only be flagged at inflection points (../pair_table.cpp:483)
|
||||
WARNING: 150 of 500 distance values in table with relative error
|
||||
over 1e-06 to re-computed values (../pair_table.cpp:492)
|
||||
pair_coeff 1 2 table benzene_water.pair.table PairWW
|
||||
WARNING: 61 of 500 force values in table are inconsistent with -dE/dr.
|
||||
Should only be flagged at inflection points (../pair_table.cpp:483)
|
||||
WARNING: 90 of 500 distance values in table with relative error
|
||||
over 1e-06 to re-computed values (../pair_table.cpp:492)
|
||||
pair_coeff 2 2 table benzene_water.pair.table PairBW
|
||||
WARNING: 108 of 500 force values in table are inconsistent with -dE/dr.
|
||||
Should only be flagged at inflection points (../pair_table.cpp:483)
|
||||
WARNING: 135 of 500 distance values in table with relative error
|
||||
over 1e-06 to re-computed values (../pair_table.cpp:492)
|
||||
pair_coeff * * local/density benzene_water.localdensity.table
|
||||
|
||||
# Recentering during minimization and equilibration
|
||||
fix recentering all recenter 0.0 0.0 0.0 units box
|
||||
|
||||
# Thermostat & time integration
|
||||
timestep 2.0
|
||||
thermo 100
|
||||
thermo_style custom temp ke pe etotal ebond eangle edihed evdwl
|
||||
|
||||
# Minimization
|
||||
minimize 1.e-4 0.0 10000 10000
|
||||
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 15.25
|
||||
ghost atom cutoff = 15.25
|
||||
binsize = 7.625, bins = 4 4 18
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair table, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
(2) pair local/density, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 8.061 | 8.32 | 8.674 Mbytes
|
||||
Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl
|
||||
300 1233.1611 4162.3053 5395.4665 0 0 0 4162.3053
|
||||
300 1233.1611 2275.526 3508.6871 0 0 0 2275.526
|
||||
Loop time of 0.352822 on 8 procs for 40 steps with 1380 atoms
|
||||
|
||||
71.3% CPU use with 8 MPI tasks x no OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = linesearch alpha is zero
|
||||
Energy initial, next-to-last, final =
|
||||
4162.30533361 2208.86525108 2275.52597861
|
||||
Force two-norm initial, final = 259.364 69.3915
|
||||
Force max component initial, final = 22.2077 8.31436
|
||||
Final line search alpha, max atom move = 2.90022e-12 2.41135e-11
|
||||
Iterations, force evaluations = 40 110
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.053192 | 0.23903 | 0.32779 | 17.2 | 67.75
|
||||
Bond | 9.0599e-06 | 1.6302e-05 | 2.5272e-05 | 0.0 | 0.00
|
||||
Neigh | 0.00044513 | 0.0023614 | 0.0063851 | 5.1 | 0.67
|
||||
Comm | 0.015469 | 0.090432 | 0.20295 | 20.0 | 25.63
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.02098 | | | 5.95
|
||||
|
||||
Nlocal: 172.5 ave 348 max 72 min
|
||||
Histogram: 5 0 0 0 0 0 0 0 1 2
|
||||
Nghost: 2193.62 ave 4352 max 932 min
|
||||
Histogram: 3 0 0 2 0 0 2 0 0 1
|
||||
Neighs: 9700.5 ave 20535 max 3685 min
|
||||
Histogram: 5 0 0 0 0 0 0 1 0 2
|
||||
|
||||
Total # of neighbors = 77604
|
||||
Ave neighs/atom = 56.2348
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 2
|
||||
Dangerous builds = 0
|
||||
|
||||
# Set up integration parameters
|
||||
fix timeintegration all nve
|
||||
fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 81890
|
||||
|
||||
# Equilibration (for realistic results, run for 5000000 steps)
|
||||
reset_timestep 0
|
||||
run 5000
|
||||
WARNING: Fix recenter should come after all other integration fixes (../fix_recenter.cpp:131)
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.936 | 7.195 | 7.552 Mbytes
|
||||
Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl
|
||||
300 1233.1611 2866.9109 4100.0721 0 0 0 2866.9109
|
||||
273.33541 1123.5553 3983.2007 5106.756 0 0 0 3983.2007
|
||||
293.68078 1207.1857 3319.6601 4526.8458 0 0 0 3319.6601
|
||||
314.21462 1291.5908 3389.2178 4680.8086 0 0 0 3389.2178
|
||||
323.77563 1330.8917 3332.9828 4663.8745 0 0 0 3332.9828
|
||||
302.5902 1243.8082 3461.7692 4705.5774 0 0 0 3461.7692
|
||||
295.39324 1214.2249 3411.5727 4625.7976 0 0 0 3411.5727
|
||||
320.52341 1317.5234 3453.1931 4770.7164 0 0 0 3453.1931
|
||||
312.00777 1282.5195 3403.3443 4685.8638 0 0 0 3403.3443
|
||||
307.96774 1265.9128 3429.7809 4695.6937 0 0 0 3429.7809
|
||||
294.75922 1211.6187 3388.8404 4600.4591 0 0 0 3388.8404
|
||||
311.24567 1279.3869 3514.9603 4794.3472 0 0 0 3514.9603
|
||||
306.6152 1260.3531 3447.2011 4707.5542 0 0 0 3447.2011
|
||||
305.23306 1254.6718 3375.5092 4630.181 0 0 0 3375.5092
|
||||
321.62889 1322.0675 3460.2581 4782.3256 0 0 0 3460.2581
|
||||
316.37725 1300.4804 3437.0312 4737.5116 0 0 0 3437.0312
|
||||
322.90522 1327.3139 3389.1262 4716.44 0 0 0 3389.1262
|
||||
307.57893 1264.3146 3359.8491 4624.1637 0 0 0 3359.8491
|
||||
302.22607 1242.3115 3406.1711 4648.4826 0 0 0 3406.1711
|
||||
302.73997 1244.4239 3220.2582 4464.6821 0 0 0 3220.2582
|
||||
303.66194 1248.2137 3318.4629 4566.6765 0 0 0 3318.4629
|
||||
308.73862 1269.0815 3369.5894 4638.671 0 0 0 3369.5894
|
||||
315.60294 1297.2976 3411.2405 4708.5381 0 0 0 3411.2405
|
||||
310.0113 1274.3129 3360.1054 4634.4183 0 0 0 3360.1054
|
||||
302.36229 1242.8714 3326.9845 4569.8559 0 0 0 3326.9845
|
||||
317.78659 1306.2735 3355.4976 4661.7711 0 0 0 3355.4976
|
||||
302.50479 1243.4571 3317.6846 4561.1417 0 0 0 3317.6846
|
||||
304.29249 1250.8056 3423.5068 4674.3124 0 0 0 3423.5068
|
||||
305.99948 1257.8222 3432.9395 4690.7617 0 0 0 3432.9395
|
||||
309.93363 1273.9937 3393.657 4667.6506 0 0 0 3393.657
|
||||
316.14884 1299.5415 3463.0636 4762.6051 0 0 0 3463.0636
|
||||
300.38817 1234.7567 3309.2495 4544.0062 0 0 0 3309.2495
|
||||
311.05735 1278.6128 3304.4418 4583.0546 0 0 0 3304.4418
|
||||
311.11872 1278.865 3291.1891 4570.0542 0 0 0 3291.1891
|
||||
315.74338 1297.8749 3341.3063 4639.1812 0 0 0 3341.3063
|
||||
297.5658 1223.1552 3316.3862 4539.5414 0 0 0 3316.3862
|
||||
311.79033 1281.6257 3357.4556 4639.0813 0 0 0 3357.4556
|
||||
310.93666 1278.1167 3414.7694 4692.8861 0 0 0 3414.7694
|
||||
307.37298 1263.468 3337.3889 4600.8569 0 0 0 3337.3889
|
||||
298.84185 1228.4005 3329.6173 4558.0178 0 0 0 3329.6173
|
||||
310.54684 1276.5143 3351.0852 4627.5995 0 0 0 3351.0852
|
||||
300.0871 1233.5191 3302.2315 4535.7506 0 0 0 3302.2315
|
||||
304.69078 1252.4427 3324.2508 4576.6935 0 0 0 3324.2508
|
||||
313.50714 1288.6827 3330.4088 4619.0915 0 0 0 3330.4088
|
||||
329.80018 1355.6559 3301.86 4657.5159 0 0 0 3301.86
|
||||
304.57609 1251.9713 3365.2938 4617.2652 0 0 0 3365.2938
|
||||
308.73584 1269.0701 3344.4155 4613.4856 0 0 0 3344.4155
|
||||
306.90951 1261.5629 3304.4698 4566.0327 0 0 0 3304.4698
|
||||
308.85761 1269.5707 3392.1511 4661.7218 0 0 0 3392.1511
|
||||
302.78788 1244.6208 3317.0849 4561.7057 0 0 0 3317.0849
|
||||
321.68092 1322.2813 3321.5755 4643.8568 0 0 0 3321.5755
|
||||
Loop time of 16.3061 on 8 procs for 5000 steps with 1380 atoms
|
||||
|
||||
Performance: 52.986 ns/day, 0.453 hours/ns, 306.634 timesteps/s
|
||||
69.6% CPU use with 8 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.1872 | 10.542 | 14.607 | 116.7 | 64.65
|
||||
Bond | 0.00044084 | 0.00069669 | 0.00095081 | 0.0 | 0.00
|
||||
Neigh | 0.026948 | 0.15225 | 0.44344 | 42.0 | 0.93
|
||||
Comm | 0.63452 | 4.2953 | 9.49 | 133.9 | 26.34
|
||||
Output | 0.0016391 | 0.012378 | 0.050919 | 13.9 | 0.08
|
||||
Modify | 0.45894 | 1.2107 | 4.4629 | 116.4 | 7.42
|
||||
Other | | 0.09292 | | | 0.57
|
||||
|
||||
Nlocal: 172.5 ave 380 max 70 min
|
||||
Histogram: 5 0 0 0 0 0 0 1 1 1
|
||||
Nghost: 2213 ave 4440 max 903 min
|
||||
Histogram: 3 0 0 2 0 0 2 0 0 1
|
||||
Neighs: 10042.5 ave 24051 max 3500 min
|
||||
Histogram: 5 0 0 0 0 0 0 1 1 1
|
||||
|
||||
Total # of neighbors = 80340
|
||||
Ave neighs/atom = 58.2174
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 123
|
||||
Dangerous builds = 1
|
||||
|
||||
# Turn off recentering during production phase
|
||||
unfix recentering
|
||||
|
||||
# Setup trajectory output
|
||||
dump myDump all custom 100 benzene_water.lammpstrj.gz id type x y z element
|
||||
dump_modify myDump element B W
|
||||
dump_modify myDump sort id
|
||||
|
||||
# Production (for realistic results, run for 10000000 steps)
|
||||
reset_timestep 0
|
||||
run 1000
|
||||
Per MPI rank memory allocation (min/avg/max) = 8.232 | 8.492 | 8.851 Mbytes
|
||||
Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl
|
||||
321.68092 1322.2813 3784.0834 5106.3647 0 0 0 3784.0834
|
||||
310.59763 1276.7231 3318.3283 4595.0513 0 0 0 3318.3283
|
||||
303.39445 1247.1141 3324.1191 4571.2332 0 0 0 3324.1191
|
||||
311.37275 1279.9092 3305.0901 4584.9993 0 0 0 3305.0901
|
||||
311.29071 1279.572 3248.216 4527.788 0 0 0 3248.216
|
||||
314.53456 1292.906 3283.4563 4576.3623 0 0 0 3283.4563
|
||||
316.52595 1301.0916 3258.9171 4560.0087 0 0 0 3258.9171
|
||||
318.92447 1310.9509 3235.6256 4546.5765 0 0 0 3235.6256
|
||||
311.79212 1281.6331 3308.099 4589.7321 0 0 0 3308.099
|
||||
305.52477 1255.8709 3267.6907 4523.5616 0 0 0 3267.6907
|
||||
301.07457 1237.5782 3206.3997 4443.9779 0 0 0 3206.3997
|
||||
Loop time of 4.44139 on 8 procs for 1000 steps with 1380 atoms
|
||||
|
||||
Performance: 38.907 ns/day, 0.617 hours/ns, 225.155 timesteps/s
|
||||
60.8% CPU use with 8 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.656 | 2.5078 | 3.5775 | 57.7 | 56.46
|
||||
Bond | 0.00013375 | 0.0001854 | 0.0002377 | 0.0 | 0.00
|
||||
Neigh | 0.0048757 | 0.029188 | 0.090432 | 18.9 | 0.66
|
||||
Comm | 0.51836 | 1.4427 | 2.6285 | 56.9 | 32.48
|
||||
Output | 0.083084 | 0.089199 | 0.10333 | 2.3 | 2.01
|
||||
Modify | 0.0087376 | 0.019705 | 0.038437 | 8.4 | 0.44
|
||||
Other | | 0.3526 | | | 7.94
|
||||
|
||||
Nlocal: 172.5 ave 388 max 69 min
|
||||
Histogram: 5 0 0 0 0 0 0 2 0 1
|
||||
Nghost: 2207.88 ave 4429 max 896 min
|
||||
Histogram: 3 0 0 2 0 0 2 0 0 1
|
||||
Neighs: 10094.1 ave 24847 max 3403 min
|
||||
Histogram: 5 0 0 0 0 0 1 1 0 1
|
||||
|
||||
Total # of neighbors = 80753
|
||||
Ave neighs/atom = 58.5167
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 23
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:21
|
||||
@ -0,0 +1,300 @@
|
||||
LAMMPS (27 Oct 2021)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# LAMMPS input file for 26.5% benzene mole fraction solution
|
||||
# with 380 benzene and 1000 water molecules,
|
||||
# using all possible local density potentials
|
||||
# between benzene and water
|
||||
#
|
||||
# Author: Tanmoy Sanyal, Shell Group, UC Santa Barbara
|
||||
#
|
||||
# Refer: Sanyal and Shell, JPC-B, 2018, 122 (21), 5678-5693
|
||||
|
||||
|
||||
|
||||
# Initialize simulation box
|
||||
dimension 3
|
||||
boundary p p p
|
||||
units real
|
||||
atom_style molecular
|
||||
|
||||
# Set potential styles
|
||||
pair_style hybrid/overlay table spline 500 local/density
|
||||
|
||||
# Read molecule data and set initial velocities
|
||||
read_data benzene_water.data
|
||||
Reading data file ...
|
||||
orthogonal box = (-12.865000 -12.865000 -64.829000) to (12.865000 12.865000 64.829000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1380 atoms
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.006 seconds
|
||||
velocity all create 3.0000e+02 16611 rot yes dist gaussian
|
||||
|
||||
# Assign potentials
|
||||
pair_coeff 1 1 table benzene_water.pair.table PairBB
|
||||
WARNING: 33 of 500 force values in table PairBB are inconsistent with -dE/dr.
|
||||
WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465)
|
||||
WARNING: 150 of 500 distance values in table 1e-06 with relative error
|
||||
WARNING: over PairBB to re-computed values (src/pair_table.cpp:473)
|
||||
pair_coeff 1 2 table benzene_water.pair.table PairWW
|
||||
WARNING: 61 of 500 force values in table PairWW are inconsistent with -dE/dr.
|
||||
WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465)
|
||||
WARNING: 90 of 500 distance values in table 1e-06 with relative error
|
||||
WARNING: over PairWW to re-computed values (src/pair_table.cpp:473)
|
||||
pair_coeff 2 2 table benzene_water.pair.table PairBW
|
||||
WARNING: 108 of 500 force values in table PairBW are inconsistent with -dE/dr.
|
||||
WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465)
|
||||
WARNING: 135 of 500 distance values in table 1e-06 with relative error
|
||||
WARNING: over PairBW to re-computed values (src/pair_table.cpp:473)
|
||||
pair_coeff * * local/density benzene_water.localdensity.table
|
||||
|
||||
# Recentering during minimization and equilibration
|
||||
fix recentering all recenter 0.0 0.0 0.0 units box
|
||||
|
||||
# Thermostat & time integration
|
||||
timestep 2.0
|
||||
thermo 100
|
||||
thermo_style custom temp ke pe etotal ebond eangle edihed evdwl
|
||||
|
||||
# Minimization
|
||||
minimize 1.e-4 0.0 10000 10000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- pair_style local/density command:
|
||||
|
||||
@Article{Sanyal16,
|
||||
author = {T.Sanyal and M.Scott Shell},
|
||||
title = {Coarse-grained models using local-density potentials optimized with the relative entropy: Application to implicit solvation},
|
||||
journal = {J.~Chem.~Phys.},
|
||||
year = 2016,
|
||||
DOI = doi.org/10.1063/1.4958629}
|
||||
|
||||
@Article{Sanyal18,
|
||||
author = {T.Sanyal and M.Scott Shell},
|
||||
title = {Transferable coarse-grained models of liquid-liquid equilibrium using local density potentials optimized with the relative entropy},
|
||||
journal = {J.~Phys.~Chem. B},
|
||||
year = 2018,
|
||||
DOI = doi.org/10.1021/acs.jpcb.7b12446}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:187)
|
||||
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 15.25
|
||||
ghost atom cutoff = 15.25
|
||||
binsize = 7.625, bins = 4 4 18
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair table, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
(2) pair local/density, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 8.754 | 8.754 | 8.754 Mbytes
|
||||
Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl
|
||||
300 1233.1611 2374.6749 3607.836 0 0 0 2374.6749
|
||||
300 1233.1611 985.54829 2218.7094 0 0 0 985.54829
|
||||
300 1233.1611 962.66036 2195.8215 0 0 0 962.66036
|
||||
Loop time of 0.812343 on 1 procs for 134 steps with 1380 atoms
|
||||
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = energy tolerance
|
||||
Energy initial, next-to-last, final =
|
||||
2374.67491482358 962.664796664787 962.660357218268
|
||||
Force two-norm initial, final = 263.77519 15.741017
|
||||
Force max component initial, final = 22.412654 7.9360139
|
||||
Final line search alpha, max atom move = 0.014975513 0.11884588
|
||||
Iterations, force evaluations = 134 240
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.78539 | 0.78539 | 0.78539 | 0.0 | 96.68
|
||||
Bond | 2.0149e-05 | 2.0149e-05 | 2.0149e-05 | 0.0 | 0.00
|
||||
Neigh | 0.016759 | 0.016759 | 0.016759 | 0.0 | 2.06
|
||||
Comm | 0.0045 | 0.0045 | 0.0045 | 0.0 | 0.55
|
||||
Output | 2.9402e-05 | 2.9402e-05 | 2.9402e-05 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.005647 | | | 0.70
|
||||
|
||||
Nlocal: 1380.00 ave 1380 max 1380 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 5832.00 ave 5832 max 5832 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 78165.0 ave 78165 max 78165 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 78165
|
||||
Ave neighs/atom = 56.641304
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 5
|
||||
Dangerous builds = 0
|
||||
|
||||
# Set up integration parameters
|
||||
fix timeintegration all nve
|
||||
fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 81890
|
||||
|
||||
# Equilibration (for realistic results, run for 5000000 steps)
|
||||
reset_timestep 0
|
||||
run 5000
|
||||
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: Fix recenter should come after all other integration fixes (src/fix_recenter.cpp:133)
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.629 | 7.629 | 7.629 Mbytes
|
||||
Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl
|
||||
300 1233.1611 962.66036 2195.8215 0 0 0 962.66036
|
||||
253.1913 1040.7522 1803.711 2844.4633 0 0 0 1803.711
|
||||
290.31049 1193.332 2059.0637 3252.3958 0 0 0 2059.0637
|
||||
299.30778 1230.3157 2140.226 3370.5417 0 0 0 2140.226
|
||||
309.81524 1273.507 2178.3782 3451.8853 0 0 0 2178.3782
|
||||
299.79526 1232.3195 2229.9248 3462.2444 0 0 0 2229.9248
|
||||
299.24909 1230.0745 2260.7129 3490.7874 0 0 0 2260.7129
|
||||
299.5898 1231.475 2244.2384 3475.7134 0 0 0 2244.2384
|
||||
297.81223 1224.1682 2320.27 3544.4382 0 0 0 2320.27
|
||||
301.53975 1239.4903 2277.0431 3516.5334 0 0 0 2277.0431
|
||||
292.00572 1200.3003 2292.3073 3492.6076 0 0 0 2292.3073
|
||||
309.19709 1270.9661 2303.6055 3574.5716 0 0 0 2303.6055
|
||||
297.54933 1223.0876 2304.127 3527.2146 0 0 0 2304.127
|
||||
303.48106 1247.4702 2303.5673 3551.0375 0 0 0 2303.5673
|
||||
296.46047 1218.6118 2256.1591 3474.7709 0 0 0 2256.1591
|
||||
299.4835 1231.038 2280.0452 3511.0832 0 0 0 2280.0452
|
||||
306.25958 1258.8914 2307.9795 3566.8709 0 0 0 2307.9795
|
||||
304.67335 1252.3711 2284.8252 3537.1963 0 0 0 2284.8252
|
||||
298.33637 1226.3227 2289.8499 3516.1726 0 0 0 2289.8499
|
||||
303.1338 1246.0427 2342.2148 3588.2575 0 0 0 2342.2148
|
||||
305.86051 1257.251 2341.0106 3598.2616 0 0 0 2341.0106
|
||||
297.75418 1223.9296 2303.5613 3527.4909 0 0 0 2303.5613
|
||||
296.79348 1219.9806 2327.5207 3547.5013 0 0 0 2327.5207
|
||||
307.25403 1262.9791 2288.4219 3551.401 0 0 0 2288.4219
|
||||
301.26976 1238.3805 2291.2465 3529.627 0 0 0 2291.2465
|
||||
297.17249 1221.5385 2283.3926 3504.9311 0 0 0 2283.3926
|
||||
313.99072 1290.6705 2293.9661 3584.6366 0 0 0 2293.9661
|
||||
301.70804 1240.1821 2331.1694 3571.3515 0 0 0 2331.1694
|
||||
300.62599 1235.7343 2325.4367 3561.171 0 0 0 2325.4367
|
||||
292.13495 1200.8316 2315.631 3516.4626 0 0 0 2315.631
|
||||
313.9981 1290.7008 2286.0536 3576.7545 0 0 0 2286.0536
|
||||
300.25311 1234.2015 2324.2379 3558.4394 0 0 0 2324.2379
|
||||
309.3746 1271.6958 2322.2298 3593.9256 0 0 0 2322.2298
|
||||
300.23041 1234.1082 2332.7521 3566.8603 0 0 0 2332.7521
|
||||
302.97054 1245.3716 2303.1689 3548.5405 0 0 0 2303.1689
|
||||
294.77155 1211.6694 2334.5087 3546.1781 0 0 0 2334.5087
|
||||
296.81476 1220.0681 2322.5932 3542.6613 0 0 0 2322.5932
|
||||
301.83238 1240.6932 2345.4841 3586.1773 0 0 0 2345.4841
|
||||
295.0399 1212.7724 2312.3889 3525.1614 0 0 0 2312.3889
|
||||
300.73565 1236.185 2338.8384 3575.0235 0 0 0 2338.8384
|
||||
303.02264 1245.5858 2310.0868 3555.6726 0 0 0 2310.0868
|
||||
302.86404 1244.9339 2332.2001 3577.134 0 0 0 2332.2001
|
||||
293.77916 1207.5901 2293.2799 3500.8701 0 0 0 2293.2799
|
||||
299.30072 1230.2867 2317.5065 3547.7933 0 0 0 2317.5065
|
||||
311.05029 1278.5837 2311.0476 3589.6313 0 0 0 2311.0476
|
||||
293.25646 1205.4416 2314.7398 3520.1814 0 0 0 2314.7398
|
||||
310.49018 1276.2814 2337.4909 3613.7723 0 0 0 2337.4909
|
||||
302.37336 1242.9169 2340.3197 3583.2366 0 0 0 2340.3197
|
||||
297.06862 1221.1116 2323.9136 3545.0252 0 0 0 2323.9136
|
||||
300.54817 1235.4144 2315.2405 3550.6549 0 0 0 2315.2405
|
||||
309.10643 1270.5934 2333.1848 3603.7783 0 0 0 2333.1848
|
||||
Loop time of 15.2696 on 1 procs for 5000 steps with 1380 atoms
|
||||
|
||||
Performance: 56.583 ns/day, 0.424 hours/ns, 327.447 timesteps/s
|
||||
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 14.432 | 14.432 | 14.432 | 0.0 | 94.51
|
||||
Bond | 0.00032375 | 0.00032375 | 0.00032375 | 0.0 | 0.00
|
||||
Neigh | 0.41541 | 0.41541 | 0.41541 | 0.0 | 2.72
|
||||
Comm | 0.0975 | 0.0975 | 0.0975 | 0.0 | 0.64
|
||||
Output | 0.0013044 | 0.0013044 | 0.0013044 | 0.0 | 0.01
|
||||
Modify | 0.30336 | 0.30336 | 0.30336 | 0.0 | 1.99
|
||||
Other | | 0.01973 | | | 0.13
|
||||
|
||||
Nlocal: 1380.00 ave 1380 max 1380 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 5843.00 ave 5843 max 5843 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 76949.0 ave 76949 max 76949 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 76949
|
||||
Ave neighs/atom = 55.760145
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 121
|
||||
Dangerous builds = 1
|
||||
|
||||
# Turn off recentering during production phase
|
||||
unfix recentering
|
||||
|
||||
# Setup trajectory output
|
||||
dump myDump all custom 100 benzene_water.lammpstrj.gz id type x y z element
|
||||
dump_modify myDump element B W
|
||||
dump_modify myDump sort id
|
||||
|
||||
# Production (for realistic results, run for 10000000 steps)
|
||||
reset_timestep 0
|
||||
run 1000
|
||||
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.022 | 9.022 | 9.022 Mbytes
|
||||
Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl
|
||||
309.10643 1270.5934 2333.1848 3603.7783 0 0 0 2333.1848
|
||||
300.84572 1236.6375 2331.3493 3567.9868 0 0 0 2331.3493
|
||||
300.90599 1236.8852 2337.6775 3574.5627 0 0 0 2337.6775
|
||||
302.77895 1244.5841 2341.7778 3586.362 0 0 0 2341.7778
|
||||
291.66639 1198.9055 2320.3512 3519.2567 0 0 0 2320.3512
|
||||
298.7003 1227.8187 2292.8195 3520.6382 0 0 0 2292.8195
|
||||
301.11163 1237.7305 2310.017 3547.7475 0 0 0 2310.017
|
||||
305.22515 1254.6393 2315.1355 3569.7748 0 0 0 2315.1355
|
||||
295.15921 1213.2629 2310.184 3523.4468 0 0 0 2310.184
|
||||
299.2024 1229.8826 2332.2118 3562.0943 0 0 0 2332.2118
|
||||
302.80078 1244.6738 2320.3763 3565.0502 0 0 0 2320.3763
|
||||
Loop time of 3.07208 on 1 procs for 1000 steps with 1380 atoms
|
||||
|
||||
Performance: 56.249 ns/day, 0.427 hours/ns, 325.512 timesteps/s
|
||||
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.8993 | 2.8993 | 2.8993 | 0.0 | 94.37
|
||||
Bond | 6.5327e-05 | 6.5327e-05 | 6.5327e-05 | 0.0 | 0.00
|
||||
Neigh | 0.083502 | 0.083502 | 0.083502 | 0.0 | 2.72
|
||||
Comm | 0.019967 | 0.019967 | 0.019967 | 0.0 | 0.65
|
||||
Output | 0.012268 | 0.012268 | 0.012268 | 0.0 | 0.40
|
||||
Modify | 0.052801 | 0.052801 | 0.052801 | 0.0 | 1.72
|
||||
Other | | 0.004203 | | | 0.14
|
||||
|
||||
Nlocal: 1380.00 ave 1380 max 1380 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 5860.00 ave 5860 max 5860 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 77055.0 ave 77055 max 77055 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 77055
|
||||
Ave neighs/atom = 55.836957
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 24
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:19
|
||||
@ -0,0 +1,299 @@
|
||||
LAMMPS (27 Oct 2021)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# LAMMPS input file for 26.5% benzene mole fraction solution
|
||||
# with 380 benzene and 1000 water molecules,
|
||||
# using all possible local density potentials
|
||||
# between benzene and water
|
||||
#
|
||||
# Author: Tanmoy Sanyal, Shell Group, UC Santa Barbara
|
||||
#
|
||||
# Refer: Sanyal and Shell, JPC-B, 2018, 122 (21), 5678-5693
|
||||
|
||||
|
||||
|
||||
# Initialize simulation box
|
||||
dimension 3
|
||||
boundary p p p
|
||||
units real
|
||||
atom_style molecular
|
||||
|
||||
# Set potential styles
|
||||
pair_style hybrid/overlay table spline 500 local/density
|
||||
|
||||
# Read molecule data and set initial velocities
|
||||
read_data benzene_water.data
|
||||
Reading data file ...
|
||||
orthogonal box = (-12.865000 -12.865000 -64.829000) to (12.865000 12.865000 64.829000)
|
||||
1 by 1 by 4 MPI processor grid
|
||||
reading atoms ...
|
||||
1380 atoms
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.007 seconds
|
||||
velocity all create 3.0000e+02 16611 rot yes dist gaussian
|
||||
|
||||
# Assign potentials
|
||||
pair_coeff 1 1 table benzene_water.pair.table PairBB
|
||||
WARNING: 33 of 500 force values in table PairBB are inconsistent with -dE/dr.
|
||||
WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465)
|
||||
WARNING: 150 of 500 distance values in table 1e-06 with relative error
|
||||
WARNING: over PairBB to re-computed values (src/pair_table.cpp:473)
|
||||
pair_coeff 1 2 table benzene_water.pair.table PairWW
|
||||
WARNING: 61 of 500 force values in table PairWW are inconsistent with -dE/dr.
|
||||
WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465)
|
||||
WARNING: 90 of 500 distance values in table 1e-06 with relative error
|
||||
WARNING: over PairWW to re-computed values (src/pair_table.cpp:473)
|
||||
pair_coeff 2 2 table benzene_water.pair.table PairBW
|
||||
WARNING: 108 of 500 force values in table PairBW are inconsistent with -dE/dr.
|
||||
WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465)
|
||||
WARNING: 135 of 500 distance values in table 1e-06 with relative error
|
||||
WARNING: over PairBW to re-computed values (src/pair_table.cpp:473)
|
||||
pair_coeff * * local/density benzene_water.localdensity.table
|
||||
|
||||
# Recentering during minimization and equilibration
|
||||
fix recentering all recenter 0.0 0.0 0.0 units box
|
||||
|
||||
# Thermostat & time integration
|
||||
timestep 2.0
|
||||
thermo 100
|
||||
thermo_style custom temp ke pe etotal ebond eangle edihed evdwl
|
||||
|
||||
# Minimization
|
||||
minimize 1.e-4 0.0 10000 10000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- pair_style local/density command:
|
||||
|
||||
@Article{Sanyal16,
|
||||
author = {T.Sanyal and M.Scott Shell},
|
||||
title = {Coarse-grained models using local-density potentials optimized with the relative entropy: Application to implicit solvation},
|
||||
journal = {J.~Chem.~Phys.},
|
||||
year = 2016,
|
||||
DOI = doi.org/10.1063/1.4958629}
|
||||
|
||||
@Article{Sanyal18,
|
||||
author = {T.Sanyal and M.Scott Shell},
|
||||
title = {Transferable coarse-grained models of liquid-liquid equilibrium using local density potentials optimized with the relative entropy},
|
||||
journal = {J.~Phys.~Chem. B},
|
||||
year = 2018,
|
||||
DOI = doi.org/10.1021/acs.jpcb.7b12446}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:187)
|
||||
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 15.25
|
||||
ghost atom cutoff = 15.25
|
||||
binsize = 7.625, bins = 4 4 18
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair table, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
(2) pair local/density, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 8.441 | 8.589 | 8.688 Mbytes
|
||||
Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl
|
||||
300 1233.1611 2374.6749 3607.836 0 0 0 2374.6749
|
||||
300 1233.1611 1024.8113 2257.9724 0 0 0 1024.8113
|
||||
Loop time of 0.240559 on 4 procs for 74 steps with 1380 atoms
|
||||
|
||||
98.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = energy tolerance
|
||||
Energy initial, next-to-last, final =
|
||||
2374.67491482358 1024.89407898645 1024.81130011575
|
||||
Force two-norm initial, final = 263.77519 20.459697
|
||||
Force max component initial, final = 22.412654 8.6082349
|
||||
Final line search alpha, max atom move = 0.027790997 0.23923143
|
||||
Iterations, force evaluations = 74 118
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.15928 | 0.1873 | 0.22814 | 6.5 | 77.86
|
||||
Bond | 3.857e-06 | 4.4012e-06 | 5.496e-06 | 0.0 | 0.00
|
||||
Neigh | 0.00064142 | 0.0028761 | 0.0058864 | 4.2 | 1.20
|
||||
Comm | 0.0040776 | 0.039595 | 0.074187 | 12.6 | 16.46
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.01078 | | | 4.48
|
||||
|
||||
Nlocal: 345.000 ave 664 max 147 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
Nghost: 2850.50 ave 4438 max 1208 min
|
||||
Histogram: 1 0 0 1 0 0 1 0 0 1
|
||||
Neighs: 19377.5 ave 37718 max 7456 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 77510
|
||||
Ave neighs/atom = 56.166667
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 3
|
||||
Dangerous builds = 0
|
||||
|
||||
# Set up integration parameters
|
||||
fix timeintegration all nve
|
||||
fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 81890
|
||||
|
||||
# Equilibration (for realistic results, run for 5000000 steps)
|
||||
reset_timestep 0
|
||||
run 5000
|
||||
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: Fix recenter should come after all other integration fixes (src/fix_recenter.cpp:133)
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.316 | 7.465 | 7.563 Mbytes
|
||||
Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl
|
||||
300 1233.1611 1024.8113 2257.9724 0 0 0 1024.8113
|
||||
263.61917 1083.6164 1866.745 2950.3614 0 0 0 1866.745
|
||||
296.0253 1216.823 2122.8463 3339.6692 0 0 0 2122.8463
|
||||
301.93846 1241.1292 2172.9802 3414.1095 0 0 0 2172.9802
|
||||
293.9491 1208.2887 2205.4892 3413.7779 0 0 0 2205.4892
|
||||
286.33795 1177.0027 2204.8908 3381.8935 0 0 0 2204.8908
|
||||
295.48217 1214.5904 2230.8849 3445.4753 0 0 0 2230.8849
|
||||
293.88908 1208.0419 2218.7563 3426.7982 0 0 0 2218.7563
|
||||
295.13798 1213.1756 2277.4515 3490.6271 0 0 0 2277.4515
|
||||
290.39538 1193.681 2273.4385 3467.1195 0 0 0 2273.4385
|
||||
297.56782 1223.1635 2268.7182 3491.8817 0 0 0 2268.7182
|
||||
306.45578 1259.6978 2289.1507 3548.8486 0 0 0 2289.1507
|
||||
308.54582 1268.289 2284.8514 3553.1404 0 0 0 2284.8514
|
||||
302.17353 1242.0955 2262.5577 3504.6532 0 0 0 2262.5577
|
||||
295.30087 1213.8452 2315.8853 3529.7305 0 0 0 2315.8853
|
||||
308.59197 1268.4787 2291.8314 3560.3101 0 0 0 2291.8314
|
||||
297.75618 1223.9378 2287.2003 3511.1381 0 0 0 2287.2003
|
||||
303.43395 1247.2765 2297.7158 3544.9923 0 0 0 2297.7158
|
||||
307.16233 1262.6021 2255.9769 3518.5791 0 0 0 2255.9769
|
||||
301.34428 1238.6868 2284.416 3523.1028 0 0 0 2284.416
|
||||
295.43209 1214.3846 2294.1043 3508.4889 0 0 0 2294.1043
|
||||
287.86904 1183.2963 2257.0204 3440.3168 0 0 0 2257.0204
|
||||
297.2661 1221.9233 2251.4194 3473.3428 0 0 0 2251.4194
|
||||
298.90221 1228.6486 2261.834 3490.4826 0 0 0 2261.834
|
||||
288.07202 1184.1307 2284.1918 3468.3225 0 0 0 2284.1918
|
||||
300.41201 1234.8547 2303.9573 3538.812 0 0 0 2303.9573
|
||||
283.91279 1167.034 2329.7936 3496.8277 0 0 0 2329.7936
|
||||
297.27507 1221.9602 2337.0516 3559.0118 0 0 0 2337.0516
|
||||
296.22263 1217.6341 2335.6424 3553.2765 0 0 0 2335.6424
|
||||
296.13784 1217.2856 2364.7034 3581.989 0 0 0 2364.7034
|
||||
308.17642 1266.7706 2320.2753 3587.0459 0 0 0 2320.2753
|
||||
310.26592 1275.3596 2301.9318 3577.2914 0 0 0 2301.9318
|
||||
292.97391 1204.2801 2289.8116 3494.0917 0 0 0 2289.8116
|
||||
294.81231 1211.8369 2315.0388 3526.8757 0 0 0 2315.0388
|
||||
298.66155 1227.6594 2317.2844 3544.9437 0 0 0 2317.2844
|
||||
302.77939 1244.5859 2301.2063 3545.7922 0 0 0 2301.2063
|
||||
291.47597 1198.1228 2285.1757 3483.2985 0 0 0 2285.1757
|
||||
286.19045 1176.3964 2265.2665 3441.6629 0 0 0 2265.2665
|
||||
295.58144 1214.9984 2272.3165 3487.315 0 0 0 2272.3165
|
||||
283.86988 1166.8577 2320.6142 3487.4719 0 0 0 2320.6142
|
||||
300.0576 1233.3979 2330.8962 3564.2941 0 0 0 2330.8962
|
||||
299.86413 1232.6026 2321.2281 3553.8308 0 0 0 2321.2281
|
||||
292.79017 1203.5248 2334.2308 3537.7557 0 0 0 2334.2308
|
||||
291.5027 1198.2327 2335.2119 3533.4446 0 0 0 2335.2119
|
||||
299.55471 1231.3307 2332.5216 3563.8524 0 0 0 2332.5216
|
||||
293.29613 1205.6046 2295.3263 3500.9309 0 0 0 2295.3263
|
||||
303.13151 1246.0333 2310.0548 3556.0881 0 0 0 2310.0548
|
||||
298.83954 1228.391 2297.3117 3525.7027 0 0 0 2297.3117
|
||||
297.44775 1222.67 2307.2483 3529.9183 0 0 0 2307.2483
|
||||
309.59874 1272.6171 2309.2439 3581.861 0 0 0 2309.2439
|
||||
307.47844 1263.9015 2274.998 3538.8995 0 0 0 2274.998
|
||||
Loop time of 11.2235 on 4 procs for 5000 steps with 1380 atoms
|
||||
|
||||
Performance: 76.982 ns/day, 0.312 hours/ns, 445.495 timesteps/s
|
||||
98.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 7.1444 | 8.5074 | 10.534 | 44.9 | 75.80
|
||||
Bond | 0.00017048 | 0.00020672 | 0.00030488 | 0.0 | 0.00
|
||||
Neigh | 0.026174 | 0.12108 | 0.26052 | 28.2 | 1.08
|
||||
Comm | 0.21788 | 1.8597 | 3.3375 | 81.2 | 16.57
|
||||
Output | 0.0008989 | 0.0069895 | 0.021647 | 10.2 | 0.06
|
||||
Modify | 0.19418 | 0.7044 | 2.1378 | 98.6 | 6.28
|
||||
Other | | 0.02368 | | | 0.21
|
||||
|
||||
Nlocal: 345.000 ave 678 max 148 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
Nghost: 2854.25 ave 4464 max 1181 min
|
||||
Histogram: 1 0 0 1 0 0 1 0 0 1
|
||||
Neighs: 19366.8 ave 38533 max 7481 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
|
||||
Total # of neighbors = 77467
|
||||
Ave neighs/atom = 56.135507
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 121
|
||||
Dangerous builds = 1
|
||||
|
||||
# Turn off recentering during production phase
|
||||
unfix recentering
|
||||
|
||||
# Setup trajectory output
|
||||
dump myDump all custom 100 benzene_water.lammpstrj.gz id type x y z element
|
||||
dump_modify myDump element B W
|
||||
dump_modify myDump sort id
|
||||
|
||||
# Production (for realistic results, run for 10000000 steps)
|
||||
reset_timestep 0
|
||||
run 1000
|
||||
generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 8.640 | 8.791 | 8.894 Mbytes
|
||||
Temp KinEng PotEng TotEng E_bond E_angle E_dihed E_vdwl
|
||||
307.47844 1263.9015 2274.998 3538.8995 0 0 0 2274.998
|
||||
309.46142 1272.0526 2274.8499 3546.9026 0 0 0 2274.8499
|
||||
300.70977 1236.0787 2301.0588 3537.1374 0 0 0 2301.0588
|
||||
300.53659 1235.3668 2316.1008 3551.4675 0 0 0 2316.1008
|
||||
300.48582 1235.1581 2296.3009 3531.459 0 0 0 2296.3009
|
||||
299.2618 1230.1267 2325.7501 3555.8768 0 0 0 2325.7501
|
||||
303.00905 1245.5299 2321.8238 3567.3537 0 0 0 2321.8238
|
||||
300.07018 1233.4496 2339.2833 3572.7329 0 0 0 2339.2833
|
||||
304.20292 1250.4374 2353.1018 3603.5392 0 0 0 2353.1018
|
||||
304.19487 1250.4043 2334.5087 3584.913 0 0 0 2334.5087
|
||||
294.24283 1209.4961 2335.0535 3544.5496 0 0 0 2335.0535
|
||||
Loop time of 2.90512 on 4 procs for 1000 steps with 1380 atoms
|
||||
|
||||
Performance: 59.481 ns/day, 0.403 hours/ns, 344.220 timesteps/s
|
||||
98.4% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.8627 | 2.2082 | 2.7289 | 22.6 | 76.01
|
||||
Bond | 4.042e-05 | 5.3677e-05 | 8.4044e-05 | 0.0 | 0.00
|
||||
Neigh | 0.0066184 | 0.030172 | 0.064523 | 13.9 | 1.04
|
||||
Comm | 0.05914 | 0.51145 | 0.86887 | 40.7 | 17.61
|
||||
Output | 0.0057814 | 0.0073478 | 0.011158 | 2.6 | 0.25
|
||||
Modify | 0.0085337 | 0.020869 | 0.042248 | 9.4 | 0.72
|
||||
Other | | 0.127 | | | 4.37
|
||||
|
||||
Nlocal: 345.000 ave 682 max 147 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
Nghost: 2836.25 ave 4427 max 1175 min
|
||||
Histogram: 1 0 0 1 0 0 1 0 0 1
|
||||
Neighs: 19249.8 ave 38683 max 7433 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 76999
|
||||
Ave neighs/atom = 55.796377
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 23
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:14
|
||||
@ -1,226 +0,0 @@
|
||||
LAMMPS (7 Aug 2019)
|
||||
# LAMMPS input file for 50.0% methanol mole fraction solution
|
||||
# with 2500 methanol molecules in implicit water.
|
||||
#
|
||||
#
|
||||
# Author: David Rosenberger, van der Vegt Group, TU Darmstadt
|
||||
#
|
||||
# Refer: Rosenberger, Sanyal, Shell, van der Vegt, J. Chem. Theory Comput. 15, 2881-2895 (2019)
|
||||
|
||||
|
||||
# Initialize simulation box
|
||||
dimension 3
|
||||
boundary p p p
|
||||
units real
|
||||
atom_style molecular
|
||||
|
||||
# Set potential styles
|
||||
pair_style hybrid/overlay table spline 500 local/density
|
||||
|
||||
# Read molecule data and set initial velocities
|
||||
read_data methanol_implicit_water.data
|
||||
orthogonal box = (-31.123 -31.123 -31.123) to (31.123 31.123 31.123)
|
||||
2 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
2500 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.00063014 secs
|
||||
read_data CPU = 0.00599909 secs
|
||||
velocity all create 3.0000e+02 12142 rot yes dist gaussian
|
||||
|
||||
# Assign potentials
|
||||
pair_coeff 1 1 table methanol_implicit_water.pair.table PairMM
|
||||
WARNING: 93 of 500 force values in table are inconsistent with -dE/dr.
|
||||
Should only be flagged at inflection points (../pair_table.cpp:483)
|
||||
WARNING: 254 of 500 distance values in table with relative error
|
||||
over 1e-06 to re-computed values (../pair_table.cpp:492)
|
||||
pair_coeff * * local/density methanol_implicit_water.localdensity.table
|
||||
|
||||
|
||||
|
||||
|
||||
#Recentering during minimization and equilibration
|
||||
fix recentering all recenter 0.0 0.0 0.0 units box
|
||||
|
||||
#Thermostat & time integration
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom etotal ke pe temp evdwl
|
||||
|
||||
#minimization
|
||||
minimize 1.e-4 0.0 1000 1000
|
||||
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (../min.cpp:168)
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 17
|
||||
ghost atom cutoff = 17
|
||||
binsize = 8.5, bins = 8 8 8
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair table, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
(2) pair local/density, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.411 | 7.411 | 7.412 Mbytes
|
||||
TotEng KinEng PotEng Temp E_vdwl
|
||||
1470.3564 2234.7133 -764.35689 300 -764.35689
|
||||
46.496766 2234.7133 -2188.2165 300 -2188.2165
|
||||
7.9030246 2234.7133 -2226.8103 300 -2226.8103
|
||||
Loop time of 0.463996 on 8 procs for 121 steps with 2500 atoms
|
||||
|
||||
91.4% CPU use with 8 MPI tasks x no OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = linesearch alpha is zero
|
||||
Energy initial, next-to-last, final =
|
||||
-764.356892369 -2227.85589084 -2226.81026984
|
||||
Force two-norm initial, final = 134.911 3.83896
|
||||
Force max component initial, final = 14.1117 1.07422
|
||||
Final line search alpha, max atom move = 5.06747e-10 5.44356e-10
|
||||
Iterations, force evaluations = 121 154
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.41442 | 0.41976 | 0.42434 | 0.5 | 90.47
|
||||
Bond | 1.1683e-05 | 2.0713e-05 | 3.5048e-05 | 0.0 | 0.00
|
||||
Neigh | 0.0084722 | 0.0090862 | 0.010038 | 0.5 | 1.96
|
||||
Comm | 0.022712 | 0.028157 | 0.034072 | 1.9 | 6.07
|
||||
Output | 3.1948e-05 | 3.6925e-05 | 6.6996e-05 | 0.0 | 0.01
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.006937 | | | 1.50
|
||||
|
||||
Nlocal: 312.5 ave 333 max 299 min
|
||||
Histogram: 2 2 0 0 1 0 2 0 0 1
|
||||
Nghost: 2546 ave 2580 max 2517 min
|
||||
Histogram: 1 1 0 3 0 1 0 0 0 2
|
||||
Neighs: 33215.4 ave 37251 max 29183 min
|
||||
Histogram: 1 0 0 1 2 2 0 1 0 1
|
||||
|
||||
Total # of neighbors = 265723
|
||||
Ave neighs/atom = 106.289
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 6
|
||||
Dangerous builds = 0
|
||||
|
||||
#set up integration parameters
|
||||
fix timeintegration all nve
|
||||
fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 59915
|
||||
|
||||
#Equilibration (for realistic results, run for 2000000 steps)
|
||||
reset_timestep 0
|
||||
thermo 200
|
||||
thermo_style custom etotal ke pe temp evdwl
|
||||
|
||||
#run equilibration
|
||||
run 2000
|
||||
WARNING: Fix recenter should come after all other integration fixes (../fix_recenter.cpp:131)
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.286 | 6.286 | 6.287 Mbytes
|
||||
TotEng KinEng PotEng Temp E_vdwl
|
||||
177.26822 2234.7133 -2057.4451 300 -2057.4451
|
||||
736.24287 2151.2608 -1415.0179 288.79688 -1415.0179
|
||||
963.07617 2090.6433 -1127.5671 280.65926 -1127.5671
|
||||
1148.9049 2173.1327 -1024.2279 291.73309 -1024.2279
|
||||
1303.6409 2279.8586 -976.21767 306.06055 -976.21767
|
||||
1355.42 2281.0383 -925.61826 306.21892 -925.61826
|
||||
1394.5206 2276.2093 -881.68863 305.57064 -881.68863
|
||||
1346.9764 2215.2973 -868.32091 297.3935 -868.32091
|
||||
1381.3654 2248.8061 -867.44063 301.89189 -867.44063
|
||||
1315.8059 2189.3193 -873.51332 293.90606 -873.51332
|
||||
1314.4456 2209.7431 -895.29752 296.64787 -895.29752
|
||||
Loop time of 6.38989 on 8 procs for 2000 steps with 2500 atoms
|
||||
|
||||
Performance: 27.043 ns/day, 0.887 hours/ns, 312.994 timesteps/s
|
||||
80.5% CPU use with 8 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 5.2693 | 5.3572 | 5.457 | 2.1 | 83.84
|
||||
Bond | 0.00028825 | 0.00033835 | 0.00039148 | 0.0 | 0.01
|
||||
Neigh | 0.0296 | 0.032337 | 0.035071 | 0.9 | 0.51
|
||||
Comm | 0.64679 | 0.73397 | 0.80847 | 5.2 | 11.49
|
||||
Output | 0.00033498 | 0.00051582 | 0.0015228 | 0.0 | 0.01
|
||||
Modify | 0.16395 | 0.18919 | 0.21056 | 3.9 | 2.96
|
||||
Other | | 0.07636 | | | 1.19
|
||||
|
||||
Nlocal: 312.5 ave 337 max 295 min
|
||||
Histogram: 2 2 0 1 0 0 0 1 1 1
|
||||
Nghost: 2551.62 ave 2582 max 2525 min
|
||||
Histogram: 2 1 0 0 1 1 1 0 1 1
|
||||
Neighs: 33241.8 ave 37659 max 29705 min
|
||||
Histogram: 2 0 0 2 2 0 0 0 1 1
|
||||
|
||||
Total # of neighbors = 265934
|
||||
Ave neighs/atom = 106.374
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 21
|
||||
Dangerous builds = 0
|
||||
|
||||
#turn off recentering during production run
|
||||
unfix recentering
|
||||
|
||||
|
||||
#setup trajectory output
|
||||
dump myDump all custom 100 methanol_implicit_water.lammpstrj.gz id type x y z element
|
||||
dump_modify myDump element M
|
||||
dump_modify myDump sort id
|
||||
|
||||
#run production (for realistic results, run for 10000000 steps)
|
||||
reset_timestep 0
|
||||
thermo 1000
|
||||
thermo_style custom etotal ke pe temp evdwl
|
||||
run 10000
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.588 | 7.589 | 7.589 Mbytes
|
||||
TotEng KinEng PotEng Temp E_vdwl
|
||||
1442.5428 2209.7431 -767.20027 296.64787 -767.20027
|
||||
1391.8624 2262.6889 -870.82656 303.7556 -870.82656
|
||||
1375.914 2244.6176 -868.7036 301.3296 -868.7036
|
||||
1345.9064 2227.2324 -881.32599 298.99573 -881.32599
|
||||
1379.2334 2278.1156 -898.88222 305.82657 -898.88222
|
||||
1389.7928 2255.8062 -866.01341 302.83163 -866.01341
|
||||
1380.4549 2258.2108 -877.75582 303.15443 -877.75582
|
||||
1380.8489 2256.9432 -876.09428 302.98426 -876.09428
|
||||
1326.5151 2225.7408 -899.22577 298.79549 -899.22577
|
||||
1376.6025 2253.0128 -876.41028 302.45662 -876.41028
|
||||
1331.0008 2218.1033 -887.10258 297.77019 -887.10258
|
||||
Loop time of 25.4591 on 8 procs for 10000 steps with 2500 atoms
|
||||
|
||||
Performance: 33.937 ns/day, 0.707 hours/ns, 392.787 timesteps/s
|
||||
89.3% CPU use with 8 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 21.635 | 21.916 | 22.237 | 3.9 | 86.08
|
||||
Bond | 0.0011308 | 0.0013149 | 0.0016932 | 0.5 | 0.01
|
||||
Neigh | 0.14593 | 0.15675 | 0.16667 | 1.9 | 0.62
|
||||
Comm | 1.3789 | 1.7502 | 1.9558 | 13.7 | 6.87
|
||||
Output | 0.34664 | 0.82927 | 1.2013 | 32.8 | 3.26
|
||||
Modify | 0.24904 | 0.25842 | 0.26907 | 1.2 | 1.02
|
||||
Other | | 0.5475 | | | 2.15
|
||||
|
||||
Nlocal: 312.5 ave 327 max 298 min
|
||||
Histogram: 2 0 0 1 1 0 1 1 1 1
|
||||
Nghost: 2575 ave 2601 max 2559 min
|
||||
Histogram: 2 0 3 1 0 0 0 0 1 1
|
||||
Neighs: 33223.2 ave 35920 max 30303 min
|
||||
Histogram: 1 1 1 1 0 1 0 0 0 3
|
||||
|
||||
Total # of neighbors = 265786
|
||||
Ave neighs/atom = 106.314
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 103
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:32
|
||||
@ -0,0 +1,259 @@
|
||||
LAMMPS (27 Oct 2021)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# LAMMPS input file for 50.0% methanol mole fraction solution
|
||||
# with 2500 methanol molecules in implicit water.
|
||||
#
|
||||
#
|
||||
# Author: David Rosenberger, van der Vegt Group, TU Darmstadt
|
||||
#
|
||||
# Refer: Rosenberger, Sanyal, Shell, van der Vegt, J. Chem. Theory Comput. 15, 2881-2895 (2019)
|
||||
|
||||
|
||||
# Initialize simulation box
|
||||
dimension 3
|
||||
boundary p p p
|
||||
units real
|
||||
atom_style molecular
|
||||
|
||||
# Set potential styles
|
||||
pair_style hybrid/overlay table spline 500 local/density
|
||||
|
||||
# Read molecule data and set initial velocities
|
||||
read_data methanol_implicit_water.data
|
||||
Reading data file ...
|
||||
orthogonal box = (-31.123000 -31.123000 -31.123000) to (31.123000 31.123000 31.123000)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
2500 atoms
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.001 seconds
|
||||
read_data CPU = 0.016 seconds
|
||||
velocity all create 3.0000e+02 12142 rot yes dist gaussian
|
||||
|
||||
# Assign potentials
|
||||
pair_coeff 1 1 table methanol_implicit_water.pair.table PairMM
|
||||
WARNING: 93 of 500 force values in table PairMM are inconsistent with -dE/dr.
|
||||
WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465)
|
||||
WARNING: 254 of 500 distance values in table 1e-06 with relative error
|
||||
WARNING: over PairMM to re-computed values (src/pair_table.cpp:473)
|
||||
pair_coeff * * local/density methanol_implicit_water.localdensity.table
|
||||
|
||||
|
||||
|
||||
|
||||
#Recentering during minimization and equilibration
|
||||
fix recentering all recenter 0.0 0.0 0.0 units box
|
||||
|
||||
#Thermostat & time integration
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom etotal ke pe temp evdwl
|
||||
|
||||
#minimization
|
||||
minimize 1.e-4 0.0 1000 1000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- pair_style local/density command:
|
||||
|
||||
@Article{Sanyal16,
|
||||
author = {T.Sanyal and M.Scott Shell},
|
||||
title = {Coarse-grained models using local-density potentials optimized with the relative entropy: Application to implicit solvation},
|
||||
journal = {J.~Chem.~Phys.},
|
||||
year = 2016,
|
||||
DOI = doi.org/10.1063/1.4958629}
|
||||
|
||||
@Article{Sanyal18,
|
||||
author = {T.Sanyal and M.Scott Shell},
|
||||
title = {Transferable coarse-grained models of liquid-liquid equilibrium using local density potentials optimized with the relative entropy},
|
||||
journal = {J.~Phys.~Chem. B},
|
||||
year = 2018,
|
||||
DOI = doi.org/10.1021/acs.jpcb.7b12446}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:187)
|
||||
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 17
|
||||
ghost atom cutoff = 17
|
||||
binsize = 8.5, bins = 8 8 8
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair table, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
(2) pair local/density, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.535 | 9.535 | 9.535 Mbytes
|
||||
TotEng KinEng PotEng Temp E_vdwl
|
||||
1283.8556 2234.7133 -950.85771 300 -950.85771
|
||||
-10.187232 2234.7133 -2244.9005 300 -2244.9005
|
||||
-124.79406 2234.7133 -2359.5074 300 -2359.5074
|
||||
-126.7619 2234.7133 -2361.4752 300 -2361.4752
|
||||
Loop time of 3.74581 on 1 procs for 205 steps with 2500 atoms
|
||||
|
||||
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = energy tolerance
|
||||
Energy initial, next-to-last, final =
|
||||
-950.857712502514 -2361.24417962983 -2361.47519428972
|
||||
Force two-norm initial, final = 135.25170 2.8038329
|
||||
Force max component initial, final = 14.083102 1.1154133
|
||||
Final line search alpha, max atom move = 0.16981022 0.18940857
|
||||
Iterations, force evaluations = 205 223
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.5678 | 3.5678 | 3.5678 | 0.0 | 95.25
|
||||
Bond | 7.5831e-05 | 7.5831e-05 | 7.5831e-05 | 0.0 | 0.00
|
||||
Neigh | 0.12962 | 0.12962 | 0.12962 | 0.0 | 3.46
|
||||
Comm | 0.019204 | 0.019204 | 0.019204 | 0.0 | 0.51
|
||||
Output | 0.00023948 | 0.00023948 | 0.00023948 | 0.0 | 0.01
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.02886 | | | 0.77
|
||||
|
||||
Nlocal: 2500.00 ave 2500 max 2500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 6729.00 ave 6729 max 6729 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 265637.0 ave 265637 max 265637 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 265637
|
||||
Ave neighs/atom = 106.25480
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 11
|
||||
Dangerous builds = 0
|
||||
|
||||
#set up integration parameters
|
||||
fix timeintegration all nve
|
||||
fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 59915
|
||||
|
||||
#Equilibration (for realistic results, run for 2000000 steps)
|
||||
reset_timestep 0
|
||||
thermo 200
|
||||
thermo_style custom etotal ke pe temp evdwl
|
||||
|
||||
#run equilibration
|
||||
run 2000
|
||||
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: Fix recenter should come after all other integration fixes (src/fix_recenter.cpp:133)
|
||||
Per MPI rank memory allocation (min/avg/max) = 8.410 | 8.410 | 8.410 Mbytes
|
||||
TotEng KinEng PotEng Temp E_vdwl
|
||||
-126.7619 2234.7133 -2361.4752 300 -2361.4752
|
||||
517.05047 2015.8636 -1498.8131 270.62043 -1498.8131
|
||||
931.78263 2135.4332 -1203.6506 286.6721 -1203.6506
|
||||
1162.6209 2242.1662 -1079.5453 301.00051 -1079.5453
|
||||
1164.2129 2211.6204 -1047.4075 296.89989 -1047.4075
|
||||
1258.0085 2286.5942 -1028.5857 306.96477 -1028.5857
|
||||
1231.1937 2200.814 -969.62032 295.44917 -969.62032
|
||||
1251.2144 2245.0533 -993.83885 301.3881 -993.83885
|
||||
1237.2495 2239.8802 -1002.6307 300.69363 -1002.6307
|
||||
1232.3342 2224.3415 -992.00722 298.60763 -992.00722
|
||||
1235.3228 2197.191 -961.86817 294.9628 -961.86817
|
||||
Loop time of 23.6478 on 1 procs for 2000 steps with 2500 atoms
|
||||
|
||||
Performance: 7.307 ns/day, 3.284 hours/ns, 84.575 timesteps/s
|
||||
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 22.797 | 22.797 | 22.797 | 0.0 | 96.40
|
||||
Bond | 0.00070412 | 0.00070412 | 0.00070412 | 0.0 | 0.00
|
||||
Neigh | 0.2249 | 0.2249 | 0.2249 | 0.0 | 0.95
|
||||
Comm | 0.12259 | 0.12259 | 0.12259 | 0.0 | 0.52
|
||||
Output | 0.00088925 | 0.00088925 | 0.00088925 | 0.0 | 0.00
|
||||
Modify | 0.46447 | 0.46447 | 0.46447 | 0.0 | 1.96
|
||||
Other | | 0.03711 | | | 0.16
|
||||
|
||||
Nlocal: 2500.00 ave 2500 max 2500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 6752.00 ave 6752 max 6752 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 265940.0 ave 265940 max 265940 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 265940
|
||||
Ave neighs/atom = 106.37600
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 20
|
||||
Dangerous builds = 0
|
||||
|
||||
#turn off recentering during production run
|
||||
unfix recentering
|
||||
|
||||
|
||||
#setup trajectory output
|
||||
dump myDump all custom 100 methanol_implicit_water.lammpstrj.gz id type x y z element
|
||||
dump_modify myDump element M
|
||||
dump_modify myDump sort id
|
||||
|
||||
#run production (for realistic results, run for 10000000 steps)
|
||||
reset_timestep 0
|
||||
thermo 1000
|
||||
thermo_style custom etotal ke pe temp evdwl
|
||||
run 10000
|
||||
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.918 | 9.918 | 9.918 Mbytes
|
||||
TotEng KinEng PotEng Temp E_vdwl
|
||||
1235.3228 2197.191 -961.86817 294.9628 -961.86817
|
||||
1289.8463 2236.1425 -946.29622 300.19186 -946.29622
|
||||
1348.0825 2305.0295 -956.94703 309.43963 -956.94703
|
||||
1279.5478 2241.1582 -961.61041 300.86521 -961.61041
|
||||
1231.8597 2201.9591 -970.09949 295.60291 -970.09949
|
||||
1277.3424 2221.3696 -944.02725 298.20867 -944.02725
|
||||
1296.0116 2222.0998 -926.08818 298.3067 -926.08818
|
||||
1266.2849 2206.3727 -940.08782 296.1954 -940.08782
|
||||
1313.2808 2260.5077 -947.22683 303.46278 -947.22683
|
||||
1309.3076 2234.3895 -925.08198 299.95654 -925.08198
|
||||
1275.9792 2221.3037 -945.32449 298.19982 -945.32449
|
||||
Loop time of 67.3224 on 1 procs for 10000 steps with 2500 atoms
|
||||
|
||||
Performance: 12.834 ns/day, 1.870 hours/ns, 148.539 timesteps/s
|
||||
99.4% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 64.476 | 64.476 | 64.476 | 0.0 | 95.77
|
||||
Bond | 0.0014504 | 0.0014504 | 0.0014504 | 0.0 | 0.00
|
||||
Neigh | 0.71333 | 0.71333 | 0.71333 | 0.0 | 1.06
|
||||
Comm | 0.32846 | 0.32846 | 0.32846 | 0.0 | 0.49
|
||||
Output | 0.46997 | 0.46997 | 0.46997 | 0.0 | 0.70
|
||||
Modify | 1.2336 | 1.2336 | 1.2336 | 0.0 | 1.83
|
||||
Other | | 0.09996 | | | 0.15
|
||||
|
||||
Nlocal: 2500.00 ave 2500 max 2500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 6662.00 ave 6662 max 6662 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 265774.0 ave 265774 max 265774 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 265774
|
||||
Ave neighs/atom = 106.30960
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 104
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:01:34
|
||||
@ -0,0 +1,259 @@
|
||||
LAMMPS (27 Oct 2021)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# LAMMPS input file for 50.0% methanol mole fraction solution
|
||||
# with 2500 methanol molecules in implicit water.
|
||||
#
|
||||
#
|
||||
# Author: David Rosenberger, van der Vegt Group, TU Darmstadt
|
||||
#
|
||||
# Refer: Rosenberger, Sanyal, Shell, van der Vegt, J. Chem. Theory Comput. 15, 2881-2895 (2019)
|
||||
|
||||
|
||||
# Initialize simulation box
|
||||
dimension 3
|
||||
boundary p p p
|
||||
units real
|
||||
atom_style molecular
|
||||
|
||||
# Set potential styles
|
||||
pair_style hybrid/overlay table spline 500 local/density
|
||||
|
||||
# Read molecule data and set initial velocities
|
||||
read_data methanol_implicit_water.data
|
||||
Reading data file ...
|
||||
orthogonal box = (-31.123000 -31.123000 -31.123000) to (31.123000 31.123000 31.123000)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
2500 atoms
|
||||
Finding 1-2 1-3 1-4 neighbors ...
|
||||
special bond factors lj: 0 0 0
|
||||
special bond factors coul: 0 0 0
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000 seconds
|
||||
read_data CPU = 0.005 seconds
|
||||
velocity all create 3.0000e+02 12142 rot yes dist gaussian
|
||||
|
||||
# Assign potentials
|
||||
pair_coeff 1 1 table methanol_implicit_water.pair.table PairMM
|
||||
WARNING: 93 of 500 force values in table PairMM are inconsistent with -dE/dr.
|
||||
WARNING: Should only be flagged at inflection points (src/pair_table.cpp:465)
|
||||
WARNING: 254 of 500 distance values in table 1e-06 with relative error
|
||||
WARNING: over PairMM to re-computed values (src/pair_table.cpp:473)
|
||||
pair_coeff * * local/density methanol_implicit_water.localdensity.table
|
||||
|
||||
|
||||
|
||||
|
||||
#Recentering during minimization and equilibration
|
||||
fix recentering all recenter 0.0 0.0 0.0 units box
|
||||
|
||||
#Thermostat & time integration
|
||||
timestep 1.0
|
||||
thermo 100
|
||||
thermo_style custom etotal ke pe temp evdwl
|
||||
|
||||
#minimization
|
||||
minimize 1.e-4 0.0 1000 1000
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
Your simulation uses code contributions which should be cited:
|
||||
|
||||
- pair_style local/density command:
|
||||
|
||||
@Article{Sanyal16,
|
||||
author = {T.Sanyal and M.Scott Shell},
|
||||
title = {Coarse-grained models using local-density potentials optimized with the relative entropy: Application to implicit solvation},
|
||||
journal = {J.~Chem.~Phys.},
|
||||
year = 2016,
|
||||
DOI = doi.org/10.1063/1.4958629}
|
||||
|
||||
@Article{Sanyal18,
|
||||
author = {T.Sanyal and M.Scott Shell},
|
||||
title = {Transferable coarse-grained models of liquid-liquid equilibrium using local density potentials optimized with the relative entropy},
|
||||
journal = {J.~Phys.~Chem. B},
|
||||
year = 2018,
|
||||
DOI = doi.org/10.1021/acs.jpcb.7b12446}
|
||||
|
||||
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
|
||||
|
||||
WARNING: Using 'neigh_modify every 1 delay 0 check yes' setting during minimization (src/min.cpp:187)
|
||||
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 17
|
||||
ghost atom cutoff = 17
|
||||
binsize = 8.5, bins = 8 8 8
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair table, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d
|
||||
bin: standard
|
||||
(2) pair local/density, perpetual, copy from (1)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.855 | 7.855 | 7.855 Mbytes
|
||||
TotEng KinEng PotEng Temp E_vdwl
|
||||
1283.8556 2234.7133 -950.85771 300 -950.85771
|
||||
-10.187232 2234.7133 -2244.9005 300 -2244.9005
|
||||
-124.3661 2234.7133 -2359.0794 300 -2359.0794
|
||||
-146.7158 2234.7133 -2381.4291 300 -2381.4291
|
||||
Loop time of 0.528503 on 4 procs for 244 steps with 2500 atoms
|
||||
|
||||
99.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
Minimization stats:
|
||||
Stopping criterion = energy tolerance
|
||||
Energy initial, next-to-last, final =
|
||||
-950.857712502527 -2381.2294195605 -2381.42909821383
|
||||
Force two-norm initial, final = 135.25170 2.3117934
|
||||
Force max component initial, final = 14.083102 0.60833889
|
||||
Final line search alpha, max atom move = 0.18347073 0.11161238
|
||||
Iterations, force evaluations = 244 278
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.48518 | 0.48843 | 0.49223 | 0.4 | 92.42
|
||||
Bond | 1.0084e-05 | 1.0861e-05 | 1.1483e-05 | 0.0 | 0.00
|
||||
Neigh | 0.018199 | 0.019153 | 0.020036 | 0.5 | 3.62
|
||||
Comm | 0.010229 | 0.014832 | 0.018994 | 2.6 | 2.81
|
||||
Output | 3.7985e-05 | 4.2069e-05 | 5.3874e-05 | 0.0 | 0.01
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 0.006032 | | | 1.14
|
||||
|
||||
Nlocal: 625.000 ave 638 max 618 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
Nghost: 3613.75 ave 3640 max 3580 min
|
||||
Histogram: 1 0 0 0 1 0 0 0 1 1
|
||||
Neighs: 66411.2 ave 70713 max 62416 min
|
||||
Histogram: 1 0 1 0 0 0 1 0 0 1
|
||||
|
||||
Total # of neighbors = 265645
|
||||
Ave neighs/atom = 106.25800
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 13
|
||||
Dangerous builds = 0
|
||||
|
||||
#set up integration parameters
|
||||
fix timeintegration all nve
|
||||
fix thermostat all langevin 3.0000e+02 3.0000e+02 1.0000e+02 59915
|
||||
|
||||
#Equilibration (for realistic results, run for 2000000 steps)
|
||||
reset_timestep 0
|
||||
thermo 200
|
||||
thermo_style custom etotal ke pe temp evdwl
|
||||
|
||||
#run equilibration
|
||||
run 2000
|
||||
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
WARNING: Fix recenter should come after all other integration fixes (src/fix_recenter.cpp:133)
|
||||
Per MPI rank memory allocation (min/avg/max) = 6.730 | 6.730 | 6.731 Mbytes
|
||||
TotEng KinEng PotEng Temp E_vdwl
|
||||
-146.7158 2234.7133 -2381.4291 300 -2381.4291
|
||||
540.68168 2041.44 -1500.7584 274.05395 -1500.7584
|
||||
945.4949 2163.7509 -1218.256 290.47363 -1218.256
|
||||
1118.7729 2195.7579 -1076.985 294.77042 -1076.985
|
||||
1215.0058 2233.2445 -1018.2387 299.80282 -1018.2387
|
||||
1251.8045 2240.8439 -989.03944 300.823 -989.03944
|
||||
1206.649 2149.5807 -942.93169 288.57134 -942.93169
|
||||
1290.6111 2248.3623 -957.75117 301.83231 -957.75117
|
||||
1312.8944 2219.147 -906.25264 297.9103 -906.25264
|
||||
1260.002 2211.4176 -951.41561 296.87266 -951.41561
|
||||
1335.0956 2270.1367 -935.04108 304.75543 -935.04108
|
||||
Loop time of 3.56721 on 4 procs for 2000 steps with 2500 atoms
|
||||
|
||||
Performance: 48.441 ns/day, 0.495 hours/ns, 560.663 timesteps/s
|
||||
99.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.3122 | 3.3399 | 3.3633 | 1.0 | 93.63
|
||||
Bond | 7.5941e-05 | 8.062e-05 | 8.7627e-05 | 0.0 | 0.00
|
||||
Neigh | 0.03524 | 0.036666 | 0.037864 | 0.6 | 1.03
|
||||
Comm | 0.080116 | 0.10444 | 0.13373 | 6.1 | 2.93
|
||||
Output | 0.00019977 | 0.00022502 | 0.00029007 | 0.0 | 0.01
|
||||
Modify | 0.077781 | 0.078206 | 0.078752 | 0.1 | 2.19
|
||||
Other | | 0.007641 | | | 0.21
|
||||
|
||||
Nlocal: 625.000 ave 637 max 616 min
|
||||
Histogram: 1 0 1 0 1 0 0 0 0 1
|
||||
Nghost: 3597.25 ave 3610 max 3586 min
|
||||
Histogram: 1 0 1 0 0 0 1 0 0 1
|
||||
Neighs: 66468.2 ave 69230 max 62721 min
|
||||
Histogram: 1 0 0 1 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 265873
|
||||
Ave neighs/atom = 106.34920
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 20
|
||||
Dangerous builds = 0
|
||||
|
||||
#turn off recentering during production run
|
||||
unfix recentering
|
||||
|
||||
|
||||
#setup trajectory output
|
||||
dump myDump all custom 100 methanol_implicit_water.lammpstrj.gz id type x y z element
|
||||
dump_modify myDump element M
|
||||
dump_modify myDump sort id
|
||||
|
||||
#run production (for realistic results, run for 10000000 steps)
|
||||
reset_timestep 0
|
||||
thermo 1000
|
||||
thermo_style custom etotal ke pe temp evdwl
|
||||
run 10000
|
||||
generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
|
||||
Per MPI rank memory allocation (min/avg/max) = 8.071 | 8.071 | 8.071 Mbytes
|
||||
TotEng KinEng PotEng Temp E_vdwl
|
||||
1335.0956 2270.1367 -935.04108 304.75543 -935.04108
|
||||
1266.2305 2227.2123 -960.98186 298.99303 -960.98186
|
||||
1304.2289 2238.1343 -933.90544 300.45925 -933.90544
|
||||
1311.3201 2232.0862 -920.7661 299.64733 -920.7661
|
||||
1289.9028 2241.3533 -951.45049 300.89139 -951.45049
|
||||
1314.2234 2244.8514 -930.62797 301.361 -930.62797
|
||||
1282.2744 2240.6716 -958.39719 300.79987 -958.39719
|
||||
1239.302 2181.5711 -942.2691 292.86591 -942.2691
|
||||
1327.0954 2242.6441 -915.54875 301.06468 -915.54875
|
||||
1334.9799 2239.6841 -904.70423 300.66731 -904.70423
|
||||
1320.6105 2263.4912 -942.88066 303.8633 -942.88066
|
||||
Loop time of 23.3399 on 4 procs for 10000 steps with 2500 atoms
|
||||
|
||||
Performance: 37.018 ns/day, 0.648 hours/ns, 428.451 timesteps/s
|
||||
99.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 21.343 | 21.606 | 21.766 | 3.7 | 92.57
|
||||
Bond | 0.00045963 | 0.0004817 | 0.0005083 | 0.0 | 0.00
|
||||
Neigh | 0.20708 | 0.22081 | 0.22733 | 1.7 | 0.95
|
||||
Comm | 0.63014 | 0.80326 | 1.0801 | 19.8 | 3.44
|
||||
Output | 0.11791 | 0.14443 | 0.22211 | 11.8 | 0.62
|
||||
Modify | 0.37291 | 0.389 | 0.41719 | 2.7 | 1.67
|
||||
Other | | 0.1761 | | | 0.75
|
||||
|
||||
Nlocal: 625.000 ave 636 max 613 min
|
||||
Histogram: 1 0 0 0 0 2 0 0 0 1
|
||||
Nghost: 3597.00 ave 3613 max 3580 min
|
||||
Histogram: 1 0 0 1 0 0 0 1 0 1
|
||||
Neighs: 66408.5 ave 69186 max 61728 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
|
||||
Total # of neighbors = 265634
|
||||
Ave neighs/atom = 106.25360
|
||||
Ave special neighs/atom = 0.0000000
|
||||
Neighbor list builds = 102
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Total wall time: 0:00:27
|
||||
@ -75,6 +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 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
|
||||
@ -82,7 +83,6 @@ hyper: global and local hyperdynamics of diffusion on Pt surface
|
||||
indent: spherical indenter into a 2d solid
|
||||
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
|
||||
latte: use of LATTE density-functional tight-binding quantum code
|
||||
mc: MC package models: GCMC, Widom, fix mol/swap
|
||||
meam: MEAM test for SiC and shear (same as shear examples)
|
||||
melt: rapid melt of 3d LJ system
|
||||
message: client/server coupling of 2 codes
|
||||
@ -167,7 +167,7 @@ The KAPPA directory has example scripts for computing the thermal
|
||||
conductivity (kappa) of a LJ liquid using 5 different methods. See
|
||||
the KAPPA/README file for more info.
|
||||
|
||||
The MC-LOOP directory has an example script for using LAMMPS as an
|
||||
The MC directory has an example script for using LAMMPS as an
|
||||
energy-evaluation engine in a iterative Monte Carlo energy-relaxation
|
||||
loop.
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user