Merge with current master
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -4,7 +4,7 @@ _Briefly describe the new feature(s), enhancement(s), or bugfix(es) included in
|
|||||||
|
|
||||||
**Related Issues**
|
**Related Issues**
|
||||||
|
|
||||||
__If this addresses an open GitHub Issue, mention the issue number here. Use the phrases `fixes #221` or `closes #135`, when you want those issues to be automatically closed when the pull request is merged_
|
_If this addresses an open GitHub issue for this project, please mention the issue number here, and describe the relation. Use the phrases `fixes #221` or `closes #135`, when you want an issue to be automatically closed when the pull request is merged_
|
||||||
|
|
||||||
**Author(s)**
|
**Author(s)**
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ By submitting this pull request, I agree, that my contribution will be included
|
|||||||
|
|
||||||
**Backward Compatibility**
|
**Backward Compatibility**
|
||||||
|
|
||||||
_Please state whether any changes in the pull request break backward compatibility for inputs, and - if yes - explain what has been changed and why_
|
_Please state whether any changes in the pull request will break backward compatibility for inputs, and - if yes - explain what has been changed and why_
|
||||||
|
|
||||||
**Implementation Notes**
|
**Implementation Notes**
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ _Provide any relevant details about how the changes are implemented, how correct
|
|||||||
|
|
||||||
**Post Submission Checklist**
|
**Post Submission Checklist**
|
||||||
|
|
||||||
_Please check the fields below as they are completed **after** the pull request has been submitted_
|
_Please check the fields below as they are completed **after** the pull request has been submitted. Delete lines that don't apply_
|
||||||
|
|
||||||
- [ ] The feature or features in this pull request is complete
|
- [ ] The feature or features in this pull request is complete
|
||||||
- [ ] Licensing information is complete
|
- [ ] Licensing information is complete
|
||||||
|
|||||||
@ -11,6 +11,8 @@ get_filename_component(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib
|
|||||||
get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE)
|
get_filename_component(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib ABSOLUTE)
|
||||||
get_filename_component(LAMMPS_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../doc ABSOLUTE)
|
get_filename_component(LAMMPS_DOC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../doc ABSOLUTE)
|
||||||
|
|
||||||
|
find_package(Git)
|
||||||
|
|
||||||
# by default, install into $HOME/.local (not /usr/local), so that no root access (and sudo!!) is needed
|
# by default, install into $HOME/.local (not /usr/local), so that no root access (and sudo!!) is needed
|
||||||
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||||
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "default install path" FORCE )
|
set(CMAKE_INSTALL_PREFIX "$ENV{HOME}/.local" CACHE PATH "default install path" FORCE )
|
||||||
@ -85,7 +87,7 @@ string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
|
|||||||
# this is fast, so check for it all the time
|
# this is fast, so check for it all the time
|
||||||
message(STATUS "Running check for auto-generated files from make-based build system")
|
message(STATUS "Running check for auto-generated files from make-based build system")
|
||||||
file(GLOB SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/style_*.h)
|
file(GLOB SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/style_*.h)
|
||||||
list(APPEND SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/lmpinstalledpkgs.h)
|
list(APPEND SRC_AUTOGEN_FILES ${LAMMPS_SOURCE_DIR}/lmpinstalledpkgs.h ${LAMMPS_SOURCE_DIR}/lmpgitversion.h)
|
||||||
foreach(_SRC ${SRC_AUTOGEN_FILES})
|
foreach(_SRC ${SRC_AUTOGEN_FILES})
|
||||||
get_filename_component(FILENAME "${_SRC}" NAME)
|
get_filename_component(FILENAME "${_SRC}" NAME)
|
||||||
if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME})
|
if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME})
|
||||||
@ -320,7 +322,7 @@ pkg_depends(USER-SCAFACOS MPI)
|
|||||||
|
|
||||||
find_package(OpenMP QUIET)
|
find_package(OpenMP QUIET)
|
||||||
option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND})
|
option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND})
|
||||||
if(BUILD_OMP OR PKG_KOKKOS OR PKG_USER-INTEL)
|
if(BUILD_OMP)
|
||||||
find_package(OpenMP REQUIRED)
|
find_package(OpenMP REQUIRED)
|
||||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
||||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||||
@ -379,19 +381,10 @@ if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PKG_PYTHON)
|
if(PKG_PYTHON)
|
||||||
find_package(PythonInterp REQUIRED)
|
|
||||||
find_package(PythonLibs REQUIRED)
|
find_package(PythonLibs REQUIRED)
|
||||||
add_definitions(-DLMP_PYTHON)
|
add_definitions(-DLMP_PYTHON)
|
||||||
include_directories(${PYTHON_INCLUDE_DIR})
|
include_directories(${PYTHON_INCLUDE_DIR})
|
||||||
list(APPEND LAMMPS_LINK_LIBS ${PYTHON_LIBRARY})
|
list(APPEND LAMMPS_LINK_LIBS ${PYTHON_LIBRARY})
|
||||||
if(BUILD_LIB AND BUILD_SHARED_LIBS)
|
|
||||||
if(NOT PYTHON_INSTDIR)
|
|
||||||
execute_process(COMMAND ${PYTHON_EXECUTABLE}
|
|
||||||
-c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))"
|
|
||||||
OUTPUT_VARIABLE PYTHON_INSTDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
endif()
|
|
||||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../python/lammps.py DESTINATION ${PYTHON_INSTDIR})
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(JPEG QUIET)
|
find_package(JPEG QUIET)
|
||||||
@ -567,6 +560,20 @@ if(PKG_USER-PLUMED)
|
|||||||
|
|
||||||
option(DOWNLOAD_PLUMED "Download Plumed package instead of using an already installed one" OFF)
|
option(DOWNLOAD_PLUMED "Download Plumed package instead of using an already installed one" OFF)
|
||||||
if(DOWNLOAD_PLUMED)
|
if(DOWNLOAD_PLUMED)
|
||||||
|
if(BUILD_MPI)
|
||||||
|
set(PLUMED_CONFIG_MPI "--enable-mpi")
|
||||||
|
set(PLUMED_CONFIG_CC ${CMAKE_MPI_C_COMPILER})
|
||||||
|
set(PLUMED_CONFIG_CXX ${CMAKE_MPI_CXX_COMPILER})
|
||||||
|
else()
|
||||||
|
set(PLUMED_CONFIG_MPI "--disable-mpi")
|
||||||
|
set(PLUMED_CONFIG_CC ${CMAKE_C_COMPILER})
|
||||||
|
set(PLUMED_CONFIG_CXX ${CMAKE_CXX_COMPILER})
|
||||||
|
endif()
|
||||||
|
if(BUILD_OMP)
|
||||||
|
set(PLUMED_CONFIG_OMP "--enable-openmp")
|
||||||
|
else()
|
||||||
|
set(PLUMED_CONFIG_OMP "--disable-openmp")
|
||||||
|
endif()
|
||||||
message(STATUS "PLUMED download requested - we will build our own")
|
message(STATUS "PLUMED download requested - we will build our own")
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
ExternalProject_Add(plumed_build
|
ExternalProject_Add(plumed_build
|
||||||
@ -575,9 +582,11 @@ if(PKG_USER-PLUMED)
|
|||||||
BUILD_IN_SOURCE 1
|
BUILD_IN_SOURCE 1
|
||||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
||||||
${CONFIGURE_REQUEST_PIC}
|
${CONFIGURE_REQUEST_PIC}
|
||||||
--enable-modules=all
|
--enable-modules=all
|
||||||
CXX=${CMAKE_MPI_CXX_COMPILER}
|
${PLUMED_CONFIG_MPI}
|
||||||
CC=${CMAKE_MPI_C_COMPILER}
|
${PLUMED_CONFIG_OMP}
|
||||||
|
CXX=${PLUMED_CONFIG_CXX}
|
||||||
|
CC=${PLUMED_CONFIG_CC}
|
||||||
)
|
)
|
||||||
ExternalProject_get_property(plumed_build INSTALL_DIR)
|
ExternalProject_get_property(plumed_build INSTALL_DIR)
|
||||||
set(PLUMED_INSTALL_DIR ${INSTALL_DIR})
|
set(PLUMED_INSTALL_DIR ${INSTALL_DIR})
|
||||||
@ -611,9 +620,13 @@ if(PKG_USER-PLUMED)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PKG_USER-MOLFILE)
|
if(PKG_USER-MOLFILE)
|
||||||
|
set(MOLFILE_INCLUDE_DIRS "${LAMMPS_LIB_SOURCE_DIR}/molfile" CACHE STRING "Path to VMD molfile plugin headers")
|
||||||
add_library(molfile INTERFACE)
|
add_library(molfile INTERFACE)
|
||||||
target_include_directories(molfile INTERFACE ${LAMMPS_LIB_SOURCE_DIR}/molfile)
|
target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIRS})
|
||||||
target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS})
|
# no need to link with -ldl on windows
|
||||||
|
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||||
|
target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS})
|
||||||
|
endif()
|
||||||
list(APPEND LAMMPS_LINK_LIBS molfile)
|
list(APPEND LAMMPS_LINK_LIBS molfile)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -624,7 +637,6 @@ if(PKG_USER-NETCDF)
|
|||||||
add_definitions(-DLMP_HAS_NETCDF -DNC_64BIT_DATA=0x0020)
|
add_definitions(-DLMP_HAS_NETCDF -DNC_64BIT_DATA=0x0020)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if(PKG_USER-SMD)
|
if(PKG_USER-SMD)
|
||||||
option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" OFF)
|
option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" OFF)
|
||||||
if(DOWNLOAD_EIGEN3)
|
if(DOWNLOAD_EIGEN3)
|
||||||
@ -668,15 +680,21 @@ if(PKG_USER-VTK)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PKG_KIM)
|
if(PKG_KIM)
|
||||||
option(DOWNLOAD_KIM "Download KIM-API v2 from OpenKIM instead of using an already installed one" OFF)
|
find_package(CURL)
|
||||||
|
if(CURL_FOUND)
|
||||||
|
include_directories(${CURL_INCLUDE_DIRS})
|
||||||
|
list(APPEND LAMMPS_LINK_LIBS ${CURL_LIBRARIES})
|
||||||
|
add_definitions(-DLMP_KIM_CURL)
|
||||||
|
endif()
|
||||||
|
option(DOWNLOAD_KIM "Download KIM-API from OpenKIM instead of using an already installed one" OFF)
|
||||||
if(DOWNLOAD_KIM)
|
if(DOWNLOAD_KIM)
|
||||||
message(STATUS "KIM-API v2 download requested - we will build our own")
|
message(STATUS "KIM-API download requested - we will build our own")
|
||||||
enable_language(C)
|
enable_language(C)
|
||||||
enable_language(Fortran)
|
enable_language(Fortran)
|
||||||
include(ExternalProject)
|
include(ExternalProject)
|
||||||
ExternalProject_Add(kim_build
|
ExternalProject_Add(kim_build
|
||||||
URL https://s3.openkim.org/kim-api/kim-api-v2-2.0.1.txz
|
URL https://s3.openkim.org/kim-api/kim-api-2.0.2.txz
|
||||||
URL_MD5 289c57f0c3bc2a549662283cac1c4ef1
|
URL_MD5 537d9c0abd30f85b875ebb584f9143fa
|
||||||
BINARY_DIR build
|
BINARY_DIR build
|
||||||
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||||
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||||
@ -685,17 +703,17 @@ if(PKG_KIM)
|
|||||||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||||
)
|
)
|
||||||
ExternalProject_get_property(kim_build INSTALL_DIR)
|
ExternalProject_get_property(kim_build INSTALL_DIR)
|
||||||
set(KIM-API-V2_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api-v2)
|
set(KIM-API_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api)
|
||||||
set(KIM-API-V2_LDFLAGS ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libkim-api-v2${CMAKE_SHARED_LIBRARY_SUFFIX})
|
set(KIM-API_LDFLAGS ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||||
list(APPEND LAMMPS_DEPS kim_build)
|
list(APPEND LAMMPS_DEPS kim_build)
|
||||||
else()
|
else()
|
||||||
find_package(KIM-API-V2)
|
find_package(KIM-API)
|
||||||
if(NOT KIM-API-V2_FOUND)
|
if(NOT KIM-API_FOUND)
|
||||||
message(FATAL_ERROR "KIM-API v2 not found, help CMake to find it by setting PKG_CONFIG_PATH, or set DOWNLOAD_KIM=ON to download it")
|
message(FATAL_ERROR "KIM-API not found, help CMake to find it by setting PKG_CONFIG_PATH, or set DOWNLOAD_KIM=ON to download it")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
list(APPEND LAMMPS_LINK_LIBS "${KIM-API-V2_LDFLAGS}")
|
list(APPEND LAMMPS_LINK_LIBS "${KIM-API_LDFLAGS}")
|
||||||
include_directories(${KIM-API-V2_INCLUDE_DIRS})
|
include_directories(${KIM-API_INCLUDE_DIRS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PKG_MESSAGE)
|
if(PKG_MESSAGE)
|
||||||
@ -710,6 +728,7 @@ if(PKG_MESSAGE)
|
|||||||
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi")
|
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi")
|
||||||
else()
|
else()
|
||||||
target_compile_definitions(cslib PRIVATE -DMPI_NO)
|
target_compile_definitions(cslib PRIVATE -DMPI_NO)
|
||||||
|
target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_MPI)
|
||||||
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi")
|
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -945,7 +964,7 @@ if(PKG_USER-OMP)
|
|||||||
|
|
||||||
# detects styles which have USER-OMP version
|
# detects styles which have USER-OMP version
|
||||||
RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES)
|
RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES)
|
||||||
RegisterFixStyle("${USER-OMP_SOURCES_DIR}/fix_omp.h")
|
RegisterFixStyle(${USER-OMP_SOURCES_DIR}/fix_omp.h)
|
||||||
|
|
||||||
get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
|
get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
|
||||||
|
|
||||||
@ -1058,37 +1077,79 @@ if(PKG_OPT)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PKG_USER-INTEL)
|
if(PKG_USER-INTEL)
|
||||||
find_package(TBB REQUIRED)
|
if(LAMMPS_SIZES STREQUAL BIGBIG)
|
||||||
find_package(MKL REQUIRED)
|
message(FATAL_ERROR "The USER-INTEL Package is not compatible with -DLAMMPS_BIGBIG")
|
||||||
|
endif()
|
||||||
|
add_definitions(-DLMP_USER_INTEL)
|
||||||
|
|
||||||
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)")
|
||||||
message(FATAL_ERROR "USER-INTEL is only useful together with intel compiler")
|
set(INTEL_ARCH_VALUES cpu knl)
|
||||||
endif()
|
set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES})
|
||||||
|
validate_option(INTEL_ARCH INTEL_ARCH_VALUES)
|
||||||
|
string(TOUPPER ${INTEL_ARCH} INTEL_ARCH)
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
|
find_package(Threads QUIET)
|
||||||
message(FATAL_ERROR "USER-INTEL needs at least a 2016 intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
|
if(Threads_FOUND)
|
||||||
endif()
|
set(INTEL_LRT_MODE "threads" CACHE STRING "Long-range threads mode (none, threads, or c++11)")
|
||||||
|
else()
|
||||||
if(NOT BUILD_OMP)
|
set(INTEL_LRT_MODE "none" CACHE STRING "Long-range threads mode (none, threads, or c++11)")
|
||||||
message(FATAL_ERROR "USER-INTEL requires OpenMP")
|
endif()
|
||||||
endif()
|
set(INTEL_LRT_VALUES none threads c++11)
|
||||||
|
set_property(CACHE INTEL_LRT_MODE PROPERTY STRINGS ${INTEL_LRT_VALUES})
|
||||||
if(NOT ${LAMMPS_MEMALIGN} STREQUAL "64")
|
validate_option(INTEL_LRT_MODE INTEL_LRT_VALUES)
|
||||||
message(FATAL_ERROR "USER-INTEL is only useful with LAMMPS_MEMALIGN=64")
|
string(TOUPPER ${INTEL_LRT_MODE} INTEL_LRT_MODE)
|
||||||
endif()
|
if(INTEL_LRT_MODE STREQUAL "THREADS")
|
||||||
|
if(Threads_FOUND)
|
||||||
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)")
|
add_definitions(-DLMP_INTEL_USELRT)
|
||||||
set(INTEL_ARCH_VALUES cpu knl)
|
list(APPEND LAMMPS_LINK_LIBS ${CMAKE_THREAD_LIBS_INIT})
|
||||||
set_property(CACHE INTEL_ARCH PROPERTY STRINGS ${INTEL_ARCH_VALUES})
|
|
||||||
validate_option(INTEL_ARCH INTEL_ARCH_VALUES)
|
|
||||||
string(TOUPPER ${INTEL_ARCH} INTEL_ARCH)
|
|
||||||
|
|
||||||
if(INTEL_ARCH STREQUAL "KNL")
|
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload")
|
|
||||||
set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"")
|
|
||||||
add_compile_options(-xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS})
|
|
||||||
add_definitions(-DLMP_INTEL_OFFLOAD)
|
|
||||||
else()
|
else()
|
||||||
|
message(FATAL_ERROR "Must have working threads library for Long-range thread support")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
if(INTEL_LRT_MODE STREQUAL "C++11")
|
||||||
|
add_definitions(-DLMP_INTEL_USERLRT -DLMP_INTEL_LRT11)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16)
|
||||||
|
message(FATAL_ERROR "USER-INTEL needs at least a 2016 Intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
message(WARNING "USER-INTEL gives best performance with Intel compilers")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_package(TBB QUIET)
|
||||||
|
if(TBB_FOUND)
|
||||||
|
list(APPEND LAMMPS_LINK_LIBS ${TBB_MALLOC_LIBRARIES})
|
||||||
|
else()
|
||||||
|
add_definitions(-DLMP_INTEL_NO_TBB)
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
|
message(WARNING "USER-INTEL with Intel compilers should use TBB malloc libraries")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
find_package(MKL QUIET)
|
||||||
|
if(MKL_FOUND)
|
||||||
|
add_definitions(-DLMP_USE_MKL_RNG)
|
||||||
|
list(APPEND LAMMPS_LINK_LIBS ${MKL_LIBRARIES})
|
||||||
|
else()
|
||||||
|
message(STATUS "Pair style dpd/intel will be faster with MKL libraries")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if((NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "64") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "128") AND (NOT ${LAMMPS_MEMALIGN} STREQUAL "256"))
|
||||||
|
message(FATAL_ERROR "USER-INTEL only supports memory alignment of 64, 128 or 256 on this platform")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(INTEL_ARCH STREQUAL "KNL")
|
||||||
|
if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
|
message(FATAL_ERROR "Must use Intel compiler with USER-INTEL for KNL architecture")
|
||||||
|
endif()
|
||||||
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -xHost -qopenmp -qoffload")
|
||||||
|
set(MIC_OPTIONS "-qoffload-option,mic,compiler,\"-fp-model fast=2 -mGLOB_default_function_attrs=\\\"gather_scatter_loop_unroll=4\\\"\"")
|
||||||
|
add_compile_options(-xMIC-AVX512 -qoffload -fno-alias -ansi-alias -restrict -qoverride-limits ${MIC_OPTIONS})
|
||||||
|
add_definitions(-DLMP_INTEL_OFFLOAD)
|
||||||
|
else()
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xCOMMON-AVX512")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xCOMMON-AVX512")
|
||||||
else()
|
else()
|
||||||
@ -1101,33 +1162,33 @@ if(PKG_USER-INTEL)
|
|||||||
add_compile_options(${_FLAG})
|
add_compile_options(${_FLAG})
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
else()
|
||||||
|
add_compile_options(-O3 -ffast-math)
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
add_definitions(-DLMP_INTEL_USELRT -DLMP_USE_MKL_RNG)
|
# collect sources
|
||||||
|
set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL)
|
||||||
|
set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/fix_intel.cpp
|
||||||
|
${USER-INTEL_SOURCES_DIR}/fix_nh_intel.cpp
|
||||||
|
${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp
|
||||||
|
${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp
|
||||||
|
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp
|
||||||
|
${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
|
||||||
|
|
||||||
list(APPEND LAMMPS_LINK_LIBS ${TBB_MALLOC_LIBRARIES} ${MKL_LIBRARIES})
|
set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}")
|
||||||
|
|
||||||
set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL)
|
# detect styles which have a USER-INTEL version
|
||||||
set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/intel_preprocess.h
|
RegisterStylesExt(${USER-INTEL_SOURCES_DIR} intel USER-INTEL_SOURCES)
|
||||||
${USER-INTEL_SOURCES_DIR}/intel_buffers.h
|
RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h)
|
||||||
${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp
|
RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h)
|
||||||
${USER-INTEL_SOURCES_DIR}/math_extra_intel.h
|
RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h)
|
||||||
${USER-INTEL_SOURCES_DIR}/nbin_intel.h
|
RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
|
||||||
${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp
|
|
||||||
${USER-INTEL_SOURCES_DIR}/npair_intel.h
|
|
||||||
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp
|
|
||||||
${USER-INTEL_SOURCES_DIR}/intel_simd.h
|
|
||||||
${USER-INTEL_SOURCES_DIR}/intel_intrinsics.h)
|
|
||||||
|
|
||||||
set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}")
|
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
|
||||||
|
|
||||||
# detects styles which have USER-INTEL version
|
list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES})
|
||||||
RegisterStylesExt(${USER-INTEL_SOURCES_DIR} opt USER-INTEL_SOURCES)
|
include_directories(${USER-INTEL_SOURCES_DIR})
|
||||||
|
|
||||||
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
|
|
||||||
|
|
||||||
list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES})
|
|
||||||
include_directories(${USER-INTEL_SOURCES_DIR})
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(PKG_GPU)
|
if(PKG_GPU)
|
||||||
@ -1169,6 +1230,10 @@ if(PKG_GPU)
|
|||||||
message(FATAL_ERROR "Could not find bin2c, use -DBIN2C=/path/to/bin2c to help cmake finding it.")
|
message(FATAL_ERROR "Could not find bin2c, use -DBIN2C=/path/to/bin2c to help cmake finding it.")
|
||||||
endif()
|
endif()
|
||||||
option(CUDPP_OPT "Enable CUDPP_OPT" ON)
|
option(CUDPP_OPT "Enable CUDPP_OPT" ON)
|
||||||
|
option(CUDA_MPS_SUPPORT "Enable tweaks to support CUDA Multi-process service (MPS)" OFF)
|
||||||
|
if(CUDA_MPS_SUPPORT)
|
||||||
|
set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM primary architecture (e.g. sm_60)")
|
set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM primary architecture (e.g. sm_60)")
|
||||||
|
|
||||||
@ -1232,7 +1297,7 @@ if(PKG_GPU)
|
|||||||
add_library(gpu STATIC ${GPU_LIB_SOURCES} ${GPU_LIB_CUDPP_SOURCES} ${GPU_OBJS})
|
add_library(gpu STATIC ${GPU_LIB_SOURCES} ${GPU_LIB_CUDPP_SOURCES} ${GPU_OBJS})
|
||||||
target_link_libraries(gpu ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
|
target_link_libraries(gpu ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
|
||||||
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_BINARY_DIR}/gpu ${CUDA_INCLUDE_DIRS})
|
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_BINARY_DIR}/gpu ${CUDA_INCLUDE_DIRS})
|
||||||
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -DMPI_GERYON -DUCL_NO_EXIT)
|
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC_SETTING} -DMPI_GERYON -DUCL_NO_EXIT ${GPU_CUDA_MPS_FLAGS})
|
||||||
if(CUDPP_OPT)
|
if(CUDPP_OPT)
|
||||||
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
|
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
|
||||||
target_compile_definitions(gpu PRIVATE -DUSE_CUDPP)
|
target_compile_definitions(gpu PRIVATE -DUSE_CUDPP)
|
||||||
@ -1326,6 +1391,18 @@ message(STATUS "Generating lmpinstalledpkgs.h...")
|
|||||||
file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${temp}" )
|
file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${temp}" )
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h")
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpinstalledpkgs.h")
|
||||||
|
|
||||||
|
######################################
|
||||||
|
# Generate lmpgitversion.h
|
||||||
|
######################################
|
||||||
|
add_custom_target(gitversion COMMAND ${CMAKE_COMMAND}
|
||||||
|
-DCMAKE_CURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
|
||||||
|
-DGIT_EXECUTABLE="${GIT_EXECUTABLE}"
|
||||||
|
-DGIT_FOUND="${GIT_FOUND}"
|
||||||
|
-DLAMMPS_STYLE_HEADERS_DIR="${LAMMPS_STYLE_HEADERS_DIR}"
|
||||||
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/Modules/generate_lmpgitversion.cmake)
|
||||||
|
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${LAMMPS_STYLE_HEADERS_DIR}/gitversion.h)
|
||||||
|
list(APPEND LAMMPS_DEPS gitversion)
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
# Actually add executable and lib to build
|
# Actually add executable and lib to build
|
||||||
############################################
|
############################################
|
||||||
@ -1447,6 +1524,49 @@ install(
|
|||||||
DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/profile.d
|
DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/profile.d
|
||||||
)
|
)
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Install LAMMPS lib and python module into site-packages folder with
|
||||||
|
# "install-python" target. Behaves exactly like "make install-python" for
|
||||||
|
# conventional build. Only available, if a shared library is built.
|
||||||
|
# This is primarily for people that only want to use the Python wrapper.
|
||||||
|
###############################################################################
|
||||||
|
if(BUILD_LIB AND BUILD_SHARED_LIBS)
|
||||||
|
find_package(PythonInterp)
|
||||||
|
if (PYTHONINTERP_FOUND)
|
||||||
|
add_custom_target(
|
||||||
|
install-python
|
||||||
|
${PYTHON_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h
|
||||||
|
-m ${CMAKE_CURRENT_SOURCE_DIR}/../python/lammps.py
|
||||||
|
-l ${CMAKE_BINARY_DIR}/liblammps${CMAKE_SHARED_LIBRARY_SUFFIX}
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../python
|
||||||
|
COMMENT "Installing LAMMPS Python module")
|
||||||
|
else()
|
||||||
|
add_custom_target(
|
||||||
|
install-python
|
||||||
|
${CMAKE_COMMAND} -E echo "Must have Python installed to install the LAMMPS Python module")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
add_custom_target(
|
||||||
|
install-python
|
||||||
|
${CMAKE_COMMAND} -E echo "Must build LAMMPS as a shared library to use the Python module")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Add LAMMPS python module to "install" target. This is taylored for building
|
||||||
|
# LAMMPS for package managers and with different prefix settings.
|
||||||
|
# This requires either a shared library or that the PYTHON package is included.
|
||||||
|
###############################################################################
|
||||||
|
if((BUILD_LIB AND BUILD_SHARED_LIBS) OR (PKG_PYTHON))
|
||||||
|
find_package(PythonInterp)
|
||||||
|
if (PYTHONINTERP_FOUND)
|
||||||
|
execute_process(COMMAND ${PYTHON_EXECUTABLE}
|
||||||
|
-c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))"
|
||||||
|
OUTPUT_VARIABLE PYTHON_DEFAULT_INSTDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
set(PYTHON_INSTDIR ${PYTHON_DEFAULT_INSTDIR} CACHE PATH "Installation folder for LAMMPS Python module")
|
||||||
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../python/lammps.py DESTINATION ${PYTHON_INSTDIR})
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# Testing
|
# Testing
|
||||||
#
|
#
|
||||||
|
|||||||
@ -19,7 +19,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2013--2018, Regents of the University of Minnesota.
|
# Copyright (c) 2013--2019, Regents of the University of Minnesota.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# Contributors:
|
# Contributors:
|
||||||
@ -28,23 +28,23 @@
|
|||||||
# Ryan S. Elliott
|
# Ryan S. Elliott
|
||||||
#
|
#
|
||||||
|
|
||||||
# - Find KIM-API-V2
|
# - Find KIM-API
|
||||||
#
|
#
|
||||||
# sets standard pkg_check_modules variables plus:
|
# sets standard pkg_check_modules variables plus:
|
||||||
#
|
#
|
||||||
# KIM-API-V2-CMAKE_C_COMPILER
|
# KIM-API-CMAKE_C_COMPILER
|
||||||
# KIM-API-V2-CMAKE_CXX_COMPILER
|
# KIM-API-CMAKE_CXX_COMPILER
|
||||||
# KIM-API-V2-CMAKE_Fortran_COMPILER
|
# KIM-API-CMAKE_Fortran_COMPILER
|
||||||
#
|
#
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
pkg_check_modules(KIM-API-V2 REQUIRED libkim-api-v2>=2.0)
|
pkg_check_modules(KIM-API REQUIRED libkim-api>=2.0)
|
||||||
|
|
||||||
pkg_get_variable(KIM-API-V2-CMAKE_C_COMPILER libkim-api-v2 CMAKE_C_COMPILER)
|
pkg_get_variable(KIM-API-V2-CMAKE_C_COMPILER libkim-api CMAKE_C_COMPILER)
|
||||||
pkg_get_variable(KIM-API-V2-CMAKE_CXX_COMPILER libkim-api-v2 CMAKE_CXX_COMPILER)
|
pkg_get_variable(KIM-API-V2-CMAKE_CXX_COMPILER libkim-api CMAKE_CXX_COMPILER)
|
||||||
pkg_get_variable(KIM-API-V2_CMAKE_Fortran_COMPILER libkim-api-v2 CMAKE_Fortran_COMPILER)
|
pkg_get_variable(KIM-API-V2_CMAKE_Fortran_COMPILER libkim-api CMAKE_Fortran_COMPILER)
|
||||||
|
|
||||||
# handle the QUIETLY and REQUIRED arguments and set KIM-API-V2_FOUND to TRUE
|
# handle the QUIETLY and REQUIRED arguments and set KIM-API_FOUND to TRUE
|
||||||
# if all listed variables are TRUE
|
# if all listed variables are TRUE
|
||||||
find_package_handle_standard_args(KIM-API-V2 REQUIRED_VARS KIM-API-V2_LIBRARIES)
|
find_package_handle_standard_args(KIM-API REQUIRED_VARS KIM-API_LIBRARIES)
|
||||||
@ -91,6 +91,10 @@ function(RegisterFixStyle path)
|
|||||||
AddStyleHeader(${path} FIX)
|
AddStyleHeader(${path} FIX)
|
||||||
endfunction(RegisterFixStyle)
|
endfunction(RegisterFixStyle)
|
||||||
|
|
||||||
|
function(RegisterIntegrateStyle path)
|
||||||
|
AddStyleHeader(${path} INTEGRATE)
|
||||||
|
endfunction(RegisterIntegrateStyle)
|
||||||
|
|
||||||
function(RegisterStyles search_path)
|
function(RegisterStyles search_path)
|
||||||
FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force
|
FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force
|
||||||
FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid
|
FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid
|
||||||
|
|||||||
30
cmake/Modules/generate_lmpgitversion.cmake
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
set(temp "#ifndef LMP_GIT_VERSION_H\n#define LMP_GIT_VERSION_H\n")
|
||||||
|
set(temp_git_commit "(unknown)")
|
||||||
|
set(temp_git_branch "(unknown)")
|
||||||
|
set(temp_git_describe "(unknown)")
|
||||||
|
set(temp_git_info "false")
|
||||||
|
if(GIT_FOUND AND EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.git)
|
||||||
|
set(temp_git_info "true")
|
||||||
|
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/.. rev-parse HEAD
|
||||||
|
OUTPUT_VARIABLE temp_git_commit
|
||||||
|
ERROR_QUIET
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/.. rev-parse --abbrev-ref HEAD
|
||||||
|
OUTPUT_VARIABLE temp_git_branch
|
||||||
|
ERROR_QUIET
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
execute_process(COMMAND ${GIT_EXECUTABLE} -C ${CMAKE_CURRENT_SOURCE_DIR}/.. describe --dirty=-modified
|
||||||
|
OUTPUT_VARIABLE temp_git_describe
|
||||||
|
ERROR_QUIET
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(temp "${temp}const bool LAMMPS_NS::LAMMPS::has_git_info = ${temp_git_info};\n")
|
||||||
|
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_commit[] = \"${temp_git_commit}\";\n")
|
||||||
|
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_branch[] = \"${temp_git_branch}\";\n")
|
||||||
|
set(temp "${temp}const char LAMMPS_NS::LAMMPS::git_descriptor[] = \"${temp_git_describe}\";\n")
|
||||||
|
set(temp "${temp}#endif\n\n")
|
||||||
|
|
||||||
|
message(STATUS "Generating lmpgitversion.h...")
|
||||||
|
file(WRITE "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h.tmp" "${temp}" )
|
||||||
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h.tmp" "${LAMMPS_STYLE_HEADERS_DIR}/lmpgitversion.h")
|
||||||
@ -155,11 +155,13 @@ make
|
|||||||
|
|
||||||
The CMake build exposes a lot of different options. In the old build system
|
The CMake build exposes a lot of different options. In the old build system
|
||||||
some of the package selections were possible by using special make target like
|
some of the package selections were possible by using special make target like
|
||||||
`make yes-std` or `make no-lib`. Achieving the same result with cmake requires
|
`make yes-std` or `make no-lib`. Achieving a similar result with cmake requires
|
||||||
specifying all options manually. This can quickly become a very long command
|
specifying all options manually. This can quickly become a very long command
|
||||||
line that is hard to handle. While these could be stored in a simple script
|
line that is hard to handle. While these could be stored in a simple script
|
||||||
file, there is another way of defining "presets" to compile LAMMPS in a certain
|
file, there is another way of defining "presets" to compile LAMMPS in a certain
|
||||||
way.
|
way. Since the cmake build process - contrary to the conventional build system -
|
||||||
|
includes the compilation of the bundled libraries into the standard build process,
|
||||||
|
the grouping of those presets is somewhat different.
|
||||||
|
|
||||||
A preset is a regular CMake script file that can use constructs such as
|
A preset is a regular CMake script file that can use constructs such as
|
||||||
variables, lists and for-loops to manipulate configuration options and create
|
variables, lists and for-loops to manipulate configuration options and create
|
||||||
@ -171,10 +173,10 @@ Such a file can then be passed to cmake via the `-C` flag. Several examples of
|
|||||||
presets can be found in the `cmake/presets` folder.
|
presets can be found in the `cmake/presets` folder.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# build LAMMPS with all "standard" packages which don't use libraries and enable GPU package
|
# build LAMMPS with all packages enabled which don't use external libraries and enable GPU package
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake
|
cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GPU=on ../cmake
|
||||||
```
|
```
|
||||||
|
|
||||||
# Reference
|
# Reference
|
||||||
@ -1429,6 +1431,17 @@ TODO
|
|||||||
</dl>
|
</dl>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>INTEL_LRT_MODE</code></td>
|
||||||
|
<td>How to support Long-range thread mode in Verlet integration</td>
|
||||||
|
<td>
|
||||||
|
<dl>
|
||||||
|
<dt><code>threads</code> (default, if pthreads available)</dt>
|
||||||
|
<dt><code>none</code> (default, if pthreads not available)</dt>
|
||||||
|
<dt><code>c++11</code></dt>
|
||||||
|
</dl>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@ -1503,6 +1516,16 @@ target API.
|
|||||||
</dl>
|
</dl>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>CUDA_MPS_SUPPORT</code> (CUDA only)</td>
|
||||||
|
<td>Enable tweaks for running with Nvidia CUDA Multi-process services daemon</td>
|
||||||
|
<td>
|
||||||
|
<dl>
|
||||||
|
<dt><code>on</code></dt>
|
||||||
|
<dt><code>off</code> (default)</dt>
|
||||||
|
</dl>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><code>BIN2C</code> (CUDA only)</td>
|
<td><code>BIN2C</code> (CUDA only)</td>
|
||||||
<td>Path to bin2c executable, will automatically pick up the first one in your $PATH.</td>
|
<td>Path to bin2c executable, will automatically pick up the first one in your $PATH.</td>
|
||||||
|
|||||||
@ -1,21 +1,17 @@
|
|||||||
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
# preset that turns on all existing packages off. can be used to reset
|
||||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
|
# an existing package selection without losing any other settings
|
||||||
MOLECULE MPIIO MSCG OPT PERI POEMS
|
|
||||||
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
|
|
||||||
|
|
||||||
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
|
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||||
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MISC MESSAGE MOLECULE
|
||||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
MPIIO MSCG OPT PERI POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
|
||||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
SRD VORONOI
|
||||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK
|
||||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
|
||||||
USER-UEF USER-VTK)
|
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||||
|
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
|
||||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
|
||||||
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
|
USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
||||||
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
USER-TALLY USER-UEF USER-VTK USER-YAFF)
|
||||||
|
|
||||||
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
|
|
||||||
|
|
||||||
foreach(PKG ${ALL_PACKAGES})
|
foreach(PKG ${ALL_PACKAGES})
|
||||||
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
||||||
|
|||||||
@ -1,21 +1,19 @@
|
|||||||
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
# preset that turns on all existing packages. using the combination
|
||||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
|
# this preset followed by the nolib.cmake preset should configure a
|
||||||
MOLECULE MPIIO MSCG OPT PERI POEMS
|
# LAMMPS binary, with as many packages included, that can be compiled
|
||||||
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
|
# with just a working C++ compiler and an MPI library.
|
||||||
|
|
||||||
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
|
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||||
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MISC MESSAGE MOLECULE
|
||||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
MPIIO MSCG OPT PERI POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
|
||||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
SRD VORONOI
|
||||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK
|
||||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
|
||||||
USER-UEF USER-VTK)
|
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||||
|
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
|
||||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
|
||||||
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
|
USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
||||||
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
USER-TALLY USER-UEF USER-VTK USER-YAFF)
|
||||||
|
|
||||||
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
|
|
||||||
|
|
||||||
foreach(PKG ${ALL_PACKAGES})
|
foreach(PKG ${ALL_PACKAGES})
|
||||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||||
|
|||||||
@ -1,71 +0,0 @@
|
|||||||
set(PKG_ASPHERE OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_BODY OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_CLASS2 OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_COLLOID OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_COMPRESS OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_CORESHELL OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_DIPOLE OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_GPU OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_GRANULAR OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_KIM OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_KOKKOS OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_KSPACE OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_LATTE OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_LIB OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_MANYBODY OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_MC OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_MEAM OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_MISC OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_MOLECULE OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_MPIIO OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_MSCG OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_OPT OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_PERI OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_POEMS OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_PYTHOFF OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_QEQ OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_REAX OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_REPLICA OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_RIGID OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_SHOCK OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_SNAP OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_SRD OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_VOROFFOI OFF CACHE BOOL "" FORCE)
|
|
||||||
|
|
||||||
set(PKG_USER OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-ATC OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-AWPMD OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-BOCS OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-CGDNA OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-CGSDK OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-COLVARS OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-DIFFRACTIOFF OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-DPD OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-DRUDE OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-EFF OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-FEP OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-H5MD OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-INTEL OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-LB OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-MANIFOLD OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-MEAMC OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-MESO OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-MGPT OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-MISC OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-MOFFF OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-MOLFILE OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-NETCDF OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-OMP OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-PHONON OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-PLUMED OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-QMMM OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-QTB OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-QUIP OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-REAXC OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-SDPD OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-SMD OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-SMTBQ OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-SPH OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-TALLY OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-UEF OFF CACHE BOOL "" FORCE)
|
|
||||||
set(PKG_USER-VTK OFF CACHE BOOL "" FORCE)
|
|
||||||
17
cmake/presets/mingw-cross.cmake
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||||
|
GRANULAR KSPACE MANYBODY MC MISC MOLECULE OPT PERI POEMS QEQ
|
||||||
|
REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI USER-ATC USER-AWPMD
|
||||||
|
USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION
|
||||||
|
USER-DPD USER-DRUDE USER-EFF USER-FEP USER-INTEL USER-MANIFOLD
|
||||||
|
USER-MEAMC USER-MESO USER-MISC USER-MOFFF USER-MOLFILE USER-OMP
|
||||||
|
USER-PHONON USER-PTM USER-QTB USER-REAXC USER-SDPD USER-SMD
|
||||||
|
USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF)
|
||||||
|
|
||||||
|
foreach(PKG ${WIN_PACKAGES})
|
||||||
|
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE)
|
||||||
|
set(DOWNLOAD_EIGEN3 ON CACHE BOOL "" FORCE)
|
||||||
|
set(LAMMPS_MEMALIGN "0" CACHE STRING "" FORCE)
|
||||||
|
set(INTEL_LRT_MODE "none" CACHE STRING "" FORCE)
|
||||||
8
cmake/presets/minimal.cmake
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# preset that turns on just a few, frequently used packages
|
||||||
|
# this will be compiled quickly and handle a lot of common inputs.
|
||||||
|
|
||||||
|
set(ALL_PACKAGES KSPACE MANYBODY MOLECULE RIGID)
|
||||||
|
|
||||||
|
foreach(PKG ${ALL_PACKAGES})
|
||||||
|
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||||
|
endforeach()
|
||||||
15
cmake/presets/most.cmake
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# preset that turns on a wide range of packages, some of which require
|
||||||
|
# external libraries. Compared to all_on.cmake some more unusual packages
|
||||||
|
# are removed. The resulting binary should be able to run most inputs.
|
||||||
|
|
||||||
|
set(ALL_PACKAGES ASPHERE CLASS2 COLLOID CORESHELL DIPOLE
|
||||||
|
GRANULAR KSPACE MANYBODY MC MISC MOLECULE OPT PERI
|
||||||
|
PYTHON QEQ REPLICA RIGID SHOCK SRD VORONOI
|
||||||
|
USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD
|
||||||
|
USER-DRUDE USER-FEP USER-MEAMC USER-MESO
|
||||||
|
USER-MISC USER-MOFFF USER-OMP USER-PLUMED USER-PHONON USER-REAXC
|
||||||
|
USER-SPH USER-SMD USER-UEF USER-YAFF)
|
||||||
|
|
||||||
|
foreach(PKG ${ALL_PACKAGES})
|
||||||
|
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||||
|
endforeach()
|
||||||
@ -1,21 +1,10 @@
|
|||||||
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
# preset that turns off all packages that require some form of external
|
||||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
|
# library or special compiler (fortran or cuda) or equivalent.
|
||||||
MOLECULE MPIIO MSCG OPT PERI POEMS
|
|
||||||
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
|
|
||||||
|
|
||||||
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
|
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MPIIO MSCG PYTHON
|
||||||
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-LB
|
||||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP
|
||||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
USER-SCAFACOS USER-SMD USER-VTK)
|
||||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
|
||||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
|
||||||
USER-UEF USER-VTK)
|
|
||||||
|
|
||||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
|
||||||
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
|
|
||||||
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
|
||||||
|
|
||||||
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
|
|
||||||
|
|
||||||
foreach(PKG ${PACKAGES_WITH_LIB})
|
foreach(PKG ${PACKAGES_WITH_LIB})
|
||||||
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
||||||
|
|||||||
@ -1,22 +0,0 @@
|
|||||||
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
|
||||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
|
|
||||||
MOLECULE MPIIO MSCG OPT PERI POEMS
|
|
||||||
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
|
|
||||||
|
|
||||||
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
|
|
||||||
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
|
||||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
|
||||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
|
||||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
|
||||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
|
||||||
USER-UEF USER-VTK)
|
|
||||||
|
|
||||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
|
||||||
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
|
|
||||||
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
|
||||||
|
|
||||||
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
|
|
||||||
|
|
||||||
foreach(PKG ${STANDARD_PACKAGES})
|
|
||||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
|
||||||
endforeach()
|
|
||||||
@ -1,26 +0,0 @@
|
|||||||
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
|
||||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
|
|
||||||
MOLECULE MPIIO MSCG OPT PERI POEMS
|
|
||||||
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
|
|
||||||
|
|
||||||
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
|
|
||||||
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
|
||||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
|
||||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
|
||||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
|
||||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
|
||||||
USER-UEF USER-VTK)
|
|
||||||
|
|
||||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
|
||||||
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
|
|
||||||
USER-NETCDF USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
|
||||||
|
|
||||||
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
|
|
||||||
|
|
||||||
foreach(PKG ${STANDARD_PACKAGES})
|
|
||||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
foreach(PKG ${PACKAGES_WITH_LIB})
|
|
||||||
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
|
||||||
endforeach()
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
|
||||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
|
|
||||||
MOLECULE MPIIO MSCG OPT PERI POEMS
|
|
||||||
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
|
|
||||||
|
|
||||||
set(USER_PACKAGES USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
|
|
||||||
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
|
||||||
USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
|
||||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
|
||||||
USER-NETCDF USER-OMP USER-PHONON USER-QMMM USER-QTB
|
|
||||||
USER-QUIP USER-REAXC USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY
|
|
||||||
USER-UEF USER-VTK)
|
|
||||||
|
|
||||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MEAM MPIIO MSCG POEMS PYTHON REAX VORONOI
|
|
||||||
USER-ATC USER-AWPMD USER-COLVARS USER-H5MD USER-LB USER-MOLFILE
|
|
||||||
USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP USER-SMD USER-VTK)
|
|
||||||
|
|
||||||
set(ALL_PACKAGES ${STANDARD_PACKAGES} ${USER_PACKAGES})
|
|
||||||
|
|
||||||
foreach(PKG ${USER_PACKAGES})
|
|
||||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
|
||||||
endforeach()
|
|
||||||
16
doc/Makefile
@ -116,6 +116,13 @@ mobi: epub
|
|||||||
@echo "Conversion finished. The MOBI manual file is created."
|
@echo "Conversion finished. The MOBI manual file is created."
|
||||||
|
|
||||||
pdf: $(OBJECTS) $(ANCHORCHECK)
|
pdf: $(OBJECTS) $(ANCHORCHECK)
|
||||||
|
@(\
|
||||||
|
cd src/Developer; \
|
||||||
|
pdflatex developer; \
|
||||||
|
pdflatex developer; \
|
||||||
|
mv developer.pdf ../../Developer.pdf; \
|
||||||
|
cd ../../; \
|
||||||
|
)
|
||||||
@(\
|
@(\
|
||||||
. $(VENV)/bin/activate ;\
|
. $(VENV)/bin/activate ;\
|
||||||
cp -r src/* $(RSTDIR)/ ;\
|
cp -r src/* $(RSTDIR)/ ;\
|
||||||
@ -136,13 +143,6 @@ pdf: $(OBJECTS) $(ANCHORCHECK)
|
|||||||
make && \
|
make && \
|
||||||
mv LAMMPS.pdf ../Manual.pdf && \
|
mv LAMMPS.pdf ../Manual.pdf && \
|
||||||
cd ../;
|
cd ../;
|
||||||
@(\
|
|
||||||
cd src/Developer; \
|
|
||||||
pdflatex developer; \
|
|
||||||
pdflatex developer; \
|
|
||||||
mv developer.pdf ../../Developer.pdf; \
|
|
||||||
cd ../../; \
|
|
||||||
)
|
|
||||||
@rm -rf latex/_sources
|
@rm -rf latex/_sources
|
||||||
@rm -rf latex/PDF
|
@rm -rf latex/PDF
|
||||||
@rm -rf latex/USER
|
@rm -rf latex/USER
|
||||||
@ -211,7 +211,7 @@ $(VENV):
|
|||||||
@( \
|
@( \
|
||||||
$(VIRTUALENV) -p $(PYTHON) $(VENV); \
|
$(VIRTUALENV) -p $(PYTHON) $(VENV); \
|
||||||
. $(VENV)/bin/activate; \
|
. $(VENV)/bin/activate; \
|
||||||
pip install Sphinx; \
|
pip install Sphinx==1.7.6; \
|
||||||
deactivate;\
|
deactivate;\
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@ -28,7 +28,7 @@ Makefile(s). Example:
|
|||||||
|
|
||||||
cd lammps # change to the LAMMPS distribution directory
|
cd lammps # change to the LAMMPS distribution directory
|
||||||
mkdir build; cd build # create a new directory (folder) for build
|
mkdir build; cd build # create a new directory (folder) for build
|
||||||
cmake ../cmake \[options ...\] # configuration with (command-line) cmake
|
cmake \[options ...\] ../cmake # configuration with (command-line) cmake
|
||||||
make # compilation :pre
|
make # compilation :pre
|
||||||
|
|
||||||
The cmake command will detect available features, enable selected
|
The cmake command will detect available features, enable selected
|
||||||
@ -41,7 +41,8 @@ If your machine has multiple CPU cores (most do these days), using a
|
|||||||
command like "make -jN" (with N being the number of available local
|
command like "make -jN" (with N being the number of available local
|
||||||
CPU cores) can be much faster. If you plan to do development on
|
CPU cores) can be much faster. If you plan to do development on
|
||||||
LAMMPS or need to re-compile LAMMPS repeatedly, installation of the
|
LAMMPS or need to re-compile LAMMPS repeatedly, installation of the
|
||||||
ccache (= Compiler Cache) software may speed up compilation even more.
|
ccache (= Compiler Cache) software may speed up repeated compilation
|
||||||
|
even more.
|
||||||
|
|
||||||
After compilation, you can optionally copy the LAMMPS executable and
|
After compilation, you can optionally copy the LAMMPS executable and
|
||||||
library into your system folders (by default under $HOME/.local) with:
|
library into your system folders (by default under $HOME/.local) with:
|
||||||
@ -108,7 +109,8 @@ command-line options. Several useful ones are:
|
|||||||
-D CMAKE_BUILD_TYPE=type # type = Release or Debug
|
-D CMAKE_BUILD_TYPE=type # type = Release or Debug
|
||||||
-G output # style of output CMake generates
|
-G output # style of output CMake generates
|
||||||
-DVARIABLE=value # setting for a LAMMPS feature to enable
|
-DVARIABLE=value # setting for a LAMMPS feature to enable
|
||||||
-D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir :pre
|
-D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir
|
||||||
|
-C path/to/preset/file # load some CMake settings before configuring :pre
|
||||||
|
|
||||||
All the LAMMPS-specific -D variables that a LAMMPS build supports are
|
All the LAMMPS-specific -D variables that a LAMMPS build supports are
|
||||||
described on the pages linked to from the "Build"_Build.html doc page.
|
described on the pages linked to from the "Build"_Build.html doc page.
|
||||||
|
|||||||
@ -82,17 +82,19 @@ which GPU hardware to build for.
|
|||||||
|
|
||||||
[CMake build]:
|
[CMake build]:
|
||||||
|
|
||||||
-D GPU_API=value # value = opencl (default) or cuda
|
-D GPU_API=value # value = opencl (default) or cuda
|
||||||
-D GPU_PREC=value # precision setting
|
-D GPU_PREC=value # precision setting
|
||||||
# value = double or mixed (default) or single
|
# value = double or mixed (default) or single
|
||||||
-D OCL_TUNE=value # hardware choice for GPU_API=opencl
|
-D OCL_TUNE=value # hardware choice for GPU_API=opencl
|
||||||
# generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA)
|
# generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA)
|
||||||
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
|
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
|
||||||
# value = sm_XX, see below
|
# value = sm_XX, see below
|
||||||
# default is Cuda-compiler dependent, but typically sm_20
|
# default is Cuda-compiler dependent, but typically sm_20
|
||||||
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
|
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
|
||||||
# enables CUDA Performance Primitives Optimizations
|
# enables CUDA Performance Primitives Optimizations
|
||||||
# yes (default) or no :pre
|
# value = yes (default) or no
|
||||||
|
-D CUDA_MPS_SUPPORT=value # enables some tweaks required to run with active nvidia-cuda-mps daemon
|
||||||
|
# value = yes or no (default) :pre
|
||||||
|
|
||||||
GPU_ARCH settings for different GPU hardware is as follows:
|
GPU_ARCH settings for different GPU hardware is as follows:
|
||||||
|
|
||||||
@ -169,26 +171,24 @@ used to build the GPU library.
|
|||||||
|
|
||||||
KIM package :h4,link(kim)
|
KIM package :h4,link(kim)
|
||||||
|
|
||||||
To build with this package, the KIM library must be downloaded and
|
To build with this package, the KIM library with API v2 must be downloaded
|
||||||
built on your system. It must include the KIM models that you want to
|
and built on your system. It must include the KIM models that you want to
|
||||||
use with LAMMPS.
|
use with LAMMPS. If you want to use the "kim_query"_kim_query.html
|
||||||
|
command, you also need to have libcurl installed with the matching
|
||||||
|
development headers and the curl-config tool.
|
||||||
|
|
||||||
Note that in LAMMPS lingo, a KIM model driver is a pair style
|
Note that in LAMMPS lingo, a KIM model driver is a pair style
|
||||||
(e.g. EAM or Tersoff). A KIM model is a pair style for a particular
|
(e.g. EAM or Tersoff). A KIM model is a pair style for a particular
|
||||||
element or alloy and set of parameters, e.g. EAM for Cu with a
|
element or alloy and set of parameters, e.g. EAM for Cu with a
|
||||||
specific EAM potential file. Also note that installing the KIM API
|
specific EAM potential file. Also note that downloading and installing
|
||||||
library with all its models, may take around 30 min to build. Of
|
the KIM API library with all its models, may take a long time (10s of
|
||||||
course you only need to do that once.
|
minutes to hours) to build. Of course you only need to do that once.
|
||||||
|
|
||||||
See the list of KIM model drivers here:
|
See the list of KIM model drivers here:
|
||||||
https://openkim.org/kim-items/model-drivers/alphabetical
|
https://openkim.org/browse/model-drivers/alphabetical
|
||||||
|
|
||||||
See the list of all KIM models here:
|
See the list of all KIM models here:
|
||||||
https://openkim.org/kim-items/models/by-model-drivers
|
https://openkim.org/browse/models/by-model-drivers
|
||||||
|
|
||||||
See the list of example KIM models included by default here:
|
|
||||||
https://openkim.org/kim-api on the "What is in the KIM API source
|
|
||||||
package?" page.
|
|
||||||
|
|
||||||
[CMake build]:
|
[CMake build]:
|
||||||
|
|
||||||
@ -197,7 +197,7 @@ package?" page.
|
|||||||
If DOWNLOAD_KIM is set, the KIM library will be downloaded and built
|
If DOWNLOAD_KIM is set, the KIM library will be downloaded and built
|
||||||
inside the CMake build directory. If the KIM library is already on
|
inside the CMake build directory. If the KIM library is already on
|
||||||
your system (in a location CMake cannot find it), set the PKG_CONFIG_PATH
|
your system (in a location CMake cannot find it), set the PKG_CONFIG_PATH
|
||||||
environment variable so that libkim-api-v2 can be found.
|
environment variable so that libkim-api can be found.
|
||||||
|
|
||||||
[Traditional make]:
|
[Traditional make]:
|
||||||
|
|
||||||
@ -859,23 +859,34 @@ file.
|
|||||||
USER-INTEL package :h4,link(user-intel)
|
USER-INTEL package :h4,link(user-intel)
|
||||||
|
|
||||||
To build with this package, you must choose which hardware you want to
|
To build with this package, you must choose which hardware you want to
|
||||||
build for, either Intel CPUs or Intel KNLs. You should also typically
|
build for, either x86 CPUs or Intel KNLs in offload mode. You should
|
||||||
"install the USER-OMP package"_#user-omp, as it can be used in tandem
|
also typically "install the USER-OMP package"_#user-omp, as it can be
|
||||||
with the USER-INTEL package to good effect, as explained on the "Speed
|
used in tandem with the USER-INTEL package to good effect, as explained
|
||||||
intel"_Speed_intel.html doc page.
|
on the "Speed intel"_Speed_intel.html doc page.
|
||||||
|
|
||||||
[CMake build]:
|
[CMake build]:
|
||||||
|
|
||||||
-D INTEL_ARCH=value # value = cpu (default) or knl
|
-D INTEL_ARCH=value # value = cpu (default) or knl
|
||||||
-D BUILD_OMP=yes # also required to build with the USER-INTEl package :pre
|
-D INTEL_LRT_MODE=value # value = threads, none, or c++11 :pre
|
||||||
|
|
||||||
Requires an Intel compiler as well as the Intel TBB and MKL libraries.
|
In Long-range thread mode (LRT) a modified verlet style is used, that
|
||||||
|
operates the Kspace calculation in a separate thread concurrently to
|
||||||
|
other calculations. This has to be enabled in the "package intel"_package.html
|
||||||
|
command at runtime. With the setting "threads" it used the pthreads
|
||||||
|
library, while c++11 will use the built-in thread support of C++11
|
||||||
|
compilers. The option "none" skips compilation of this feature. The
|
||||||
|
default is to use "threads" if pthreads is available and otherwise "none".
|
||||||
|
|
||||||
|
Best performance is achieved with Intel hardware, Intel compilers, as well as
|
||||||
|
the Intel TBB and MKL libraries. However, the code also compiles, links, and
|
||||||
|
runs with other compilers and without TBB and MKL.
|
||||||
|
|
||||||
[Traditional make]:
|
[Traditional make]:
|
||||||
|
|
||||||
Choose which hardware to compile for in Makefile.machine via the
|
Choose which hardware to compile for in Makefile.machine via the
|
||||||
following settings. See src/MAKE/OPTIONS/Makefile.intel_cpu* and
|
following settings. See src/MAKE/OPTIONS/Makefile.intel_cpu* and
|
||||||
Makefile.knl files for examples.
|
Makefile.knl files for examples. and src/USER-INTEL/README for
|
||||||
|
additional information.
|
||||||
|
|
||||||
For CPUs:
|
For CPUs:
|
||||||
|
|
||||||
@ -897,7 +908,17 @@ USER-MOLFILE package :h4,link(user-molfile)
|
|||||||
|
|
||||||
[CMake build]:
|
[CMake build]:
|
||||||
|
|
||||||
No additional settings are needed besides "-D PKG_USER-MOLFILE=yes".
|
-D MOLFILE_INCLUDE_DIRS=path # (optional) path where VMD molfile plugin headers are installed
|
||||||
|
-D PKG_USER-MOLFILE=yes :pre
|
||||||
|
|
||||||
|
|
||||||
|
Using "-D PKG_USER-MOLFILE=yes" enables the package, and setting
|
||||||
|
"-D MOLFILE_INCLUDE DIRS" allows to provide a custom location for
|
||||||
|
the molfile plugin header files. These should match the ABI of the
|
||||||
|
plugin files used, and thus one typically sets them to include
|
||||||
|
folder of the local VMD installation in use. LAMMPS ships with a
|
||||||
|
couple of default header files that correspond to a popular VMD
|
||||||
|
version, usually the latest release.
|
||||||
|
|
||||||
[Traditional make]:
|
[Traditional make]:
|
||||||
|
|
||||||
@ -906,7 +927,11 @@ loading library libdl.a that is typically present on all systems. It
|
|||||||
is required for LAMMPS to link with this package. If the setting is
|
is required for LAMMPS to link with this package. If the setting is
|
||||||
not valid for your system, you will need to edit the Makefile.lammps
|
not valid for your system, you will need to edit the Makefile.lammps
|
||||||
file. See lib/molfile/README and lib/molfile/Makefile.lammps for
|
file. See lib/molfile/README and lib/molfile/Makefile.lammps for
|
||||||
details.
|
details. It is also possible to configure a different folder with
|
||||||
|
the VMD molfile plugin header files. LAMMPS ships with a couple of
|
||||||
|
default headers, but these are not compatible with all VMD versions,
|
||||||
|
so it is often best to change this setting to the location of the
|
||||||
|
same include files of the local VMD installation in use.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
|||||||
@ -149,26 +149,39 @@ system. Using these files you can enable/disable portions of the
|
|||||||
available packages in LAMMPS. If you need a custom preset you can take
|
available packages in LAMMPS. If you need a custom preset you can take
|
||||||
one of them as a starting point and customize it to your needs.
|
one of them as a starting point and customize it to your needs.
|
||||||
|
|
||||||
cmake -C ../cmake/presets/all_on.cmake \[OPTIONS\] ../cmake | enable all packages
|
cmake -C ../cmake/presets/all_on.cmake \[OPTIONS\] ../cmake |
|
||||||
cmake -C ../cmake/presets/all_off.cmake \[OPTIONS\] ../cmake | disable all packages
|
enable all packages |
|
||||||
cmake -C ../cmake/presets/std.cmake \[OPTIONS\] ../cmake | enable standard packages
|
cmake -C ../cmake/presets/all_off.cmake \[OPTIONS\] ../cmake |
|
||||||
cmake -C ../cmake/presets/user.cmake \[OPTIONS\] ../cmake | enable user packages
|
disable all packages |
|
||||||
cmake -C ../cmake/presets/std_nolib.cmake \[OPTIONS\] ../cmake | enable standard packages that do not require extra libraries
|
cmake -C ../cmake/presets/minimal.cmake \[OPTIONS\] ../cmake |
|
||||||
cmake -C ../cmake/presets/nolib.cmake \[OPTIONS\] ../cmake | disable all packages that do not require extra libraries
|
enable just a few core packages |
|
||||||
cmake -C ../cmake/presets/manual_selection.cmake \[OPTIONS\] ../cmake | example of how to create a manual selection of packages :tb(s=|,a=l)
|
cmake -C ../cmake/presets/most.cmake \[OPTIONS\] ../cmake |
|
||||||
|
enable most common packages |
|
||||||
|
cmake -C ../cmake/presets/nolib.cmake \[OPTIONS\] ../cmake |
|
||||||
|
disable packages that do require extra libraries or tools |
|
||||||
|
cmake -C ../cmake/presets/mingw.cmake \[OPTIONS\] ../cmake |
|
||||||
|
enable all packages compatible with MinGW compilers :tb(c=2,s=|,a=l)
|
||||||
|
|
||||||
NOTE: Running cmake this way manipulates the variable cache in your
|
NOTE: Running cmake this way manipulates the variable cache in your
|
||||||
current build directory. You can combine presets and options with
|
current build directory. You can combine multiple presets and options
|
||||||
multiple cmake runs.
|
in a single cmake run, or change settings incrementally by running
|
||||||
|
cmake with new flags.
|
||||||
|
|
||||||
[Example:]
|
[Example:]
|
||||||
|
|
||||||
# build LAMMPS with all "standard" packages which don't
|
# build LAMMPS with most commonly used packages, but then remove
|
||||||
# use libraries and enable GPU package
|
# those requiring additional library or tools, but still enable
|
||||||
|
# GPU package and configure it for using CUDA. You can run.
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake -C ../cmake/presets/std_nolib.cmake -D PKG_GPU=on ../cmake :pre
|
cmake -C ../cmake/presets/most.cmake -C ../cmake/presets/nolib.cmake -D PKG_GPU=on -D GPU_API=cuda ../cmake :pre
|
||||||
|
|
||||||
|
# to add another package, say BODY to the previous configuration you can run:
|
||||||
|
cmake -D PKG_BODY=on . :pre
|
||||||
|
|
||||||
|
# to reset the package selection from above to the default of no packages
|
||||||
|
# but leaving all other settings untouched. You can run:
|
||||||
|
cmake -C ../cmake/presets/no_all.cmake . :pre
|
||||||
:line
|
:line
|
||||||
|
|
||||||
[Make shortcuts for installing many packages]:
|
[Make shortcuts for installing many packages]:
|
||||||
|
|||||||
@ -57,10 +57,10 @@ FFT_INC = -DFFT_SINGLE # do not specify for double precision
|
|||||||
FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY :pre
|
FFT_INC = -DFFT_PACK_ARRAY # or -DFFT_PACK_POINTER or -DFFT_PACK_MEMCPY :pre
|
||||||
# default is FFT_PACK_ARRAY if not specified
|
# default is FFT_PACK_ARRAY if not specified
|
||||||
|
|
||||||
FFT_INC = -I/usr/local/include
|
FFT_INC = -I/usr/local/include
|
||||||
FFT_PATH = -L/usr/local/lib
|
FFT_PATH = -L/usr/local/lib
|
||||||
FFT_LIB = -lfftw3 # FFTW3 double precision
|
FFT_LIB = -lfftw3 # FFTW3 double precision
|
||||||
FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision
|
FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision
|
||||||
FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler
|
FFT_LIB = -lmkl_intel_lp64 -lmkl_sequential -lmkl_core # MKL with Intel compiler
|
||||||
FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compier :pre
|
FFT_LIB = -lmkl_gf_lp64 -lmkl_sequential -lmkl_core # MKL with GNU compier :pre
|
||||||
|
|
||||||
@ -179,8 +179,11 @@ e.g. from 511 to -512, which can cause diagnostics like the
|
|||||||
mean-squared displacement, as calculated by the "compute
|
mean-squared displacement, as calculated by the "compute
|
||||||
msd"_compute_msd.html command, to be faulty.
|
msd"_compute_msd.html command, to be faulty.
|
||||||
|
|
||||||
Note that the USER-ATC package is not currently compatible with the
|
Note that the USER-ATC package and the USER-INTEL package are currently
|
||||||
"bigbig" setting.
|
not compatible with the "bigbig" setting. Also, there are limitations
|
||||||
|
when using the library interface. Some functions with known issues
|
||||||
|
have been replaced by dummy calls printing a corresponding error rather
|
||||||
|
than crashing randomly or corrupting data.
|
||||||
|
|
||||||
Also note that the GPU package requires its lib/gpu library to be
|
Also note that the GPU package requires its lib/gpu library to be
|
||||||
compiled with the same size setting, or the link will fail. A CMake
|
compiled with the same size setting, or the link will fail. A CMake
|
||||||
|
|||||||
@ -51,11 +51,10 @@ provides a unix/linux interface to low-level Windows functions, so LAMMPS
|
|||||||
can be compiled on Windows. The necessary (minor) modifications to LAMMPS
|
can be compiled on Windows. The necessary (minor) modifications to LAMMPS
|
||||||
are included, but may not always up-to-date for recently added functionality
|
are included, but may not always up-to-date for recently added functionality
|
||||||
and the corresponding new code. A machine makefile for using cygwin for
|
and the corresponding new code. A machine makefile for using cygwin for
|
||||||
the old build system is provided. The CMake build system is untested
|
the old build system is provided. Using CMake for this mode of compilation
|
||||||
for this; you will have to request that makefiles are generated and
|
is untested and not likely to work.
|
||||||
manually set the compiler.
|
|
||||||
|
|
||||||
When compiling for Windows [not] set the -DLAMMPS_MEMALIGN define
|
When compiling for Windows do [not] set the -DLAMMPS_MEMALIGN define
|
||||||
in the LMP_INC makefile variable and add -lwsock32 -lpsapi to the linker
|
in the LMP_INC makefile variable and add -lwsock32 -lpsapi to the linker
|
||||||
flags in LIB makefile variable. Try adding -static-libgcc or -static or
|
flags in LIB makefile variable. Try adding -static-libgcc or -static or
|
||||||
both to the linker flags when your resulting LAMMPS Windows executable
|
both to the linker flags when your resulting LAMMPS Windows executable
|
||||||
@ -79,7 +78,13 @@ probably the currently best tested and supported way to build LAMMPS
|
|||||||
executables for Windows. There are makefiles provided for the
|
executables for Windows. There are makefiles provided for the
|
||||||
traditional build system, but CMake has also been successfully tested
|
traditional build system, but CMake has also been successfully tested
|
||||||
using the mingw32-cmake and mingw64-cmake wrappers that are bundled
|
using the mingw32-cmake and mingw64-cmake wrappers that are bundled
|
||||||
with the cross-compiler environment on Fedora machines.
|
with the cross-compiler environment on Fedora machines. A CMake preset
|
||||||
|
selecting all packages compatible with this cross-compilation build
|
||||||
|
is provided. You likely need to disable the GPU package unless you
|
||||||
|
download and install the contents of the pre-compiled "OpenCL ICD loader
|
||||||
|
library"_https://download.lammps.org/thirdparty/opencl-win-devel.tar.gz
|
||||||
|
into your MinGW64 cross-compiler environment. The cross-compilation
|
||||||
|
currently will only produce non-MPI serial binaries.
|
||||||
|
|
||||||
Please keep in mind, though, that this only applies to compiling LAMMPS.
|
Please keep in mind, though, that this only applies to compiling LAMMPS.
|
||||||
Whether the resulting binaries do work correctly is no tested by the
|
Whether the resulting binaries do work correctly is no tested by the
|
||||||
|
|||||||
@ -68,6 +68,7 @@ An alphabetic list of all general LAMMPS commands.
|
|||||||
"improper_style"_improper_style.html,
|
"improper_style"_improper_style.html,
|
||||||
"include"_include.html,
|
"include"_include.html,
|
||||||
"jump"_jump.html,
|
"jump"_jump.html,
|
||||||
|
"kim_query"_kim_query.html,
|
||||||
"kspace_modify"_kspace_modify.html,
|
"kspace_modify"_kspace_modify.html,
|
||||||
"kspace_style"_kspace_style.html,
|
"kspace_style"_kspace_style.html,
|
||||||
"label"_label.html,
|
"label"_label.html,
|
||||||
@ -78,6 +79,7 @@ An alphabetic list of all general LAMMPS commands.
|
|||||||
"minimize"_minimize.html,
|
"minimize"_minimize.html,
|
||||||
"min_modify"_min_modify.html,
|
"min_modify"_min_modify.html,
|
||||||
"min_style"_min_style.html,
|
"min_style"_min_style.html,
|
||||||
|
"min_style spin"_min_spin.html,
|
||||||
"molecule"_molecule.html,
|
"molecule"_molecule.html,
|
||||||
"ndx2group"_group2ndx.html,
|
"ndx2group"_group2ndx.html,
|
||||||
"neb"_neb.html,
|
"neb"_neb.html,
|
||||||
|
|||||||
@ -224,7 +224,7 @@ OPT.
|
|||||||
"wall/body/polyhedron"_fix_wall_body_polyhedron.html,
|
"wall/body/polyhedron"_fix_wall_body_polyhedron.html,
|
||||||
"wall/colloid"_fix_wall.html,
|
"wall/colloid"_fix_wall.html,
|
||||||
"wall/ees"_fix_wall_ees.html,
|
"wall/ees"_fix_wall_ees.html,
|
||||||
"wall/gran (o)"_fix_wall_gran.html,
|
"wall/gran"_fix_wall_gran.html,
|
||||||
"wall/gran/region"_fix_wall_gran_region.html,
|
"wall/gran/region"_fix_wall_gran_region.html,
|
||||||
"wall/harmonic"_fix_wall.html,
|
"wall/harmonic"_fix_wall.html,
|
||||||
"wall/lj1043"_fix_wall.html,
|
"wall/lj1043"_fix_wall.html,
|
||||||
|
|||||||
@ -98,6 +98,7 @@ OPT.
|
|||||||
"gran/hertz/history (o)"_pair_gran.html,
|
"gran/hertz/history (o)"_pair_gran.html,
|
||||||
"gran/hooke (o)"_pair_gran.html,
|
"gran/hooke (o)"_pair_gran.html,
|
||||||
"gran/hooke/history (ko)"_pair_gran.html,
|
"gran/hooke/history (ko)"_pair_gran.html,
|
||||||
|
"granular"_pair_granular.html,
|
||||||
"gw"_pair_gw.html,
|
"gw"_pair_gw.html,
|
||||||
"gw/zbl"_pair_gw.html,
|
"gw/zbl"_pair_gw.html,
|
||||||
"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html,
|
"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html,
|
||||||
|
|||||||
BIN
doc/src/Eqs/min_spin_damping.jpg
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
13
doc/src/Eqs/min_spin_damping.tex
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
\documentclass[preview]{standalone}
|
||||||
|
\usepackage{varwidth}
|
||||||
|
\usepackage[utf8x]{inputenc}
|
||||||
|
\usepackage{amsmath, amssymb, graphics, setspace}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\begin{varwidth}{50in}
|
||||||
|
\begin{equation}
|
||||||
|
\frac{d \vec{s}_{i}}{dt} = \lambda\, \vec{s}_{i} \times\left( \vec{\omega}_{i} \times\vec{s}_{i} \right)
|
||||||
|
\nonumber
|
||||||
|
\end{equation}
|
||||||
|
\end{varwidth}
|
||||||
|
\end{document}
|
||||||
BIN
doc/src/Eqs/min_spin_timestep.jpg
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
14
doc/src/Eqs/min_spin_timestep.tex
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
\documentclass[preview]{standalone}
|
||||||
|
\usepackage{varwidth}
|
||||||
|
\usepackage[utf8x]{inputenc}
|
||||||
|
\usepackage{amsmath, amssymb, graphics, setspace}
|
||||||
|
|
||||||
|
\begin{document}
|
||||||
|
\begin{varwidth}{50in}
|
||||||
|
\begin{equation}
|
||||||
|
{\Delta t}_{\rm max} = \frac{2\pi}{\kappa
|
||||||
|
\left|\vec{\omega}_{\rm max} \right|}
|
||||||
|
\nonumber
|
||||||
|
\end{equation}
|
||||||
|
\end{varwidth}
|
||||||
|
\end{document}
|
||||||
@ -166,9 +166,6 @@ void lammps_gather_atoms_subset(void *, char *, int, int, int, int *, void *)
|
|||||||
void lammps_scatter_atoms(void *, char *, int, int, void *)
|
void lammps_scatter_atoms(void *, char *, int, int, void *)
|
||||||
void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) :pre
|
void lammps_scatter_atoms_subset(void *, char *, int, int, int, int *, void *) :pre
|
||||||
|
|
||||||
void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
|
|
||||||
imageint *, int) :pre
|
|
||||||
|
|
||||||
The gather functions collect peratom info of the requested type (atom
|
The gather functions collect peratom info of the requested type (atom
|
||||||
coords, atom types, forces, etc) from all processors, and returns the
|
coords, atom types, forces, etc) from all processors, and returns the
|
||||||
same vector of values to each calling processor. The scatter
|
same vector of values to each calling processor. The scatter
|
||||||
@ -176,6 +173,11 @@ functions do the inverse. They distribute a vector of peratom values,
|
|||||||
passed by all calling processors, to individual atoms, which may be
|
passed by all calling processors, to individual atoms, which may be
|
||||||
owned by different processors.
|
owned by different processors.
|
||||||
|
|
||||||
|
IMPORTANT NOTE: These functions are not compatible with the
|
||||||
|
-DLAMMPS_BIGBIG setting when compiling LAMMPS. Dummy functions
|
||||||
|
that result in an error message and abort will be substituted
|
||||||
|
instead of resulting in random crashes and memory corruption.
|
||||||
|
|
||||||
The lammps_gather_atoms() function does this for all N atoms in the
|
The lammps_gather_atoms() function does this for all N atoms in the
|
||||||
system, ordered by atom ID, from 1 to N. The
|
system, ordered by atom ID, from 1 to N. The
|
||||||
lammps_gather_atoms_concat() function does it for all N atoms, but
|
lammps_gather_atoms_concat() function does it for all N atoms, but
|
||||||
@ -196,6 +198,9 @@ those values to each atom in the system. The
|
|||||||
lammps_scatter_atoms_subset() function takes a subset of IDs as an
|
lammps_scatter_atoms_subset() function takes a subset of IDs as an
|
||||||
argument and only scatters those values to the owning atoms.
|
argument and only scatters those values to the owning atoms.
|
||||||
|
|
||||||
|
void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
|
||||||
|
imageint *, int) :pre
|
||||||
|
|
||||||
The lammps_create_atoms() function takes a list of N atoms as input
|
The lammps_create_atoms() function takes a list of N atoms as input
|
||||||
with atom types and coords (required), an optionally atom IDs and
|
with atom types and coords (required), an optionally atom IDs and
|
||||||
velocities and image flags. It uses the coords of each atom to assign
|
velocities and image flags. It uses the coords of each atom to assign
|
||||||
|
|||||||
@ -57,6 +57,17 @@ library is then loaded by the Python interface. In this example we enable the
|
|||||||
MOLECULE package and compile LAMMPS with C++ exceptions, PNG, JPEG and FFMPEG
|
MOLECULE package and compile LAMMPS with C++ exceptions, PNG, JPEG and FFMPEG
|
||||||
output support enabled.
|
output support enabled.
|
||||||
|
|
||||||
|
Step 1a: For the CMake based build system, the steps are:
|
||||||
|
|
||||||
|
mkdir $LAMMPS_DIR/build-shared
|
||||||
|
cd $LAMMPS_DIR/build-shared :pre
|
||||||
|
|
||||||
|
# MPI, PNG, Jpeg, FFMPEG are auto-detected
|
||||||
|
cmake ../cmake -DPKG_MOLECULE=yes -DLAMMPS_EXCEPTIONS=yes -DBUILD_LIB=yes -DBUILD_SHARED_LIBS=yes
|
||||||
|
make :pre
|
||||||
|
|
||||||
|
Step 1b: For the legacy, make based build system, the steps are:
|
||||||
|
|
||||||
cd $LAMMPS_DIR/src :pre
|
cd $LAMMPS_DIR/src :pre
|
||||||
|
|
||||||
# add packages if necessary
|
# add packages if necessary
|
||||||
@ -68,10 +79,9 @@ make mpi mode=shlib LMP_INC="-DLAMMPS_PNG -DLAMMPS_JPEG -DLAMMPS_FFMPEG -DLAMMPS
|
|||||||
Step 2: Installing the LAMMPS Python package :h6
|
Step 2: Installing the LAMMPS Python package :h6
|
||||||
|
|
||||||
PyLammps is part of the lammps Python package. To install it simply install
|
PyLammps is part of the lammps Python package. To install it simply install
|
||||||
that package into your current Python installation.
|
that package into your current Python installation with:
|
||||||
|
|
||||||
cd $LAMMPS_DIR/python
|
make install-python :pre
|
||||||
python install.py :pre
|
|
||||||
|
|
||||||
NOTE: Recompiling the shared library requires re-installing the Python package
|
NOTE: Recompiling the shared library requires re-installing the Python package
|
||||||
|
|
||||||
@ -94,14 +104,21 @@ apt-get install python-virtualenv :pre
|
|||||||
|
|
||||||
Creating a virtualenv with lammps installed :h6
|
Creating a virtualenv with lammps installed :h6
|
||||||
|
|
||||||
# create virtualenv name 'testing' :pre
|
# create virtualenv named 'testing'
|
||||||
|
virtualenv $HOME/python/testing :pre
|
||||||
|
|
||||||
# activate 'testing' environment
|
# activate 'testing' environment
|
||||||
source testing/bin/activate :pre
|
source $HOME/python/testing/bin/activate :pre
|
||||||
|
|
||||||
|
Now configure and compile the LAMMPS shared library as outlined above.
|
||||||
|
When using CMake and the shared library has already been build, you
|
||||||
|
need to re-run CMake to update the location of the python executable
|
||||||
|
to the location in the virtual environment with:
|
||||||
|
|
||||||
|
cmake . -DPYTHON_EXECUTABLE=$(which python) :pre
|
||||||
|
|
||||||
# install LAMMPS package in virtualenv
|
# install LAMMPS package in virtualenv
|
||||||
(testing) cd $LAMMPS_DIR/python
|
(testing) make install-python :pre
|
||||||
(testing) python install.py :pre
|
|
||||||
|
|
||||||
# install other useful packages
|
# install other useful packages
|
||||||
(testing) pip install matplotlib jupyter mpi4py :pre
|
(testing) pip install matplotlib jupyter mpi4py :pre
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<!-- HTML_ONLY -->
|
<!-- HTML_ONLY -->
|
||||||
<HEAD>
|
<HEAD>
|
||||||
<TITLE>LAMMPS Users Manual</TITLE>
|
<TITLE>LAMMPS Users Manual</TITLE>
|
||||||
<META NAME="docnumber" CONTENT="28 Feb 2019 version">
|
<META NAME="docnumber" CONTENT="29 Mar 2019 version">
|
||||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||||
</HEAD>
|
</HEAD>
|
||||||
@ -21,7 +21,7 @@
|
|||||||
:line
|
:line
|
||||||
|
|
||||||
LAMMPS Documentation :c,h1
|
LAMMPS Documentation :c,h1
|
||||||
28 Feb 2019 version :c,h2
|
29 Mar 2019 version :c,h2
|
||||||
|
|
||||||
"What is a LAMMPS version?"_Manual_version.html
|
"What is a LAMMPS version?"_Manual_version.html
|
||||||
|
|
||||||
|
|||||||
@ -341,6 +341,8 @@ KIM package :link(PKG-KIM),h4
|
|||||||
A "pair_style kim"_pair_kim.html command which is a wrapper on the
|
A "pair_style kim"_pair_kim.html command which is a wrapper on the
|
||||||
Knowledge Base for Interatomic Models (KIM) repository of interatomic
|
Knowledge Base for Interatomic Models (KIM) repository of interatomic
|
||||||
potentials, enabling any of them to be used in LAMMPS simulations.
|
potentials, enabling any of them to be used in LAMMPS simulations.
|
||||||
|
Also a "kim_query"_kim_query.html command, which allows to query
|
||||||
|
the OpenKIM database for stored properties.
|
||||||
|
|
||||||
To use this package you must have the KIM library available on your
|
To use this package you must have the KIM library available on your
|
||||||
system.
|
system.
|
||||||
|
|||||||
@ -12,16 +12,23 @@ Installing LAMMPS in Python :h3
|
|||||||
For Python to invoke LAMMPS, there are 2 files it needs to know about:
|
For Python to invoke LAMMPS, there are 2 files it needs to know about:
|
||||||
|
|
||||||
python/lammps.py
|
python/lammps.py
|
||||||
src/liblammps.so :ul
|
liblammps.so or liblammps.dylib :ul
|
||||||
|
|
||||||
Lammps.py is the Python wrapper on the LAMMPS library interface.
|
The python source code in lammps.py is the Python wrapper on the
|
||||||
Liblammps.so is the shared LAMMPS library that Python loads, as
|
LAMMPS library interface. The liblammps.so or liblammps.dylib file
|
||||||
described above.
|
is the shared LAMMPS library that Python loads dynamically.
|
||||||
|
|
||||||
You can insure Python can find these files in one of two ways:
|
You can achieve that Python can find these files in one of two ways:
|
||||||
|
|
||||||
set two environment variables
|
set two environment variables pointing to the location in the source tree
|
||||||
run the python/install.py script :ul
|
run "make install-python" or run the python/install.py script explicitly :ul
|
||||||
|
|
||||||
|
When calling "make install-python" LAMMPS will try to install the
|
||||||
|
python module and the shared library into the python site-packages folders;
|
||||||
|
either the system-wide ones, or the local users ones (in case of insufficient
|
||||||
|
permissions for the global install). Python will then find the module
|
||||||
|
and shared library file automatically. The exact location of these folders
|
||||||
|
depends on your python version and your operating system.
|
||||||
|
|
||||||
If you set the paths to these files as environment variables, you only
|
If you set the paths to these files as environment variables, you only
|
||||||
have to do it once. For the csh or tcsh shells, add something like
|
have to do it once. For the csh or tcsh shells, add something like
|
||||||
@ -30,42 +37,28 @@ this to your ~/.cshrc file, one line for each of the two files:
|
|||||||
setenv PYTHONPATH $\{PYTHONPATH\}:/home/sjplimp/lammps/python
|
setenv PYTHONPATH $\{PYTHONPATH\}:/home/sjplimp/lammps/python
|
||||||
setenv LD_LIBRARY_PATH $\{LD_LIBRARY_PATH\}:/home/sjplimp/lammps/src :pre
|
setenv LD_LIBRARY_PATH $\{LD_LIBRARY_PATH\}:/home/sjplimp/lammps/src :pre
|
||||||
|
|
||||||
If you use the python/install.py script, you need to invoke it every
|
On MacOSX you may also need to set DYLD_LIBRARY_PATH accordingly.
|
||||||
time you rebuild LAMMPS (as a shared library) or make changes to the
|
For Bourne/Korn shells accordingly into the corresponding files using
|
||||||
python/lammps.py file.
|
the "export" shell builtin.
|
||||||
|
|
||||||
You can invoke install.py from the python directory as
|
If you use "make install-python" or the python/install.py script, you need
|
||||||
|
to invoke it every time you rebuild LAMMPS (as a shared library) or
|
||||||
|
make changes to the python/lammps.py file, so that the site-packages
|
||||||
|
files are updated with the new version.
|
||||||
|
|
||||||
% python install.py \[libdir\] \[pydir\] :pre
|
If the default settings of "make install-python" are not what you want,
|
||||||
|
you can invoke install.py from the python directory manually as
|
||||||
|
|
||||||
The optional libdir is where to copy the LAMMPS shared library to; the
|
% python install.py -m \<python module\> -l <shared library> -v <version.h file> \[-d \<pydir\>\] :pre
|
||||||
default is /usr/local/lib. The optional pydir is where to copy the
|
|
||||||
lammps.py file to; the default is the site-packages directory of the
|
|
||||||
version of Python that is running the install script.
|
|
||||||
|
|
||||||
Note that libdir must be a location that is in your default
|
The -m flag points to the lammps.py python module file to be installed,
|
||||||
LD_LIBRARY_PATH, like /usr/local/lib or /usr/lib. And pydir must be a
|
the -l flag points to the LAMMPS shared library file to be installed,
|
||||||
location that Python looks in by default for imported modules, like
|
the -v flag points to the version.h file in the LAMMPS source
|
||||||
its site-packages dir. If you want to copy these files to
|
and the optional -d flag to a custom (legacy) installation folder :ul
|
||||||
non-standard locations, such as within your own user space, you will
|
|
||||||
need to set your PYTHONPATH and LD_LIBRARY_PATH environment variables
|
|
||||||
accordingly, as above.
|
|
||||||
|
|
||||||
If the install.py script does not allow you to copy files into system
|
If you use a legacy installation folder, you will need to set your
|
||||||
directories, prefix the python command with "sudo". If you do this,
|
PYTHONPATH and LD_LIBRARY_PATH (and/or DYLD_LIBRARY_PATH) environment
|
||||||
make sure that the Python that root runs is the same as the Python you
|
variables accordingly, as described above.
|
||||||
run. E.g. you may need to do something like
|
|
||||||
|
|
||||||
% sudo /usr/local/bin/python install.py \[libdir\] \[pydir\] :pre
|
|
||||||
|
|
||||||
You can also invoke install.py from the make command in the src
|
|
||||||
directory as
|
|
||||||
|
|
||||||
% make install-python :pre
|
|
||||||
|
|
||||||
In this mode you cannot append optional arguments. Again, you may
|
|
||||||
need to prefix this with "sudo". In this mode you cannot control
|
|
||||||
which Python is invoked by root.
|
|
||||||
|
|
||||||
Note that if you want Python to be able to load different versions of
|
Note that if you want Python to be able to load different versions of
|
||||||
the LAMMPS shared library (see "this section"_Python_shlib.html), you will
|
the LAMMPS shared library (see "this section"_Python_shlib.html), you will
|
||||||
|
|||||||
@ -13,11 +13,11 @@ Overview of Python and LAMMPS :h3
|
|||||||
LAMMPS can work together with Python in three ways. First, Python can
|
LAMMPS can work together with Python in three ways. First, Python can
|
||||||
wrap LAMMPS through the its "library interface"_Howto_library.html, so
|
wrap LAMMPS through the its "library interface"_Howto_library.html, so
|
||||||
that a Python script can create one or more instances of LAMMPS and
|
that a Python script can create one or more instances of LAMMPS and
|
||||||
launch one or more simulations. In Python lingo, this is "extending"
|
launch one or more simulations. In Python lingo, this is called
|
||||||
Python with LAMMPS.
|
"extending" Python with a LAMMPS module.
|
||||||
|
|
||||||
Second, a lower-level Python interface can be used indirectly through
|
Second, a lower-level Python interface can be used indirectly through
|
||||||
provided PyLammps and IPyLammps wrapper classes, written in Python.
|
the provided PyLammps and IPyLammps wrapper classes, written in Python.
|
||||||
These wrappers try to simplify the usage of LAMMPS in Python by
|
These wrappers try to simplify the usage of LAMMPS in Python by
|
||||||
providing an object-based interface to common LAMMPS functionality.
|
providing an object-based interface to common LAMMPS functionality.
|
||||||
They also reduces the amount of code necessary to parameterize LAMMPS
|
They also reduces the amount of code necessary to parameterize LAMMPS
|
||||||
@ -25,11 +25,12 @@ scripts through Python and make variables and computes directly
|
|||||||
accessible.
|
accessible.
|
||||||
|
|
||||||
Third, LAMMPS can use the Python interpreter, so that a LAMMPS
|
Third, LAMMPS can use the Python interpreter, so that a LAMMPS
|
||||||
input script can invoke Python code directly, and pass information
|
input script or styles can invoke Python code directly, and pass
|
||||||
back-and-forth between the input script and Python functions you
|
information back-and-forth between the input script and Python
|
||||||
write. This Python code can also callback to LAMMPS to query or change
|
functions you write. This Python code can also callback to LAMMPS
|
||||||
its attributes. In Python lingo, this is "embedding" Python in
|
to query or change its attributes through the LAMMPS Python module
|
||||||
LAMMPS. When used in this mode, Python can perform operations that
|
mentioned above. In Python lingo, this is "embedding" Python in
|
||||||
the simple LAMMPS input script syntax cannot.
|
LAMMPS. When used in this mode, Python can perform script operations
|
||||||
|
that the simple LAMMPS input script syntax can not.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,7 @@ LAMMPS to run on the CPU cores and co-processor cores simultaneously.
|
|||||||
|
|
||||||
Angle Styles: charmm, harmonic :ulb,l
|
Angle Styles: charmm, harmonic :ulb,l
|
||||||
Bond Styles: fene, fourier, harmonic :l
|
Bond Styles: fene, fourier, harmonic :l
|
||||||
Dihedral Styles: charmm, harmonic, opls :l
|
Dihedral Styles: charmm, fourier, harmonic, opls :l
|
||||||
Fixes: nve, npt, nvt, nvt/sllod, nve/asphere :l
|
Fixes: nve, npt, nvt, nvt/sllod, nve/asphere :l
|
||||||
Improper Styles: cvff, harmonic :l
|
Improper Styles: cvff, harmonic :l
|
||||||
Pair Styles: airebo, airebo/morse, buck/coul/cut, buck/coul/long,
|
Pair Styles: airebo, airebo/morse, buck/coul/cut, buck/coul/long,
|
||||||
@ -34,6 +34,10 @@ rebo, sw, tersoff :l
|
|||||||
K-Space Styles: pppm, pppm/disp :l
|
K-Space Styles: pppm, pppm/disp :l
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
|
IMPORTANT NOTE: None of the styles in the USER-INTEL package currently
|
||||||
|
support computing per-atom stress. If any compute or fix in your
|
||||||
|
input requires it, LAMMPS will abort with an error message.
|
||||||
|
|
||||||
[Speed-ups to expect:]
|
[Speed-ups to expect:]
|
||||||
|
|
||||||
The speedups will depend on your simulation, the hardware, which
|
The speedups will depend on your simulation, the hardware, which
|
||||||
|
|||||||
@ -53,6 +53,7 @@ Commands :h1
|
|||||||
include
|
include
|
||||||
info
|
info
|
||||||
jump
|
jump
|
||||||
|
kim_query
|
||||||
kspace_modify
|
kspace_modify
|
||||||
kspace_style
|
kspace_style
|
||||||
label
|
label
|
||||||
@ -61,6 +62,7 @@ Commands :h1
|
|||||||
mass
|
mass
|
||||||
message
|
message
|
||||||
min_modify
|
min_modify
|
||||||
|
min_spin
|
||||||
min_style
|
min_style
|
||||||
minimize
|
minimize
|
||||||
molecule
|
molecule
|
||||||
|
|||||||
@ -54,9 +54,10 @@ local quantities have the word "local" in their style,
|
|||||||
e.g. {bond/local}. Styles with neither "atom" or "local" in their
|
e.g. {bond/local}. Styles with neither "atom" or "local" in their
|
||||||
style produce global quantities.
|
style produce global quantities.
|
||||||
|
|
||||||
Note that a single compute produces either global or per-atom or local
|
Note that a single compute can produce either global or per-atom or
|
||||||
quantities, but never more than one of these (with only a few
|
local quantities, but not both global and per-atom. It can produce
|
||||||
exceptions, as documented by individual compute commands).
|
local quantities in tandem with global or per-atom quantities. The
|
||||||
|
compute doc page will explain.
|
||||||
|
|
||||||
Global, per-atom, and local quantities each come in three kinds: a
|
Global, per-atom, and local quantities each come in three kinds: a
|
||||||
single scalar value, a vector of values, or a 2d array of values. The
|
single scalar value, a vector of values, or a 2d array of values. The
|
||||||
|
|||||||
@ -83,8 +83,10 @@ not in the specified fix group. Local quantities are calculated by
|
|||||||
each processor based on the atoms it owns, but there may be zero or
|
each processor based on the atoms it owns, but there may be zero or
|
||||||
more per atoms.
|
more per atoms.
|
||||||
|
|
||||||
Note that a single fix may produces either global or per-atom or local
|
Note that a single fix can produce either global or per-atom or local
|
||||||
quantities (or none at all), but never more than one of these.
|
quantities (or none at all), but not both global and per-atom. It can
|
||||||
|
produce local quantities in tandem with global or per-atom quantities.
|
||||||
|
The fix doc page will explain.
|
||||||
|
|
||||||
Global, per-atom, and local quantities each come in three kinds: a
|
Global, per-atom, and local quantities each come in three kinds: a
|
||||||
single scalar value, a vector of values, or a 2d array of values. The
|
single scalar value, a vector of values, or a 2d array of values. The
|
||||||
|
|||||||
@ -35,6 +35,7 @@ keyword = {mode} or {file} or {ave} or {start} or {beyond} or {overwrite} or {ti
|
|||||||
{mode} arg = {scalar} or {vector}
|
{mode} arg = {scalar} or {vector}
|
||||||
scalar = all input values are scalars
|
scalar = all input values are scalars
|
||||||
vector = all input values are vectors
|
vector = all input values are vectors
|
||||||
|
{kind} arg = {global} or {peratom} or {local}
|
||||||
{file} arg = filename
|
{file} arg = filename
|
||||||
filename = name of file to output histogram(s) to
|
filename = name of file to output histogram(s) to
|
||||||
{ave} args = {one} or {running} or {window}
|
{ave} args = {one} or {running} or {window}
|
||||||
@ -92,7 +93,8 @@ either all global, all per-atom, or all local quantities. Inputs of
|
|||||||
different kinds (e.g. global and per-atom) cannot be mixed. Atom
|
different kinds (e.g. global and per-atom) cannot be mixed. Atom
|
||||||
attributes are per-atom vector values. See the doc page for
|
attributes are per-atom vector values. See the doc page for
|
||||||
individual "compute" and "fix" commands to see what kinds of
|
individual "compute" and "fix" commands to see what kinds of
|
||||||
quantities they generate.
|
quantities they generate. See the optional {kind} keyword below for
|
||||||
|
how to force the fix ave/histo command to disambiguate if necessary.
|
||||||
|
|
||||||
Note that the output of this command is a single histogram for all
|
Note that the output of this command is a single histogram for all
|
||||||
input values combined together, not one histogram per input value.
|
input values combined together, not one histogram per input value.
|
||||||
@ -231,6 +233,14 @@ keyword is set to {vector}, then all input values must be global or
|
|||||||
per-atom or local vectors, or columns of global or per-atom or local
|
per-atom or local vectors, or columns of global or per-atom or local
|
||||||
arrays.
|
arrays.
|
||||||
|
|
||||||
|
The {kind} keyword only needs to be set if a compute or fix produces
|
||||||
|
more than one kind of output (global, per-atom, local). If this is
|
||||||
|
not the case, then LAMMPS will determine what kind of input is
|
||||||
|
provided and whether all the input arguments are consistent. If a
|
||||||
|
compute or fix produces more than one kind of output, the {kind}
|
||||||
|
keyword should be used to specify which output will be used. The
|
||||||
|
remaining input arguments must still be consistent.
|
||||||
|
|
||||||
The {beyond} keyword determines how input values that fall outside the
|
The {beyond} keyword determines how input values that fall outside the
|
||||||
{lo} to {hi} bounds are treated. Values such that {lo} <= value <=
|
{lo} to {hi} bounds are treated. Values such that {lo} <= value <=
|
||||||
{hi} are assigned to one bin. Values on a bin boundary are assigned
|
{hi} are assigned to one bin. Values on a bin boundary are assigned
|
||||||
@ -240,7 +250,7 @@ If {beyond} is set to {end} then values < {lo} are counted in the
|
|||||||
first bin and values > {hi} are counted in the last bin. If {beyond}
|
first bin and values > {hi} are counted in the last bin. If {beyond}
|
||||||
is set to {extend} then two extra bins are created, so that there are
|
is set to {extend} then two extra bins are created, so that there are
|
||||||
Nbins+2 total bins. Values < {lo} are counted in the first bin and
|
Nbins+2 total bins. Values < {lo} are counted in the first bin and
|
||||||
values > {hi} are counted in the last bin (Nbins+1). Values between
|
values > {hi} are counted in the last bin (Nbins+2). Values between
|
||||||
{lo} and {hi} (inclusive) are counted in bins 2 through Nbins+1. The
|
{lo} and {hi} (inclusive) are counted in bins 2 through Nbins+1. The
|
||||||
"coordinate" stored and printed for these two extra bins is {lo} and
|
"coordinate" stored and printed for these two extra bins is {lo} and
|
||||||
{hi}.
|
{hi}.
|
||||||
@ -354,5 +364,6 @@ ave/chunk"_fix_ave_chunk.html, "fix ave/time"_fix_ave_time.html,
|
|||||||
|
|
||||||
[Default:] none
|
[Default:] none
|
||||||
|
|
||||||
The option defaults are mode = scalar, ave = one, start = 0, no file
|
The option defaults are mode = scalar, kind = figured out from input
|
||||||
output, beyond = ignore, and title 1,2,3 = strings as described above.
|
arguments, ave = one, start = 0, no file output, beyond = ignore, and
|
||||||
|
title 1,2,3 = strings as described above.
|
||||||
|
|||||||
@ -385,6 +385,10 @@ No parameter of this fix can be used with the {start/stop} keywords of
|
|||||||
the "run"_run.html command. This fix is not invoked during "energy
|
the "run"_run.html command. This fix is not invoked during "energy
|
||||||
minimization"_minimize.html.
|
minimization"_minimize.html.
|
||||||
|
|
||||||
|
When fix bond/react is 'unfixed,' all internally-created groups are
|
||||||
|
deleted. Therefore, fix bond/react can only be unfixed after unfixing
|
||||||
|
all other fixes that use any group created by fix bond/react.
|
||||||
|
|
||||||
[Restrictions:]
|
[Restrictions:]
|
||||||
|
|
||||||
This fix is part of the USER-MISC package. It is only enabled if
|
This fix is part of the USER-MISC package. It is only enabled if
|
||||||
|
|||||||
@ -102,7 +102,7 @@ Bi = exp(beta * Vij(max)) :pre
|
|||||||
where beta = 1/kTequil, and {Tequil} is the temperature of the system
|
where beta = 1/kTequil, and {Tequil} is the temperature of the system
|
||||||
and an argument to this fix. Note that Bi >= 1 at every step.
|
and an argument to this fix. Note that Bi >= 1 at every step.
|
||||||
|
|
||||||
NOTE: To run GHD, the input script must also use the "fix
|
NOTE: To run a GHD simulation, the input script must also use the "fix
|
||||||
langevin"_fix_langevin.html command to thermostat the atoms at the
|
langevin"_fix_langevin.html command to thermostat the atoms at the
|
||||||
same {Tequil} as specified by this fix, so that the system is running
|
same {Tequil} as specified by this fix, so that the system is running
|
||||||
constant-temperature (NVT) dynamics. LAMMPS does not check that this
|
constant-temperature (NVT) dynamics. LAMMPS does not check that this
|
||||||
@ -166,9 +166,9 @@ correctly. There will just be fewer events because the hyper time
|
|||||||
|
|
||||||
NOTE: If you have no physical intuition as to the smallest barrier
|
NOTE: If you have no physical intuition as to the smallest barrier
|
||||||
height in your system, a reasonable strategy to determine the largest
|
height in your system, a reasonable strategy to determine the largest
|
||||||
{Vmax} you can use for an LHD model, is to run a sequence of
|
{Vmax} you can use for a GHD model, is to run a sequence of
|
||||||
simulations with smaller and smaller {Vmax} values, until the event
|
simulations with smaller and smaller {Vmax} values, until the event
|
||||||
rate does not change.
|
rate does not change (as a function of hyper time).
|
||||||
|
|
||||||
The {Tequil} argument is the temperature at which the system is
|
The {Tequil} argument is the temperature at which the system is
|
||||||
simulated; see the comment above about the "fix
|
simulated; see the comment above about the "fix
|
||||||
@ -177,7 +177,8 @@ beta term in the exponential factor that determines how much boost is
|
|||||||
achieved as a function of the bias potential.
|
achieved as a function of the bias potential.
|
||||||
|
|
||||||
In general, the lower the value of {Tequil} and the higher the value
|
In general, the lower the value of {Tequil} and the higher the value
|
||||||
of {Vmax}, the more boost will be achievable by the GHD algorithm.
|
of {Vmax}, the more time boost will be achievable by the GHD
|
||||||
|
algorithm.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
@ -190,41 +191,43 @@ The "fix_modify"_fix_modify.html {energy} option is supported by this
|
|||||||
fix to add the energy of the bias potential to the the system's
|
fix to add the energy of the bias potential to the the system's
|
||||||
potential energy as part of "thermodynamic output"_thermo_style.html.
|
potential energy as part of "thermodynamic output"_thermo_style.html.
|
||||||
|
|
||||||
This fix computes a global scalar and global vector of length 11, which
|
This fix computes a global scalar and global vector of length 12, which
|
||||||
can be accessed by various "output commands"_Howto_output.html. The
|
can be accessed by various "output commands"_Howto_output.html. The
|
||||||
scalar is the magnitude of the bias potential (energy units) applied on
|
scalar is the magnitude of the bias potential (energy units) applied on
|
||||||
the current timestep. The vector stores the following quantities:
|
the current timestep. The vector stores the following quantities:
|
||||||
|
|
||||||
1 = boost factor on this step (unitless)
|
1 = boost factor on this step (unitless)
|
||||||
2 = max strain Eij of any bond on this step (unitless)
|
2 = max strain Eij of any bond on this step (absolute value, unitless)
|
||||||
3 = ID of first atom in the max-strain bond
|
3 = ID of first atom in the max-strain bond
|
||||||
4 = ID of second atom in the max-strain bond
|
4 = ID of second atom in the max-strain bond
|
||||||
5 = average # of bonds/atom on this step :ul
|
5 = average # of bonds/atom on this step :ul
|
||||||
|
|
||||||
6 = fraction of timesteps with bias = 0.0 during this run
|
6 = fraction of timesteps where the biased bond has bias = 0.0 during this run
|
||||||
7 = max drift distance of any atom during this run (distance units)
|
7 = fraction of timesteps where the biased bond has negative strain during this run
|
||||||
8 = max bond length during this run (distance units) :ul
|
8 = max drift distance of any atom during this run (distance units)
|
||||||
|
9 = max bond length during this run (distance units) :ul
|
||||||
|
|
||||||
9 = cumulative hyper time since fix was defined (time units)
|
10 = cumulative hyper time since fix was defined (time units)
|
||||||
10 = cumulative count of event timesteps since fix was defined
|
11 = cumulative count of event timesteps since fix was defined
|
||||||
11 = cumulative count of atoms in events since fix was defined :ul
|
12 = cumulative count of atoms in events since fix was defined :ul
|
||||||
|
|
||||||
The first 5 quantities are for the current timestep. Quantities 6-8
|
The first 5 quantities are for the current timestep. Quantities 6-9
|
||||||
are for the current hyper run. Quantities 9-11 are cumulative across
|
are for the current hyper run. They are reset each time a new hyper
|
||||||
multiple runs (since the fix was defined in the input script).
|
run is performed. Quantities 19-12 are cumulative across multiple
|
||||||
|
runs (since the point in the input script the fix was defined).
|
||||||
|
|
||||||
For value 7, drift is the distance an atom moves between timesteps
|
For value 8, drift is the distance an atom moves between two quenched
|
||||||
when the bond list is reset, i.e. between events. Atoms involved in
|
states when the second quench determines an event has occurred. Atoms
|
||||||
an event will typically move the greatest distance since others are
|
involved in an event will typically move the greatest distance since
|
||||||
typically oscillating around their lattice site.
|
others typically remain near their original quenched position.
|
||||||
|
|
||||||
For value 10, events are checked for by the "hyper"_hyper.html command
|
For value 11, events are checked for by the "hyper"_hyper.html command
|
||||||
once every {Nevent} timesteps. This value is the count of those
|
once every {Nevent} timesteps. This value is the count of those
|
||||||
timesteps on which one (or more) events was detected. It is NOT the
|
timesteps on which one (or more) events was detected. It is NOT the
|
||||||
number of distinct events, since more than one event may occur in the
|
number of distinct events, since more than one event may occur in the
|
||||||
same {Nevent} time window.
|
same {Nevent} time window.
|
||||||
|
|
||||||
For value 11, each time the "hyper"_hyper.html command checks for an
|
For value 12, each time the "hyper"_hyper.html command checks for an
|
||||||
event, it invokes a compute to flag zero or more atoms as
|
event, it invokes a compute to flag zero or more atoms as
|
||||||
participating in one or more events. E.g. atoms that have displaced
|
participating in one or more events. E.g. atoms that have displaced
|
||||||
more than some distance from the previous quench state. Value 11 is
|
more than some distance from the previous quench state. Value 11 is
|
||||||
|
|||||||
@ -22,10 +22,9 @@ Dcut = minimum distance between boosted bonds (distance units) :l
|
|||||||
alpha = boostostat relaxation time (time units) :l
|
alpha = boostostat relaxation time (time units) :l
|
||||||
Btarget = desired time boost factor (unitless) :l
|
Btarget = desired time boost factor (unitless) :l
|
||||||
zero or more keyword/value pairs may be appended :l
|
zero or more keyword/value pairs may be appended :l
|
||||||
keyword = {lost} or {check/bias} or {check/coeff}
|
keyword = {check/ghost} or {check/bias} :l
|
||||||
{lostbond} value = error/warn/ignore
|
{check/ghost} values = none
|
||||||
{check/bias} values = Nevery error/warn/ignore
|
{check/bias} values = Nevery error/warn/ignore :pre
|
||||||
{check/coeff} values = Nevery error/warn/ignore :pre
|
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
@ -65,8 +64,8 @@ To understand this description, you should first read the description
|
|||||||
of the GHD algorithm on the "fix hyper/global"_fix_hyper_global.html
|
of the GHD algorithm on the "fix hyper/global"_fix_hyper_global.html
|
||||||
doc page. This description of LHD builds on the GHD description.
|
doc page. This description of LHD builds on the GHD description.
|
||||||
|
|
||||||
The definition of bonds, Eij, and Emax are the same for GHD and LHD.
|
The definition of bonds and Eij are the same for GHD and LHD. The
|
||||||
The formulas for Vij(max) and Fij(max) are also the same except for a
|
formulas for Vij(max) and Fij(max) are also the same except for a
|
||||||
pre-factor Cij, explained below.
|
pre-factor Cij, explained below.
|
||||||
|
|
||||||
The bias energy Vij applied to a bond IJ with maximum strain is
|
The bias energy Vij applied to a bond IJ with maximum strain is
|
||||||
@ -117,11 +116,11 @@ where Vkl(max) is the bias energy of the maxstrain bond KL within bond
|
|||||||
IJ's neighborhood, beta = 1/kTequil, and {Tequil} is the temperature
|
IJ's neighborhood, beta = 1/kTequil, and {Tequil} is the temperature
|
||||||
of the system and an argument to this fix.
|
of the system and an argument to this fix.
|
||||||
|
|
||||||
NOTE: To run LHD, the input script must also use the "fix
|
NOTE: To run an LHD simulation, the input script must also use the
|
||||||
langevin"_fix_langevin.html command to thermostat the atoms at the
|
"fix langevin"_fix_langevin.html command to thermostat the atoms at
|
||||||
same {Tequil} as specified by this fix, so that the system is running
|
the same {Tequil} as specified by this fix, so that the system is
|
||||||
constant-temperature (NVT) dynamics. LAMMPS does not check that this
|
running constant-temperature (NVT) dynamics. LAMMPS does not check
|
||||||
is done.
|
that this is done.
|
||||||
|
|
||||||
Note that if IJ = KL, then bond IJ is a biased bond on that timestep,
|
Note that if IJ = KL, then bond IJ is a biased bond on that timestep,
|
||||||
otherwise it is not. But regardless, the boost factor Bij can be
|
otherwise it is not. But regardless, the boost factor Bij can be
|
||||||
@ -216,20 +215,20 @@ each pair. E.g. something like 2x the cutoff of the interatomic
|
|||||||
potential. In practice a {Dcut} value of ~10 Angstroms seems to work
|
potential. In practice a {Dcut} value of ~10 Angstroms seems to work
|
||||||
well for many solid-state systems.
|
well for many solid-state systems.
|
||||||
|
|
||||||
NOTE: You must also insure that ghost atom communication is performed
|
NOTE: You should insure that ghost atom communication is performed for
|
||||||
for a distance of at least {Dcut} + {cutevent} where {cutevent} = the
|
a distance of at least {Dcut} + {cutevent} = the distance one or more
|
||||||
distance one or more atoms move (between quenched states) to be
|
atoms move (between quenched states) to be considered an "event". It
|
||||||
considered an "event". It is an argument to the "compute
|
is an argument to the "compute event/displace" command used to detect
|
||||||
event/displace" command used to detect events. By default the ghost
|
events. By default the ghost communication distance is set by the
|
||||||
communication distance is set by the pair_style cutoff, which will
|
pair_style cutoff, which will typically be < {Dcut}. The "comm_modify
|
||||||
typically be < {Dcut}. The "comm_modify cutoff"_comm_modify.html
|
cutoff"_comm_modify.html command should be used to override the ghost
|
||||||
command can be used to set the ghost cutoff explicitly, e.g.
|
cutoff explicitly, e.g.
|
||||||
|
|
||||||
comm_modify cutoff 12.0 :pre
|
comm_modify cutoff 12.0 :pre
|
||||||
|
|
||||||
This fix does not know the {cutevent} parameter, but uses half the
|
Note that this fix does not know the {cutevent} parameter, but uses
|
||||||
bond length as an estimate to warn if the ghost cutoff is not long
|
half the {cutbond} parameter as an estimate to warn if the ghost
|
||||||
enough.
|
cutoff is not long enough.
|
||||||
|
|
||||||
As described above the {alpha} argument is a pre-factor in the
|
As described above the {alpha} argument is a pre-factor in the
|
||||||
boostostat update equation for each bond's Cij prefactor. {Alpha} is
|
boostostat update equation for each bond's Cij prefactor. {Alpha} is
|
||||||
@ -269,7 +268,30 @@ NOTE: If you have no physical intuition as to the smallest barrier
|
|||||||
height in your system, a reasonable strategy to determine the largest
|
height in your system, a reasonable strategy to determine the largest
|
||||||
{Btarget} you can use for an LHD model, is to run a sequence of
|
{Btarget} you can use for an LHD model, is to run a sequence of
|
||||||
simulations with smaller and smaller {Btarget} values, until the event
|
simulations with smaller and smaller {Btarget} values, until the event
|
||||||
rate does not change.
|
rate does not change (as a function of hyper time).
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
Here is additional information on the optional keywords for this fix.
|
||||||
|
|
||||||
|
The {check/ghost} keyword turns on extra computation each timestep to
|
||||||
|
compute statistics about ghost atoms used to determine which bonds to
|
||||||
|
bias. The output of these stats are the vector values 14 and 15,
|
||||||
|
described below. If this keyword is not enabled, the output
|
||||||
|
of the stats will be zero.
|
||||||
|
|
||||||
|
The {check/bias} keyword turns on extra computation and communication
|
||||||
|
to check if any biased bonds are closer than {Dcut} to each other,
|
||||||
|
which should not be the case if LHD is operating correctly. Thus it
|
||||||
|
is a debugging check. The {Nevery} setting determines how often the
|
||||||
|
check is made. The {error}, {warn}, or {ignore} setting determines
|
||||||
|
what is done if the count of too-close bonds is not zero. Either the
|
||||||
|
code will exit, or issue a warning, or silently tally the count. The
|
||||||
|
count can be output as vector value 17, as described below. If this
|
||||||
|
keyword is not enabled, the output of that statistic will be 0.
|
||||||
|
|
||||||
|
Note that both of these computations are costly, hence they are only
|
||||||
|
enabled by these keywords.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
@ -282,95 +304,120 @@ The "fix_modify"_fix_modify.html {energy} option is supported by this
|
|||||||
fix to add the energy of the bias potential to the the system's
|
fix to add the energy of the bias potential to the the system's
|
||||||
potential energy as part of "thermodynamic output"_thermo_style.html.
|
potential energy as part of "thermodynamic output"_thermo_style.html.
|
||||||
|
|
||||||
This fix computes a global scalar and global vector of length 23,
|
This fix computes a global scalar and global vector of length 21,
|
||||||
which can be accessed by various "output
|
which can be accessed by various "output commands"_Howto_output.html.
|
||||||
commands"_Howto_output.html. The scalar is the magnitude of
|
The scalar is the magnitude of the bias potential (energy units)
|
||||||
the bias potential (energy units) applied on the current timestep,
|
applied on the current timestep, summed over all biased bonds. The
|
||||||
summed over all biased bonds. The vector stores the following
|
vector stores the following quantities:
|
||||||
quantities:
|
|
||||||
|
|
||||||
1 = # of biased bonds on this step
|
1 = # of biased bonds on this step
|
||||||
2 = max strain Eij of any bond on this step (unitless)
|
2 = max strain Eij of any bond on this step (absolute value, unitless)
|
||||||
3 = average bias potential for all biased bonds on this step (energy units)
|
3 = average bias coeff for all bonds on this step (unitless)
|
||||||
4 = average # of bonds/atom on this step
|
4 = average # of bonds/atom on this step
|
||||||
5 = average neighbor bonds/bond on this step within {Dcut} :ul
|
5 = average neighbor bonds/bond on this step within {Dcut} :ul
|
||||||
|
|
||||||
6 = fraction of steps and bonds with no bias during this run
|
6 = max bond length during this run (distance units)
|
||||||
7 = max drift distance of any atom during this run (distance units)
|
7 = average # of biased bonds/step during this run
|
||||||
8 = max bond length during this run (distance units)
|
8 = fraction of biased bonds with no bias during this run
|
||||||
9 = average # of biased bonds/step during this run
|
9 = fraction of biased bonds with negative strain during this run
|
||||||
10 = average bias potential for all biased bonds during this run (energy units)
|
10 = average bias coeff for all bonds during this run (unitless)
|
||||||
11 = max bias potential for any biased bond during this run (energy units)
|
11 = min bias coeff for any bond during this run (unitless)
|
||||||
12 = min bias potential for any biased bond during this run (energy units)
|
12 = max bias coeff for any bond during this run (unitless)
|
||||||
13 = max distance from my sub-box of any ghost atom with maxstrain < qfactor during this run (distance units)
|
|
||||||
14 = max distance outside my box of any ghost atom with any maxstrain during this run (distance units)
|
|
||||||
15 = count of ghost neighbor atoms not found on reneighbor steps during this run
|
|
||||||
16 = count of lost bond partners during this run
|
|
||||||
17 = average bias coeff for lost bond partners during this run
|
|
||||||
18 = count of bias overlaps found during this run
|
|
||||||
19 = count of non-matching bias coefficients found during this run :ul
|
|
||||||
|
|
||||||
20 = cumulative hyper time since fix created (time units)
|
13 = max drift distance of any bond atom during this run (distance units)
|
||||||
21 = cumulative count of event timesteps since fix created
|
14 = max distance from proc subbox of any ghost atom with maxstrain < qfactor during this run (distance units)
|
||||||
22 = cumulative count of atoms in events since fix created
|
15 = max distance outside my box of any ghost atom with any maxstrain during this run (distance units)
|
||||||
23 = cumulative # of new bonds since fix created :ul
|
16 = count of ghost atoms that could not be found on reneighbor steps during this run
|
||||||
|
17 = count of bias overlaps (< Dcut) found during this run
|
||||||
|
|
||||||
|
18 = cumulative hyper time since fix created (time units)
|
||||||
|
19 = cumulative count of event timesteps since fix created
|
||||||
|
20 = cumulative count of atoms in events since fix created
|
||||||
|
21 = cumulative # of new bonds formed since fix created :ul
|
||||||
|
|
||||||
The first quantities (1-5) are for the current timestep. Quantities
|
The first quantities (1-5) are for the current timestep. Quantities
|
||||||
6-19 are for the current hyper run. They are reset each time a new
|
6-17 are for the current hyper run. They are reset each time a new
|
||||||
hyper run is performed. Quantities 20-23 are cumulative across
|
hyper run is performed. Quantities 18-21 are cumulative across
|
||||||
multiple runs (since the fix was defined in the input script).
|
multiple runs (since the point in the input script the fix was
|
||||||
|
defined).
|
||||||
|
|
||||||
For value 6, the numerator is a count of all biased bonds on every
|
For value 8, the numerator is a count of all biased bonds on each
|
||||||
timestep whose bias energy = 0.0 due to Eij >= {qfactor}. The
|
timestep whose bias energy = 0.0 due to Eij >= {qfactor}. The
|
||||||
denominator is the count of all biased bonds on all timesteps.
|
denominator is the count of all biased bonds on all timesteps.
|
||||||
|
|
||||||
For value 7, drift is the distance an atom moves between timesteps
|
For value 9, the numerator is a count of all biased bonds on each
|
||||||
when the bond list is reset, i.e. between events. Atoms involved in
|
timestep with negative strain. The denominator is the count of all
|
||||||
an event will typically move the greatest distance since others are
|
biased bonds on all timesteps.
|
||||||
typically oscillating around their lattice site.
|
|
||||||
|
|
||||||
For values 13 and 14, the maxstrain of a ghost atom is the maxstrain
|
Values 13-17 are mostly useful for debugging and diagnostic purposes.
|
||||||
of any bond it is part of, and it is checked for ghost atoms within
|
|
||||||
the bond neighbor cutoff.
|
|
||||||
|
|
||||||
Values 15-19 are mostly useful for debugging and diagnostic purposes.
|
For value 13, drift is the distance an atom moves between two quenched
|
||||||
|
states when the second quench determines an event has occurred. Atoms
|
||||||
|
involved in an event will typically move the greatest distance since
|
||||||
|
others typically remain near their original quenched position.
|
||||||
|
|
||||||
For values 15-17, it is possible that a ghost atom owned by another
|
For values 14-16, neighbor atoms in the full neighbor list with cutoff
|
||||||
processor will move far enough (e.g. as part of an event-in-progress)
|
{Dcut} may be ghost atoms outside a processor's sub-box. Before the
|
||||||
that it will no longer be within the communication cutoff distance for
|
next event occurs they may move further than {Dcut} away from the
|
||||||
acquiring ghost atoms. Likewise it may be a ghost atom bond partner
|
sub-box boundary. Value 14 is the furthest (from the sub-box) any
|
||||||
that cannot be found because it has moved too far. These values count
|
ghost atom in the neighbor list with maxstrain < {qfactor} was
|
||||||
those occurrences. Because they typically involve atoms that are part
|
accessed during the run. Value 15 is the same except that the ghost
|
||||||
of events, they do not usually indicate bad dynamics. Value 16 is the
|
atom's maxstrain may be >= {qfactor}, which may mean it is about to
|
||||||
average bias coefficient for bonds where a partner atom was lost.
|
participate in an event. Value 16 is a count of how many ghost atoms
|
||||||
|
could not be found on reneighbor steps, presumably because they moved
|
||||||
|
too far away due to their participation in an event (which will likely
|
||||||
|
be detected at the next quench).
|
||||||
|
|
||||||
For value 18, no two bonds should be biased if they are within a
|
Typical values for 14 and 15 should be slightly larger than {Dcut},
|
||||||
|
which accounts for ghost atoms initially at a {Dcut} distance moving
|
||||||
|
thermally before the next event takes place.
|
||||||
|
|
||||||
|
Note that for values 14 and 15 to be computed, the optional keyword
|
||||||
|
{check/ghost} must be specified. Otherwise these values will be zero.
|
||||||
|
This is because computing them incurs overhead, so the values are only
|
||||||
|
computed if requested.
|
||||||
|
|
||||||
|
Value 16 should be zero or small. As explained above a small count
|
||||||
|
likely means some ghost atoms were participating in their own events
|
||||||
|
and moved a longer distance. If the value is large, it likely means
|
||||||
|
the communication cutoff for ghosts is too close to {Dcut} leading to
|
||||||
|
many not-found ghost atoms before the next event. This may lead to a
|
||||||
|
reduced number of bonds being selected for biasing, since the code
|
||||||
|
assumes those atoms are part of highly strained bonds. As explained
|
||||||
|
above, the "comm_modify cutoff"_comm_modify.html command can be used
|
||||||
|
to set a longer cutoff.
|
||||||
|
|
||||||
|
For value 17, no two bonds should be biased if they are within a
|
||||||
{Dcut} distance of each other. This value should be zero, indicating
|
{Dcut} distance of each other. This value should be zero, indicating
|
||||||
that no pair of bonds "overlap", meaning they are closer than {Dcut}
|
that no pair of biased bonds are closer than {Dcut} from each other.
|
||||||
from each other.
|
|
||||||
|
|
||||||
For value 19, the same bias coefficient is stored by both atoms in an
|
Note that for values 17 to be computed, the optional keyword
|
||||||
IJ bond. This value should be zero, indicating that for all bonds,
|
{check/bias} must be specified and it determines how often this check
|
||||||
each atom in the bond stores the a bias coefficient with the same
|
is performed. This is because performing the check incurs overhead,
|
||||||
value.
|
so if only computed as often as requested.
|
||||||
|
|
||||||
Value 20 is simply the specified {boost} factor times the number of
|
The result at the end of the run is the cumulative total from every
|
||||||
timestep times the timestep size.
|
timestep the check was made. Note that the value is a count of atoms
|
||||||
|
in bonds which found other atoms in bonds too close, so it is almost
|
||||||
|
always an over-count of the number of too-close bonds.
|
||||||
|
|
||||||
For value 21, events are checked for by the "hyper"_hyper.html command
|
Value 18 is simply the specified {boost} factor times the number of
|
||||||
|
timesteps times the timestep size.
|
||||||
|
|
||||||
|
For value 19, events are checked for by the "hyper"_hyper.html command
|
||||||
once every {Nevent} timesteps. This value is the count of those
|
once every {Nevent} timesteps. This value is the count of those
|
||||||
timesteps on which one (or more) events was detected. It is NOT the
|
timesteps on which one (or more) events was detected. It is NOT the
|
||||||
number of distinct events, since more than one event may occur in the
|
number of distinct events, since more than one event may occur in the
|
||||||
same {Nevent} time window.
|
same {Nevent} time window.
|
||||||
|
|
||||||
For value 22, each time the "hyper"_hyper.html command checks for an
|
For value 20, each time the "hyper"_hyper.html command checks for an
|
||||||
event, it invokes a compute to flag zero or more atoms as
|
event, it invokes a compute to flag zero or more atoms as
|
||||||
participating in one or more events. E.g. atoms that have displaced
|
participating in one or more events. E.g. atoms that have displaced
|
||||||
more than some distance from the previous quench state. Value 22 is
|
more than some distance from the previous quench state. Value 20 is
|
||||||
the cumulative count of the number of atoms participating in any of
|
the cumulative count of the number of atoms participating in any of
|
||||||
the events that were found.
|
the events that were found.
|
||||||
|
|
||||||
Value 23 tallies the number of new bonds created by the bond reset
|
Value 21 tallies the number of new bonds created by the bond reset
|
||||||
operation. Bonds between a specific I,J pair of atoms may persist for
|
operation. Bonds between a specific I,J pair of atoms may persist for
|
||||||
the entire hyperdynamics simulation if neither I or J are involved in
|
the entire hyperdynamics simulation if neither I or J are involved in
|
||||||
an event.
|
an event.
|
||||||
@ -378,6 +425,16 @@ an event.
|
|||||||
The scalar and vector values calculated by this fix are all
|
The scalar and vector values calculated by this fix are all
|
||||||
"intensive".
|
"intensive".
|
||||||
|
|
||||||
|
This fix also computes a local vector of length the number of bonds
|
||||||
|
currently in the system. The value for each bond is its Cij prefactor
|
||||||
|
(bias coefficient). These values can be can be accessed by various
|
||||||
|
"output commands"_Howto_output.html. A particularly useful one is the
|
||||||
|
"fix ave/histo"_fix_ave_histo.html command which can be used to
|
||||||
|
histogram the Cij values to see if they are distributed reasonably
|
||||||
|
close to 1.0, which indicates a good choice of {Vmax}.
|
||||||
|
|
||||||
|
The local values calculated by this fix are unitless.
|
||||||
|
|
||||||
No parameter of this fix can be used with the {start/stop} keywords of
|
No parameter of this fix can be used with the {start/stop} keywords of
|
||||||
the "run"_run.html command. This fix is not invoked during "energy
|
the "run"_run.html command. This fix is not invoked during "energy
|
||||||
minimization"_minimize.html.
|
minimization"_minimize.html.
|
||||||
@ -392,7 +449,9 @@ doc page for more info.
|
|||||||
|
|
||||||
"hyper"_hyper.html, "fix hyper/global"_fix_hyper_global.html
|
"hyper"_hyper.html, "fix hyper/global"_fix_hyper_global.html
|
||||||
|
|
||||||
[Default:] None
|
[Default:]
|
||||||
|
|
||||||
|
The check/ghost and check/bias keywords are not enabled by default.
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
|||||||
@ -7,22 +7,24 @@
|
|||||||
:line
|
:line
|
||||||
|
|
||||||
fix wall/gran command :h3
|
fix wall/gran command :h3
|
||||||
fix wall/gran/omp command :h3
|
|
||||||
|
|
||||||
[Syntax:]
|
[Syntax:]
|
||||||
|
|
||||||
fix ID group-ID wall/gran fstyle Kn Kt gamma_n gamma_t xmu dampflag wallstyle args keyword values ... :pre
|
fix ID group-ID wall/gran fstyle fstyle_params wallstyle args keyword values ... :pre
|
||||||
|
|
||||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||||
wall/gran = style name of this fix command :l
|
wall/gran = style name of this fix command :l
|
||||||
fstyle = style of force interactions between particles and wall :l
|
fstyle = style of force interactions between particles and wall :l
|
||||||
possible choices: hooke, hooke/history, hertz/history :pre
|
possible choices: hooke, hooke/history, hertz/history, granular :pre
|
||||||
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) :l
|
fstyle_params = parameters associated with force interaction style :l
|
||||||
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) :l
|
For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are:
|
||||||
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) :l
|
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
|
||||||
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) :l
|
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
|
||||||
xmu = static yield criterion (unitless value between 0.0 and 1.0e4) :l
|
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
|
||||||
dampflag = 0 or 1 if tangential damping force is excluded or included :l
|
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
|
||||||
|
xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
|
||||||
|
dampflag = 0 or 1 if tangential damping force is excluded or included :pre
|
||||||
|
For {granular}, {fstyle_params} are set using the same syntax as for the {pair_coeff} command of "pair_style granular"_pair_granular.html :pre
|
||||||
wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l
|
wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l
|
||||||
args = list of arguments for a particular style :l
|
args = list of arguments for a particular style :l
|
||||||
{xplane} or {yplane} or {zplane} args = lo hi
|
{xplane} or {yplane} or {zplane} args = lo hi
|
||||||
@ -44,7 +46,10 @@ keyword = {wiggle} or {shear} :l
|
|||||||
|
|
||||||
fix 1 all wall/gran hooke 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0
|
fix 1 all wall/gran hooke 200000.0 NULL 50.0 NULL 0.5 0 xplane -10.0 10.0
|
||||||
fix 1 all wall/gran hooke/history 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL
|
fix 1 all wall/gran hooke/history 200000.0 NULL 50.0 NULL 0.5 0 zplane 0.0 NULL
|
||||||
fix 2 all wall/gran hooke 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0 :pre
|
fix 2 all wall/gran hooke 100000.0 20000.0 50.0 30.0 0.5 1 zcylinder 15.0 wiggle z 3.0 2.0
|
||||||
|
fix 3 all wall/gran granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 zplane 0.0 NULL
|
||||||
|
fix 4 all wall/gran granular jkr 1000.0 50.0 0.3 5.0 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall zcylinder 15.0 wiggle z 3.0 2.0
|
||||||
|
fix 5 all wall/gran granular dmt 1000.0 50.0 0.3 10.0 tangential mindlin 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall zplane 0.0 NULL :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
@ -54,31 +59,40 @@ close enough to touch it.
|
|||||||
|
|
||||||
The nature of the wall/particle interactions are determined by the
|
The nature of the wall/particle interactions are determined by the
|
||||||
{fstyle} setting. It can be any of the styles defined by the
|
{fstyle} setting. It can be any of the styles defined by the
|
||||||
"pair_style granular"_pair_gran.html commands. Currently this is
|
"pair_style gran/*"_pair_gran.html or the more general "pair_style
|
||||||
{hooke}, {hooke/history}, or {hertz/history}. The equation for the
|
granular"_pair_granular.html" commands. Currently the options are
|
||||||
force between the wall and particles touching it is the same as the
|
{hooke}, {hooke/history}, or {hertz/history} for the former, and
|
||||||
corresponding equation on the "pair_style granular"_pair_gran.html doc
|
{granular} with all the possible options of the associated
|
||||||
page, in the limit of one of the two particles going to infinite
|
{pair_coeff} command for the latter. The equation for the force
|
||||||
radius and mass (flat wall). Specifically, delta = radius - r =
|
between the wall and particles touching it is the same as the
|
||||||
overlap of particle with wall, m_eff = mass of particle, and the
|
corresponding equation on the "pair_style gran/*"_pair_gran.html and
|
||||||
effective radius of contact = RiRj/Ri+Rj is just the radius of the
|
"pair_style_granular"_pair_granular.html doc pages, in the limit of
|
||||||
particle.
|
one of the two particles going to infinite radius and mass (flat
|
||||||
|
wall). Specifically, delta = radius - r = overlap of particle with
|
||||||
|
wall, m_eff = mass of particle, and the effective radius of contact =
|
||||||
|
RiRj/Ri+Rj is set to the radius of the particle.
|
||||||
|
|
||||||
The parameters {Kn}, {Kt}, {gamma_n}, {gamma_t}, {xmu} and {dampflag}
|
The parameters {Kn}, {Kt}, {gamma_n}, {gamma_t}, {xmu} and {dampflag}
|
||||||
have the same meaning and units as those specified with the
|
have the same meaning and units as those specified with the
|
||||||
"pair_style granular"_pair_gran.html commands. This means a NULL can
|
"pair_style gran/*"_pair_gran.html commands. This means a NULL can be
|
||||||
be used for either {Kt} or {gamma_t} as described on that page. If a
|
used for either {Kt} or {gamma_t} as described on that page. If a
|
||||||
NULL is used for {Kt}, then a default value is used where {Kt} = 2/7
|
NULL is used for {Kt}, then a default value is used where {Kt} = 2/7
|
||||||
{Kn}. If a NULL is used for {gamma_t}, then a default value is used
|
{Kn}. If a NULL is used for {gamma_t}, then a default value is used
|
||||||
where {gamma_t} = 1/2 {gamma_n}.
|
where {gamma_t} = 1/2 {gamma_n}.
|
||||||
|
|
||||||
|
All the model choices for cohesion, tangential friction, rolling
|
||||||
|
friction and twisting friction supported by the "pair_style
|
||||||
|
granular"_pair_granular.html through its {pair_coeff} command are also
|
||||||
|
supported for walls. These are discussed in greater detail on the doc
|
||||||
|
page for "pair_style granular"_pair_granular.html.
|
||||||
|
|
||||||
Note that you can choose a different force styles and/or different
|
Note that you can choose a different force styles and/or different
|
||||||
values for the 6 wall/particle coefficients than for particle/particle
|
values for the wall/particle coefficients than for particle/particle
|
||||||
interactions. E.g. if you wish to model the wall as a different
|
interactions. E.g. if you wish to model the wall as a different
|
||||||
material.
|
material.
|
||||||
|
|
||||||
NOTE: As discussed on the doc page for "pair_style
|
NOTE: As discussed on the doc page for "pair_style
|
||||||
granular"_pair_gran.html, versions of LAMMPS before 9Jan09 used a
|
gran/*"_pair_gran.html, versions of LAMMPS before 9Jan09 used a
|
||||||
different equation for Hertzian interactions. This means Hertizian
|
different equation for Hertzian interactions. This means Hertizian
|
||||||
wall/particle interactions have also changed. They now include a
|
wall/particle interactions have also changed. They now include a
|
||||||
sqrt(radius) term which was not present before. Also the previous
|
sqrt(radius) term which was not present before. Also the previous
|
||||||
@ -108,14 +122,14 @@ Optionally, the wall can be moving, if the {wiggle} or {shear}
|
|||||||
keywords are appended. Both keywords cannot be used together.
|
keywords are appended. Both keywords cannot be used together.
|
||||||
|
|
||||||
For the {wiggle} keyword, the wall oscillates sinusoidally, similar to
|
For the {wiggle} keyword, the wall oscillates sinusoidally, similar to
|
||||||
the oscillations of particles which can be specified by the
|
the oscillations of particles which can be specified by the "fix
|
||||||
"fix move"_fix_move.html command. This is useful in packing
|
move"_fix_move.html command. This is useful in packing simulations of
|
||||||
simulations of granular particles. The arguments to the {wiggle}
|
granular particles. The arguments to the {wiggle} keyword specify a
|
||||||
keyword specify a dimension for the motion, as well as it's
|
dimension for the motion, as well as it's {amplitude} and {period}.
|
||||||
{amplitude} and {period}. Note that if the dimension is in the plane
|
Note that if the dimension is in the plane of the wall, this is
|
||||||
of the wall, this is effectively a shearing motion. If the dimension
|
effectively a shearing motion. If the dimension is perpendicular to
|
||||||
is perpendicular to the wall, it is more of a shaking motion. A
|
the wall, it is more of a shaking motion. A {zcylinder} wall can only
|
||||||
{zcylinder} wall can only be wiggled in the z dimension.
|
be wiggled in the z dimension.
|
||||||
|
|
||||||
Each timestep, the position of a wiggled wall in the appropriate {dim}
|
Each timestep, the position of a wiggled wall in the appropriate {dim}
|
||||||
is set according to this equation:
|
is set according to this equation:
|
||||||
@ -137,28 +151,6 @@ the clockwise direction for {vshear} > 0 or counter-clockwise for
|
|||||||
{vshear} < 0. In this case, {vshear} is the tangential velocity of
|
{vshear} < 0. In this case, {vshear} is the tangential velocity of
|
||||||
the wall at whatever {radius} has been defined.
|
the wall at whatever {radius} has been defined.
|
||||||
|
|
||||||
:line
|
|
||||||
|
|
||||||
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
|
|
||||||
functionally the same as the corresponding style without the suffix.
|
|
||||||
They have been optimized to run faster, depending on your available
|
|
||||||
hardware, as discussed on the "Speed packages"_Speed_packages.html doc
|
|
||||||
page. The accelerated styles take the same arguments and should
|
|
||||||
produce the same results, except for round-off and precision issues.
|
|
||||||
|
|
||||||
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
|
||||||
USER-OMP and OPT packages, respectively. They are only enabled if
|
|
||||||
LAMMPS was built with those packages. See the "Build
|
|
||||||
package"_Build_package.html doc page for more info.
|
|
||||||
|
|
||||||
You can specify the accelerated styles explicitly in your input script
|
|
||||||
by including their suffix, or you can use the "-suffix command-line
|
|
||||||
switch"_Run_options.html when you invoke LAMMPS, or you can use the
|
|
||||||
"suffix"_suffix.html command in your input script.
|
|
||||||
|
|
||||||
See the "Speed packages"_Speed_packages.html doc page for more
|
|
||||||
instructions on how to use the accelerated styles effectively.
|
|
||||||
|
|
||||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||||
|
|
||||||
This fix writes the shear friction state of atoms interacting with the
|
This fix writes the shear friction state of atoms interacting with the
|
||||||
@ -188,6 +180,7 @@ Any dimension (xyz) that has a granular wall must be non-periodic.
|
|||||||
|
|
||||||
"fix move"_fix_move.html,
|
"fix move"_fix_move.html,
|
||||||
"fix wall/gran/region"_fix_wall_gran_region.html,
|
"fix wall/gran/region"_fix_wall_gran_region.html,
|
||||||
"pair_style granular"_pair_gran.html
|
"pair_style gran/*"_pair_gran.html
|
||||||
|
"pair_style granular"_pair_granular.html
|
||||||
|
|
||||||
[Default:] none
|
[Default:] none
|
||||||
|
|||||||
@ -10,24 +10,30 @@ fix wall/gran/region command :h3
|
|||||||
|
|
||||||
[Syntax:]
|
[Syntax:]
|
||||||
|
|
||||||
fix ID group-ID wall/gran/region fstyle Kn Kt gamma_n gamma_t xmu dampflag wallstyle regionID :pre
|
fix ID group-ID wall/gran/region fstyle fstyle_params wallstyle regionID :pre
|
||||||
|
|
||||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||||
wall/region = style name of this fix command :l
|
wall/region = style name of this fix command :l
|
||||||
fstyle = style of force interactions between particles and wall :l
|
fstyle = style of force interactions between particles and wall :l
|
||||||
possible choices: hooke, hooke/history, hertz/history :pre
|
possible choices: hooke, hooke/history, hertz/history, granular :pre
|
||||||
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) :l
|
fstyle_params = parameters associated with force interaction style :l
|
||||||
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) :l
|
For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are:
|
||||||
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) :l
|
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
|
||||||
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) :l
|
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
|
||||||
xmu = static yield criterion (unitless value between 0.0 and 1.0e4) :l
|
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
|
||||||
dampflag = 0 or 1 if tangential damping force is excluded or included :l
|
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
|
||||||
|
xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
|
||||||
|
dampflag = 0 or 1 if tangential damping force is excluded or included :pre
|
||||||
|
For {granular}, {fstyle_params} are set using the same syntax as for the {pair_coeff} command of "pair_style granular"_pair_granular.html :pre
|
||||||
wallstyle = region (see "fix wall/gran"_fix_wall_gran.html for options for other kinds of walls) :l
|
wallstyle = region (see "fix wall/gran"_fix_wall_gran.html for options for other kinds of walls) :l
|
||||||
region-ID = region whose boundary will act as wall :l,ule
|
region-ID = region whose boundary will act as wall :l,ule
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
fix wall all wall/gran/region hooke/history 1000.0 200.0 200.0 100.0 0.5 1 region myCone :pre
|
fix wall all wall/gran/region hooke/history 1000.0 200.0 200.0 100.0 0.5 1 region myCone
|
||||||
|
fix 3 all wall/gran/region granular hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 region myBox
|
||||||
|
fix 4 all wall/gran/region granular jkr 1000.0 50.0 tangential linear_history 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall region myCone
|
||||||
|
fix 5 all wall/gran/region granular dmt 1000.0 50.0 0.3 10.0 tangential linear_history 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall region myCone :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
|
|
||||||
@ -42,8 +48,8 @@ Here are snapshots of example models using this command.
|
|||||||
Corresponding input scripts can be found in examples/granregion.
|
Corresponding input scripts can be found in examples/granregion.
|
||||||
Click on the images to see a bigger picture. Movies of these
|
Click on the images to see a bigger picture. Movies of these
|
||||||
simulations are "here on the Movies
|
simulations are "here on the Movies
|
||||||
page"_http://lammps.sandia.gov/movies.html#granregion of the
|
page"_http://lammps.sandia.gov/movies.html#granregion of the LAMMPS
|
||||||
LAMMPS web site.
|
web site.
|
||||||
|
|
||||||
:image(JPG/gran_funnel_small.jpg,JPG/gran_funnel.png)
|
:image(JPG/gran_funnel_small.jpg,JPG/gran_funnel.png)
|
||||||
:image(JPG/gran_mixer_small.jpg,JPG/gran_mixer.png)
|
:image(JPG/gran_mixer_small.jpg,JPG/gran_mixer.png)
|
||||||
@ -123,12 +129,16 @@ to make the two faces differ by epsilon in their position.
|
|||||||
|
|
||||||
The nature of the wall/particle interactions are determined by the
|
The nature of the wall/particle interactions are determined by the
|
||||||
{fstyle} setting. It can be any of the styles defined by the
|
{fstyle} setting. It can be any of the styles defined by the
|
||||||
"pair_style granular"_pair_gran.html commands. Currently this is
|
"pair_style gran/*"_pair_gran.html or the more general "pair_style
|
||||||
{hooke}, {hooke/history}, or {hertz/history}. The equation for the
|
granular"_pair_granular.html" commands. Currently the options are
|
||||||
force between the wall and particles touching it is the same as the
|
{hooke}, {hooke/history}, or {hertz/history} for the former, and
|
||||||
corresponding equation on the "pair_style granular"_pair_gran.html doc
|
{granular} with all the possible options of the associated
|
||||||
page, but the effective radius is calculated using the radius of the
|
{pair_coeff} command for the latter. The equation for the force
|
||||||
particle and the radius of curvature of the wall at the contact point.
|
between the wall and particles touching it is the same as the
|
||||||
|
corresponding equation on the "pair_style gran/*"_pair_gran.html and
|
||||||
|
"pair_style_granular"_pair_granular.html doc pages, but the effective
|
||||||
|
radius is calculated using the radius of the particle and the radius
|
||||||
|
of curvature of the wall at the contact point.
|
||||||
|
|
||||||
Specifically, delta = radius - r = overlap of particle with wall,
|
Specifically, delta = radius - r = overlap of particle with wall,
|
||||||
m_eff = mass of particle, and RiRj/Ri+Rj is the effective radius, with
|
m_eff = mass of particle, and RiRj/Ri+Rj is the effective radius, with
|
||||||
@ -141,12 +151,18 @@ particle.
|
|||||||
|
|
||||||
The parameters {Kn}, {Kt}, {gamma_n}, {gamma_t}, {xmu} and {dampflag}
|
The parameters {Kn}, {Kt}, {gamma_n}, {gamma_t}, {xmu} and {dampflag}
|
||||||
have the same meaning and units as those specified with the
|
have the same meaning and units as those specified with the
|
||||||
"pair_style granular"_pair_gran.html commands. This means a NULL can
|
"pair_style gran/*"_pair_gran.html commands. This means a NULL can be
|
||||||
be used for either {Kt} or {gamma_t} as described on that page. If a
|
used for either {Kt} or {gamma_t} as described on that page. If a
|
||||||
NULL is used for {Kt}, then a default value is used where {Kt} = 2/7
|
NULL is used for {Kt}, then a default value is used where {Kt} = 2/7
|
||||||
{Kn}. If a NULL is used for {gamma_t}, then a default value is used
|
{Kn}. If a NULL is used for {gamma_t}, then a default value is used
|
||||||
where {gamma_t} = 1/2 {gamma_n}.
|
where {gamma_t} = 1/2 {gamma_n}.
|
||||||
|
|
||||||
|
All the model choices for cohesion, tangential friction, rolling
|
||||||
|
friction and twisting friction supported by the "pair_style
|
||||||
|
granular"_pair_granular.html through its {pair_coeff} command are also
|
||||||
|
supported for walls. These are discussed in greater detail on the doc
|
||||||
|
page for "pair_style granular"_pair_granular.html.
|
||||||
|
|
||||||
Note that you can choose a different force styles and/or different
|
Note that you can choose a different force styles and/or different
|
||||||
values for the 6 wall/particle coefficients than for particle/particle
|
values for the 6 wall/particle coefficients than for particle/particle
|
||||||
interactions. E.g. if you wish to model the wall as a different
|
interactions. E.g. if you wish to model the wall as a different
|
||||||
@ -154,9 +170,9 @@ material.
|
|||||||
|
|
||||||
[Restart, fix_modify, output, run start/stop, minimize info:]
|
[Restart, fix_modify, output, run start/stop, minimize info:]
|
||||||
|
|
||||||
Similar to "fix wall/gran"_fix_wall_gran.html command, this fix
|
Similar to "fix wall/gran"_fix_wall_gran.html command, this fix writes
|
||||||
writes the shear friction state of atoms interacting with the wall to
|
the shear friction state of atoms interacting with the wall to "binary
|
||||||
"binary restart files"_restart.html, so that a simulation can continue
|
restart files"_restart.html, so that a simulation can continue
|
||||||
correctly if granular potentials with shear "history" effects are
|
correctly if granular potentials with shear "history" effects are
|
||||||
being used. This fix also includes info about a moving region in the
|
being used. This fix also includes info about a moving region in the
|
||||||
restart file. See the "read_restart"_read_restart.html command for
|
restart file. See the "read_restart"_read_restart.html command for
|
||||||
@ -170,14 +186,14 @@ So you must re-define your region and if it is a moving region, define
|
|||||||
its motion attributes in a way that is consistent with the simulation
|
its motion attributes in a way that is consistent with the simulation
|
||||||
that wrote the restart file. In particular, if you want to change the
|
that wrote the restart file. In particular, if you want to change the
|
||||||
region motion attributes (e.g. its velocity), then you should ensure
|
region motion attributes (e.g. its velocity), then you should ensure
|
||||||
the position/orientation of the region at the initial restart
|
the position/orientation of the region at the initial restart timestep
|
||||||
timestep is the same as it was on the timestep the restart file was
|
is the same as it was on the timestep the restart file was written.
|
||||||
written. If this is not possible, you may need to ignore info in the
|
If this is not possible, you may need to ignore info in the restart
|
||||||
restart file by defining a new fix wall/gran/region command in your
|
file by defining a new fix wall/gran/region command in your restart
|
||||||
restart script, e.g. with a different fix ID. Or if you want to keep
|
script, e.g. with a different fix ID. Or if you want to keep the
|
||||||
the shear history info but discard the region motion information, you
|
shear history info but discard the region motion information, you can
|
||||||
can use the same fix ID for fix wall/gran/region, but assign it a
|
use the same fix ID for fix wall/gran/region, but assign it a region
|
||||||
region with a different region ID.
|
with a different region ID.
|
||||||
|
|
||||||
None of the "fix_modify"_fix_modify.html options are relevant to this
|
None of the "fix_modify"_fix_modify.html options are relevant to this
|
||||||
fix. No global or per-atom quantities are stored by this fix for
|
fix. No global or per-atom quantities are stored by this fix for
|
||||||
|
|||||||
46
doc/src/kim_query.txt
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||||
|
|
||||||
|
:link(lws,http://lammps.sandia.gov)
|
||||||
|
:link(ld,Manual.html)
|
||||||
|
:link(lc,Commands_all.html)
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
kim_query command :h3
|
||||||
|
|
||||||
|
[Syntax:]
|
||||||
|
|
||||||
|
kim_query variable query_function web_query_flags :pre
|
||||||
|
|
||||||
|
variable = name of a (string style) variable where the result of the query is stored
|
||||||
|
query_function = name of the OpenKIM web API query function to be used
|
||||||
|
web_query_flags = a series of keyword=value pairs that represent the web query; supported keywords depend on query function :ul
|
||||||
|
|
||||||
|
[Examples:]
|
||||||
|
|
||||||
|
kim_query latconst get_test_result test=TE_156715955670 model=MO_800509458712 &
|
||||||
|
prop=structure-cubic-crystal-npt species=\["Al"\] keys=\["a"\] units=\["angstrom"\] :pre
|
||||||
|
|
||||||
|
[Description:]
|
||||||
|
|
||||||
|
The kim_query command allows to retrieve properties from the OpenKIM
|
||||||
|
through a web query. The result is stored in a string style
|
||||||
|
"variable"_variable.html, the name of which must be given as the first
|
||||||
|
argument of the kim_query command. The second required argument is the
|
||||||
|
name of the actual query function (e.g. {get_test_result}). All following
|
||||||
|
arguments are parameters handed over to the web query in the format
|
||||||
|
{keyword=value}. The list of supported keywords and the type of how
|
||||||
|
the value has to be encoded depends on the query function used. This
|
||||||
|
mirrors the functionality available on the OpenKIM webpage at
|
||||||
|
"https://query.openkim.org"_https://query.openkim.org/
|
||||||
|
|
||||||
|
[Restrictions:]
|
||||||
|
|
||||||
|
This command is part of the KIM package. It is only enabled if
|
||||||
|
LAMMPS was built with that package. Furthermore, its correct
|
||||||
|
functioning depends on compiling LAMMPS with libcurl support.
|
||||||
|
See the "Build package"_Build_package.html doc page for more info.
|
||||||
|
|
||||||
|
[Related commands:]
|
||||||
|
|
||||||
|
"pair_style kim"_pair_kim.html, "variable"_variable.html
|
||||||
@ -167,6 +167,7 @@ if.html
|
|||||||
include.html
|
include.html
|
||||||
info.html
|
info.html
|
||||||
jump.html
|
jump.html
|
||||||
|
kim_query.html
|
||||||
label.html
|
label.html
|
||||||
lattice.html
|
lattice.html
|
||||||
log.html
|
log.html
|
||||||
@ -174,6 +175,7 @@ mass.html
|
|||||||
message.html
|
message.html
|
||||||
min_modify.html
|
min_modify.html
|
||||||
min_style.html
|
min_style.html
|
||||||
|
min_spin.html
|
||||||
minimize.html
|
minimize.html
|
||||||
molecule.html
|
molecule.html
|
||||||
neb.html
|
neb.html
|
||||||
@ -578,6 +580,7 @@ pair_extep.html
|
|||||||
pair_gauss.html
|
pair_gauss.html
|
||||||
pair_gayberne.html
|
pair_gayberne.html
|
||||||
pair_gran.html
|
pair_gran.html
|
||||||
|
pair_granular.html
|
||||||
pair_gromacs.html
|
pair_gromacs.html
|
||||||
pair_gw.html
|
pair_gw.html
|
||||||
pair_ilp_graphene_hbn.html
|
pair_ilp_graphene_hbn.html
|
||||||
|
|||||||
@ -13,11 +13,15 @@ min_modify command :h3
|
|||||||
min_modify keyword values ... :pre
|
min_modify keyword values ... :pre
|
||||||
|
|
||||||
one or more keyword/value pairs may be listed :ulb,l
|
one or more keyword/value pairs may be listed :ulb,l
|
||||||
keyword = {dmax} or {line}
|
keyword = {dmax} or {line} or {alpha_damp} or {discrete_factor}
|
||||||
{dmax} value = max
|
{dmax} value = max
|
||||||
max = maximum distance for line search to move (distance units)
|
max = maximum distance for line search to move (distance units)
|
||||||
{line} value = {backtrack} or {quadratic} or {forcezero}
|
{line} value = {backtrack} or {quadratic} or {forcezero}
|
||||||
backtrack,quadratic,forcezero = style of linesearch to use :pre
|
backtrack,quadratic,forcezero = style of linesearch to use
|
||||||
|
{alpha_damp} value = damping
|
||||||
|
damping = fictitious Gilbert damping for spin minimization (adim)
|
||||||
|
{discrete_factor} value = factor
|
||||||
|
factor = discretization factor for adaptive spin timestep (adim) :pre
|
||||||
:ule
|
:ule
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
@ -65,6 +69,17 @@ difference of two large values (energy before and energy after) and
|
|||||||
that difference may be smaller than machine epsilon even if atoms
|
that difference may be smaller than machine epsilon even if atoms
|
||||||
could move in the gradient direction to reduce forces further.
|
could move in the gradient direction to reduce forces further.
|
||||||
|
|
||||||
|
Keywords {alpha_damp} and {discrete_factor} only make sense when
|
||||||
|
a "min_spin"_min_spin.html command is declared.
|
||||||
|
Keyword {alpha_damp} defines an analog of a magnetic Gilbert
|
||||||
|
damping. It defines a relaxation rate toward an equilibrium for
|
||||||
|
a given magnetic system.
|
||||||
|
Keyword {discrete_factor} defines a discretization factor for the
|
||||||
|
adaptive timestep used in the {spin} minimization.
|
||||||
|
See "min_spin"_min_spin.html for more information about those
|
||||||
|
quantities.
|
||||||
|
Default values are {alpha_damp} = 1.0 and {discrete_factor} = 10.0.
|
||||||
|
|
||||||
[Restrictions:] none
|
[Restrictions:] none
|
||||||
|
|
||||||
[Related commands:]
|
[Related commands:]
|
||||||
|
|||||||
65
doc/src/min_spin.txt
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
"LAMMPS WWW Page"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||||
|
|
||||||
|
:link(lws,http://lammps.sandia.gov)
|
||||||
|
:link(ld,Manual.html)
|
||||||
|
:link(lc,Commands_all.html)
|
||||||
|
:line
|
||||||
|
|
||||||
|
min_style spin command :h3
|
||||||
|
|
||||||
|
[Syntax:]
|
||||||
|
|
||||||
|
min_style spin :pre
|
||||||
|
|
||||||
|
[Examples:]
|
||||||
|
|
||||||
|
min_style spin :pre
|
||||||
|
|
||||||
|
[Description:]
|
||||||
|
|
||||||
|
Apply a minimization algorithm to use when a "minimize"_minimize.html
|
||||||
|
command is performed.
|
||||||
|
|
||||||
|
Style {spin} defines a damped spin dynamics with an adaptive
|
||||||
|
timestep, according to:
|
||||||
|
|
||||||
|
:c,image(Eqs/min_spin_damping.jpg)
|
||||||
|
|
||||||
|
with lambda a damping coefficient (similar to a Gilbert
|
||||||
|
damping).
|
||||||
|
Lambda can be defined by setting the {alpha_damp} keyword with the
|
||||||
|
"min_modify"_min_modify.html command.
|
||||||
|
|
||||||
|
The minimization procedure solves this equation using an
|
||||||
|
adaptive timestep. The value of this timestep is defined
|
||||||
|
by the largest precession frequency that has to be solved in the
|
||||||
|
system:
|
||||||
|
|
||||||
|
:c,image(Eqs/min_spin_timestep.jpg)
|
||||||
|
|
||||||
|
with {|omega|_{max}} the norm of the largest precession frequency
|
||||||
|
in the system (across all processes, and across all replicas if a
|
||||||
|
spin/neb calculation is performed).
|
||||||
|
|
||||||
|
Kappa defines a discretization factor {discrete_factor} for the
|
||||||
|
definition of this timestep.
|
||||||
|
{discrete_factor} can be defined with the "min_modify"_min_modify.html
|
||||||
|
command.
|
||||||
|
|
||||||
|
NOTE: The {spin} style replaces the force tolerance by a torque
|
||||||
|
tolerance. See "minimize"_minimize.html for more explanation.
|
||||||
|
|
||||||
|
[Restrictions:]
|
||||||
|
|
||||||
|
This minimization procedure is only applied to spin degrees of
|
||||||
|
freedom for a frozen lattice configuration.
|
||||||
|
|
||||||
|
[Related commands:]
|
||||||
|
|
||||||
|
"min_style"_min_style.html, "minimize"_minimize.html,
|
||||||
|
"min_modify"_min_modify.html
|
||||||
|
|
||||||
|
[Default:]
|
||||||
|
|
||||||
|
The option defaults are {alpha_damp} = 1.0 and {discrete_factor} =
|
||||||
|
10.0.
|
||||||
@ -11,11 +11,12 @@ min_style command :h3
|
|||||||
|
|
||||||
min_style style :pre
|
min_style style :pre
|
||||||
|
|
||||||
style = {cg} or {hftn} or {sd} or {quickmin} or {fire} :ul
|
style = {cg} or {hftn} or {sd} or {quickmin} or {fire} or {spin} :ul
|
||||||
|
|
||||||
[Examples:]
|
[Examples:]
|
||||||
|
|
||||||
min_style cg
|
min_style cg
|
||||||
|
min_style spin
|
||||||
min_style fire :pre
|
min_style fire :pre
|
||||||
|
|
||||||
[Description:]
|
[Description:]
|
||||||
@ -61,6 +62,10 @@ the velocity non-parallel to the current force vector. The velocity
|
|||||||
of each atom is initialized to 0.0 by this style, at the beginning of
|
of each atom is initialized to 0.0 by this style, at the beginning of
|
||||||
a minimization.
|
a minimization.
|
||||||
|
|
||||||
|
Style {spin} is a damped spin dynamics with an adaptive
|
||||||
|
timestep.
|
||||||
|
See the "min/spin"_min_spin.html doc page for more information.
|
||||||
|
|
||||||
Either the {quickmin} and {fire} styles are useful in the context of
|
Either the {quickmin} and {fire} styles are useful in the context of
|
||||||
nudged elastic band (NEB) calculations via the "neb"_neb.html command.
|
nudged elastic band (NEB) calculations via the "neb"_neb.html command.
|
||||||
|
|
||||||
|
|||||||
@ -103,6 +103,13 @@ the line search fails because the step distance backtracks to 0.0
|
|||||||
the number of outer iterations or timesteps exceeds {maxiter}
|
the number of outer iterations or timesteps exceeds {maxiter}
|
||||||
the number of total force evaluations exceeds {maxeval} :ul
|
the number of total force evaluations exceeds {maxeval} :ul
|
||||||
|
|
||||||
|
NOTE: the "minimization style"_min_style.html {spin} replaces
|
||||||
|
the force tolerance {ftol} by a torque tolerance.
|
||||||
|
The minimization procedure stops if the 2-norm (length) of the
|
||||||
|
global torque vector (defined as the cross product between the
|
||||||
|
spins and their precession vectors omega) is less than {ftol},
|
||||||
|
or if any of the other criteria are met.
|
||||||
|
|
||||||
NOTE: You can also use the "fix halt"_fix_halt.html command to specify
|
NOTE: You can also use the "fix halt"_fix_halt.html command to specify
|
||||||
a general criterion for exiting a minimization, that is a calculation
|
a general criterion for exiting a minimization, that is a calculation
|
||||||
performed on the state of the current system, as defined by an
|
performed on the state of the current system, as defined by an
|
||||||
|
|||||||
765
doc/src/pair_granular.txt
Normal file
@ -0,0 +1,765 @@
|
|||||||
|
<script type="text/javascript"
|
||||||
|
src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
|
||||||
|
</script>
|
||||||
|
<script type="text/x-mathjax-config">
|
||||||
|
MathJax.Hub.Config({ TeX: { equationNumbers: {autoNumber: "AMS"} } });
|
||||||
|
</script>
|
||||||
|
|
||||||
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||||
|
|
||||||
|
:link(lws,http://lammps.sandia.gov)
|
||||||
|
:link(ld,Manual.html)
|
||||||
|
:link(lc,Commands_all.html)
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
pair_style granular command :h3
|
||||||
|
|
||||||
|
[Syntax:]
|
||||||
|
|
||||||
|
pair_style granular cutoff :pre
|
||||||
|
|
||||||
|
cutoff = global cutoff (optional). See discussion below. :ul
|
||||||
|
|
||||||
|
[Examples:]
|
||||||
|
|
||||||
|
pair_style granular
|
||||||
|
pair_coeff * * hooke 1000.0 50.0 tangential linear_nohistory 1.0 0.4 :pre
|
||||||
|
|
||||||
|
pair_style granular
|
||||||
|
pair_coeff * * hertz 1000.0 50.0 tangential mindlin NULL 1.0 0.4 :pre
|
||||||
|
|
||||||
|
pair_style granular
|
||||||
|
pair_coeff * * hertz/material 1e8 0.3 tangential mindlin_rescale NULL 1.0 0.4 damping tsuji :pre
|
||||||
|
|
||||||
|
pair_style granular
|
||||||
|
pair_coeff 1 1 jkr 1000.0 50.0 tangential mindlin 800.0 1.0 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
|
||||||
|
pair_coeff 2 2 hertz 200.0 20.0 tangential linear_history 300.0 1.0 0.1 rolling sds 200.0 100.0 0.1 twisting marshall :pre
|
||||||
|
|
||||||
|
pair_style granular
|
||||||
|
pair_coeff 1 1 hertz 1000.0 50.0 tangential mindlin 800.0 0.5 0.5 rolling sds 500.0 200.0 0.5 twisting marshall
|
||||||
|
pair_coeff 2 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall
|
||||||
|
pair_coeff 1 2 dmt 1000.0 50.0 0.3 10.0 tangential mindlin 800.0 0.5 0.1 roll sds 500.0 200.0 0.1 twisting marshall :pre
|
||||||
|
|
||||||
|
[Description:]
|
||||||
|
|
||||||
|
The {granular} styles support a variety of options for the normal,
|
||||||
|
tangential, rolling and twisting forces resulting from contact between
|
||||||
|
two granular particles. This expands on the options offered by the
|
||||||
|
"pair gran/*"_pair_gran.html pair styles. The total computed forces
|
||||||
|
and torques are the sum of various models selected for the normal,
|
||||||
|
tangential, rolling and twisting modes of motion.
|
||||||
|
|
||||||
|
All model choices and parameters are entered in the
|
||||||
|
"pair_coeff"_pair_coeff.html command, as described below. Unlike
|
||||||
|
e.g. "pair gran/hooke"_pair_gran.html, coefficient values are not
|
||||||
|
global, but can be set to different values for different combinations
|
||||||
|
of particle types, as determined by the "pair_coeff"_pair_coeff.html
|
||||||
|
command. If the contact model choice is the same for two particle
|
||||||
|
types, the mixing for the cross-coefficients can be carried out
|
||||||
|
automatically. This is shown in the second example, where model
|
||||||
|
choices are the same for type 1 - type 1 as for type 2 - type2
|
||||||
|
interactions, but coefficients are different. In this case, the
|
||||||
|
coefficients for type 2 - type interactions can be determined from
|
||||||
|
mixing rules discussed below. For additional flexibility,
|
||||||
|
coefficients as well as model forms can vary between particle types,
|
||||||
|
as shown in the third example: type 1- type 1 interactions are based
|
||||||
|
on a Hertzian normal contact model and 2-2 interactions are based on a
|
||||||
|
DMT cohesive model (see below). In that example, 1-1 and 2-2
|
||||||
|
interactions have different model forms, in which case mixing of
|
||||||
|
coefficients cannot be determined, so 1-2 interactions must be
|
||||||
|
explicitly defined via the {pair_coeff 1 2} command, otherwise an
|
||||||
|
error would result.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
The first required keyword for the {pair_coeff} command is the normal
|
||||||
|
contact model. Currently supported options for normal contact models
|
||||||
|
and their required arguments are:
|
||||||
|
|
||||||
|
{hooke} : \(k_n\), \(\eta_\{n0\}\) (or \(e\))
|
||||||
|
{hertz} : \(k_n\), \(\eta_\{n0\}\) (or \(e\))
|
||||||
|
{hertz/material} : E, \(\eta_\{n0\}\) (or \(e\)), \(\nu\)
|
||||||
|
{dmt} : E, \(\eta_\{n0\}\) (or \(e\)), \(\nu\), \(\gamma\)
|
||||||
|
{jkr} : E, \(\eta_\{n0\}\) (or \(e\)), \(\nu\), \(\gamma\) :ol
|
||||||
|
|
||||||
|
Here, \(k_n\) is spring stiffness (with units that depend on model
|
||||||
|
choice, see below); \(\eta_\{n0\}\) is a damping prefactor (or, in its
|
||||||
|
place a coefficient of restitution \(e\), depending on the choice of
|
||||||
|
damping mode, see below); E is Young's modulus in units of
|
||||||
|
{force}/{length}^2, i.e. {pressure}; \(\nu\) is Poisson's ratio and
|
||||||
|
\(\gamma\) is a surface energy density, in units of
|
||||||
|
{energy}/{length}^2.
|
||||||
|
|
||||||
|
For the {hooke} model, the normal, elastic component of force acting
|
||||||
|
on particle {i} due to contact with particle {j} is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_\{ne, Hooke\} = k_N \delta_\{ij\} \mathbf\{n\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Where \(\delta = R_i + R_j - \|\mathbf\{r\}_\{ij\}\|\) is the particle
|
||||||
|
overlap, \(R_i, R_j\) are the particle radii, \(\mathbf\{r\}_\{ij\} =
|
||||||
|
\mathbf\{r\}_i - \mathbf\{r\}_j\) is the vector separating the two
|
||||||
|
particle centers (note the i-j ordering so that \(F_\{ne\}\) is
|
||||||
|
positive for repulsion), and \(\mathbf\{n\} =
|
||||||
|
\frac\{\mathbf\{r\}_\{ij\}\}\{\|\mathbf\{r\}_\{ij\}\|\}\). Therefore,
|
||||||
|
for {hooke}, the units of the spring constant \(k_n\) are
|
||||||
|
{force}/{distance}, or equivalently {mass}/{time^2}.
|
||||||
|
|
||||||
|
For the {hertz} model, the normal component of force is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_\{ne, Hertz\} = k_N R_\{eff\}^\{1/2\}\delta_\{ij\}^\{3/2\} \mathbf\{n\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, \(R_\{eff\} = \frac\{R_i R_j\}\{R_i + R_j\}\) is the effective
|
||||||
|
radius, denoted for simplicity as {R} from here on. For {hertz}, the
|
||||||
|
units of the spring constant \(k_n\) are {force}/{length}^2, or
|
||||||
|
equivalently {pressure}.
|
||||||
|
|
||||||
|
For the {hertz/material} model, the force is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_\{ne, Hertz/material\} = \frac\{4\}\{3\} E_\{eff\} R_\{eff\}^\{1/2\}\delta_\{ij\}^\{3/2\} \mathbf\{n\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, \(E_\{eff\} = E = \left(\frac\{1-\nu_i^2\}\{E_i\} +
|
||||||
|
\frac\{1-\nu_j^2\}\{E_j\}\right)^\{-1\}\) is the effective Young's
|
||||||
|
modulus, with \(\nu_i, \nu_j \) the Poisson ratios of the particles of
|
||||||
|
types {i} and {j}. Note that if the elastic modulus and the shear
|
||||||
|
modulus of the two particles are the same, the {hertz/material} model
|
||||||
|
is equivalent to the {hertz} model with \(k_N = 4/3 E_\{eff\}\)
|
||||||
|
|
||||||
|
The {dmt} model corresponds to the
|
||||||
|
"(Derjaguin-Muller-Toporov)"_#DMT1975 cohesive model, where the force
|
||||||
|
is simply Hertz with an additional attractive cohesion term:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_\{ne, dmt\} = \left(\frac\{4\}\{3\} E R^\{1/2\}\delta_\{ij\}^\{3/2\} - 4\pi\gamma R\right)\mathbf\{n\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
The {jkr} model is the "(Johnson-Kendall-Roberts)"_#JKR1971 model,
|
||||||
|
where the force is computed as:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\label\{eq:force_jkr\}
|
||||||
|
\mathbf\{F\}_\{ne, jkr\} = \left(\frac\{4Ea^3\}\{3R\} - 2\pi a^2\sqrt\{\frac\{4\gamma E\}\{\pi a\}\}\right)\mathbf\{n\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, {a} is the radius of the contact zone, related to the overlap
|
||||||
|
\(\delta\) according to:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\delta = a^2/R - 2\sqrt\{\pi \gamma a/E\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
LAMMPS internally inverts the equation above to solve for {a} in terms
|
||||||
|
of \(\delta\), then solves for the force in the previous
|
||||||
|
equation. Additionally, note that the JKR model allows for a tensile
|
||||||
|
force beyond contact (i.e. for \(\delta < 0\)), up to a maximum of
|
||||||
|
\(3\pi\gamma R\) (also known as the 'pull-off' force). Note that this
|
||||||
|
is a hysteretic effect, where particles that are not contacting
|
||||||
|
initially will not experience force until they come into contact
|
||||||
|
\(\delta \geq 0\); as they move apart and (\(\delta < 0\)), they
|
||||||
|
experience a tensile force up to \(3\pi\gamma R\), at which point they
|
||||||
|
lose contact.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
In addition, the normal force is augmented by a damping term of the
|
||||||
|
following general form:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_\{n,damp\} = -\eta_n \mathbf\{v\}_\{n,rel\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, \(\mathbf\{v\}_\{n,rel\} = (\mathbf\{v\}_j - \mathbf\{v\}_i)
|
||||||
|
\cdot \mathbf\{n\}\) is the component of relative velocity along
|
||||||
|
\(\mathbf\{n\}\).
|
||||||
|
|
||||||
|
The optional {damping} keyword to the {pair_coeff} command followed by
|
||||||
|
a keyword determines the model form of the damping factor \(\eta_n\),
|
||||||
|
and the interpretation of the \(\eta_\{n0\}\) or \(e\) coefficients
|
||||||
|
specified as part of the normal contact model settings. The {damping}
|
||||||
|
keyword and corresponding model form selection may be appended
|
||||||
|
anywhere in the {pair coeff} command. Note that the choice of damping
|
||||||
|
model affects both the normal and tangential damping (and depending on
|
||||||
|
other settings, potentially also the twisting damping). The options
|
||||||
|
for the damping model currently supported are:
|
||||||
|
|
||||||
|
{velocity}
|
||||||
|
{viscoelastic}
|
||||||
|
{tsuji} :ol
|
||||||
|
|
||||||
|
If the {damping} keyword is not specified, the {viscoelastic} model is
|
||||||
|
used by default.
|
||||||
|
|
||||||
|
For {damping velocity}, the normal damping is simply equal to the
|
||||||
|
user-specified damping coefficient in the {normal} model:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\eta_n = \eta_\{n0\}\
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, \(\gamma_n\) is the damping coefficient specified for the normal
|
||||||
|
contact model, in units of {mass}/{time},
|
||||||
|
|
||||||
|
The {damping viscoelastic} model is based on the viscoelastic
|
||||||
|
treatment of "(Brilliantov et al)"_#Brill1996, where the normal
|
||||||
|
damping is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\eta_n = \eta_\{n0\}\ a m_\{eff\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, \(m_\{eff\} = m_i m_j/(m_i + m_j)\) is the effective mass, {a}
|
||||||
|
is the contact radius, given by \(a =\sqrt\{R\delta\}\) for all models
|
||||||
|
except {jkr}, for which it is given implicitly according to \(delta =
|
||||||
|
a^2/R - 2\sqrt\{\pi \gamma a/E\}\). In this case, \eta_\{n0\}\ is in
|
||||||
|
units of 1/({time}*{distance}).
|
||||||
|
|
||||||
|
The {tsuji} model is based on the work of "(Tsuji et
|
||||||
|
al)"_#Tsuji1992. Here, the damping coefficient specified as part of
|
||||||
|
the normal model is interpreted as a restitution coefficient
|
||||||
|
\(e\). The damping constant \(\eta_n\) is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\eta_n = \alpha (m_\{eff\}k_n)^\{1/2\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
For normal contact models based on material parameters, \(k_n =
|
||||||
|
4/3Ea\). The parameter \(\alpha\) is related to the restitution
|
||||||
|
coefficient {e} according to:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\alpha = 1.2728-4.2783e+11.087e^2-22.348e^3+27.467e^4-18.022e^5+4.8218e^6
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
The dimensionless coefficient of restitution \(e\) specified as part
|
||||||
|
of the normal contact model parameters should be between 0 and 1, but
|
||||||
|
no error check is performed on this.
|
||||||
|
|
||||||
|
The total normal force is computed as the sum of the elastic and
|
||||||
|
damping components:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_n = \mathbf\{F\}_\{ne\} + \mathbf\{F\}_\{n,damp\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
The {pair_coeff} command also requires specification of the tangential
|
||||||
|
contact model. The required keyword {tangential} is expected, followed
|
||||||
|
by the model choice and associated parameters. Currently supported
|
||||||
|
tangential model choices and their expected parameters are as follows:
|
||||||
|
|
||||||
|
{linear_nohistory} : \(x_\{\gamma,t\}\), \(\mu_s\)
|
||||||
|
{linear_history} : \(k_t\), \(x_\{\gamma,t\}\), \(\mu_s\)
|
||||||
|
{mindlin} : \(k_t\) or NULL, \(x_\{\gamma,t\}\), \(\mu_s\)
|
||||||
|
{mindlin_rescale} : \(k_t\) or NULL, \(x_\{\gamma,t\}\), \(\mu_s\) :ol
|
||||||
|
|
||||||
|
Here, \(x_\{\gamma,t\}\) is a dimensionless multiplier for the normal
|
||||||
|
damping \(\eta_n\) that determines the magnitude of the tangential
|
||||||
|
damping, \(\mu_t\) is the tangential (or sliding) friction
|
||||||
|
coefficient, and \(k_t\) is the tangential stiffness coefficient.
|
||||||
|
|
||||||
|
For {tangential linear_nohistory}, a simple velocity-dependent Coulomb
|
||||||
|
friction criterion is used, which mimics the behavior of the {pair
|
||||||
|
gran/hooke} style. The tangential force (\mathbf\{F\}_t\) is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_t = -min(\mu_t F_\{n0\}, \|\mathbf\{F\}_\mathrm\{t,damp\}\|) \mathbf\{t\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
The tangential damping force \(\mathbf\{F\}_\mathrm\{t,damp\}\) is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_\mathrm\{t,damp\} = -\eta_t \mathbf\{v\}_\{t,rel\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
The tangential damping prefactor \(\eta_t\) is calculated by scaling
|
||||||
|
the normal damping \(\eta_n\) (see above):
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\eta_t = -x_\{\gamma,t\} \eta_n
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
The normal damping prefactor \(\eta_n\) is determined by the choice of
|
||||||
|
the {damping} keyword, as discussed above. Thus, the {damping}
|
||||||
|
keyword also affects the tangential damping. The parameter
|
||||||
|
\(x_\{\gamma,t\}\) is a scaling coefficient. Several works in the
|
||||||
|
literature use \(x_\{\gamma,t\} = 1\) ("Marshall"_#Marshall2009,
|
||||||
|
"Tsuji et al"_#Tsuji1992, "Silbert et al"_#Silbert2001). The relative
|
||||||
|
tangential velocity at the point of contact is given by
|
||||||
|
\(\mathbf\{v\}_\{t, rel\} = \mathbf\{v\}_\{t\} - (R_i\Omega_i +
|
||||||
|
R_j\Omega_j) \times \mathbf\{n\}\), where \(\mathbf\{v\}_\{t\} =
|
||||||
|
\mathbf\{v\}_r - \mathbf\{v\}_r\cdot\mathbf\{n\}\), \(\mathbf\{v\}_r =
|
||||||
|
\mathbf\{v\}_j - \mathbf\{v\}_i\). The direction of the applied force
|
||||||
|
is \(\mathbf\{t\} =
|
||||||
|
\mathbf\{v_\{t,rel\}\}/\|\mathbf\{v_\{t,rel\}\}\|\).
|
||||||
|
|
||||||
|
The normal force value \(F_\{n0\}\) used to compute the critical force
|
||||||
|
depends on the form of the contact model. For non-cohesive models
|
||||||
|
({hertz}, {hertz/material}, {hooke}), it is given by the magnitude of
|
||||||
|
the normal force:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
F_\{n0\} = \|\mathbf\{F\}_n\|
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
For cohesive models such as {jkr} and {dmt}, the critical force is
|
||||||
|
adjusted so that the critical tangential force approaches \(\mu_t
|
||||||
|
F_\{pulloff\}\), see "Marshall"_#Marshall2009, equation 43, and
|
||||||
|
"Thornton"_#Thornton1991. For both models, \(F_\{n0\}\) takes the
|
||||||
|
form:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
F_\{n0\} = \|\mathbf\{F\}_ne + 2 F_\{pulloff\}\|
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Where \(F_\{pulloff\} = 3\pi \gamma R \) for {jkr}, and
|
||||||
|
\(F_\{pulloff\} = 4\pi \gamma R \) for {dmt}.
|
||||||
|
|
||||||
|
The remaining tangential options all use accumulated tangential
|
||||||
|
displacement (i.e. contact history). This is discussed below in the
|
||||||
|
context of the {linear_history} option, but the same treatment of the
|
||||||
|
accumulated displacement applies to the other options as well.
|
||||||
|
|
||||||
|
For {tangential linear_history}, the tangential force is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_t = -min(\mu_t F_\{n0\}, \|-k_t\mathbf\{\xi\} + \mathbf\{F\}_\mathrm\{t,damp\}\|) \mathbf\{t\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, \(\mathbf\{\xi\}\) is the tangential displacement accumulated
|
||||||
|
during the entire duration of the contact:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{\xi\} = \int_\{t0\}^t \mathbf\{v\}_\{t,rel\}(\tau) \mathrm\{d\}\tau
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
This accumulated tangential displacement must be adjusted to account
|
||||||
|
for changes in the frame of reference of the contacting pair of
|
||||||
|
particles during contact. This occurs due to the overall motion of the
|
||||||
|
contacting particles in a rigid-body-like fashion during the duration
|
||||||
|
of the contact. There are two modes of motion that are relevant: the
|
||||||
|
'tumbling' rotation of the contacting pair, which changes the
|
||||||
|
orientation of the plane in which tangential displacement occurs; and
|
||||||
|
'spinning' rotation of the contacting pair about the vector connecting
|
||||||
|
their centers of mass (\(\mathbf\{n\}\)). Corrections due to the
|
||||||
|
former mode of motion are made by rotating the accumulated
|
||||||
|
displacement into the plane that is tangential to the contact vector
|
||||||
|
at each step, or equivalently removing any component of the tangential
|
||||||
|
displacement that lies along \(\mathbf\{n\}\), and rescaling to
|
||||||
|
preserve the magnitude. This follows the discussion in
|
||||||
|
"Luding"_#Luding2008, see equation 17 and relevant discussion in that
|
||||||
|
work:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{\xi\} = \left(\mathbf\{\xi'\} - (\mathbf\{n\} \cdot \mathbf\{\xi'\})\mathbf\{n\}\right) \frac\{\|\mathbf\{\xi'\}\|\}\{\|\mathbf\{\xi'\}\| - \mathbf\{n\}\cdot\mathbf\{\xi'\}\}
|
||||||
|
\label\{eq:rotate_displacements\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, \(\mathbf\{\xi'\}\) is the accumulated displacement prior to the
|
||||||
|
current time step and \(\mathbf\{\xi\}\) is the corrected
|
||||||
|
displacement. Corrections to the displacement due to the second mode
|
||||||
|
of motion described above (rotations about \(\mathbf\{n\}\)) are not
|
||||||
|
currently implemented, but are expected to be minor for most
|
||||||
|
simulations.
|
||||||
|
|
||||||
|
Furthermore, when the tangential force exceeds the critical force, the
|
||||||
|
tangential displacement is re-scaled to match the value for the
|
||||||
|
critical force (see "Luding"_#Luding2008, equation 20 and related
|
||||||
|
discussion):
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{\xi\} = -\frac\{1\}\{k_t\}\left(\mu_t F_\{n0\}\mathbf\{t\} + \mathbf\{F\}_\{t,damp\}\right)
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
The tangential force is added to the total normal force (elastic plus
|
||||||
|
damping) to produce the total force on the particle. The tangential
|
||||||
|
force also acts at the contact point (defined as the center of the
|
||||||
|
overlap region) to induce a torque on each particle according to:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{\tau\}_i = -(R_i - 0.5 \delta) \mathbf\{n\} \times \mathbf\{F\}_t
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{\tau\}_j = -(R_j - 0.5 \delta) \mathbf\{n\} \times \mathbf\{F\}_t
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
For {tangential mindlin}, the "Mindlin"_#Mindlin1949 no-slip solution is used, which differs from the {linear_history}
|
||||||
|
option by an additional factor of {a}, the radius of the contact region. The tangential force is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_t = -min(\mu_t F_\{n0\}, \|-k_t a \mathbf\{\xi\} + \mathbf\{F\}_\mathrm\{t,damp\}\|) \mathbf\{t\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, {a} is the radius of the contact region, given by \(a = \delta
|
||||||
|
R\) for all normal contact models, except for {jkr}, where it is given
|
||||||
|
implicitly by \(\delta = a^2/R - 2\sqrt\{\pi \gamma a/E\}\), see
|
||||||
|
discussion above. To match the Mindlin solution, one should set \(k_t
|
||||||
|
= 8G\), where \(G\) is the shear modulus, related to Young's modulus
|
||||||
|
\(E\) by \(G = E/(2(1+\nu))\), where \(\nu\) is Poisson's ratio. This
|
||||||
|
can also be achieved by specifying {NULL} for \(k_t\), in which case a
|
||||||
|
normal contact model that specifies material parameters \(E\) and
|
||||||
|
\(\nu\) is required (e.g. {hertz/material}, {dmt} or {jkr}). In this
|
||||||
|
case, mixing of the shear modulus for different particle types {i} and
|
||||||
|
{j} is done according to:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
1/G = 2(2-\nu_i)(1+\nu_i)/E_i + 2(2-\nu_j)(1+\nu_j)/E_j
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
The {mindlin_rescale} option uses the same form as {mindlin}, but the
|
||||||
|
magnitude of the tangential displacement is re-scaled as the contact
|
||||||
|
unloads, i.e. if \(a < a_\{t_\{n-1\}\}\):
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{\xi\} = \mathbf\{\xi_\{t_\{n-1\}\}\} \frac\{a\}\{a_\{t_\{n-1\}\}\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, \(t_\{n-1\}\) indicates the value at the previous time
|
||||||
|
step. This rescaling accounts for the fact that a decrease in the
|
||||||
|
contact area upon unloading leads to the contact being unable to
|
||||||
|
support the previous tangential loading, and spurious energy is
|
||||||
|
created without the rescaling above ("Walton"_#WaltonPC ). See also
|
||||||
|
discussion in "Thornton et al, 2013"_#Thornton2013 , particularly
|
||||||
|
equation 18(b) of that work and associated discussion.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
The optional {rolling} keyword enables rolling friction, which resists
|
||||||
|
pure rolling motion of particles. The options currently supported are:
|
||||||
|
|
||||||
|
{none}
|
||||||
|
{sds} : \(k_\{roll\}\), \(\gamma_\{roll\}\), \(\mu_\{roll\}\) :ol
|
||||||
|
|
||||||
|
If the {rolling} keyword is not specified, the model defaults to {none}.
|
||||||
|
|
||||||
|
For {rolling sds}, rolling friction is computed via a
|
||||||
|
spring-dashpot-slider, using a 'pseudo-force' formulation, as detailed
|
||||||
|
by "Luding"_#Luding2008. Unlike the formulation in
|
||||||
|
"Marshall"_#Marshall2009, this allows for the required adjustment of
|
||||||
|
rolling displacement due to changes in the frame of reference of the
|
||||||
|
contacting pair. The rolling pseudo-force is computed analogously to
|
||||||
|
the tangential force:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_\{roll,0\} = k_\{roll\} \mathbf\{\xi\}_\{roll\} - \gamma_\{roll\} \mathbf\{v\}_\{roll\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, \(\mathbf\{v\}_\{roll\} = -R(\mathbf\{\Omega\}_i -
|
||||||
|
\mathbf\{\Omega\}_j) \times \mathbf\{n\}\) is the relative rolling
|
||||||
|
velocity, as given in "Wang et al"_#Wang2015 and
|
||||||
|
"Luding"_#Luding2008. This differs from the expressions given by "Kuhn
|
||||||
|
and Bagi"_#Kuhn2004 and used in "Marshall"_#Marshall2009; see "Wang et
|
||||||
|
al"_#Wang2015 for details. The rolling displacement is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{\xi\}_\{roll\} = \int_\{t_0\}^t \mathbf\{v\}_\{roll\} (\tau) \mathrm\{d\} \tau
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
A Coulomb friction criterion truncates the rolling pseudo-force if it
|
||||||
|
exceeds a critical value:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{F\}_\{roll\} = min(\mu_\{roll\} F_\{n,0\}, \|\mathbf\{F\}_\{roll,0\}\|)\mathbf\{k\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here, \(\mathbf\{k\} =
|
||||||
|
\mathbf\{v\}_\{roll\}/\|\mathbf\{v\}_\{roll\}\|\) is the direction of
|
||||||
|
the pseudo-force. As with tangential displacement, the rolling
|
||||||
|
displacement is rescaled when the critical force is exceeded, so that
|
||||||
|
the spring length corresponds the critical force. Additionally, the
|
||||||
|
displacement is adjusted to account for rotations of the frame of
|
||||||
|
reference of the two contacting particles in a manner analogous to the
|
||||||
|
tangential displacement.
|
||||||
|
|
||||||
|
The rolling pseudo-force does not contribute to the total force on
|
||||||
|
either particle (hence 'pseudo'), but acts only to induce an equal and
|
||||||
|
opposite torque on each particle, according to:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\tau_\{roll,i\} = R_\{eff\} \mathbf\{n\} \times \mathbf\{F\}_\{roll\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\tau_\{roll,j\} = -\tau_\{roll,i\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
The optional {twisting} keyword enables twisting friction, which
|
||||||
|
resists rotation of two contacting particles about the vector
|
||||||
|
\(\mathbf\{n\}\) that connects their centers. The options currently
|
||||||
|
supported are:
|
||||||
|
|
||||||
|
{none}
|
||||||
|
{sds} : \(k_\{twist\}\), \(\gamma_\{twist\}\), \(\mu_\{twist\}\)
|
||||||
|
{marshall} :ol
|
||||||
|
|
||||||
|
If the {twisting} keyword is not specified, the model defaults to {none}.
|
||||||
|
|
||||||
|
For both {twisting sds} and {twisting marshall}, a history-dependent
|
||||||
|
spring-dashpot-slider is used to compute the twisting torque. Because
|
||||||
|
twisting displacement is a scalar, there is no need to adjust for
|
||||||
|
changes in the frame of reference due to rotations of the particle
|
||||||
|
pair. The formulation in "Marshall"_#Marshall2009 therefore provides
|
||||||
|
the most straightforward treatment:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\tau_\{twist,0\} = -k_\{twist\}\xi_\{twist\} - \gamma_\{twist\}\Omega_\{twist\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Here \(\xi_\{twist\} = \int_\{t_0\}^t \Omega_\{twist\} (\tau)
|
||||||
|
\mathrm\{d\}\tau\) is the twisting angular displacement, and
|
||||||
|
\(\Omega_\{twist\} = (\mathbf\{\Omega\}_i - \mathbf\{\Omega\}_j) \cdot
|
||||||
|
\mathbf\{n\}\) is the relative twisting angular velocity. The torque
|
||||||
|
is then truncated according to:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\tau_\{twist\} = min(\mu_\{twist\} F_\{n,0\}, \tau_\{twist,0\})
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Similar to the sliding and rolling displacement, the angular
|
||||||
|
displacement is rescaled so that it corresponds to the critical value
|
||||||
|
if the twisting torque exceeds this critical value:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\xi_\{twist\} = \frac\{1\}\{k_\{twist\}\} (\mu_\{twist\} F_\{n,0\}sgn(\Omega_\{twist\}) - \gamma_\{twist\}\Omega_\{twist\})
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
For {twisting sds}, the coefficients \(k_\{twist\}, \gamma_\{twist\}\)
|
||||||
|
and \(\mu_\{twist\}\) are simply the user input parameters that follow
|
||||||
|
the {twisting sds} keywords in the {pair_coeff} command.
|
||||||
|
|
||||||
|
For {twisting_marshall}, the coefficients are expressed in terms of
|
||||||
|
sliding friction coefficients, as discussed in
|
||||||
|
"Marshall"_#Marshall2009 (see equations 32 and 33 of that work):
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
k_\{twist\} = 0.5k_ta^2
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\eta_\{twist\} = 0.5\eta_ta^2
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mu_\{twist\} = \frac\{2\}\{3\}a\mu_t
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
Finally, the twisting torque on each particle is given by:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{\tau\}_\{twist,i\} = \tau_\{twist\}\mathbf\{n\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
\mathbf\{\tau\}_\{twist,j\} = -\mathbf\{\tau\}_\{twist,i\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
LAMMPS automatically sets pairwise cutoff values for {pair_style
|
||||||
|
granular} based on particle radii (and in the case of {jkr} pull-off
|
||||||
|
distances). In the vast majority of situations, this is adequate.
|
||||||
|
However, a cutoff value can optionally be appended to the {pair_style
|
||||||
|
granular} command to specify a global cutoff (i.e. a cutoff for all
|
||||||
|
atom types). Additionally, the optional {cutoff} keyword can be passed
|
||||||
|
to the {pair_coeff} command, followed by a cutoff value. This will
|
||||||
|
set a pairwise cutoff for the atom types in the {pair_coeff} command.
|
||||||
|
These options may be useful in some rare cases where the automatic
|
||||||
|
cutoff determination is not sufficient, e.g. if particle diameters
|
||||||
|
are being modified via the {fix adapt} command. In that case, the
|
||||||
|
global cutoff specified as part of the {pair_style granular} command
|
||||||
|
is applied to all atom types, unless it is overridden for a given atom
|
||||||
|
type combination by the {cutoff} value specified in the {pair coeff}
|
||||||
|
command. If {cutoff} is only specified in the {pair coeff} command
|
||||||
|
and no global cutoff is appended to the {pair_style granular} command,
|
||||||
|
then LAMMPS will use that cutoff for the specified atom type
|
||||||
|
combination, and automatically set pairwise cutoffs for the remaining
|
||||||
|
atom types.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are
|
||||||
|
functionally the same as the corresponding style without the suffix.
|
||||||
|
They have been optimized to run faster, depending on your available
|
||||||
|
hardware, as discussed on the "Speed packages"_Speed_packages.html doc
|
||||||
|
page. The accelerated styles take the same arguments and should
|
||||||
|
produce the same results, except for round-off and precision issues.
|
||||||
|
|
||||||
|
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
||||||
|
USER-OMP and OPT packages, respectively. They are only enabled if
|
||||||
|
LAMMPS was built with those packages. See the "Build
|
||||||
|
package"_Build_package.html doc page for more info.
|
||||||
|
|
||||||
|
You can specify the accelerated styles explicitly in your input script
|
||||||
|
by including their suffix, or you can use the "-suffix command-line
|
||||||
|
switch"_Run_options.html when you invoke LAMMPS, or you can use the
|
||||||
|
"suffix"_suffix.html command in your input script.
|
||||||
|
|
||||||
|
See the "Speed packages"_Speed_packages.html doc page for more
|
||||||
|
instructions on how to use the accelerated styles effectively.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||||
|
|
||||||
|
The "pair_modify"_pair_modify.html mix, shift, table, and tail options
|
||||||
|
are not relevant for granular pair styles.
|
||||||
|
|
||||||
|
Mixing of coefficients is carried out using geometric averaging for
|
||||||
|
most quantities, e.g. if friction coefficient for type 1-type 1
|
||||||
|
interactions is set to \(\mu_1\), and friction coefficient for type
|
||||||
|
2-type 2 interactions is set to \(\mu_2\), the friction coefficient
|
||||||
|
for type1-type2 interactions is computed as \(\sqrt\{\mu_1\mu_2\}\)
|
||||||
|
(unless explicitly specified to a different value by a {pair_coeff 1 2
|
||||||
|
...} command. The exception to this is elastic modulus, only
|
||||||
|
applicable to {hertz/material}, {dmt} and {jkr} normal contact
|
||||||
|
models. In that case, the effective elastic modulus is computed as:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
E_\{eff,ij\} = \left(\frac\{1-\nu_i^2\}\{E_i\} + \frac\{1-\nu_j^2\}\{E_j\}\right)^\{-1\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
If the {i-j} coefficients \(E_\{ij\}\) and \(\nu_\{ij\}\) are
|
||||||
|
explicitly specified, the effective modulus is computed as:
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
E_\{eff,ij\} = \left(\frac\{1-\nu_\{ij\}^2\}\{E_\{ij\}\} + \frac\{1-\nu_\{ij\}^2\}\{E_\{ij\}\}\right)^\{-1\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
\begin\{equation\}
|
||||||
|
E_\{eff,ij\} = \frac\{E_\{ij\}\}\{2(1-\nu_\{ij\})\}
|
||||||
|
\end\{equation\}
|
||||||
|
|
||||||
|
These pair styles write their information to "binary restart
|
||||||
|
files"_restart.html, so a pair_style command does not need to be
|
||||||
|
specified in an input script that reads a restart file.
|
||||||
|
|
||||||
|
These pair styles can only be used via the {pair} keyword of the
|
||||||
|
"run_style respa"_run_style.html command. They do not support the
|
||||||
|
{inner}, {middle}, {outer} keywords.
|
||||||
|
|
||||||
|
The single() function of these pair styles returns 0.0 for the energy
|
||||||
|
of a pairwise interaction, since energy is not conserved in these
|
||||||
|
dissipative potentials. It also returns only the normal component of
|
||||||
|
the pairwise interaction force. However, the single() function also
|
||||||
|
calculates 10 extra pairwise quantities. The first 3 are the
|
||||||
|
components of the tangential force between particles I and J, acting
|
||||||
|
on particle I. The 4th is the magnitude of this tangential force.
|
||||||
|
The next 3 (5-7) are the components of the rolling torque acting on
|
||||||
|
particle I. The next entry (8) is the magnitude of the rolling torque.
|
||||||
|
The next entry (9) is the magnitude of the twisting torque acting
|
||||||
|
about the vector connecting the two particle centers.
|
||||||
|
The last 3 (10-12) are the components of the vector connecting
|
||||||
|
the centers of the two particles (x_I - x_J).
|
||||||
|
|
||||||
|
These extra quantities can be accessed by the "compute
|
||||||
|
pair/local"_compute_pair_local.html command, as {p1}, {p2}, ...,
|
||||||
|
{p12}.
|
||||||
|
|
||||||
|
:line
|
||||||
|
|
||||||
|
[Restrictions:]
|
||||||
|
|
||||||
|
All the granular pair styles are part of the GRANULAR package. It is
|
||||||
|
only enabled if LAMMPS was built with that package. See the "Build
|
||||||
|
package"_Build_package.html doc page for more info.
|
||||||
|
|
||||||
|
These pair styles require that atoms store torque and angular velocity
|
||||||
|
(omega) as defined by the "atom_style"_atom_style.html. They also
|
||||||
|
require a per-particle radius is stored. The {sphere} atom style does
|
||||||
|
all of this.
|
||||||
|
|
||||||
|
This pair style requires you to use the "comm_modify vel
|
||||||
|
yes"_comm_modify.html command so that velocities are stored by ghost
|
||||||
|
atoms.
|
||||||
|
|
||||||
|
These pair styles will not restart exactly when using the
|
||||||
|
"read_restart"_read_restart.html command, though they should provide
|
||||||
|
statistically similar results. This is because the forces they
|
||||||
|
compute depend on atom velocities. See the
|
||||||
|
"read_restart"_read_restart.html command for more details.
|
||||||
|
|
||||||
|
[Related commands:]
|
||||||
|
|
||||||
|
"pair_coeff"_pair_coeff.html
|
||||||
|
"pair gran/*"_pair_gran.html
|
||||||
|
|
||||||
|
[Default:]
|
||||||
|
|
||||||
|
For the {pair_coeff} settings: {damping viscoelastic}, {rolling none},
|
||||||
|
{twisting none}.
|
||||||
|
|
||||||
|
[References:]
|
||||||
|
|
||||||
|
:link(Brill1996)
|
||||||
|
[(Brilliantov et al, 1996)] Brilliantov, N. V., Spahn, F., Hertzsch,
|
||||||
|
J. M., & Poschel, T. (1996). Model for collisions in granular
|
||||||
|
gases. Physical review E, 53(5), 5382.
|
||||||
|
|
||||||
|
:link(Tsuji1992)
|
||||||
|
[(Tsuji et al, 1992)] Tsuji, Y., Tanaka, T., & Ishida,
|
||||||
|
T. (1992). Lagrangian numerical simulation of plug flow of
|
||||||
|
cohesionless particles in a horizontal pipe. Powder technology, 71(3),
|
||||||
|
239-250.
|
||||||
|
|
||||||
|
:link(JKR1971)
|
||||||
|
[(Johnson et al, 1971)] Johnson, K. L., Kendall, K., & Roberts,
|
||||||
|
A. D. (1971). Surface energy and the contact of elastic
|
||||||
|
solids. Proc. R. Soc. Lond. A, 324(1558), 301-313.
|
||||||
|
|
||||||
|
:link(DMT1975)
|
||||||
|
[Derjaguin et al, 1975)] Derjaguin, B. V., Muller, V. M., & Toporov,
|
||||||
|
Y. P. (1975). Effect of contact deformations on the adhesion of
|
||||||
|
particles. Journal of Colloid and interface science, 53(2), 314-326.
|
||||||
|
|
||||||
|
:link(Luding2008)
|
||||||
|
[(Luding, 2008)] Luding, S. (2008). Cohesive, frictional powders:
|
||||||
|
contact models for tension. Granular matter, 10(4), 235.
|
||||||
|
|
||||||
|
:link(Marshall2009)
|
||||||
|
[(Marshall, 2009)] Marshall, J. S. (2009). Discrete-element modeling
|
||||||
|
of particulate aerosol flows. Journal of Computational Physics,
|
||||||
|
228(5), 1541-1561.
|
||||||
|
|
||||||
|
:link(Silbert2001)
|
||||||
|
[(Silbert, 2001)] Silbert, L. E., Ertas, D., Grest, G. S., Halsey,
|
||||||
|
T. C., Levine, D., & Plimpton, S. J. (2001). Granular flow down an
|
||||||
|
inclined plane: Bagnold scaling and rheology. Physical Review E,
|
||||||
|
64(5), 051302.
|
||||||
|
|
||||||
|
:link(Kuhn2004)
|
||||||
|
[(Kuhn and Bagi, 2005)] Kuhn, M. R., & Bagi, K. (2004). Contact
|
||||||
|
rolling and deformation in granular media. International journal of
|
||||||
|
solids and structures, 41(21), 5793-5820.
|
||||||
|
|
||||||
|
:link(Wang2015)
|
||||||
|
[(Wang et al, 2015)] Wang, Y., Alonso-Marroquin, F., & Guo,
|
||||||
|
W. W. (2015). Rolling and sliding in 3-D discrete element
|
||||||
|
models. Particuology, 23, 49-55.
|
||||||
|
|
||||||
|
:link(Thornton1991)
|
||||||
|
[(Thornton, 1991)] Thornton, C. (1991). Interparticle sliding in the
|
||||||
|
presence of adhesion. J. Phys. D: Appl. Phys. 24 1942
|
||||||
|
|
||||||
|
:link(Mindlin1949)
|
||||||
|
[(Mindlin, 1949)] Mindlin, R. D. (1949). Compliance of elastic bodies
|
||||||
|
in contact. J. Appl. Mech., ASME 16, 259-268.
|
||||||
|
|
||||||
|
:link(Thornton2013)
|
||||||
|
[(Thornton et al, 2013)] Thornton, C., Cummins, S. J., & Cleary,
|
||||||
|
P. W. (2013). An investigation of the comparative behaviour of
|
||||||
|
alternative contact force models during inelastic collisions. Powder
|
||||||
|
Technology, 233, 30-46.
|
||||||
|
|
||||||
|
:link(WaltonPC)
|
||||||
|
[(Otis R. Walton)] Walton, O.R., Personal Communication
|
||||||
@ -31,14 +31,10 @@ element or alloy and set of parameters, e.g. EAM for Cu with a
|
|||||||
specific EAM potential file.
|
specific EAM potential file.
|
||||||
|
|
||||||
See the current list of "KIM model
|
See the current list of "KIM model
|
||||||
drivers"_https://openkim.org/kim-items/model-drivers/alphabetical.
|
drivers"_https://openkim.org/browse/model-drivers/alphabetical.
|
||||||
|
|
||||||
See the current list of all "KIM
|
See the current list of all "KIM
|
||||||
models"_https://openkim.org/kim-items/models/by-model-drivers
|
models"_https://openkim.org/browse/models/by-model-drivers
|
||||||
|
|
||||||
See the list of "example KIM models"_https://openkim.org/kim-api which
|
|
||||||
are included in the KIM library by default, in the "What is in the KIM
|
|
||||||
API source package?" section.
|
|
||||||
|
|
||||||
To use this pair style, you must first download and install the KIM
|
To use this pair style, you must first download and install the KIM
|
||||||
API library from the "OpenKIM website"_https://openkim.org. The KIM
|
API library from the "OpenKIM website"_https://openkim.org. The KIM
|
||||||
@ -46,11 +42,8 @@ section of the "Packages details"_Packages_details.html doc page has
|
|||||||
instructions on how to do this with a simple make command, when
|
instructions on how to do this with a simple make command, when
|
||||||
building LAMMPS.
|
building LAMMPS.
|
||||||
|
|
||||||
See the examples/kim dir for an input script that uses a KIM model (potential)
|
See the examples/kim dir for an input script that uses a KIM model
|
||||||
for Lennard-Jones. Note, for this example input script, the example models
|
(potential) for Lennard-Jones.
|
||||||
shipped with with kim-api package must be installed. See the "Build
|
|
||||||
package"_Build_package.html section and the ./lib/kim/README for details
|
|
||||||
on how to build LAMMSPS with the kim-api and how to install the example models.
|
|
||||||
|
|
||||||
:line
|
:line
|
||||||
|
|
||||||
|
|||||||
@ -42,6 +42,7 @@ Pair Styles :h1
|
|||||||
pair_gauss
|
pair_gauss
|
||||||
pair_gayberne
|
pair_gayberne
|
||||||
pair_gran
|
pair_gran
|
||||||
|
pair_granular
|
||||||
pair_gromacs
|
pair_gromacs
|
||||||
pair_gw
|
pair_gw
|
||||||
pair_hbond_dreiding
|
pair_hbond_dreiding
|
||||||
|
|||||||
@ -134,7 +134,7 @@ The {mom} and {rot} keywords are used by {create}. If mom = yes, the
|
|||||||
linear momentum of the newly created ensemble of velocities is zeroed;
|
linear momentum of the newly created ensemble of velocities is zeroed;
|
||||||
if rot = yes, the angular momentum is zeroed.
|
if rot = yes, the angular momentum is zeroed.
|
||||||
|
|
||||||
*line
|
:line
|
||||||
|
|
||||||
If specified, the {temp} keyword is used by {create} and {scale} to
|
If specified, the {temp} keyword is used by {create} and {scale} to
|
||||||
specify a "compute"_compute.html that calculates temperature in a
|
specify a "compute"_compute.html that calculates temperature in a
|
||||||
|
|||||||
@ -156,6 +156,8 @@ ba
|
|||||||
Babadi
|
Babadi
|
||||||
backcolor
|
backcolor
|
||||||
Baczewski
|
Baczewski
|
||||||
|
Bagi
|
||||||
|
Bagnold
|
||||||
Bal
|
Bal
|
||||||
balancer
|
balancer
|
||||||
Balankura
|
Balankura
|
||||||
@ -250,6 +252,7 @@ Boresch
|
|||||||
Botero
|
Botero
|
||||||
Botu
|
Botu
|
||||||
Bouguet
|
Bouguet
|
||||||
|
Bourne
|
||||||
boxcolor
|
boxcolor
|
||||||
bp
|
bp
|
||||||
bpls
|
bpls
|
||||||
@ -346,6 +349,7 @@ Cij
|
|||||||
cis
|
cis
|
||||||
civ
|
civ
|
||||||
clearstore
|
clearstore
|
||||||
|
Cleary
|
||||||
Clebsch
|
Clebsch
|
||||||
clemson
|
clemson
|
||||||
Clermont
|
Clermont
|
||||||
@ -372,6 +376,7 @@ Coeff
|
|||||||
CoefficientN
|
CoefficientN
|
||||||
coeffs
|
coeffs
|
||||||
Coeffs
|
Coeffs
|
||||||
|
cohesionless
|
||||||
Coker
|
Coker
|
||||||
Colberg
|
Colberg
|
||||||
coleman
|
coleman
|
||||||
@ -449,6 +454,7 @@ cuda
|
|||||||
Cuda
|
Cuda
|
||||||
CUDA
|
CUDA
|
||||||
CuH
|
CuH
|
||||||
|
Cummins
|
||||||
Curk
|
Curk
|
||||||
customIDs
|
customIDs
|
||||||
cutbond
|
cutbond
|
||||||
@ -492,6 +498,7 @@ darkturquoise
|
|||||||
darkviolet
|
darkviolet
|
||||||
Das
|
Das
|
||||||
Dasgupta
|
Dasgupta
|
||||||
|
dashpot
|
||||||
dat
|
dat
|
||||||
datafile
|
datafile
|
||||||
datums
|
datums
|
||||||
@ -529,6 +536,7 @@ Dequidt
|
|||||||
der
|
der
|
||||||
derekt
|
derekt
|
||||||
Derjagin
|
Derjagin
|
||||||
|
Derjaguin
|
||||||
Derlet
|
Derlet
|
||||||
Deserno
|
Deserno
|
||||||
Destree
|
Destree
|
||||||
@ -627,6 +635,7 @@ dVx
|
|||||||
dW
|
dW
|
||||||
dx
|
dx
|
||||||
dy
|
dy
|
||||||
|
dylib
|
||||||
dyn
|
dyn
|
||||||
dyne
|
dyne
|
||||||
dynes
|
dynes
|
||||||
@ -1079,6 +1088,7 @@ Hyoungki
|
|||||||
hyperdynamics
|
hyperdynamics
|
||||||
hyperradius
|
hyperradius
|
||||||
hyperspherical
|
hyperspherical
|
||||||
|
hysteretic
|
||||||
Ibanez
|
Ibanez
|
||||||
ibar
|
ibar
|
||||||
ibm
|
ibm
|
||||||
@ -1138,6 +1148,7 @@ interconvert
|
|||||||
interial
|
interial
|
||||||
interlayer
|
interlayer
|
||||||
intermolecular
|
intermolecular
|
||||||
|
Interparticle
|
||||||
interstitials
|
interstitials
|
||||||
Intr
|
Intr
|
||||||
intra
|
intra
|
||||||
@ -1156,6 +1167,7 @@ IPython
|
|||||||
Isele
|
Isele
|
||||||
isenthalpic
|
isenthalpic
|
||||||
ish
|
ish
|
||||||
|
Ishida
|
||||||
iso
|
iso
|
||||||
isodemic
|
isodemic
|
||||||
isoenergetic
|
isoenergetic
|
||||||
@ -1265,6 +1277,7 @@ kcl
|
|||||||
Kd
|
Kd
|
||||||
KDevelop
|
KDevelop
|
||||||
ke
|
ke
|
||||||
|
kepler
|
||||||
KE
|
KE
|
||||||
Keblinski
|
Keblinski
|
||||||
keflag
|
keflag
|
||||||
@ -1298,6 +1311,7 @@ Kondor
|
|||||||
konglt
|
konglt
|
||||||
Koning
|
Koning
|
||||||
Kooser
|
Kooser
|
||||||
|
Korn
|
||||||
Koskinen
|
Koskinen
|
||||||
Koster
|
Koster
|
||||||
Kosztin
|
Kosztin
|
||||||
@ -1382,6 +1396,7 @@ libAtoms
|
|||||||
libawpmd
|
libawpmd
|
||||||
libch
|
libch
|
||||||
libcolvars
|
libcolvars
|
||||||
|
libcurl
|
||||||
libdir
|
libdir
|
||||||
libdl
|
libdl
|
||||||
libfftw
|
libfftw
|
||||||
@ -1449,6 +1464,7 @@ logfile
|
|||||||
logfreq
|
logfreq
|
||||||
logicals
|
logicals
|
||||||
Lomdahl
|
Lomdahl
|
||||||
|
Lond
|
||||||
lookups
|
lookups
|
||||||
Lookups
|
Lookups
|
||||||
LoopVar
|
LoopVar
|
||||||
@ -1464,6 +1480,7 @@ lsfftw
|
|||||||
ltbbmalloc
|
ltbbmalloc
|
||||||
lubricateU
|
lubricateU
|
||||||
lucy
|
lucy
|
||||||
|
Luding
|
||||||
Lussetti
|
Lussetti
|
||||||
Lustig
|
Lustig
|
||||||
lwsock
|
lwsock
|
||||||
@ -1502,6 +1519,7 @@ manybody
|
|||||||
MANYBODY
|
MANYBODY
|
||||||
Maras
|
Maras
|
||||||
Marrink
|
Marrink
|
||||||
|
Marroquin
|
||||||
Marsaglia
|
Marsaglia
|
||||||
Marseille
|
Marseille
|
||||||
Martyna
|
Martyna
|
||||||
@ -1513,6 +1531,7 @@ masstotal
|
|||||||
Masuhiro
|
Masuhiro
|
||||||
Matchett
|
Matchett
|
||||||
Materias
|
Materias
|
||||||
|
mathbf
|
||||||
matlab
|
matlab
|
||||||
matplotlib
|
matplotlib
|
||||||
Mattox
|
Mattox
|
||||||
@ -1601,6 +1620,7 @@ Mie
|
|||||||
Mikami
|
Mikami
|
||||||
Militzer
|
Militzer
|
||||||
Minary
|
Minary
|
||||||
|
Mindlin
|
||||||
mincap
|
mincap
|
||||||
mingw
|
mingw
|
||||||
minima
|
minima
|
||||||
@ -1671,6 +1691,7 @@ mpiexec
|
|||||||
mpiio
|
mpiio
|
||||||
mpirun
|
mpirun
|
||||||
mplayer
|
mplayer
|
||||||
|
mps
|
||||||
Mryglod
|
Mryglod
|
||||||
mscg
|
mscg
|
||||||
MSCG
|
MSCG
|
||||||
@ -1954,6 +1975,7 @@ oneway
|
|||||||
onn
|
onn
|
||||||
ons
|
ons
|
||||||
OO
|
OO
|
||||||
|
opencl
|
||||||
openKIM
|
openKIM
|
||||||
OpenMP
|
OpenMP
|
||||||
openmp
|
openmp
|
||||||
@ -2286,6 +2308,7 @@ rg
|
|||||||
Rg
|
Rg
|
||||||
Rhaphson
|
Rhaphson
|
||||||
rheological
|
rheological
|
||||||
|
rheology
|
||||||
rhodo
|
rhodo
|
||||||
Rhodo
|
Rhodo
|
||||||
rhodopsin
|
rhodopsin
|
||||||
@ -2602,6 +2625,7 @@ Tait
|
|||||||
taitwater
|
taitwater
|
||||||
Tajkhorshid
|
Tajkhorshid
|
||||||
Tamaskovics
|
Tamaskovics
|
||||||
|
Tanaka
|
||||||
tanh
|
tanh
|
||||||
Tartakovsky
|
Tartakovsky
|
||||||
taskset
|
taskset
|
||||||
@ -2689,6 +2713,7 @@ tokyo
|
|||||||
tol
|
tol
|
||||||
toolchain
|
toolchain
|
||||||
topologies
|
topologies
|
||||||
|
Toporov
|
||||||
Torder
|
Torder
|
||||||
torsions
|
torsions
|
||||||
Tosi
|
Tosi
|
||||||
@ -2733,6 +2758,7 @@ Tsrd
|
|||||||
Tstart
|
Tstart
|
||||||
tstat
|
tstat
|
||||||
Tstop
|
Tstop
|
||||||
|
Tsuji
|
||||||
Tsuzuki
|
Tsuzuki
|
||||||
tt
|
tt
|
||||||
Tt
|
Tt
|
||||||
|
|||||||
55
examples/SPIN/spinmin/in.spinmin.bfo
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# bfo in a 3d periodic box
|
||||||
|
|
||||||
|
units metal
|
||||||
|
dimension 3
|
||||||
|
boundary p p f
|
||||||
|
atom_style spin
|
||||||
|
|
||||||
|
# necessary for the serial algorithm (sametag)
|
||||||
|
atom_modify map array
|
||||||
|
|
||||||
|
lattice sc 3.96
|
||||||
|
region box block 0.0 34.0 0.0 34.0 0.0 1.0
|
||||||
|
create_box 1 box
|
||||||
|
create_atoms 1 box
|
||||||
|
|
||||||
|
# setting mass, mag. moments, and interactions for bcc iron
|
||||||
|
|
||||||
|
mass 1 1.0
|
||||||
|
set group all spin/random 11 2.50
|
||||||
|
|
||||||
|
pair_style hybrid/overlay spin/exchange 6.0 spin/magelec 4.5 spin/dmi 4.5
|
||||||
|
pair_coeff * * spin/exchange exchange 6.0 -0.01575 0.0 1.965
|
||||||
|
#pair_coeff * * spin/magelec magelec 4.5 0.000109 1.0 1.0 1.0
|
||||||
|
pair_coeff * * spin/magelec magelec 4.5 0.00109 1.0 1.0 1.0
|
||||||
|
pair_coeff * * spin/dmi dmi 4.5 0.00005 1.0 1.0 1.0
|
||||||
|
|
||||||
|
neighbor 0.1 bin
|
||||||
|
neigh_modify every 10 check yes delay 20
|
||||||
|
|
||||||
|
#fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0
|
||||||
|
fix 1 all precession/spin anisotropy 0.0000033 0.0 0.0 1.0
|
||||||
|
fix_modify 1 energy yes
|
||||||
|
|
||||||
|
timestep 0.0001
|
||||||
|
|
||||||
|
compute out_mag all spin
|
||||||
|
compute out_pe all pe
|
||||||
|
compute out_ke all ke
|
||||||
|
compute out_temp all temp
|
||||||
|
|
||||||
|
variable magz equal c_out_mag[3]
|
||||||
|
variable magnorm equal c_out_mag[4]
|
||||||
|
variable emag equal c_out_mag[5]
|
||||||
|
variable tmag equal c_out_mag[6]
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
thermo_style custom step time v_magnorm v_emag v_tmag temp etotal
|
||||||
|
thermo_modify format float %20.15g
|
||||||
|
|
||||||
|
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||||
|
dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
|
||||||
|
|
||||||
|
min_style spin
|
||||||
|
min_modify alpha_damp 1.0 discrete_factor 10.0
|
||||||
|
minimize 1.0e-10 0.0 1000 100
|
||||||
55
examples/SPIN/spinmin/in.spinmin.iron
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# bcc iron in a 3d periodic box
|
||||||
|
|
||||||
|
units metal
|
||||||
|
dimension 3
|
||||||
|
boundary p p f
|
||||||
|
atom_style spin
|
||||||
|
|
||||||
|
# necessary for the serial algorithm (sametag)
|
||||||
|
atom_modify map array
|
||||||
|
|
||||||
|
lattice bcc 2.8665
|
||||||
|
region box block 0.0 4.0 0.0 4.0 0.0 4.0
|
||||||
|
create_box 1 box
|
||||||
|
create_atoms 1 box
|
||||||
|
|
||||||
|
# setting mass, mag. moments, and interactions for bcc iron
|
||||||
|
|
||||||
|
mass 1 55.845
|
||||||
|
set group all spin/random 31 2.2
|
||||||
|
#set group all spin 2.2 1.0 1.0 -1.0
|
||||||
|
|
||||||
|
pair_style spin/exchange 3.5
|
||||||
|
pair_coeff * * exchange 3.4 0.02726 0.2171 1.841
|
||||||
|
|
||||||
|
neighbor 0.1 bin
|
||||||
|
neigh_modify every 10 check yes delay 20
|
||||||
|
|
||||||
|
#fix 1 all precession/spin zeeman 0.001 0.0 0.0 1.0 anisotropy 0.01 1.0 0.0 0.0
|
||||||
|
fix 1 all precession/spin anisotropy 0.0001 0.0 0.0 1.0
|
||||||
|
fix_modify 1 energy yes
|
||||||
|
|
||||||
|
timestep 0.0001
|
||||||
|
|
||||||
|
compute out_mag all spin
|
||||||
|
compute out_pe all pe
|
||||||
|
compute out_ke all ke
|
||||||
|
compute out_temp all temp
|
||||||
|
|
||||||
|
variable magx equal c_out_mag[1]
|
||||||
|
variable magy equal c_out_mag[2]
|
||||||
|
variable magz equal c_out_mag[3]
|
||||||
|
variable magnorm equal c_out_mag[4]
|
||||||
|
variable emag equal c_out_mag[5]
|
||||||
|
variable tmag equal c_out_mag[6]
|
||||||
|
|
||||||
|
thermo 100
|
||||||
|
thermo_style custom step time v_magx v_magz v_magnorm v_tmag etotal
|
||||||
|
thermo_modify format float %20.15g
|
||||||
|
|
||||||
|
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||||
|
dump 1 all custom 100 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
|
||||||
|
|
||||||
|
min_style spin
|
||||||
|
min_modify alpha_damp 1.0 discrete_factor 10.0
|
||||||
|
minimize 1.0e-10 1.0e-10 100000 1000
|
||||||
0
examples/USER/smtbq/data.Alpha
Executable file → Normal file
0
examples/USER/smtbq/ffield.smtbq.Al
Executable file → Normal file
0
examples/USER/smtbq/ffield.smtbq.Al2O3
Executable file → Normal file
0
examples/USER/smtbq/ffield.smtbq.TiO2
Executable file → Normal file
0
examples/USER/smtbq/in.smtbq.Al
Executable file → Normal file
0
examples/USER/smtbq/in.smtbq.Al2O3
Executable file → Normal file
0
examples/USER/smtbq/in.smtbq.TiO2
Executable file → Normal file
BIN
examples/hyper/global.000000.jpg
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
examples/hyper/global.041000.jpg
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
examples/hyper/global.045000.jpg
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
examples/hyper/global.048000.jpg
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
examples/hyper/global.089000.jpg
Normal file
|
After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 70 KiB |
@ -12,6 +12,8 @@ variable cutevent index 1.1
|
|||||||
variable steps index 100000
|
variable steps index 100000
|
||||||
variable nevent index 1000
|
variable nevent index 1000
|
||||||
variable zoom index 1.8
|
variable zoom index 1.8
|
||||||
|
variable seed index 826626413
|
||||||
|
variable tol index 1.0e-15
|
||||||
|
|
||||||
units metal
|
units metal
|
||||||
atom_style atomic
|
atom_style atomic
|
||||||
@ -45,7 +47,7 @@ neighbor 0.5 bin
|
|||||||
neigh_modify every 1 delay 5 check yes
|
neigh_modify every 1 delay 5 check yes
|
||||||
|
|
||||||
fix 1 mobile nve
|
fix 1 mobile nve
|
||||||
fix 2 mobile langevin ${Tequil} ${Tequil} 1.0 858872873 zero yes
|
fix 2 mobile langevin ${Tequil} ${Tequil} 1.0 ${seed} zero yes
|
||||||
|
|
||||||
timestep 0.005
|
timestep 0.005
|
||||||
|
|
||||||
@ -92,4 +94,4 @@ dump_modify 1 pad 6 amap 1 3 sa 1 3 blue red green
|
|||||||
|
|
||||||
# run
|
# run
|
||||||
|
|
||||||
hyper ${steps} ${nevent} HG event min 1.0e-6 1.0e-6 100 100 dump 1
|
hyper ${steps} ${nevent} HG event min ${tol} ${tol} 1000 1000 dump 1
|
||||||
|
|||||||
@ -107,6 +107,12 @@ dump 1 all image 10000000 local.*.jpg v_acolor type size 1024 1024 &
|
|||||||
zoom ${zoom} adiam 2.5 view 0.0 0.0 up 0 1 0 axes yes 0.9 0.01
|
zoom ${zoom} adiam 2.5 view 0.0 0.0 up 0 1 0 axes yes 0.9 0.01
|
||||||
dump_modify 1 pad 6 amap 1 3 sa 1 3 blue red green
|
dump_modify 1 pad 6 amap 1 3 sa 1 3 blue red green
|
||||||
|
|
||||||
|
# test of histogramming and dump output of bias coeffs
|
||||||
|
|
||||||
|
#fix histo all ave/histo 10 100 1000 0.9 1.1 100 f_HL &
|
||||||
|
# mode vector kind local file tmp.histo
|
||||||
|
#dump 2 all local 1000 tmp.local f_HL
|
||||||
|
|
||||||
# run
|
# run
|
||||||
|
|
||||||
hyper ${steps} ${nevent} HL event min ${tol} ${tol} 1000 1000 dump 1
|
hyper ${steps} ${nevent} HL event min ${tol} ${tol} 1000 1000 dump 1
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 482 KiB After Width: | Height: | Size: 482 KiB |
BIN
examples/hyper/local.001200.jpg
Normal file
|
After Width: | Height: | Size: 479 KiB |
|
Before Width: | Height: | Size: 479 KiB |
|
Before Width: | Height: | Size: 477 KiB |
|
Before Width: | Height: | Size: 479 KiB |
@ -1,993 +0,0 @@
|
|||||||
LAMMPS (10 Oct 2018)
|
|
||||||
# 3d EAM surface for local HD
|
|
||||||
|
|
||||||
# nearest neighbor distance = a * sqrt(2)/2 = 2.77 Angs for Pt with a = 3.92
|
|
||||||
# hop event on (100) surface is same distance
|
|
||||||
# exchange event is 2 atoms moving same distance
|
|
||||||
|
|
||||||
variable Tequil index 400.0
|
|
||||||
variable Vmax index 0.4
|
|
||||||
variable qfactor index 0.3
|
|
||||||
variable cutbond index 3.2
|
|
||||||
variable Dcut index 10.0
|
|
||||||
variable cutevent index 1.1
|
|
||||||
variable alpha index 200.0
|
|
||||||
variable boost index 4000.0
|
|
||||||
variable ghostcut index 12.0
|
|
||||||
variable steps index 1500
|
|
||||||
variable nevent index 100
|
|
||||||
variable nx index 8
|
|
||||||
variable ny index 8
|
|
||||||
variable zoom index 1.8
|
|
||||||
variable seed index 826626413
|
|
||||||
variable tol index 1.0e-15
|
|
||||||
variable add index 37K
|
|
||||||
|
|
||||||
units metal
|
|
||||||
atom_style atomic
|
|
||||||
atom_modify map array
|
|
||||||
boundary p p p
|
|
||||||
comm_modify cutoff ${ghostcut}
|
|
||||||
comm_modify cutoff 12.0
|
|
||||||
|
|
||||||
lattice fcc 3.92
|
|
||||||
Lattice spacing in x,y,z = 3.92 3.92 3.92
|
|
||||||
region box block 0 6 0 6 0 4
|
|
||||||
create_box 2 box
|
|
||||||
Created orthogonal box = (0 0 0) to (23.52 23.52 15.68)
|
|
||||||
2 by 4 by 2 MPI processor grid
|
|
||||||
create_atoms 1 box
|
|
||||||
Created 576 atoms
|
|
||||||
Time spent = 0.00108504 secs
|
|
||||||
|
|
||||||
mass * 1.0
|
|
||||||
|
|
||||||
change_box all z final -0.1 5.0 boundary p p f
|
|
||||||
orthogonal box = (0 0 -0.392) to (23.52 23.52 19.6)
|
|
||||||
|
|
||||||
# replicate in xy
|
|
||||||
|
|
||||||
replicate ${nx} ${ny} 1
|
|
||||||
replicate 8 ${ny} 1
|
|
||||||
replicate 8 8 1
|
|
||||||
orthogonal box = (0 0 -0.392) to (188.16 188.16 19.6)
|
|
||||||
4 by 4 by 1 MPI processor grid
|
|
||||||
36864 atoms
|
|
||||||
Time spent = 0.0028758 secs
|
|
||||||
|
|
||||||
# add adatoms
|
|
||||||
|
|
||||||
include adatoms.list.${add}
|
|
||||||
include adatoms.list.37K
|
|
||||||
create_atoms 1 single 27.5 9.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000183105 secs
|
|
||||||
create_atoms 1 single 16 9 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000178099 secs
|
|
||||||
create_atoms 1 single 10 12 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000179768 secs
|
|
||||||
create_atoms 1 single 31 44 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000184059 secs
|
|
||||||
create_atoms 1 single 13 17 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000173807 secs
|
|
||||||
create_atoms 1 single 8.5 28.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000167847 secs
|
|
||||||
create_atoms 1 single 23 26 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000179052 secs
|
|
||||||
create_atoms 1 single 38 27 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000169992 secs
|
|
||||||
create_atoms 1 single 37.5 4.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000166178 secs
|
|
||||||
create_atoms 1 single 41.5 47.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000172138 secs
|
|
||||||
create_atoms 1 single 20.5 37.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000165939 secs
|
|
||||||
create_atoms 1 single 5 8 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.00018096 secs
|
|
||||||
create_atoms 1 single 2.5 16.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000165939 secs
|
|
||||||
create_atoms 1 single 38.5 45.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 9 0 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000168085 secs
|
|
||||||
create_atoms 1 single 39 32 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000170946 secs
|
|
||||||
create_atoms 1 single 45.5 11.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.00018096 secs
|
|
||||||
create_atoms 1 single 40 0 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000168085 secs
|
|
||||||
create_atoms 1 single 44.5 2.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000165939 secs
|
|
||||||
create_atoms 1 single 4.5 44.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000168085 secs
|
|
||||||
create_atoms 1 single 24.5 13.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000165939 secs
|
|
||||||
create_atoms 1 single 47.5 23.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.00018096 secs
|
|
||||||
create_atoms 1 single 1 20 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000166893 secs
|
|
||||||
create_atoms 1 single 38.5 31.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000168085 secs
|
|
||||||
create_atoms 1 single 12.5 12.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000169992 secs
|
|
||||||
create_atoms 1 single 2 27 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000188828 secs
|
|
||||||
create_atoms 1 single 21 5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000174999 secs
|
|
||||||
create_atoms 1 single 47 12 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 32.5 46.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000165939 secs
|
|
||||||
create_atoms 1 single 9.5 40.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000166893 secs
|
|
||||||
create_atoms 1 single 8.5 2.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 41.5 22.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000174046 secs
|
|
||||||
create_atoms 1 single 29 11 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000166893 secs
|
|
||||||
create_atoms 1 single 3.5 3.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000165224 secs
|
|
||||||
create_atoms 1 single 5 21 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 46.5 31.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000166178 secs
|
|
||||||
create_atoms 1 single 35 46 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000183105 secs
|
|
||||||
create_atoms 1 single 40.5 41.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 10 22 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 43.5 14.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000169992 secs
|
|
||||||
create_atoms 1 single 42 42 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000165939 secs
|
|
||||||
create_atoms 1 single 4 26 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000174999 secs
|
|
||||||
create_atoms 1 single 19 34 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000163078 secs
|
|
||||||
create_atoms 1 single 33 9 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 0.5 45.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000163078 secs
|
|
||||||
create_atoms 1 single 30.5 32.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 25.5 5.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000178099 secs
|
|
||||||
create_atoms 1 single 47.5 39.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000165939 secs
|
|
||||||
create_atoms 1 single 15 13 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 21 21 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 14 28 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 9 34 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000174999 secs
|
|
||||||
create_atoms 1 single 7 38 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000175953 secs
|
|
||||||
create_atoms 1 single 11 35 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154972 secs
|
|
||||||
create_atoms 1 single 20.5 45.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000156879 secs
|
|
||||||
create_atoms 1 single 30.5 31.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000159979 secs
|
|
||||||
create_atoms 1 single 32.5 2.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000166178 secs
|
|
||||||
create_atoms 1 single 21.5 3.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000157833 secs
|
|
||||||
create_atoms 1 single 23 12 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000155926 secs
|
|
||||||
create_atoms 1 single 4.5 33.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000156879 secs
|
|
||||||
create_atoms 1 single 46 43 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000155926 secs
|
|
||||||
create_atoms 1 single 42.5 45.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000156879 secs
|
|
||||||
create_atoms 1 single 4.5 10.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000158072 secs
|
|
||||||
create_atoms 1 single 33.5 15.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000157833 secs
|
|
||||||
create_atoms 1 single 24 5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154018 secs
|
|
||||||
create_atoms 1 single 13 16 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000158072 secs
|
|
||||||
create_atoms 1 single 16.5 23.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000156164 secs
|
|
||||||
create_atoms 1 single 45.5 28.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000247002 secs
|
|
||||||
create_atoms 1 single 44.5 5.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000156164 secs
|
|
||||||
create_atoms 1 single 27.5 46.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000155926 secs
|
|
||||||
create_atoms 1 single 44.5 12.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000157833 secs
|
|
||||||
create_atoms 1 single 12 41 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000156879 secs
|
|
||||||
create_atoms 1 single 6 4 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.0001688 secs
|
|
||||||
create_atoms 1 single 31.5 10.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.00015521 secs
|
|
||||||
create_atoms 1 single 1 44 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154972 secs
|
|
||||||
create_atoms 1 single 31 4 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000156879 secs
|
|
||||||
create_atoms 1 single 21 33 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000156879 secs
|
|
||||||
create_atoms 1 single 3 33 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164032 secs
|
|
||||||
create_atoms 1 single 15 10 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.0001719 secs
|
|
||||||
create_atoms 1 single 28.5 22.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000153065 secs
|
|
||||||
create_atoms 1 single 43 1 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000155926 secs
|
|
||||||
create_atoms 1 single 3.5 0.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154972 secs
|
|
||||||
create_atoms 1 single 41 37 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000153065 secs
|
|
||||||
create_atoms 1 single 18.5 43.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000213146 secs
|
|
||||||
create_atoms 1 single 17 27 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000159979 secs
|
|
||||||
create_atoms 1 single 3 5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000153065 secs
|
|
||||||
create_atoms 1 single 18.5 23.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154972 secs
|
|
||||||
create_atoms 1 single 31.5 14.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154972 secs
|
|
||||||
create_atoms 1 single 41 31 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000155926 secs
|
|
||||||
create_atoms 1 single 22 3 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.00015521 secs
|
|
||||||
create_atoms 1 single 14.5 40.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154018 secs
|
|
||||||
create_atoms 1 single 9 38 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154018 secs
|
|
||||||
create_atoms 1 single 36 42 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000155926 secs
|
|
||||||
create_atoms 1 single 33 22 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000163078 secs
|
|
||||||
create_atoms 1 single 15.5 47.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154972 secs
|
|
||||||
create_atoms 1 single 3 0 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154972 secs
|
|
||||||
create_atoms 1 single 25.5 27.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000176907 secs
|
|
||||||
create_atoms 1 single 2.5 28.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154972 secs
|
|
||||||
create_atoms 1 single 29.5 28.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000162125 secs
|
|
||||||
create_atoms 1 single 44.5 18.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000152826 secs
|
|
||||||
create_atoms 1 single 26 40 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000155926 secs
|
|
||||||
create_atoms 1 single 41 27 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000158072 secs
|
|
||||||
create_atoms 1 single 39.5 5.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000155926 secs
|
|
||||||
create_atoms 1 single 3 38 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000152826 secs
|
|
||||||
create_atoms 1 single 35 29 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 11 19 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164986 secs
|
|
||||||
create_atoms 1 single 18 1 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146866 secs
|
|
||||||
create_atoms 1 single 39.5 40.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146866 secs
|
|
||||||
create_atoms 1 single 46 17 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 1.5 23.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154018 secs
|
|
||||||
create_atoms 1 single 28.5 23.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000145912 secs
|
|
||||||
create_atoms 1 single 10 28 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000159979 secs
|
|
||||||
create_atoms 1 single 19 47 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000148058 secs
|
|
||||||
create_atoms 1 single 10.5 16.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000147104 secs
|
|
||||||
create_atoms 1 single 38 45 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144958 secs
|
|
||||||
create_atoms 1 single 42.5 41.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000161886 secs
|
|
||||||
create_atoms 1 single 47.5 42.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000147104 secs
|
|
||||||
create_atoms 1 single 38 7 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 10 44 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000145912 secs
|
|
||||||
create_atoms 1 single 29.5 27.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 45 30 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000145912 secs
|
|
||||||
create_atoms 1 single 3 9 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154018 secs
|
|
||||||
create_atoms 1 single 8.5 35.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 24 44 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000145912 secs
|
|
||||||
create_atoms 1 single 47 4 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144958 secs
|
|
||||||
create_atoms 1 single 7.5 8.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144958 secs
|
|
||||||
create_atoms 1 single 32.5 41.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000157833 secs
|
|
||||||
create_atoms 1 single 0.5 34.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000145912 secs
|
|
||||||
create_atoms 1 single 11 8 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000147104 secs
|
|
||||||
create_atoms 1 single 2 40 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144958 secs
|
|
||||||
create_atoms 1 single 25 24 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 47.5 6.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000147104 secs
|
|
||||||
create_atoms 1 single 39.5 28.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154972 secs
|
|
||||||
create_atoms 1 single 17 21 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000164032 secs
|
|
||||||
create_atoms 1 single 32 43 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 16.5 29.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 34 34 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000145912 secs
|
|
||||||
create_atoms 1 single 11.5 3.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154018 secs
|
|
||||||
create_atoms 1 single 39 22 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144958 secs
|
|
||||||
create_atoms 1 single 24.5 36.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144958 secs
|
|
||||||
create_atoms 1 single 33 31 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144958 secs
|
|
||||||
create_atoms 1 single 35.5 35.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 14.5 34.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146866 secs
|
|
||||||
create_atoms 1 single 34 28 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000153065 secs
|
|
||||||
create_atoms 1 single 37 41 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000145912 secs
|
|
||||||
create_atoms 1 single 33 46 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144958 secs
|
|
||||||
create_atoms 1 single 27.5 28.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000145197 secs
|
|
||||||
create_atoms 1 single 40.5 22.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000150919 secs
|
|
||||||
create_atoms 1 single 27.5 1.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 12 2 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000151873 secs
|
|
||||||
create_atoms 1 single 36 43 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144005 secs
|
|
||||||
create_atoms 1 single 28.5 9.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 20.5 25.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144958 secs
|
|
||||||
create_atoms 1 single 3 3 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144005 secs
|
|
||||||
create_atoms 1 single 38 33 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 3 20 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000154972 secs
|
|
||||||
create_atoms 1 single 35 11 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000145912 secs
|
|
||||||
create_atoms 1 single 5 25 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144005 secs
|
|
||||||
create_atoms 1 single 36.5 6.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144005 secs
|
|
||||||
create_atoms 1 single 19.5 24.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000236988 secs
|
|
||||||
create_atoms 1 single 27 41 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000169992 secs
|
|
||||||
create_atoms 1 single 39.5 11.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000138998 secs
|
|
||||||
create_atoms 1 single 21.5 2.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000136852 secs
|
|
||||||
create_atoms 1 single 46.5 15.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000138998 secs
|
|
||||||
create_atoms 1 single 13 24 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000137091 secs
|
|
||||||
create_atoms 1 single 11 37 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144005 secs
|
|
||||||
create_atoms 1 single 11.5 31.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000144958 secs
|
|
||||||
create_atoms 1 single 47 0 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000138044 secs
|
|
||||||
create_atoms 1 single 25.5 17.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.00014019 secs
|
|
||||||
create_atoms 1 single 32 11 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000138044 secs
|
|
||||||
create_atoms 1 single 8 17 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000138044 secs
|
|
||||||
create_atoms 1 single 27.5 12.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000137806 secs
|
|
||||||
create_atoms 1 single 25 7 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000146151 secs
|
|
||||||
create_atoms 1 single 25.5 37.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000139952 secs
|
|
||||||
create_atoms 1 single 12 15 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000138044 secs
|
|
||||||
create_atoms 1 single 1 7 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000138998 secs
|
|
||||||
create_atoms 1 single 18.5 47.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000138044 secs
|
|
||||||
create_atoms 1 single 5 38 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000136852 secs
|
|
||||||
create_atoms 1 single 42 19 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000149012 secs
|
|
||||||
create_atoms 1 single 30.5 7.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000138044 secs
|
|
||||||
create_atoms 1 single 42.5 7.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000138998 secs
|
|
||||||
create_atoms 1 single 26.5 18.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000153065 secs
|
|
||||||
create_atoms 1 single 18.5 1.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000137091 secs
|
|
||||||
create_atoms 1 single 41.5 10.5 4
|
|
||||||
Created 1 atoms
|
|
||||||
Time spent = 0.000140905 secs
|
|
||||||
|
|
||||||
# define frozen substrate and mobile atoms
|
|
||||||
|
|
||||||
region base block INF INF INF INF 0 1.8
|
|
||||||
set region base type 2
|
|
||||||
18432 settings made for type
|
|
||||||
group base type 2
|
|
||||||
18432 atoms in group base
|
|
||||||
group mobile type 1
|
|
||||||
18616 atoms in group mobile
|
|
||||||
|
|
||||||
# pair style
|
|
||||||
|
|
||||||
pair_style eam/alloy
|
|
||||||
pair_coeff * * ptvoterlammps.eam Pt Pt
|
|
||||||
|
|
||||||
neighbor 0.5 bin
|
|
||||||
neigh_modify every 1 delay 5 check yes
|
|
||||||
|
|
||||||
fix 1 mobile nve
|
|
||||||
fix 2 mobile langevin ${Tequil} ${Tequil} 1.0 ${seed} zero yes
|
|
||||||
fix 2 mobile langevin 400.0 ${Tequil} 1.0 ${seed} zero yes
|
|
||||||
fix 2 mobile langevin 400.0 400.0 1.0 ${seed} zero yes
|
|
||||||
fix 2 mobile langevin 400.0 400.0 1.0 826626413 zero yes
|
|
||||||
|
|
||||||
timestep 0.005
|
|
||||||
|
|
||||||
compute tmobile mobile temp
|
|
||||||
|
|
||||||
thermo 100
|
|
||||||
thermo_modify temp tmobile
|
|
||||||
WARNING: Temperature for thermo pressure is not for group all (../thermo.cpp:488)
|
|
||||||
|
|
||||||
# thermal equilibration
|
|
||||||
|
|
||||||
run 1000
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 5 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 6.07583
|
|
||||||
ghost atom cutoff = 12
|
|
||||||
binsize = 3.03792, bins = 62 62 7
|
|
||||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
||||||
(1) pair eam/alloy, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/bin/atomonly/newton
|
|
||||||
stencil: half/bin/3d/newton
|
|
||||||
bin: standard
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.359 | 3.359 | 3.36 Mbytes
|
|
||||||
Step Temp E_pair E_mol TotEng Press
|
|
||||||
0 0 -206220.22 0 -206220.22 -52155.664
|
|
||||||
100 188.18127 -206044.43 0 -205591.63 -25068.83
|
|
||||||
200 274.34464 -205860.78 0 -205200.66 -40191.797
|
|
||||||
300 325.66286 -205750.01 0 -204966.4 -31510.222
|
|
||||||
400 352.48242 -205675.42 0 -204827.28 -35058.064
|
|
||||||
500 370.88571 -205619.66 0 -204727.25 -32735.022
|
|
||||||
600 388.62129 -205592.87 0 -204657.78 -33904.556
|
|
||||||
700 389.54874 -205579.73 0 -204642.4 -32769.852
|
|
||||||
800 395.56074 -205576.82 0 -204625.03 -33755.948
|
|
||||||
900 398.03458 -205564.48 0 -204606.74 -32777.103
|
|
||||||
1000 401.24089 -205562.85 0 -204597.4 -33785.341
|
|
||||||
Loop time of 4.3687 on 16 procs for 1000 steps with 37048 atoms
|
|
||||||
|
|
||||||
Performance: 98.885 ns/day, 0.243 hours/ns, 228.901 timesteps/s
|
|
||||||
98.4% CPU use with 16 MPI tasks x no OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 3.2988 | 3.3828 | 3.4667 | 2.3 | 77.43
|
|
||||||
Neigh | 0.20856 | 0.23127 | 0.24382 | 1.9 | 5.29
|
|
||||||
Comm | 0.33313 | 0.45075 | 0.55485 | 9.2 | 10.32
|
|
||||||
Output | 0.00042987 | 0.00044042 | 0.00049591 | 0.0 | 0.01
|
|
||||||
Modify | 0.18811 | 0.28363 | 0.36798 | 9.7 | 6.49
|
|
||||||
Other | | 0.01983 | | | 0.45
|
|
||||||
|
|
||||||
Nlocal: 2315.5 ave 2332 max 2297 min
|
|
||||||
Histogram: 2 0 0 3 4 0 2 1 2 2
|
|
||||||
Nghost: 3186.31 ave 3205 max 3170 min
|
|
||||||
Histogram: 2 1 3 0 2 3 2 1 0 2
|
|
||||||
Neighs: 55590.9 ave 56174 max 55103 min
|
|
||||||
Histogram: 2 2 1 1 4 1 3 0 0 2
|
|
||||||
|
|
||||||
Total # of neighbors = 889454
|
|
||||||
Ave neighs/atom = 24.0082
|
|
||||||
Neighbor list builds = 105
|
|
||||||
Dangerous builds = 0
|
|
||||||
reset_timestep 0
|
|
||||||
|
|
||||||
# pin base so will not move during quenches
|
|
||||||
|
|
||||||
fix freeze base setforce 0.0 0.0 0.0
|
|
||||||
|
|
||||||
# event detection
|
|
||||||
|
|
||||||
compute event all event/displace ${cutevent}
|
|
||||||
compute event all event/displace 1.1
|
|
||||||
|
|
||||||
# hyper/local
|
|
||||||
|
|
||||||
fix HL mobile hyper/local ${cutbond} ${qfactor} ${Vmax} ${Tequil} ${Dcut} ${alpha} ${boost}
|
|
||||||
fix HL mobile hyper/local 3.2 ${qfactor} ${Vmax} ${Tequil} ${Dcut} ${alpha} ${boost}
|
|
||||||
fix HL mobile hyper/local 3.2 0.3 ${Vmax} ${Tequil} ${Dcut} ${alpha} ${boost}
|
|
||||||
fix HL mobile hyper/local 3.2 0.3 0.4 ${Tequil} ${Dcut} ${alpha} ${boost}
|
|
||||||
fix HL mobile hyper/local 3.2 0.3 0.4 400.0 ${Dcut} ${alpha} ${boost}
|
|
||||||
fix HL mobile hyper/local 3.2 0.3 0.4 400.0 10.0 ${alpha} ${boost}
|
|
||||||
fix HL mobile hyper/local 3.2 0.3 0.4 400.0 10.0 200.0 ${boost}
|
|
||||||
fix HL mobile hyper/local 3.2 0.3 0.4 400.0 10.0 200.0 4000.0
|
|
||||||
|
|
||||||
# thermo output
|
|
||||||
|
|
||||||
thermo_style custom step temp pe f_HL f_HL[*]
|
|
||||||
WARNING: New thermo_style command, previous thermo_modify settings will be lost (../output.cpp:705)
|
|
||||||
|
|
||||||
thermo_modify lost ignore
|
|
||||||
thermo_modify temp tmobile
|
|
||||||
WARNING: Temperature for thermo pressure is not for group all (../thermo.cpp:488)
|
|
||||||
|
|
||||||
thermo ${nevent}
|
|
||||||
thermo 100
|
|
||||||
|
|
||||||
# dump
|
|
||||||
|
|
||||||
region substrate block INF INF INF INF 1.8 3.8
|
|
||||||
region adatoms block INF INF INF INF 3.8 INF
|
|
||||||
variable acolor atom rmask(base)+2*rmask(substrate)+3*rmask(adatoms)
|
|
||||||
|
|
||||||
dump 1 all image 10000000 local.*.jpg v_acolor type size 1024 1024 zoom ${zoom} adiam 2.5 view 0.0 0.0 up 0 1 0 axes yes 0.9 0.01
|
|
||||||
dump 1 all image 10000000 local.*.jpg v_acolor type size 1024 1024 zoom 1.8 adiam 2.5 view 0.0 0.0 up 0 1 0 axes yes 0.9 0.01
|
|
||||||
dump_modify 1 pad 6 amap 1 3 sa 1 3 blue red green
|
|
||||||
|
|
||||||
# run
|
|
||||||
|
|
||||||
hyper ${steps} ${nevent} HL event min ${tol} ${tol} 1000 1000 dump 1
|
|
||||||
hyper 1500 ${nevent} HL event min ${tol} ${tol} 1000 1000 dump 1
|
|
||||||
hyper 1500 100 HL event min ${tol} ${tol} 1000 1000 dump 1
|
|
||||||
hyper 1500 100 HL event min 1.0e-15 ${tol} 1000 1000 dump 1
|
|
||||||
hyper 1500 100 HL event min 1.0e-15 1.0e-15 1000 1000 dump 1
|
|
||||||
WARNING: Resetting reneighboring criteria during hyper (../hyper.cpp:133)
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 0 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 6.07583
|
|
||||||
ghost atom cutoff = 12
|
|
||||||
binsize = 3.03792, bins = 62 62 7
|
|
||||||
2 neighbor lists, perpetual/occasional/extra = 1 1 0
|
|
||||||
(1) pair eam/alloy, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/bin/atomonly/newton
|
|
||||||
stencil: half/bin/3d/newton
|
|
||||||
bin: standard
|
|
||||||
(2) fix hyper/local, occasional
|
|
||||||
attributes: full, newton on, cut 10
|
|
||||||
pair build: full/bin/atomonly
|
|
||||||
stencil: full/bin/3d
|
|
||||||
bin: standard
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 7.566 | 7.567 | 7.567 Mbytes
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
0 401.24089 -205562.85 0 0 0 1 0 0 0 0 0 0 0 0 4e+19 0 0 0 0 0 0 0 0 0 0 0
|
|
||||||
77 401.24089 -206534.96 0 0 0 1 0 0 0 0 0 0 0 0 4e+19 0 0 0 0 0 0 0 1540 0 0 0
|
|
||||||
Loop time of 0.540347 on 16 procs for 77 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
0 401.24089 -205562.85 23.271302 74 0.18753621 1 6.0138739 703.62325 0 0.55802338 3.5350432 0 0 0 4e+19 10.115141 10.115141 0 0 0 0 0 0 0 0 0
|
|
||||||
100 399.15639 -205546.21 22.904368 90 0.32935524 0.39929142 6.0138739 703.62325 0.026229865 0.91517139 3.9968927 91.88 0.3995539 0.4009724 0.39695676 10.262823 10.262823 0 0 0 0 0 2000 0 0 0
|
|
||||||
Loop time of 0.579085 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
100 399.15639 -205546.21 22.904368 90 0.32935524 0.39929142 6.0138739 703.62325 0.026229865 0.91517139 3.9968927 91.88 0.3995539 0.4009724 0.39695676 10.262823 10.262823 0 0 0 0 0 2000 0 0 0
|
|
||||||
184 399.15639 -206534.96 22.904368 90 0.32935524 0.39929142 6.0138739 703.62325 0.026229865 0.91517139 3.9968927 49.934783 0.21714886 0.4009724 0.39695676 10.262823 10.262823 0 0 0 0 0 3680 0 0 0
|
|
||||||
Loop time of 0.556056 on 16 procs for 84 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
100 399.15639 -205546.21 22.903938 90 0.32935524 0.39929142 6.0138739 703.62325 0.026229865 0.91517139 3.9968927 91.88 0.3995539 0.4009724 0.39695676 10.262823 10.262823 0 0 0 0 0 2000 0 0 0
|
|
||||||
200 403.01717 -205543.17 20.844359 90 0.3291605 0.39888693 6.0138739 703.62325 0.039527213 0.94418421 4.0368484 90.95 0.39930574 0.4019706 0.39554353 10.262823 10.262823 0 0 0 0 0 4000 0 0 0
|
|
||||||
Loop time of 0.581214 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
200 403.01717 -205543.17 20.844359 90 0.3291605 0.39888693 6.0138739 703.62325 0.039527213 0.94418421 4.0368484 90.95 0.39930574 0.4019706 0.39554353 10.262823 10.262823 0 0 0 0 0 4000 0 0 0
|
|
||||||
275 403.01717 -206534.96 20.844359 90 0.3291605 0.39888693 6.0138739 703.62325 0.039527213 0.94418421 4.0368484 66.145455 0.29040418 0.4019706 0.39554353 10.262823 10.262823 0 0 0 0 0 5500 0 0 0
|
|
||||||
Loop time of 0.481812 on 16 procs for 75 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
200 403.01717 -205543.17 21.115577 91 0.3291605 0.39888693 6.0138739 703.62325 0.039527213 0.94418421 4.0368484 90.95 0.39930574 0.4019706 0.39554353 10.262823 10.262823 0 0 0 0 0 4000 0 0 0
|
|
||||||
300 399.01963 -205541.46 19.137336 85 0.32442182 0.39862755 6.0138739 703.62325 0.046873868 0.94776891 4.0368484 92.02 0.39912484 0.40296919 0.39497622 10.288936 10.288936 0 0 0 0 0 6000 0 0 0
|
|
||||||
Loop time of 0.5757 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
300 399.01963 -205541.46 19.137336 85 0.32442182 0.39862755 6.0138739 703.62325 0.046873868 0.94776891 4.0368484 92.02 0.39912484 0.40296919 0.39497622 10.288936 10.288936 0 0 0 0 0 6000 0 0 0
|
|
||||||
377 399.01963 -206534.96 19.137336 85 0.32442182 0.39862755 6.0138739 703.62325 0.046873868 0.94776891 4.0368484 73.225464 0.31760598 0.40296919 0.39497622 10.288936 10.288936 0 0 0 0 0 7540 0 0 0
|
|
||||||
Loop time of 0.514907 on 16 procs for 77 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
300 399.01963 -205541.46 19.137003 85 0.32442182 0.39862755 6.0138739 703.62325 0.046873868 0.94776891 4.0368484 92.02 0.39912484 0.40296919 0.39497622 10.288936 10.288936 0 0 0 0 0 6000 0 0 0
|
|
||||||
400 398.15351 -205544.87 20.470844 93 0.34589451 0.39828754 6.0138739 703.62325 0.049952465 0.94776891 4.0779385 92.0375 0.39894967 0.40395328 0.3932824 10.307052 10.307052 0 0 0 0 0 8000 0 0 0
|
|
||||||
Loop time of 0.577371 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
400 398.15351 -205544.87 20.470844 93 0.34589451 0.39828754 6.0138739 703.62325 0.049952465 0.94776891 4.0779385 92.0375 0.39894967 0.40395328 0.3932824 10.307052 10.307052 0 0 0 0 0 8000 0 0 0
|
|
||||||
471 398.15351 -206534.96 20.470844 93 0.34589451 0.39828754 6.0138739 703.62325 0.049952465 0.94776891 4.0779385 78.163482 0.33881076 0.40395328 0.3932824 10.307052 10.307052 0 0 0 0 0 9420 0 0 0
|
|
||||||
Loop time of 0.465473 on 16 procs for 71 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
400 398.15351 -205544.87 20.470689 93 0.34589451 0.39828754 6.0138739 703.62325 0.049952465 0.94776891 4.0779385 92.0375 0.39894967 0.40395328 0.3932824 10.307052 10.307052 0 0 0 0 0 8000 0 0 0
|
|
||||||
500 400.29399 -205544.98 17.051242 83 0.42140172 0.39805251 6.0138739 703.62325 0.056986933 1.0907861 4.0779385 91.986 0.39879563 0.40493836 0.39165573 10.307052 10.307052 0 0 0 0 0 10000 0 0 0
|
|
||||||
Loop time of 0.579188 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
500 400.29399 -205544.98 17.051242 83 0.42140172 0.39805251 6.0138739 703.62325 0.056986933 1.0907861 4.0779385 91.986 0.39879563 0.40493836 0.39165573 10.307052 10.307052 0 0 0 0 0 10000 0 0 0
|
|
||||||
577 400.29399 -206534.96 17.051242 83 0.42140172 0.39805251 6.0138739 703.62325 0.056986933 1.0910651 4.0779385 79.710572 0.3455768 0.40493836 0.39165573 10.307052 10.307052 0 0 0 0 0 11540 0 0 0
|
|
||||||
Loop time of 0.502193 on 16 procs for 77 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
500 400.29399 -205544.98 17.051107 83 0.42140172 0.39805251 6.0138739 703.62325 0.056986933 1.0910651 4.0779385 91.986 0.39879563 0.40493836 0.39165573 10.307052 10.307052 0 0 0 0 0 10000 0 0 0
|
|
||||||
600 400.96099 -205544.56 20.904479 91 0.41219484 0.39780769 6.0138739 703.62325 0.061331691 1.1358732 4.0779385 92.013333 0.39864794 0.40593806 0.39067432 10.307052 10.307052 0 0 0 0 0 12000 0 0 0
|
|
||||||
Loop time of 0.694955 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
600 400.96099 -205544.56 20.904479 91 0.41219484 0.39780769 6.0138739 703.62325 0.061331691 1.1358732 4.0779385 92.013333 0.39864794 0.40593806 0.39067432 10.307052 10.307052 0 0 0 0 0 12000 0 0 0
|
|
||||||
680 400.96099 -206534.96 20.904479 91 0.41219484 0.39780769 6.0138739 703.62325 0.061331691 1.1358732 4.0779385 81.188235 0.35174818 0.40593806 0.39067432 10.307052 10.307052 0 0 0 0 0 13600 0 0 0
|
|
||||||
Loop time of 0.529041 on 16 procs for 80 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
600 400.96099 -205544.56 20.904088 91 0.41219484 0.39780769 6.0138739 703.62325 0.061331691 1.1358732 4.0779385 92.013333 0.39864794 0.40593806 0.39067432 10.307052 10.307052 0 0 0 0 0 12000 0 0 0
|
|
||||||
700 397.78618 -205534.96 20.361513 95 0.54466603 0.39757442 6.0138739 703.62325 0.061146951 1.1853748 4.1995704 92.12 0.39850836 0.40693553 0.38981834 10.307052 10.307052 0 0 0 0 0 14000 0 0 0
|
|
||||||
Loop time of 0.590093 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
700 397.78618 -205534.96 20.361513 95 0.54466603 0.39757442 6.0138739 703.62325 0.061146951 1.2139704 4.1995704 92.12 0.39850836 0.40693553 0.38981834 10.307052 10.307052 0 0 0 0 0 14000 0 0 0
|
|
||||||
790 397.78618 -206534.96 20.361513 95 0.54466603 0.39757442 6.0138739 703.62325 0.061146951 2.2107138 4.1995704 81.625316 0.35310868 0.40693553 0.38981834 10.307052 10.307052 0 0 0 0 0 15800 0 0 0
|
|
||||||
Loop time of 0.594281 on 16 procs for 90 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
700 397.78618 -205534.96 20.236364 94 0.51088027 0.39757442 6.0138739 703.62325 0.061146951 2.2107138 4.205089 92.12 0.39850836 0.40693553 0.38981834 10.307052 10.307052 0 0 0 0 0 14000 1 2 6
|
|
||||||
800 399.66919 -205547.44 21.285461 94 0.56079766 0.39739855 6.0138739 703.62325 0.06556778 2.2107138 4.3041291 92.36625 0.3983806 0.40793368 0.38875 10.307052 10.385797 0 0 0 0 0 16000 1 2 6
|
|
||||||
Loop time of 0.583824 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
800 399.66919 -205547.44 21.285461 94 0.56079766 0.39739855 6.0138739 703.62325 0.06556778 2.2107138 4.3041291 92.36625 0.3983806 0.40793368 0.38875 10.307052 10.385797 0 0 0 0 0 16000 1 2 6
|
|
||||||
872 399.66919 -206535.54 21.285461 94 0.56079766 0.39739855 6.0138739 703.62325 0.06556778 2.3177682 4.3041291 84.739679 0.36548679 0.40793368 0.38875 10.307052 10.385797 0 0 0 0 0 17440 1 2 6
|
|
||||||
Loop time of 0.46886 on 16 procs for 72 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
800 399.66919 -205547.44 21.2852 94 0.44964213 0.39739855 6.0138739 703.62325 0.06556778 2.3177682 4.3041291 92.36625 0.3983806 0.40793368 0.38875 10.307052 10.385797 0 0 0 0 0 16000 2 4 13
|
|
||||||
900 401.5853 -205544.22 19.308189 94 0.47610389 0.39719191 6.0138739 703.62325 0.066991886 2.3177682 4.3041291 92.017778 0.39825974 0.40893337 0.3878576 10.307052 10.385797 0 0 0 0 0 18000 2 4 13
|
|
||||||
Loop time of 0.585137 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
900 401.5853 -205544.22 19.308189 94 0.47610389 0.39719191 6.0138739 703.62325 0.066991886 2.3177682 4.3041291 92.017778 0.39825974 0.40893337 0.3878576 10.307052 10.385797 0 0 0 0 0 18000 2 4 13
|
|
||||||
975 401.5853 -206535.54 19.308189 94 0.47610389 0.39719191 6.0138739 703.62325 0.066991886 2.3177682 4.3041291 84.939487 0.36762438 0.40893337 0.3878576 10.307052 10.385797 0 0 0 0 0 19500 2 4 13
|
|
||||||
Loop time of 0.502012 on 16 procs for 75 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
900 401.5853 -205544.22 19.307938 94 0.47610389 0.39719191 6.0138739 703.62325 0.066991886 2.3177682 4.3041291 92.017778 0.39825974 0.40893337 0.3878576 10.307052 10.385797 0 0 0 0 0 18000 2 4 13
|
|
||||||
1000 395.06218 -205526.35 17.514295 91 0.42044925 0.39716259 6.0138739 703.62325 0.067937867 2.3177682 4.3041291 92.511 0.39814962 0.40993184 0.3867545 10.307052 10.385797 0 0 0 0 0 20000 2 4 13
|
|
||||||
Loop time of 0.588597 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1000 395.06218 -205526.35 17.514295 91 0.42044925 0.39716259 6.0138739 703.62325 0.067937867 2.3177682 4.3041291 92.511 0.39814962 0.40993184 0.3867545 10.307052 10.385797 0 0 0 0 0 20000 2 4 13
|
|
||||||
1083 395.06218 -206535.54 17.514295 91 0.42044925 0.39716259 6.0138739 703.62325 0.067937867 2.3177682 4.3041291 85.421053 0.36763584 0.40993184 0.3867545 10.307052 10.385797 0 0 0 0 0 21660 2 4 13
|
|
||||||
Loop time of 0.543222 on 16 procs for 83 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1000 395.06218 -205526.35 17.514191 91 0.42044925 0.39716259 6.0138739 703.62325 0.067937867 2.3177682 4.3041291 92.511 0.39814962 0.40993184 0.3867545 10.307052 10.385797 0 0 0 0 0 20000 2 4 13
|
|
||||||
1100 400.04484 -205545.92 19.52012 89 0.58919981 0.39704631 6.0138739 703.62325 0.069136967 2.3177682 4.4265979 92.517273 0.39805636 0.41093134 0.38574293 10.307052 10.385797 0 0 0 0 0 22000 2 4 13
|
|
||||||
Loop time of 0.590075 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1100 400.04484 -205545.92 19.52012 89 0.58919981 0.39704631 6.0138739 703.62325 0.069136967 2.3177682 4.4265979 92.517273 0.39805636 0.41093134 0.38574293 10.307052 10.385797 0 0 0 0 0 22000 2 4 13
|
|
||||||
1177 400.04484 -206535.53 19.52012 89 0.58919981 0.39704631 6.0138739 703.62325 0.069136967 2.3177682 4.4265979 86.464741 0.37201529 0.41093134 0.38574293 10.307052 10.385797 0 0 0 0 0 23540 2 4 13
|
|
||||||
Loop time of 0.500839 on 16 procs for 77 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1100 400.04484 -205545.92 19.518413 89 0.429675 0.39705701 6.0137119 703.6043 0.069136967 2.3177682 4.4265979 92.517273 0.39805636 0.41093134 0.38574293 10.307052 10.385797 0 0 0 0 0 22000 3 6 19
|
|
||||||
1200 400.7462 -205543.2 21.169548 91 0.32511134 0.39679665 6.0137119 703.6043 0.06750442 2.3177682 4.4265979 92.376667 0.39796198 0.41191655 0.3846039 10.307052 10.385797 0 0 0 0 0 24000 3 6 19
|
|
||||||
Loop time of 0.583971 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1200 400.7462 -205543.2 21.169548 91 0.32511134 0.39679665 6.0137119 703.6043 0.06750442 2.3177682 4.4265979 92.376667 0.39796198 0.41191655 0.3846039 10.307052 10.385797 0 0 0 0 0 24000 3 6 19
|
|
||||||
1277 400.7462 -206535.53 21.169548 91 0.32511134 0.39679665 6.0137119 703.6043 0.06750442 2.3177682 4.4265979 86.806578 0.37396584 0.41191655 0.3846039 10.307052 10.385797 0 0 0 0 0 25540 3 6 19
|
|
||||||
Loop time of 0.509118 on 16 procs for 77 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1200 400.7462 -205543.2 21.169281 91 0.32511134 0.39679665 6.0137119 703.6043 0.06750442 2.3177682 4.4265979 92.376667 0.39796198 0.41191655 0.3846039 10.307052 10.385797 0 0 0 0 0 24000 3 6 19
|
|
||||||
1300 398.53702 -205539.33 21.35815 94 0.38773898 0.39659935 6.0137119 703.6043 0.067808168 2.3177682 4.4265979 92.500769 0.39786514 0.41289519 0.3846039 10.307052 10.385797 0 0 0 0 0 26000 3 6 19
|
|
||||||
Loop time of 0.587306 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1300 398.53702 -205539.33 21.35815 94 0.38773898 0.39659935 6.0137119 703.6043 0.067808168 2.3177682 4.4265979 92.500769 0.39786514 0.41289519 0.3846039 10.307052 10.385797 0 0 0 0 0 26000 3 6 19
|
|
||||||
1375 398.53702 -206535.53 21.35815 94 0.38773898 0.39659935 6.0137119 703.6043 0.067808168 2.3177682 4.4265979 87.455273 0.37616341 0.41289519 0.3846039 10.307052 10.385797 0 0 0 0 0 27500 3 6 19
|
|
||||||
Loop time of 0.483781 on 16 procs for 75 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1300 398.53702 -205539.33 21.35787 94 0.38773898 0.39659935 6.0137119 703.6043 0.067808168 2.3177682 4.4265979 92.500769 0.39786514 0.41289519 0.3846039 10.307052 10.385797 0 0 0 0 0 26000 3 6 19
|
|
||||||
1400 402.80537 -205549.3 19.481887 95 0.32554201 0.39648737 6.0137119 703.6043 0.069550538 2.3177682 4.4265979 92.666429 0.39776836 0.41389491 0.38420043 10.307052 10.385797 0 0 0 0 0 28000 3 6 19
|
|
||||||
Loop time of 0.586411 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1400 402.80537 -205549.3 19.481887 95 0.32554201 0.39648737 6.0137119 703.6043 0.069550538 2.3177682 4.4265979 92.666429 0.39776836 0.41389491 0.38420043 10.307052 10.385797 0 0 0 0 0 28000 3 6 19
|
|
||||||
1471 402.80537 -206535.53 19.481887 95 0.32554201 0.39648737 6.0137119 703.6043 0.069550538 2.3177682 4.4265979 88.193746 0.37856948 0.41389491 0.38420043 10.307052 10.385797 0 0 0 0 0 29420 3 6 19
|
|
||||||
Loop time of 0.473799 on 16 procs for 71 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1400 402.80537 -205549.3 19.481632 95 0.32554201 0.39648737 6.0137119 703.6043 0.069550538 2.3177682 4.4265979 92.666429 0.39776836 0.41389491 0.38420043 10.307052 10.385797 0 0 0 0 0 28000 3 6 19
|
|
||||||
1500 402.0803 -205537.7 20.903964 99 0.3340498 0.39635609 6.0137119 703.6043 0.070409086 2.3177682 4.4265979 92.857333 0.39767858 0.41489448 0.38372784 10.333041 10.385797 0 0 0 0 0 30000 3 6 19
|
|
||||||
Loop time of 0.587342 on 16 procs for 100 steps with 37048 atoms
|
|
||||||
|
|
||||||
Step Temp PotEng f_HL f_HL[1] f_HL[2] f_HL[3] f_HL[4] f_HL[5] f_HL[6] f_HL[7] f_HL[8] f_HL[9] f_HL[10] f_HL[11] f_HL[12] f_HL[13] f_HL[14] f_HL[15] f_HL[16] f_HL[17] f_HL[18] f_HL[19] f_HL[20] f_HL[21] f_HL[22] f_HL[23]
|
|
||||||
1500 402.0803 -205537.7 20.903964 99 0.3340498 0.39635609 6.0137119 703.6043 0.070409086 2.3177682 4.4265979 92.857333 0.39767858 0.41489448 0.38372784 10.333041 10.385797 0 0 0 0 0 30000 3 6 19
|
|
||||||
1574 402.0803 -206535.53 20.903964 99 0.3340498 0.39635609 6.0137119 703.6043 0.070409086 2.3177682 4.4265979 88.491741 0.37898213 0.41489448 0.38372784 10.333041 10.385797 0 0 0 0 0 31480 3 6 19
|
|
||||||
Loop time of 0.493982 on 16 procs for 74 steps with 37048 atoms
|
|
||||||
|
|
||||||
Final hyper stats ...
|
|
||||||
|
|
||||||
Cummulative quantities for fix hyper:
|
|
||||||
hyper time = 30000
|
|
||||||
event timesteps = 3
|
|
||||||
# of atoms in events = 6
|
|
||||||
Quantities for this hyper run:
|
|
||||||
event timesteps = 3
|
|
||||||
# of atoms in events = 6
|
|
||||||
max length of any bond = 4.4266
|
|
||||||
max drift distance of any atom = 2.31777
|
|
||||||
fraction of steps & bonds with zero bias = 0.0704091
|
|
||||||
Current quantities:
|
|
||||||
ave bonds/atom = 6.01371
|
|
||||||
Cummulative quantities specific tofix hyper/local:
|
|
||||||
# of new bonds formed = 19
|
|
||||||
max bonds/atom = 13
|
|
||||||
Quantities for this hyper run specific to fix hyper/local:
|
|
||||||
ave boosted bonds/step = 92.8573
|
|
||||||
ave boost coeff of all bonds = 0.397679
|
|
||||||
max boost coeff of any bond = 0.414894
|
|
||||||
min boost coeff of any bond = 0.383728
|
|
||||||
max dist from my box of any non-maxstrain bond ghost atom = 10.333
|
|
||||||
max dist from my box of any bond ghost atom = 10.3858
|
|
||||||
count of ghost bond neighbors not found on reneighbor steps = 0
|
|
||||||
lost bond partners = 0
|
|
||||||
ave bias coeff for lost bond partners = 0
|
|
||||||
bias overlaps = 0
|
|
||||||
non-matching bias coeffs = 0
|
|
||||||
CPU time for bond builds = 0.044807
|
|
||||||
Current quantities specific to fix hyper/local:
|
|
||||||
neighbor bonds/bond = 703.604
|
|
||||||
ave boost coeff for all bonds = 0.396356
|
|
||||||
|
|
||||||
Loop time of 17.9972 on 16 procs for 1500 steps with 37048 atoms
|
|
||||||
|
|
||||||
Performance: 36.006 ns/day, 0.667 hours/ns, 83.346 timesteps/s
|
|
||||||
120.7% CPU use with 16 MPI tasks x no OpenMP threads
|
|
||||||
|
|
||||||
Hyper stats:
|
|
||||||
Dynamics time (%) = 8.87027 (49.2869)
|
|
||||||
Quench time (%) = 8.15972 (45.3388)
|
|
||||||
Other time (%) = 1.2212 (6.78552)
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 11.6 | 11.848 | 12.043 | 3.9 | 65.83
|
|
||||||
Neigh | 0.50025 | 0.52638 | 0.55163 | 2.1 | 2.92
|
|
||||||
Comm | 0.34528 | 0.49905 | 0.66742 | 13.3 | 2.77
|
|
||||||
Output | 0.0021305 | 0.0021461 | 0.0022686 | 0.1 | 0.01
|
|
||||||
Modify | 3.7498 | 3.9009 | 3.9786 | 2.8 | 21.67
|
|
||||||
Other | | 1.221 | | | 6.79
|
|
||||||
|
|
||||||
Nlocal: 2315.5 ave 2361 max 2267 min
|
|
||||||
Histogram: 1 1 0 4 2 1 3 3 0 1
|
|
||||||
Nghost: 3187.88 ave 3236 max 3141 min
|
|
||||||
Histogram: 1 0 3 2 2 1 4 1 1 1
|
|
||||||
Neighs: 53950.6 ave 54989 max 53049 min
|
|
||||||
Histogram: 2 0 3 2 1 2 4 1 0 1
|
|
||||||
FullNghs: 542951 ave 554654 max 533224 min
|
|
||||||
Histogram: 1 2 3 1 2 2 2 2 0 1
|
|
||||||
|
|
||||||
Total # of neighbors = 8687214
|
|
||||||
Ave neighs/atom = 234.485
|
|
||||||
Neighbor list builds = 165
|
|
||||||
Dangerous builds = 0
|
|
||||||
Total wall time: 0:00:22
|
|
||||||
1250
examples/hyper/log.25Mar19.hyper.global.g++.4
Normal file
1002
examples/hyper/log.25Mar19.hyper.local.g++.16
Normal file
11
examples/kim/in.query
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
# example for performing a query to the OpenKIM test database to retrieve
|
||||||
|
# a parameter to be used in the input. here it requests the aluminium
|
||||||
|
# lattice constant for a specific test used for a specific model and then
|
||||||
|
# assigns it to the variable 'latconst'
|
||||||
|
|
||||||
|
units metal
|
||||||
|
info variables out log
|
||||||
|
kim_query latconst get_test_result test=TE_156715955670 species=["Al"] model=MO_800509458712 prop=structure-cubic-crystal-npt keys=["a"] units=["angstrom"]
|
||||||
|
info variables out log
|
||||||
|
lattice fcc ${latconst}
|
||||||
34
examples/kim/log.22Mar2019.query.g++.1
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
LAMMPS (28 Feb 2019)
|
||||||
|
|
||||||
|
# example for performing a query to the OpenKIM test database to retrieve
|
||||||
|
# a parameter to be used in the input. here it requests the aluminium
|
||||||
|
# lattice constant for a specific test used for a specific model and then
|
||||||
|
# assigns it to the variable 'latconst'
|
||||||
|
|
||||||
|
units metal
|
||||||
|
info variables out log
|
||||||
|
|
||||||
|
Info-Info-Info-Info-Info-Info-Info-Info-Info-Info-Info
|
||||||
|
Printed on Fri Mar 22 20:00:56 2019
|
||||||
|
|
||||||
|
|
||||||
|
Variable information:
|
||||||
|
|
||||||
|
Info-Info-Info-Info-Info-Info-Info-Info-Info-Info-Info
|
||||||
|
|
||||||
|
kim_query latconst get_test_result test=TE_156715955670 species=["Al"] model=MO_800509458712 prop=structure-cubic-crystal-npt keys=["a"] units=["angstrom"]
|
||||||
|
info variables out log
|
||||||
|
|
||||||
|
Info-Info-Info-Info-Info-Info-Info-Info-Info-Info-Info
|
||||||
|
Printed on Fri Mar 22 20:00:57 2019
|
||||||
|
|
||||||
|
|
||||||
|
Variable information:
|
||||||
|
Variable[ 0]: latconst , style = string , def = 4.03208274841
|
||||||
|
|
||||||
|
Info-Info-Info-Info-Info-Info-Info-Info-Info-Info-Info
|
||||||
|
|
||||||
|
lattice fcc ${latconst}
|
||||||
|
lattice fcc 4.03208274841
|
||||||
|
Lattice spacing in x,y,z = 4.03208 4.03208 4.03208
|
||||||
|
Total wall time: 0:00:00
|
||||||
@ -49,7 +49,7 @@
|
|||||||
22 0 1 25.100 0.000 0.000
|
22 0 1 25.100 0.000 0.000
|
||||||
23 0 1 26.295 0.000 0.000
|
23 0 1 26.295 0.000 0.000
|
||||||
24 110 2 27.490 0.000 0.000
|
24 110 2 27.490 0.000 0.000
|
||||||
25 128 2 28.685 0.000 0.000
|
25 128 2 28.685 35.85686 0.000
|
||||||
26 0 1 29.881 0.000 0.000
|
26 0 1 29.881 0.000 0.000
|
||||||
27 0 1 31.076 0.000 0.000
|
27 0 1 31.076 0.000 0.000
|
||||||
28 0 1 32.271 0.000 0.000
|
28 0 1 32.271 0.000 0.000
|
||||||
@ -175,7 +175,7 @@
|
|||||||
148 0 1 32.271 4.781 0.000
|
148 0 1 32.271 4.781 0.000
|
||||||
149 0 1 33.466 4.781 0.000
|
149 0 1 33.466 4.781 0.000
|
||||||
150 0 1 34.662 4.781 0.000
|
150 0 1 34.662 4.781 0.000
|
||||||
151 53 2 0.000 5.976 0.000
|
151 53 2 35.85686 5.976 0.000
|
||||||
152 0 1 1.195 5.976 0.000
|
152 0 1 1.195 5.976 0.000
|
||||||
153 0 1 2.390 5.976 0.000
|
153 0 1 2.390 5.976 0.000
|
||||||
154 0 1 3.586 5.976 0.000
|
154 0 1 3.586 5.976 0.000
|
||||||
@ -655,7 +655,7 @@
|
|||||||
628 0 1 32.271 23.905 0.000
|
628 0 1 32.271 23.905 0.000
|
||||||
629 0 1 33.466 23.905 0.000
|
629 0 1 33.466 23.905 0.000
|
||||||
630 0 1 34.662 23.905 0.000
|
630 0 1 34.662 23.905 0.000
|
||||||
631 148 2 0.000 25.100 0.000
|
631 148 2 35.85686 25.100 0.000
|
||||||
632 0 1 1.195 25.100 0.000
|
632 0 1 1.195 25.100 0.000
|
||||||
633 0 1 2.390 25.100 0.000
|
633 0 1 2.390 25.100 0.000
|
||||||
634 0 1 3.586 25.100 0.000
|
634 0 1 3.586 25.100 0.000
|
||||||
@ -976,7 +976,7 @@
|
|||||||
949 25 3 0.677 33.143 0.000
|
949 25 3 0.677 33.143 0.000
|
||||||
950 25 4 1.353 32.819 0.000
|
950 25 4 1.353 32.819 0.000
|
||||||
951 26 3 35.071 18.557 0.000
|
951 26 3 35.071 18.557 0.000
|
||||||
952 26 4 35.480 19.186 0.000
|
952 26 4 35.48000 19.186 0.000
|
||||||
953 27 3 29.131 15.504 0.000
|
953 27 3 29.131 15.504 0.000
|
||||||
954 27 4 28.382 15.470 0.000
|
954 27 4 28.382 15.470 0.000
|
||||||
955 28 3 23.456 33.395 0.000
|
955 28 3 23.456 33.395 0.000
|
||||||
@ -1096,7 +1096,7 @@
|
|||||||
1069 85 3 33.021 33.461 0.000
|
1069 85 3 33.021 33.461 0.000
|
||||||
1070 85 4 33.771 33.455 0.000
|
1070 85 4 33.771 33.455 0.000
|
||||||
1071 86 3 0.552 18.315 0.000
|
1071 86 3 0.552 18.315 0.000
|
||||||
1072 86 4 35.766 18.701 0.000
|
1072 86 4 -0.09086 18.701 0.000
|
||||||
1073 87 3 28.026 32.796 0.000
|
1073 87 3 28.026 32.796 0.000
|
||||||
1074 87 4 28.562 33.321 0.000
|
1074 87 4 28.562 33.321 0.000
|
||||||
1075 88 3 24.351 29.925 0.000
|
1075 88 3 24.351 29.925 0.000
|
||||||
@ -1112,7 +1112,7 @@
|
|||||||
1085 93 3 26.170 16.278 0.000
|
1085 93 3 26.170 16.278 0.000
|
||||||
1086 93 4 26.046 17.017 0.000
|
1086 93 4 26.046 17.017 0.000
|
||||||
1087 94 3 10.380 0.547 0.000
|
1087 94 3 10.380 0.547 0.000
|
||||||
1088 94 4 10.003 35.755 0.000
|
1088 94 4 10.003 -0.10186 0.000
|
||||||
1089 95 3 0.419 29.308 0.000
|
1089 95 3 0.419 29.308 0.000
|
||||||
1090 95 4 0.837 29.930 0.000
|
1090 95 4 0.837 29.930 0.000
|
||||||
1091 96 3 13.712 28.191 0.000
|
1091 96 3 13.712 28.191 0.000
|
||||||
|
|||||||
@ -58,7 +58,7 @@ pair_coeff 1 4 1.0 1.0 1.12246
|
|||||||
pair_coeff 2 3 1.0 0.88 1.12246
|
pair_coeff 2 3 1.0 0.88 1.12246
|
||||||
pair_coeff 2 4 1.0 0.75 1.12246
|
pair_coeff 2 4 1.0 0.75 1.12246
|
||||||
|
|
||||||
thermo 1000
|
thermo 50
|
||||||
|
|
||||||
#dump 1 all atom 2000 dump.micelle
|
#dump 1 all atom 2000 dump.micelle
|
||||||
|
|
||||||
@ -69,4 +69,4 @@ thermo 1000
|
|||||||
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
reset_timestep 0
|
reset_timestep 0
|
||||||
run 60000
|
run 1000
|
||||||
|
|||||||
87
examples/micelle/in.micelle-rigid
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# 2d micelle simulation
|
||||||
|
|
||||||
|
dimension 2
|
||||||
|
|
||||||
|
neighbor 0.3 bin
|
||||||
|
neigh_modify delay 5
|
||||||
|
|
||||||
|
atom_style bond
|
||||||
|
|
||||||
|
# Soft potential push-off
|
||||||
|
|
||||||
|
read_data data.micelle
|
||||||
|
special_bonds fene
|
||||||
|
|
||||||
|
pair_style soft 1.12246
|
||||||
|
pair_coeff * * 0.0 1.12246
|
||||||
|
|
||||||
|
bond_style harmonic
|
||||||
|
bond_coeff 1 50.0 0.75
|
||||||
|
|
||||||
|
velocity all create 0.45 2349852
|
||||||
|
|
||||||
|
variable prefactor equal ramp(1.0,20.0)
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
|
||||||
|
fix 3 all adapt 1 pair soft a * * v_prefactor
|
||||||
|
fix 4 all enforce2d
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 500
|
||||||
|
|
||||||
|
unfix 3
|
||||||
|
|
||||||
|
# Main run
|
||||||
|
|
||||||
|
pair_style lj/cut 2.5
|
||||||
|
|
||||||
|
# solvent/head - full-size and long-range
|
||||||
|
|
||||||
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
pair_coeff 2 2 1.0 1.0 2.5
|
||||||
|
pair_coeff 1 2 1.0 1.0 2.5
|
||||||
|
|
||||||
|
# tail/tail - size-averaged and long-range
|
||||||
|
|
||||||
|
pair_coeff 3 3 1.0 0.75 2.5
|
||||||
|
pair_coeff 4 4 1.0 0.50 2.5
|
||||||
|
pair_coeff 3 4 1.0 0.67 2.5
|
||||||
|
|
||||||
|
# solvent/tail - full-size and repulsive
|
||||||
|
|
||||||
|
pair_coeff 1 3 1.0 1.0 1.12246
|
||||||
|
pair_coeff 1 4 1.0 1.0 1.12246
|
||||||
|
|
||||||
|
# head/tail - size-averaged and repulsive
|
||||||
|
|
||||||
|
pair_coeff 2 3 1.0 0.88 1.12246
|
||||||
|
pair_coeff 2 4 1.0 0.75 1.12246
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
|
||||||
|
#dump 1 all atom 2000 dump.micelle
|
||||||
|
|
||||||
|
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
|
||||||
|
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
|
||||||
|
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
reset_timestep 0
|
||||||
|
group solvent molecule 0
|
||||||
|
group solute subtract all solvent
|
||||||
|
unfix 1
|
||||||
|
unfix 2
|
||||||
|
unfix 4
|
||||||
|
fix 1 solvent nve
|
||||||
|
fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0
|
||||||
|
fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211
|
||||||
|
fix 4 all enforce2d
|
||||||
|
run 500
|
||||||
|
unfix 2
|
||||||
|
unfix 4
|
||||||
|
unfix 5
|
||||||
|
fix 5 solute rigid/small molecule
|
||||||
|
fix 4 all enforce2d
|
||||||
|
run 500
|
||||||
86
examples/micelle/in.micelle.rigid
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
# 2d micelle simulation
|
||||||
|
|
||||||
|
dimension 2
|
||||||
|
|
||||||
|
neighbor 0.3 bin
|
||||||
|
neigh_modify delay 5
|
||||||
|
|
||||||
|
atom_style bond
|
||||||
|
|
||||||
|
# Soft potential push-off
|
||||||
|
|
||||||
|
read_data data.micelle
|
||||||
|
special_bonds fene
|
||||||
|
|
||||||
|
pair_style soft 1.12246
|
||||||
|
pair_coeff * * 0.0 1.12246
|
||||||
|
|
||||||
|
bond_style harmonic
|
||||||
|
bond_coeff 1 50.0 0.75
|
||||||
|
|
||||||
|
velocity all create 0.45 2349852
|
||||||
|
|
||||||
|
variable prefactor equal ramp(1.0,20.0)
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
|
||||||
|
fix 3 all adapt 1 pair soft a * * v_prefactor
|
||||||
|
fix 4 all enforce2d
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 1000
|
||||||
|
|
||||||
|
unfix 3
|
||||||
|
|
||||||
|
# Main run
|
||||||
|
|
||||||
|
pair_style lj/cut 2.5
|
||||||
|
|
||||||
|
# solvent/head - full-size and long-range
|
||||||
|
|
||||||
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
pair_coeff 2 2 1.0 1.0 2.5
|
||||||
|
pair_coeff 1 2 1.0 1.0 2.5
|
||||||
|
|
||||||
|
# tail/tail - size-averaged and long-range
|
||||||
|
|
||||||
|
pair_coeff 3 3 1.0 0.75 2.5
|
||||||
|
pair_coeff 4 4 1.0 0.50 2.5
|
||||||
|
pair_coeff 3 4 1.0 0.67 2.5
|
||||||
|
|
||||||
|
# solvent/tail - full-size and repulsive
|
||||||
|
|
||||||
|
pair_coeff 1 3 1.0 1.0 1.12246
|
||||||
|
pair_coeff 1 4 1.0 1.0 1.12246
|
||||||
|
|
||||||
|
# head/tail - size-averaged and repulsive
|
||||||
|
|
||||||
|
pair_coeff 2 3 1.0 0.88 1.12246
|
||||||
|
pair_coeff 2 4 1.0 0.75 1.12246
|
||||||
|
|
||||||
|
thermo 1000
|
||||||
|
|
||||||
|
#dump 1 all atom 2000 dump.micelle
|
||||||
|
|
||||||
|
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
|
||||||
|
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
|
||||||
|
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
reset_timestep 0
|
||||||
|
group solvent molecule 0
|
||||||
|
group solute subtract all solvent
|
||||||
|
unfix 1
|
||||||
|
unfix 2
|
||||||
|
unfix 4
|
||||||
|
fix 1 solvent nve
|
||||||
|
fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0
|
||||||
|
fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211
|
||||||
|
fix 4 all enforce2d
|
||||||
|
run 20000
|
||||||
|
unfix 5
|
||||||
|
unfix 4
|
||||||
|
fix 5 solute rigid/small molecule langevin 0.45 0.45 0.5 112211
|
||||||
|
fix 4 all enforce2d
|
||||||
|
run 20000
|
||||||
@ -1,255 +0,0 @@
|
|||||||
LAMMPS (27 Nov 2018)
|
|
||||||
using 1 OpenMP thread(s) per MPI task
|
|
||||||
# 2d micelle simulation
|
|
||||||
|
|
||||||
dimension 2
|
|
||||||
|
|
||||||
neighbor 0.3 bin
|
|
||||||
neigh_modify delay 5
|
|
||||||
|
|
||||||
atom_style bond
|
|
||||||
|
|
||||||
# Soft potential push-off
|
|
||||||
|
|
||||||
read_data data.micelle
|
|
||||||
orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1)
|
|
||||||
1 by 1 by 1 MPI processor grid
|
|
||||||
reading atoms ...
|
|
||||||
1200 atoms
|
|
||||||
scanning bonds ...
|
|
||||||
1 = max bonds/atom
|
|
||||||
reading bonds ...
|
|
||||||
300 bonds
|
|
||||||
2 = max # of 1-2 neighbors
|
|
||||||
1 = max # of 1-3 neighbors
|
|
||||||
1 = max # of 1-4 neighbors
|
|
||||||
2 = max # of special neighbors
|
|
||||||
special_bonds fene
|
|
||||||
2 = max # of 1-2 neighbors
|
|
||||||
2 = max # of special neighbors
|
|
||||||
|
|
||||||
pair_style soft 1.12246
|
|
||||||
pair_coeff * * 0.0 1.12246
|
|
||||||
|
|
||||||
bond_style harmonic
|
|
||||||
bond_coeff 1 50.0 0.75
|
|
||||||
|
|
||||||
velocity all create 0.45 2349852
|
|
||||||
|
|
||||||
variable prefactor equal ramp(1.0,20.0)
|
|
||||||
|
|
||||||
fix 1 all nve
|
|
||||||
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
|
|
||||||
fix 3 all adapt 1 pair soft a * * v_prefactor
|
|
||||||
fix 4 all enforce2d
|
|
||||||
|
|
||||||
thermo 50
|
|
||||||
run 1000
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 5 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 1.42246
|
|
||||||
ghost atom cutoff = 1.42246
|
|
||||||
binsize = 0.71123, bins = 51 51 1
|
|
||||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
||||||
(1) pair soft, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/bin/newton
|
|
||||||
stencil: half/bin/2d/newton
|
|
||||||
bin: standard
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes
|
|
||||||
Step Temp E_pair E_mol TotEng Press
|
|
||||||
0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518
|
|
||||||
50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852
|
|
||||||
100 0.45 0.73046745 0.054836584 1.234929 2.3196516
|
|
||||||
150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416
|
|
||||||
200 0.45 0.78481891 0.076931503 1.3113754 3.0412388
|
|
||||||
250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024
|
|
||||||
300 0.45 0.76820218 0.066727591 1.2845548 3.7861054
|
|
||||||
350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621
|
|
||||||
400 0.45 0.68527759 0.090724527 1.2256271 4.4725214
|
|
||||||
450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211
|
|
||||||
500 0.45 0.64883009 0.078376672 1.1768318 4.7919294
|
|
||||||
550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705
|
|
||||||
600 0.45 0.58193041 0.088386617 1.119942 5.131481
|
|
||||||
650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294
|
|
||||||
700 0.45 0.50856787 0.088471208 1.0466641 5.2550165
|
|
||||||
750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763
|
|
||||||
800 0.45 0.49926696 0.085958476 1.0348504 5.4665914
|
|
||||||
850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932
|
|
||||||
900 0.45 0.47785593 0.10150857 1.0289895 5.7765975
|
|
||||||
950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245
|
|
||||||
1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568
|
|
||||||
Loop time of 0.167265 on 1 procs for 1000 steps with 1200 atoms
|
|
||||||
|
|
||||||
Performance: 2582728.958 tau/day, 5978.539 timesteps/s
|
|
||||||
99.1% CPU use with 1 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 0.096171 | 0.096171 | 0.096171 | 0.0 | 57.50
|
|
||||||
Bond | 0.006212 | 0.006212 | 0.006212 | 0.0 | 3.71
|
|
||||||
Neigh | 0.024826 | 0.024826 | 0.024826 | 0.0 | 14.84
|
|
||||||
Comm | 0.0047672 | 0.0047672 | 0.0047672 | 0.0 | 2.85
|
|
||||||
Output | 0.00029063 | 0.00029063 | 0.00029063 | 0.0 | 0.17
|
|
||||||
Modify | 0.028771 | 0.028771 | 0.028771 | 0.0 | 17.20
|
|
||||||
Other | | 0.006227 | | | 3.72
|
|
||||||
|
|
||||||
Nlocal: 1200 ave 1200 max 1200 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Nghost: 195 ave 195 max 195 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Neighs: 3136 ave 3136 max 3136 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
|
|
||||||
Total # of neighbors = 3136
|
|
||||||
Ave neighs/atom = 2.61333
|
|
||||||
Ave special neighs/atom = 0.5
|
|
||||||
Neighbor list builds = 92
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
unfix 3
|
|
||||||
|
|
||||||
# Main run
|
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
|
||||||
|
|
||||||
# solvent/head - full-size and long-range
|
|
||||||
|
|
||||||
pair_coeff 1 1 1.0 1.0 2.5
|
|
||||||
pair_coeff 2 2 1.0 1.0 2.5
|
|
||||||
pair_coeff 1 2 1.0 1.0 2.5
|
|
||||||
|
|
||||||
# tail/tail - size-averaged and long-range
|
|
||||||
|
|
||||||
pair_coeff 3 3 1.0 0.75 2.5
|
|
||||||
pair_coeff 4 4 1.0 0.50 2.5
|
|
||||||
pair_coeff 3 4 1.0 0.67 2.5
|
|
||||||
|
|
||||||
# solvent/tail - full-size and repulsive
|
|
||||||
|
|
||||||
pair_coeff 1 3 1.0 1.0 1.12246
|
|
||||||
pair_coeff 1 4 1.0 1.0 1.12246
|
|
||||||
|
|
||||||
# head/tail - size-averaged and repulsive
|
|
||||||
|
|
||||||
pair_coeff 2 3 1.0 0.88 1.12246
|
|
||||||
pair_coeff 2 4 1.0 0.75 1.12246
|
|
||||||
|
|
||||||
thermo 1000
|
|
||||||
|
|
||||||
#dump 1 all atom 2000 dump.micelle
|
|
||||||
|
|
||||||
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
|
|
||||||
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
|
||||||
|
|
||||||
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
|
|
||||||
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
|
||||||
|
|
||||||
reset_timestep 0
|
|
||||||
run 60000
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 5 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 2.8
|
|
||||||
ghost atom cutoff = 2.8
|
|
||||||
binsize = 1.4, bins = 26 26 1
|
|
||||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
||||||
(1) pair lj/cut, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/bin/newton
|
|
||||||
stencil: half/bin/2d/newton
|
|
||||||
bin: standard
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 4.024 | 4.024 | 4.024 Mbytes
|
|
||||||
Step Temp E_pair E_mol TotEng Press
|
|
||||||
0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686
|
|
||||||
1000 0.45 -1.9727655 0.058608715 -1.4645318 1.9982298
|
|
||||||
2000 0.46465361 -1.9897467 0.067008449 -1.4584719 1.5873463
|
|
||||||
3000 0.46175071 -2.0129279 0.057865385 -1.4936966 1.41269
|
|
||||||
4000 0.44386154 -2.0280304 0.067167835 -1.5173709 1.4022093
|
|
||||||
5000 0.46127582 -2.0556041 0.068318674 -1.526394 1.1416711
|
|
||||||
6000 0.45354052 -2.0463246 0.05461954 -1.5385425 1.1650258
|
|
||||||
7000 0.44082313 -2.040263 0.060218047 -1.5395891 1.3258681
|
|
||||||
8000 0.44353466 -2.0423792 0.061769402 -1.5374447 1.2696989
|
|
||||||
9000 0.46192977 -2.0761348 0.064999109 -1.5495908 0.9205826
|
|
||||||
10000 0.45278646 -2.0589872 0.059623919 -1.5469542 1.075581
|
|
||||||
11000 0.45583355 -2.0661957 0.058197558 -1.5525445 1.127643
|
|
||||||
12000 0.45881198 -2.0921508 0.066937896 -1.5667833 0.98383574
|
|
||||||
13000 0.45339481 -2.079088 0.06292782 -1.5631432 1.0188637
|
|
||||||
14000 0.43601312 -2.0624084 0.057999616 -1.568759 1.1452177
|
|
||||||
15000 0.45941503 -2.0746606 0.062523373 -1.553105 0.86928343
|
|
||||||
16000 0.45 -2.0743162 0.05517924 -1.569512 0.86849848
|
|
||||||
17000 0.45603004 -2.0657683 0.058711872 -1.5514064 0.95544551
|
|
||||||
18000 0.45320383 -2.1009711 0.060716634 -1.5874283 0.8343521
|
|
||||||
19000 0.44072983 -2.0846408 0.062893297 -1.581385 0.90776246
|
|
||||||
20000 0.44452441 -2.0921415 0.060341571 -1.587646 0.98180005
|
|
||||||
21000 0.45964557 -2.0837047 0.054459432 -1.5699827 1.0213779
|
|
||||||
22000 0.46351849 -2.1053613 0.058392027 -1.5838371 0.81579487
|
|
||||||
23000 0.45576065 -2.1001888 0.057646538 -1.5871614 0.76090085
|
|
||||||
24000 0.44671746 -2.0848717 0.058192801 -1.5803337 0.77003809
|
|
||||||
25000 0.44371239 -2.0870872 0.054804981 -1.5889396 0.92295746
|
|
||||||
26000 0.45381188 -2.097021 0.057195346 -1.586392 0.7743058
|
|
||||||
27000 0.46158533 -2.1071056 0.061289644 -1.5846153 0.78981802
|
|
||||||
28000 0.46534671 -2.1056151 0.054934755 -1.5857214 0.80778664
|
|
||||||
29000 0.4505804 -2.0949318 0.065503451 -1.5792234 0.78274755
|
|
||||||
30000 0.45730883 -2.1029161 0.063461968 -1.5825264 0.82507857
|
|
||||||
31000 0.4620071 -2.1124989 0.059980378 -1.5908964 0.78583986
|
|
||||||
32000 0.46934619 -2.1107818 0.056442616 -1.5853842 0.70535653
|
|
||||||
33000 0.45800203 -2.1062502 0.054317859 -1.594312 0.726293
|
|
||||||
34000 0.44634295 -2.110401 0.057764968 -1.606665 0.85401059
|
|
||||||
35000 0.4431929 -2.1274759 0.062048133 -1.6226042 0.64243758
|
|
||||||
36000 0.46049645 -2.1300979 0.068463634 -1.6015216 0.57252544
|
|
||||||
37000 0.45366344 -2.0977407 0.053788554 -1.5906668 0.78046879
|
|
||||||
38000 0.44155077 -2.1166674 0.056888683 -1.6185959 0.53429042
|
|
||||||
39000 0.45631012 -2.096949 0.04860872 -1.5924104 0.86494908
|
|
||||||
40000 0.44684402 -2.1229137 0.067190397 -1.6092516 0.65110818
|
|
||||||
41000 0.4479377 -2.1105264 0.059375259 -1.6035867 0.79092862
|
|
||||||
42000 0.46143191 -2.1174539 0.057418393 -1.5989882 0.69762908
|
|
||||||
43000 0.4356786 -2.085826 0.056534028 -1.5939764 0.89541946
|
|
||||||
44000 0.45806826 -2.126423 0.060905733 -1.6078307 0.66389027
|
|
||||||
45000 0.44343688 -2.1116384 0.065870114 -1.602701 0.83947585
|
|
||||||
46000 0.43844672 -2.1096265 0.064158652 -1.6073865 0.77278902
|
|
||||||
47000 0.45794928 -2.1142786 0.058919562 -1.5977914 0.62611933
|
|
||||||
48000 0.45412335 -2.1106058 0.059153304 -1.5977076 0.66190677
|
|
||||||
49000 0.45927883 -2.1197656 0.068354598 -1.5925149 0.56008845
|
|
||||||
50000 0.44117285 -2.1020783 0.064763249 -1.5965099 0.85935147
|
|
||||||
51000 0.45325398 -2.1125154 0.062295387 -1.5973438 0.80951782
|
|
||||||
52000 0.43896579 -2.1039004 0.057475908 -1.6078245 0.84753768
|
|
||||||
53000 0.45180671 -2.1092446 0.063528598 -1.5942857 0.67065038
|
|
||||||
54000 0.4554341 -2.1185135 0.059603337 -1.6038556 0.76399618
|
|
||||||
55000 0.43861159 -2.0986406 0.057733879 -1.6026606 0.77334084
|
|
||||||
56000 0.45522991 -2.1207166 0.063287543 -1.6025785 0.78669598
|
|
||||||
57000 0.46125513 -2.1150202 0.06026261 -1.5938868 0.78148646
|
|
||||||
58000 0.45236938 -2.1088894 0.062678374 -1.5942186 0.75643518
|
|
||||||
59000 0.43927269 -2.1274165 0.055355076 -1.6331548 0.63495311
|
|
||||||
60000 0.45331102 -2.1336193 0.051244399 -1.6294416 0.56706921
|
|
||||||
Loop time of 13.9361 on 1 procs for 60000 steps with 1200 atoms
|
|
||||||
|
|
||||||
Performance: 1859917.639 tau/day, 4305.365 timesteps/s
|
|
||||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 9.2211 | 9.2211 | 9.2211 | 0.0 | 66.17
|
|
||||||
Bond | 0.33763 | 0.33763 | 0.33763 | 0.0 | 2.42
|
|
||||||
Neigh | 2.3772 | 2.3772 | 2.3772 | 0.0 | 17.06
|
|
||||||
Comm | 0.37693 | 0.37693 | 0.37693 | 0.0 | 2.70
|
|
||||||
Output | 0.0011795 | 0.0011795 | 0.0011795 | 0.0 | 0.01
|
|
||||||
Modify | 1.2727 | 1.2727 | 1.2727 | 0.0 | 9.13
|
|
||||||
Other | | 0.3493 | | | 2.51
|
|
||||||
|
|
||||||
Nlocal: 1200 ave 1200 max 1200 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Nghost: 405 ave 405 max 405 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
Neighs: 9565 ave 9565 max 9565 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
|
||||||
|
|
||||||
Total # of neighbors = 9565
|
|
||||||
Ave neighs/atom = 7.97083
|
|
||||||
Ave special neighs/atom = 0.5
|
|
||||||
Neighbor list builds = 4876
|
|
||||||
Dangerous builds = 0
|
|
||||||
Total wall time: 0:00:14
|
|
||||||
@ -1,255 +0,0 @@
|
|||||||
LAMMPS (27 Nov 2018)
|
|
||||||
using 1 OpenMP thread(s) per MPI task
|
|
||||||
# 2d micelle simulation
|
|
||||||
|
|
||||||
dimension 2
|
|
||||||
|
|
||||||
neighbor 0.3 bin
|
|
||||||
neigh_modify delay 5
|
|
||||||
|
|
||||||
atom_style bond
|
|
||||||
|
|
||||||
# Soft potential push-off
|
|
||||||
|
|
||||||
read_data data.micelle
|
|
||||||
orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1)
|
|
||||||
2 by 2 by 1 MPI processor grid
|
|
||||||
reading atoms ...
|
|
||||||
1200 atoms
|
|
||||||
scanning bonds ...
|
|
||||||
1 = max bonds/atom
|
|
||||||
reading bonds ...
|
|
||||||
300 bonds
|
|
||||||
2 = max # of 1-2 neighbors
|
|
||||||
1 = max # of 1-3 neighbors
|
|
||||||
1 = max # of 1-4 neighbors
|
|
||||||
2 = max # of special neighbors
|
|
||||||
special_bonds fene
|
|
||||||
2 = max # of 1-2 neighbors
|
|
||||||
2 = max # of special neighbors
|
|
||||||
|
|
||||||
pair_style soft 1.12246
|
|
||||||
pair_coeff * * 0.0 1.12246
|
|
||||||
|
|
||||||
bond_style harmonic
|
|
||||||
bond_coeff 1 50.0 0.75
|
|
||||||
|
|
||||||
velocity all create 0.45 2349852
|
|
||||||
|
|
||||||
variable prefactor equal ramp(1.0,20.0)
|
|
||||||
|
|
||||||
fix 1 all nve
|
|
||||||
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
|
|
||||||
fix 3 all adapt 1 pair soft a * * v_prefactor
|
|
||||||
fix 4 all enforce2d
|
|
||||||
|
|
||||||
thermo 50
|
|
||||||
run 1000
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 5 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 1.42246
|
|
||||||
ghost atom cutoff = 1.42246
|
|
||||||
binsize = 0.71123, bins = 51 51 1
|
|
||||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
||||||
(1) pair soft, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/bin/newton
|
|
||||||
stencil: half/bin/2d/newton
|
|
||||||
bin: standard
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes
|
|
||||||
Step Temp E_pair E_mol TotEng Press
|
|
||||||
0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518
|
|
||||||
50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852
|
|
||||||
100 0.45 0.73046745 0.054836584 1.234929 2.3196516
|
|
||||||
150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416
|
|
||||||
200 0.45 0.78481891 0.076931503 1.3113754 3.0412388
|
|
||||||
250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024
|
|
||||||
300 0.45 0.76820218 0.066727591 1.2845548 3.7861054
|
|
||||||
350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621
|
|
||||||
400 0.45 0.68527759 0.090724527 1.2256271 4.4725214
|
|
||||||
450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211
|
|
||||||
500 0.45 0.64883009 0.078376672 1.1768318 4.7919294
|
|
||||||
550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705
|
|
||||||
600 0.45 0.58193041 0.088386617 1.119942 5.131481
|
|
||||||
650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294
|
|
||||||
700 0.45 0.50856787 0.088471208 1.0466641 5.2550165
|
|
||||||
750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763
|
|
||||||
800 0.45 0.49926696 0.085958476 1.0348504 5.4665914
|
|
||||||
850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932
|
|
||||||
900 0.45 0.47785593 0.10150857 1.0289895 5.7765975
|
|
||||||
950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245
|
|
||||||
1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568
|
|
||||||
Loop time of 0.0641922 on 4 procs for 1000 steps with 1200 atoms
|
|
||||||
|
|
||||||
Performance: 6729792.131 tau/day, 15578.223 timesteps/s
|
|
||||||
90.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 0.020663 | 0.021445 | 0.022477 | 0.5 | 33.41
|
|
||||||
Bond | 0.0014422 | 0.0015128 | 0.001569 | 0.1 | 2.36
|
|
||||||
Neigh | 0.0067129 | 0.0067645 | 0.0068202 | 0.1 | 10.54
|
|
||||||
Comm | 0.018454 | 0.019275 | 0.020386 | 0.5 | 30.03
|
|
||||||
Output | 0.00038171 | 0.00040019 | 0.00044632 | 0.0 | 0.62
|
|
||||||
Modify | 0.010561 | 0.010904 | 0.011309 | 0.3 | 16.99
|
|
||||||
Other | | 0.003891 | | | 6.06
|
|
||||||
|
|
||||||
Nlocal: 300 ave 305 max 292 min
|
|
||||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
|
||||||
Nghost: 100.25 ave 108 max 93 min
|
|
||||||
Histogram: 1 0 1 0 0 0 1 0 0 1
|
|
||||||
Neighs: 784 ave 815 max 739 min
|
|
||||||
Histogram: 1 0 0 0 0 0 1 1 0 1
|
|
||||||
|
|
||||||
Total # of neighbors = 3136
|
|
||||||
Ave neighs/atom = 2.61333
|
|
||||||
Ave special neighs/atom = 0.5
|
|
||||||
Neighbor list builds = 92
|
|
||||||
Dangerous builds = 0
|
|
||||||
|
|
||||||
unfix 3
|
|
||||||
|
|
||||||
# Main run
|
|
||||||
|
|
||||||
pair_style lj/cut 2.5
|
|
||||||
|
|
||||||
# solvent/head - full-size and long-range
|
|
||||||
|
|
||||||
pair_coeff 1 1 1.0 1.0 2.5
|
|
||||||
pair_coeff 2 2 1.0 1.0 2.5
|
|
||||||
pair_coeff 1 2 1.0 1.0 2.5
|
|
||||||
|
|
||||||
# tail/tail - size-averaged and long-range
|
|
||||||
|
|
||||||
pair_coeff 3 3 1.0 0.75 2.5
|
|
||||||
pair_coeff 4 4 1.0 0.50 2.5
|
|
||||||
pair_coeff 3 4 1.0 0.67 2.5
|
|
||||||
|
|
||||||
# solvent/tail - full-size and repulsive
|
|
||||||
|
|
||||||
pair_coeff 1 3 1.0 1.0 1.12246
|
|
||||||
pair_coeff 1 4 1.0 1.0 1.12246
|
|
||||||
|
|
||||||
# head/tail - size-averaged and repulsive
|
|
||||||
|
|
||||||
pair_coeff 2 3 1.0 0.88 1.12246
|
|
||||||
pair_coeff 2 4 1.0 0.75 1.12246
|
|
||||||
|
|
||||||
thermo 1000
|
|
||||||
|
|
||||||
#dump 1 all atom 2000 dump.micelle
|
|
||||||
|
|
||||||
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
|
|
||||||
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
|
||||||
|
|
||||||
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
|
|
||||||
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
|
||||||
|
|
||||||
reset_timestep 0
|
|
||||||
run 60000
|
|
||||||
Neighbor list info ...
|
|
||||||
update every 1 steps, delay 5 steps, check yes
|
|
||||||
max neighbors/atom: 2000, page size: 100000
|
|
||||||
master list distance cutoff = 2.8
|
|
||||||
ghost atom cutoff = 2.8
|
|
||||||
binsize = 1.4, bins = 26 26 1
|
|
||||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
|
||||||
(1) pair lj/cut, perpetual
|
|
||||||
attributes: half, newton on
|
|
||||||
pair build: half/bin/newton
|
|
||||||
stencil: half/bin/2d/newton
|
|
||||||
bin: standard
|
|
||||||
Per MPI rank memory allocation (min/avg/max) = 4.001 | 4.032 | 4.124 Mbytes
|
|
||||||
Step Temp E_pair E_mol TotEng Press
|
|
||||||
0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686
|
|
||||||
1000 0.45 -1.9727661 0.05860859 -1.4645325 1.9982402
|
|
||||||
2000 0.45146247 -1.9766043 0.059408886 -1.4661092 1.7398826
|
|
||||||
3000 0.43338517 -2.0028125 0.059884381 -1.5099041 1.4716488
|
|
||||||
4000 0.46674519 -2.0200954 0.066548679 -1.4871905 1.2506693
|
|
||||||
5000 0.45 -2.0207125 0.055926205 -1.5151613 1.3047457
|
|
||||||
6000 0.45447759 -2.0585234 0.068004883 -1.5364197 1.1859762
|
|
||||||
7000 0.43183018 -2.0170545 0.060800296 -1.5247839 1.3074223
|
|
||||||
8000 0.46657547 -2.053224 0.063224367 -1.523813 1.1785643
|
|
||||||
9000 0.45 -2.0691221 0.054959029 -1.564538 1.1833657
|
|
||||||
10000 0.4428252 -2.0473987 0.054306905 -1.5506356 1.181794
|
|
||||||
11000 0.45407036 -2.0746151 0.065849667 -1.5550734 1.1008545
|
|
||||||
12000 0.46061944 -2.0580809 0.063129643 -1.5347156 1.0206491
|
|
||||||
13000 0.45159068 -2.0640832 0.060059758 -1.5528091 1.0813494
|
|
||||||
14000 0.44141594 -2.0467255 0.062785088 -1.5428923 1.1465772
|
|
||||||
15000 0.454361 -2.0908595 0.057471037 -1.5794061 0.84297781
|
|
||||||
16000 0.44061091 -2.0521452 0.064644196 -1.5472573 1.1478647
|
|
||||||
17000 0.45118383 -2.081348 0.058660999 -1.5718791 1.0101404
|
|
||||||
18000 0.44664866 -2.0845745 0.060435731 -1.5778623 0.96142277
|
|
||||||
19000 0.45515339 -2.0914006 0.062174016 -1.5744525 0.87623323
|
|
||||||
20000 0.45624408 -2.0837697 0.059263054 -1.5686428 0.92810644
|
|
||||||
21000 0.46791657 -2.1062007 0.067355929 -1.5713181 0.88318793
|
|
||||||
22000 0.43907391 -2.1005271 0.065885144 -1.5959339 0.77211644
|
|
||||||
23000 0.43967354 -2.0723459 0.057613471 -1.5754253 1.0371548
|
|
||||||
24000 0.45716384 -2.0987126 0.055157377 -1.5867723 0.89670061
|
|
||||||
25000 0.45828285 -2.1041616 0.057736138 -1.5885245 0.79952286
|
|
||||||
26000 0.45 -2.0743463 0.072455519 -1.5522658 0.88260204
|
|
||||||
27000 0.46581599 -2.0804974 0.058113258 -1.5569564 0.93053891
|
|
||||||
28000 0.46904194 -2.0920124 0.059748792 -1.5636125 0.79359618
|
|
||||||
29000 0.46093196 -2.118556 0.063942334 -1.5940659 0.67707604
|
|
||||||
30000 0.45733724 -2.1197827 0.066939064 -1.5958875 0.66886075
|
|
||||||
31000 0.44580762 -2.0977175 0.056969121 -1.5953123 0.81042562
|
|
||||||
32000 0.44403029 -2.1032264 0.063465127 -1.596101 0.71796412
|
|
||||||
33000 0.45834072 -2.0934132 0.066035391 -1.569419 0.77873998
|
|
||||||
34000 0.44981563 -2.0910902 0.07138738 -1.5702621 0.75679805
|
|
||||||
35000 0.45383392 -2.0926654 0.067553478 -1.5716562 0.9064517
|
|
||||||
36000 0.44447198 -2.1107114 0.062718917 -1.6038909 0.8538349
|
|
||||||
37000 0.45838527 -2.1166464 0.062442606 -1.5962005 0.7300635
|
|
||||||
38000 0.45014075 -2.1096258 0.059293718 -1.6005665 0.73988246
|
|
||||||
39000 0.44377026 -2.080309 0.063545781 -1.5733628 0.99775641
|
|
||||||
40000 0.44577324 -2.1134607 0.065271179 -1.6027878 0.64113168
|
|
||||||
41000 0.45 -2.0937983 0.060881377 -1.5832919 0.78849829
|
|
||||||
42000 0.46866695 -2.1142283 0.056417605 -1.5895343 0.73788436
|
|
||||||
43000 0.43211727 -2.0819893 0.061463358 -1.5887688 0.95853724
|
|
||||||
44000 0.44138397 -2.0921314 0.059643895 -1.5914713 0.89486208
|
|
||||||
45000 0.45 -2.117209 0.054804331 -1.6127797 0.78564885
|
|
||||||
46000 0.44285245 -2.1090975 0.057629006 -1.6089851 0.64549424
|
|
||||||
47000 0.45537009 -2.1164296 0.068582324 -1.5928567 0.73629413
|
|
||||||
48000 0.45046732 -2.1006362 0.057249591 -1.5932947 0.74317593
|
|
||||||
49000 0.45425966 -2.1191703 0.064247719 -1.6010414 0.70962368
|
|
||||||
50000 0.45506149 -2.1184671 0.064911797 -1.5988731 0.69958156
|
|
||||||
51000 0.46047417 -2.1019719 0.058468259 -1.5834132 0.87219271
|
|
||||||
52000 0.43808317 -2.092294 0.057280941 -1.597295 0.84156893
|
|
||||||
53000 0.45012337 -2.1175234 0.064002667 -1.6037725 0.64562439
|
|
||||||
54000 0.43854679 -2.1236444 0.061316257 -1.6241468 0.72478117
|
|
||||||
55000 0.46382438 -2.1016563 0.060724666 -1.5774938 0.83311209
|
|
||||||
56000 0.44951533 -2.0946157 0.055075217 -1.5903998 0.90066109
|
|
||||||
57000 0.45937401 -2.0983442 0.061558996 -1.577794 0.58606161
|
|
||||||
58000 0.446669 -2.1146838 0.062385166 -1.6060019 0.73443388
|
|
||||||
59000 0.43847747 -2.1197461 0.060460257 -1.6211738 0.7230937
|
|
||||||
60000 0.45294215 -2.1258513 0.061895006 -1.6113915 0.70722168
|
|
||||||
Loop time of 4.56226 on 4 procs for 60000 steps with 1200 atoms
|
|
||||||
|
|
||||||
Performance: 5681397.232 tau/day, 13151.382 timesteps/s
|
|
||||||
97.1% CPU use with 4 MPI tasks x 1 OpenMP threads
|
|
||||||
|
|
||||||
MPI task timing breakdown:
|
|
||||||
Section | min time | avg time | max time |%varavg| %total
|
|
||||||
---------------------------------------------------------------
|
|
||||||
Pair | 2.2114 | 2.2527 | 2.3592 | 4.1 | 49.38
|
|
||||||
Bond | 0.083713 | 0.09234 | 0.10244 | 2.3 | 2.02
|
|
||||||
Neigh | 0.72491 | 0.7277 | 0.72957 | 0.2 | 15.95
|
|
||||||
Comm | 0.79464 | 0.90036 | 0.94957 | 6.5 | 19.74
|
|
||||||
Output | 0.0014119 | 0.0024976 | 0.0057502 | 3.8 | 0.05
|
|
||||||
Modify | 0.33757 | 0.35202 | 0.36946 | 2.1 | 7.72
|
|
||||||
Other | | 0.2346 | | | 5.14
|
|
||||||
|
|
||||||
Nlocal: 300 ave 306 max 289 min
|
|
||||||
Histogram: 1 0 0 0 0 0 0 1 1 1
|
|
||||||
Nghost: 227.25 ave 250 max 216 min
|
|
||||||
Histogram: 2 0 1 0 0 0 0 0 0 1
|
|
||||||
Neighs: 2373.25 ave 2489 max 2283 min
|
|
||||||
Histogram: 1 1 0 0 0 1 0 0 0 1
|
|
||||||
|
|
||||||
Total # of neighbors = 9493
|
|
||||||
Ave neighs/atom = 7.91083
|
|
||||||
Ave special neighs/atom = 0.5
|
|
||||||
Neighbor list builds = 4888
|
|
||||||
Dangerous builds = 0
|
|
||||||
Total wall time: 0:00:04
|
|
||||||
260
examples/micelle/log.29Mar2019.micelle-rigid.g++.1
Normal file
@ -0,0 +1,260 @@
|
|||||||
|
LAMMPS (29 Mar 2019)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
# 2d micelle simulation
|
||||||
|
|
||||||
|
dimension 2
|
||||||
|
|
||||||
|
neighbor 0.3 bin
|
||||||
|
neigh_modify delay 5
|
||||||
|
|
||||||
|
atom_style bond
|
||||||
|
|
||||||
|
# Soft potential push-off
|
||||||
|
|
||||||
|
read_data data.micelle
|
||||||
|
orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
reading atoms ...
|
||||||
|
1200 atoms
|
||||||
|
scanning bonds ...
|
||||||
|
1 = max bonds/atom
|
||||||
|
reading bonds ...
|
||||||
|
300 bonds
|
||||||
|
2 = max # of 1-2 neighbors
|
||||||
|
1 = max # of 1-3 neighbors
|
||||||
|
1 = max # of 1-4 neighbors
|
||||||
|
2 = max # of special neighbors
|
||||||
|
special bonds CPU = 0.000473022 secs
|
||||||
|
read_data CPU = 0.0024147 secs
|
||||||
|
special_bonds fene
|
||||||
|
2 = max # of 1-2 neighbors
|
||||||
|
2 = max # of special neighbors
|
||||||
|
special bonds CPU = 0.00022316 secs
|
||||||
|
|
||||||
|
pair_style soft 1.12246
|
||||||
|
pair_coeff * * 0.0 1.12246
|
||||||
|
|
||||||
|
bond_style harmonic
|
||||||
|
bond_coeff 1 50.0 0.75
|
||||||
|
|
||||||
|
velocity all create 0.45 2349852
|
||||||
|
|
||||||
|
variable prefactor equal ramp(1.0,20.0)
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
|
||||||
|
fix 3 all adapt 1 pair soft a * * v_prefactor
|
||||||
|
fix 4 all enforce2d
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 500
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 5 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 1.42246
|
||||||
|
ghost atom cutoff = 1.42246
|
||||||
|
binsize = 0.71123, bins = 51 51 1
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair soft, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/newton
|
||||||
|
stencil: half/bin/2d/newton
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518
|
||||||
|
50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786
|
||||||
|
100 0.45 0.99659327 0.079228519 1.5254468 3.2135679
|
||||||
|
150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925
|
||||||
|
200 0.45 1.01454 0.10663502 1.5708 4.7598476
|
||||||
|
250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899
|
||||||
|
300 0.45 0.86475538 0.11819875 1.4325791 5.8554758
|
||||||
|
350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247
|
||||||
|
400 0.45 0.75067331 0.14165013 1.3419484 6.3840708
|
||||||
|
450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009
|
||||||
|
500 0.45 0.66669513 0.13695201 1.2532721 6.807146
|
||||||
|
Loop time of 0.103162 on 1 procs for 500 steps with 1200 atoms
|
||||||
|
|
||||||
|
Performance: 2093802.885 tau/day, 4846.766 timesteps/s
|
||||||
|
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.068308 | 0.068308 | 0.068308 | 0.0 | 66.21
|
||||||
|
Bond | 0.004235 | 0.004235 | 0.004235 | 0.0 | 4.11
|
||||||
|
Neigh | 0.014069 | 0.014069 | 0.014069 | 0.0 | 13.64
|
||||||
|
Comm | 0.0019219 | 0.0019219 | 0.0019219 | 0.0 | 1.86
|
||||||
|
Output | 0.00017262 | 0.00017262 | 0.00017262 | 0.0 | 0.17
|
||||||
|
Modify | 0.011728 | 0.011728 | 0.011728 | 0.0 | 11.37
|
||||||
|
Other | | 0.002726 | | | 2.64
|
||||||
|
|
||||||
|
Nlocal: 1200 ave 1200 max 1200 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 197 ave 197 max 197 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 3094 ave 3094 max 3094 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 3094
|
||||||
|
Ave neighs/atom = 2.57833
|
||||||
|
Ave special neighs/atom = 0.5
|
||||||
|
Neighbor list builds = 52
|
||||||
|
Dangerous builds = 0
|
||||||
|
|
||||||
|
unfix 3
|
||||||
|
|
||||||
|
# Main run
|
||||||
|
|
||||||
|
pair_style lj/cut 2.5
|
||||||
|
|
||||||
|
# solvent/head - full-size and long-range
|
||||||
|
|
||||||
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
pair_coeff 2 2 1.0 1.0 2.5
|
||||||
|
pair_coeff 1 2 1.0 1.0 2.5
|
||||||
|
|
||||||
|
# tail/tail - size-averaged and long-range
|
||||||
|
|
||||||
|
pair_coeff 3 3 1.0 0.75 2.5
|
||||||
|
pair_coeff 4 4 1.0 0.50 2.5
|
||||||
|
pair_coeff 3 4 1.0 0.67 2.5
|
||||||
|
|
||||||
|
# solvent/tail - full-size and repulsive
|
||||||
|
|
||||||
|
pair_coeff 1 3 1.0 1.0 1.12246
|
||||||
|
pair_coeff 1 4 1.0 1.0 1.12246
|
||||||
|
|
||||||
|
# head/tail - size-averaged and repulsive
|
||||||
|
|
||||||
|
pair_coeff 2 3 1.0 0.88 1.12246
|
||||||
|
pair_coeff 2 4 1.0 0.75 1.12246
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
|
||||||
|
#dump 1 all atom 2000 dump.micelle
|
||||||
|
|
||||||
|
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
|
||||||
|
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
|
||||||
|
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
reset_timestep 0
|
||||||
|
group solvent molecule 0
|
||||||
|
750 atoms in group solvent
|
||||||
|
group solute subtract all solvent
|
||||||
|
450 atoms in group solute
|
||||||
|
unfix 1
|
||||||
|
unfix 2
|
||||||
|
unfix 4
|
||||||
|
fix 1 solvent nve
|
||||||
|
fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0
|
||||||
|
fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211
|
||||||
|
150 rigid bodies with 450 atoms
|
||||||
|
fix 4 all enforce2d
|
||||||
|
run 500
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 5 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 2.8
|
||||||
|
ghost atom cutoff = 2.8
|
||||||
|
binsize = 1.4, bins = 26 26 1
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair lj/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/newton
|
||||||
|
stencil: half/bin/2d/newton
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 5.274 | 5.274 | 5.274 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423
|
||||||
|
50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539
|
||||||
|
100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696
|
||||||
|
150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743
|
||||||
|
200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793
|
||||||
|
250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722
|
||||||
|
300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794
|
||||||
|
350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926
|
||||||
|
400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858
|
||||||
|
450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617
|
||||||
|
500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061
|
||||||
|
Loop time of 0.178806 on 1 procs for 500 steps with 1200 atoms
|
||||||
|
|
||||||
|
Performance: 1208012.705 tau/day, 2796.326 timesteps/s
|
||||||
|
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.086131 | 0.086131 | 0.086131 | 0.0 | 48.17
|
||||||
|
Bond | 0.0042472 | 0.0042472 | 0.0042472 | 0.0 | 2.38
|
||||||
|
Neigh | 0.021317 | 0.021317 | 0.021317 | 0.0 | 11.92
|
||||||
|
Comm | 0.0025985 | 0.0025985 | 0.0025985 | 0.0 | 1.45
|
||||||
|
Output | 0.000175 | 0.000175 | 0.000175 | 0.0 | 0.10
|
||||||
|
Modify | 0.061408 | 0.061408 | 0.061408 | 0.0 | 34.34
|
||||||
|
Other | | 0.00293 | | | 1.64
|
||||||
|
|
||||||
|
Nlocal: 1200 ave 1200 max 1200 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 416 ave 416 max 416 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 8769 ave 8769 max 8769 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 8769
|
||||||
|
Ave neighs/atom = 7.3075
|
||||||
|
Ave special neighs/atom = 0.5
|
||||||
|
Neighbor list builds = 47
|
||||||
|
Dangerous builds = 2
|
||||||
|
unfix 2
|
||||||
|
unfix 4
|
||||||
|
unfix 5
|
||||||
|
fix 5 solute rigid/small molecule
|
||||||
|
create bodies CPU = 0.00015378 secs
|
||||||
|
150 rigid bodies with 450 atoms
|
||||||
|
1.30435 = max distance from body owner to body atom
|
||||||
|
fix 4 all enforce2d
|
||||||
|
run 500
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 8.64 | 8.64 | 8.64 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793
|
||||||
|
550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065
|
||||||
|
600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965
|
||||||
|
650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319
|
||||||
|
700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351
|
||||||
|
750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907
|
||||||
|
800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431
|
||||||
|
850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157
|
||||||
|
900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056
|
||||||
|
950 0.48351943 -1.9162485 0.13695201 -1.3868399 2.1891332
|
||||||
|
1000 0.49033701 -1.9115165 0.13695201 -1.3765742 2.1508141
|
||||||
|
Loop time of 0.166502 on 1 procs for 500 steps with 1200 atoms
|
||||||
|
|
||||||
|
Performance: 1297278.008 tau/day, 3002.958 timesteps/s
|
||||||
|
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.085767 | 0.085767 | 0.085767 | 0.0 | 51.51
|
||||||
|
Bond | 0.0042562 | 0.0042562 | 0.0042562 | 0.0 | 2.56
|
||||||
|
Neigh | 0.018039 | 0.018039 | 0.018039 | 0.0 | 10.83
|
||||||
|
Comm | 0.0024002 | 0.0024002 | 0.0024002 | 0.0 | 1.44
|
||||||
|
Output | 0.00018239 | 0.00018239 | 0.00018239 | 0.0 | 0.11
|
||||||
|
Modify | 0.052717 | 0.052717 | 0.052717 | 0.0 | 31.66
|
||||||
|
Other | | 0.003141 | | | 1.89
|
||||||
|
|
||||||
|
Nlocal: 1200 ave 1200 max 1200 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 415 ave 415 max 415 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 8743 ave 8743 max 8743 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 8743
|
||||||
|
Ave neighs/atom = 7.28583
|
||||||
|
Ave special neighs/atom = 0.5
|
||||||
|
Neighbor list builds = 40
|
||||||
|
Dangerous builds = 0
|
||||||
|
Total wall time: 0:00:00
|
||||||
260
examples/micelle/log.29Mar2019.micelle-rigid.g++.4
Normal file
@ -0,0 +1,260 @@
|
|||||||
|
LAMMPS (29 Mar 2019)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
# 2d micelle simulation
|
||||||
|
|
||||||
|
dimension 2
|
||||||
|
|
||||||
|
neighbor 0.3 bin
|
||||||
|
neigh_modify delay 5
|
||||||
|
|
||||||
|
atom_style bond
|
||||||
|
|
||||||
|
# Soft potential push-off
|
||||||
|
|
||||||
|
read_data data.micelle
|
||||||
|
orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1)
|
||||||
|
2 by 2 by 1 MPI processor grid
|
||||||
|
reading atoms ...
|
||||||
|
1200 atoms
|
||||||
|
scanning bonds ...
|
||||||
|
1 = max bonds/atom
|
||||||
|
reading bonds ...
|
||||||
|
300 bonds
|
||||||
|
2 = max # of 1-2 neighbors
|
||||||
|
1 = max # of 1-3 neighbors
|
||||||
|
1 = max # of 1-4 neighbors
|
||||||
|
2 = max # of special neighbors
|
||||||
|
special bonds CPU = 0.000422001 secs
|
||||||
|
read_data CPU = 0.00473404 secs
|
||||||
|
special_bonds fene
|
||||||
|
2 = max # of 1-2 neighbors
|
||||||
|
2 = max # of special neighbors
|
||||||
|
special bonds CPU = 0.000183344 secs
|
||||||
|
|
||||||
|
pair_style soft 1.12246
|
||||||
|
pair_coeff * * 0.0 1.12246
|
||||||
|
|
||||||
|
bond_style harmonic
|
||||||
|
bond_coeff 1 50.0 0.75
|
||||||
|
|
||||||
|
velocity all create 0.45 2349852
|
||||||
|
|
||||||
|
variable prefactor equal ramp(1.0,20.0)
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
|
||||||
|
fix 3 all adapt 1 pair soft a * * v_prefactor
|
||||||
|
fix 4 all enforce2d
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 500
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 5 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 1.42246
|
||||||
|
ghost atom cutoff = 1.42246
|
||||||
|
binsize = 0.71123, bins = 51 51 1
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair soft, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/newton
|
||||||
|
stencil: half/bin/2d/newton
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518
|
||||||
|
50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786
|
||||||
|
100 0.45 0.99659327 0.079228519 1.5254468 3.2135679
|
||||||
|
150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925
|
||||||
|
200 0.45 1.01454 0.10663502 1.5708 4.7598476
|
||||||
|
250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899
|
||||||
|
300 0.45 0.86475538 0.11819875 1.4325791 5.8554758
|
||||||
|
350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247
|
||||||
|
400 0.45 0.75067331 0.14165013 1.3419484 6.3840708
|
||||||
|
450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009
|
||||||
|
500 0.45 0.66669513 0.13695201 1.2532721 6.807146
|
||||||
|
Loop time of 0.0426326 on 4 procs for 500 steps with 1200 atoms
|
||||||
|
|
||||||
|
Performance: 5066547.720 tau/day, 11728.120 timesteps/s
|
||||||
|
98.7% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.016784 | 0.019254 | 0.022154 | 1.5 | 45.16
|
||||||
|
Bond | 0.0010612 | 0.0012558 | 0.0014153 | 0.4 | 2.95
|
||||||
|
Neigh | 0.0046048 | 0.0046697 | 0.0047245 | 0.1 | 10.95
|
||||||
|
Comm | 0.0064592 | 0.0097114 | 0.012527 | 2.4 | 22.78
|
||||||
|
Output | 0.00022507 | 0.00026393 | 0.00033951 | 0.0 | 0.62
|
||||||
|
Modify | 0.0041659 | 0.0048084 | 0.0053945 | 0.8 | 11.28
|
||||||
|
Other | | 0.002669 | | | 6.26
|
||||||
|
|
||||||
|
Nlocal: 300 ave 304 max 292 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 2 1
|
||||||
|
Nghost: 103.5 ave 108 max 98 min
|
||||||
|
Histogram: 1 0 0 1 0 0 0 0 0 2
|
||||||
|
Neighs: 773.5 ave 792 max 735 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 2 1
|
||||||
|
|
||||||
|
Total # of neighbors = 3094
|
||||||
|
Ave neighs/atom = 2.57833
|
||||||
|
Ave special neighs/atom = 0.5
|
||||||
|
Neighbor list builds = 52
|
||||||
|
Dangerous builds = 0
|
||||||
|
|
||||||
|
unfix 3
|
||||||
|
|
||||||
|
# Main run
|
||||||
|
|
||||||
|
pair_style lj/cut 2.5
|
||||||
|
|
||||||
|
# solvent/head - full-size and long-range
|
||||||
|
|
||||||
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
pair_coeff 2 2 1.0 1.0 2.5
|
||||||
|
pair_coeff 1 2 1.0 1.0 2.5
|
||||||
|
|
||||||
|
# tail/tail - size-averaged and long-range
|
||||||
|
|
||||||
|
pair_coeff 3 3 1.0 0.75 2.5
|
||||||
|
pair_coeff 4 4 1.0 0.50 2.5
|
||||||
|
pair_coeff 3 4 1.0 0.67 2.5
|
||||||
|
|
||||||
|
# solvent/tail - full-size and repulsive
|
||||||
|
|
||||||
|
pair_coeff 1 3 1.0 1.0 1.12246
|
||||||
|
pair_coeff 1 4 1.0 1.0 1.12246
|
||||||
|
|
||||||
|
# head/tail - size-averaged and repulsive
|
||||||
|
|
||||||
|
pair_coeff 2 3 1.0 0.88 1.12246
|
||||||
|
pair_coeff 2 4 1.0 0.75 1.12246
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
|
||||||
|
#dump 1 all atom 2000 dump.micelle
|
||||||
|
|
||||||
|
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
|
||||||
|
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
|
||||||
|
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
reset_timestep 0
|
||||||
|
group solvent molecule 0
|
||||||
|
750 atoms in group solvent
|
||||||
|
group solute subtract all solvent
|
||||||
|
450 atoms in group solute
|
||||||
|
unfix 1
|
||||||
|
unfix 2
|
||||||
|
unfix 4
|
||||||
|
fix 1 solvent nve
|
||||||
|
fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0
|
||||||
|
fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211
|
||||||
|
150 rigid bodies with 450 atoms
|
||||||
|
fix 4 all enforce2d
|
||||||
|
run 500
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 5 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 2.8
|
||||||
|
ghost atom cutoff = 2.8
|
||||||
|
binsize = 1.4, bins = 26 26 1
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair lj/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/newton
|
||||||
|
stencil: half/bin/2d/newton
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 5.251 | 5.282 | 5.374 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423
|
||||||
|
50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539
|
||||||
|
100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696
|
||||||
|
150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743
|
||||||
|
200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793
|
||||||
|
250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722
|
||||||
|
300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794
|
||||||
|
350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926
|
||||||
|
400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858
|
||||||
|
450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617
|
||||||
|
500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061
|
||||||
|
Loop time of 0.0887392 on 4 procs for 500 steps with 1200 atoms
|
||||||
|
|
||||||
|
Performance: 2434100.210 tau/day, 5634.491 timesteps/s
|
||||||
|
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.022611 | 0.022839 | 0.023082 | 0.1 | 25.74
|
||||||
|
Bond | 0.0010793 | 0.0011569 | 0.0012515 | 0.2 | 1.30
|
||||||
|
Neigh | 0.0064609 | 0.0064996 | 0.0065265 | 0.0 | 7.32
|
||||||
|
Comm | 0.0071712 | 0.0073687 | 0.0077734 | 0.3 | 8.30
|
||||||
|
Output | 0.00023389 | 0.00025356 | 0.00030327 | 0.0 | 0.29
|
||||||
|
Modify | 0.047258 | 0.047683 | 0.048503 | 0.2 | 53.73
|
||||||
|
Other | | 0.002938 | | | 3.31
|
||||||
|
|
||||||
|
Nlocal: 300 ave 309 max 291 min
|
||||||
|
Histogram: 1 0 0 1 0 0 1 0 0 1
|
||||||
|
Nghost: 218.75 ave 223 max 216 min
|
||||||
|
Histogram: 1 0 2 0 0 0 0 0 0 1
|
||||||
|
Neighs: 2192.25 ave 2251 max 2113 min
|
||||||
|
Histogram: 1 0 0 1 0 0 0 0 0 2
|
||||||
|
|
||||||
|
Total # of neighbors = 8769
|
||||||
|
Ave neighs/atom = 7.3075
|
||||||
|
Ave special neighs/atom = 0.5
|
||||||
|
Neighbor list builds = 47
|
||||||
|
Dangerous builds = 2
|
||||||
|
unfix 2
|
||||||
|
unfix 4
|
||||||
|
unfix 5
|
||||||
|
fix 5 solute rigid/small molecule
|
||||||
|
create bodies CPU = 7.70092e-05 secs
|
||||||
|
150 rigid bodies with 450 atoms
|
||||||
|
1.30435 = max distance from body owner to body atom
|
||||||
|
fix 4 all enforce2d
|
||||||
|
run 500
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 8.565 | 8.597 | 8.69 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793
|
||||||
|
550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065
|
||||||
|
600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965
|
||||||
|
650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319
|
||||||
|
700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351
|
||||||
|
750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907
|
||||||
|
800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431
|
||||||
|
850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157
|
||||||
|
900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056
|
||||||
|
950 0.48351942 -1.9162485 0.13695201 -1.3868399 2.1891332
|
||||||
|
1000 0.490337 -1.9115164 0.13695201 -1.3765742 2.1508141
|
||||||
|
Loop time of 0.0588261 on 4 procs for 500 steps with 1200 atoms
|
||||||
|
|
||||||
|
Performance: 3671840.233 tau/day, 8499.630 timesteps/s
|
||||||
|
98.3% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.022407 | 0.022631 | 0.0229 | 0.1 | 38.47
|
||||||
|
Bond | 0.0010669 | 0.0011355 | 0.0012124 | 0.2 | 1.93
|
||||||
|
Neigh | 0.0052333 | 0.00528 | 0.0053182 | 0.0 | 8.98
|
||||||
|
Comm | 0.0063677 | 0.0066406 | 0.0068488 | 0.2 | 11.29
|
||||||
|
Output | 0.00023055 | 0.00024778 | 0.00028086 | 0.0 | 0.42
|
||||||
|
Modify | 0.020577 | 0.020651 | 0.020834 | 0.1 | 35.11
|
||||||
|
Other | | 0.00224 | | | 3.81
|
||||||
|
|
||||||
|
Nlocal: 300 ave 303 max 295 min
|
||||||
|
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||||
|
Nghost: 219 ave 224 max 215 min
|
||||||
|
Histogram: 1 0 0 1 1 0 0 0 0 1
|
||||||
|
Neighs: 2185.75 ave 2244 max 2143 min
|
||||||
|
Histogram: 1 1 0 0 0 1 0 0 0 1
|
||||||
|
|
||||||
|
Total # of neighbors = 8743
|
||||||
|
Ave neighs/atom = 7.28583
|
||||||
|
Ave special neighs/atom = 0.5
|
||||||
|
Neighbor list builds = 40
|
||||||
|
Dangerous builds = 0
|
||||||
|
Total wall time: 0:00:00
|
||||||
218
examples/micelle/log.29Mar2019.micelle.g++.1
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
LAMMPS (29 Mar 2019)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
# 2d micelle simulation
|
||||||
|
|
||||||
|
dimension 2
|
||||||
|
|
||||||
|
neighbor 0.3 bin
|
||||||
|
neigh_modify delay 5
|
||||||
|
|
||||||
|
atom_style bond
|
||||||
|
|
||||||
|
# Soft potential push-off
|
||||||
|
|
||||||
|
read_data data.micelle
|
||||||
|
orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1)
|
||||||
|
1 by 1 by 1 MPI processor grid
|
||||||
|
reading atoms ...
|
||||||
|
1200 atoms
|
||||||
|
scanning bonds ...
|
||||||
|
1 = max bonds/atom
|
||||||
|
reading bonds ...
|
||||||
|
300 bonds
|
||||||
|
2 = max # of 1-2 neighbors
|
||||||
|
1 = max # of 1-3 neighbors
|
||||||
|
1 = max # of 1-4 neighbors
|
||||||
|
2 = max # of special neighbors
|
||||||
|
special bonds CPU = 0.00037837 secs
|
||||||
|
read_data CPU = 0.00206876 secs
|
||||||
|
special_bonds fene
|
||||||
|
2 = max # of 1-2 neighbors
|
||||||
|
2 = max # of special neighbors
|
||||||
|
special bonds CPU = 0.000177383 secs
|
||||||
|
|
||||||
|
pair_style soft 1.12246
|
||||||
|
pair_coeff * * 0.0 1.12246
|
||||||
|
|
||||||
|
bond_style harmonic
|
||||||
|
bond_coeff 1 50.0 0.75
|
||||||
|
|
||||||
|
velocity all create 0.45 2349852
|
||||||
|
|
||||||
|
variable prefactor equal ramp(1.0,20.0)
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
|
||||||
|
fix 3 all adapt 1 pair soft a * * v_prefactor
|
||||||
|
fix 4 all enforce2d
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 1000
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 5 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 1.42246
|
||||||
|
ghost atom cutoff = 1.42246
|
||||||
|
binsize = 0.71123, bins = 51 51 1
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair soft, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/newton
|
||||||
|
stencil: half/bin/2d/newton
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518
|
||||||
|
50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852
|
||||||
|
100 0.45 0.73046745 0.054836584 1.234929 2.3196516
|
||||||
|
150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416
|
||||||
|
200 0.45 0.78481891 0.076931503 1.3113754 3.0412388
|
||||||
|
250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024
|
||||||
|
300 0.45 0.76820218 0.066727591 1.2845548 3.7861054
|
||||||
|
350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621
|
||||||
|
400 0.45 0.68527759 0.090724527 1.2256271 4.4725214
|
||||||
|
450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211
|
||||||
|
500 0.45 0.64883009 0.078376672 1.1768318 4.7919294
|
||||||
|
550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705
|
||||||
|
600 0.45 0.58193041 0.088386617 1.119942 5.131481
|
||||||
|
650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294
|
||||||
|
700 0.45 0.50856787 0.088471208 1.0466641 5.2550165
|
||||||
|
750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763
|
||||||
|
800 0.45 0.49926696 0.085958476 1.0348504 5.4665914
|
||||||
|
850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932
|
||||||
|
900 0.45 0.47785593 0.10150857 1.0289895 5.7765975
|
||||||
|
950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245
|
||||||
|
1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568
|
||||||
|
Loop time of 0.208895 on 1 procs for 1000 steps with 1200 atoms
|
||||||
|
|
||||||
|
Performance: 2068027.282 tau/day, 4787.100 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 | 0.14142 | 0.14142 | 0.14142 | 0.0 | 67.70
|
||||||
|
Bond | 0.008441 | 0.008441 | 0.008441 | 0.0 | 4.04
|
||||||
|
Neigh | 0.025716 | 0.025716 | 0.025716 | 0.0 | 12.31
|
||||||
|
Comm | 0.0036864 | 0.0036864 | 0.0036864 | 0.0 | 1.76
|
||||||
|
Output | 0.0003562 | 0.0003562 | 0.0003562 | 0.0 | 0.17
|
||||||
|
Modify | 0.023699 | 0.023699 | 0.023699 | 0.0 | 11.35
|
||||||
|
Other | | 0.00558 | | | 2.67
|
||||||
|
|
||||||
|
Nlocal: 1200 ave 1200 max 1200 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 195 ave 195 max 195 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 3136 ave 3136 max 3136 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 3136
|
||||||
|
Ave neighs/atom = 2.61333
|
||||||
|
Ave special neighs/atom = 0.5
|
||||||
|
Neighbor list builds = 92
|
||||||
|
Dangerous builds = 0
|
||||||
|
|
||||||
|
unfix 3
|
||||||
|
|
||||||
|
# Main run
|
||||||
|
|
||||||
|
pair_style lj/cut 2.5
|
||||||
|
|
||||||
|
# solvent/head - full-size and long-range
|
||||||
|
|
||||||
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
pair_coeff 2 2 1.0 1.0 2.5
|
||||||
|
pair_coeff 1 2 1.0 1.0 2.5
|
||||||
|
|
||||||
|
# tail/tail - size-averaged and long-range
|
||||||
|
|
||||||
|
pair_coeff 3 3 1.0 0.75 2.5
|
||||||
|
pair_coeff 4 4 1.0 0.50 2.5
|
||||||
|
pair_coeff 3 4 1.0 0.67 2.5
|
||||||
|
|
||||||
|
# solvent/tail - full-size and repulsive
|
||||||
|
|
||||||
|
pair_coeff 1 3 1.0 1.0 1.12246
|
||||||
|
pair_coeff 1 4 1.0 1.0 1.12246
|
||||||
|
|
||||||
|
# head/tail - size-averaged and repulsive
|
||||||
|
|
||||||
|
pair_coeff 2 3 1.0 0.88 1.12246
|
||||||
|
pair_coeff 2 4 1.0 0.75 1.12246
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
|
||||||
|
#dump 1 all atom 2000 dump.micelle
|
||||||
|
|
||||||
|
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
|
||||||
|
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
|
||||||
|
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
reset_timestep 0
|
||||||
|
run 1000
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 5 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 2.8
|
||||||
|
ghost atom cutoff = 2.8
|
||||||
|
binsize = 1.4, bins = 26 26 1
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair lj/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/newton
|
||||||
|
stencil: half/bin/2d/newton
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 4.024 | 4.024 | 4.024 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686
|
||||||
|
50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557
|
||||||
|
100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661
|
||||||
|
150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373
|
||||||
|
200 0.45 -1.8918672 0.082422107 -1.3598201 2.5629655
|
||||||
|
250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682
|
||||||
|
300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947
|
||||||
|
350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532
|
||||||
|
400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066
|
||||||
|
450 0.47220236 -1.9468502 0.065625624 -1.4094157 2.0984288
|
||||||
|
500 0.4684673 -1.9444333 0.076696283 -1.3996601 2.0528682
|
||||||
|
550 0.47683128 -1.958676 0.070589719 -1.4116523 2.0856022
|
||||||
|
600 0.46851243 -1.9338267 0.07060548 -1.3950992 2.26405
|
||||||
|
650 0.46874142 -1.9462493 0.069134685 -1.4087638 2.1070263
|
||||||
|
700 0.46437384 -1.9309953 0.071977522 -1.3950309 2.2256923
|
||||||
|
750 0.47326225 -1.9484255 0.075435845 -1.4001218 2.0880254
|
||||||
|
800 0.45 -1.9646005 0.064159585 -1.4508159 2.0612696
|
||||||
|
850 0.46748307 -1.970559 0.060384874 -1.4430806 1.9472879
|
||||||
|
900 0.46909484 -1.953723 0.062470295 -1.4225488 2.0222909
|
||||||
|
950 0.45631531 -1.9387753 0.067536568 -1.4153037 2.0638421
|
||||||
|
1000 0.45 -1.9727646 0.058607721 -1.4645318 1.9982315
|
||||||
|
Loop time of 0.252254 on 1 procs for 1000 steps with 1200 atoms
|
||||||
|
|
||||||
|
Performance: 1712557.882 tau/day, 3964.254 timesteps/s
|
||||||
|
99.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.17177 | 0.17177 | 0.17177 | 0.0 | 68.09
|
||||||
|
Bond | 0.0084555 | 0.0084555 | 0.0084555 | 0.0 | 3.35
|
||||||
|
Neigh | 0.03991 | 0.03991 | 0.03991 | 0.0 | 15.82
|
||||||
|
Comm | 0.0049119 | 0.0049119 | 0.0049119 | 0.0 | 1.95
|
||||||
|
Output | 0.00039077 | 0.00039077 | 0.00039077 | 0.0 | 0.15
|
||||||
|
Modify | 0.021131 | 0.021131 | 0.021131 | 0.0 | 8.38
|
||||||
|
Other | | 0.005685 | | | 2.25
|
||||||
|
|
||||||
|
Nlocal: 1200 ave 1200 max 1200 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Nghost: 415 ave 415 max 415 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
Neighs: 8586 ave 8586 max 8586 min
|
||||||
|
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||||
|
|
||||||
|
Total # of neighbors = 8586
|
||||||
|
Ave neighs/atom = 7.155
|
||||||
|
Ave special neighs/atom = 0.5
|
||||||
|
Neighbor list builds = 86
|
||||||
|
Dangerous builds = 0
|
||||||
|
Total wall time: 0:00:00
|
||||||
218
examples/micelle/log.29Mar2019.micelle.g++.4
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
LAMMPS (29 Mar 2019)
|
||||||
|
using 1 OpenMP thread(s) per MPI task
|
||||||
|
# 2d micelle simulation
|
||||||
|
|
||||||
|
dimension 2
|
||||||
|
|
||||||
|
neighbor 0.3 bin
|
||||||
|
neigh_modify delay 5
|
||||||
|
|
||||||
|
atom_style bond
|
||||||
|
|
||||||
|
# Soft potential push-off
|
||||||
|
|
||||||
|
read_data data.micelle
|
||||||
|
orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1)
|
||||||
|
2 by 2 by 1 MPI processor grid
|
||||||
|
reading atoms ...
|
||||||
|
1200 atoms
|
||||||
|
scanning bonds ...
|
||||||
|
1 = max bonds/atom
|
||||||
|
reading bonds ...
|
||||||
|
300 bonds
|
||||||
|
2 = max # of 1-2 neighbors
|
||||||
|
1 = max # of 1-3 neighbors
|
||||||
|
1 = max # of 1-4 neighbors
|
||||||
|
2 = max # of special neighbors
|
||||||
|
special bonds CPU = 0.000413656 secs
|
||||||
|
read_data CPU = 0.00487924 secs
|
||||||
|
special_bonds fene
|
||||||
|
2 = max # of 1-2 neighbors
|
||||||
|
2 = max # of special neighbors
|
||||||
|
special bonds CPU = 0.000178576 secs
|
||||||
|
|
||||||
|
pair_style soft 1.12246
|
||||||
|
pair_coeff * * 0.0 1.12246
|
||||||
|
|
||||||
|
bond_style harmonic
|
||||||
|
bond_coeff 1 50.0 0.75
|
||||||
|
|
||||||
|
velocity all create 0.45 2349852
|
||||||
|
|
||||||
|
variable prefactor equal ramp(1.0,20.0)
|
||||||
|
|
||||||
|
fix 1 all nve
|
||||||
|
fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0
|
||||||
|
fix 3 all adapt 1 pair soft a * * v_prefactor
|
||||||
|
fix 4 all enforce2d
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
run 1000
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 5 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 1.42246
|
||||||
|
ghost atom cutoff = 1.42246
|
||||||
|
binsize = 0.71123, bins = 51 51 1
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair soft, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/newton
|
||||||
|
stencil: half/bin/2d/newton
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518
|
||||||
|
50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852
|
||||||
|
100 0.45 0.73046745 0.054836584 1.234929 2.3196516
|
||||||
|
150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416
|
||||||
|
200 0.45 0.78481891 0.076931503 1.3113754 3.0412388
|
||||||
|
250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024
|
||||||
|
300 0.45 0.76820218 0.066727591 1.2845548 3.7861054
|
||||||
|
350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621
|
||||||
|
400 0.45 0.68527759 0.090724527 1.2256271 4.4725214
|
||||||
|
450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211
|
||||||
|
500 0.45 0.64883009 0.078376672 1.1768318 4.7919294
|
||||||
|
550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705
|
||||||
|
600 0.45 0.58193041 0.088386617 1.119942 5.131481
|
||||||
|
650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294
|
||||||
|
700 0.45 0.50856787 0.088471208 1.0466641 5.2550165
|
||||||
|
750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763
|
||||||
|
800 0.45 0.49926696 0.085958476 1.0348504 5.4665914
|
||||||
|
850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932
|
||||||
|
900 0.45 0.47785593 0.10150857 1.0289895 5.7765975
|
||||||
|
950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245
|
||||||
|
1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568
|
||||||
|
Loop time of 0.0906248 on 4 procs for 1000 steps with 1200 atoms
|
||||||
|
|
||||||
|
Performance: 4766906.584 tau/day, 11034.506 timesteps/s
|
||||||
|
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.036572 | 0.039266 | 0.041216 | 1.0 | 43.33
|
||||||
|
Bond | 0.0023205 | 0.0024512 | 0.0025697 | 0.2 | 2.70
|
||||||
|
Neigh | 0.0088909 | 0.0089301 | 0.0089679 | 0.0 | 9.85
|
||||||
|
Comm | 0.022308 | 0.024047 | 0.027175 | 1.3 | 26.53
|
||||||
|
Output | 0.00057411 | 0.00061274 | 0.00071025 | 0.0 | 0.68
|
||||||
|
Modify | 0.0083182 | 0.0092374 | 0.0098341 | 0.6 | 10.19
|
||||||
|
Other | | 0.006081 | | | 6.71
|
||||||
|
|
||||||
|
Nlocal: 300 ave 305 max 292 min
|
||||||
|
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||||
|
Nghost: 100.25 ave 108 max 93 min
|
||||||
|
Histogram: 1 0 1 0 0 0 1 0 0 1
|
||||||
|
Neighs: 784 ave 815 max 739 min
|
||||||
|
Histogram: 1 0 0 0 0 0 1 1 0 1
|
||||||
|
|
||||||
|
Total # of neighbors = 3136
|
||||||
|
Ave neighs/atom = 2.61333
|
||||||
|
Ave special neighs/atom = 0.5
|
||||||
|
Neighbor list builds = 92
|
||||||
|
Dangerous builds = 0
|
||||||
|
|
||||||
|
unfix 3
|
||||||
|
|
||||||
|
# Main run
|
||||||
|
|
||||||
|
pair_style lj/cut 2.5
|
||||||
|
|
||||||
|
# solvent/head - full-size and long-range
|
||||||
|
|
||||||
|
pair_coeff 1 1 1.0 1.0 2.5
|
||||||
|
pair_coeff 2 2 1.0 1.0 2.5
|
||||||
|
pair_coeff 1 2 1.0 1.0 2.5
|
||||||
|
|
||||||
|
# tail/tail - size-averaged and long-range
|
||||||
|
|
||||||
|
pair_coeff 3 3 1.0 0.75 2.5
|
||||||
|
pair_coeff 4 4 1.0 0.50 2.5
|
||||||
|
pair_coeff 3 4 1.0 0.67 2.5
|
||||||
|
|
||||||
|
# solvent/tail - full-size and repulsive
|
||||||
|
|
||||||
|
pair_coeff 1 3 1.0 1.0 1.12246
|
||||||
|
pair_coeff 1 4 1.0 1.0 1.12246
|
||||||
|
|
||||||
|
# head/tail - size-averaged and repulsive
|
||||||
|
|
||||||
|
pair_coeff 2 3 1.0 0.88 1.12246
|
||||||
|
pair_coeff 2 4 1.0 0.75 1.12246
|
||||||
|
|
||||||
|
thermo 50
|
||||||
|
|
||||||
|
#dump 1 all atom 2000 dump.micelle
|
||||||
|
|
||||||
|
#dump 2 all image 2000 image.*.jpg type type zoom 1.6
|
||||||
|
#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
#dump 3 all movie 2000 movie.mpg type type zoom 1.6
|
||||||
|
#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75
|
||||||
|
|
||||||
|
reset_timestep 0
|
||||||
|
run 1000
|
||||||
|
Neighbor list info ...
|
||||||
|
update every 1 steps, delay 5 steps, check yes
|
||||||
|
max neighbors/atom: 2000, page size: 100000
|
||||||
|
master list distance cutoff = 2.8
|
||||||
|
ghost atom cutoff = 2.8
|
||||||
|
binsize = 1.4, bins = 26 26 1
|
||||||
|
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||||
|
(1) pair lj/cut, perpetual
|
||||||
|
attributes: half, newton on
|
||||||
|
pair build: half/bin/newton
|
||||||
|
stencil: half/bin/2d/newton
|
||||||
|
bin: standard
|
||||||
|
Per MPI rank memory allocation (min/avg/max) = 4.001 | 4.032 | 4.124 Mbytes
|
||||||
|
Step Temp E_pair E_mol TotEng Press
|
||||||
|
0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686
|
||||||
|
50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557
|
||||||
|
100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661
|
||||||
|
150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373
|
||||||
|
200 0.45 -1.8918672 0.082422107 -1.3598201 2.5629655
|
||||||
|
250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682
|
||||||
|
300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947
|
||||||
|
350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532
|
||||||
|
400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066
|
||||||
|
450 0.47220236 -1.9468502 0.065625625 -1.4094157 2.0984288
|
||||||
|
500 0.4684673 -1.9444333 0.076696285 -1.3996601 2.0528682
|
||||||
|
550 0.47683128 -1.958676 0.070589721 -1.4116523 2.0856023
|
||||||
|
600 0.46851245 -1.9338267 0.070605469 -1.3950992 2.26405
|
||||||
|
650 0.46874143 -1.9462493 0.069134686 -1.4087638 2.1070262
|
||||||
|
700 0.4643739 -1.9309953 0.071977511 -1.3950309 2.225692
|
||||||
|
750 0.47326259 -1.9484258 0.075435808 -1.4001218 2.0880235
|
||||||
|
800 0.45 -1.9646003 0.06415956 -1.4508158 2.0612703
|
||||||
|
850 0.46748278 -1.9705588 0.06038513 -1.4430804 1.9472884
|
||||||
|
900 0.46909438 -1.9537221 0.062470305 -1.4225483 2.0223008
|
||||||
|
950 0.45631508 -1.9387742 0.067536066 -1.4153033 2.063854
|
||||||
|
1000 0.45 -1.9727651 0.058608085 -1.464532 1.9982447
|
||||||
|
Loop time of 0.0878521 on 4 procs for 1000 steps with 1200 atoms
|
||||||
|
|
||||||
|
Performance: 4917357.613 tau/day, 11382.772 timesteps/s
|
||||||
|
99.0% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||||
|
|
||||||
|
MPI task timing breakdown:
|
||||||
|
Section | min time | avg time | max time |%varavg| %total
|
||||||
|
---------------------------------------------------------------
|
||||||
|
Pair | 0.043517 | 0.044455 | 0.046903 | 0.7 | 50.60
|
||||||
|
Bond | 0.0020199 | 0.0022303 | 0.0024347 | 0.4 | 2.54
|
||||||
|
Neigh | 0.012207 | 0.012335 | 0.012512 | 0.1 | 14.04
|
||||||
|
Comm | 0.014938 | 0.018265 | 0.020068 | 1.5 | 20.79
|
||||||
|
Output | 0.00061369 | 0.00064814 | 0.00073504 | 0.0 | 0.74
|
||||||
|
Modify | 0.0052264 | 0.0053691 | 0.0055039 | 0.2 | 6.11
|
||||||
|
Other | | 0.00455 | | | 5.18
|
||||||
|
|
||||||
|
Nlocal: 300 ave 305 max 296 min
|
||||||
|
Histogram: 1 1 0 0 0 0 1 0 0 1
|
||||||
|
Nghost: 219.5 ave 228 max 214 min
|
||||||
|
Histogram: 1 0 1 1 0 0 0 0 0 1
|
||||||
|
Neighs: 2146.5 ave 2201 max 2114 min
|
||||||
|
Histogram: 1 1 0 1 0 0 0 0 0 1
|
||||||
|
|
||||||
|
Total # of neighbors = 8586
|
||||||
|
Ave neighs/atom = 7.155
|
||||||
|
Ave special neighs/atom = 0.5
|
||||||
|
Neighbor list builds = 86
|
||||||
|
Dangerous builds = 0
|
||||||
|
Total wall time: 0:00:00
|
||||||
@ -237,7 +237,7 @@ int DeviceT::set_ocl_params(char *ocl_vendor) {
|
|||||||
" -DBLOCK_CELL_ID="+params[11]+
|
" -DBLOCK_CELL_ID="+params[11]+
|
||||||
" -DMAX_BIO_SHARED_TYPES="+params[12];
|
" -DMAX_BIO_SHARED_TYPES="+params[12];
|
||||||
}
|
}
|
||||||
_ocl_compile_string="-cl-fast-relaxed-math -cl-mad-enable "+std::string(OCL_INT_TYPE)+" "+
|
_ocl_compile_string="-cl-std=CL1.2 -cl-fast-relaxed-math -cl-mad-enable "+std::string(OCL_INT_TYPE)+" "+
|
||||||
std::string(OCL_PRECISION_COMPILE)+" "+_ocl_vendor_string;
|
std::string(OCL_PRECISION_COMPILE)+" "+_ocl_vendor_string;
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@ -18,7 +18,7 @@ parser = ArgumentParser(prog='Install.py',
|
|||||||
# settings
|
# settings
|
||||||
|
|
||||||
thisdir = fullpath('.')
|
thisdir = fullpath('.')
|
||||||
version = "kim-api-v2-2.0.1"
|
version = "kim-api-2.0.2"
|
||||||
|
|
||||||
# help message
|
# help message
|
||||||
|
|
||||||
@ -40,10 +40,10 @@ make lib-kim args="-b -a everything" # install KIM API lib with all models
|
|||||||
make lib-kim args="-n -a EAM_Dynamo_Ackland_2003_W__MO_141627196590_005" # only add one model or model driver
|
make lib-kim args="-n -a EAM_Dynamo_Ackland_2003_W__MO_141627196590_005" # only add one model or model driver
|
||||||
|
|
||||||
See the list of KIM model drivers here:
|
See the list of KIM model drivers here:
|
||||||
https://openkim.org/kim-items/model-drivers/alphabetical
|
https://openkim.org/browse/model-drivers/alphabetical
|
||||||
|
|
||||||
See the list of all KIM models here:
|
See the list of all KIM models here:
|
||||||
https://openkim.org/kim-items/models/by-model-drivers
|
https://openkim.org/browse/models/by-model-drivers
|
||||||
"""
|
"""
|
||||||
|
|
||||||
pgroup = parser.add_mutually_exclusive_group()
|
pgroup = parser.add_mutually_exclusive_group()
|
||||||
@ -154,7 +154,7 @@ if buildflag:
|
|||||||
# add all OpenKIM models, if desired
|
# add all OpenKIM models, if desired
|
||||||
if everythingflag:
|
if everythingflag:
|
||||||
print("Adding all OpenKIM models, this will take a while ...")
|
print("Adding all OpenKIM models, this will take a while ...")
|
||||||
cmd = '%s/bin/kim-api-v2-collections-management install system OpenKIM' % (kimdir)
|
cmd = '%s/bin/kim-api-collections-management install system OpenKIM' % (kimdir)
|
||||||
txt = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
|
txt = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
|
||||||
if verboseflag:
|
if verboseflag:
|
||||||
print(txt.decode("UTF-8"))
|
print(txt.decode("UTF-8"))
|
||||||
@ -171,7 +171,7 @@ if addflag:
|
|||||||
sys.exit("\nkim-api is not installed")
|
sys.exit("\nkim-api is not installed")
|
||||||
|
|
||||||
# download single model
|
# download single model
|
||||||
cmd = '%s/bin/kim-api-v2-collections-management install system %s' % (kimdir.decode("UTF-8"), addmodelname)
|
cmd = '%s/bin/kim-api-collections-management install system %s' % (kimdir.decode("UTF-8"), addmodelname)
|
||||||
txt = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
|
txt = subprocess.check_output(cmd, stderr=subprocess.STDOUT, shell=True)
|
||||||
if verboseflag:
|
if verboseflag:
|
||||||
print(txt.decode("UTF-8"))
|
print(txt.decode("UTF-8"))
|
||||||
|
|||||||
@ -17,13 +17,18 @@
|
|||||||
ifeq ($(strip $(shell pkg-config --version)),)
|
ifeq ($(strip $(shell pkg-config --version)),)
|
||||||
$(error 'pkg-config' not found, but is required to configure the KIM API)
|
$(error 'pkg-config' not found, but is required to configure the KIM API)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
kim_PREFIX := $(shell cat ../../lib/kim/kim-prefix.txt 2> /dev/null)
|
kim_PREFIX := $(shell cat ../../lib/kim/kim-prefix.txt 2> /dev/null)
|
||||||
kim_PREFIX := $(if $(kim_PREFIX),$(kim_PREFIX)/lib/pkgconfig,)
|
kim_PREFIX := $(if $(kim_PREFIX),$(kim_PREFIX)/lib/pkgconfig,)
|
||||||
kim_PREFIX := $(if $(shell printf -- "$${PKG_CONFIG_PATH}"),$(kim_PREFIX):$(shell printf -- "$${PKG_CONFIG_PATH}"),$(kim_PREFIX))
|
kim_PREFIX := $(if $(shell printf -- "$${PKG_CONFIG_PATH}"),$(kim_PREFIX):$(shell printf -- "$${PKG_CONFIG_PATH}"),$(kim_PREFIX))
|
||||||
|
|
||||||
kim_SYSINC := $(shell export PKG_CONFIG_PATH="$(kim_PREFIX)"; pkg-config --cflags libkim-api-v2 2> /dev/null)
|
# there is no usable libcurl installation
|
||||||
kim_SYSLIB := $(shell export PKG_CONFIG_PATH="$(kim_PREFIX)"; pkg-config --libs libkim-api-v2 2> /dev/null)
|
ifeq ($(shell curl-config --version 2> /dev/null),)
|
||||||
|
kim_SYSINC := $(shell export PKG_CONFIG_PATH="$(kim_PREFIX)"; pkg-config --cflags libkim-api 2> /dev/null)
|
||||||
|
kim_SYSLIB := $(shell export PKG_CONFIG_PATH="$(kim_PREFIX)"; pkg-config --libs libkim-api 2> /dev/null)
|
||||||
|
else
|
||||||
|
kim_SYSINC := $(shell export PKG_CONFIG_PATH="$(kim_PREFIX)"; pkg-config --cflags libkim-api 2> /dev/null) $(shell curl-config --cflags) -DLMP_KIM_CURL
|
||||||
|
kim_SYSLIB := $(shell export PKG_CONFIG_PATH="$(kim_PREFIX)"; pkg-config --libs libkim-api 2> /dev/null) $(shell curl-config --libs)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(strip $(kim_SYSINC)),)
|
ifeq ($(strip $(kim_SYSINC)),)
|
||||||
$(error 'pkg-config' could not find an installed KIM API library.)
|
$(error 'pkg-config' could not find an installed KIM API library.)
|
||||||
|
|||||||