Merge with current master
|
@ -4,7 +4,7 @@ _Briefly describe the new feature(s), enhancement(s), or bugfix(es) included in
|
|||
|
||||
**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)**
|
||||
|
||||
|
@ -16,7 +16,7 @@ By submitting this pull request, I agree, that my contribution will be included
|
|||
|
||||
**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**
|
||||
|
||||
|
@ -24,7 +24,7 @@ _Provide any relevant details about how the changes are implemented, how correct
|
|||
|
||||
**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
|
||||
- [ ] 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_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
|
||||
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
|
||||
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
|
||||
message(STATUS "Running check for auto-generated files from make-based build system")
|
||||
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})
|
||||
get_filename_component(FILENAME "${_SRC}" NAME)
|
||||
if(EXISTS ${LAMMPS_SOURCE_DIR}/${FILENAME})
|
||||
|
@ -205,7 +207,7 @@ include_directories(${LAMMPS_SOURCE_DIR})
|
|||
if(PKG_USER-ADIOS)
|
||||
# The search for ADIOS2 must come before MPI because
|
||||
# it includes its own MPI search with the latest FindMPI.cmake
|
||||
# script that defines the MPI::MPI_C target
|
||||
# script that defines the MPI::MPI_C target
|
||||
enable_language(C)
|
||||
find_package(ADIOS2 REQUIRED)
|
||||
list(APPEND LAMMPS_LINK_LIBS adios2::adios2)
|
||||
|
@ -320,7 +322,7 @@ pkg_depends(USER-SCAFACOS MPI)
|
|||
|
||||
find_package(OpenMP QUIET)
|
||||
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)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_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()
|
||||
|
||||
if(PKG_PYTHON)
|
||||
find_package(PythonInterp REQUIRED)
|
||||
find_package(PythonLibs REQUIRED)
|
||||
add_definitions(-DLMP_PYTHON)
|
||||
include_directories(${PYTHON_INCLUDE_DIR})
|
||||
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()
|
||||
|
||||
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)
|
||||
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")
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(plumed_build
|
||||
|
@ -575,9 +582,11 @@ if(PKG_USER-PLUMED)
|
|||
BUILD_IN_SOURCE 1
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
||||
${CONFIGURE_REQUEST_PIC}
|
||||
--enable-modules=all
|
||||
CXX=${CMAKE_MPI_CXX_COMPILER}
|
||||
CC=${CMAKE_MPI_C_COMPILER}
|
||||
--enable-modules=all
|
||||
${PLUMED_CONFIG_MPI}
|
||||
${PLUMED_CONFIG_OMP}
|
||||
CXX=${PLUMED_CONFIG_CXX}
|
||||
CC=${PLUMED_CONFIG_CC}
|
||||
)
|
||||
ExternalProject_get_property(plumed_build INSTALL_DIR)
|
||||
set(PLUMED_INSTALL_DIR ${INSTALL_DIR})
|
||||
|
@ -611,9 +620,13 @@ if(PKG_USER-PLUMED)
|
|||
endif()
|
||||
|
||||
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)
|
||||
target_include_directories(molfile INTERFACE ${LAMMPS_LIB_SOURCE_DIR}/molfile)
|
||||
target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS})
|
||||
target_include_directories(molfile INTERFACE ${MOLFILE_INCLUDE_DIRS})
|
||||
# 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)
|
||||
endif()
|
||||
|
||||
|
@ -624,7 +637,6 @@ if(PKG_USER-NETCDF)
|
|||
add_definitions(-DLMP_HAS_NETCDF -DNC_64BIT_DATA=0x0020)
|
||||
endif()
|
||||
|
||||
|
||||
if(PKG_USER-SMD)
|
||||
option(DOWNLOAD_EIGEN3 "Download Eigen3 instead of using an already installed one)" OFF)
|
||||
if(DOWNLOAD_EIGEN3)
|
||||
|
@ -668,15 +680,21 @@ if(PKG_USER-VTK)
|
|||
endif()
|
||||
|
||||
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)
|
||||
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(Fortran)
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(kim_build
|
||||
URL https://s3.openkim.org/kim-api/kim-api-v2-2.0.1.txz
|
||||
URL_MD5 289c57f0c3bc2a549662283cac1c4ef1
|
||||
URL https://s3.openkim.org/kim-api/kim-api-2.0.2.txz
|
||||
URL_MD5 537d9c0abd30f85b875ebb584f9143fa
|
||||
BINARY_DIR build
|
||||
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||
|
@ -685,17 +703,17 @@ if(PKG_KIM)
|
|||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||
)
|
||||
ExternalProject_get_property(kim_build INSTALL_DIR)
|
||||
set(KIM-API-V2_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api-v2)
|
||||
set(KIM-API-V2_LDFLAGS ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libkim-api-v2${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
set(KIM-API_INCLUDE_DIRS ${INSTALL_DIR}/include/kim-api)
|
||||
set(KIM-API_LDFLAGS ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/libkim-api${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
list(APPEND LAMMPS_DEPS kim_build)
|
||||
else()
|
||||
find_package(KIM-API-V2)
|
||||
if(NOT KIM-API-V2_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")
|
||||
find_package(KIM-API)
|
||||
if(NOT KIM-API_FOUND)
|
||||
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()
|
||||
list(APPEND LAMMPS_LINK_LIBS "${KIM-API-V2_LDFLAGS}")
|
||||
include_directories(${KIM-API-V2_INCLUDE_DIRS})
|
||||
list(APPEND LAMMPS_LINK_LIBS "${KIM-API_LDFLAGS}")
|
||||
include_directories(${KIM-API_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(PKG_MESSAGE)
|
||||
|
@ -710,6 +728,7 @@ if(PKG_MESSAGE)
|
|||
set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi")
|
||||
else()
|
||||
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")
|
||||
endif()
|
||||
|
||||
|
@ -945,7 +964,7 @@ if(PKG_USER-OMP)
|
|||
|
||||
# detects styles which have USER-OMP version
|
||||
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)
|
||||
|
||||
|
@ -1058,37 +1077,79 @@ if(PKG_OPT)
|
|||
endif()
|
||||
|
||||
if(PKG_USER-INTEL)
|
||||
find_package(TBB REQUIRED)
|
||||
find_package(MKL REQUIRED)
|
||||
if(LAMMPS_SIZES STREQUAL BIGBIG)
|
||||
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")
|
||||
message(FATAL_ERROR "USER-INTEL is only useful together with intel compiler")
|
||||
endif()
|
||||
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)")
|
||||
set(INTEL_ARCH_VALUES cpu knl)
|
||||
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)
|
||||
message(FATAL_ERROR "USER-INTEL needs at least a 2016 intel compiler, found ${CMAKE_CXX_COMPILER_VERSION}")
|
||||
endif()
|
||||
|
||||
if(NOT BUILD_OMP)
|
||||
message(FATAL_ERROR "USER-INTEL requires OpenMP")
|
||||
endif()
|
||||
|
||||
if(NOT ${LAMMPS_MEMALIGN} STREQUAL "64")
|
||||
message(FATAL_ERROR "USER-INTEL is only useful with LAMMPS_MEMALIGN=64")
|
||||
endif()
|
||||
|
||||
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)")
|
||||
set(INTEL_ARCH_VALUES cpu knl)
|
||||
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)
|
||||
find_package(Threads QUIET)
|
||||
if(Threads_FOUND)
|
||||
set(INTEL_LRT_MODE "threads" CACHE STRING "Long-range threads mode (none, threads, or c++11)")
|
||||
else()
|
||||
set(INTEL_LRT_MODE "none" CACHE STRING "Long-range threads mode (none, threads, or c++11)")
|
||||
endif()
|
||||
set(INTEL_LRT_VALUES none threads c++11)
|
||||
set_property(CACHE INTEL_LRT_MODE PROPERTY STRINGS ${INTEL_LRT_VALUES})
|
||||
validate_option(INTEL_LRT_MODE INTEL_LRT_VALUES)
|
||||
string(TOUPPER ${INTEL_LRT_MODE} INTEL_LRT_MODE)
|
||||
if(INTEL_LRT_MODE STREQUAL "THREADS")
|
||||
if(Threads_FOUND)
|
||||
add_definitions(-DLMP_INTEL_USELRT)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${CMAKE_THREAD_LIBS_INIT})
|
||||
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)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -xCOMMON-AVX512")
|
||||
else()
|
||||
|
@ -1101,33 +1162,33 @@ if(PKG_USER-INTEL)
|
|||
add_compile_options(${_FLAG})
|
||||
endif()
|
||||
endforeach()
|
||||
else()
|
||||
add_compile_options(-O3 -ffast-math)
|
||||
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)
|
||||
set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/intel_preprocess.h
|
||||
${USER-INTEL_SOURCES_DIR}/intel_buffers.h
|
||||
${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp
|
||||
${USER-INTEL_SOURCES_DIR}/math_extra_intel.h
|
||||
${USER-INTEL_SOURCES_DIR}/nbin_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)
|
||||
# detect styles which have a USER-INTEL version
|
||||
RegisterStylesExt(${USER-INTEL_SOURCES_DIR} intel USER-INTEL_SOURCES)
|
||||
RegisterNBinStyle(${USER-INTEL_SOURCES_DIR}/nbin_intel.h)
|
||||
RegisterNPairStyle(${USER-INTEL_SOURCES_DIR}/npair_intel.h)
|
||||
RegisterFixStyle(${USER-INTEL_SOURCES_DIR}/fix_intel.h)
|
||||
RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.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
|
||||
RegisterStylesExt(${USER-INTEL_SOURCES_DIR} opt USER-INTEL_SOURCES)
|
||||
|
||||
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
|
||||
|
||||
list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES})
|
||||
include_directories(${USER-INTEL_SOURCES_DIR})
|
||||
list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES})
|
||||
include_directories(${USER-INTEL_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
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.")
|
||||
endif()
|
||||
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)")
|
||||
|
||||
|
@ -1232,7 +1297,7 @@ if(PKG_GPU)
|
|||
add_library(gpu STATIC ${GPU_LIB_SOURCES} ${GPU_LIB_CUDPP_SOURCES} ${GPU_OBJS})
|
||||
target_link_libraries(gpu ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
|
||||
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)
|
||||
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
|
||||
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}" )
|
||||
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
|
||||
############################################
|
||||
|
@ -1447,6 +1524,49 @@ install(
|
|||
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
|
||||
#
|
||||
|
|
|
@ -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.
|
||||
#
|
||||
# Contributors:
|
||||
|
@ -28,23 +28,23 @@
|
|||
# Ryan S. Elliott
|
||||
#
|
||||
|
||||
# - Find KIM-API-V2
|
||||
# - Find KIM-API
|
||||
#
|
||||
# sets standard pkg_check_modules variables plus:
|
||||
#
|
||||
# KIM-API-V2-CMAKE_C_COMPILER
|
||||
# KIM-API-V2-CMAKE_CXX_COMPILER
|
||||
# KIM-API-V2-CMAKE_Fortran_COMPILER
|
||||
# KIM-API-CMAKE_C_COMPILER
|
||||
# KIM-API-CMAKE_CXX_COMPILER
|
||||
# KIM-API-CMAKE_Fortran_COMPILER
|
||||
#
|
||||
find_package(PkgConfig REQUIRED)
|
||||
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_CXX_COMPILER libkim-api-v2 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_C_COMPILER libkim-api CMAKE_C_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 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
|
||||
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)
|
||||
endfunction(RegisterFixStyle)
|
||||
|
||||
function(RegisterIntegrateStyle path)
|
||||
AddStyleHeader(${path} INTEGRATE)
|
||||
endfunction(RegisterIntegrateStyle)
|
||||
|
||||
function(RegisterStyles search_path)
|
||||
FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force
|
||||
FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid
|
||||
|
|
|
@ -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
|
||||
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
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
```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
|
||||
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
|
||||
|
@ -1429,6 +1431,17 @@ TODO
|
|||
</dl>
|
||||
</td>
|
||||
</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>
|
||||
</table>
|
||||
|
||||
|
@ -1503,6 +1516,16 @@ target API.
|
|||
</dl>
|
||||
</td>
|
||||
</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>
|
||||
<td><code>BIN2C</code> (CUDA only)</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
|
||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
|
||||
MOLECULE MPIIO MSCG OPT PERI POEMS
|
||||
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
|
||||
# preset that turns on all existing packages off. can be used to reset
|
||||
# an existing package selection without losing any other settings
|
||||
|
||||
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})
|
||||
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MISC MESSAGE MOLECULE
|
||||
MPIIO MSCG OPT PERI POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
|
||||
SRD VORONOI
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
|
||||
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
|
||||
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
|
||||
USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
||||
USER-TALLY USER-UEF USER-VTK USER-YAFF)
|
||||
|
||||
foreach(PKG ${ALL_PACKAGES})
|
||||
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
||||
|
|
|
@ -1,21 +1,19 @@
|
|||
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)
|
||||
# preset that turns on all existing packages. using the combination
|
||||
# this preset followed by the nolib.cmake preset should configure a
|
||||
# LAMMPS binary, with as many packages included, that can be compiled
|
||||
# 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
|
||||
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})
|
||||
set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MISC MESSAGE MOLECULE
|
||||
MPIIO MSCG OPT PERI POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
|
||||
SRD VORONOI
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
|
||||
USER-H5MD USER-INTEL USER-LB USER-MANIFOLD USER-MEAMC USER-MESO
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
|
||||
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP
|
||||
USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
||||
USER-TALLY USER-UEF USER-VTK USER-YAFF)
|
||||
|
||||
foreach(PKG ${ALL_PACKAGES})
|
||||
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)
|
|
@ -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)
|
|
@ -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()
|
|
@ -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
|
||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MEAM MISC
|
||||
MOLECULE MPIIO MSCG OPT PERI POEMS
|
||||
PYTHON QEQ REAX REPLICA RIGID SHOCK SNAP SRD VORONOI)
|
||||
# preset that turns off all packages that require some form of external
|
||||
# library or special compiler (fortran or cuda) or equivalent.
|
||||
|
||||
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})
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MPIIO MSCG PYTHON
|
||||
VORONOI USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-LB
|
||||
USER-MOLFILE USER-NETCDF USER-PLUMED USER-QMMM USER-QUIP
|
||||
USER-SCAFACOS USER-SMD USER-VTK)
|
||||
|
||||
foreach(PKG ${PACKAGES_WITH_LIB})
|
||||
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()
|
18
doc/Makefile
|
@ -116,6 +116,13 @@ mobi: epub
|
|||
@echo "Conversion finished. The MOBI manual file is created."
|
||||
|
||||
pdf: $(OBJECTS) $(ANCHORCHECK)
|
||||
@(\
|
||||
cd src/Developer; \
|
||||
pdflatex developer; \
|
||||
pdflatex developer; \
|
||||
mv developer.pdf ../../Developer.pdf; \
|
||||
cd ../../; \
|
||||
)
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
cp -r src/* $(RSTDIR)/ ;\
|
||||
|
@ -135,14 +142,7 @@ pdf: $(OBJECTS) $(ANCHORCHECK)
|
|||
make && \
|
||||
make && \
|
||||
mv LAMMPS.pdf ../Manual.pdf && \
|
||||
cd ../;
|
||||
@(\
|
||||
cd src/Developer; \
|
||||
pdflatex developer; \
|
||||
pdflatex developer; \
|
||||
mv developer.pdf ../../Developer.pdf; \
|
||||
cd ../../; \
|
||||
)
|
||||
cd ../;
|
||||
@rm -rf latex/_sources
|
||||
@rm -rf latex/PDF
|
||||
@rm -rf latex/USER
|
||||
|
@ -211,7 +211,7 @@ $(VENV):
|
|||
@( \
|
||||
$(VIRTUALENV) -p $(PYTHON) $(VENV); \
|
||||
. $(VENV)/bin/activate; \
|
||||
pip install Sphinx; \
|
||||
pip install Sphinx==1.7.6; \
|
||||
deactivate;\
|
||||
)
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ Makefile(s). Example:
|
|||
|
||||
cd lammps # change to the LAMMPS distribution directory
|
||||
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
|
||||
|
||||
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
|
||||
CPU cores) can be much faster. If you plan to do development on
|
||||
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
|
||||
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
|
||||
-G output # style of output CMake generates
|
||||
-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
|
||||
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]:
|
||||
|
||||
-D GPU_API=value # value = opencl (default) or cuda
|
||||
-D GPU_PREC=value # precision setting
|
||||
# value = double or mixed (default) or single
|
||||
-D OCL_TUNE=value # hardware choice for GPU_API=opencl
|
||||
# generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA)
|
||||
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
|
||||
# value = sm_XX, see below
|
||||
# default is Cuda-compiler dependent, but typically sm_20
|
||||
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
|
||||
# enables CUDA Performance Primitives Optimizations
|
||||
# yes (default) or no :pre
|
||||
-D GPU_API=value # value = opencl (default) or cuda
|
||||
-D GPU_PREC=value # precision setting
|
||||
# value = double or mixed (default) or single
|
||||
-D OCL_TUNE=value # hardware choice for GPU_API=opencl
|
||||
# generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA)
|
||||
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
|
||||
# value = sm_XX, see below
|
||||
# default is Cuda-compiler dependent, but typically sm_20
|
||||
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
|
||||
# enables CUDA Performance Primitives Optimizations
|
||||
# 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:
|
||||
|
||||
|
@ -169,26 +171,24 @@ used to build the GPU library.
|
|||
|
||||
KIM package :h4,link(kim)
|
||||
|
||||
To build with this package, the KIM library must be downloaded and
|
||||
built on your system. It must include the KIM models that you want to
|
||||
use with LAMMPS.
|
||||
To build with this package, the KIM library with API v2 must be downloaded
|
||||
and built on your system. It must include the KIM models that you want to
|
||||
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
|
||||
(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
|
||||
specific EAM potential file. Also note that installing the KIM API
|
||||
library with all its models, may take around 30 min to build. Of
|
||||
course you only need to do that once.
|
||||
specific EAM potential file. Also note that downloading and installing
|
||||
the KIM API library with all its models, may take a long time (10s of
|
||||
minutes to hours) to build. Of course you only need to do that once.
|
||||
|
||||
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:
|
||||
https://openkim.org/kim-items/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.
|
||||
https://openkim.org/browse/models/by-model-drivers
|
||||
|
||||
[CMake build]:
|
||||
|
||||
|
@ -197,7 +197,7 @@ package?" page.
|
|||
If DOWNLOAD_KIM is set, the KIM library will be downloaded and built
|
||||
inside the CMake build directory. If the KIM library is already on
|
||||
your system (in a location CMake cannot find it), set the PKG_CONFIG_PATH
|
||||
environment variable so that libkim-api-v2 can be found.
|
||||
environment variable so that libkim-api can be found.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
|
@ -859,23 +859,34 @@ file.
|
|||
USER-INTEL package :h4,link(user-intel)
|
||||
|
||||
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
|
||||
"install the USER-OMP package"_#user-omp, as it can be used in tandem
|
||||
with the USER-INTEL package to good effect, as explained on the "Speed
|
||||
intel"_Speed_intel.html doc page.
|
||||
build for, either x86 CPUs or Intel KNLs in offload mode. You should
|
||||
also typically "install the USER-OMP package"_#user-omp, as it can be
|
||||
used in tandem with the USER-INTEL package to good effect, as explained
|
||||
on the "Speed intel"_Speed_intel.html doc page.
|
||||
|
||||
[CMake build]:
|
||||
|
||||
-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]:
|
||||
|
||||
Choose which hardware to compile for in Makefile.machine via the
|
||||
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:
|
||||
|
||||
|
@ -897,7 +908,17 @@ USER-MOLFILE package :h4,link(user-molfile)
|
|||
|
||||
[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]:
|
||||
|
||||
|
@ -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
|
||||
not valid for your system, you will need to edit the Makefile.lammps
|
||||
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
|
||||
|
||||
|
|
|
@ -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
|
||||
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_off.cmake \[OPTIONS\] ../cmake | disable all packages
|
||||
cmake -C ../cmake/presets/std.cmake \[OPTIONS\] ../cmake | enable standard packages
|
||||
cmake -C ../cmake/presets/user.cmake \[OPTIONS\] ../cmake | enable user packages
|
||||
cmake -C ../cmake/presets/std_nolib.cmake \[OPTIONS\] ../cmake | enable standard packages that do not require extra libraries
|
||||
cmake -C ../cmake/presets/nolib.cmake \[OPTIONS\] ../cmake | disable all packages that do not require extra libraries
|
||||
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/all_on.cmake \[OPTIONS\] ../cmake |
|
||||
enable all packages |
|
||||
cmake -C ../cmake/presets/all_off.cmake \[OPTIONS\] ../cmake |
|
||||
disable all packages |
|
||||
cmake -C ../cmake/presets/minimal.cmake \[OPTIONS\] ../cmake |
|
||||
enable just a few core packages |
|
||||
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
|
||||
current build directory. You can combine presets and options with
|
||||
multiple cmake runs.
|
||||
current build directory. You can combine multiple presets and options
|
||||
in a single cmake run, or change settings incrementally by running
|
||||
cmake with new flags.
|
||||
|
||||
[Example:]
|
||||
|
||||
# build LAMMPS with all "standard" packages which don't
|
||||
# use libraries and enable GPU package
|
||||
# build LAMMPS with most commonly used packages, but then remove
|
||||
# those requiring additional library or tools, but still enable
|
||||
# GPU package and configure it for using CUDA. You can run.
|
||||
mkdir 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
|
||||
|
||||
[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
|
||||
# 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_LIB = -lfftw3 # FFTW3 double precision
|
||||
FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision
|
||||
FFT_LIB = -lfftw3 # FFTW3 double precision
|
||||
FFT_LIB = -lfftw3 -lfftw3f # FFTW3 single precision
|
||||
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
|
||||
|
||||
|
@ -179,8 +179,11 @@ e.g. from 511 to -512, which can cause diagnostics like the
|
|||
mean-squared displacement, as calculated by the "compute
|
||||
msd"_compute_msd.html command, to be faulty.
|
||||
|
||||
Note that the USER-ATC package is not currently compatible with the
|
||||
"bigbig" setting.
|
||||
Note that the USER-ATC package and the USER-INTEL package are currently
|
||||
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
|
||||
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
|
||||
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
|
||||
the old build system is provided. The CMake build system is untested
|
||||
for this; you will have to request that makefiles are generated and
|
||||
manually set the compiler.
|
||||
the old build system is provided. Using CMake for this mode of compilation
|
||||
is untested and not likely to work.
|
||||
|
||||
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
|
||||
flags in LIB makefile variable. Try adding -static-libgcc or -static or
|
||||
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
|
||||
traditional build system, but CMake has also been successfully tested
|
||||
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.
|
||||
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,
|
||||
"include"_include.html,
|
||||
"jump"_jump.html,
|
||||
"kim_query"_kim_query.html,
|
||||
"kspace_modify"_kspace_modify.html,
|
||||
"kspace_style"_kspace_style.html,
|
||||
"label"_label.html,
|
||||
|
@ -78,6 +79,7 @@ An alphabetic list of all general LAMMPS commands.
|
|||
"minimize"_minimize.html,
|
||||
"min_modify"_min_modify.html,
|
||||
"min_style"_min_style.html,
|
||||
"min_style spin"_min_spin.html,
|
||||
"molecule"_molecule.html,
|
||||
"ndx2group"_group2ndx.html,
|
||||
"neb"_neb.html,
|
||||
|
|
|
@ -224,7 +224,7 @@ OPT.
|
|||
"wall/body/polyhedron"_fix_wall_body_polyhedron.html,
|
||||
"wall/colloid"_fix_wall.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/harmonic"_fix_wall.html,
|
||||
"wall/lj1043"_fix_wall.html,
|
||||
|
|
|
@ -98,6 +98,7 @@ OPT.
|
|||
"gran/hertz/history (o)"_pair_gran.html,
|
||||
"gran/hooke (o)"_pair_gran.html,
|
||||
"gran/hooke/history (ko)"_pair_gran.html,
|
||||
"granular"_pair_granular.html,
|
||||
"gw"_pair_gw.html,
|
||||
"gw/zbl"_pair_gw.html,
|
||||
"hbond/dreiding/lj (o)"_pair_hbond_dreiding.html,
|
||||
|
|
After Width: | Height: | Size: 6.9 KiB |
|
@ -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}
|
After Width: | Height: | Size: 5.8 KiB |
|
@ -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_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
|
||||
coords, atom types, forces, etc) from all processors, and returns the
|
||||
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
|
||||
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
|
||||
system, ordered by atom ID, from 1 to N. The
|
||||
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
|
||||
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
|
||||
with atom types and coords (required), an optionally atom IDs and
|
||||
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
|
||||
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
|
||||
|
||||
# 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
|
||||
|
||||
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
|
||||
python install.py :pre
|
||||
make install-python :pre
|
||||
|
||||
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
|
||||
|
||||
# create virtualenv name 'testing' :pre
|
||||
# create virtualenv named 'testing'
|
||||
virtualenv $HOME/python/testing :pre
|
||||
|
||||
# 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
|
||||
(testing) cd $LAMMPS_DIR/python
|
||||
(testing) python install.py :pre
|
||||
(testing) make install-python :pre
|
||||
|
||||
# install other useful packages
|
||||
(testing) pip install matplotlib jupyter mpi4py :pre
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<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="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
|
@ -21,7 +21,7 @@
|
|||
:line
|
||||
|
||||
LAMMPS Documentation :c,h1
|
||||
28 Feb 2019 version :c,h2
|
||||
29 Mar 2019 version :c,h2
|
||||
|
||||
"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
|
||||
Knowledge Base for Interatomic Models (KIM) repository of interatomic
|
||||
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
|
||||
system.
|
||||
|
|
|
@ -12,16 +12,23 @@ Installing LAMMPS in Python :h3
|
|||
For Python to invoke LAMMPS, there are 2 files it needs to know about:
|
||||
|
||||
python/lammps.py
|
||||
src/liblammps.so :ul
|
||||
liblammps.so or liblammps.dylib :ul
|
||||
|
||||
Lammps.py is the Python wrapper on the LAMMPS library interface.
|
||||
Liblammps.so is the shared LAMMPS library that Python loads, as
|
||||
described above.
|
||||
The python source code in lammps.py is the Python wrapper on the
|
||||
LAMMPS library interface. The liblammps.so or liblammps.dylib file
|
||||
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
|
||||
run the python/install.py script :ul
|
||||
set two environment variables pointing to the location in the source tree
|
||||
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
|
||||
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 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
|
||||
time you rebuild LAMMPS (as a shared library) or make changes to the
|
||||
python/lammps.py file.
|
||||
On MacOSX you may also need to set DYLD_LIBRARY_PATH accordingly.
|
||||
For Bourne/Korn shells accordingly into the corresponding files using
|
||||
the "export" shell builtin.
|
||||
|
||||
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
|
||||
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.
|
||||
% python install.py -m \<python module\> -l <shared library> -v <version.h file> \[-d \<pydir\>\] :pre
|
||||
|
||||
Note that libdir must be a location that is in your default
|
||||
LD_LIBRARY_PATH, like /usr/local/lib or /usr/lib. And pydir must be a
|
||||
location that Python looks in by default for imported modules, like
|
||||
its site-packages dir. If you want to copy these files to
|
||||
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.
|
||||
The -m flag points to the lammps.py python module file to be installed,
|
||||
the -l flag points to the LAMMPS shared library file to be installed,
|
||||
the -v flag points to the version.h file in the LAMMPS source
|
||||
and the optional -d flag to a custom (legacy) installation folder :ul
|
||||
|
||||
If the install.py script does not allow you to copy files into system
|
||||
directories, prefix the python command with "sudo". If you do this,
|
||||
make sure that the Python that root runs is the same as the Python you
|
||||
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.
|
||||
If you use a legacy installation folder, you will need to set your
|
||||
PYTHONPATH and LD_LIBRARY_PATH (and/or DYLD_LIBRARY_PATH) environment
|
||||
variables accordingly, as described above.
|
||||
|
||||
Note that if you want Python to be able to load different versions of
|
||||
the LAMMPS shared library (see "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
|
||||
wrap LAMMPS through the its "library interface"_Howto_library.html, so
|
||||
that a Python script can create one or more instances of LAMMPS and
|
||||
launch one or more simulations. In Python lingo, this is "extending"
|
||||
Python with LAMMPS.
|
||||
launch one or more simulations. In Python lingo, this is called
|
||||
"extending" Python with a LAMMPS module.
|
||||
|
||||
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
|
||||
providing an object-based interface to common LAMMPS functionality.
|
||||
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.
|
||||
|
||||
Third, LAMMPS can use the Python interpreter, so that a LAMMPS
|
||||
input script can invoke Python code directly, and pass information
|
||||
back-and-forth between the input script and Python functions you
|
||||
write. This Python code can also callback to LAMMPS to query or change
|
||||
its attributes. In Python lingo, this is "embedding" Python in
|
||||
LAMMPS. When used in this mode, Python can perform operations that
|
||||
the simple LAMMPS input script syntax cannot.
|
||||
input script or styles can invoke Python code directly, and pass
|
||||
information back-and-forth between the input script and Python
|
||||
functions you write. This Python code can also callback to LAMMPS
|
||||
to query or change its attributes through the LAMMPS Python module
|
||||
mentioned above. In Python lingo, this is "embedding" Python in
|
||||
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
|
||||
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
|
||||
Improper Styles: cvff, harmonic :l
|
||||
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
|
||||
: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:]
|
||||
|
||||
The speedups will depend on your simulation, the hardware, which
|
||||
|
|
|
@ -53,6 +53,7 @@ Commands :h1
|
|||
include
|
||||
info
|
||||
jump
|
||||
kim_query
|
||||
kspace_modify
|
||||
kspace_style
|
||||
label
|
||||
|
@ -61,6 +62,7 @@ Commands :h1
|
|||
mass
|
||||
message
|
||||
min_modify
|
||||
min_spin
|
||||
min_style
|
||||
minimize
|
||||
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
|
||||
style produce global quantities.
|
||||
|
||||
Note that a single compute produces either global or per-atom or local
|
||||
quantities, but never more than one of these (with only a few
|
||||
exceptions, as documented by individual compute commands).
|
||||
Note that a single compute can produce either global or per-atom or
|
||||
local quantities, but not both global and per-atom. It can produce
|
||||
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
|
||||
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
|
||||
more per atoms.
|
||||
|
||||
Note that a single fix may produces either global or per-atom or local
|
||||
quantities (or none at all), but never more than one of these.
|
||||
Note that a single fix can produce either global or per-atom or local
|
||||
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
|
||||
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}
|
||||
scalar = all input values are scalars
|
||||
vector = all input values are vectors
|
||||
{kind} arg = {global} or {peratom} or {local}
|
||||
{file} arg = filename
|
||||
filename = name of file to output histogram(s) to
|
||||
{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
|
||||
attributes are per-atom vector values. See the doc page for
|
||||
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
|
||||
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
|
||||
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
|
||||
{lo} to {hi} bounds are treated. Values such that {lo} <= value <=
|
||||
{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}
|
||||
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
|
||||
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
|
||||
"coordinate" stored and printed for these two extra bins is {lo} and
|
||||
{hi}.
|
||||
|
@ -354,5 +364,6 @@ ave/chunk"_fix_ave_chunk.html, "fix ave/time"_fix_ave_time.html,
|
|||
|
||||
[Default:] none
|
||||
|
||||
The option defaults are mode = scalar, ave = one, start = 0, no file
|
||||
output, beyond = ignore, and title 1,2,3 = strings as described above.
|
||||
The option defaults are mode = scalar, kind = figured out from input
|
||||
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
|
||||
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:]
|
||||
|
||||
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
|
||||
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
|
||||
same {Tequil} as specified by this fix, so that the system is running
|
||||
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
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
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
|
||||
scalar is the magnitude of the bias potential (energy units) applied on
|
||||
the current timestep. The vector stores the following quantities:
|
||||
|
||||
1 = boost factor on this step (unitless)
|
||||
2 = max strain Eij of any bond on this step (unitless)
|
||||
2 = max strain Eij of any bond on this step (absolute value, unitless)
|
||||
3 = ID of first atom in the max-strain bond
|
||||
4 = ID of second atom in the max-strain bond
|
||||
5 = average # of bonds/atom on this step :ul
|
||||
|
||||
6 = fraction of timesteps with bias = 0.0 during this run
|
||||
7 = max drift distance of any atom during this run (distance units)
|
||||
8 = max bond length during this run (distance units) :ul
|
||||
6 = fraction of timesteps where the biased bond has bias = 0.0 during this run
|
||||
7 = fraction of timesteps where the biased bond has negative strain during this run
|
||||
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 count of event timesteps since fix was defined
|
||||
11 = cumulative count of atoms in events since fix was defined :ul
|
||||
10 = cumulative hyper time since fix was defined (time units)
|
||||
11 = cumulative count of event timesteps since fix was defined
|
||||
12 = cumulative count of atoms in events since fix was defined :ul
|
||||
|
||||
The first 5 quantities are for the current timestep. Quantities 6-8
|
||||
are for the current hyper run. Quantities 9-11 are cumulative across
|
||||
multiple runs (since the fix was defined in the input script).
|
||||
The first 5 quantities are for the current timestep. Quantities 6-9
|
||||
are for the current hyper run. They are reset each time a new hyper
|
||||
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
|
||||
when the bond list is reset, i.e. between events. Atoms involved in
|
||||
an event will typically move the greatest distance since others are
|
||||
typically oscillating around their lattice site.
|
||||
For value 8, 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 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
|
||||
timesteps on which one (or more) events was detected. It is NOT the
|
||||
number of distinct events, since more than one event may occur in the
|
||||
same {Nevent} time window.
|
||||
|
||||
For value 11, each time the "hyper"_hyper.html command checks for an
|
||||
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
|
||||
participating in one or more events. E.g. atoms that have displaced
|
||||
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
|
||||
Btarget = desired time boost factor (unitless) :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {lost} or {check/bias} or {check/coeff}
|
||||
{lostbond} value = error/warn/ignore
|
||||
{check/bias} values = Nevery error/warn/ignore
|
||||
{check/coeff} values = Nevery error/warn/ignore :pre
|
||||
keyword = {check/ghost} or {check/bias} :l
|
||||
{check/ghost} values = none
|
||||
{check/bias} values = Nevery error/warn/ignore :pre
|
||||
:ule
|
||||
|
||||
[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
|
||||
doc page. This description of LHD builds on the GHD description.
|
||||
|
||||
The definition of bonds, Eij, and Emax are the same for GHD and LHD.
|
||||
The formulas for Vij(max) and Fij(max) are also the same except for a
|
||||
The definition of bonds and Eij are the same for GHD and LHD. The
|
||||
formulas for Vij(max) and Fij(max) are also the same except for a
|
||||
pre-factor Cij, explained below.
|
||||
|
||||
The bias energy Vij applied to a bond IJ with maximum strain is
|
||||
|
@ -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
|
||||
of the system and an argument to this fix.
|
||||
|
||||
NOTE: To run LHD, the input script must also use the "fix
|
||||
langevin"_fix_langevin.html command to thermostat the atoms at the
|
||||
same {Tequil} as specified by this fix, so that the system is running
|
||||
constant-temperature (NVT) dynamics. LAMMPS does not check that this
|
||||
is done.
|
||||
NOTE: To run an LHD simulation, the input script must also use the
|
||||
"fix langevin"_fix_langevin.html command to thermostat the atoms at
|
||||
the same {Tequil} as specified by this fix, so that the system is
|
||||
running constant-temperature (NVT) dynamics. LAMMPS does not check
|
||||
that this is done.
|
||||
|
||||
Note that if IJ = KL, then bond IJ is a biased bond on that timestep,
|
||||
otherwise it is not. But regardless, the boost factor Bij can be
|
||||
|
@ -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
|
||||
well for many solid-state systems.
|
||||
|
||||
NOTE: You must also insure that ghost atom communication is performed
|
||||
for a distance of at least {Dcut} + {cutevent} where {cutevent} = the
|
||||
distance one or more atoms move (between quenched states) to be
|
||||
considered an "event". It is an argument to the "compute
|
||||
event/displace" command used to detect events. By default the ghost
|
||||
communication distance is set by the pair_style cutoff, which will
|
||||
typically be < {Dcut}. The "comm_modify cutoff"_comm_modify.html
|
||||
command can be used to set the ghost cutoff explicitly, e.g.
|
||||
NOTE: You should insure that ghost atom communication is performed for
|
||||
a distance of at least {Dcut} + {cutevent} = the distance one or more
|
||||
atoms move (between quenched states) to be considered an "event". It
|
||||
is an argument to the "compute event/displace" command used to detect
|
||||
events. By default the ghost communication distance is set by the
|
||||
pair_style cutoff, which will typically be < {Dcut}. The "comm_modify
|
||||
cutoff"_comm_modify.html command should be used to override the ghost
|
||||
cutoff explicitly, e.g.
|
||||
|
||||
comm_modify cutoff 12.0 :pre
|
||||
|
||||
This fix does not know the {cutevent} parameter, but uses half the
|
||||
bond length as an estimate to warn if the ghost cutoff is not long
|
||||
enough.
|
||||
Note that this fix does not know the {cutevent} parameter, but uses
|
||||
half the {cutbond} parameter as an estimate to warn if the ghost
|
||||
cutoff is not long enough.
|
||||
|
||||
As described above the {alpha} argument is a pre-factor in the
|
||||
boostostat update equation for each bond's Cij prefactor. {Alpha} is
|
||||
|
@ -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
|
||||
{Btarget} you can use for an LHD model, is to run a sequence of
|
||||
simulations with smaller and smaller {Btarget} values, until the event
|
||||
rate does not change.
|
||||
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
|
||||
|
||||
|
@ -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
|
||||
potential energy as part of "thermodynamic output"_thermo_style.html.
|
||||
|
||||
This fix computes a global scalar and global vector of length 23,
|
||||
which can be accessed by various "output
|
||||
commands"_Howto_output.html. The scalar is the magnitude of
|
||||
the bias potential (energy units) applied on the current timestep,
|
||||
summed over all biased bonds. The vector stores the following
|
||||
quantities:
|
||||
This fix computes a global scalar and global vector of length 21,
|
||||
which can be accessed by various "output commands"_Howto_output.html.
|
||||
The scalar is the magnitude of the bias potential (energy units)
|
||||
applied on the current timestep, summed over all biased bonds. The
|
||||
vector stores the following quantities:
|
||||
|
||||
1 = # of biased bonds on this step
|
||||
2 = max strain Eij of any bond on this step (unitless)
|
||||
3 = average bias potential for all biased bonds on this step (energy units)
|
||||
2 = max strain Eij of any bond on this step (absolute value, unitless)
|
||||
3 = average bias coeff for all bonds on this step (unitless)
|
||||
4 = average # of bonds/atom on this step
|
||||
5 = average neighbor bonds/bond on this step within {Dcut} :ul
|
||||
|
||||
6 = fraction of steps and bonds with no bias during this run
|
||||
7 = max drift distance of any atom during this run (distance units)
|
||||
8 = max bond length during this run (distance units)
|
||||
9 = average # of biased bonds/step during this run
|
||||
10 = average bias potential for all biased bonds during this run (energy units)
|
||||
11 = max bias potential for any biased bond during this run (energy units)
|
||||
12 = min bias potential for any biased bond during this run (energy units)
|
||||
13 = max distance from my sub-box of any ghost atom with maxstrain < qfactor during this run (distance units)
|
||||
14 = max distance outside my box of any ghost atom with any maxstrain during this run (distance units)
|
||||
15 = count of ghost neighbor atoms not found on reneighbor steps during this run
|
||||
16 = count of lost bond partners during this run
|
||||
17 = average bias coeff for lost bond partners during this run
|
||||
18 = count of bias overlaps found during this run
|
||||
19 = count of non-matching bias coefficients found during this run :ul
|
||||
6 = max bond length during this run (distance units)
|
||||
7 = average # of biased bonds/step during this run
|
||||
8 = fraction of biased bonds with no bias during this run
|
||||
9 = fraction of biased bonds with negative strain during this run
|
||||
10 = average bias coeff for all bonds during this run (unitless)
|
||||
11 = min bias coeff for any bond during this run (unitless)
|
||||
12 = max bias coeff for any bond during this run (unitless)
|
||||
|
||||
20 = cumulative hyper time since fix created (time units)
|
||||
21 = cumulative count of event timesteps since fix created
|
||||
22 = cumulative count of atoms in events since fix created
|
||||
23 = cumulative # of new bonds since fix created :ul
|
||||
13 = max drift distance of any bond atom during this run (distance units)
|
||||
14 = max distance from proc subbox of any ghost atom with maxstrain < qfactor during this run (distance units)
|
||||
15 = max distance outside my box of any ghost atom with any maxstrain during this run (distance units)
|
||||
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
|
||||
6-19 are for the current hyper run. They are reset each time a new
|
||||
hyper run is performed. Quantities 20-23 are cumulative across
|
||||
multiple runs (since the fix was defined in the input script).
|
||||
6-17 are for the current hyper run. They are reset each time a new
|
||||
hyper run is performed. Quantities 18-21 are cumulative across
|
||||
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
|
||||
denominator is the count of all biased bonds on all timesteps.
|
||||
|
||||
For value 7, drift is the distance an atom moves between timesteps
|
||||
when the bond list is reset, i.e. between events. Atoms involved in
|
||||
an event will typically move the greatest distance since others are
|
||||
typically oscillating around their lattice site.
|
||||
For value 9, the numerator is a count of all biased bonds on each
|
||||
timestep with negative strain. The denominator is the count of all
|
||||
biased bonds on all timesteps.
|
||||
|
||||
For values 13 and 14, the maxstrain of a ghost atom is the maxstrain
|
||||
of any bond it is part of, and it is checked for ghost atoms within
|
||||
the bond neighbor cutoff.
|
||||
Values 13-17 are mostly useful for debugging and diagnostic purposes.
|
||||
|
||||
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
|
||||
processor will move far enough (e.g. as part of an event-in-progress)
|
||||
that it will no longer be within the communication cutoff distance for
|
||||
acquiring ghost atoms. Likewise it may be a ghost atom bond partner
|
||||
that cannot be found because it has moved too far. These values count
|
||||
those occurrences. Because they typically involve atoms that are part
|
||||
of events, they do not usually indicate bad dynamics. Value 16 is the
|
||||
average bias coefficient for bonds where a partner atom was lost.
|
||||
For values 14-16, neighbor atoms in the full neighbor list with cutoff
|
||||
{Dcut} may be ghost atoms outside a processor's sub-box. Before the
|
||||
next event occurs they may move further than {Dcut} away from the
|
||||
sub-box boundary. Value 14 is the furthest (from the sub-box) any
|
||||
ghost atom in the neighbor list with maxstrain < {qfactor} was
|
||||
accessed during the run. Value 15 is the same except that the ghost
|
||||
atom's maxstrain may be >= {qfactor}, which may mean it is about to
|
||||
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
|
||||
that no pair of bonds "overlap", meaning they are closer than {Dcut}
|
||||
from each other.
|
||||
that no pair of biased bonds are closer than {Dcut} from each other.
|
||||
|
||||
For value 19, the same bias coefficient is stored by both atoms in an
|
||||
IJ bond. This value should be zero, indicating that for all bonds,
|
||||
each atom in the bond stores the a bias coefficient with the same
|
||||
value.
|
||||
Note that for values 17 to be computed, the optional keyword
|
||||
{check/bias} must be specified and it determines how often this check
|
||||
is performed. This is because performing the check incurs overhead,
|
||||
so if only computed as often as requested.
|
||||
|
||||
Value 20 is simply the specified {boost} factor times the number of
|
||||
timestep times the timestep size.
|
||||
The result at the end of the run is the cumulative total from every
|
||||
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
|
||||
timesteps on which one (or more) events was detected. It is NOT the
|
||||
number of distinct events, since more than one event may occur in the
|
||||
same {Nevent} time window.
|
||||
|
||||
For value 22, each time the "hyper"_hyper.html command checks for an
|
||||
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
|
||||
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 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
|
||||
the entire hyperdynamics simulation if neither I or J are involved in
|
||||
an event.
|
||||
|
@ -378,6 +425,16 @@ an event.
|
|||
The scalar and vector values calculated by this fix are all
|
||||
"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
|
||||
the "run"_run.html command. This fix is not invoked during "energy
|
||||
minimization"_minimize.html.
|
||||
|
@ -392,7 +449,9 @@ doc page for more info.
|
|||
|
||||
"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
|
||||
|
||||
|
|
|
@ -7,22 +7,24 @@
|
|||
:line
|
||||
|
||||
fix wall/gran command :h3
|
||||
fix wall/gran/omp command :h3
|
||||
|
||||
[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
|
||||
wall/gran = style name of this fix command :l
|
||||
fstyle = style of force interactions between particles and wall :l
|
||||
possible choices: hooke, hooke/history, hertz/history :pre
|
||||
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) :l
|
||||
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) :l
|
||||
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) :l
|
||||
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) :l
|
||||
xmu = static yield criterion (unitless value between 0.0 and 1.0e4) :l
|
||||
dampflag = 0 or 1 if tangential damping force is excluded or included :l
|
||||
possible choices: hooke, hooke/history, hertz/history, granular :pre
|
||||
fstyle_params = parameters associated with force interaction style :l
|
||||
For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are:
|
||||
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
|
||||
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
|
||||
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
|
||||
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
|
||||
xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
|
||||
dampflag = 0 or 1 if tangential damping force is excluded or included :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
|
||||
args = list of arguments for a particular style :l
|
||||
{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/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:]
|
||||
|
||||
|
@ -54,31 +59,40 @@ close enough to touch it.
|
|||
|
||||
The nature of the wall/particle interactions are determined by the
|
||||
{fstyle} setting. It can be any of the styles defined by the
|
||||
"pair_style granular"_pair_gran.html commands. Currently this is
|
||||
{hooke}, {hooke/history}, or {hertz/history}. The equation for the
|
||||
force between the wall and particles touching it is the same as the
|
||||
corresponding equation on the "pair_style granular"_pair_gran.html doc
|
||||
page, in the limit of one of the two particles going to infinite
|
||||
radius and mass (flat wall). Specifically, delta = radius - r =
|
||||
overlap of particle with wall, m_eff = mass of particle, and the
|
||||
effective radius of contact = RiRj/Ri+Rj is just the radius of the
|
||||
particle.
|
||||
"pair_style gran/*"_pair_gran.html or the more general "pair_style
|
||||
granular"_pair_granular.html" commands. Currently the options are
|
||||
{hooke}, {hooke/history}, or {hertz/history} for the former, and
|
||||
{granular} with all the possible options of the associated
|
||||
{pair_coeff} command for the latter. The equation for the force
|
||||
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, in the limit of
|
||||
one of the two particles going to infinite radius and mass (flat
|
||||
wall). Specifically, delta = radius - r = overlap of particle with
|
||||
wall, m_eff = 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}
|
||||
have the same meaning and units as those specified with the
|
||||
"pair_style granular"_pair_gran.html commands. This means a NULL can
|
||||
be used for either {Kt} or {gamma_t} as described on that page. If a
|
||||
"pair_style gran/*"_pair_gran.html commands. This means a NULL can be
|
||||
used for either {Kt} or {gamma_t} as described on that page. If a
|
||||
NULL is used for {Kt}, then a default value is used where {Kt} = 2/7
|
||||
{Kn}. If a NULL is used for {gamma_t}, then a default value is used
|
||||
where {gamma_t} = 1/2 {gamma_n}.
|
||||
|
||||
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
|
||||
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
|
||||
material.
|
||||
|
||||
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
|
||||
wall/particle interactions have also changed. They now include a
|
||||
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.
|
||||
|
||||
For the {wiggle} keyword, the wall oscillates sinusoidally, similar to
|
||||
the oscillations of particles which can be specified by the
|
||||
"fix move"_fix_move.html command. This is useful in packing
|
||||
simulations of granular particles. The arguments to the {wiggle}
|
||||
keyword specify a dimension for the motion, as well as it's
|
||||
{amplitude} and {period}. Note that if the dimension is in the plane
|
||||
of the wall, this is effectively a shearing motion. If the dimension
|
||||
is perpendicular to the wall, it is more of a shaking motion. A
|
||||
{zcylinder} wall can only be wiggled in the z dimension.
|
||||
the oscillations of particles which can be specified by the "fix
|
||||
move"_fix_move.html command. This is useful in packing simulations of
|
||||
granular particles. The arguments to the {wiggle} keyword specify a
|
||||
dimension for the motion, as well as it's {amplitude} and {period}.
|
||||
Note that if the dimension is in the plane of the wall, this is
|
||||
effectively a shearing motion. If the dimension is perpendicular to
|
||||
the wall, it is more of a shaking motion. A {zcylinder} wall can only
|
||||
be wiggled in the z dimension.
|
||||
|
||||
Each timestep, the position of a wiggled wall in the appropriate {dim}
|
||||
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
|
||||
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:]
|
||||
|
||||
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 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
|
||||
|
|
|
@ -10,24 +10,30 @@ fix wall/gran/region command :h3
|
|||
|
||||
[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
|
||||
wall/region = style name of this fix command :l
|
||||
fstyle = style of force interactions between particles and wall :l
|
||||
possible choices: hooke, hooke/history, hertz/history :pre
|
||||
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below) :l
|
||||
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below) :l
|
||||
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below) :l
|
||||
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below) :l
|
||||
xmu = static yield criterion (unitless value between 0.0 and 1.0e4) :l
|
||||
dampflag = 0 or 1 if tangential damping force is excluded or included :l
|
||||
possible choices: hooke, hooke/history, hertz/history, granular :pre
|
||||
fstyle_params = parameters associated with force interaction style :l
|
||||
For {hooke}, {hooke/history}, and {hertz/history}, {fstyle_params} are:
|
||||
Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)
|
||||
Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)
|
||||
gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)
|
||||
gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)
|
||||
xmu = static yield criterion (unitless value between 0.0 and 1.0e4)
|
||||
dampflag = 0 or 1 if tangential damping force is excluded or included :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
|
||||
region-ID = region whose boundary will act as wall :l,ule
|
||||
|
||||
[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:]
|
||||
|
||||
|
@ -42,8 +48,8 @@ Here are snapshots of example models using this command.
|
|||
Corresponding input scripts can be found in examples/granregion.
|
||||
Click on the images to see a bigger picture. Movies of these
|
||||
simulations are "here on the Movies
|
||||
page"_http://lammps.sandia.gov/movies.html#granregion of the
|
||||
LAMMPS web site.
|
||||
page"_http://lammps.sandia.gov/movies.html#granregion of the LAMMPS
|
||||
web site.
|
||||
|
||||
:image(JPG/gran_funnel_small.jpg,JPG/gran_funnel.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
|
||||
{fstyle} setting. It can be any of the styles defined by the
|
||||
"pair_style granular"_pair_gran.html commands. Currently this is
|
||||
{hooke}, {hooke/history}, or {hertz/history}. The equation for the
|
||||
force between the wall and particles touching it is the same as the
|
||||
corresponding equation on the "pair_style granular"_pair_gran.html doc
|
||||
page, but the effective radius is calculated using the radius of the
|
||||
particle and the radius of curvature of the wall at the contact point.
|
||||
"pair_style gran/*"_pair_gran.html or the more general "pair_style
|
||||
granular"_pair_granular.html" commands. Currently the options are
|
||||
{hooke}, {hooke/history}, or {hertz/history} for the former, and
|
||||
{granular} with all the possible options of the associated
|
||||
{pair_coeff} command for the latter. The equation for the force
|
||||
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,
|
||||
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}
|
||||
have the same meaning and units as those specified with the
|
||||
"pair_style granular"_pair_gran.html commands. This means a NULL can
|
||||
be used for either {Kt} or {gamma_t} as described on that page. If a
|
||||
"pair_style gran/*"_pair_gran.html commands. This means a NULL can be
|
||||
used for either {Kt} or {gamma_t} as described on that page. If a
|
||||
NULL is used for {Kt}, then a default value is used where {Kt} = 2/7
|
||||
{Kn}. If a NULL is used for {gamma_t}, then a default value is used
|
||||
where {gamma_t} = 1/2 {gamma_n}.
|
||||
|
||||
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
|
||||
values for the 6 wall/particle coefficients than for particle/particle
|
||||
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:]
|
||||
|
||||
Similar to "fix wall/gran"_fix_wall_gran.html command, this fix
|
||||
writes the shear friction state of atoms interacting with the wall to
|
||||
"binary restart files"_restart.html, so that a simulation can continue
|
||||
Similar to "fix wall/gran"_fix_wall_gran.html command, this fix writes
|
||||
the shear friction state of atoms interacting with the wall to "binary
|
||||
restart files"_restart.html, so that a simulation can continue
|
||||
correctly if granular potentials with shear "history" effects are
|
||||
being used. This fix also includes info about a moving region in the
|
||||
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
|
||||
that wrote the restart file. In particular, if you want to change the
|
||||
region motion attributes (e.g. its velocity), then you should ensure
|
||||
the position/orientation of the region at the initial restart
|
||||
timestep is the same as it was on the timestep the restart file was
|
||||
written. If this is not possible, you may need to ignore info in the
|
||||
restart file by defining a new fix wall/gran/region command in your
|
||||
restart script, e.g. with a different fix ID. Or if you want to keep
|
||||
the shear history info but discard the region motion information, you
|
||||
can use the same fix ID for fix wall/gran/region, but assign it a
|
||||
region with a different region ID.
|
||||
the position/orientation of the region at the initial restart timestep
|
||||
is the same as it was on the timestep the restart file was written.
|
||||
If this is not possible, you may need to ignore info in the restart
|
||||
file by defining a new fix wall/gran/region command in your restart
|
||||
script, e.g. with a different fix ID. Or if you want to keep the
|
||||
shear history info but discard the region motion information, you can
|
||||
use the same fix ID for fix wall/gran/region, but assign it a region
|
||||
with a different region ID.
|
||||
|
||||
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
|
||||
|
|
|
@ -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
|
||||
info.html
|
||||
jump.html
|
||||
kim_query.html
|
||||
label.html
|
||||
lattice.html
|
||||
log.html
|
||||
|
@ -174,6 +175,7 @@ mass.html
|
|||
message.html
|
||||
min_modify.html
|
||||
min_style.html
|
||||
min_spin.html
|
||||
minimize.html
|
||||
molecule.html
|
||||
neb.html
|
||||
|
@ -578,6 +580,7 @@ pair_extep.html
|
|||
pair_gauss.html
|
||||
pair_gayberne.html
|
||||
pair_gran.html
|
||||
pair_granular.html
|
||||
pair_gromacs.html
|
||||
pair_gw.html
|
||||
pair_ilp_graphene_hbn.html
|
||||
|
|
|
@ -13,11 +13,15 @@ min_modify command :h3
|
|||
min_modify keyword values ... :pre
|
||||
|
||||
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
|
||||
max = maximum distance for line search to move (distance units)
|
||||
{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
|
||||
|
||||
[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
|
||||
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
|
||||
|
||||
[Related commands:]
|
||||
|
|
|
@ -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
|
||||
|
||||
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:]
|
||||
|
||||
min_style cg
|
||||
min_style spin
|
||||
min_style fire :pre
|
||||
|
||||
[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
|
||||
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
|
||||
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 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
|
||||
a general criterion for exiting a minimization, that is a calculation
|
||||
performed on the state of the current system, as defined by an
|
||||
|
|
|
@ -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.
|
||||
|
||||
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
|
||||
models"_https://openkim.org/kim-items/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.
|
||||
models"_https://openkim.org/browse/models/by-model-drivers
|
||||
|
||||
To use this pair style, you must first download and install the KIM
|
||||
API library from the "OpenKIM website"_https://openkim.org. The KIM
|
||||
|
@ -46,12 +42,9 @@ section of the "Packages details"_Packages_details.html doc page has
|
|||
instructions on how to do this with a simple make command, when
|
||||
building LAMMPS.
|
||||
|
||||
See the examples/kim dir for an input script that uses a KIM model (potential)
|
||||
for Lennard-Jones. Note, for this example input script, the example models
|
||||
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.
|
||||
|
||||
See the examples/kim dir for an input script that uses a KIM model
|
||||
(potential) for Lennard-Jones.
|
||||
|
||||
:line
|
||||
|
||||
The argument {model} is the name of the KIM model for a specific
|
||||
|
|
|
@ -42,6 +42,7 @@ Pair Styles :h1
|
|||
pair_gauss
|
||||
pair_gayberne
|
||||
pair_gran
|
||||
pair_granular
|
||||
pair_gromacs
|
||||
pair_gw
|
||||
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;
|
||||
if rot = yes, the angular momentum is zeroed.
|
||||
|
||||
*line
|
||||
:line
|
||||
|
||||
If specified, the {temp} keyword is used by {create} and {scale} to
|
||||
specify a "compute"_compute.html that calculates temperature in a
|
||||
|
|
|
@ -156,6 +156,8 @@ ba
|
|||
Babadi
|
||||
backcolor
|
||||
Baczewski
|
||||
Bagi
|
||||
Bagnold
|
||||
Bal
|
||||
balancer
|
||||
Balankura
|
||||
|
@ -250,6 +252,7 @@ Boresch
|
|||
Botero
|
||||
Botu
|
||||
Bouguet
|
||||
Bourne
|
||||
boxcolor
|
||||
bp
|
||||
bpls
|
||||
|
@ -346,6 +349,7 @@ Cij
|
|||
cis
|
||||
civ
|
||||
clearstore
|
||||
Cleary
|
||||
Clebsch
|
||||
clemson
|
||||
Clermont
|
||||
|
@ -372,6 +376,7 @@ Coeff
|
|||
CoefficientN
|
||||
coeffs
|
||||
Coeffs
|
||||
cohesionless
|
||||
Coker
|
||||
Colberg
|
||||
coleman
|
||||
|
@ -449,6 +454,7 @@ cuda
|
|||
Cuda
|
||||
CUDA
|
||||
CuH
|
||||
Cummins
|
||||
Curk
|
||||
customIDs
|
||||
cutbond
|
||||
|
@ -492,6 +498,7 @@ darkturquoise
|
|||
darkviolet
|
||||
Das
|
||||
Dasgupta
|
||||
dashpot
|
||||
dat
|
||||
datafile
|
||||
datums
|
||||
|
@ -529,6 +536,7 @@ Dequidt
|
|||
der
|
||||
derekt
|
||||
Derjagin
|
||||
Derjaguin
|
||||
Derlet
|
||||
Deserno
|
||||
Destree
|
||||
|
@ -627,6 +635,7 @@ dVx
|
|||
dW
|
||||
dx
|
||||
dy
|
||||
dylib
|
||||
dyn
|
||||
dyne
|
||||
dynes
|
||||
|
@ -1079,6 +1088,7 @@ Hyoungki
|
|||
hyperdynamics
|
||||
hyperradius
|
||||
hyperspherical
|
||||
hysteretic
|
||||
Ibanez
|
||||
ibar
|
||||
ibm
|
||||
|
@ -1138,6 +1148,7 @@ interconvert
|
|||
interial
|
||||
interlayer
|
||||
intermolecular
|
||||
Interparticle
|
||||
interstitials
|
||||
Intr
|
||||
intra
|
||||
|
@ -1156,6 +1167,7 @@ IPython
|
|||
Isele
|
||||
isenthalpic
|
||||
ish
|
||||
Ishida
|
||||
iso
|
||||
isodemic
|
||||
isoenergetic
|
||||
|
@ -1265,6 +1277,7 @@ kcl
|
|||
Kd
|
||||
KDevelop
|
||||
ke
|
||||
kepler
|
||||
KE
|
||||
Keblinski
|
||||
keflag
|
||||
|
@ -1298,6 +1311,7 @@ Kondor
|
|||
konglt
|
||||
Koning
|
||||
Kooser
|
||||
Korn
|
||||
Koskinen
|
||||
Koster
|
||||
Kosztin
|
||||
|
@ -1382,6 +1396,7 @@ libAtoms
|
|||
libawpmd
|
||||
libch
|
||||
libcolvars
|
||||
libcurl
|
||||
libdir
|
||||
libdl
|
||||
libfftw
|
||||
|
@ -1449,6 +1464,7 @@ logfile
|
|||
logfreq
|
||||
logicals
|
||||
Lomdahl
|
||||
Lond
|
||||
lookups
|
||||
Lookups
|
||||
LoopVar
|
||||
|
@ -1464,6 +1480,7 @@ lsfftw
|
|||
ltbbmalloc
|
||||
lubricateU
|
||||
lucy
|
||||
Luding
|
||||
Lussetti
|
||||
Lustig
|
||||
lwsock
|
||||
|
@ -1502,6 +1519,7 @@ manybody
|
|||
MANYBODY
|
||||
Maras
|
||||
Marrink
|
||||
Marroquin
|
||||
Marsaglia
|
||||
Marseille
|
||||
Martyna
|
||||
|
@ -1513,6 +1531,7 @@ masstotal
|
|||
Masuhiro
|
||||
Matchett
|
||||
Materias
|
||||
mathbf
|
||||
matlab
|
||||
matplotlib
|
||||
Mattox
|
||||
|
@ -1601,6 +1620,7 @@ Mie
|
|||
Mikami
|
||||
Militzer
|
||||
Minary
|
||||
Mindlin
|
||||
mincap
|
||||
mingw
|
||||
minima
|
||||
|
@ -1671,6 +1691,7 @@ mpiexec
|
|||
mpiio
|
||||
mpirun
|
||||
mplayer
|
||||
mps
|
||||
Mryglod
|
||||
mscg
|
||||
MSCG
|
||||
|
@ -1954,6 +1975,7 @@ oneway
|
|||
onn
|
||||
ons
|
||||
OO
|
||||
opencl
|
||||
openKIM
|
||||
OpenMP
|
||||
openmp
|
||||
|
@ -2286,6 +2308,7 @@ rg
|
|||
Rg
|
||||
Rhaphson
|
||||
rheological
|
||||
rheology
|
||||
rhodo
|
||||
Rhodo
|
||||
rhodopsin
|
||||
|
@ -2602,6 +2625,7 @@ Tait
|
|||
taitwater
|
||||
Tajkhorshid
|
||||
Tamaskovics
|
||||
Tanaka
|
||||
tanh
|
||||
Tartakovsky
|
||||
taskset
|
||||
|
@ -2689,6 +2713,7 @@ tokyo
|
|||
tol
|
||||
toolchain
|
||||
topologies
|
||||
Toporov
|
||||
Torder
|
||||
torsions
|
||||
Tosi
|
||||
|
@ -2733,6 +2758,7 @@ Tsrd
|
|||
Tstart
|
||||
tstat
|
||||
Tstop
|
||||
Tsuji
|
||||
Tsuzuki
|
||||
tt
|
||||
Tt
|
||||
|
|
|
@ -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
|
|
@ -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
|
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 70 KiB |
After Width: | Height: | Size: 69 KiB |
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 nevent index 1000
|
||||
variable zoom index 1.8
|
||||
variable seed index 826626413
|
||||
variable tol index 1.0e-15
|
||||
|
||||
units metal
|
||||
atom_style atomic
|
||||
|
@ -45,7 +47,7 @@ neighbor 0.5 bin
|
|||
neigh_modify every 1 delay 5 check yes
|
||||
|
||||
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
|
||||
|
||||
|
@ -92,4 +94,4 @@ dump_modify 1 pad 6 amap 1 3 sa 1 3 blue red green
|
|||
|
||||
# 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
|
||||
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
|
||||
|
||||
hyper ${steps} ${nevent} HL event min ${tol} ${tol} 1000 1000 dump 1
|
||||
|
|
Before Width: | Height: | Size: 482 KiB After Width: | Height: | Size: 482 KiB |
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
|
|
@ -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}
|
|
@ -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
|
||||
23 0 1 26.295 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
|
||||
27 0 1 31.076 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
|
||||
149 0 1 33.466 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
|
||||
153 0 1 2.390 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
|
||||
629 0 1 33.466 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
|
||||
633 0 1 2.390 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
|
||||
950 25 4 1.353 32.819 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
|
||||
954 27 4 28.382 15.470 0.000
|
||||
955 28 3 23.456 33.395 0.000
|
||||
|
@ -1096,7 +1096,7 @@
|
|||
1069 85 3 33.021 33.461 0.000
|
||||
1070 85 4 33.771 33.455 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
|
||||
1074 87 4 28.562 33.321 0.000
|
||||
1075 88 3 24.351 29.925 0.000
|
||||
|
@ -1112,7 +1112,7 @@
|
|||
1085 93 3 26.170 16.278 0.000
|
||||
1086 93 4 26.046 17.017 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
|
||||
1090 95 4 0.837 29.930 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 4 1.0 0.75 1.12246
|
||||
|
||||
thermo 1000
|
||||
thermo 50
|
||||
|
||||
#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
|
||||
|
||||
reset_timestep 0
|
||||
run 60000
|
||||
run 1000
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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]+
|
||||
" -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;
|
||||
#endif
|
||||
return 0;
|
||||
|
|
|
@ -18,7 +18,7 @@ parser = ArgumentParser(prog='Install.py',
|
|||
# settings
|
||||
|
||||
thisdir = fullpath('.')
|
||||
version = "kim-api-v2-2.0.1"
|
||||
version = "kim-api-2.0.2"
|
||||
|
||||
# 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
|
||||
|
||||
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:
|
||||
https://openkim.org/kim-items/models/by-model-drivers
|
||||
https://openkim.org/browse/models/by-model-drivers
|
||||
"""
|
||||
|
||||
pgroup = parser.add_mutually_exclusive_group()
|
||||
|
@ -154,7 +154,7 @@ if buildflag:
|
|||
# add all OpenKIM models, if desired
|
||||
if everythingflag:
|
||||
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)
|
||||
if verboseflag:
|
||||
print(txt.decode("UTF-8"))
|
||||
|
@ -171,7 +171,7 @@ if addflag:
|
|||
sys.exit("\nkim-api is not installed")
|
||||
|
||||
# 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)
|
||||
if verboseflag:
|
||||
print(txt.decode("UTF-8"))
|
||||
|
|
|
@ -17,13 +17,18 @@
|
|||
ifeq ($(strip $(shell pkg-config --version)),)
|
||||
$(error 'pkg-config' not found, but is required to configure the KIM API)
|
||||
endif
|
||||
|
||||
kim_PREFIX := $(shell cat ../../lib/kim/kim-prefix.txt 2> /dev/null)
|
||||
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_SYSINC := $(shell export PKG_CONFIG_PATH="$(kim_PREFIX)"; pkg-config --cflags libkim-api-v2 2> /dev/null)
|
||||
kim_SYSLIB := $(shell export PKG_CONFIG_PATH="$(kim_PREFIX)"; pkg-config --libs libkim-api-v2 2> /dev/null)
|
||||
# there is no usable libcurl installation
|
||||
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)),)
|
||||
$(error 'pkg-config' could not find an installed KIM API library.)
|
||||
|
|