Compare commits
194 Commits
patch_30Ap
...
patch_5Jun
| Author | SHA1 | Date | |
|---|---|---|---|
| 0849e03d1b | |||
| 045c312c49 | |||
| 47c6cd86f2 | |||
| 27cd78b96d | |||
| dd97a7540e | |||
| 272c536326 | |||
| 0b13fbe733 | |||
| 021f0c1fc6 | |||
| 5d96ecff25 | |||
| c76b79f021 | |||
| a981626948 | |||
| 5f79a9ef80 | |||
| 674e3975a8 | |||
| d0286b3de1 | |||
| 983f3adbb4 | |||
| 58a88dff95 | |||
| 0ba38aa072 | |||
| 2e63280f87 | |||
| 68eab23cf8 | |||
| 6175f2dce8 | |||
| dc1e31506e | |||
| 68d69955d0 | |||
| 5f657b9184 | |||
| 3e4fd3dade | |||
| 3e05b983c1 | |||
| d8a30a9697 | |||
| 972a7a5c4d | |||
| 311aebf7ff | |||
| 16a254f6bd | |||
| 80d906d445 | |||
| 8b169d97f5 | |||
| f73c848ee4 | |||
| 4243af30d7 | |||
| 9d51ee17b0 | |||
| c903a110fe | |||
| 02e7dd5716 | |||
| 1a5c3c6dcb | |||
| daac3f7102 | |||
| 3bf0a4ba63 | |||
| 9cc16c4f33 | |||
| 8dcd6fc48c | |||
| a48f1cbf00 | |||
| d3cbccff35 | |||
| 29d36ffec0 | |||
| fec2f8f69b | |||
| c0cfceb95c | |||
| 12fcf5f5ef | |||
| cb8d89855d | |||
| c8d50c04a4 | |||
| e3e5a962b0 | |||
| e133c60ff5 | |||
| 97be57be7b | |||
| 5523c9e7f6 | |||
| e82e1c695a | |||
| 2ee02cfadd | |||
| cfad0634ac | |||
| bd05228c71 | |||
| 0f1e4b0504 | |||
| d0c6484fb0 | |||
| 0349e9fee9 | |||
| 55116db8fb | |||
| 1041934568 | |||
| 50082c287d | |||
| e3823a521c | |||
| 35bb2ac2a3 | |||
| c7eb9a8626 | |||
| fb8d31422d | |||
| 27a2d0cbd4 | |||
| 7b264d35fa | |||
| 267782d689 | |||
| f2b293d93b | |||
| 6e842ba84a | |||
| 30dc7f70b5 | |||
| 98702cc0b9 | |||
| 67532684f9 | |||
| 2c51511325 | |||
| 1d5ada136a | |||
| 4a4dcef7b7 | |||
| 4dc90b367e | |||
| 091dbfa265 | |||
| a26dc1b356 | |||
| d8fb17e2cb | |||
| 322c244bec | |||
| 60f6c3f3dc | |||
| c911a44298 | |||
| 52e3aeab33 | |||
| 3a8b3a119f | |||
| 8e18f2bf7e | |||
| 11f223416c | |||
| d3d4b420ba | |||
| 805cc18b2d | |||
| e228555aed | |||
| 8eeb92b82b | |||
| c581e9349a | |||
| b2942cbafa | |||
| c86359966c | |||
| a7c9560dc1 | |||
| 03505a6c48 | |||
| 238382e0ca | |||
| 2bc089db27 | |||
| 799f4061f4 | |||
| 2f580380a4 | |||
| 47cf17e5c8 | |||
| 928600a878 | |||
| 7b2d526f86 | |||
| 0034473e66 | |||
| da75fc3eaa | |||
| 711cd4122f | |||
| 45e6ed018e | |||
| 8c193b8c42 | |||
| 12f8834b80 | |||
| 6c3cae8823 | |||
| 1d1611ce44 | |||
| a87d8e124f | |||
| cc30688137 | |||
| b3f4e2055e | |||
| 8212dca609 | |||
| 319ed5dd48 | |||
| bac8b267df | |||
| da6e576ffd | |||
| f163d7dc9b | |||
| a354b52e3c | |||
| 0a4b0cf019 | |||
| 4d4219ca3e | |||
| d86a7b95de | |||
| db54b03751 | |||
| 24e41bc085 | |||
| c28cf9f742 | |||
| fd3eade6d2 | |||
| 1214e6ea79 | |||
| c2b2be5d6f | |||
| 81d3fa77bb | |||
| a7226bd93d | |||
| 66f7f2a5ef | |||
| a70f9c4f95 | |||
| 3baf15ed6f | |||
| d7dd78126c | |||
| 97ce76e759 | |||
| d7da1db745 | |||
| 7e00acce53 | |||
| d3327ffd16 | |||
| 795cdf456f | |||
| e481c5f35b | |||
| 5df8a42e24 | |||
| 21d0a16b6f | |||
| a9388e86e3 | |||
| 80af0281d1 | |||
| 8882436078 | |||
| 47d4aa6803 | |||
| f548e2717e | |||
| 4c19eab64c | |||
| c6d0f7ca87 | |||
| ba7882c1ff | |||
| d3c5d7e423 | |||
| dec1ad19b5 | |||
| 941281e9e9 | |||
| e700ccd4df | |||
| 4621af4b9d | |||
| f27ed871f9 | |||
| 16bb8a1439 | |||
| d6f3a95599 | |||
| cb30414820 | |||
| 82a87322ed | |||
| 5fb164d586 | |||
| 4c565db9af | |||
| 0eebb31903 | |||
| 69e7a2a237 | |||
| 835fce7a5e | |||
| fdaa3f48e9 | |||
| 2bdd9b7544 | |||
| 100f17077c | |||
| 80431612c7 | |||
| c11b1edc1f | |||
| db74f14f33 | |||
| 69c1a7954a | |||
| fbda72891c | |||
| ece46dbfa5 | |||
| 2bb69773d3 | |||
| 77d80c84c9 | |||
| aa336c2bb4 | |||
| f2113ab04a | |||
| dc40886d23 | |||
| 6ee002d6cf | |||
| d640c712f8 | |||
| 9166001041 | |||
| 2fbf86a58d | |||
| 0d73fe99fd | |||
| b51d06b3ea | |||
| 41ccf832bf | |||
| 6d5ab3dac1 | |||
| e51720a2de | |||
| dcffeb546f | |||
| 1235e77199 | |||
| c59b3439c6 |
@ -87,7 +87,8 @@ 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 ${LAMMPS_SOURCE_DIR}/lmpgitversion.h)
|
||||
file(GLOB SRC_AUTOGEN_PACKAGES ${LAMMPS_SOURCE_DIR}/packages_*.h)
|
||||
list(APPEND SRC_AUTOGEN_FILES ${SRC_AUTOGEN_PACKAGES} ${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})
|
||||
@ -172,21 +173,17 @@ set(LAMMPS_LINK_LIBS)
|
||||
set(LAMMPS_DEPS)
|
||||
set(LAMMPS_API_DEFINES)
|
||||
|
||||
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
|
||||
KSPACE MANYBODY MC MESSAGE MISC MOLECULE PERI REPLICA RIGID SHOCK
|
||||
SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD
|
||||
USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION
|
||||
USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD
|
||||
USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF
|
||||
USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC USER-SCAFACOS
|
||||
USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK
|
||||
USER-QUIP USER-QMMM USER-YAFF USER-ADIOS)
|
||||
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE
|
||||
GRANULAR KSPACE LATTE MANYBODY MC MESSAGE MISC MOLECULE PERI POEMS QEQ
|
||||
REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI
|
||||
USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS
|
||||
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB
|
||||
USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE
|
||||
USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB USER-REAXC
|
||||
USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF
|
||||
USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-ADIOS)
|
||||
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
|
||||
set(OTHER_PACKAGES CORESHELL QEQ)
|
||||
foreach(PKG ${DEFAULT_PACKAGES})
|
||||
option(PKG_${PKG} "Build ${PKG} Package" OFF)
|
||||
endforeach()
|
||||
foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
|
||||
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
|
||||
option(PKG_${PKG} "Build ${PKG} Package" OFF)
|
||||
endforeach()
|
||||
|
||||
@ -203,7 +200,6 @@ endif()
|
||||
|
||||
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
|
||||
@ -213,7 +209,6 @@ if(PKG_USER-ADIOS)
|
||||
list(APPEND LAMMPS_LINK_LIBS adios2::adios2)
|
||||
endif()
|
||||
|
||||
|
||||
# do MPI detection after language activation, if MPI for these language is required
|
||||
find_package(MPI QUIET)
|
||||
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
|
||||
@ -233,7 +228,6 @@ else()
|
||||
list(APPEND LAMMPS_LINK_LIBS mpi_stubs)
|
||||
endif()
|
||||
|
||||
|
||||
set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)")
|
||||
set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall)
|
||||
set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES})
|
||||
@ -322,7 +316,18 @@ pkg_depends(USER-SCAFACOS MPI)
|
||||
|
||||
include(CheckIncludeFileCXX)
|
||||
find_package(OpenMP QUIET)
|
||||
option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND})
|
||||
|
||||
# TODO: this is a temporary workaround until a better solution is found. AK 2019-05-30
|
||||
# GNU GCC 9.x uses settings incompatible with our use of 'default(none)' in OpenMP pragmas
|
||||
# where we assume older GCC semantics. For the time being, we disable OpenMP by default
|
||||
# for GCC 9.x and beyond. People may manually turn it on, but need to run the script
|
||||
# src/USER-OMP/hack_openmp_for_pgi_gcc9.sh on all sources to make it compatible with gcc 9.
|
||||
if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.99.9))
|
||||
option(BUILD_OMP "Build with OpenMP support" OFF)
|
||||
else()
|
||||
option(BUILD_OMP "Build with OpenMP support" ${OpenMP_FOUND})
|
||||
endif()
|
||||
|
||||
if(BUILD_OMP)
|
||||
find_package(OpenMP REQUIRED)
|
||||
check_include_file_cxx(omp.h HAVE_OMP_H_INCLUDE)
|
||||
@ -446,7 +451,6 @@ else()
|
||||
set(CUDA_REQUEST_PIC)
|
||||
endif()
|
||||
|
||||
|
||||
if(PKG_VORONOI)
|
||||
find_package(VORO)
|
||||
if(VORO_FOUND)
|
||||
@ -504,7 +508,10 @@ if(PKG_LATTE)
|
||||
URL https://github.com/lanl/LATTE/archive/v1.2.1.tar.gz
|
||||
URL_MD5 85ac414fdada2d04619c8f936344df14
|
||||
SOURCE_SUBDIR cmake
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> ${CMAKE_REQUEST_PIC} -DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES}
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> ${CMAKE_REQUEST_PIC}
|
||||
-DBLAS_LIBRARIES=${BLAS_LIBRARIES} -DLAPACK_LIBRARIES=${LAPACK_LIBRARIES}
|
||||
-DCMAKE_Fortran_COMPILER=${CMAKE_Fortran_COMPILER} -DCMAKE_Fortran_FLAGS=${CMAKE_Fortran_FLAGS}
|
||||
-DCMAKE_Fortran_FLAGS_${BTYPE}=${CMAKE_Fortran_FLAGS_${BTYPE}} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||
)
|
||||
ExternalProject_get_property(latte_build INSTALL_DIR)
|
||||
set(LATTE_LIBRARIES ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/liblatte.a)
|
||||
@ -892,6 +899,8 @@ foreach(PKG ${DEFAULT_PACKAGES})
|
||||
list(APPEND LIB_SOURCES ${${PKG}_SOURCES})
|
||||
include_directories(${${PKG}_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
RegisterPackages(${${PKG}_SOURCES_DIR})
|
||||
endforeach()
|
||||
|
||||
# packages that need defines set
|
||||
@ -910,6 +919,8 @@ foreach(PKG ${ACCEL_PACKAGES})
|
||||
|
||||
# check for package files in src directory due to old make system
|
||||
DetectBuildSystemConflict(${LAMMPS_SOURCE_DIR} ${${PKG}_SOURCES} ${${PKG}_HEADERS})
|
||||
|
||||
RegisterPackages(${${PKG}_SOURCES_DIR})
|
||||
endforeach()
|
||||
|
||||
##############################################
|
||||
@ -958,7 +969,6 @@ if(PKG_USER-H5MD)
|
||||
include_directories(${HDF5_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
|
||||
######################################################################
|
||||
# packages which selectively include variants based on enabled styles
|
||||
# e.g. accelerator packages
|
||||
@ -1124,9 +1134,6 @@ if(PKG_OPT)
|
||||
endif()
|
||||
|
||||
if(PKG_USER-INTEL)
|
||||
if(LAMMPS_SIZES STREQUAL BIGBIG)
|
||||
message(FATAL_ERROR "The USER-INTEL Package is not compatible with -DLAMMPS_BIGBIG")
|
||||
endif()
|
||||
add_definitions(-DLMP_USER_INTEL)
|
||||
|
||||
set(INTEL_ARCH "cpu" CACHE STRING "Architectures used by USER-INTEL (cpu or knl)")
|
||||
@ -1220,8 +1227,7 @@ if(PKG_USER-INTEL)
|
||||
${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)
|
||||
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp)
|
||||
|
||||
set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}")
|
||||
|
||||
@ -1230,9 +1236,12 @@ if(PKG_USER-INTEL)
|
||||
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)
|
||||
|
||||
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
|
||||
if(PKG_KSPACE)
|
||||
list(APPEND USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp)
|
||||
RegisterIntegrateStyle(${USER-INTEL_SOURCES_DIR}/verlet_lrt_intel.h)
|
||||
endif()
|
||||
|
||||
list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES})
|
||||
include_directories(${USER-INTEL_SOURCES_DIR})
|
||||
@ -1436,10 +1445,12 @@ endif()
|
||||
######################################################
|
||||
# Generate style headers based on global list of
|
||||
# styles registered during package selection
|
||||
# Generate packages headers from all packages
|
||||
######################################################
|
||||
set(LAMMPS_STYLE_HEADERS_DIR ${CMAKE_CURRENT_BINARY_DIR}/styles)
|
||||
|
||||
GenerateStyleHeaders(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
GeneratePackagesHeaders(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
|
||||
include_directories(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
|
||||
@ -1448,7 +1459,7 @@ include_directories(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
######################################
|
||||
set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n")
|
||||
set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n")
|
||||
set(temp_PKG_LIST ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
|
||||
set(temp_PKG_LIST ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
|
||||
list(SORT temp_PKG_LIST)
|
||||
foreach(PKG ${temp_PKG_LIST})
|
||||
if(PKG_${PKG})
|
||||
@ -1527,8 +1538,6 @@ if(BUILD_EXE)
|
||||
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Build documentation
|
||||
###############################################################################
|
||||
@ -1681,7 +1690,7 @@ endif()
|
||||
###############################################################################
|
||||
# Print package summary
|
||||
###############################################################################
|
||||
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
|
||||
foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
|
||||
if(PKG_${PKG})
|
||||
message(STATUS "Building package: ${PKG}")
|
||||
endif()
|
||||
|
||||
@ -181,3 +181,88 @@ function(DetectBuildSystemConflict lammps_src_dir)
|
||||
endforeach()
|
||||
endif()
|
||||
endfunction(DetectBuildSystemConflict)
|
||||
|
||||
|
||||
function(FindPackagesHeaders path style_class file_pattern headers)
|
||||
file(GLOB files "${path}/${file_pattern}*.h")
|
||||
get_property(plist GLOBAL PROPERTY ${headers})
|
||||
|
||||
foreach(file_name ${files})
|
||||
file(STRINGS ${file_name} is_style LIMIT_COUNT 1 REGEX ${style_class})
|
||||
if(is_style)
|
||||
list(APPEND plist ${file_name})
|
||||
endif()
|
||||
endforeach()
|
||||
set_property(GLOBAL PROPERTY ${headers} "${plist}")
|
||||
endfunction(FindPackagesHeaders)
|
||||
|
||||
function(RegisterPackages search_path)
|
||||
FindPackagesHeaders(${search_path} ANGLE_CLASS angle_ PKGANGLE ) # angle ) # force
|
||||
FindPackagesHeaders(${search_path} ATOM_CLASS atom_vec_ PKGATOM_VEC ) # atom ) # atom atom_vec_hybrid
|
||||
FindPackagesHeaders(${search_path} BODY_CLASS body_ PKGBODY ) # body ) # atom_vec_body
|
||||
FindPackagesHeaders(${search_path} BOND_CLASS bond_ PKGBOND ) # bond ) # force
|
||||
FindPackagesHeaders(${search_path} COMMAND_CLASS "[^.]" PKGCOMMAND ) # command ) # input
|
||||
FindPackagesHeaders(${search_path} COMPUTE_CLASS compute_ PKGCOMPUTE ) # compute ) # modify
|
||||
FindPackagesHeaders(${search_path} DIHEDRAL_CLASS dihedral_ PKGDIHEDRAL ) # dihedral ) # force
|
||||
FindPackagesHeaders(${search_path} DUMP_CLASS dump_ PKGDUMP ) # dump ) # output write_dump
|
||||
FindPackagesHeaders(${search_path} FIX_CLASS fix_ PKGFIX ) # fix ) # modify
|
||||
FindPackagesHeaders(${search_path} IMPROPER_CLASS improper_ PKGIMPROPER ) # improper ) # force
|
||||
FindPackagesHeaders(${search_path} INTEGRATE_CLASS "[^.]" PKGINTEGRATE ) # integrate ) # update
|
||||
FindPackagesHeaders(${search_path} KSPACE_CLASS "[^.]" PKGKSPACE ) # kspace ) # force
|
||||
FindPackagesHeaders(${search_path} MINIMIZE_CLASS min_ PKGMINIMIZE ) # minimize ) # update
|
||||
FindPackagesHeaders(${search_path} NBIN_CLASS nbin_ PKGNBIN ) # nbin ) # neighbor
|
||||
FindPackagesHeaders(${search_path} NPAIR_CLASS npair_ PKGNPAIR ) # npair ) # neighbor
|
||||
FindPackagesHeaders(${search_path} NSTENCIL_CLASS nstencil_ PKGNSTENCIL ) # nstencil ) # neighbor
|
||||
FindPackagesHeaders(${search_path} NTOPO_CLASS ntopo_ PKGNTOPO ) # ntopo ) # neighbor
|
||||
FindPackagesHeaders(${search_path} PAIR_CLASS pair_ PKGPAIR ) # pair ) # force
|
||||
FindPackagesHeaders(${search_path} READER_CLASS reader_ PKGREADER ) # reader ) # read_dump
|
||||
FindPackagesHeaders(${search_path} REGION_CLASS region_ PKGREGION ) # region ) # domain
|
||||
endfunction(RegisterPackages)
|
||||
|
||||
function(CreatePackagesHeader path filename)
|
||||
set(temp "")
|
||||
if(ARGC GREATER 2)
|
||||
list(REMOVE_AT ARGV 0 1)
|
||||
foreach(FNAME ${ARGV})
|
||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${FNAME}")
|
||||
get_filename_component(DNAME ${FNAME} DIRECTORY)
|
||||
get_filename_component(DNAME ${DNAME} NAME)
|
||||
get_filename_component(FNAME ${FNAME} NAME)
|
||||
set(temp "${temp}#undef PACKAGE\n#define PACKAGE \"${DNAME}\"\n")
|
||||
set(temp "${temp}#include \"${DNAME}/${FNAME}\"\n")
|
||||
endforeach()
|
||||
endif()
|
||||
message(STATUS "Generating ${filename}...")
|
||||
file(WRITE "${path}/${filename}.tmp" "${temp}" )
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${path}/${filename}.tmp" "${path}/${filename}")
|
||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${path}/${filename}")
|
||||
endfunction(CreatePackagesHeader)
|
||||
|
||||
function(GeneratePackagesHeader path property style)
|
||||
get_property(files GLOBAL PROPERTY ${property})
|
||||
CreatePackagesHeader("${path}" "packages_${style}.h" ${files})
|
||||
endfunction(GeneratePackagesHeader)
|
||||
|
||||
function(GeneratePackagesHeaders output_path)
|
||||
GeneratePackagesHeader(${output_path} PKGANGLE angle ) # force
|
||||
GeneratePackagesHeader(${output_path} PKGATOM_VEC atom ) # atom atom_vec_hybrid
|
||||
GeneratePackagesHeader(${output_path} PKGBODY body ) # atom_vec_body
|
||||
GeneratePackagesHeader(${output_path} PKGBOND bond ) # force
|
||||
GeneratePackagesHeader(${output_path} PKGCOMMAND command ) # input
|
||||
GeneratePackagesHeader(${output_path} PKGCOMPUTE compute ) # modify
|
||||
GeneratePackagesHeader(${output_path} PKGDIHEDRAL dihedral ) # force
|
||||
GeneratePackagesHeader(${output_path} PKGDUMP dump ) # output write_dump
|
||||
GeneratePackagesHeader(${output_path} PKGFIX fix ) # modify
|
||||
GeneratePackagesHeader(${output_path} PKGIMPROPER improper ) # force
|
||||
GeneratePackagesHeader(${output_path} PKGINTEGRATE integrate ) # update
|
||||
GeneratePackagesHeader(${output_path} PKGKSPACE kspace ) # force
|
||||
GeneratePackagesHeader(${output_path} PKGMINIMIZE minimize ) # update
|
||||
GeneratePackagesHeader(${output_path} PKGNBIN nbin ) # neighbor
|
||||
GeneratePackagesHeader(${output_path} PKGNPAIR npair ) # neighbor
|
||||
GeneratePackagesHeader(${output_path} PKGNSTENCIL nstencil ) # neighbor
|
||||
GeneratePackagesHeader(${output_path} PKGNTOPO ntopo ) # neighbor
|
||||
GeneratePackagesHeader(${output_path} PKGPAIR pair ) # force
|
||||
GeneratePackagesHeader(${output_path} PKGREADER reader ) # read_dump
|
||||
GeneratePackagesHeader(${output_path} PKGREGION region ) # domain
|
||||
endfunction(GeneratePackagesHeaders)
|
||||
|
||||
|
||||
@ -211,7 +211,7 @@ $(VENV):
|
||||
@( \
|
||||
$(VIRTUALENV) -p $(PYTHON) $(VENV); \
|
||||
. $(VENV)/bin/activate; \
|
||||
pip install Sphinx==1.7.6; \
|
||||
pip install Sphinx; \
|
||||
deactivate;\
|
||||
)
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
.TH LAMMPS "30 April 2019" "2019-04-30"
|
||||
.TH LAMMPS "5 June 2019" "2019-06-05"
|
||||
.SH NAME
|
||||
.B LAMMPS
|
||||
\- Molecular Dynamics Simulator.
|
||||
|
||||
@ -30,7 +30,6 @@ This is the list of packages that may require additional steps.
|
||||
"KIM"_#kim,
|
||||
"KOKKOS"_#kokkos,
|
||||
"LATTE"_#latte,
|
||||
"MEAM"_#meam,
|
||||
"MESSAGE"_#message,
|
||||
"MSCG"_#mscg,
|
||||
"OPT"_#opt,
|
||||
@ -247,7 +246,10 @@ Maxwell50 = NVIDIA Maxwell generation CC 5.0
|
||||
Maxwell52 = NVIDIA Maxwell generation CC 5.2
|
||||
Maxwell53 = NVIDIA Maxwell generation CC 5.3
|
||||
Pascal60 = NVIDIA Pascal generation CC 6.0
|
||||
Pascal61 = NVIDIA Pascal generation CC 6.1 :ul
|
||||
Pascal61 = NVIDIA Pascal generation CC 6.1
|
||||
Volta70 = NVIDIA Volta generation CC 7.0
|
||||
Volta72 = NVIDIA Volta generation CC 7.2
|
||||
Turing75 = NVIDIA Turing generation CC 7.5 :ul
|
||||
|
||||
[CMake build]:
|
||||
|
||||
@ -348,49 +350,6 @@ the compiler you use on your system to build LATTE.
|
||||
|
||||
:line
|
||||
|
||||
MEAM package :h4,link(meam)
|
||||
|
||||
NOTE: the use of the MEAM package is discouraged, as it has been
|
||||
superseded by the USER-MEAMC package, which is a direct translation of
|
||||
the Fortran code in the MEAM library to C++. The code in USER-MEAMC
|
||||
should be functionally equivalent to the MEAM package, fully supports
|
||||
use of "pair_style hybrid"_pair_hybrid.html (the MEAM package does
|
||||
not), and has optimizations that make it significantly faster than the
|
||||
MEAM package.
|
||||
|
||||
[CMake build]:
|
||||
|
||||
No additional settings are needed besides "-D PKG_MEAM=yes".
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
Before building LAMMPS, you must build the MEAM library in lib/meam.
|
||||
You can build the MEAM library manually if you prefer; follow the
|
||||
instructions in lib/meam/README. You can also do it in one step from
|
||||
the lammps/src dir, using a command like these, which simply invoke
|
||||
the lib/meam/Install.py script with the specified args:
|
||||
|
||||
make lib-meam # print help message
|
||||
make lib-meam args="-m mpi" # build with default Fortran compiler compatible with your MPI library
|
||||
make lib-meam args="-m serial" # build with compiler compatible with "make serial" (GNU Fortran)
|
||||
make lib-meam args="-m ifort" # build with Intel Fortran compiler using Makefile.ifort :pre
|
||||
|
||||
NOTE: You should test building the MEAM library with both the Intel
|
||||
and GNU compilers to see if a simulation runs faster with one versus
|
||||
the other on your system.
|
||||
|
||||
The build should produce two files: lib/meam/libmeam.a and
|
||||
lib/meam/Makefile.lammps. The latter is copied from an existing
|
||||
Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with
|
||||
Fortran (MEAM library). Typically the two compilers used for LAMMPS
|
||||
and the MEAM library need to be consistent (e.g. both Intel or both
|
||||
GNU compilers). If necessary, you can edit/create a new
|
||||
lib/meam/Makefile.machine file for your system, which should define an
|
||||
EXTRAMAKE variable to specify a corresponding Makefile.lammps.machine
|
||||
file.
|
||||
|
||||
:line
|
||||
|
||||
MESSAGE package :h4,link(message)
|
||||
|
||||
This package can optionally include support for messaging via sockets,
|
||||
|
||||
@ -41,7 +41,6 @@ packages:
|
||||
"KIM"_Build_extras.html#kim,
|
||||
"KOKKOS"_Build_extras.html#kokkos,
|
||||
"LATTE"_Build_extras.html#latte,
|
||||
"MEAM"_Build_extras.html#meam,
|
||||
"MESSAGE"_Build_extras.html#message,
|
||||
"MSCG"_Build_extras.html#mscg,
|
||||
"OPT"_Build_extras.html#opt,
|
||||
|
||||
@ -33,6 +33,11 @@ commands in it are used to define a LAMMPS simulation.
|
||||
Commands_bond
|
||||
Commands_kspace
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
Commands_removed
|
||||
|
||||
END_RST -->
|
||||
|
||||
<!-- HTML_ONLY -->
|
||||
@ -49,5 +54,7 @@ END_RST -->
|
||||
"Bond, angle, dihedral, improper commands"_Commands_bond.html
|
||||
"KSpace solvers"_Commands_kspace.html :all(b)
|
||||
|
||||
"Removed commands and packages"_Commands_removed.html :all(b)
|
||||
|
||||
<!-- END_HTML_ONLY -->
|
||||
|
||||
|
||||
@ -83,7 +83,7 @@ An alphabetic list of all general LAMMPS commands.
|
||||
"molecule"_molecule.html,
|
||||
"ndx2group"_group2ndx.html,
|
||||
"neb"_neb.html,
|
||||
"neb_spin"_neb_spin.html,
|
||||
"neb/spin"_neb_spin.html,
|
||||
"neigh_modify"_neigh_modify.html,
|
||||
"neighbor"_neighbor.html,
|
||||
"newton"_newton.html,
|
||||
|
||||
@ -80,6 +80,8 @@ OPT.
|
||||
"dpd/fdt/energy (k)"_pair_dpd_fdt.html,
|
||||
"dpd/tstat (go)"_pair_dpd.html,
|
||||
"dsmc"_pair_dsmc.html,
|
||||
"e3b"_pair_e3b.html,
|
||||
"drip"_pair_drip.html,
|
||||
"eam (gikot)"_pair_eam.html,
|
||||
"eam/alloy (gikot)"_pair_eam.html,
|
||||
"eam/cd (o)"_pair_eam.html,
|
||||
|
||||
66
doc/src/Commands_removed.txt
Normal file
66
doc/src/Commands_removed.txt
Normal file
@ -0,0 +1,66 @@
|
||||
"Higher level section"_Commands.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Commands.html)
|
||||
|
||||
:line
|
||||
|
||||
Removed commands and packages :h3
|
||||
|
||||
This page lists LAMMPS commands and packages that have been removed from
|
||||
the distribution and provides suggestions for alternatives or replacements.
|
||||
LAMMPS has special dummy styles implemented, that will stop LAMMPS and
|
||||
print a suitable error message in most cases, when a style/command is used
|
||||
that has been removed.
|
||||
|
||||
Fix ave/spatial and fix ave/spatial/sphere :h4
|
||||
|
||||
The fixes ave/spatial and ave/spatial/sphere have been removed from LAMMPS
|
||||
since they were superseded by the more general and extensible "chunk
|
||||
infrastructure". Here the system is partitioned in one of many possible
|
||||
ways through the "compute chunk/atom"_compute_chunk_atom.html command
|
||||
and then averaging is done using "fix ave/chunk"_fix_ave_chunk.html.
|
||||
Please refer to the "chunk HOWTO"_Howto_chunk.html section for an overview.
|
||||
|
||||
MEAM package :h4
|
||||
|
||||
The MEAM package has been removed since it was superseded by the
|
||||
"USER-MEAMC package"_Package_details.html#PKG-USER-MEAMC. The code in
|
||||
the USER-MEAMC package is a translation of the Fortran code of MEAM into C++,
|
||||
which removes several restrictions (e.g. there can be multiple instances
|
||||
in hybrid pair styles) and allows for some optimizations leading
|
||||
to better performance. The new pair style "meam/c"_pair_meamc.html has
|
||||
the exact same syntax as the old "meam" pair style and thus pair style
|
||||
"meam"_pair_meamc.html is an alias to the new style and backward
|
||||
compatibility of old inputs is preserved.
|
||||
|
||||
REAX package :h4
|
||||
|
||||
The REAX package has been removed since it was superseded by the
|
||||
"USER-REAXC package"_Package_details.html#PKG-USER-REAXC. The USER-REAXC
|
||||
package has been tested to yield equivalent results to the REAX package,
|
||||
offers better performance, supports OpenMP multi-threading via USER-OMP,
|
||||
and GPU and threading parallelization through KOKKOS. The new pair styles
|
||||
are not syntax compatible with the removed reax pair style, so input
|
||||
files will have to be adapted.
|
||||
|
||||
USER-CUDA package :h4
|
||||
|
||||
The USER-CUDA package had been removed, since it had been unmaintained
|
||||
for a long time and had known bugs and problems. Significant parts of
|
||||
the design were transferred to the
|
||||
"KOKKOS package"_Package_details.html#PKG-KOKKOS, which has similar
|
||||
performance characteristics on Nvidia GPUs. Both, the KOKKOS
|
||||
and the "GPU package"_Package_details.html#PKG-GPU are maintained
|
||||
and allow running LAMMPS with GPU acceleration.
|
||||
|
||||
restart2data tool :h4
|
||||
|
||||
The functionality of the restart2data tool has been folded into the
|
||||
LAMMPS executable directly instead of having a separate tool. A
|
||||
combination of the commands "read_restart"_read_restart.html and
|
||||
"write_data"_write_data.html can be used to the same effect. For added
|
||||
convenience this conversion can also be triggered by "command line
|
||||
flags"_Run_options.html
|
||||
BIN
doc/src/Eqs/e3b.jpg
Normal file
BIN
doc/src/Eqs/e3b.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
15
doc/src/Eqs/e3b.tex
Normal file
15
doc/src/Eqs/e3b.tex
Normal file
@ -0,0 +1,15 @@
|
||||
\documentclass[12pt]{article}
|
||||
\usepackage{amsmath}
|
||||
\begin{document}
|
||||
|
||||
\begin{align*}
|
||||
E =& E_2 \sum_{i,j}e^{-k_2 r_{ij}} + E_A \sum_{\substack{i,j,k,\ell \\\in \textrm{type A}}} f(r_{ij})f(r_{k\ell}) + E_B \sum_{\substack{i,j,k,\ell \\\in \textrm{type B}}} f(r_{ij})f(r_{k\ell}) + E_C \sum_{\substack{i,j,k,\ell \\\in \textrm{type C}}} f(r_{ij})f(r_{k\ell}) \\
|
||||
f(r) =& e^{-k_3 r}s(r) \\
|
||||
s(r) =& \begin{cases}
|
||||
1 & r<R_s \\
|
||||
\displaystyle\frac{(R_f-r)^2(R_f-3R_s+2r)}{(R_f-R_s)^3} & R_s\leq r\leq R_f \\
|
||||
0 & r>R_f\\
|
||||
\end{cases}
|
||||
\end{align*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/fix_spin_cubic.jpg
Normal file
BIN
doc/src/Eqs/fix_spin_cubic.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
21
doc/src/Eqs/fix_spin_cubic.tex
Normal file
21
doc/src/Eqs/fix_spin_cubic.tex
Normal file
@ -0,0 +1,21 @@
|
||||
\documentclass[preview]{standalone}
|
||||
\usepackage{varwidth}
|
||||
\usepackage[utf8x]{inputenc}
|
||||
\usepackage{amsmath,amssymb,amsthm,bm}
|
||||
\begin{document}
|
||||
\begin{varwidth}{50in}
|
||||
\begin{equation}
|
||||
\bm{H}_{cubic} = -\sum_{{ i}=1}^{N} K_{1}
|
||||
\Big[
|
||||
\left(\vec{s}_{i} \cdot \vec{n1} \right)^2
|
||||
\left(\vec{s}_{i} \cdot \vec{n2} \right)^2 +
|
||||
\left(\vec{s}_{i} \cdot \vec{n2} \right)^2
|
||||
\left(\vec{s}_{i} \cdot \vec{n3} \right)^2 +
|
||||
\left(\vec{s}_{i} \cdot \vec{n1} \right)^2
|
||||
\left(\vec{s}_{i} \cdot \vec{n3} \right)^2 \Big]
|
||||
+K_{2}^{(c)} \left(\vec{s}_{i} \cdot \vec{n1} \right)^2
|
||||
\left(\vec{s}_{i} \cdot \vec{n2} \right)^2
|
||||
\left(\vec{s}_{i} \cdot \vec{n3} \right)^2 \nonumber
|
||||
\end{equation}
|
||||
\end{varwidth}
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_drip.jpg
Normal file
BIN
doc/src/Eqs/pair_drip.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 58 KiB |
14
doc/src/Eqs/pair_drip.tex
Normal file
14
doc/src/Eqs/pair_drip.tex
Normal file
@ -0,0 +1,14 @@
|
||||
\documentclass[12pt]{article}
|
||||
\usepackage{amsmath}
|
||||
\usepackage{bm}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
E &=& \frac{1}{2} \sum_{i} \sum_{j\notin\text{layer}\,i} \phi_{ij} \\\phi_{ij} &=& f_\text{c}(x_r) \left[ e^{-\lambda(r_{ij} - z_0 )} \left[C+f(\rho_{ij})+ g(\rho_{ij}, \{\alpha_{ij}^{(m)}\}) \right]- A\left (\frac{z_0}{r_{ij}} \right)^6 \right] \\
|
||||
\end{eqnarray*}
|
||||
|
||||
|
||||
|
||||
|
||||
\end{document}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.5 KiB |
@ -1,9 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\pagestyle{empty}
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
E(r) = \frac{A}{r^{12}} - \frac{A}{r^{6}}
|
||||
E(r) = \frac{A}{r^{12}} - \frac{B}{r^{6}}
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
|
||||
@ -610,6 +610,62 @@ This means there is something invalid about the topology definitions. :dd
|
||||
|
||||
The data file header lists bonds but no bond types. :dd
|
||||
|
||||
{Bond/react: Cannot use fix bond/react with non-molecular systems} :dt
|
||||
|
||||
Only systems with bonds that can be changed can be used. Atom_style
|
||||
template does not qualify. :dd
|
||||
|
||||
{Bond/react: Rmax cutoff is longer than pairwise cutoff} :dt
|
||||
|
||||
This is not allowed because bond creation is done using the pairwise
|
||||
neighbor list. :dd
|
||||
|
||||
{Bond/react: Molecule template ID for fix bond/react does not exist} :dt
|
||||
|
||||
A valid molecule template must have been created with the molecule
|
||||
command. :dd
|
||||
|
||||
{Bond/react: Reaction templates must contain the same number of atoms} :dt
|
||||
|
||||
There should be a one-to-one correspondence between atoms in the
|
||||
pre-reacted and post-reacted templates, as specified by the map file. :dd
|
||||
|
||||
{Bond/react: Unknown section in map file} :dt
|
||||
|
||||
Please ensure reaction map files are properly formatted. :dd
|
||||
|
||||
{Bond/react: Atom affected by reaction too close to template edge} :dt
|
||||
|
||||
This means an atom which changes type during the reaction is too close
|
||||
to an 'edge' atom defined in the superimpose file. This could cause
|
||||
incorrect assignment of bonds, angle, etc. Generally, this means you
|
||||
must include more atoms in your templates, such that there are at
|
||||
least two atoms between each atom involved in the reaction and an edge
|
||||
atom. :dd
|
||||
|
||||
{Bond/react: Fix bond/react needs ghost atoms from farther away} :dt
|
||||
|
||||
This is because a processor needs to superimpose the entire unreacted
|
||||
molecule template onto simulation atoms it knows about. The
|
||||
comm_modify cutoff command can be used to extend the communication
|
||||
range. :dd
|
||||
|
||||
{Bond/react: A deleted atom cannot remain bonded to an atom that is not deleted} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Bond/react special bond generation overflow} :dt
|
||||
|
||||
The number of special bonds per-atom created by a reaction exceeds the
|
||||
system setting. See the read_data or create_box command for how to
|
||||
specify this value. :dd
|
||||
|
||||
{Bond/react topology/atom exceed system topology/atom} :dt
|
||||
|
||||
The number of bonds, angles etc per-atom created by a reaction exceeds
|
||||
the system setting. See the read_data or create_box command for how to
|
||||
specify this value. :dd
|
||||
|
||||
{Both restart files must use % or neither} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
@ -5828,6 +5884,12 @@ Must have periodic x,y dimensions and non-periodic z dimension to use
|
||||
Must have periodic x,y dimensions and non-periodic z dimension to use
|
||||
2d slab option with pppm/disp. :dd
|
||||
|
||||
{Incorrect conversion in format string} :dt
|
||||
|
||||
A format style variable was not using either a %f, a %g, or a %e conversion.
|
||||
Or an immediate variable with format suffix was not using either
|
||||
a %f, a %g or a %e conversion in the format suffix. :dd
|
||||
|
||||
{Incorrect element names in ADP potential file} :dt
|
||||
|
||||
The element names in the ADP file do not match those requested. :dd
|
||||
@ -7448,6 +7510,11 @@ The Atoms section of a data file must come before a Triangles section. :dd
|
||||
The Atoms section of a data file must come before a Velocities
|
||||
section. :dd
|
||||
|
||||
{Must re-specify non-restarted pair style (xxx) after read_restart} :dt
|
||||
|
||||
For pair styles, that do not store their settings in a restart file,
|
||||
it must be defined with a new 'pair_style' command after read_restart. :dd
|
||||
|
||||
{Must set both respa inner and outer} :dt
|
||||
|
||||
Cannot use just the inner or outer option with respa without using the
|
||||
@ -9990,25 +10057,25 @@ quote. :dd
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Unexpected end of AngleCoeffs section} :dt
|
||||
{Unexpected empty line in AngleCoeffs section} :dt
|
||||
|
||||
Read a blank line. :dd
|
||||
Read a blank line where there should be coefficient data. :dd
|
||||
|
||||
{Unexpected end of BondCoeffs section} :dt
|
||||
{Unexpected empty line in BondCoeffs section} :dt
|
||||
|
||||
Read a blank line. :dd
|
||||
Read a blank line where there should be coefficient data. :dd
|
||||
|
||||
{Unexpected end of DihedralCoeffs section} :dt
|
||||
{Unexpected empty line in DihedralCoeffs section} :dt
|
||||
|
||||
Read a blank line. :dd
|
||||
Read a blank line where there should be coefficient data. :dd
|
||||
|
||||
{Unexpected end of ImproperCoeffs section} :dt
|
||||
{Unexpected empty line in ImproperCoeffs section} :dt
|
||||
|
||||
Read a blank line. :dd
|
||||
Read a blank line where there should be coefficient data. :dd
|
||||
|
||||
{Unexpected end of PairCoeffs section} :dt
|
||||
{Unexpected empty line in PairCoeffs section} :dt
|
||||
|
||||
Read a blank line. :dd
|
||||
Read a blank line where there should be coefficient data. :dd
|
||||
|
||||
{Unexpected end of custom file} :dt
|
||||
|
||||
@ -10049,19 +10116,19 @@ create_box command. :dd
|
||||
A universe or uloop style variable must specify a number of values >= to the
|
||||
number of processor partitions. :dd
|
||||
|
||||
{Unknown angle style} :dt
|
||||
{Unrecognized angle style} :dt
|
||||
|
||||
The choice of angle style is unknown. :dd
|
||||
|
||||
{Unknown atom style} :dt
|
||||
{Unrecognized atom style} :dt
|
||||
|
||||
The choice of atom style is unknown. :dd
|
||||
|
||||
{Unknown body style} :dt
|
||||
{Unrecognized body style} :dt
|
||||
|
||||
The choice of body style is unknown. :dd
|
||||
|
||||
{Unknown bond style} :dt
|
||||
{Unrecognized bond style} :dt
|
||||
|
||||
The choice of bond style is unknown. :dd
|
||||
|
||||
@ -10077,23 +10144,23 @@ Self-explanatory. :dd
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Unknown command: %s} :dt
|
||||
{Unrecognized command: %s} :dt
|
||||
|
||||
The command is not known to LAMMPS. Check the input script. :dd
|
||||
|
||||
{Unknown compute style} :dt
|
||||
{Unrecognized compute style} :dt
|
||||
|
||||
The choice of compute style is unknown. :dd
|
||||
|
||||
{Unknown dihedral style} :dt
|
||||
{Unrecognized dihedral style} :dt
|
||||
|
||||
The choice of dihedral style is unknown. :dd
|
||||
|
||||
{Unknown dump reader style} :dt
|
||||
{Unrecognized dump reader style} :dt
|
||||
|
||||
The choice of dump reader style via the format keyword is unknown. :dd
|
||||
|
||||
{Unknown dump style} :dt
|
||||
{Unrecognized dump style} :dt
|
||||
|
||||
The choice of dump style is unknown. :dd
|
||||
|
||||
@ -10101,7 +10168,7 @@ The choice of dump style is unknown. :dd
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Unknown fix style} :dt
|
||||
{Unrecognized fix style} :dt
|
||||
|
||||
The choice of fix style is unknown. :dd
|
||||
|
||||
@ -10109,7 +10176,7 @@ The choice of fix style is unknown. :dd
|
||||
|
||||
A section of the data file cannot be read by LAMMPS. :dd
|
||||
|
||||
{Unknown improper style} :dt
|
||||
{Unrecognized improper style} :dt
|
||||
|
||||
The choice of improper style is unknown. :dd
|
||||
|
||||
@ -10117,7 +10184,7 @@ The choice of improper style is unknown. :dd
|
||||
|
||||
One or more specified keywords are not recognized. :dd
|
||||
|
||||
{Unknown kspace style} :dt
|
||||
{Unrecognized kspace style} :dt
|
||||
|
||||
The choice of kspace style is unknown. :dd
|
||||
|
||||
@ -10133,7 +10200,7 @@ Self-explanatory. :dd
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
{Unknown pair style} :dt
|
||||
{Unrecognized pair style} :dt
|
||||
|
||||
The choice of pair style is unknown. :dd
|
||||
|
||||
@ -10141,7 +10208,7 @@ The choice of pair style is unknown. :dd
|
||||
|
||||
The choice of sub-style is unknown. :dd
|
||||
|
||||
{Unknown region style} :dt
|
||||
{Unrecognized region style} :dt
|
||||
|
||||
The choice of region style is unknown. :dd
|
||||
|
||||
|
||||
@ -82,6 +82,11 @@ bond/angle/dihedral. LAMMPS computes this by taking the maximum bond
|
||||
length, multiplying by the number of bonds in the interaction (e.g. 3
|
||||
for a dihedral) and adding a small amount of stretch. :dd
|
||||
|
||||
{Bond/react: An atom in 'react #%d' changes bond connectivity but not atom type} :dt
|
||||
|
||||
You may want to double-check that all atom types are properly assigned
|
||||
in the post-reaction template. :dd
|
||||
|
||||
{Both groups in compute group/group have a net charge; the Kspace boundary correction to energy will be non-zero} :dt
|
||||
|
||||
Self-explanatory. :dd
|
||||
|
||||
@ -11,7 +11,7 @@ Section"_Tools.html :c
|
||||
Example scripts :h3
|
||||
|
||||
The LAMMPS distribution includes an examples sub-directory with many
|
||||
sample problems. Many are 2d models that run quickly are are
|
||||
sample problems. Many are 2d models that run quickly and are
|
||||
straightforward to visualize, requiring at most a couple of minutes to
|
||||
run on a desktop machine. Each problem has an input script (in.*) and
|
||||
produces a log file (log.*) when it runs. Some use a data file
|
||||
@ -52,13 +52,14 @@ Lowercase directories :h4
|
||||
|
||||
accelerate: run with various acceleration options (OpenMP, GPU, Phi)
|
||||
airebo: polyethylene with AIREBO potential
|
||||
atm: Axilrod-Teller-Muto potential example
|
||||
balance: dynamic load balancing, 2d system
|
||||
body: body particles, 2d system
|
||||
cmap: CMAP 5-body contributions to CHARMM force field
|
||||
colloid: big colloid particles in a small particle solvent, 2d system
|
||||
comb: models using the COMB potential
|
||||
coreshell: core/shell model using CORESHELL package
|
||||
controller: use of fix controller as a thermostat
|
||||
coreshell: core/shell model using CORESHELL package
|
||||
crack: crack propagation in a 2d solid
|
||||
deposit: deposit atoms and molecules on a surface
|
||||
dipole: point dipolar particles, 2d system
|
||||
@ -70,10 +71,13 @@ friction: frictional contact of spherical asperities between 2d surfaces
|
||||
gcmc: Grand Canonical Monte Carlo (GCMC) via the fix gcmc command
|
||||
granregion: use of fix wall/region/gran as boundary on granular particles
|
||||
hugoniostat: Hugoniostat shock dynamics
|
||||
hyper: global and local hyperdynamics of diffusion on Pt surface
|
||||
indent: spherical indenter into a 2d solid
|
||||
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
|
||||
latte: examples for using fix latte for DFTB via the LATTE library
|
||||
meam: MEAM test for SiC and shear (same as shear examples)
|
||||
melt: rapid melt of 3d LJ system
|
||||
message: demos for LAMMPS client/server coupling with the MESSAGE package
|
||||
micelle: self-assembly of small lipid-like molecules into 2d bilayers
|
||||
min: energy minimization of 2d LJ melt
|
||||
mscg: parameterize a multi-scale coarse-graining (MSCG) model
|
||||
@ -88,6 +92,7 @@ pour: pouring of granular particles into a 3d box, then chute flow
|
||||
prd: parallel replica dynamics of vacancy diffusion in bulk Si
|
||||
python: using embedded Python in a LAMMPS input script
|
||||
qeq: use of the QEQ package for charge equilibration
|
||||
rdf-adf: computing radial and angle distribution functions for water
|
||||
reax: RDX and TATB models using the ReaxFF
|
||||
rigid: rigid bodies modeled as independent or coupled
|
||||
shear: sideways shear applied to 2d solid, with and without a void
|
||||
@ -95,6 +100,7 @@ snap: NVE dynamics for BCC tantalum crystal using SNAP potential
|
||||
srd: stochastic rotation dynamics (SRD) particles as solvent
|
||||
streitz: use of Streitz/Mintmire potential with charge equilibration
|
||||
tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si
|
||||
threebody: regression test input for a variety of manybody potentials
|
||||
vashishta: use of the Vashishta potential
|
||||
voronoi: Voronoi tesselation via compute voronoi/atom command :tb(s=:)
|
||||
|
||||
@ -131,8 +137,10 @@ COUPLE: examples of how to use LAMMPS as a library
|
||||
DIFFUSE: compute diffusion coefficients via several methods
|
||||
ELASTIC: compute elastic constants at zero temperature
|
||||
ELASTIC_T: compute elastic constants at finite temperature
|
||||
HEAT: compute thermal conductivity for LJ and water via fix ehex
|
||||
KAPPA: compute thermal conductivity via several methods
|
||||
MC: using LAMMPS in a Monte Carlo mode to relax the energy of a system
|
||||
SPIN: examples for features of the SPIN package
|
||||
USER: examples for USER packages and USER-contributed commands
|
||||
VISCOSITY: compute viscosity via several methods :tb(s=:)
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ COMPASS is a general force field for atomistic simulation of common
|
||||
organic molecules, inorganic small molecules, and polymers which was
|
||||
developed using ab initio and empirical parameterization techniques.
|
||||
See the "Tools"_Tools.html doc page for the msi2lmp tool for creating
|
||||
LAMMPS template input and data files from BIOVIA’s Materials Studio
|
||||
LAMMPS template input and data files from BIOVIA's Materials Studio
|
||||
files. Please note that the msi2lmp tool is very old and largely
|
||||
unmaintained, so it does not support all features of Materials Studio
|
||||
provided force field files, especially additions during the last decade.
|
||||
@ -129,7 +129,7 @@ Fischer, Gao, Guo, Ha, et al, J Phys Chem, 102, 3586 (1998).
|
||||
Spellmeyer, Fox, Caldwell, Kollman, JACS 117, 5179-5197 (1995).
|
||||
|
||||
:link(howto-Sun)
|
||||
[(Sun)] Sun, J. Phys. Chem. B, 102, 7338–7364 (1998).
|
||||
[(Sun)] Sun, J. Phys. Chem. B, 102, 7338-7364 (1998).
|
||||
|
||||
:link(howto-Mayo)
|
||||
[(Mayo)] Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
|
||||
|
||||
@ -29,3 +29,5 @@ diffusion coefficient. The instantaneous VACF values can be
|
||||
accumulated in a vector via the "fix vector"_fix_vector.html command,
|
||||
and time integrated via the "variable trap"_variable.html function,
|
||||
and thus extract D.
|
||||
|
||||
:line
|
||||
|
||||
@ -274,7 +274,7 @@ crash. Even without reaching this extreme case, the correlation
|
||||
between nearby dipoles on the same molecule may be exaggerated. Often,
|
||||
special bond relations prevent bonded neighboring atoms to see the
|
||||
charge of each other's DP, so that the problem does not always appear.
|
||||
It is possible to use screened dipole dipole interactions by using the
|
||||
It is possible to use screened dipole-dipole interactions by using the
|
||||
"{pair_style thole}"_pair_thole.html. This is implemented as a
|
||||
correction to the Coulomb pair_styles, which dampens at short distance
|
||||
the interactions between the charges representing the induced dipoles.
|
||||
|
||||
@ -52,7 +52,7 @@ as if you unpacked a current LAMMPS tarball, with the exception, that
|
||||
the HTML documentation files are not included. They can be fetched
|
||||
from the LAMMPS website by typing "make fetch" in the doc directory.
|
||||
Or they can be generated from the content provided in doc/src by
|
||||
typing "make html" from the the doc directory.
|
||||
typing "make html" from the doc directory.
|
||||
|
||||
After initial cloning, as bug fixes and new features are added to
|
||||
LAMMPS, as listed on "this page"_Errors_bugs.html, you can stay
|
||||
|
||||
@ -40,7 +40,7 @@ as if you unpacked a current LAMMPS tarball, with the exception, that
|
||||
the HTML documentation files are not included. They can be fetched
|
||||
from the LAMMPS website by typing "make fetch" in the doc directory.
|
||||
Or they can be generated from the content provided in doc/src by
|
||||
typing "make html" from the the doc directory.
|
||||
typing "make html" from the doc directory.
|
||||
|
||||
After initial checkout, as bug fixes and new features are added to
|
||||
LAMMPS, as listed on "this page"_Errors_bugs.html, you can stay
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="30 Apr 2019 version">
|
||||
<META NAME="docnumber" CONTENT="5 Jun 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
|
||||
30 Apr 2019 version :c,h2
|
||||
5 Jun 2019 version :c,h2
|
||||
|
||||
"What is a LAMMPS version?"_Manual_version.html
|
||||
|
||||
|
||||
Binary file not shown.
@ -208,7 +208,7 @@ available on your system.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#compress on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -358,7 +358,7 @@ developed the pair style.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#kim on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -404,7 +404,7 @@ lib/kokkos.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#kokkos on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -477,7 +477,7 @@ Cawkwell, Anders Niklasson, and Christian Negre.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#latte on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -654,7 +654,7 @@ University of Chicago.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#mscg on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -686,7 +686,7 @@ and Vincent Natoli (Stone Ridge Technolgy).
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#opt on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -706,7 +706,7 @@ PERI package :link(PKG-PERI),h4
|
||||
|
||||
An atom style, several pair styles which implement different
|
||||
Peridynamics materials models, and several computes which calculate
|
||||
diagnostics. Peridynamics is a a particle-based meshless continuum
|
||||
diagnostics. Peridynamics is a particle-based meshless continuum
|
||||
model.
|
||||
|
||||
[Authors:] The original package was created by Mike Parks (Sandia).
|
||||
@ -743,7 +743,7 @@ connections at hinge points.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#poems on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -775,7 +775,7 @@ lib/python/README for more details.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#python on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -905,7 +905,7 @@ SPIN package :link(PKG-SPIN),h4
|
||||
Model atomic magnetic spins classically, coupled to atoms moving in
|
||||
the usual manner via MD. Various pair, fix, and compute styles.
|
||||
|
||||
[Author:] Julian Tranchida (Sandia).
|
||||
[Author:] Julien Tranchida (Sandia).
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
@ -965,7 +965,7 @@ and LBNL.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#voronoi on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1017,7 +1017,7 @@ atomic information to continuum fields.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-atc on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1044,7 +1044,7 @@ model.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-awpmd on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1184,7 +1184,7 @@ Tribello.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-plumed on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1229,7 +1229,7 @@ isothermal, isoenergetic, isobaric and isenthalpic conditions are
|
||||
included. These enable long timesteps via the Shardlow splitting
|
||||
algorithm.
|
||||
|
||||
[Authors:] Jim Larentzos (ARL), Tim Mattox (Engility Corp), and and John
|
||||
[Authors:] Jim Larentzos (ARL), Tim Mattox (Engility Corp), and John
|
||||
Brennan (ARL).
|
||||
|
||||
[Supporting info:]
|
||||
@ -1362,7 +1362,7 @@ H5MD format.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-h5md on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1400,7 +1400,7 @@ NOTE: the USER-INTEL package contains styles that require using the
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-intel on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1537,7 +1537,7 @@ USER-MESO package :link(PKG-USER-MESO),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
Several extensions of the the dissipative particle dynamics (DPD)
|
||||
Several extensions of the dissipative particle dynamics (DPD)
|
||||
method. Specifically, energy-conserving DPD (eDPD) that can model
|
||||
non-isothermal processes, many-body DPD (mDPD) for simulating
|
||||
vapor-liquid coexistence, and transport DPD (tDPD) for modeling
|
||||
@ -1620,7 +1620,7 @@ at
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-molfile on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1660,7 +1660,7 @@ tools:
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-netcdf on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1704,7 +1704,7 @@ install/un-install the package and build LAMMPS in the usual manner:
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-omp on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1788,7 +1788,7 @@ without changes to LAMMPS itself.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-qmmm on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1846,7 +1846,7 @@ on your system.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-quip on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -1964,7 +1964,7 @@ Dynamics, Ernst Mach Institute, Germany).
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-smd on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
@ -2090,7 +2090,7 @@ system.
|
||||
[Install:]
|
||||
|
||||
This package has "specific installation
|
||||
instructions"_Build_extras.html#gpu on the "Build
|
||||
instructions"_Build_extras.html#user-vtk on the "Build
|
||||
extras"_Build_extras.html doc page.
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
@ -180,7 +180,7 @@ doubles is returned, one value per atom, which you can use via normal
|
||||
Python subscripting. The values will be zero for atoms not in the
|
||||
specified group.
|
||||
|
||||
The get_thermo() method returns returns the current value of a thermo
|
||||
The get_thermo() method returns the current value of a thermo
|
||||
keyword as a float.
|
||||
|
||||
The get_natoms() method returns the total number of atoms in the
|
||||
|
||||
@ -242,7 +242,7 @@ processors.
|
||||
|
||||
Running with multiple partitions can be useful for running
|
||||
"multi-replica simulations"_Howto_replica.html, where each replica
|
||||
runs on on one or a few processors. Note that with MPI installed on a
|
||||
runs on one or a few processors. Note that with MPI installed on a
|
||||
machine (e.g. your desktop), you can run on more (virtual) processors
|
||||
than you have physical processors.
|
||||
|
||||
|
||||
@ -93,7 +93,7 @@ monitor thread utilization and load balance is provided. A new {Thread
|
||||
timings} section is also added, which lists the time spent in reducing
|
||||
the per-thread data elements to the storage for non-threaded
|
||||
computation. These thread timings are measured for the first MPI rank
|
||||
only and and thus, because the breakdown for MPI tasks can change from
|
||||
only and thus, because the breakdown for MPI tasks can change from
|
||||
MPI rank to MPI rank, this breakdown can be very different for
|
||||
individual ranks. Here is an example output for this section:
|
||||
|
||||
|
||||
@ -111,16 +111,10 @@ Makefile.kokkos_mpi_only) will give better performance than the OpenMP
|
||||
back end (i.e. Makefile.kokkos_omp) because some of the overhead to make
|
||||
the code thread-safe is removed.
|
||||
|
||||
NOTE: The default for the "package kokkos"_package.html command is to
|
||||
use "full" neighbor lists and set the Newton flag to "off" for both
|
||||
pairwise and bonded interactions. However, when running on CPUs, it
|
||||
will typically be faster to use "half" neighbor lists and set the
|
||||
Newton flag to "on", just as is the case for non-accelerated pair
|
||||
styles. It can also be faster to use non-threaded communication. Use
|
||||
the "-pk kokkos" "command-line switch"_Run_options.html to change the
|
||||
default "package kokkos"_package.html options. See its doc page for
|
||||
details and default settings. Experimenting with its options can
|
||||
provide a speed-up for specific calculations. For example:
|
||||
NOTE: Use the "-pk kokkos" "command-line switch"_Run_options.html to
|
||||
change the default "package kokkos"_package.html options. See its doc
|
||||
page for details and default settings. Experimenting with its options
|
||||
can provide a speed-up for specific calculations. For example:
|
||||
|
||||
mpirun -np 16 lmp_kokkos_mpi_only -k on -sf kk -pk kokkos newton on neigh half comm no -in in.lj # Newton on, Half neighbor list, non-threaded comm :pre
|
||||
|
||||
@ -190,19 +184,18 @@ tasks/node. The "-k on t Nt" command-line switch sets the number of
|
||||
threads/task as Nt. The product of these two values should be N, i.e.
|
||||
256 or 264.
|
||||
|
||||
NOTE: The default for the "package kokkos"_package.html command is to
|
||||
use "full" neighbor lists and set the Newton flag to "off" for both
|
||||
pairwise and bonded interactions. When running on KNL, this will
|
||||
typically be best for pair-wise potentials. For many-body potentials,
|
||||
using "half" neighbor lists and setting the Newton flag to "on" may be
|
||||
faster. It can also be faster to use non-threaded communication. Use
|
||||
the "-pk kokkos" "command-line switch"_Run_options.html to change the
|
||||
default "package kokkos"_package.html options. See its doc page for
|
||||
details and default settings. Experimenting with its options can
|
||||
provide a speed-up for specific calculations. For example:
|
||||
NOTE: The default for the "package kokkos"_package.html command when
|
||||
running on KNL is to use "half" neighbor lists and set the Newton flag
|
||||
to "on" for both pairwise and bonded interactions. This will typically
|
||||
be best for many-body potentials. For simpler pair-wise potentials, it
|
||||
may be faster to use a "full" neighbor list with Newton flag to "off".
|
||||
Use the "-pk kokkos" "command-line switch"_Run_options.html to change
|
||||
the default "package kokkos"_package.html options. See its doc page for
|
||||
details and default settings. Experimenting with its options can provide
|
||||
a speed-up for specific calculations. For example:
|
||||
|
||||
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm no -in in.lj # Newton off, full neighbor list, non-threaded comm
|
||||
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton on neigh half comm no -in in.reax # Newton on, half neighbor list, non-threaded comm :pre
|
||||
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos comm host -in in.reax # Newton on, half neighbor list, threaded comm
|
||||
mpirun -np 64 lmp_kokkos_phi -k on t 4 -sf kk -pk kokkos newton off neigh full comm no -in in.lj # Newton off, full neighbor list, non-threaded comm :pre
|
||||
|
||||
NOTE: MPI tasks and threads should be bound to cores as described
|
||||
above for CPUs.
|
||||
@ -236,19 +229,19 @@ one or more nodes, each with two GPUs:
|
||||
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 1 node, 2 MPI tasks/node, 2 GPUs/node
|
||||
mpirun -np 32 -ppn 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -in in.lj # 16 nodes, 2 MPI tasks/node, 2 GPUs/node (32 GPUs total) :pre
|
||||
|
||||
NOTE: The default for the "package kokkos"_package.html command is to
|
||||
use "full" neighbor lists and set the Newton flag to "off" for both
|
||||
pairwise and bonded interactions, along with threaded communication.
|
||||
When running on Maxwell or Kepler GPUs, this will typically be
|
||||
best. For Pascal GPUs, using "half" neighbor lists and setting the
|
||||
Newton flag to "on" may be faster. For many pair styles, setting the
|
||||
neighbor binsize equal to the ghost atom cutoff will give speedup.
|
||||
Use the "-pk kokkos" "command-line switch"_Run_options.html to change
|
||||
the default "package kokkos"_package.html options. See its doc page
|
||||
for details and default settings. Experimenting with its options can
|
||||
provide a speed-up for specific calculations. For example:
|
||||
NOTE: The default for the "package kokkos"_package.html command when
|
||||
running on GPUs is to use "full" neighbor lists and set the Newton flag
|
||||
to "off" for both pairwise and bonded interactions, along with threaded
|
||||
communication. When running on Maxwell or Kepler GPUs, this will
|
||||
typically be best. For Pascal GPUs, using "half" neighbor lists and
|
||||
setting the Newton flag to "on" may be faster. For many pair styles,
|
||||
setting the neighbor binsize equal to twice the CPU default value will
|
||||
give speedup, which is the default when running on GPUs. Use the "-pk
|
||||
kokkos" "command-line switch"_Run_options.html to change the default
|
||||
"package kokkos"_package.html options. See its doc page for details and
|
||||
default settings. Experimenting with its options can provide a speed-up
|
||||
for specific calculations. For example:
|
||||
|
||||
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff
|
||||
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff :pre
|
||||
|
||||
NOTE: For good performance of the KOKKOS package on GPUs, you must
|
||||
|
||||
@ -77,6 +77,7 @@ Post-processing tools :h3
|
||||
"python"_#pythontools,
|
||||
"reax"_#reax_tool,
|
||||
"smd"_#smd,
|
||||
"spin"_#spin,
|
||||
"xmgrace"_#xmgrace :tb(c=6,ea=c,a=l)
|
||||
|
||||
Miscellaneous tools :h3
|
||||
@ -511,6 +512,20 @@ Ernst Mach Institute in Germany (georg.ganzenmueller at emi.fhg.de).
|
||||
|
||||
:line
|
||||
|
||||
spin tool :h4,link(spin)
|
||||
|
||||
The spin sub-directory contains a C file interpolate.c which can
|
||||
be compiled and used to perform a cubic polynomial interpolation of
|
||||
the MEP following a GNEB calculation.
|
||||
|
||||
See the README file in tools/spin/interpolate_gneb for more details.
|
||||
|
||||
This tool was written by the SPIN package author, Julien
|
||||
Tranchida at Sandia National Labs (jtranch at sandia.gov, and by Aleksei
|
||||
Ivanov, at University of Iceland (ali5 at hi.is).
|
||||
|
||||
:line
|
||||
|
||||
vim tool :h4,link(vim)
|
||||
|
||||
The files in the tools/vim directory are add-ons to the VIM editor
|
||||
|
||||
@ -468,7 +468,7 @@ property/chunk"_compute_property_chunk.html command.
|
||||
NOTE: The compression operation requires global communication across
|
||||
all processors to share their chunk ID values. It can require large
|
||||
memory on every processor to store them, even after they are
|
||||
compressed, if there are are a large number of unique chunk IDs with
|
||||
compressed, if there are a large number of unique chunk IDs with
|
||||
atoms assigned to them. It uses a STL map to find unique chunk IDs
|
||||
and store them in sorted order. Each time an atom is assigned a
|
||||
compressed chunk ID, it must access the STL map. All of this means
|
||||
|
||||
@ -49,7 +49,7 @@ For inputs that are computes, they must be a compute that calculates
|
||||
per-chunk values. These are computes whose style names end in
|
||||
"/chunk".
|
||||
|
||||
For inputs that are fixes, they should be a a fix that calculates
|
||||
For inputs that are fixes, they should be a fix that calculates
|
||||
per-chunk values. For example, "fix ave/chunk"_fix_ave_chunk.html or
|
||||
"fix ave/time"_fix_ave_time.html (assuming it is time-averaging
|
||||
per-chunk data).
|
||||
|
||||
@ -15,8 +15,9 @@ compute ID group-ID coord/atom cstyle args ... :pre
|
||||
ID, group-ID are documented in "compute"_compute.html command :ulb,l
|
||||
coord/atom = style name of this compute command :l
|
||||
cstyle = {cutoff} or {orientorder} :l
|
||||
{cutoff} args = cutoff typeN
|
||||
{cutoff} args = cutoff \[group group2-ID\] typeN
|
||||
cutoff = distance within which to count coordination neighbors (distance units)
|
||||
group {group2-ID} = select group-ID to restrict which atoms to consider for coordination number (optional)
|
||||
typeN = atom type for Nth coordination count (see asterisk form below)
|
||||
{orientorder} args = orientorderID threshold
|
||||
orientorderID = ID of an orientorder/atom compute
|
||||
@ -28,6 +29,7 @@ cstyle = {cutoff} or {orientorder} :l
|
||||
compute 1 all coord/atom cutoff 2.0
|
||||
compute 1 all coord/atom cutoff 6.0 1 2
|
||||
compute 1 all coord/atom cutoff 6.0 2*4 5*8 *
|
||||
compute 1 solute coord/atom cutoff 2.0 group solvent
|
||||
compute 1 all coord/atom orientorder 2 0.5 :pre
|
||||
|
||||
[Description:]
|
||||
@ -38,9 +40,14 @@ meaning of the resulting value depend on the {cstyle} keyword used.
|
||||
|
||||
The {cutoff} cstyle calculates one or more traditional coordination
|
||||
numbers for each atom. A coordination number is defined as the number
|
||||
of neighbor atoms with specified atom type(s) that are within the
|
||||
specified cutoff distance from the central atom. Atoms not in the
|
||||
specified group are included in the coordination number tally.
|
||||
of neighbor atoms with specified atom type(s), and optionally within
|
||||
the specified group, that are within the specified cutoff distance from
|
||||
the central atom. The compute group selects only the central atoms; all
|
||||
neighboring atoms, unless selected by type, type range, or group option,
|
||||
are included in the coordination number tally.
|
||||
|
||||
The optional {group} keyword allows to specify from which group atoms
|
||||
contribute to the coordination number. Default setting is group 'all'.
|
||||
|
||||
The {typeN} keywords allow specification of which atom types
|
||||
contribute to each coordination number. One coordination number is
|
||||
@ -122,7 +129,9 @@ explained above.
|
||||
"compute cluster/atom"_compute_cluster_atom.html
|
||||
"compute orientorder/atom"_compute_orientorder_atom.html
|
||||
|
||||
[Default:] none
|
||||
[Default:]
|
||||
|
||||
group = all
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -96,7 +96,7 @@ group. The argument {maxedge} of the this keyword is the largest number
|
||||
of edges on a single Voronoi cell face expected to occur in the
|
||||
sample. This keyword adds the generation of a global vector with
|
||||
{maxedge}+1 entries. The last entry in the vector contains the number of
|
||||
faces with with more than {maxedge} edges. Since the polygon with the
|
||||
faces with more than {maxedge} edges. Since the polygon with the
|
||||
smallest amount of edges is a triangle, entries 1 and 2 of the vector
|
||||
will always be zero.
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@ division by sin(74.4)*sin(48.1) (the minima positions for theta1 and theta2).
|
||||
|
||||
The following coefficients must be defined for each dihedral type via the
|
||||
"dihedral_coeff"_dihedral_coeff.html command as in the example above, or in
|
||||
the Dihedral Coeffs section of a data file file read by the
|
||||
the Dihedral Coeffs section of a data file read by the
|
||||
"read_data"_read_data.html command:
|
||||
|
||||
n (integer >= 1)
|
||||
|
||||
@ -174,7 +174,7 @@ radians instead of degrees. (Note: This changes the way the forces
|
||||
are scaled in the 4th column of the data file.)
|
||||
|
||||
The optional "CHECKU" keyword is followed by a filename. This allows
|
||||
the user to save all of the the {Ntable} different entries in the
|
||||
the user to save all of the {Ntable} different entries in the
|
||||
interpolated energy table to a file to make sure that the interpolated
|
||||
function agrees with the user's expectations. (Note: You can
|
||||
temporarily increase the {Ntable} parameter to a high value for this
|
||||
|
||||
@ -21,7 +21,7 @@ dump ID group-ID style N file args :pre
|
||||
|
||||
ID = user-assigned name for the dump :ulb,l
|
||||
group-ID = ID of the group of atoms to be dumped :l
|
||||
style = {atom} or {atom/gz} or {atom/mpiio} or {cfg} or {cfg/gz} or {cfg/mpiio} or {custom} or {custom/gz} or {custom/mpiio} or {dcd} or {h5md} or {image} or or {local} or {molfile} or {movie} or {netcdf} or {netcdf/mpiio} or {vtk} or {xtc} or {xyz} or {xyz/gz} or {xyz/mpiio} :l
|
||||
style = {atom} or {atom/gz} or {atom/mpiio} or {cfg} or {cfg/gz} or {cfg/mpiio} or {custom} or {custom/gz} or {custom/mpiio} or {dcd} or {h5md} or {image} or {local} or {molfile} or {movie} or {netcdf} or {netcdf/mpiio} or {vtk} or {xtc} or {xyz} or {xyz/gz} or {xyz/mpiio} :l
|
||||
N = dump every this many timesteps :l
|
||||
file = name of file to write dump info to :l
|
||||
args = list of arguments for a particular style :l
|
||||
@ -196,7 +196,7 @@ For post-processing purposes the {atom}, {local}, and {custom} text
|
||||
files are self-describing in the following sense.
|
||||
|
||||
The dimensions of the simulation box are included in each snapshot.
|
||||
For an orthogonal simulation box this information is is formatted as:
|
||||
For an orthogonal simulation box this information is formatted as:
|
||||
|
||||
ITEM: BOX BOUNDS xx yy zz
|
||||
xlo xhi
|
||||
@ -619,7 +619,7 @@ should be replaced by the actual name of the variable that has been
|
||||
defined previously in the input script. Only an atom-style variable
|
||||
can be referenced, since it is the only style that generates per-atom
|
||||
values. Variables of style {atom} can reference individual atom
|
||||
attributes, per-atom atom attributes, thermodynamic keywords, or
|
||||
attributes, per-atom attributes, thermodynamic keywords, or
|
||||
invoke other computes, fixes, or variables when they are evaluated, so
|
||||
this is a very general means of creating quantities to output to a
|
||||
dump file.
|
||||
|
||||
@ -310,7 +310,7 @@ NOTE: Atom and molecule IDs are stored internally as 4-byte or 8-byte
|
||||
signed integers, depending on how LAMMPS was compiled. When
|
||||
specifying the {format int} option you can use a "%d"-style format
|
||||
identifier in the format string and LAMMPS will convert this to the
|
||||
corresponding 8-byte form it it is needed when outputting those
|
||||
corresponding 8-byte form if it is needed when outputting those
|
||||
values. However, when specifying the {line} option or {format M
|
||||
string} option for those values, you should specify a format string
|
||||
appropriate for an 8-byte signed integer, e.g. one with "%ld", if
|
||||
|
||||
@ -321,20 +321,16 @@ accelerated styles exist.
|
||||
"restrain"_fix_restrain.html - constrain a bond, angle, dihedral
|
||||
"rhok"_fix_rhok.html -
|
||||
"rigid"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NVE integration
|
||||
"rigid/nph"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NPH integration
|
||||
"rigid/nph/small"_fix_rigid.html -
|
||||
"rigid/npt"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NPT integration
|
||||
"rigid/npt/small"_fix_rigid.html -
|
||||
"rigid/nve"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with alternate NVE integration
|
||||
"rigid/nve/small"_fix_rigid.html -
|
||||
"rigid/nvt"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NVT integration
|
||||
"rigid/nvt/small"_fix_rigid.html -
|
||||
"rigid/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVE integration
|
||||
"rigid/small/nph"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NPH integration
|
||||
"rigid/small/npt"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NPT integration
|
||||
"rigid/small/nve"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with alternate NVE integration
|
||||
"rigid/small/nvt"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVT integration
|
||||
"rigid/meso"_fix_rigid_meso.html - constrain clusters of mesoscopic SPH/SDPD particles to move as a rigid body
|
||||
"rigid/nph"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NPH integration
|
||||
"rigid/nph/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NPH integration
|
||||
"rigid/npt"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NPT integration
|
||||
"rigid/npt/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NPT integration
|
||||
"rigid/nve"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with alternate NVE integration
|
||||
"rigid/nve/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with alternate NVE integration
|
||||
"rigid/nvt"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NVT integration
|
||||
"rigid/nvt/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVT integration
|
||||
"rigid/small"_fix_rigid.html - constrain many small clusters of atoms to move as a rigid body with NVE integration
|
||||
"rx"_fix_rx.html -
|
||||
"saed/vtk"_fix_saed_vtk.html -
|
||||
"setforce"_fix_setforce.html - set the force on each atom
|
||||
|
||||
@ -141,11 +141,16 @@ specify if this should be done.
|
||||
|
||||
This fix writes the state of the fix to "binary restart
|
||||
files"_restart.html. This includes information about the random
|
||||
number generator seed, the next timestep for MC exchanges, etc. See
|
||||
number generator seed, the next timestep for MC exchanges, the number
|
||||
of exchange attempts and successes etc. See
|
||||
the "read_restart"_read_restart.html command for info on how to
|
||||
re-specify a fix in an input script that reads a restart file, so that
|
||||
the operation of the fix continues in an uninterrupted fashion.
|
||||
|
||||
NOTE: For this to work correctly, the timestep must [not] be changed
|
||||
after reading the restart with "reset_timestep"_reset_timestep.html.
|
||||
The fix will try to detect it and stop with an error.
|
||||
|
||||
None of the "fix_modify"_fix_modify.html options are relevant to this
|
||||
fix.
|
||||
|
||||
|
||||
@ -361,7 +361,7 @@ computes that calculate a temperature to see which ones implement a
|
||||
bias.
|
||||
|
||||
The {adof} and {cdof} keywords define the values used in the degree of
|
||||
freedom (DOF) formula described above for for temperature calculation
|
||||
freedom (DOF) formula described above for temperature calculation
|
||||
for each chunk. They are only used when the {temp} value is
|
||||
calculated. They can be used to calculate a more appropriate
|
||||
temperature for some kinds of chunks. Here are 3 examples:
|
||||
|
||||
@ -18,8 +18,8 @@ fix ID group-ID bond/react common_keyword values ...
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command. Group-ID is ignored. :ulb,l
|
||||
bond/react = style name of this fix command :l
|
||||
zero or more common keyword/value pairs may be appended directly after 'bond/react' :l
|
||||
these apply to all reaction specifications (below) :l
|
||||
the common keyword/values may be appended directly after 'bond/react' :l
|
||||
this applies to all reaction specifications (below) :l
|
||||
common_keyword = {stabilization} :l
|
||||
{stabilization} values = {no} or {yes} {group-ID} {xmax}
|
||||
{no} = no reaction site stabilization
|
||||
@ -136,10 +136,12 @@ words, can be customized for each reaction, or reaction step):
|
||||
A check for possible new reaction sites is performed every {Nevery}
|
||||
timesteps.
|
||||
|
||||
Two conditions must be met for a reaction to occur. First a bonding
|
||||
atom pair must be identified. Second, the topology surrounding the
|
||||
bonding atom pair must match the topology of the pre-reaction
|
||||
template. If both these conditions are met, the reaction site is
|
||||
Three physical conditions must be met for a reaction to occur. First,
|
||||
a bonding atom pair must be identified within the reaction distance
|
||||
cutoffs. Second, the topology surrounding the bonding atom pair must
|
||||
match the topology of the pre-reaction template. Finally, any reaction
|
||||
constraints listed in the map file (see below) must be satisfied. If
|
||||
all of these conditions are met, the reaction site is eligible to be
|
||||
modified to match the post-reaction template.
|
||||
|
||||
A bonding atom pair will be identified if several conditions are met.
|
||||
@ -203,14 +205,24 @@ new types must also be defined during the setup of a given simulation.
|
||||
A discussion of correctly handling this is also provided on the
|
||||
"molecule"_molecule.html command page.
|
||||
|
||||
NOTE: When a reaction occurs, it is possible that the resulting
|
||||
topology/atom (e.g. special bonds, dihedrals, etc.) exceeds that of
|
||||
the existing system and reaction templates. As when inserting
|
||||
molecules, enough space for this increased topology/atom must be
|
||||
reserved by using the relevant "extra" keywords to the
|
||||
"read_data"_read_data.html or "create_box"_create_box.html commands.
|
||||
|
||||
The map file is a text document with the following format:
|
||||
|
||||
A map file has a header and a body. The header of map file the
|
||||
contains one mandatory keyword and three optional keywords. The
|
||||
mandatory keyword is 'equivalences' and the optional keywords are
|
||||
'edgeIDs' and 'deleteIDs' and 'customIDs':
|
||||
contains one mandatory keyword and four optional keywords. The
|
||||
mandatory keyword is 'equivalences':
|
||||
|
||||
N {equivalences} = # of atoms N in the reaction molecule templates :pre
|
||||
|
||||
The optional keywords are 'edgeIDs', 'deleteIDs', 'customIDs' and
|
||||
'constraints':
|
||||
|
||||
N {equivalences} = # of atoms N in the reaction molecule templates
|
||||
N {edgeIDs} = # of edge atoms N in the pre-reacted molecule template
|
||||
N {deleteIDs} = # of atoms N that are specified for deletion
|
||||
N {customIDs} = # of atoms N that are specified for a custom update
|
||||
@ -244,8 +256,8 @@ A sample map file is given below:
|
||||
|
||||
# this is a map file :pre
|
||||
|
||||
2 edgeIDs
|
||||
7 equivalences :pre
|
||||
7 equivalences
|
||||
2 edgeIDs :pre
|
||||
|
||||
BondingIDs :pre
|
||||
|
||||
@ -297,26 +309,25 @@ can allow for the possibility of one or more reverse reactions.
|
||||
|
||||
The optional keywords deal with the probability of a given reaction
|
||||
occurring as well as the stable equilibration of each reaction site as
|
||||
it occurs.
|
||||
it occurs:
|
||||
|
||||
The {prob} keyword can affect whether an eligible reaction actually
|
||||
occurs. The fraction setting must be a value between 0.0 and 1.0. A
|
||||
uniform random number between 0.0 and 1.0 is generated and the
|
||||
The {prob} keyword can affect whether or not an eligible reaction
|
||||
actually occurs. The fraction setting must be a value between 0.0 and
|
||||
1.0. A uniform random number between 0.0 and 1.0 is generated and the
|
||||
eligible reaction only occurs if the random number is less than the
|
||||
fraction. Up to N reactions are permitted to occur, as optionally
|
||||
specified by the {max_rxn} keyword.
|
||||
|
||||
The {stabilize_steps} keyword allows for the specification of how many
|
||||
timesteps a reaction site is stabilized before being returned to the
|
||||
overall system thermostat.
|
||||
|
||||
In order to produce the most physical behavior, this 'reaction site
|
||||
equilibration time' should be tuned to be as small as possible while
|
||||
retaining stability for a given system or reaction step. After a
|
||||
limited number of case studies, this number has been set to a default
|
||||
of 60 timesteps. Ideally, it should be individually tuned for each fix
|
||||
reaction step. Note that in some situations, decreasing rather than
|
||||
increasing this parameter will result in an increase in stability.
|
||||
overall system thermostat. In order to produce the most physical
|
||||
behavior, this 'reaction site equilibration time' should be tuned to
|
||||
be as small as possible while retaining stability for a given system
|
||||
or reaction step. After a limited number of case studies, this number
|
||||
has been set to a default of 60 timesteps. Ideally, it should be
|
||||
individually tuned for each fix reaction step. Note that in some
|
||||
situations, decreasing rather than increasing this parameter will
|
||||
result in an increase in stability.
|
||||
|
||||
The {update_edges} keyword can increase the number of atoms whose
|
||||
atomic charges are updated, when the pre-reaction template contains
|
||||
@ -324,11 +335,11 @@ edge atoms. When the value is set to 'charges,' all atoms' atomic
|
||||
charges are updated to those specified by the post-reaction template,
|
||||
including atoms near the edge of reaction templates. When the value is
|
||||
set to 'custom,' an additional section must be included in the map
|
||||
file that specifies whether to update charges, on a per-atom basis.
|
||||
The format of this section is detailed above. Listing a pre-reaction
|
||||
atom ID with a value of 'charges' will force the update of the atom's
|
||||
charge, even if it is near a template edge. Atoms not near a template
|
||||
edge are unaffected by this setting.
|
||||
file that specifies whether or not to update charges, on a per-atom
|
||||
basis. The format of this section is detailed above. Listing a
|
||||
pre-reaction atom ID with a value of 'charges' will force the update
|
||||
of the atom's charge, even if it is near a template edge. Atoms not
|
||||
near a template edge are unaffected by this setting.
|
||||
|
||||
A few other considerations:
|
||||
|
||||
|
||||
@ -98,6 +98,16 @@ fix to add the energy change from the biasing force added by the fix
|
||||
to the system's potential energy as part of "thermodynamic
|
||||
output"_thermo_style.html.
|
||||
|
||||
The {fix_modify configfile <config file>} option allows to add settings
|
||||
from an additional config file to the colvars module. This option can
|
||||
only be used, after the system has been initialized with a "run"_run.html
|
||||
command.
|
||||
|
||||
The {fix_modify config <quoted string>} option allows to add settings
|
||||
from inline strings. Those have to fit on a single line when enclosed
|
||||
in a pair of double quotes ("), or can span multiple lines when bracketed
|
||||
by a pair of triple double quotes (""", like python embedded documentation).
|
||||
|
||||
This fix computes a global scalar which can be accessed by various
|
||||
"output commands"_Howto_output.html. The scalar is the cumulative
|
||||
energy change due to this fix. The scalar value calculated by this
|
||||
|
||||
@ -261,6 +261,10 @@ next timestep for deposition, etc. See the
|
||||
a fix in an input script that reads a restart file, so that the
|
||||
operation of the fix continues in an uninterrupted fashion.
|
||||
|
||||
NOTE: For this to work correctly, the timestep must [not] be changed
|
||||
after reading the restart with "reset_timestep"_reset_timestep.html.
|
||||
The fix will try to detect it and stop with an error.
|
||||
|
||||
None of the "fix_modify"_fix_modify.html options are relevant to this
|
||||
fix. No global or per-atom quantities are stored by this fix for
|
||||
access by various "output commands"_Howto_output.html. No parameter
|
||||
|
||||
@ -373,11 +373,16 @@ adds all inserted atoms of the specified type to the
|
||||
|
||||
This fix writes the state of the fix to "binary restart
|
||||
files"_restart.html. This includes information about the random
|
||||
number generator seed, the next timestep for MC exchanges, etc. See
|
||||
number generator seed, the next timestep for MC exchanges, the number
|
||||
of MC step attempts and successes etc. See
|
||||
the "read_restart"_read_restart.html command for info on how to
|
||||
re-specify a fix in an input script that reads a restart file, so that
|
||||
the operation of the fix continues in an uninterrupted fashion.
|
||||
|
||||
NOTE: For this to work correctly, the timestep must [not] be changed
|
||||
after reading the restart with "reset_timestep"_reset_timestep.html.
|
||||
The fix will try to detect it and stop with an error.
|
||||
|
||||
None of the "fix_modify"_fix_modify.html options are relevant to this
|
||||
fix.
|
||||
|
||||
|
||||
@ -113,12 +113,11 @@ state of the system, e.g. via a "write_dump"_write_dump.html or
|
||||
"write_restart"_write_restart.html command.
|
||||
|
||||
If its value is {continue}, the behavior is the same as for {soft},
|
||||
except subsequent subsequent "run"_run.html or
|
||||
"minimize"_minimize.html commands are executed. This allows your
|
||||
script to remedy the condition that triggered the halt, if necessary.
|
||||
Note that you may wish use the "unfix"_unfix.html command on the fix
|
||||
halt ID, so that the same condition is not immediately triggered in a
|
||||
subsequent run.
|
||||
except subsequent "run"_run.html or "minimize"_minimize.html commands
|
||||
are executed. This allows your script to remedy the condition that
|
||||
triggered the halt, if necessary. Note that you may wish use the
|
||||
"unfix"_unfix.html command on the fix halt ID, so that the same
|
||||
condition is not immediately triggered in a subsequent run.
|
||||
|
||||
The optional {message} keyword determines whether a message is printed
|
||||
to the screen and logfile when the halt condition is triggered. If
|
||||
|
||||
@ -188,7 +188,7 @@ No information about this fix is written to "binary restart
|
||||
files"_restart.html.
|
||||
|
||||
The "fix_modify"_fix_modify.html {energy} option is supported by this
|
||||
fix to add the energy of the bias potential to the the system's
|
||||
fix to add the energy of the bias potential to the system's
|
||||
potential energy as part of "thermodynamic output"_thermo_style.html.
|
||||
|
||||
This fix computes a global scalar and global vector of length 12, which
|
||||
|
||||
@ -301,7 +301,7 @@ No information about this fix is written to "binary restart
|
||||
files"_restart.html.
|
||||
|
||||
The "fix_modify"_fix_modify.html {energy} option is supported by this
|
||||
fix to add the energy of the bias potential to the the system's
|
||||
fix to add the energy of the bias potential to the system's
|
||||
potential energy as part of "thermodynamic output"_thermo_style.html.
|
||||
|
||||
This fix computes a global scalar and global vector of length 21,
|
||||
@ -322,13 +322,13 @@ vector stores the following quantities:
|
||||
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)
|
||||
12 = max bias coeff for any bond during this run (unitless) :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
|
||||
17 = count of bias overlaps (< Dcut) found during this run :ul
|
||||
|
||||
18 = cumulative hyper time since fix created (time units)
|
||||
19 = cumulative count of event timesteps since fix created
|
||||
|
||||
@ -14,19 +14,23 @@ fix ID group precession/spin style args :pre
|
||||
|
||||
ID, group are documented in "fix"_fix.html command :ulb,l
|
||||
precession/spin = style name of this fix command :l
|
||||
style = {zeeman} or {anisotropy} :l
|
||||
style = {zeeman} or {anisotropy} or {cubic} :l
|
||||
{zeeman} args = H x y z
|
||||
H = intensity of the magnetic field (in Tesla)
|
||||
x y z = vector direction of the field
|
||||
{anisotropy} args = K x y z
|
||||
K = intensity of the magnetic anisotropy (in eV)
|
||||
x y z = vector direction of the anisotropy :pre
|
||||
{cubic} args = K1 K2c n1x n1y n1x n2x n2y n2z n3x n3y n3z
|
||||
K1 and K2c = intensity of the magnetic anisotropy (in eV)
|
||||
n1x to n3z = three direction vectors of the cubic anisotropy :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0
|
||||
fix 1 all precession/spin anisotropy 0.001 0.0 0.0 1.0
|
||||
fix 1 3 precession/spin anisotropy 0.001 0.0 0.0 1.0
|
||||
fix 1 iron precession/spin cubic 0.001 0.0005 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0
|
||||
fix 1 all precession/spin zeeman 0.1 0.0 0.0 1.0 anisotropy 0.001 0.0 0.0 1.0 :pre
|
||||
|
||||
[Description:]
|
||||
@ -50,10 +54,29 @@ for the magnetic spins in the defined group:
|
||||
with n defining the direction of the anisotropy, and K (in eV) its intensity.
|
||||
If K>0, an easy axis is defined, and if K<0, an easy plane is defined.
|
||||
|
||||
In both cases, the choice of (x y z) imposes the vector direction for the force.
|
||||
Only the direction of the vector is important; it's length is ignored.
|
||||
Style {cubic} is used to simulate a cubic anisotropy, with three
|
||||
possible easy axis for the magnetic spins in the defined group:
|
||||
|
||||
Both styles can be combined within one single command line.
|
||||
:c,image(Eqs/fix_spin_cubic.jpg)
|
||||
|
||||
with K1 and K2c (in eV) the intensity coefficients and
|
||||
n1, n2 and n3 defining the three anisotropic directions
|
||||
defined by the command (from n1x to n3z).
|
||||
For n1 = (100), n2 = (010), and n3 = (001), K1 < 0 defines an
|
||||
iron type anisotropy (easy axis along the (001)-type cube
|
||||
edges), and K1 > 0 defines a nickel type anisotropy (easy axis
|
||||
along the (111)-type cube diagonals).
|
||||
K2^c > 0 also defines easy axis along the (111)-type cube
|
||||
diagonals.
|
||||
See chapter 2 of "(Skomski)"_#Skomski1 for more details on cubic
|
||||
anisotropies.
|
||||
|
||||
In all cases, the choice of (x y z) only imposes the vector
|
||||
directions for the forces. Only the direction of the vector is
|
||||
important; it's length is ignored (the entered vectors are
|
||||
normalized).
|
||||
|
||||
Those styles can be combined within one single command line.
|
||||
|
||||
:line
|
||||
|
||||
@ -85,3 +108,9 @@ package"_Build_package.html doc page for more info.
|
||||
"atom_style spin"_atom_style.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(Skomski1)
|
||||
[(Skomski)] Skomski, R. (2008). Simple models of magnetism.
|
||||
Oxford University Press.
|
||||
|
||||
@ -14,7 +14,7 @@ fix ID group-ID print N string keyword value ... :pre
|
||||
|
||||
ID, group-ID are documented in "fix"_fix.html command :ulb,l
|
||||
print = style name of this fix command :l
|
||||
N = print every N steps :l
|
||||
N = print every N steps; N can be a variable (see below) :l
|
||||
string = text string to print with optional variable names :l
|
||||
zero or more keyword/value pairs may be appended :l
|
||||
keyword = {file} or {append} or {screen} or {title} :l
|
||||
@ -40,6 +40,21 @@ If it contains variables it must be enclosed in double quotes to
|
||||
insure they are not evaluated when the input script line is read, but
|
||||
will instead be evaluated each time the string is printed.
|
||||
|
||||
Instead of a numeric value, N can be specified as an "equal-style
|
||||
variable"_variable.html, which should be specified as v_name, where
|
||||
name is the variable name. In this case, the variable is evaluated at
|
||||
the beginning of a run to determine the [next] timestep at which the
|
||||
string will be written out. On that timestep, the variable will be
|
||||
evaluated again to determine the next timestep, etc.
|
||||
Thus the variable should return timestep values. See the stagger()
|
||||
and logfreq() and stride() math functions for "equal-style
|
||||
variables"_variable.html, as examples of useful functions to use in
|
||||
this context. For example, the following commands will print output at
|
||||
timesteps 10,20,30,100,200,300,1000,2000,etc:
|
||||
|
||||
variable s equal logfreq(10,3,10)
|
||||
fix extra all print v_s "Coords of marker atom = $x $y $z" :pre
|
||||
|
||||
The specified group-ID is ignored by this fix.
|
||||
|
||||
See the "variable"_variable.html command for a description of {equal}
|
||||
|
||||
@ -574,6 +574,8 @@ pair_dipole.html
|
||||
pair_dpd.html
|
||||
pair_dpd_fdt.html
|
||||
pair_dsmc.html
|
||||
pair_e3b.html
|
||||
pair_drip.html
|
||||
pair_eam.html
|
||||
pair_edip.html
|
||||
pair_eff.html
|
||||
|
||||
@ -124,7 +124,7 @@ so that they describe a tilted parallelepiped. Via the {basis}
|
||||
keyword you add atoms, one at a time, to the unit cell. Its arguments
|
||||
are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector
|
||||
x of a basis atom within the unit cell is thus a linear combination of
|
||||
the the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3,
|
||||
the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3,
|
||||
where bx,by,bz are the 3 values specified for the {basis} keyword.
|
||||
|
||||
:line
|
||||
|
||||
@ -396,7 +396,7 @@ If flag = 0, no a,b,c,d values are listed on the line, just the
|
||||
If flag = 1, a,b,c are listed, where a = ID of central atom in the
|
||||
angle, and b,c the other two atoms in the angle.
|
||||
|
||||
If flag = 2, a,b are listed, where a = ID of atom in bond with the the
|
||||
If flag = 2, a,b are listed, where a = ID of atom in bond with the
|
||||
lowest ID, and b = ID of atom in bond with the highest ID.
|
||||
|
||||
If flag = 3, a,b,c are listed, where a = ID of central atom,
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
:line
|
||||
|
||||
neb command :h3
|
||||
neb/spin command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
|
||||
@ -187,9 +187,9 @@ used in neighbor list construction to sort and find neighboring atoms.
|
||||
By default, for "neighbor style bin"_neighbor.html, LAMMPS uses bins
|
||||
that are 1/2 the size of the maximum pair cutoff. For "neighbor style
|
||||
multi"_neighbor.html, the bins are 1/2 the size of the minimum pair
|
||||
cutoff. Typically these are good values values for minimizing the
|
||||
time for neighbor list construction. This setting overrides the
|
||||
default. If you make it too big, there is little overhead due to
|
||||
cutoff. Typically these are good values for minimizing the time for
|
||||
neighbor list construction. This setting overrides the default.
|
||||
If you make it too big, there is little overhead due to
|
||||
looping over bins, but more atoms are checked. If you make it too
|
||||
small, the optimal number of atoms is checked, but bin overhead goes
|
||||
up. If you set the binsize to 0.0, LAMMPS will use the default
|
||||
|
||||
@ -56,7 +56,7 @@ bin size is set to 1/2 of the shortest cutoff distance and multiple
|
||||
sets of bins are defined to search over for different atom types.
|
||||
This imposes some extra setup overhead, but the searches themselves
|
||||
may be much faster for the short-cutoff cases. See the "comm_modify
|
||||
mode multi"_comm_modify.html command for a communication option option
|
||||
mode multi"_comm_modify.html command for a communication option
|
||||
that may also be beneficial for simulations of this kind.
|
||||
|
||||
The "neigh_modify"_neigh_modify.html command has additional options
|
||||
|
||||
@ -64,7 +64,7 @@ args = arguments specific to the style :l
|
||||
{no_affinity} values = none
|
||||
{kokkos} args = keyword value ...
|
||||
zero or more keyword/value pairs may be appended
|
||||
keywords = {neigh} or {neigh/qeq} or {newton} or {binsize} or {comm} or {comm/exchange} or {comm/forward} or {comm/reverse}
|
||||
keywords = {neigh} or {neigh/qeq} or {newton} or {binsize} or {comm} or {comm/exchange} or {comm/forward} or {comm/reverse} or {gpu/direct}
|
||||
{neigh} value = {full} or {half}
|
||||
full = full neighbor list
|
||||
half = half neighbor list built in thread-safe manner
|
||||
@ -72,7 +72,7 @@ args = arguments specific to the style :l
|
||||
full = full neighbor list
|
||||
half = half neighbor list built in thread-safe manner
|
||||
{newton} = {off} or {on}
|
||||
off = set Newton pairwise and bonded flags off (default)
|
||||
off = set Newton pairwise and bonded flags off
|
||||
on = set Newton pairwise and bonded flags on
|
||||
{binsize} value = size
|
||||
size = bin size for neighbor list construction (distance units)
|
||||
@ -422,101 +422,103 @@ processes/threads used for LAMMPS.
|
||||
|
||||
:line
|
||||
|
||||
The {kokkos} style invokes settings associated with the use of the
|
||||
KOKKOS package.
|
||||
The {kokkos} style invokes settings associated with the use of the
|
||||
KOKKOS package.
|
||||
|
||||
All of the settings are optional keyword/value pairs. Each has a
|
||||
default value as listed below.
|
||||
All of the settings are optional keyword/value pairs. Each has a default
|
||||
value as listed below.
|
||||
|
||||
The {neigh} keyword determines how neighbor lists are built. A value
|
||||
of {half} uses a thread-safe variant of half-neighbor lists,
|
||||
the same as used by most pair styles in LAMMPS.
|
||||
The {neigh} keyword determines how neighbor lists are built. A value of
|
||||
{half} uses a thread-safe variant of half-neighbor lists, the same as
|
||||
used by most pair styles in LAMMPS, which is the default when running on
|
||||
CPUs (i.e. the Kokkos CUDA back end is not enabled).
|
||||
|
||||
A value of {full} uses a full neighbor lists and is the default. This
|
||||
performs twice as much computation as the {half} option, however that
|
||||
is often a win because it is thread-safe and doesn't require atomic
|
||||
operations in the calculation of pair forces. For that reason, {full}
|
||||
is the default setting. However, when running in MPI-only mode with 1
|
||||
thread per MPI task, {half} neighbor lists will typically be faster,
|
||||
just as it is for non-accelerated pair styles. Similarly, the {neigh/qeq}
|
||||
keyword determines how neighbor lists are built for "fix qeq/reax/kk"_fix_qeq_reax.html.
|
||||
If not explicitly set, the value of {neigh/qeq} will match {neigh}.
|
||||
A value of {full} uses a full neighbor lists and is the default when
|
||||
running on GPUs. This performs twice as much computation as the {half}
|
||||
option, however that is often a win because it is thread-safe and
|
||||
doesn't require atomic operations in the calculation of pair forces. For
|
||||
that reason, {full} is the default setting for GPUs. However, when
|
||||
running on CPUs, a {half} neighbor list is the default because it are
|
||||
often faster, just as it is for non-accelerated pair styles. Similarly,
|
||||
the {neigh/qeq} keyword determines how neighbor lists are built for "fix
|
||||
qeq/reax/kk"_fix_qeq_reax.html. If not explicitly set, the value of
|
||||
{neigh/qeq} will match {neigh}.
|
||||
|
||||
The {newton} keyword sets the Newton flags for pairwise and bonded
|
||||
interactions to {off} or {on}, the same as the "newton"_newton.html
|
||||
command allows. The default is {off} because this will almost always
|
||||
give better performance for the KOKKOS package. This means more
|
||||
computation is done, but less communication. However, when running in
|
||||
MPI-only mode with 1 thread per MPI task, a value of {on} will
|
||||
typically be faster, just as it is for non-accelerated pair styles.
|
||||
The {newton} keyword sets the Newton flags for pairwise and bonded
|
||||
interactions to {off} or {on}, the same as the "newton"_newton.html
|
||||
command allows. The default for GPUs is {off} because this will almost
|
||||
always give better performance for the KOKKOS package. This means more
|
||||
computation is done, but less communication. However, when running on
|
||||
CPUs a value of {on} is the default since it can often be faster, just
|
||||
as it is for non-accelerated pair styles
|
||||
|
||||
The {binsize} keyword sets the size of bins used to bin atoms in
|
||||
neighbor list builds. The same value can be set by the "neigh_modify
|
||||
binsize"_neigh_modify.html command. Making it an option in the
|
||||
package kokkos command allows it to be set from the command line. The
|
||||
default value is 0.0, which means the LAMMPS default will be used,
|
||||
which is bins = 1/2 the size of the pairwise cutoff + neighbor skin
|
||||
distance. This is fine when neighbor lists are built on the CPU. For
|
||||
GPU builds, a 2x larger binsize equal to the pairwise cutoff +
|
||||
neighbor skin, is often faster, which can be set by this keyword.
|
||||
Note that if you use a longer-than-usual pairwise cutoff, e.g. to
|
||||
allow for a smaller fraction of KSpace work with a "long-range
|
||||
Coulombic solver"_kspace_style.html because the GPU is faster at
|
||||
performing pairwise interactions, then this rule of thumb may give too
|
||||
large a binsize.
|
||||
The {binsize} keyword sets the size of bins used to bin atoms in
|
||||
neighbor list builds. The same value can be set by the "neigh_modify
|
||||
binsize"_neigh_modify.html command. Making it an option in the package
|
||||
kokkos command allows it to be set from the command line. The default
|
||||
value for CPUs is 0.0, which means the LAMMPS default will be used,
|
||||
which is bins = 1/2 the size of the pairwise cutoff + neighbor skin
|
||||
distance. This is fine when neighbor lists are built on the CPU. For GPU
|
||||
builds, a 2x larger binsize equal to the pairwise cutoff + neighbor skin
|
||||
is often faster, which is the default. Note that if you use a
|
||||
longer-than-usual pairwise cutoff, e.g. to allow for a smaller fraction
|
||||
of KSpace work with a "long-range Coulombic solver"_kspace_style.html
|
||||
because the GPU is faster at performing pairwise interactions, then this
|
||||
rule of thumb may give too large a binsize and the default should be
|
||||
overridden with a smaller value.
|
||||
|
||||
The {comm} and {comm/exchange} and {comm/forward} and {comm/reverse} keywords determine
|
||||
whether the host or device performs the packing and unpacking of data
|
||||
when communicating per-atom data between processors. "Exchange"
|
||||
communication happens only on timesteps that neighbor lists are
|
||||
rebuilt. The data is only for atoms that migrate to new processors.
|
||||
"Forward" communication happens every timestep. "Reverse" communication
|
||||
happens every timestep if the {newton} option is on. The data is for atom
|
||||
coordinates and any other atom properties that needs to be updated for
|
||||
ghost atoms owned by each processor.
|
||||
The {comm} and {comm/exchange} and {comm/forward} and {comm/reverse}
|
||||
keywords determine whether the host or device performs the packing and
|
||||
unpacking of data when communicating per-atom data between processors.
|
||||
"Exchange" communication happens only on timesteps that neighbor lists
|
||||
are rebuilt. The data is only for atoms that migrate to new processors.
|
||||
"Forward" communication happens every timestep. "Reverse" communication
|
||||
happens every timestep if the {newton} option is on. The data is for
|
||||
atom coordinates and any other atom properties that needs to be updated
|
||||
for ghost atoms owned by each processor.
|
||||
|
||||
The {comm} keyword is simply a short-cut to set the same value
|
||||
for both the {comm/exchange} and {comm/forward} and {comm/reverse} keywords.
|
||||
The {comm} keyword is simply a short-cut to set the same value for both
|
||||
the {comm/exchange} and {comm/forward} and {comm/reverse} keywords.
|
||||
|
||||
The value options for all 3 keywords are {no} or {host} or {device}.
|
||||
A value of {no} means to use the standard non-KOKKOS method of
|
||||
packing/unpacking data for the communication. A value of {host} means
|
||||
to use the host, typically a multi-core CPU, and perform the
|
||||
packing/unpacking in parallel with threads. A value of {device}
|
||||
means to use the device, typically a GPU, to perform the
|
||||
packing/unpacking operation.
|
||||
The value options for all 3 keywords are {no} or {host} or {device}. A
|
||||
value of {no} means to use the standard non-KOKKOS method of
|
||||
packing/unpacking data for the communication. A value of {host} means to
|
||||
use the host, typically a multi-core CPU, and perform the
|
||||
packing/unpacking in parallel with threads. A value of {device} means to
|
||||
use the device, typically a GPU, to perform the packing/unpacking
|
||||
operation.
|
||||
|
||||
The optimal choice for these keywords depends on the input script and
|
||||
the hardware used. The {no} value is useful for verifying that the
|
||||
Kokkos-based {host} and {device} values are working correctly.
|
||||
It may also be the fastest choice when using Kokkos styles in
|
||||
MPI-only mode (i.e. with a thread count of 1).
|
||||
The optimal choice for these keywords depends on the input script and
|
||||
the hardware used. The {no} value is useful for verifying that the
|
||||
Kokkos-based {host} and {device} values are working correctly. It is the
|
||||
default when running on CPUs since it is usually the fastest.
|
||||
|
||||
When running on CPUs or Xeon Phi, the {host} and {device} values work
|
||||
identically. When using GPUs, the {device} value will typically be
|
||||
optimal if all of your styles used in your input script are supported
|
||||
by the KOKKOS package. In this case data can stay on the GPU for many
|
||||
timesteps without being moved between the host and GPU, if you use the
|
||||
{device} value. This requires that your MPI is able to access GPU
|
||||
memory directly. Currently that is true for OpenMPI 1.8 (or later
|
||||
versions), Mvapich2 1.9 (or later), and CrayMPI. If your script uses
|
||||
styles (e.g. fixes) which are not yet supported by the KOKKOS package,
|
||||
then data has to be move between the host and device anyway, so it is
|
||||
typically faster to let the host handle communication, by using the
|
||||
{host} value. Using {host} instead of {no} will enable use of
|
||||
multiple threads to pack/unpack communicated data.
|
||||
When running on CPUs or Xeon Phi, the {host} and {device} values work
|
||||
identically. When using GPUs, the {device} value is the default since it
|
||||
will typically be optimal if all of your styles used in your input
|
||||
script are supported by the KOKKOS package. In this case data can stay
|
||||
on the GPU for many timesteps without being moved between the host and
|
||||
GPU, if you use the {device} value. This requires that your MPI is able
|
||||
to access GPU memory directly. Currently that is true for OpenMPI 1.8
|
||||
(or later versions), Mvapich2 1.9 (or later), and CrayMPI. If your
|
||||
script uses styles (e.g. fixes) which are not yet supported by the
|
||||
KOKKOS package, then data has to be move between the host and device
|
||||
anyway, so it is typically faster to let the host handle communication,
|
||||
by using the {host} value. Using {host} instead of {no} will enable use
|
||||
of multiple threads to pack/unpack communicated data.
|
||||
|
||||
The {gpu/direct} keyword chooses whether GPU-direct will be used. When
|
||||
this keyword is set to {on}, buffers in GPU memory are passed directly
|
||||
through MPI send/receive calls. This reduces overhead of first copying
|
||||
the data to the host CPU. However GPU-direct is not supported on all
|
||||
systems, which can lead to segmentation faults and would require
|
||||
using a value of {off}. If LAMMPS can safely detect that GPU-direct is
|
||||
not available (currently only possible with OpenMPI v2.0.0 or later),
|
||||
then the {gpu/direct} keyword is automatically set to {off} by default.
|
||||
When the {gpu/direct} keyword is set to {off} while any of the {comm}
|
||||
keywords are set to {device}, the value for these {comm} keywords will
|
||||
be automatically changed to {host}.
|
||||
The {gpu/direct} keyword chooses whether GPU-direct will be used. When
|
||||
this keyword is set to {on}, buffers in GPU memory are passed directly
|
||||
through MPI send/receive calls. This reduces overhead of first copying
|
||||
the data to the host CPU. However GPU-direct is not supported on all
|
||||
systems, which can lead to segmentation faults and would require using a
|
||||
value of {off}. If LAMMPS can safely detect that GPU-direct is not
|
||||
available (currently only possible with OpenMPI v2.0.0 or later), then
|
||||
the {gpu/direct} keyword is automatically set to {off} by default. When
|
||||
the {gpu/direct} keyword is set to {off} while any of the {comm}
|
||||
keywords are set to {device}, the value for these {comm} keywords will
|
||||
be automatically changed to {host}. This setting has no effect if not
|
||||
running on GPUs.
|
||||
|
||||
:line
|
||||
|
||||
@ -620,17 +622,19 @@ except "omp" and "mode", are ignored if LAMMPS was not built with Xeon
|
||||
Phi co-processor support. These settings are made automatically if the
|
||||
"-sf intel" "command-line switch"_Run_options.html is used. If it is
|
||||
not used, you must invoke the package intel command in your input
|
||||
script or or via the "-pk intel" "command-line
|
||||
script or via the "-pk intel" "command-line
|
||||
switch"_Run_options.html.
|
||||
|
||||
For the KOKKOS package, the option defaults neigh = full, neigh/qeq =
|
||||
full, newton = off, binsize = 0.0, and comm = device, gpu/direct = on.
|
||||
When LAMMPS can safely detect, that GPU-direct is not available, the
|
||||
default value of gpu/direct becomes "off".
|
||||
These settings are made automatically by the required "-k on"
|
||||
"command-line switch"_Run_options.html. You can change them by
|
||||
using the package kokkos command in your input script or via the
|
||||
"-pk kokkos command-line switch"_Run_options.html.
|
||||
For the KOKKOS package, the option defaults for GPUs are neigh = full,
|
||||
neigh/qeq = full, newton = off, binsize for GPUs = 2x LAMMPS default
|
||||
value, comm = device, gpu/direct = on. When LAMMPS can safely detect
|
||||
that GPU-direct is not available, the default value of gpu/direct
|
||||
becomes "off". For CPUs or Xeon Phis, the option defaults are neigh =
|
||||
half, neigh/qeq = half, newton = on, binsize = 0.0, and comm = no. These
|
||||
settings are made automatically by the required "-k on" "command-line
|
||||
switch"_Run_options.html. You can change them by using the package
|
||||
kokkos command in your input script or via the "-pk kokkos command-line
|
||||
switch"_Run_options.html.
|
||||
|
||||
For the OMP package, the default is Nthreads = 0 and the option
|
||||
defaults are neigh = yes. These settings are made automatically if
|
||||
|
||||
@ -36,7 +36,7 @@ pair_style airebo/morse 3.0
|
||||
pair_coeff * * ../potentials/CH.airebo-m H C :pre
|
||||
|
||||
pair_style rebo
|
||||
pair_coeff * * ../potentials/CH.airebo H C :pre
|
||||
pair_coeff * * ../potentials/CH.rebo H C :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -57,7 +57,8 @@ The {rebo} pair style computes the Reactive Empirical Bond Order (REBO)
|
||||
Potential of "(Brenner)"_#Brenner. Note that this is the so-called
|
||||
2nd generation REBO from 2002, not the original REBO from 1990.
|
||||
As discussed below, 2nd generation REBO is closely related to the
|
||||
initial AIREBO; it is just a subset of the potential energy terms.
|
||||
initial AIREBO; it is just a subset of the potential energy terms
|
||||
with a few slightly different parameters
|
||||
|
||||
The AIREBO potential consists of three terms:
|
||||
|
||||
@ -113,12 +114,12 @@ various dihedral angle preferences in hydrocarbon configurations.
|
||||
:line
|
||||
|
||||
Only a single pair_coeff command is used with the {airebo}, {airebo}
|
||||
or {rebo} style which specifies an AIREBO or AIREBO-M potential file
|
||||
with parameters for C and H. Note that the {rebo} style in LAMMPS
|
||||
uses the same AIREBO-formatted potential file. These are mapped to
|
||||
LAMMPS atom types by specifying N additional arguments after the
|
||||
filename in the pair_coeff command, where N is the number of LAMMPS
|
||||
atom types:
|
||||
or {rebo} style which specifies an AIREBO, REBO, or AIREBO-M potential
|
||||
file with parameters for C and H. Note that as of LAMMPS version
|
||||
15 May 2019 the {rebo} style in LAMMPS uses its own potential
|
||||
file (CH.rebo). These are mapped to LAMMPS atom types by specifying
|
||||
N additional arguments after the filename in the pair_coeff command,
|
||||
where N is the number of LAMMPS atom types:
|
||||
|
||||
filename
|
||||
N element names = mapping of AIREBO elements to atom types :ul
|
||||
|
||||
141
doc/src/pair_drip.txt
Normal file
141
doc/src/pair_drip.txt
Normal file
@ -0,0 +1,141 @@
|
||||
"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 drip command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style hybrid/overlay drip \[styles ...\] :pre
|
||||
|
||||
styles = other styles to be overlayed with drip (optional) :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style hybrid/overlay drip
|
||||
pair_coeff * * none
|
||||
pair_coeff * * drip C.drip C :pre
|
||||
|
||||
pair_style hybrid/overlay drip rebo
|
||||
pair_coeff * * drip C.drip C
|
||||
pair_coeff * * rebo CH.airebo C :pre
|
||||
|
||||
pair_style hybrid/overlay drip rebo
|
||||
pair_coeff * * drip C.drip C NULL
|
||||
pair_coeff * * rebo CH.airebo C H :pre
|
||||
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {drip} computes the interlayer interactions of layered materials using
|
||||
the dihedral-angle-corrected registry-dependent (DRIP) potential as described
|
||||
in "(Wen)"_#Wen2018, which is based on the "(Kolmogorov)"_#Kolmogorov2005
|
||||
potential and provides an improved prediction for forces.
|
||||
The total potential energy of a system is
|
||||
|
||||
:c,image(Eqs/pair_drip.jpg)
|
||||
|
||||
where the {r^-6} term models the attractive London dispersion,
|
||||
the exponential term is designed to capture the registry effect due to
|
||||
overlapping {pi} bonds, and {fc} is a cutoff function.
|
||||
|
||||
|
||||
This potential (DRIP) only provides the interlayer interactions between
|
||||
graphene layers. So, to perform a realistic simulation, it should be used in
|
||||
combination with an intralayer potential such as "REBO"_pair_airebo.html and
|
||||
"Tersoff"_pair_tersoff.html.
|
||||
To keep the intralayer interactions unaffected, we should avoid applying DRIP
|
||||
to contribute energy to intralayer interactions. This can be achieved by
|
||||
assigning different molecular IDs to atoms in different layers, and DRIP is
|
||||
implemented such that only atoms with different molecular ID can interact with
|
||||
each other. For this purpose, "atom style"_atom_style.html "molecular" or
|
||||
"full" has to be used.
|
||||
|
||||
On the other way around, "REBO"_pair_airebo.html ("Tersoff"_pair_tersoff.html
|
||||
or any other potential used to provide the intralayer interactions) should not
|
||||
interfere with the interlayer interactions described by DRIP. This is typically
|
||||
automatically achieved using the commands provided in the {Examples} section
|
||||
above, since the cutoff distance for carbon-carbon interaction in the intralayer
|
||||
potentials (e.g. 2 Angstrom for "REBO"_pair_airebo.html) is much smaller than
|
||||
the equilibrium layer distance of graphene layers (about 3.4 Angstrom).
|
||||
If you want, you can enforce this by assigning different atom types to atoms in
|
||||
different layers, and apply an intralayer potential to one atom type.
|
||||
See "pair_hybrid"_pair_hybrid.html for details.
|
||||
|
||||
:line
|
||||
|
||||
The "pair_coeff"_pair_coeff.html command for DRIP takes {4+N} arguments, where
|
||||
{N} is the number of LAMMPS atom types. The fist three arguments must be fixed
|
||||
to be {* * drip}, the fourth argument is the path to the DRIP parameter file,
|
||||
and the remaining N arguments specifying the mapping between element in the
|
||||
parameter file and atom types. For example, if your LAMMPS simulation has 3 atom
|
||||
types and you want all of them to be C, you would use the following pair_coeff
|
||||
command:
|
||||
|
||||
pair_coeff * * drip C.drip C C C :pre
|
||||
|
||||
If a mapping value is specified as NULL, the mapping is not performed. This
|
||||
could be useful when DRIP is used to model part of the system where other
|
||||
element exists. Suppose you have a hydrocarbon system, with C of atom type 1
|
||||
and H of atom type 2, you can use the following command to inform DRIP not to
|
||||
model H atoms:
|
||||
|
||||
pair_style hybrid/overlay drip rebo
|
||||
pair_coeff * * drip C.drip C NULL
|
||||
pair_coeff * * rebo CH.airebo C H :pre
|
||||
|
||||
NOTE: The potential parameters developed in "(Wen)"_#Wen2018 are provided with
|
||||
LAMMPS (see the "potentials" directory). Besides those in "Wen"_#Wen2018, an
|
||||
additional parameter "normal_cutoff", specific to the LAMMPS implementation, is
|
||||
used to find the three nearest neighbors of an atom to construct the normal.
|
||||
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, and restart info]:
|
||||
|
||||
This pair style does not support the pair_modify mix, shift, table,
|
||||
and tail options.
|
||||
|
||||
This pair style does not write their information to binary restart files, since
|
||||
it is stored in potential files. Thus, you need to re-specify the pair_style and
|
||||
pair_coeff commands in an input script that reads a restart file.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This pair style is part of the USER-MISC package. It is only enabled if LAMMPS
|
||||
was built with that package. See the "Build package"_Build_package.html doc
|
||||
page for more info.
|
||||
|
||||
This pair potential requires the "newton"_newton.html setting to be "on" for
|
||||
pair interactions.
|
||||
|
||||
|
||||
The {C.drip} parameter file provided with LAMMPS (see the "potentials"
|
||||
directory) is parameterized for metal "units"_units.html. You can use the DRIP
|
||||
potential with any LAMMPS units, but you would need to create your own custom
|
||||
parameter file with coefficients listed in the appropriate units, if your
|
||||
simulation doesn't use "metal" units.
|
||||
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_style lebedeva_z"_pair_lebedeva_z.html,
|
||||
"pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
|
||||
"pair_style kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html,
|
||||
"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html.
|
||||
|
||||
|
||||
:line
|
||||
|
||||
:link(Wen2018)
|
||||
[(Wen)] M. Wen, S. Carr, S. Fang, E. Kaxiras, and E. B. Tadmor, Phys. Rev. B,
|
||||
98, 235404 (2018)
|
||||
|
||||
:link(Kolmogorov2005)
|
||||
[(Kolmogorov)] A. N. Kolmogorov, V. H. Crespi, Phys. Rev. B 71, 235415 (2005)
|
||||
|
||||
140
doc/src/pair_e3b.txt
Normal file
140
doc/src/pair_e3b.txt
Normal file
@ -0,0 +1,140 @@
|
||||
"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 e3b command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style e3b Otype :pre
|
||||
Otype = atom type for oxygen :l
|
||||
|
||||
pair_coeff * * keyword :pre
|
||||
one or more keyword/value pairs must be appended. :l
|
||||
keyword = {preset} or {Ea} or {Eb} or {Ec} or {E2} or {K3} or {K2} or {Rs} or {Rc3} or {Rc2} or {bondL} or {neigh} :l
|
||||
If the {preset} keyword is given, no others are needed.
|
||||
Otherwise, all are mandatory except for {neigh}.
|
||||
The {neigh} keyword is always optional. :l
|
||||
{preset} arg = {2011} or {2015} = which set of predefined parameters to use
|
||||
2011 = use the potential parameters from "(Tainter 2011)"_#Tainter2011
|
||||
2015 = use the potential parameters from "(Tainter 2015)"_#Tainter2015
|
||||
{Ea} arg = three-body energy for type A hydrogen bonding interactions (energy units)
|
||||
{Eb} arg = three-body energy for type B hydrogen bonding interactions (energy units)
|
||||
{Ec} arg = three-body energy for type C hydrogen bonding interactions (energy units)
|
||||
{E2} arg = two-body energy correction (energy units)
|
||||
{K3} arg = three-body exponential constant (inverse distance units)
|
||||
{K2} arg = two-body exponential constant (inverse distance units)
|
||||
{Rc3} arg = three-body cutoff (distance units)
|
||||
{Rc2} arg = two-body cutoff (distance units)
|
||||
{Rs} arg = three-body switching function cutoff (distance units)
|
||||
{bondL} arg = intramolecular OH bond length (distance units)
|
||||
{neigh} arg = approximate integer number of molecules within Rc3 of an oxygen atom :pre
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style e3b 1
|
||||
pair_coeff * * Ea 35.85 Eb -240.2 Ec 449.3 E2 108269.9 K3 1.907 K2 4.872 Rc3 5.2 Rc2 5.2 Rs 5.0 bondL 0.9572 :pre
|
||||
|
||||
pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.15 8.5
|
||||
pair_coeff * * e3b preset 2011 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
The {e3b} style computes an \"explicit three-body\" (E3B) potential for water "(Kumar 2008)"_#Kumar.
|
||||
|
||||
:c,image(Eqs/e3b.jpg)
|
||||
|
||||
This potential was developed as a water model that includes the three-body cooperativity of hydrogen bonding explicitly.
|
||||
To use it in this way, it must be applied in conjunction with a conventional two-body water model, through {pair_style hybrid/overlay}.
|
||||
The three body interactions are split into three types: A, B, and C.
|
||||
Type A corresponds to anti-cooperative double hydrogen bond donor interactions.
|
||||
Type B corresponds to the cooperative interaction of molecules that both donate and accept a hydrogen bond.
|
||||
Type C corresponds to anti-cooperative double hydrogen bond acceptor interactions.
|
||||
The three-body interactions are smoothly cutoff by the switching function s(r) between Rs and Rc3.
|
||||
The two-body interactions are designed to correct for the effective many-body interactions implicitly included in the conventional two-body potential.
|
||||
The two-body interactions are cut off sharply at Rc2, because K3 is typically significantly smaller than K2.
|
||||
See "(Kumar 2008)"_#Kumar for more details.
|
||||
|
||||
Only a single {pair_coeff} command is used with the {e3b} style.
|
||||
The 1st two arguments must be * *.
|
||||
The oxygen atom type for the pair style is passed as the only argument to the {pair_style} command, not in the {pair_coeff} command.
|
||||
The hydrogen atom type is inferred by the ordering of the atoms.
|
||||
|
||||
NOTE: Every atom of type Otype must be part of a water molecule.
|
||||
Each water molecule must have consecutive IDs with the oxygen first.
|
||||
This pair style does not test that this criteria is met.
|
||||
|
||||
The {pair_coeff} command must have at least one keyword/value pair, as described above.
|
||||
The {preset} keyword sets the potential parameters to the values used in "(Tainter 2011)"_#Tainter2011 or "(Tainter 2015)"_#Tainter2015.
|
||||
To use the water models defined in those references, the {e3b} style should always be used in conjunction with an {lj/cut/tip4p/long} style through {pair_style hybrid/overlay}, as demonstrated in the second example above.
|
||||
The {preset 2011} option should be used with the "TIP4P water model"_Howto_tip4p.html.
|
||||
The {preset 2015} option should be used with the "TIP4P/2005 water model"_Howto_tip4p.html.
|
||||
If the {preset} keyword is used, no other keyword is needed.
|
||||
Changes to the preset parameters can be made by specifying the {preset} keyword followed by the specific parameter to change, like {Ea}.
|
||||
Note that the other keywords must come after {preset} in the pair_style command.
|
||||
The {e3b} style can also be used to implement any three-body potential of the same form by specifying all the keywords except {neigh}: {Ea}, {Eb}, {Ec}, {E2}, {K3}, {K2}, {Rc3}, {Rc2}, {Rs}, and {bondL}.
|
||||
The keyword {bondL} specifies the intramolecular OH bond length of the water model being used.
|
||||
This is needed to include H atoms that are within the cutoff even when the attached oxygen atom is not.
|
||||
|
||||
This pair style allocates arrays sized according to the number of pairwise interactions within Rc3.
|
||||
To do this it needs an estimate for the number of water molecules within Rc3 of an oxygen atom.
|
||||
This estimate defaults to 10 and can be changed using the {neigh} keyword, which takes an integer as an argument.
|
||||
If the neigh setting is too small, the simulation will fail with the error "neigh is too small".
|
||||
If the neigh setting is too large, the pair style will use more memory than necessary.
|
||||
|
||||
This pair style tallies a breakdown of the total E3B potential energy into sub-categories, which can be accessed via the "compute pair"_compute_pair.html command as a vector of values of length 4.
|
||||
The 4 values correspond to the terms in the first equation above: the E2 term, the Ea term, the Eb term, and the Ec term.
|
||||
|
||||
See the examples/USER/e3b directory for a complete example script.
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
This pair style does not support the "pair_modify"_pair_modify.html
|
||||
shift, table, and tail options.
|
||||
|
||||
This pair style does not write its information to "binary restart
|
||||
files"_restart.html. Thus, you
|
||||
need to re-specify the pair_style and pair_coeff commands in an input
|
||||
script that reads a restart file.
|
||||
|
||||
This pair style is incompatible with "respa"_run_style.html.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This pair style is part of the USER-MISC package. It is only enabled
|
||||
if LAMMPS was built with that package. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
|
||||
This pair style requires the "newton"_newton.html setting to be "on"
|
||||
for pair interactions.
|
||||
|
||||
This pair style requires a fixed number of atoms in the simulation, so it is incompatible with fixes like "fix deposit"_fix_deposit.html.
|
||||
If the number of atoms changes between runs, this pair style must be re-initialized by calling the {pair_style} and {pair_coeffs} commands.
|
||||
This is not a fundamental limitation of the pair style, but the code currently does not support a variable number of atoms.
|
||||
|
||||
The {preset} keyword currently only works with real, metal, si, and cgs "units"_units.html.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html, "compute pair"_compute_pair.html
|
||||
|
||||
[Default:]
|
||||
|
||||
The option default for the {neigh} keyword is 10.
|
||||
|
||||
:line
|
||||
|
||||
:link(Kumar)
|
||||
[(Kumar)] Kumar and Skinner, J. Phys. Chem. B, 112, 8311 (2008)
|
||||
:link(Tainter2011)
|
||||
[(Tainter 2011)] Tainter, Pieniazek, Lin, and Skinner, J. Chem. Phys., 134, 184501 (2011)
|
||||
:link(Tainter2015)
|
||||
[(Tainter 2015)] Tainter, Shi, and Skinner, 11, 2268 (2015)
|
||||
@ -201,7 +201,7 @@ model. The usage of the TIP4P pair style is documented in the
|
||||
"pair_lj"_pair_lj.html styles. In the soft version the parameters n, alpha_LJ
|
||||
and alpha_C are set in the "pair_style"_pair_style.html command, after the
|
||||
specific parameters of the TIP4P water model and before the cutoffs. The
|
||||
activation parameter lambda is supplied as an argument of the the
|
||||
activation parameter lambda is supplied as an argument of the
|
||||
"pair_coeff"_pair_coeff.html command, after epsilon and sigma and before the
|
||||
optional cutoffs.
|
||||
|
||||
@ -210,7 +210,7 @@ Style {lj/charmm/coul/long/soft} implements a soft-core version of the modified
|
||||
"pair_lj_charmm"_pair_charmm.html style. In the soft version the parameters n,
|
||||
alpha_LJ and alpha_C are set in the "pair_style"_pair_style.html command, before
|
||||
the global cutoffs. The activation parameter lambda is introduced as an argument
|
||||
of the the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and
|
||||
of the "pair_coeff"_pair_coeff.html command, after epsilon and sigma and
|
||||
before the optional eps14 and sigma14.
|
||||
|
||||
Style {lj/class2/soft} implements a soft-core version of the 9-6 potential in
|
||||
|
||||
@ -21,7 +21,7 @@ pair_style hybrid/overlay ilp/graphene/hbn 16.0 1
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C :pre
|
||||
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
pair_coeff * * rebo CH.airebo NULL NULL C
|
||||
pair_coeff * * rebo CH.rebo NULL NULL C
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
@ -50,11 +50,11 @@ calculating the normals.
|
||||
NOTE: This potential (ILP) is intended for interlayer interactions between two
|
||||
different layers of graphene, hexagonal boron nitride (h-BN) and their hetero-junction.
|
||||
To perform a realistic simulation, this potential must be used in combination with
|
||||
intra-layer potential, such as "AIREBO"_pair_airebo.html or "Tersoff"_pair_tersoff.html potential.
|
||||
To keep the intra-layer properties unaffected, the interlayer interaction
|
||||
intralayer potential, such as "AIREBO"_pair_airebo.html or "Tersoff"_pair_tersoff.html potential.
|
||||
To keep the intralayer properties unaffected, the interlayer interaction
|
||||
within the same layers should be avoided. Hence, each atom has to have a layer
|
||||
identifier such that atoms residing on the same layer interact via the
|
||||
appropriate intra-layer potential and atoms residing on different layers
|
||||
appropriate intralayer potential and atoms residing on different layers
|
||||
interact via the ILP. Here, the molecule id is chosen as the layer identifier,
|
||||
thus a data file with the "full" atom style is required to use this potential.
|
||||
|
||||
@ -117,6 +117,7 @@ units, if your simulation does not use {metal} units.
|
||||
"pair_coeff"_pair_coeff.html,
|
||||
"pair_none"_pair_none.html,
|
||||
"pair_style hybrid/overlay"_pair_hybrid.html,
|
||||
"pair_style drip"_pair_drip.html,
|
||||
"pair_style pair_kolmogorov_crespi_z"_pair_kolmogorov_crespi_z.html,
|
||||
"pair_style pair_kolmogorov_crespi_full"_pair_kolmogorov_crespi_full.html,
|
||||
"pair_style pair_lebedeva_z"_pair_lebedeva_z.html,
|
||||
|
||||
@ -22,7 +22,7 @@ pair_coeff * * none
|
||||
pair_coeff * * kolmogorov/crespi/full CH.KC C C :pre
|
||||
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0 1
|
||||
pair_coeff * * rebo CH.airebo C H
|
||||
pair_coeff * * rebo CH.rebo C H
|
||||
pair_coeff * * kolmogorov/crespi/full CH_taper.KC C H :pre
|
||||
|
||||
[Description:]
|
||||
@ -44,12 +44,12 @@ can be found in pair style "ilp/graphene/hbn"_pair_ilp_graphene_hbn.html.
|
||||
|
||||
NOTE: This potential (ILP) is intended for interlayer interactions between two
|
||||
different layers of graphene. To perform a realistic simulation, this potential
|
||||
must be used in combination with intra-layer potential, such as
|
||||
must be used in combination with intralayer potential, such as
|
||||
"AIREBO"_pair_airebo.html or "Tersoff"_pair_tersoff.html potential.
|
||||
To keep the intra-layer properties unaffected, the interlayer interaction
|
||||
To keep the intralayer properties unaffected, the interlayer interaction
|
||||
within the same layers should be avoided. Hence, each atom has to have a layer
|
||||
identifier such that atoms residing on the same layer interact via the
|
||||
appropriate intra-layer potential and atoms residing on different layers
|
||||
appropriate intralayer potential and atoms residing on different layers
|
||||
interact via the ILP. Here, the molecule id is chosen as the layer identifier,
|
||||
thus a data file with the "full" atom style is required to use this potential.
|
||||
|
||||
@ -106,6 +106,7 @@ units.
|
||||
"pair_coeff"_pair_coeff.html,
|
||||
"pair_none"_pair_none.html,
|
||||
"pair_style hybrid/overlay"_pair_hybrid.html,
|
||||
"pair_style drip"_pair_drip.html,
|
||||
"pair_style pair_lebedeva_z"_pair_lebedeva_z.html,
|
||||
"pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
|
||||
"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html.
|
||||
|
||||
@ -19,7 +19,7 @@ pair_coeff * * none
|
||||
pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C :pre
|
||||
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/z 14.0
|
||||
pair_coeff * * rebo CH.airebo C C
|
||||
pair_coeff * * rebo CH.rebo C C
|
||||
pair_coeff 1 2 kolmogorov/crespi/z CC.KC C C :pre
|
||||
|
||||
[Description:]
|
||||
@ -59,6 +59,7 @@ package"_Build_package.html doc page for more info.
|
||||
"pair_coeff"_pair_coeff.html,
|
||||
"pair_none"_pair_none.html,
|
||||
"pair_style hybrid/overlay"_pair_hybrid.html,
|
||||
"pair_style drip"_pair_drip.html,
|
||||
"pair_style ilp/graphene/hbn"_pair_ilp_graphene_hbn.html.
|
||||
"pair_style kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html,
|
||||
"pair_style lebedeva/z"_pair_lebedeva_z.html
|
||||
|
||||
@ -19,8 +19,8 @@ pair_coeff * * none
|
||||
pair_coeff 1 2 lebedeva/z CC.Lebedeva C C :pre
|
||||
|
||||
pair_style hybrid/overlay rebo lebedeva/z 14.0
|
||||
pair_coeff * * rebo CH.airebo C C
|
||||
pair_coeff 1 2 lebedeva/z CC.Lebedeva C C :pre
|
||||
pair_coeff * * rebo CH.rebo C C
|
||||
pair_coeff 1 2 lebedeva/z CC.Lebedeva C C :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -53,6 +53,7 @@ package"_Build_package.html doc page for more info.
|
||||
"pair_coeff"_pair_coeff.html,
|
||||
"pair_style none"_pair_none.html,
|
||||
"pair_style hybrid/overlay"_pair_hybrid.html,
|
||||
"pair_style drip"_pair_drip.html,
|
||||
"pair_style ilp/graphene/hbd"_pair_ilp_graphene_hbn.html,
|
||||
"pair_style kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
|
||||
"pair_style kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html.
|
||||
|
||||
@ -91,7 +91,7 @@ is to enable LAMMPS to "find" the 2 H atoms associated with each O
|
||||
atom. For example, if the atom ID of an O atom in a TIP4P water
|
||||
molecule is 500, then its 2 H atoms must have IDs 501 and 502.
|
||||
|
||||
See the the "Howto tip4p"_Howto_tip4p.html doc page for more
|
||||
See the "Howto tip4p"_Howto_tip4p.html doc page for more
|
||||
information on how to use the TIP4P pair style. Note that the
|
||||
neighbor list cutoff for Coulomb interactions is effectively extended
|
||||
by a distance 2*qdist when using the TIP4P pair style, to account for
|
||||
|
||||
@ -30,16 +30,16 @@ args = list of arguments for a particular style :l
|
||||
[Examples:]
|
||||
|
||||
pair_style lj/mdf 2.5 3.0
|
||||
pair_coeff * * 1 1
|
||||
pair_coeff 1 1 1 1.1 2.8 3.0 3.2 :pre
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 1.1 2.8 3.0 3.2 :pre
|
||||
|
||||
pair_style buck 2.5 3.0
|
||||
pair_coeff * * 100.0 1.5 200.0
|
||||
pair_coeff * * 100.0 1.5 200.0 3.0 3.5 :pre
|
||||
|
||||
pair_style lennard/mdf 2.5 3.0
|
||||
pair_coeff * * 1 1
|
||||
pair_coeff 1 1 1 1.1 2.8 3.0 3.2 :pre
|
||||
pair_coeff * * 1.0 1.0
|
||||
pair_coeff 1 1 1021760.3664 2120.317338 3.0 3.2 :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
@ -69,11 +69,12 @@ standard 12-6 Lennard-Jones written in the epsilon/sigma form:
|
||||
|
||||
:c,image(Eqs/pair_mdf-4.jpg)
|
||||
|
||||
The following coefficients must be defined for each pair of atoms
|
||||
types via the pair_coeff command as in the examples above, or in the
|
||||
data file or restart files read by the "read_data"_read_data.html or
|
||||
"read_restart commands"_read_restart.html, or by mixing as described
|
||||
below:
|
||||
Either the first two or all of the following coefficients must be
|
||||
defined for each pair of atoms types via the pair_coeff command as
|
||||
in the examples above, or in the data file read by the
|
||||
"read_data"_read_data.html. The two cutoffs default to the global
|
||||
values and epsilon and sigma can also be determined by mixing as
|
||||
described below:
|
||||
|
||||
epsilon (energy units)
|
||||
sigma (distance units)
|
||||
@ -83,7 +84,9 @@ r_{cut} (distance units) :ul
|
||||
:line
|
||||
|
||||
For the {buck/mdf} pair_style, the potential energy, {E(r)}, is the
|
||||
standard Buckingham potential:
|
||||
standard Buckingham potential with three required coefficients.
|
||||
The two cutoffs can be omitted and default to the corresponding
|
||||
global values:
|
||||
|
||||
:c,image(Eqs/pair_mdf-5.jpg)
|
||||
|
||||
@ -91,19 +94,20 @@ A (energy units)
|
||||
\rho (distance units)
|
||||
C (energy-distance^6 units)
|
||||
r_m (distance units)
|
||||
r_{cut}$ (distance units) :ul
|
||||
r_{cut} (distance units) :ul
|
||||
|
||||
:line
|
||||
|
||||
For the {lennard/mdf} pair_style, the potential energy, {E(r)}, is the
|
||||
standard 12-6 Lennard-Jones written in the $A/B$ form:
|
||||
standard 12-6 Lennard-Jones written in the A/B form:
|
||||
|
||||
:c,image(Eqs/pair_mdf-6.jpg)
|
||||
|
||||
The following coefficients must be defined for each pair of atoms
|
||||
types via the pair_coeff command as in the examples above, or in the
|
||||
data file or restart files read by the read_data or read_restart
|
||||
commands, or by mixing as described below:
|
||||
data file read by the read_data commands, or by mixing as described below.
|
||||
The two cutoffs default to their global values and must be either both
|
||||
given or both left out:
|
||||
|
||||
A (energy-distance^12 units)
|
||||
B (energy-distance^6 units)
|
||||
@ -115,33 +119,23 @@ r_{cut} (distance units) :ul
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
For atom type pairs I,J and I != J, the epsilon and sigma coefficients
|
||||
and cutoff distance for all of the lj/cut pair styles can be mixed.
|
||||
and cutoff distances for the lj/mdf pair style can be mixed.
|
||||
The default mix value is {geometric}. See the "pair_modify" command
|
||||
for details.
|
||||
for details. The other two pair styles buck/mdf and lennard/mdf do not
|
||||
support mixing, so all I,J pairs of coefficients must be specified
|
||||
explicitly.
|
||||
|
||||
All of the {lj/cut} pair styles support the
|
||||
"pair_modify"_pair_modify.html shift option for the energy of the
|
||||
Lennard-Jones portion of the pair interaction.
|
||||
None of the lj/mdf, buck/mdf, or lennard/mdf pair styles supports
|
||||
the "pair_modify"_pair_modify.html shift option or long-range
|
||||
tail corrections to pressure and energy.
|
||||
|
||||
The {lj/cut/coul/long} and {lj/cut/tip4p/long} pair styles support the
|
||||
"pair_modify"_pair_modify.html table option since they can tabulate
|
||||
the short-range portion of the long-range Coulombic interaction.
|
||||
These styles write their information to "binary restart
|
||||
files"_restart.html, so pair_style and pair_coeff commands do not need
|
||||
to be specified in an input script that reads a restart file.
|
||||
|
||||
All of the {lj/cut} pair styles support the
|
||||
"pair_modify"_pair_modify.html tail option for adding a long-range
|
||||
tail correction to the energy and pressure for the Lennard-Jones
|
||||
portion of the pair interaction.
|
||||
|
||||
All of the {lj/cut} pair styles write their information to "binary
|
||||
restart files"_restart.html, so pair_style and pair_coeff commands do
|
||||
not need to be specified in an input script that reads a restart file.
|
||||
|
||||
The {lj/cut} and {lj/cut/coul/long} pair styles support the use of the
|
||||
{inner}, {middle}, and {outer} keywords of the "run_style
|
||||
respa"_run_style.html command, meaning the pairwise forces can be
|
||||
partitioned by distance at different levels of the rRESPA hierarchy.
|
||||
The other styles only support the {pair} keyword of run_style respa.
|
||||
See the "run_style"_run_style.html command for details.
|
||||
These 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.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -92,10 +92,6 @@ pairs from the neighbor list. This needs to be very carefully tested,
|
||||
because it may remove pairs from the neighbor list that are still
|
||||
required.
|
||||
|
||||
Pair style {quip} cannot be used with pair style {hybrid}, only
|
||||
with {hybrid/overlay} and only the {quip} sub-style is applied to
|
||||
all atom types.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html
|
||||
|
||||
@ -147,6 +147,8 @@ accelerated styles exist.
|
||||
"dpd/fdt/energy"_pair_dpd_fdt.html - DPD for constant energy and enthalpy
|
||||
"dpd/tstat"_pair_dpd.html - pair-wise DPD thermostatting
|
||||
"dsmc"_pair_dsmc.html - Direct Simulation Monte Carlo (DSMC)
|
||||
"e3b"_pair_e3b.html - Explicit-three body (E3B) water model
|
||||
"drip"_pair_drip.html - Dihedral-angle-corrected registry-dependent interlayer potential (DRIP)
|
||||
"eam"_pair_eam.html - embedded atom method (EAM)
|
||||
"eam/alloy"_pair_eam.html - alloy EAM
|
||||
"eam/cd"_pair_eam.html - concentration-dependent EAM
|
||||
@ -174,7 +176,7 @@ accelerated styles exist.
|
||||
"kolmogorov/crespi/full"_pair_kolmogorov_crespi_full.html - Kolmogorov-Crespi (KC) potential with no simplifications
|
||||
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html - Kolmogorov-Crespi (KC) potential with normals along z-axis
|
||||
"lcbop"_pair_lcbop.html - long-range bond-order potential (LCBOP)
|
||||
"lebedeva/z"_pair_lebedeva_z.html - Lebedeva inter-layer potential for graphene with normals along z-axis
|
||||
"lebedeva/z"_pair_lebedeva_z.html - Lebedeva interlayer potential for graphene with normals along z-axis
|
||||
"lennard/mdf"_pair_mdf.html - LJ potential in A/B form with a taper function
|
||||
"line/lj"_pair_line_lj.html - LJ potential between line segments
|
||||
"list"_pair_list.html - potential between pairs of atoms explicitly listed in an input file
|
||||
|
||||
@ -63,7 +63,7 @@ equally spaced in R^2 space from cutinner^2 to cutoff^2. For the
|
||||
two-body term in the above equation, a linear interpolation for each
|
||||
pairwise distance between adjacent points in the table. In practice
|
||||
the tabulated version can run 3-5x faster than the analytic version
|
||||
with with moderate to little loss of accuracy for Ntable values
|
||||
with moderate to little loss of accuracy for Ntable values
|
||||
between 10000 and 1000000. It is not recommended to use less than
|
||||
5000 tabulation points.
|
||||
|
||||
|
||||
@ -31,7 +31,9 @@ Pair Styles :h1
|
||||
pair_dipole
|
||||
pair_dpd
|
||||
pair_dpd_fdt
|
||||
pair_drip
|
||||
pair_dsmc
|
||||
pair_e3b
|
||||
pair_eam
|
||||
pair_edip
|
||||
pair_eff
|
||||
|
||||
@ -480,7 +480,7 @@ information on those settings.
|
||||
If you use Python code which calls back to LAMMPS, via the SELF input
|
||||
argument explained above, there is an extra step required when
|
||||
building LAMMPS. LAMMPS must also be built as a shared library and
|
||||
your Python function must be able to to load the Python module in
|
||||
your Python function must be able to load the Python module in
|
||||
python/lammps.py that wraps the LAMMPS library interface. These are
|
||||
the same steps required to use Python by itself to wrap LAMMPS.
|
||||
Details on these steps are explained on the "Python"_Python_head.html
|
||||
|
||||
@ -701,7 +701,7 @@ of 0 means the atom is still inside the box when unwrapped. A value
|
||||
of 2 means add 2 box lengths to get the unwrapped coordinate. A value
|
||||
of -1 means subtract 1 box length to get the unwrapped coordinate.
|
||||
LAMMPS updates these flags as atoms cross periodic boundaries during
|
||||
the simulation. The "dump"_dump.html command can output atom atom
|
||||
the simulation. The "dump"_dump.html command can output atom
|
||||
coordinates in wrapped or unwrapped form, as well as the 3 image
|
||||
flags.
|
||||
|
||||
|
||||
@ -65,7 +65,7 @@ in this pseudo code is a pointer to an instance of the CSlib.
|
||||
See the src/MESSAGE/server_md.cpp and src/MESSAGE/fix_client_md.cpp
|
||||
files for details on how LAMMPS uses these messages. See the
|
||||
examples/COUPLE/lammps_vasp/vasp_wrapper.py file for an example of how
|
||||
a quantum code (VASP) can use use these messages.
|
||||
a quantum code (VASP) can use these messages.
|
||||
|
||||
The following pseudo-code uses these values, defined as enums.
|
||||
|
||||
|
||||
@ -62,7 +62,7 @@ results at a specified lower temperature. A good overview of
|
||||
accelerated dynamics methods for such systems is given in "this review
|
||||
paper"_#Voter2002 from the same group. In general, these methods assume
|
||||
that the long-time dynamics is dominated by infrequent events i.e. the
|
||||
system is is confined to low energy basins for long periods,
|
||||
system is confined to low energy basins for long periods,
|
||||
punctuated by brief, randomly-occurring transitions to adjacent
|
||||
basins. TAD is suitable for infrequent-event systems, where in
|
||||
addition, the transition kinetics are well-approximated by harmonic
|
||||
|
||||
@ -293,7 +293,7 @@ list of runs (e.g. 1000) without having to list N strings in the input
|
||||
script.
|
||||
|
||||
For the {string} style, a single string is assigned to the variable.
|
||||
Two differences between this this and using the {index} style exist:
|
||||
Two differences between this style and using the {index} style exist:
|
||||
a variable with {string} style can be redefined, e.g. by another command later
|
||||
in the input script, or if the script is read again in a loop. The other
|
||||
difference is that {string} performs variable substitution even if the
|
||||
@ -359,7 +359,7 @@ per-atom values is read, a non-blank line is searched for in the file.
|
||||
A comment character "#" can be used anywhere on a line; text starting
|
||||
with the comment character is stripped. Blank lines are skipped. The
|
||||
first "word" of a non-blank line, delimited by white-space, is read as
|
||||
the count N of per-atom lines to immediately follow. N can be be the
|
||||
the count N of per-atom lines to immediately follow. N can be the
|
||||
total number of atoms in the system, or only a subset. The next N
|
||||
lines have the following format
|
||||
|
||||
@ -865,7 +865,7 @@ The {is_active()} function allows to query for active settings which
|
||||
are grouped by categories. Currently supported categories and
|
||||
arguments are:
|
||||
|
||||
{package} (argument = {cuda} or {gpu} or {intel} or {kokkos} or {omp})
|
||||
{package} (argument = {gpu} or {intel} or {kokkos} or {omp})
|
||||
{newton} (argument = {pair} or {bond} or {any})
|
||||
{pair} (argument = {single} or {respa} or {manybody} or {tail} or {shift})
|
||||
{comm_style} (argument = {brick} or {tiled})
|
||||
@ -894,7 +894,7 @@ kspace_style pppm :pre
|
||||
|
||||
Example 2: use r-RESPA with inner/outer cutoff, if supported by pair style, otherwise fall back to using pair and reducing the outer time step
|
||||
|
||||
timestep $(2.0*(1.0+*is_active(pair,respa))
|
||||
timestep $(2.0*(1.0+2.0*is_active(pair,respa))
|
||||
if $(is_active(pair,respa)) then "run_style respa 4 3 2 2 improper 1 inner 2 5.5 7.0 outer 3 kspace 4" else "run_style respa 3 3 2 improper 1 pair 2 kspace 3" :pre
|
||||
|
||||
The {is_defined()} function allows to query categories like {compute},
|
||||
@ -931,7 +931,7 @@ with ID = 243. Or they can take a variable name, specified as v_name,
|
||||
where name is the name of the variable, like x\[v_myIndex\]. The
|
||||
variable can be of any style except {vector} or {atom} or {atomfile}
|
||||
variables. The variable is evaluated and the result is expected to be
|
||||
numeric and is cast to an integer (i.e. 3.4 becomes 3), to use an an
|
||||
numeric and is cast to an integer (i.e. 3.4 becomes 3), to use an
|
||||
index, which must be a value from 1 to N. Note that a "formula"
|
||||
cannot be used as the argument between the brackets, e.g. x\[243+10\]
|
||||
or x\[v_myIndex+1\] are not allowed. To do this a single variable can
|
||||
|
||||
@ -157,7 +157,7 @@ is issued.
|
||||
The {bias} keyword with a {yes} setting is used by {create} and
|
||||
{scale}, but only if the {temp} keyword is also used to specify a
|
||||
"compute"_compute.html that calculates temperature in a desired way.
|
||||
If the temperature compute also calculates a velocity bias, the the
|
||||
If the temperature compute also calculates a velocity bias, the
|
||||
bias is subtracted from atom velocities before the {create} and
|
||||
{scale} operations are performed. After the operations, the bias is
|
||||
added back to the atom velocities. See the "Howto
|
||||
|
||||
@ -26,11 +26,9 @@ coefficients in a way, that it can be read by LAMMPS with the
|
||||
option of "write_data"_write_data.html this can be used to move
|
||||
the Coeffs sections from a data file into a separate file.
|
||||
|
||||
NOTE: The write_coeff command is not yet fully implemented in two
|
||||
respects. First, some pair styles do not yet write their coefficient
|
||||
information into the coeff file. This means you will need to specify
|
||||
that information in your input script that reads the data file, via
|
||||
the "pair_coeff"_pair_coeff.html command.
|
||||
NOTE: The write_coeff command is not yet fully implemented as
|
||||
some pair styles do not output their coefficient information.
|
||||
This means you will need to add/copy this information manually.
|
||||
|
||||
:line
|
||||
|
||||
|
||||
@ -106,7 +106,7 @@ written for all I,J pairs where I <= J. These coefficients will
|
||||
include any specific settings made in the input script up to that
|
||||
point. The presence of these I != J coefficients in the data file
|
||||
will effectively turn off the default mixing rule for the pair style.
|
||||
Again, the coefficient values in the data file can can be overridden
|
||||
Again, the coefficient values in the data file can be overridden
|
||||
in the input script after reading the data file, by specifying
|
||||
additional "pair_coeff"_pair_coeff.html commands for any desired I,J
|
||||
pairs.
|
||||
|
||||
@ -57,8 +57,10 @@ alchemical
|
||||
AlCu
|
||||
Alderton
|
||||
Alejandre
|
||||
Aleksei
|
||||
alessandro
|
||||
Alessandro
|
||||
ali
|
||||
aliceblue
|
||||
Allinger
|
||||
allocaters
|
||||
@ -87,6 +89,7 @@ anharmonic
|
||||
anharmonicity
|
||||
aniso
|
||||
anisotropic
|
||||
anisotropies
|
||||
anisotropy
|
||||
ansi
|
||||
antiquewhite
|
||||
@ -406,6 +409,7 @@ configfile
|
||||
configurational
|
||||
conformational
|
||||
Contrib
|
||||
cooperativity
|
||||
coord
|
||||
Coord
|
||||
CoordN
|
||||
@ -652,6 +656,7 @@ Eacn
|
||||
eam
|
||||
eangle
|
||||
eatom
|
||||
Eb
|
||||
Eba
|
||||
ebond
|
||||
ebook
|
||||
@ -1134,6 +1139,7 @@ incrementing
|
||||
indenter
|
||||
indenters
|
||||
indianred
|
||||
indices
|
||||
inertiax
|
||||
inertiay
|
||||
inertiaz
|
||||
@ -1160,6 +1166,7 @@ Interparticle
|
||||
interstitials
|
||||
Intr
|
||||
intra
|
||||
intralayer
|
||||
intramolecular
|
||||
ints
|
||||
inv
|
||||
@ -1192,6 +1199,7 @@ Itsets
|
||||
itype
|
||||
itypeN
|
||||
iva
|
||||
Ivanov
|
||||
Ivector
|
||||
Iw
|
||||
ixcm
|
||||
@ -1248,6 +1256,7 @@ jpg
|
||||
JPG
|
||||
jpl
|
||||
Jth
|
||||
jtranch
|
||||
jtype
|
||||
jtypeN
|
||||
Juelich
|
||||
@ -1276,6 +1285,7 @@ Katsnelson
|
||||
Katsura
|
||||
Kaufmann
|
||||
Kawata
|
||||
Kaxiras
|
||||
Kayser
|
||||
kb
|
||||
kB
|
||||
@ -2006,6 +2016,7 @@ ortho
|
||||
orthonormal
|
||||
orthorhombic
|
||||
ot
|
||||
Otype
|
||||
Ouldridge
|
||||
outfile
|
||||
outmost
|
||||
@ -2102,6 +2113,7 @@ picograms
|
||||
picosecond
|
||||
picoseconds
|
||||
pid
|
||||
Pieniazek
|
||||
Pieter
|
||||
pimd
|
||||
Pisarev
|
||||
@ -2471,6 +2483,7 @@ Shardlow
|
||||
shawn
|
||||
Shen
|
||||
Shenderova
|
||||
Shi
|
||||
Shiga
|
||||
Shinoda
|
||||
shockvel
|
||||
@ -2497,6 +2510,7 @@ sizex
|
||||
sj
|
||||
sjplimp
|
||||
sjtu
|
||||
Skomski
|
||||
skyblue
|
||||
Skylake
|
||||
slateblue
|
||||
@ -2634,6 +2648,7 @@ Tadmor
|
||||
Tafipolsky
|
||||
tagID
|
||||
tagint
|
||||
Tainter
|
||||
Tait
|
||||
taitwater
|
||||
Tajkhorshid
|
||||
@ -2693,6 +2708,7 @@ Thiaville
|
||||
Thibaudeau
|
||||
Thijsse
|
||||
Thirumalai
|
||||
threebody
|
||||
thrid
|
||||
ThunderX
|
||||
thylakoid
|
||||
@ -2828,6 +2844,7 @@ unoptimized
|
||||
unpadded
|
||||
unphysical
|
||||
unphysically
|
||||
unreacted
|
||||
unscaled
|
||||
unsets
|
||||
unsmoothed
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
This directory contains 4 input scripts for carrying out NEMD
|
||||
simulations of thermal gradients for a Lennard-Jones fluid and SPC/E
|
||||
water using the HEX/a (fix heat) and eHEX/a (fix ehex) algorithms.
|
||||
water using the HEX/a (fix ehex w/ hex option) and eHEX/a (fix ehex) algorithms.
|
||||
|
||||
All input scripts are part of the supplementary (open access) material
|
||||
supporting the publication of Wirnsberger et al. [J. Chem. Phys. 143,
|
||||
|
||||
@ -64,37 +64,37 @@ balance: dynamic load balancing, 2d system
|
||||
body: body particles, 2d system
|
||||
cmap: CMAP 5-body contributions to CHARMM force field
|
||||
colloid: big colloid particles in a small particle solvent, 2d system
|
||||
comb: models using the COMB potential
|
||||
comb: models using the COMB potential
|
||||
coreshell: adiabatic core/shell model
|
||||
controller: use of fix controller as a thermostat
|
||||
crack: crack propagation in a 2d solid
|
||||
crack: crack propagation in a 2d solid
|
||||
deposit: deposition of atoms and molecules onto a 3d substrate
|
||||
dipole: point dipolar particles, 2d system
|
||||
dreiding: methanol via Dreiding FF
|
||||
eim: NaCl using the EIM potential
|
||||
ellipse: ellipsoidal particles in spherical solvent, 2d system
|
||||
flow: Couette and Poiseuille flow in a 2d channel
|
||||
flow: Couette and Poiseuille flow in a 2d channel
|
||||
friction: frictional contact of spherical asperities between 2d surfaces
|
||||
gcmc: Grand Canonical Monte Carlo (GCMC) via the fix gcmc command
|
||||
granregion: use of fix wall/region/gran as boundary on granular particles
|
||||
hugoniostat: Hugoniostat shock dynamics
|
||||
hyper: global and local hyperdynamics of diffusion on Pt surface
|
||||
indent: spherical indenter into a 2d solid
|
||||
indent: spherical indenter into a 2d solid
|
||||
kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
|
||||
latte: use of LATTE density-functional tight-binding quantum code
|
||||
meam: MEAM test for SiC and shear (same as shear examples)
|
||||
melt: rapid melt of 3d LJ system
|
||||
meam: MEAM test for SiC and shear (same as shear examples)
|
||||
melt: rapid melt of 3d LJ system
|
||||
message: client/server coupling of 2 codes
|
||||
micelle: self-assembly of small lipid-like molecules into 2d bilayers
|
||||
min: energy minimization of 2d LJ melt
|
||||
min: energy minimization of 2d LJ melt
|
||||
mscg: parameterize a multi-scale coarse-graining (MSCG) model
|
||||
msst: MSST shock dynamics
|
||||
msst: MSST shock dynamics
|
||||
nb3b: use of nonbonded 3-body harmonic pair style
|
||||
neb: nudged elastic band (NEB) calculation for barrier finding
|
||||
nemd: non-equilibrium MD of 2d sheared system
|
||||
neb: nudged elastic band (NEB) calculation for barrier finding
|
||||
nemd: non-equilibrium MD of 2d sheared system
|
||||
obstacle: flow around two voids in a 2d channel
|
||||
peptide: dynamics of a small solvated peptide chain (5-mer)
|
||||
peri: Peridynamic model of cylinder impacted by indenter
|
||||
peri: Peridynamic model of cylinder impacted by indenter
|
||||
pour: pouring of granular particles into a 3d box, then chute flow
|
||||
prd: parallel replica dynamics of vacancy diffusion in bulk Si
|
||||
python: use of PYTHON package to invoke Python code from input script
|
||||
@ -107,6 +107,7 @@ srd: stochastic rotation dynamics (SRD) particles as solvent
|
||||
snap: NVE dynamics for BCC tantalum crystal using SNAP potential
|
||||
streitz: Streitz-Mintmire potential for Al2O3
|
||||
tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si
|
||||
threebody: regression test input for a variety of manybody potentials
|
||||
vashishta: models using the Vashishta potential
|
||||
voronoi: Voronoi tesselation via compute voronoi/atom command
|
||||
|
||||
@ -117,9 +118,7 @@ cp ../../src/lmp_mpi . # copy LAMMPS executable to this dir
|
||||
lmp_mpi -in in.indent # run the problem
|
||||
|
||||
Running the simulation produces the files {dump.indent} and
|
||||
{log.lammps}. You can visualize the dump file as follows:
|
||||
|
||||
../../tools/xmovie/xmovie -scale dump.indent
|
||||
{log.lammps}.
|
||||
|
||||
If you uncomment the dump image line(s) in the input script a series
|
||||
of JPG images will be produced by the run. These can be viewed
|
||||
|
||||
60
examples/SPIN/iron/in.spin.iron_cubic
Normal file
60
examples/SPIN/iron/in.spin.iron_cubic
Normal file
@ -0,0 +1,60 @@
|
||||
# bcc iron in a 3d periodic box
|
||||
|
||||
clear
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
# necessary for the serial algorithm (sametag)
|
||||
atom_modify map array
|
||||
|
||||
lattice bcc 2.8665
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.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 2.2 -1.0 0.0 0.0
|
||||
velocity all create 100 4928459 rot yes dist gaussian
|
||||
|
||||
pair_style hybrid/overlay eam/alloy spin/exchange 3.5
|
||||
pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe
|
||||
pair_coeff * * spin/exchange 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 cubic 0.001 0.0005 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0
|
||||
fix_modify 1 energy yes
|
||||
fix 2 all langevin/spin 0.0 0.0 21
|
||||
|
||||
fix 3 all nve/spin lattice yes
|
||||
timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
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_style custom step time v_magx v_magy v_magz v_magnorm v_tmag v_emag pe etotal
|
||||
thermo 50
|
||||
|
||||
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||
dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
|
||||
|
||||
run 2000
|
||||
# min_style spin
|
||||
# min_modify alpha_damp 1.0 discrete_factor 10
|
||||
# minimize 1.0e-16 1.0e-16 10000 10000
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1117
examples/SPIN/iron/log.30Apr19.spin.iron.g++.1
Normal file
1117
examples/SPIN/iron/log.30Apr19.spin.iron.g++.1
Normal file
File diff suppressed because it is too large
Load Diff
1117
examples/SPIN/iron/log.30Apr19.spin.iron.g++.4
Normal file
1117
examples/SPIN/iron/log.30Apr19.spin.iron.g++.4
Normal file
File diff suppressed because it is too large
Load Diff
161
examples/SPIN/iron/log.30Apr19.spin.iron_cubic.g++.1
Normal file
161
examples/SPIN/iron/log.30Apr19.spin.iron_cubic.g++.1
Normal file
@ -0,0 +1,161 @@
|
||||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# bcc iron in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
# necessary for the serial algorithm (sametag)
|
||||
atom_modify map array
|
||||
|
||||
lattice bcc 2.8665
|
||||
Lattice spacing in x,y,z = 2.8665 2.8665 2.8665
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 250 atoms
|
||||
create_atoms CPU = 0.0527296 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for bcc iron
|
||||
|
||||
mass 1 55.845
|
||||
set group all spin 2.2 -1.0 0.0 0.0
|
||||
250 settings made for spin
|
||||
velocity all create 100 4928459 rot yes dist gaussian
|
||||
|
||||
pair_style hybrid/overlay eam/alloy spin/exchange 3.5
|
||||
pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe
|
||||
pair_coeff * * spin/exchange 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 cubic 0.001 0.0005 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0
|
||||
fix_modify 1 energy yes
|
||||
fix 2 all langevin/spin 0.0 0.0 21
|
||||
|
||||
fix 3 all nve/spin lattice yes
|
||||
timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
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_style custom step time v_magx v_magy v_magz v_magnorm v_tmag v_emag pe etotal
|
||||
thermo 50
|
||||
|
||||
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||
dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 20 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.77337
|
||||
ghost atom cutoff = 5.77337
|
||||
binsize = 2.88668, bins = 5 5 5
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair eam/alloy, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair spin/exchange, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.319 | 7.319 | 7.319 Mbytes
|
||||
Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng
|
||||
0 0 -1 0 0 1 0 -55.58269 -1125.5827 -1122.364
|
||||
50 0.005 -1 0 0 1 0 -55.581417 -1125.4672 -1122.364
|
||||
100 0.01 -1 0 0 1 0 -55.577759 -1125.1389 -1122.364
|
||||
150 0.015 -1 0 0 1 0 -55.57219 -1124.6538 -1122.364
|
||||
200 0.02 -1 0 0 1 0 -55.565438 -1124.099 -1122.364
|
||||
250 0.025 -1 0 0 1 0 -55.558379 -1123.5779 -1122.364
|
||||
300 0.03 -1 0 0 1 0 -55.551886 -1123.1862 -1122.364
|
||||
350 0.035 -1 0 0 1 0 -55.546675 -1122.9858 -1122.364
|
||||
400 0.04 -1 0 0 1 0 -55.543187 -1122.9869 -1122.364
|
||||
450 0.045 -1 0 0 1 0 -55.54154 -1123.1498 -1122.364
|
||||
500 0.05 -1 0 0 1 0 -55.541574 -1123.4037 -1122.364
|
||||
550 0.055 -1 0 0 1 0 -55.542941 -1123.672 -1122.364
|
||||
600 0.06 -1 0 0 1 0 -55.545209 -1123.8931 -1122.364
|
||||
650 0.065 -1 0 0 1 0 -55.547951 -1124.0315 -1122.364
|
||||
700 0.07 -1 0 0 1 0 -55.550801 -1124.0798 -1122.364
|
||||
750 0.075 -1 0 0 1 0 -55.553483 -1124.0546 -1122.364
|
||||
800 0.08 -1 0 0 1 0 -55.555816 -1123.9877 -1122.364
|
||||
850 0.085 -1 0 0 1 0 -55.557706 -1123.916 -1122.364
|
||||
900 0.09 -1 0 0 1 0 -55.55913 -1123.8714 -1122.364
|
||||
950 0.095 -1 0 0 1 0 -55.560111 -1123.8726 -1122.364
|
||||
1000 0.1 -1 0 0 1 0 -55.560705 -1123.9215 -1122.364
|
||||
1050 0.105 -1 0 0 1 0 -55.560979 -1124.0049 -1122.364
|
||||
1100 0.11 -1 0 0 1 0 -55.561005 -1124.0998 -1122.364
|
||||
1150 0.115 -1 0 0 1 0 -55.560847 -1124.1802 -1122.364
|
||||
1200 0.12 -1 0 0 1 0 -55.560562 -1124.2247 -1122.364
|
||||
1250 0.125 -1 0 0 1 0 -55.560199 -1124.2224 -1122.364
|
||||
1300 0.13 -1 0 0 1 0 -55.559804 -1124.1752 -1122.364
|
||||
1350 0.135 -1 0 0 1 0 -55.559416 -1124.0977 -1122.364
|
||||
1400 0.14 -1 0 0 1 0 -55.559073 -1124.0124 -1122.364
|
||||
1450 0.145 -1 0 0 1 0 -55.558803 -1123.9437 -1122.364
|
||||
1500 0.15 -1 0 0 1 0 -55.558617 -1123.9107 -1122.364
|
||||
1550 0.155 -1 0 0 1 0 -55.558503 -1123.9224 -1122.364
|
||||
1600 0.16 -1 0 0 1 0 -55.558425 -1123.9749 -1122.364
|
||||
1650 0.165 -1 0 0 1 0 -55.558323 -1124.0529 -1122.364
|
||||
1700 0.17 -1 0 0 1 0 -55.558122 -1124.1331 -1122.364
|
||||
1750 0.175 -1 0 0 1 0 -55.557751 -1124.1899 -1122.364
|
||||
1800 0.18 -1 0 0 1 0 -55.557157 -1124.2023 -1122.364
|
||||
1850 0.185 -1 0 0 1 0 -55.556326 -1124.1592 -1122.364
|
||||
1900 0.19 -1 0 0 1 0 -55.555301 -1124.0633 -1122.364
|
||||
1950 0.195 -1 0 0 1 0 -55.554178 -1123.9313 -1122.364
|
||||
2000 0.2 -1 0 0 1 0 -55.553099 -1123.7904 -1122.364
|
||||
Loop time of 254.052 on 1 procs for 2000 steps with 250 atoms
|
||||
|
||||
Performance: 0.068 ns/day, 352.850 hours/ns, 7.872 timesteps/s
|
||||
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 60.584 | 60.584 | 60.584 | 0.0 | 23.85
|
||||
Neigh | 0.34793 | 0.34793 | 0.34793 | 0.0 | 0.14
|
||||
Comm | 1.9994 | 1.9994 | 1.9994 | 0.0 | 0.79
|
||||
Output | 126.24 | 126.24 | 126.24 | 0.0 | 49.69
|
||||
Modify | 64.475 | 64.475 | 64.475 | 0.0 | 25.38
|
||||
Other | | 0.4024 | | | 0.16
|
||||
|
||||
Nlocal: 250 ave 250 max 250 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1419 ave 1419 max 1419 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 7878 ave 7878 max 7878 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 15756 ave 15756 max 15756 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 15756
|
||||
Ave neighs/atom = 63.024
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds = 0
|
||||
# min_style spin
|
||||
# min_modify alpha_damp 1.0 discrete_factor 10
|
||||
# minimize 1.0e-16 1.0e-16 10000 10000
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:04:16
|
||||
161
examples/SPIN/iron/log.30Apr19.spin.iron_cubic.g++.4
Normal file
161
examples/SPIN/iron/log.30Apr19.spin.iron_cubic.g++.4
Normal file
@ -0,0 +1,161 @@
|
||||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# bcc iron in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
# necessary for the serial algorithm (sametag)
|
||||
atom_modify map array
|
||||
|
||||
lattice bcc 2.8665
|
||||
Lattice spacing in x,y,z = 2.8665 2.8665 2.8665
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (14.3325 14.3325 14.3325)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 250 atoms
|
||||
create_atoms CPU = 0.000627756 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for bcc iron
|
||||
|
||||
mass 1 55.845
|
||||
set group all spin 2.2 -1.0 0.0 0.0
|
||||
250 settings made for spin
|
||||
velocity all create 100 4928459 rot yes dist gaussian
|
||||
|
||||
pair_style hybrid/overlay eam/alloy spin/exchange 3.5
|
||||
pair_coeff * * eam/alloy Fe_Mishin2006.eam.alloy Fe
|
||||
pair_coeff * * spin/exchange 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 cubic 0.001 0.0005 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0
|
||||
fix_modify 1 energy yes
|
||||
fix 2 all langevin/spin 0.0 0.0 21
|
||||
|
||||
fix 3 all nve/spin lattice yes
|
||||
timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
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_style custom step time v_magx v_magy v_magz v_magnorm v_tmag v_emag pe etotal
|
||||
thermo 50
|
||||
|
||||
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||
dump 100 all custom 1 dump_iron.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3]
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 20 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.77337
|
||||
ghost atom cutoff = 5.77337
|
||||
binsize = 2.88668, bins = 5 5 5
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair eam/alloy, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair spin/exchange, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.265 | 7.265 | 7.265 Mbytes
|
||||
Step Time v_magx v_magy v_magz v_magnorm v_tmag v_emag PotEng TotEng
|
||||
0 0 -1 0 0 1 0 -55.58269 -1125.5827 -1122.364
|
||||
50 0.005 -1 0 0 1 0 -55.581457 -1125.4635 -1122.364
|
||||
100 0.01 -1 0 0 1 0 -55.577922 -1125.1262 -1122.364
|
||||
150 0.015 -1 0 0 1 0 -55.572562 -1124.6305 -1122.364
|
||||
200 0.02 -1 0 0 1 0 -55.566098 -1124.067 -1122.364
|
||||
250 0.025 -1 0 0 1 0 -55.559384 -1123.5412 -1122.364
|
||||
300 0.03 -1 0 0 1 0 -55.553261 -1123.1491 -1122.364
|
||||
350 0.035 -1 0 0 1 0 -55.548413 -1122.9526 -1122.364
|
||||
400 0.04 -1 0 0 1 0 -55.545248 -1122.9623 -1122.364
|
||||
450 0.045 -1 0 0 1 0 -55.54387 -1123.1395 -1122.364
|
||||
500 0.05 -1 0 0 1 0 -55.544101 -1123.4126 -1122.364
|
||||
550 0.055 -1 0 0 1 0 -55.54558 -1123.7021 -1122.364
|
||||
600 0.06 -1 0 0 1 0 -55.547857 -1123.9414 -1122.364
|
||||
650 0.065 -1 0 0 1 0 -55.550495 -1124.0897 -1122.364
|
||||
700 0.07 -1 0 0 1 0 -55.553127 -1124.136 -1122.364
|
||||
750 0.075 -1 0 0 1 0 -55.555497 -1124.0961 -1122.364
|
||||
800 0.08 -1 0 0 1 0 -55.557466 -1124.0053 -1122.364
|
||||
850 0.085 -1 0 0 1 0 -55.559001 -1123.9069 -1122.364
|
||||
900 0.09 -1 0 0 1 0 -55.560147 -1123.8404 -1122.364
|
||||
950 0.095 -1 0 0 1 0 -55.560992 -1123.8312 -1122.364
|
||||
1000 0.1 -1 0 0 1 0 -55.561635 -1123.8853 -1122.364
|
||||
1050 0.105 -1 0 0 1 0 -55.562156 -1123.9898 -1122.364
|
||||
1100 0.11 -1 0 0 1 0 -55.562594 -1124.1174 -1122.364
|
||||
1150 0.115 -1 0 0 1 0 -55.562944 -1124.2349 -1122.364
|
||||
1200 0.12 -1 0 0 1 0 -55.563163 -1124.3115 -1122.364
|
||||
1250 0.125 -1 0 0 1 0 -55.563193 -1124.3273 -1122.364
|
||||
1300 0.13 -1 0 0 1 0 -55.562982 -1124.2776 -1122.364
|
||||
1350 0.135 -1 0 0 1 0 -55.562513 -1124.1744 -1122.364
|
||||
1400 0.14 -1 0 0 1 0 -55.561812 -1124.0433 -1122.364
|
||||
1450 0.145 -1 0 0 1 0 -55.560956 -1123.9169 -1122.364
|
||||
1500 0.15 -1 0 0 1 0 -55.560057 -1123.8268 -1122.364
|
||||
1550 0.155 -1 0 0 1 0 -55.559235 -1123.7951 -1122.364
|
||||
1600 0.16 -1 0 0 1 0 -55.55859 -1123.8282 -1122.364
|
||||
1650 0.165 -1 0 0 1 0 -55.558174 -1123.9155 -1122.364
|
||||
1700 0.17 -1 0 0 1 0 -55.557974 -1124.0311 -1122.364
|
||||
1750 0.175 -1 0 0 1 0 -55.557913 -1124.1409 -1122.364
|
||||
1800 0.18 -1 0 0 1 0 -55.55788 -1124.212 -1122.364
|
||||
1850 0.185 -1 0 0 1 0 -55.557753 -1124.2208 -1122.364
|
||||
1900 0.19 -1 0 0 1 0 -55.557448 -1124.1596 -1122.364
|
||||
1950 0.195 -1 0 0 1 0 -55.556942 -1124.0384 -1122.364
|
||||
2000 0.2 -1 0 0 1 0 -55.556288 -1123.883 -1122.364
|
||||
Loop time of 4.39485 on 4 procs for 2000 steps with 250 atoms
|
||||
|
||||
Performance: 3.932 ns/day, 6.104 hours/ns, 455.078 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.64527 | 0.6695 | 0.71114 | 3.3 | 15.23
|
||||
Neigh | 0.0032711 | 0.0034365 | 0.0036387 | 0.3 | 0.08
|
||||
Comm | 0.14872 | 0.19108 | 0.21485 | 6.1 | 4.35
|
||||
Output | 0.40622 | 0.43119 | 0.45149 | 2.5 | 9.81
|
||||
Modify | 3.0688 | 3.0921 | 3.1179 | 1.0 | 70.36
|
||||
Other | | 0.007548 | | | 0.17
|
||||
|
||||
Nlocal: 62.5 ave 67 max 57 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
Nghost: 850.5 ave 856 max 847 min
|
||||
Histogram: 1 0 1 1 0 0 0 0 0 1
|
||||
Neighs: 1968.75 ave 2101 max 1792 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
FullNghs: 3937.5 ave 4217 max 3583 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
|
||||
Total # of neighbors = 15750
|
||||
Ave neighs/atom = 63
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds = 0
|
||||
# min_style spin
|
||||
# min_modify alpha_damp 1.0 discrete_factor 10
|
||||
# minimize 1.0e-16 1.0e-16 10000 10000
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:04
|
||||
60
examples/SPIN/nickel/in.spin.nickel_cubic
Normal file
60
examples/SPIN/nickel/in.spin.nickel_cubic
Normal file
@ -0,0 +1,60 @@
|
||||
# fcc nickel in a 3d periodic box
|
||||
|
||||
clear
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
# necessary for the serial algorithm (sametag)
|
||||
atom_modify map array
|
||||
|
||||
lattice fcc 3.524
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
||||
create_box 1 box
|
||||
create_atoms 1 box
|
||||
|
||||
# setting mass, mag. moments, and interactions for cobalt
|
||||
|
||||
mass 1 58.69
|
||||
|
||||
set group all spin/random 31 0.63
|
||||
#set group all spin 0.63 0.0 0.0 1.0
|
||||
velocity all create 100 4928459 rot yes dist gaussian
|
||||
|
||||
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
|
||||
pair_coeff * * eam/alloy Ni99.eam.alloy Ni
|
||||
pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475
|
||||
|
||||
neighbor 0.1 bin
|
||||
neigh_modify every 10 check yes delay 20
|
||||
|
||||
fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 &
|
||||
zeeman 0.0 0.0 0.0 1.0
|
||||
fix_modify 1 energy yes
|
||||
fix 2 all langevin/spin 0.0 0.0 21
|
||||
|
||||
fix 3 all nve/spin lattice yes
|
||||
timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
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_style custom step time v_magnorm v_emag temp v_tmag etotal
|
||||
thermo 50
|
||||
|
||||
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||
dump 50 all custom 1 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]
|
||||
|
||||
run 2000
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
LAMMPS (11 May 2018)
|
||||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# fcc nickel in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
@ -19,7 +21,7 @@ Created orthogonal box = (0 0 0) to (17.62 17.62 17.62)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
Time spent = 0.000804186 secs
|
||||
create_atoms CPU = 0.000835896 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for cobalt
|
||||
|
||||
@ -45,7 +47,7 @@ timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
compute out_mag all compute/spin
|
||||
compute out_mag all spin
|
||||
compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
@ -122,20 +124,20 @@ Step Time v_magnorm v_emag Temp v_tmag TotEng
|
||||
1900 0.19 0.028733796 -28.785208 228.39889 316.9972 -2218.1018
|
||||
1950 0.195 0.028733826 -28.9724 228.84666 309.8027 -2218.1018
|
||||
2000 0.2 0.02873386 -29.175039 228.918 297.88519 -2218.1018
|
||||
Loop time of 10.033 on 1 procs for 2000 steps with 500 atoms
|
||||
Loop time of 15.9256 on 1 procs for 2000 steps with 500 atoms
|
||||
|
||||
Performance: 1.722 ns/day, 13.935 hours/ns, 199.342 timesteps/s
|
||||
99.4% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
Performance: 1.085 ns/day, 22.119 hours/ns, 125.584 timesteps/s
|
||||
99.2% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.909 | 3.909 | 3.909 | 0.0 | 38.96
|
||||
Neigh | 0.031031 | 0.031031 | 0.031031 | 0.0 | 0.31
|
||||
Comm | 0.046559 | 0.046559 | 0.046559 | 0.0 | 0.46
|
||||
Output | 2.4087 | 2.4087 | 2.4087 | 0.0 | 24.01
|
||||
Modify | 3.625 | 3.625 | 3.625 | 0.0 | 36.13
|
||||
Other | | 0.01268 | | | 0.13
|
||||
Pair | 5.8677 | 5.8677 | 5.8677 | 0.0 | 36.84
|
||||
Neigh | 0.051965 | 0.051965 | 0.051965 | 0.0 | 0.33
|
||||
Comm | 0.088829 | 0.088829 | 0.088829 | 0.0 | 0.56
|
||||
Output | 4.7019 | 4.7019 | 4.7019 | 0.0 | 29.52
|
||||
Modify | 5.199 | 5.199 | 5.199 | 0.0 | 32.65
|
||||
Other | | 0.01632 | | | 0.10
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
@ -154,4 +156,4 @@ Dangerous builds = 0
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:10
|
||||
Total wall time: 0:00:16
|
||||
@ -1,7 +1,9 @@
|
||||
LAMMPS (11 May 2018)
|
||||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# fcc nickel in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
@ -19,7 +21,7 @@ Created orthogonal box = (0 0 0) to (17.62 17.62 17.62)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
Time spent = 0.000523567 secs
|
||||
create_atoms CPU = 0.000492096 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for cobalt
|
||||
|
||||
@ -45,7 +47,7 @@ timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
compute out_mag all compute/spin
|
||||
compute out_mag all spin
|
||||
compute out_pe all pe
|
||||
compute out_ke all ke
|
||||
compute out_temp all temp
|
||||
@ -122,20 +124,20 @@ Step Time v_magnorm v_emag Temp v_tmag TotEng
|
||||
1900 0.19 0.028733864 -27.967999 220.53947 322.9504 -2218.1018
|
||||
1950 0.195 0.028733863 -28.173041 221.61407 318.63401 -2218.1018
|
||||
2000 0.2 0.028733853 -28.362177 224.22281 310.55185 -2218.1018
|
||||
Loop time of 3.95094 on 4 procs for 2000 steps with 500 atoms
|
||||
Loop time of 7.69012 on 4 procs for 2000 steps with 500 atoms
|
||||
|
||||
Performance: 4.374 ns/day, 5.487 hours/ns, 506.208 timesteps/s
|
||||
98.1% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
Performance: 2.247 ns/day, 10.681 hours/ns, 260.074 timesteps/s
|
||||
98.6% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 1.0289 | 1.0467 | 1.0811 | 2.0 | 26.49
|
||||
Neigh | 0.0079527 | 0.0081946 | 0.0084369 | 0.2 | 0.21
|
||||
Comm | 0.094456 | 0.13311 | 0.15138 | 6.2 | 3.37
|
||||
Output | 0.69702 | 0.71998 | 0.74483 | 2.1 | 18.22
|
||||
Modify | 2.0107 | 2.0383 | 2.0598 | 1.3 | 51.59
|
||||
Other | | 0.004668 | | | 0.12
|
||||
Pair | 1.5623 | 1.5999 | 1.6541 | 2.7 | 20.80
|
||||
Neigh | 0.012559 | 0.013043 | 0.013682 | 0.4 | 0.17
|
||||
Comm | 0.1843 | 0.24254 | 0.27935 | 7.2 | 3.15
|
||||
Output | 1.4749 | 1.5228 | 1.5694 | 2.9 | 19.80
|
||||
Modify | 4.2492 | 4.3019 | 4.3507 | 1.8 | 55.94
|
||||
Other | | 0.009925 | | | 0.13
|
||||
|
||||
Nlocal: 125 ave 132 max 120 min
|
||||
Histogram: 2 0 0 0 0 1 0 0 0 1
|
||||
@ -154,4 +156,4 @@ Dangerous builds = 0
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:04
|
||||
Total wall time: 0:00:07
|
||||
160
examples/SPIN/nickel/log.30Apr19.spin.nickel_cubic.g++.1
Normal file
160
examples/SPIN/nickel/log.30Apr19.spin.nickel_cubic.g++.1
Normal file
@ -0,0 +1,160 @@
|
||||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# fcc nickel in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
# necessary for the serial algorithm (sametag)
|
||||
atom_modify map array
|
||||
|
||||
lattice fcc 3.524
|
||||
Lattice spacing in x,y,z = 3.524 3.524 3.524
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (17.62 17.62 17.62)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
create_atoms CPU = 0.00068903 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for cobalt
|
||||
|
||||
mass 1 58.69
|
||||
|
||||
set group all spin/random 31 0.63
|
||||
500 settings made for spin/random
|
||||
#set group all spin 0.63 0.0 0.0 1.0
|
||||
velocity all create 100 4928459 rot yes dist gaussian
|
||||
|
||||
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
|
||||
pair_coeff * * eam/alloy Ni99.eam.alloy Ni
|
||||
pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475
|
||||
|
||||
neighbor 0.1 bin
|
||||
neigh_modify every 10 check yes delay 20
|
||||
|
||||
fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 zeeman 0.0 0.0 0.0 1.0
|
||||
fix_modify 1 energy yes
|
||||
fix 2 all langevin/spin 0.0 0.0 21
|
||||
|
||||
fix 3 all nve/spin lattice yes
|
||||
timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
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_style custom step time v_magnorm v_emag temp v_tmag etotal
|
||||
thermo 50
|
||||
|
||||
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||
dump 50 all custom 1 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]
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 20 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.90375
|
||||
ghost atom cutoff = 5.90375
|
||||
binsize = 2.95187, bins = 6 6 6
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair eam/alloy, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair spin/exchange, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.384 | 7.384 | 7.384 Mbytes
|
||||
Step Time v_magnorm v_emag Temp v_tmag TotEng
|
||||
0 0 0.028733803 0.455085 100.03408 -8603.706 -2218.0905
|
||||
50 0.005 0.028732021 0.11535308 101.47887 -34407.888 -2218.0904
|
||||
100 0.01 0.0287304 -0.665283 101.73105 6238.4535 -2218.09
|
||||
150 0.015 0.028729403 -1.8105707 99.629794 2452.7607 -2218.0896
|
||||
200 0.02 0.028731067 -3.224763 94.849715 1501.8625 -2218.0895
|
||||
250 0.025 0.028732765 -4.8207784 88.447019 1110.3291 -2218.0895
|
||||
300 0.03 0.028728169 -6.5331538 82.697813 905.2202 -2218.0896
|
||||
350 0.035 0.02871707 -8.3059526 80.122838 772.40218 -2218.0896
|
||||
400 0.04 0.028706605 -10.077613 82.389555 672.72236 -2218.0895
|
||||
450 0.045 0.028701727 -11.78634 89.823176 595.82956 -2218.0894
|
||||
500 0.05 0.028706691 -13.380919 101.39804 536.65866 -2218.0894
|
||||
550 0.055 0.028714065 -14.824128 115.07511 491.25787 -2218.0893
|
||||
600 0.06 0.028713691 -16.093505 128.58093 459.82107 -2218.089
|
||||
650 0.065 0.028713232 -17.181217 140.22137 441.15183 -2218.089
|
||||
700 0.07 0.02871245 -18.113035 149.60156 426.80154 -2218.0889
|
||||
750 0.075 0.028712431 -18.954952 157.56849 413.61924 -2218.0891
|
||||
800 0.08 0.02872489 -19.762756 164.91833 408.49483 -2218.0892
|
||||
850 0.085 0.028733709 -20.538757 171.69348 407.47868 -2218.0894
|
||||
900 0.09 0.028737031 -21.256095 177.71981 400.24086 -2218.0894
|
||||
950 0.095 0.028743446 -21.908156 183.31613 390.46773 -2218.089
|
||||
1000 0.1 0.028751809 -22.516179 189.01672 383.80802 -2218.0888
|
||||
1050 0.105 0.028761625 -23.084057 194.48882 376.54433 -2218.089
|
||||
1100 0.11 0.028768138 -23.565036 198.12295 366.13309 -2218.0891
|
||||
1150 0.115 0.028770301 -23.937136 198.95102 354.82763 -2218.089
|
||||
1200 0.12 0.028771334 -24.273509 198.31348 347.20512 -2218.0891
|
||||
1250 0.125 0.028769662 -24.672789 198.26173 344.02095 -2218.0889
|
||||
1300 0.13 0.028774175 -25.13917 199.48259 337.81596 -2218.0889
|
||||
1350 0.135 0.028795936 -25.594094 201.33509 329.891 -2218.0889
|
||||
1400 0.14 0.028824328 -25.978285 203.4984 328.81092 -2218.0886
|
||||
1450 0.145 0.028846467 -26.299501 206.52931 328.61151 -2218.0886
|
||||
1500 0.15 0.028858261 -26.605847 211.09044 324.29045 -2218.0888
|
||||
1550 0.155 0.028852825 -26.92321 216.70656 317.24339 -2218.0888
|
||||
1600 0.16 0.02885238 -27.232535 221.73117 312.50182 -2218.0888
|
||||
1650 0.165 0.028857985 -27.513725 224.82466 312.32346 -2218.0887
|
||||
1700 0.17 0.028863985 -27.764471 225.85697 312.80779 -2218.0887
|
||||
1750 0.175 0.028868714 -27.983273 225.71411 315.37238 -2218.0888
|
||||
1800 0.18 0.028871144 -28.187572 225.78979 319.44034 -2218.0888
|
||||
1850 0.185 0.028865191 -28.395615 226.7477 321.25107 -2218.0889
|
||||
1900 0.19 0.028855316 -28.597095 227.90237 319.98739 -2218.0889
|
||||
1950 0.195 0.028853072 -28.79277 228.54008 313.04557 -2218.0886
|
||||
2000 0.2 0.028855814 -29.015073 228.8643 300.40018 -2218.0885
|
||||
Loop time of 16.5858 on 1 procs for 2000 steps with 500 atoms
|
||||
|
||||
Performance: 1.042 ns/day, 23.036 hours/ns, 120.585 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 | 5.8835 | 5.8835 | 5.8835 | 0.0 | 35.47
|
||||
Neigh | 0.05244 | 0.05244 | 0.05244 | 0.0 | 0.32
|
||||
Comm | 0.092997 | 0.092997 | 0.092997 | 0.0 | 0.56
|
||||
Output | 5.213 | 5.213 | 5.213 | 0.0 | 31.43
|
||||
Modify | 5.3275 | 5.3275 | 5.3275 | 0.0 | 32.12
|
||||
Other | | 0.01636 | | | 0.10
|
||||
|
||||
Nlocal: 500 ave 500 max 500 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 1956 ave 1956 max 1956 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 19507 ave 19507 max 19507 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 39014 ave 39014 max 39014 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 39014
|
||||
Ave neighs/atom = 78.028
|
||||
Neighbor list builds = 21
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:16
|
||||
160
examples/SPIN/nickel/log.30Apr19.spin.nickel_cubic.g++.4
Normal file
160
examples/SPIN/nickel/log.30Apr19.spin.nickel_cubic.g++.4
Normal file
@ -0,0 +1,160 @@
|
||||
LAMMPS (30 Apr 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# fcc nickel in a 3d periodic box
|
||||
|
||||
clear
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
units metal
|
||||
atom_style spin
|
||||
|
||||
dimension 3
|
||||
boundary p p p
|
||||
|
||||
# necessary for the serial algorithm (sametag)
|
||||
atom_modify map array
|
||||
|
||||
lattice fcc 3.524
|
||||
Lattice spacing in x,y,z = 3.524 3.524 3.524
|
||||
region box block 0.0 5.0 0.0 5.0 0.0 5.0
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (17.62 17.62 17.62)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 500 atoms
|
||||
create_atoms CPU = 0.000639439 secs
|
||||
|
||||
# setting mass, mag. moments, and interactions for cobalt
|
||||
|
||||
mass 1 58.69
|
||||
|
||||
set group all spin/random 31 0.63
|
||||
500 settings made for spin/random
|
||||
#set group all spin 0.63 0.0 0.0 1.0
|
||||
velocity all create 100 4928459 rot yes dist gaussian
|
||||
|
||||
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
|
||||
pair_coeff * * eam/alloy Ni99.eam.alloy Ni
|
||||
pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475
|
||||
|
||||
neighbor 0.1 bin
|
||||
neigh_modify every 10 check yes delay 20
|
||||
|
||||
fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 zeeman 0.0 0.0 0.0 1.0
|
||||
fix_modify 1 energy yes
|
||||
fix 2 all langevin/spin 0.0 0.0 21
|
||||
|
||||
fix 3 all nve/spin lattice yes
|
||||
timestep 0.0001
|
||||
|
||||
# compute and output options
|
||||
|
||||
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_style custom step time v_magnorm v_emag temp v_tmag etotal
|
||||
thermo 50
|
||||
|
||||
compute outsp all property/atom spx spy spz sp fmx fmy fmz
|
||||
dump 50 all custom 1 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]
|
||||
|
||||
run 2000
|
||||
Neighbor list info ...
|
||||
update every 10 steps, delay 20 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 5.90375
|
||||
ghost atom cutoff = 5.90375
|
||||
binsize = 2.95187, bins = 6 6 6
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair eam/alloy, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair spin/exchange, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.298 | 7.298 | 7.298 Mbytes
|
||||
Step Time v_magnorm v_emag Temp v_tmag TotEng
|
||||
0 0 0.028733803 0.455085 100.03408 -8603.706 -2218.0905
|
||||
50 0.005 0.028732088 0.2980989 98.74184 -13360.862 -2218.0904
|
||||
100 0.01 0.02873076 -0.32911738 97.074246 12749.405 -2218.09
|
||||
150 0.015 0.028730298 -1.3537059 94.073558 3353.8731 -2218.0897
|
||||
200 0.02 0.028733079 -2.6807428 89.419616 1868.0661 -2218.0895
|
||||
250 0.025 0.028735725 -4.2256641 84.074249 1317.4563 -2218.0893
|
||||
300 0.03 0.028728939 -5.9209085 80.063263 1033.1632 -2218.0893
|
||||
350 0.035 0.028716731 -7.6957087 79.36782 849.1925 -2218.0893
|
||||
400 0.04 0.02871114 -9.4720832 83.055773 718.36408 -2218.0893
|
||||
450 0.045 0.02870879 -11.19254 91.28713 624.04151 -2218.0891
|
||||
500 0.05 0.028708873 -12.832707 103.50343 551.85983 -2218.0892
|
||||
550 0.055 0.028710315 -14.370603 118.16778 497.19527 -2218.0893
|
||||
600 0.06 0.028707016 -15.769641 132.83264 462.57721 -2218.089
|
||||
650 0.065 0.028706727 -17.018362 145.39247 445.40608 -2218.0888
|
||||
700 0.07 0.028710482 -18.137792 154.80131 439.71677 -2218.0889
|
||||
750 0.075 0.028705169 -19.130471 160.53663 437.67621 -2218.0892
|
||||
800 0.08 0.028695336 -19.988452 162.95918 430.42912 -2218.089
|
||||
850 0.085 0.028688393 -20.758389 164.33238 420.42991 -2218.0889
|
||||
900 0.09 0.028684101 -21.521505 167.76167 412.29955 -2218.089
|
||||
950 0.095 0.028684705 -22.314351 174.918 403.31757 -2218.0891
|
||||
1000 0.1 0.028691284 -23.080026 184.60192 391.677 -2218.0893
|
||||
1050 0.105 0.028687846 -23.714845 193.76312 379.81345 -2218.0893
|
||||
1100 0.11 0.028682371 -24.191738 200.43041 372.65414 -2218.0893
|
||||
1150 0.115 0.028684765 -24.569816 204.39323 368.53291 -2218.0891
|
||||
1200 0.12 0.028678139 -24.892093 205.879 364.46365 -2218.0892
|
||||
1250 0.125 0.028669738 -25.160227 205.09197 361.98015 -2218.0893
|
||||
1300 0.13 0.028666626 -25.367813 202.69136 360.10649 -2218.0891
|
||||
1350 0.135 0.028665511 -25.520784 199.79027 359.68033 -2218.0892
|
||||
1400 0.14 0.02866749 -25.655936 197.91217 361.218 -2218.0892
|
||||
1450 0.145 0.028666916 -25.80086 198.1933 361.5167 -2218.0889
|
||||
1500 0.15 0.028660248 -25.953194 200.8243 356.0167 -2218.089
|
||||
1550 0.155 0.028641778 -26.137444 205.80307 349.94961 -2218.0887
|
||||
1600 0.16 0.028626894 -26.393372 212.6879 347.30341 -2218.0888
|
||||
1650 0.165 0.028619835 -26.707923 219.63834 340.80511 -2218.0885
|
||||
1700 0.17 0.028615681 -27.023214 224.25635 329.60947 -2218.0882
|
||||
1750 0.175 0.02861597 -27.301445 225.47908 321.35253 -2218.0884
|
||||
1800 0.18 0.028614544 -27.53764 224.03527 320.92639 -2218.0884
|
||||
1850 0.185 0.02860894 -27.741581 221.74286 323.07034 -2218.0884
|
||||
1900 0.19 0.028604135 -27.943034 220.659 322.60989 -2218.0884
|
||||
1950 0.195 0.028602672 -28.160901 221.85908 318.8957 -2218.0885
|
||||
2000 0.2 0.028597155 -28.365986 224.55298 311.53587 -2218.0886
|
||||
Loop time of 7.21663 on 4 procs for 2000 steps with 500 atoms
|
||||
|
||||
Performance: 2.394 ns/day, 10.023 hours/ns, 277.138 timesteps/s
|
||||
98.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 | 1.6337 | 1.6726 | 1.7259 | 2.7 | 23.18
|
||||
Neigh | 0.013023 | 0.01361 | 0.014188 | 0.4 | 0.19
|
||||
Comm | 0.19005 | 0.24933 | 0.2905 | 7.5 | 3.45
|
||||
Output | 1.4595 | 1.5171 | 1.5725 | 3.4 | 21.02
|
||||
Modify | 3.6943 | 3.7537 | 3.8093 | 2.3 | 52.01
|
||||
Other | | 0.01025 | | | 0.14
|
||||
|
||||
Nlocal: 125 ave 132 max 121 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
Nghost: 1099 ave 1103 max 1092 min
|
||||
Histogram: 1 0 0 0 0 1 0 0 0 2
|
||||
Neighs: 4877 ave 5097 max 4747 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
FullNghs: 9754 ave 10298 max 9440 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 39016
|
||||
Ave neighs/atom = 78.032
|
||||
Neighbor list builds = 21
|
||||
Dangerous builds = 0
|
||||
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:07
|
||||
6
examples/USER/e3b/README
Normal file
6
examples/USER/e3b/README
Normal file
@ -0,0 +1,6 @@
|
||||
The input script in.lammps simulates bulk water using the 2015 E3B potential.
|
||||
|
||||
This script also demonstrates the use of compute pair to calculate the
|
||||
potential energy contribution of the e3b pair style. These potential energy
|
||||
contributions can be found in the output file e3b.txt. See the LAMMPS
|
||||
documentation for more details.
|
||||
1973
examples/USER/e3b/e3b_box.data
Normal file
1973
examples/USER/e3b/e3b_box.data
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user