Compare commits
165 Commits
patch_30Ap
...
patch_31Ma
| Author | SHA1 | Date | |
|---|---|---|---|
| dc1e31506e | |||
| 68d69955d0 | |||
| 5f657b9184 | |||
| 3e4fd3dade | |||
| 3e05b983c1 | |||
| d8a30a9697 | |||
| 8b169d97f5 | |||
| f73c848ee4 | |||
| 4243af30d7 | |||
| 9d51ee17b0 | |||
| c903a110fe | |||
| 02e7dd5716 | |||
| 1a5c3c6dcb | |||
| daac3f7102 | |||
| 3bf0a4ba63 | |||
| 9cc16c4f33 | |||
| 8dcd6fc48c | |||
| a48f1cbf00 | |||
| d3cbccff35 | |||
| 29d36ffec0 | |||
| fec2f8f69b | |||
| c0cfceb95c | |||
| 12fcf5f5ef | |||
| cb8d89855d | |||
| c8d50c04a4 | |||
| 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 | |||
| 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_EQUAL 9.0.0))
|
||||
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 "31 May 2019" "2019-05-31"
|
||||
.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,
|
||||
|
||||
@ -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,
|
||||
|
||||
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}
|
||||
|
||||
@ -5828,6 +5828,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 +7454,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 +10001,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 +10060,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 +10088,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 +10112,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 +10120,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 +10128,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 +10144,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 +10152,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
|
||||
|
||||
|
||||
@ -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="31 May 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
|
||||
31 May 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:
|
||||
|
||||
@ -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, 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.
|
||||
|
||||
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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
95
examples/USER/e3b/in.e3b-tip4p2005
Normal file
95
examples/USER/e3b/in.e3b-tip4p2005
Normal file
@ -0,0 +1,95 @@
|
||||
#LAMMPS input file
|
||||
#to simulate bulk E3B3 water model
|
||||
|
||||
#####################################################################
|
||||
|
||||
variable samp_rate equal 10
|
||||
variable thermo_rate equal 10
|
||||
variable Wlat equal 3.10744 #for water density 0.997g/mL
|
||||
variable L equal 3 #(L*2)^3 = Nmolec, L=3 -> N=216
|
||||
|
||||
variable equil equal 100
|
||||
variable run equal 100
|
||||
|
||||
variable ts equal 2.0
|
||||
variable Tdamp equal 100*${ts}
|
||||
variable Pdamp equal 1000*${ts}
|
||||
variable myT equal 298.0
|
||||
variable myP equal 1.0
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
dimension 3
|
||||
|
||||
boundary p p p
|
||||
|
||||
#############################################################################
|
||||
#setup box
|
||||
read_data e3b_box.data
|
||||
|
||||
#############################################################################
|
||||
#set up potential
|
||||
|
||||
pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.1546 8.5
|
||||
pair_modify table 0 table/disp 0 shift yes
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
|
||||
kspace_style pppm/tip4p 1.0e-6
|
||||
|
||||
pair_coeff * * lj/cut/tip4p/long 0.0 0.0
|
||||
pair_coeff 1 1 lj/cut/tip4p/long 0.1852 3.1589
|
||||
pair_coeff * * e3b preset 2015
|
||||
|
||||
#potential coeffs aren't too important since will be rigid anyways
|
||||
bond_coeff 1 554.13 0.9572
|
||||
angle_coeff 1 45.769 104.52
|
||||
|
||||
#############################################################################
|
||||
#setup for run
|
||||
thermo ${thermo_rate}
|
||||
thermo_style custom step vol temp epair pe etotal press density
|
||||
|
||||
timestep ${ts}
|
||||
run_style verlet
|
||||
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 3 check yes
|
||||
|
||||
#############################################################################
|
||||
|
||||
#dump positions only in first batch run
|
||||
#dump 7 all custom ${samp_rate} dump.lammpstrj id x y z
|
||||
#dump_modify 7 sort id
|
||||
|
||||
#############################################################################
|
||||
#initialize velocity and rigid constraint
|
||||
|
||||
fix rigid all shake 1.0e-8 100 0 b 1 a 1 t 1 2
|
||||
velocity all create ${myT} 15856 dist gaussian rot yes mom yes
|
||||
|
||||
#scale velocity
|
||||
run 0
|
||||
velocity all scale ${myT}
|
||||
|
||||
compute e3b all pair e3b
|
||||
fix e3b all ave/time 1 1 ${thermo_rate} c_e3b c_e3b[*] &
|
||||
file e3b.txt title2 "step pe_e3b pe_e2 pe_ea pe_eb pe_ec"
|
||||
|
||||
#############################################################################
|
||||
#equilibrate bulk water at NVT
|
||||
|
||||
fix 1 all nvt temp ${myT} ${myT} ${Tdamp}
|
||||
run ${equil}
|
||||
|
||||
#############################################################################
|
||||
#run at NVT
|
||||
|
||||
#dump 1 all custom ${samp_rate} dump.lammpstrj id x y z type
|
||||
#dump_modify 1 sort id
|
||||
|
||||
run ${run}
|
||||
|
||||
# write_restart lammps.restart
|
||||
332
examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.1
Normal file
332
examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.1
Normal file
@ -0,0 +1,332 @@
|
||||
LAMMPS (29 Mar 2019)
|
||||
#LAMMPS input file
|
||||
#to simulate bulk E3B3 water model
|
||||
|
||||
#####################################################################
|
||||
|
||||
variable samp_rate equal 10
|
||||
variable thermo_rate equal 10
|
||||
variable Wlat equal 3.10744 #for water density 0.997g/mL
|
||||
variable L equal 3 #(L*2)^3 = Nmolec, L=3 -> N=216
|
||||
|
||||
variable equil equal 100
|
||||
variable run equal 100
|
||||
|
||||
variable ts equal 2.0
|
||||
variable Tdamp equal 100*${ts}
|
||||
variable Tdamp equal 100*2
|
||||
variable Pdamp equal 1000*${ts}
|
||||
variable Pdamp equal 1000*2
|
||||
variable myT equal 298.0
|
||||
variable myP equal 1.0
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
dimension 3
|
||||
|
||||
boundary p p p
|
||||
|
||||
#############################################################################
|
||||
#setup box
|
||||
read_data e3b_box.data
|
||||
orthogonal box = (-9.32232 -9.32232 -9.32232) to (9.32232 9.32232 9.32232)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
648 atoms
|
||||
reading velocities ...
|
||||
648 velocities
|
||||
scanning bonds ...
|
||||
2 = max bonds/atom
|
||||
scanning angles ...
|
||||
1 = max angles/atom
|
||||
reading bonds ...
|
||||
432 bonds
|
||||
reading angles ...
|
||||
216 angles
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
special bonds CPU = 0.000257254 secs
|
||||
read_data CPU = 0.00286555 secs
|
||||
|
||||
#############################################################################
|
||||
#set up potential
|
||||
|
||||
pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.1546 8.5
|
||||
pair_modify table 0 table/disp 0 shift yes
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
|
||||
kspace_style pppm/tip4p 1.0e-6
|
||||
|
||||
pair_coeff * * lj/cut/tip4p/long 0.0 0.0
|
||||
pair_coeff 1 1 lj/cut/tip4p/long 0.1852 3.1589
|
||||
pair_coeff * * e3b preset 2015
|
||||
|
||||
#potential coeffs aren't too important since will be rigid anyways
|
||||
bond_coeff 1 554.13 0.9572
|
||||
angle_coeff 1 45.769 104.52
|
||||
|
||||
#############################################################################
|
||||
#setup for run
|
||||
thermo ${thermo_rate}
|
||||
thermo 10
|
||||
thermo_style custom step vol temp epair pe etotal press density
|
||||
|
||||
timestep ${ts}
|
||||
timestep 2
|
||||
run_style verlet
|
||||
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 3 check yes
|
||||
|
||||
#############################################################################
|
||||
|
||||
#dump positions only in first batch run
|
||||
#dump 7 all custom ${samp_rate} dump.lammpstrj id x y z
|
||||
#dump_modify 7 sort id
|
||||
|
||||
#############################################################################
|
||||
#initialize velocity and rigid constraint
|
||||
|
||||
fix rigid all shake 1.0e-8 100 0 b 1 a 1 t 1 2
|
||||
0 = # of size 2 clusters
|
||||
0 = # of size 3 clusters
|
||||
0 = # of size 4 clusters
|
||||
216 = # of frozen angles
|
||||
find clusters CPU = 0.000185728 secs
|
||||
velocity all create ${myT} 15856 dist gaussian rot yes mom yes
|
||||
velocity all create 298 15856 dist gaussian rot yes mom yes
|
||||
|
||||
#scale velocity
|
||||
run 0
|
||||
PPPM initialization ...
|
||||
extracting TIP4P info from pair style
|
||||
using polynomial approximation for long-range coulomb (../kspace.cpp:319)
|
||||
G vector (1/distance) = 0.409658
|
||||
grid = 36 36 36
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.000341883
|
||||
estimated relative force accuracy = 1.02957e-06
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 91125 46656
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 3 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.8092
|
||||
ghost atom cutoff = 10.8092
|
||||
binsize = 5.4046, bins = 4 4 4
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair e3b, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair lj/cut/tip4p/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 16.4 | 16.4 | 16.4 Mbytes
|
||||
Step Volume Temp E_pair PotEng TotEng Press Density
|
||||
0 6481.2982 298 -512.62432 -512.62432 -129.77504 14088.322 0.99697602
|
||||
Loop time of 1.19209e-06 on 1 procs for 0 steps with 648 atoms
|
||||
|
||||
251.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Bond | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Kspace | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 1.192e-06 | | |100.00
|
||||
|
||||
Nlocal: 648 ave 648 max 648 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 5943 ave 5943 max 5943 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18984 ave 18984 max 18984 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 18984
|
||||
Ave neighs/atom = 29.2963
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
velocity all scale ${myT}
|
||||
velocity all scale 298
|
||||
|
||||
compute e3b all pe/e3b
|
||||
fix e3b all ave/time 1 1 ${thermo_rate} c_e3b c_e3b[*] file e3b.txt title2 "step pe_e3b pe_ea pe_eb pe_ec pe_e2"
|
||||
fix e3b all ave/time 1 1 10 c_e3b c_e3b[*] file e3b.txt title2 "step pe_e3b pe_ea pe_eb pe_ec pe_e2"
|
||||
|
||||
#############################################################################
|
||||
#equilibrate bulk water at NVT
|
||||
|
||||
fix 1 all nvt temp ${myT} ${myT} ${Tdamp}
|
||||
fix 1 all nvt temp 298 ${myT} ${Tdamp}
|
||||
fix 1 all nvt temp 298 298 ${Tdamp}
|
||||
fix 1 all nvt temp 298 298 200
|
||||
run ${equil}
|
||||
run 100
|
||||
PPPM initialization ...
|
||||
extracting TIP4P info from pair style
|
||||
using polynomial approximation for long-range coulomb (../kspace.cpp:319)
|
||||
G vector (1/distance) = 0.409658
|
||||
grid = 36 36 36
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.000341883
|
||||
estimated relative force accuracy = 1.02957e-06
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 91125 46656
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 3 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.8092
|
||||
ghost atom cutoff = 10.8092
|
||||
binsize = 5.4046, bins = 4 4 4
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair e3b, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair lj/cut/tip4p/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 16.88 | 16.88 | 16.88 Mbytes
|
||||
Step Volume Temp E_pair PotEng TotEng Press Density
|
||||
0 6481.2982 298 -512.33264 -512.33264 -129.48336 14091.383 0.99697602
|
||||
10 6481.2982 905.58028 -1442.0378 -1442.0378 -278.61245 -798.38952 0.99697602
|
||||
20 6481.2982 816.39844 -1363.5999 -1363.5999 -314.74903 3023.9064 0.99697602
|
||||
30 6481.2982 783.3897 -1370.6594 -1370.6594 -364.21587 7095.4765 0.99697602
|
||||
40 6481.2982 793.12519 -1425.8404 -1425.8404 -406.88933 7030.242 0.99697602
|
||||
50 6481.2982 810.90264 -1495.4822 -1495.4822 -453.69195 6944.2325 0.99697602
|
||||
60 6481.2982 766.64937 -1491.2317 -1491.2317 -506.29493 9062.0151 0.99697602
|
||||
70 6481.2982 761.77292 -1538.7368 -1538.7368 -560.06492 7693.2197 0.99697602
|
||||
80 6481.2982 730.44938 -1554.1818 -1554.1818 -615.75215 7345.9601 0.99697602
|
||||
90 6481.2982 695.46244 -1563.9869 -1563.9869 -670.50605 7809.0685 0.99697602
|
||||
100 6481.2982 691.5674 -1613.2754 -1613.2754 -724.79866 7143.062 0.99697602
|
||||
Loop time of 1.94577 on 1 procs for 100 steps with 648 atoms
|
||||
|
||||
Performance: 8.881 ns/day, 2.702 hours/ns, 51.393 timesteps/s
|
||||
99.7% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.91572 | 0.91572 | 0.91572 | 0.0 | 47.06
|
||||
Bond | 6.7234e-05 | 6.7234e-05 | 6.7234e-05 | 0.0 | 0.00
|
||||
Kspace | 0.92654 | 0.92654 | 0.92654 | 0.0 | 47.62
|
||||
Neigh | 0.087331 | 0.087331 | 0.087331 | 0.0 | 4.49
|
||||
Comm | 0.0054724 | 0.0054724 | 0.0054724 | 0.0 | 0.28
|
||||
Output | 0.0003047 | 0.0003047 | 0.0003047 | 0.0 | 0.02
|
||||
Modify | 0.0093319 | 0.0093319 | 0.0093319 | 0.0 | 0.48
|
||||
Other | | 0.001007 | | | 0.05
|
||||
|
||||
Nlocal: 648 ave 648 max 648 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 5911 ave 5911 max 5911 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 19136 ave 19136 max 19136 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 19136
|
||||
Ave neighs/atom = 29.5309
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 15
|
||||
Dangerous builds = 0
|
||||
|
||||
#############################################################################
|
||||
#run at NVT
|
||||
|
||||
#dump 1 all custom ${samp_rate} dump.lammpstrj id x y z type
|
||||
#dump_modify 1 sort id
|
||||
|
||||
run ${run}
|
||||
run 100
|
||||
PPPM initialization ...
|
||||
extracting TIP4P info from pair style
|
||||
using polynomial approximation for long-range coulomb (../kspace.cpp:319)
|
||||
G vector (1/distance) = 0.409658
|
||||
grid = 36 36 36
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.000341883
|
||||
estimated relative force accuracy = 1.02957e-06
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 91125 46656
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 3 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.8092
|
||||
ghost atom cutoff = 10.8092
|
||||
binsize = 5.4046, bins = 4 4 4
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair e3b, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair lj/cut/tip4p/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 16.88 | 16.88 | 16.88 Mbytes
|
||||
Step Volume Temp E_pair PotEng TotEng Press Density
|
||||
100 6481.2982 691.5674 -1613.2754 -1613.2754 -724.79866 7131.3961 0.99697602
|
||||
110 6481.2982 668.27004 -1635.5867 -1635.5867 -777.04068 6965.8705 0.99697602
|
||||
120 6481.2982 646.18686 -1659.5025 -1659.5025 -829.32738 6196.7432 0.99697602
|
||||
130 6481.2982 650.7802 -1716.9557 -1716.9557 -880.87943 5626.5466 0.99697602
|
||||
140 6481.2982 586.262 -1681.8052 -1681.8052 -928.61728 6103.747 0.99697602
|
||||
150 6481.2982 615.88299 -1767.8614 -1767.8614 -976.61859 3897.648 0.99697602
|
||||
160 6481.2982 585.23516 -1773.2038 -1773.2038 -1021.3352 4821.7742 0.99697602
|
||||
170 6481.2982 558.77885 -1782.2817 -1782.2817 -1064.4022 5092.7248 0.99697602
|
||||
180 6481.2982 564.01576 -1830.0301 -1830.0301 -1105.4226 4316.1636 0.99697602
|
||||
190 6481.2982 526.53776 -1821.3122 -1821.3122 -1144.8538 4529.5062 0.99697602
|
||||
200 6481.2982 537.81273 -1873.6662 -1873.6662 -1182.7226 4244.313 0.99697602
|
||||
Loop time of 1.9157 on 1 procs for 100 steps with 648 atoms
|
||||
|
||||
Performance: 9.020 ns/day, 2.661 hours/ns, 52.200 timesteps/s
|
||||
99.6% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.90464 | 0.90464 | 0.90464 | 0.0 | 47.22
|
||||
Bond | 6.9141e-05 | 6.9141e-05 | 6.9141e-05 | 0.0 | 0.00
|
||||
Kspace | 0.92769 | 0.92769 | 0.92769 | 0.0 | 48.43
|
||||
Neigh | 0.067551 | 0.067551 | 0.067551 | 0.0 | 3.53
|
||||
Comm | 0.0051386 | 0.0051386 | 0.0051386 | 0.0 | 0.27
|
||||
Output | 0.00029993 | 0.00029993 | 0.00029993 | 0.0 | 0.02
|
||||
Modify | 0.0092504 | 0.0092504 | 0.0092504 | 0.0 | 0.48
|
||||
Other | | 0.001062 | | | 0.06
|
||||
|
||||
Nlocal: 648 ave 648 max 648 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 5901 ave 5901 max 5901 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 18971 ave 18971 max 18971 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 18971
|
||||
Ave neighs/atom = 29.2762
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds = 0
|
||||
|
||||
# write_restart lammps.restart
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:03
|
||||
332
examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.4
Normal file
332
examples/USER/e3b/log.29Mar2019.e3b-tip4p2005.g++.4
Normal file
@ -0,0 +1,332 @@
|
||||
LAMMPS (29 Mar 2019)
|
||||
#LAMMPS input file
|
||||
#to simulate bulk E3B3 water model
|
||||
|
||||
#####################################################################
|
||||
|
||||
variable samp_rate equal 10
|
||||
variable thermo_rate equal 10
|
||||
variable Wlat equal 3.10744 #for water density 0.997g/mL
|
||||
variable L equal 3 #(L*2)^3 = Nmolec, L=3 -> N=216
|
||||
|
||||
variable equil equal 100
|
||||
variable run equal 100
|
||||
|
||||
variable ts equal 2.0
|
||||
variable Tdamp equal 100*${ts}
|
||||
variable Tdamp equal 100*2
|
||||
variable Pdamp equal 1000*${ts}
|
||||
variable Pdamp equal 1000*2
|
||||
variable myT equal 298.0
|
||||
variable myP equal 1.0
|
||||
|
||||
units real
|
||||
atom_style full
|
||||
|
||||
dimension 3
|
||||
|
||||
boundary p p p
|
||||
|
||||
#############################################################################
|
||||
#setup box
|
||||
read_data e3b_box.data
|
||||
orthogonal box = (-9.32232 -9.32232 -9.32232) to (9.32232 9.32232 9.32232)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
reading atoms ...
|
||||
648 atoms
|
||||
reading velocities ...
|
||||
648 velocities
|
||||
scanning bonds ...
|
||||
2 = max bonds/atom
|
||||
scanning angles ...
|
||||
1 = max angles/atom
|
||||
reading bonds ...
|
||||
432 bonds
|
||||
reading angles ...
|
||||
216 angles
|
||||
2 = max # of 1-2 neighbors
|
||||
1 = max # of 1-3 neighbors
|
||||
1 = max # of 1-4 neighbors
|
||||
2 = max # of special neighbors
|
||||
special bonds CPU = 0.00029397 secs
|
||||
read_data CPU = 0.00397325 secs
|
||||
|
||||
#############################################################################
|
||||
#set up potential
|
||||
|
||||
pair_style hybrid/overlay e3b 1 lj/cut/tip4p/long 1 2 1 1 0.1546 8.5
|
||||
pair_modify table 0 table/disp 0 shift yes
|
||||
|
||||
bond_style harmonic
|
||||
angle_style harmonic
|
||||
|
||||
kspace_style pppm/tip4p 1.0e-6
|
||||
|
||||
pair_coeff * * lj/cut/tip4p/long 0.0 0.0
|
||||
pair_coeff 1 1 lj/cut/tip4p/long 0.1852 3.1589
|
||||
pair_coeff * * e3b preset 2015
|
||||
|
||||
#potential coeffs aren't too important since will be rigid anyways
|
||||
bond_coeff 1 554.13 0.9572
|
||||
angle_coeff 1 45.769 104.52
|
||||
|
||||
#############################################################################
|
||||
#setup for run
|
||||
thermo ${thermo_rate}
|
||||
thermo 10
|
||||
thermo_style custom step vol temp epair pe etotal press density
|
||||
|
||||
timestep ${ts}
|
||||
timestep 2
|
||||
run_style verlet
|
||||
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1 delay 3 check yes
|
||||
|
||||
#############################################################################
|
||||
|
||||
#dump positions only in first batch run
|
||||
#dump 7 all custom ${samp_rate} dump.lammpstrj id x y z
|
||||
#dump_modify 7 sort id
|
||||
|
||||
#############################################################################
|
||||
#initialize velocity and rigid constraint
|
||||
|
||||
fix rigid all shake 1.0e-8 100 0 b 1 a 1 t 1 2
|
||||
0 = # of size 2 clusters
|
||||
0 = # of size 3 clusters
|
||||
0 = # of size 4 clusters
|
||||
216 = # of frozen angles
|
||||
find clusters CPU = 0.000289917 secs
|
||||
velocity all create ${myT} 15856 dist gaussian rot yes mom yes
|
||||
velocity all create 298 15856 dist gaussian rot yes mom yes
|
||||
|
||||
#scale velocity
|
||||
run 0
|
||||
PPPM initialization ...
|
||||
extracting TIP4P info from pair style
|
||||
using polynomial approximation for long-range coulomb (../kspace.cpp:319)
|
||||
G vector (1/distance) = 0.409658
|
||||
grid = 36 36 36
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.000341883
|
||||
estimated relative force accuracy = 1.02957e-06
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 32805 11664
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 3 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.8092
|
||||
ghost atom cutoff = 10.8092
|
||||
binsize = 5.4046, bins = 4 4 4
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair e3b, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair lj/cut/tip4p/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 10.69 | 10.69 | 10.69 Mbytes
|
||||
Step Volume Temp E_pair PotEng TotEng Press Density
|
||||
0 6481.2982 298 -512.62432 -512.62432 -129.77504 14088.322 0.99697602
|
||||
Loop time of 3.30806e-05 on 4 procs for 0 steps with 648 atoms
|
||||
|
||||
77.1% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Bond | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Kspace | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Output | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Modify | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Other | | 3.308e-05 | | |100.00
|
||||
|
||||
Nlocal: 162 ave 168 max 157 min
|
||||
Histogram: 2 0 0 0 0 0 0 1 0 1
|
||||
Nghost: 3738 ave 3743 max 3732 min
|
||||
Histogram: 1 0 1 0 0 0 0 0 0 2
|
||||
Neighs: 4746 ave 5380 max 4318 min
|
||||
Histogram: 1 1 0 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 18984
|
||||
Ave neighs/atom = 29.2963
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
velocity all scale ${myT}
|
||||
velocity all scale 298
|
||||
|
||||
compute e3b all pe/e3b
|
||||
fix e3b all ave/time 1 1 ${thermo_rate} c_e3b c_e3b[*] file e3b.txt title2 "step pe_e3b pe_ea pe_eb pe_ec pe_e2"
|
||||
fix e3b all ave/time 1 1 10 c_e3b c_e3b[*] file e3b.txt title2 "step pe_e3b pe_ea pe_eb pe_ec pe_e2"
|
||||
|
||||
#############################################################################
|
||||
#equilibrate bulk water at NVT
|
||||
|
||||
fix 1 all nvt temp ${myT} ${myT} ${Tdamp}
|
||||
fix 1 all nvt temp 298 ${myT} ${Tdamp}
|
||||
fix 1 all nvt temp 298 298 ${Tdamp}
|
||||
fix 1 all nvt temp 298 298 200
|
||||
run ${equil}
|
||||
run 100
|
||||
PPPM initialization ...
|
||||
extracting TIP4P info from pair style
|
||||
using polynomial approximation for long-range coulomb (../kspace.cpp:319)
|
||||
G vector (1/distance) = 0.409658
|
||||
grid = 36 36 36
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.000341883
|
||||
estimated relative force accuracy = 1.02957e-06
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 32805 11664
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 3 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.8092
|
||||
ghost atom cutoff = 10.8092
|
||||
binsize = 5.4046, bins = 4 4 4
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair e3b, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair lj/cut/tip4p/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.18 | 11.18 | 11.18 Mbytes
|
||||
Step Volume Temp E_pair PotEng TotEng Press Density
|
||||
0 6481.2982 298 -512.33264 -512.33264 -129.48336 14091.383 0.99697602
|
||||
10 6481.2982 905.58028 -1442.0378 -1442.0378 -278.61245 -798.38952 0.99697602
|
||||
20 6481.2982 816.39844 -1363.5999 -1363.5999 -314.74903 3023.9064 0.99697602
|
||||
30 6481.2982 783.3897 -1370.6594 -1370.6594 -364.21587 7095.4765 0.99697602
|
||||
40 6481.2982 793.12519 -1425.8404 -1425.8404 -406.88933 7030.242 0.99697602
|
||||
50 6481.2982 810.90264 -1495.4822 -1495.4822 -453.69195 6944.2325 0.99697602
|
||||
60 6481.2982 766.64937 -1491.2317 -1491.2317 -506.29493 9062.0151 0.99697602
|
||||
70 6481.2982 761.77292 -1538.7368 -1538.7368 -560.06492 7693.2197 0.99697602
|
||||
80 6481.2982 730.44938 -1554.1818 -1554.1818 -615.75215 7345.9601 0.99697602
|
||||
90 6481.2982 695.46244 -1563.9869 -1563.9869 -670.50605 7809.0685 0.99697602
|
||||
100 6481.2982 691.5674 -1613.2754 -1613.2754 -724.79866 7143.062 0.99697602
|
||||
Loop time of 1.20724 on 4 procs for 100 steps with 648 atoms
|
||||
|
||||
Performance: 14.314 ns/day, 1.677 hours/ns, 82.834 timesteps/s
|
||||
97.6% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.37421 | 0.39416 | 0.42739 | 3.2 | 32.65
|
||||
Bond | 5.8651e-05 | 7.1406e-05 | 8.2016e-05 | 0.0 | 0.01
|
||||
Kspace | 0.67929 | 0.71762 | 0.74038 | 2.8 | 59.44
|
||||
Neigh | 0.042206 | 0.042236 | 0.042263 | 0.0 | 3.50
|
||||
Comm | 0.0248 | 0.031467 | 0.035969 | 2.7 | 2.61
|
||||
Output | 0.00064564 | 0.0008018 | 0.0012648 | 0.0 | 0.07
|
||||
Modify | 0.018263 | 0.01869 | 0.019076 | 0.2 | 1.55
|
||||
Other | | 0.002194 | | | 0.18
|
||||
|
||||
Nlocal: 162 ave 170 max 151 min
|
||||
Histogram: 1 0 0 0 0 1 0 1 0 1
|
||||
Nghost: 3726.75 ave 3737 max 3720 min
|
||||
Histogram: 1 0 1 1 0 0 0 0 0 1
|
||||
Neighs: 4784 ave 5474 max 4389 min
|
||||
Histogram: 1 1 1 0 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 19136
|
||||
Ave neighs/atom = 29.5309
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 15
|
||||
Dangerous builds = 0
|
||||
|
||||
#############################################################################
|
||||
#run at NVT
|
||||
|
||||
#dump 1 all custom ${samp_rate} dump.lammpstrj id x y z type
|
||||
#dump_modify 1 sort id
|
||||
|
||||
run ${run}
|
||||
run 100
|
||||
PPPM initialization ...
|
||||
extracting TIP4P info from pair style
|
||||
using polynomial approximation for long-range coulomb (../kspace.cpp:319)
|
||||
G vector (1/distance) = 0.409658
|
||||
grid = 36 36 36
|
||||
stencil order = 5
|
||||
estimated absolute RMS force accuracy = 0.000341883
|
||||
estimated relative force accuracy = 1.02957e-06
|
||||
using double precision FFTs
|
||||
3d grid and FFT values/proc = 32805 11664
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 3 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 10.8092
|
||||
ghost atom cutoff = 10.8092
|
||||
binsize = 5.4046, bins = 4 4 4
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair e3b, perpetual, skip from (2)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair lj/cut/tip4p/long, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.18 | 11.18 | 11.18 Mbytes
|
||||
Step Volume Temp E_pair PotEng TotEng Press Density
|
||||
100 6481.2982 691.5674 -1613.2754 -1613.2754 -724.79866 7131.3961 0.99697602
|
||||
110 6481.2982 668.27004 -1635.5867 -1635.5867 -777.04068 6965.8705 0.99697602
|
||||
120 6481.2982 646.18686 -1659.5025 -1659.5025 -829.32738 6196.7432 0.99697602
|
||||
130 6481.2982 650.7802 -1716.9557 -1716.9557 -880.87943 5626.5466 0.99697602
|
||||
140 6481.2982 586.262 -1681.8052 -1681.8052 -928.61728 6103.747 0.99697602
|
||||
150 6481.2982 615.88299 -1767.8614 -1767.8614 -976.61859 3897.648 0.99697602
|
||||
160 6481.2982 585.23516 -1773.2038 -1773.2038 -1021.3352 4821.7742 0.99697602
|
||||
170 6481.2982 558.77885 -1782.2817 -1782.2817 -1064.4022 5092.7248 0.99697602
|
||||
180 6481.2982 564.01576 -1830.0301 -1830.0301 -1105.4226 4316.1636 0.99697602
|
||||
190 6481.2982 526.53776 -1821.3122 -1821.3122 -1144.8538 4529.5062 0.99697602
|
||||
200 6481.2982 537.81273 -1873.6662 -1873.6662 -1182.7226 4244.313 0.99697602
|
||||
Loop time of 1.21286 on 4 procs for 100 steps with 648 atoms
|
||||
|
||||
Performance: 14.247 ns/day, 1.685 hours/ns, 82.450 timesteps/s
|
||||
97.6% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 0.37664 | 0.39663 | 0.4367 | 3.8 | 32.70
|
||||
Bond | 6.175e-05 | 6.7353e-05 | 7.4148e-05 | 0.0 | 0.01
|
||||
Kspace | 0.6969 | 0.73237 | 0.75103 | 2.5 | 60.38
|
||||
Neigh | 0.033138 | 0.03317 | 0.033202 | 0.0 | 2.73
|
||||
Comm | 0.022651 | 0.02763 | 0.034947 | 3.0 | 2.28
|
||||
Output | 0.00065303 | 0.00096697 | 0.0018971 | 0.0 | 0.08
|
||||
Modify | 0.017379 | 0.018252 | 0.018955 | 0.4 | 1.50
|
||||
Other | | 0.003775 | | | 0.31
|
||||
|
||||
Nlocal: 162 ave 175 max 156 min
|
||||
Histogram: 1 2 0 0 0 0 0 0 0 1
|
||||
Nghost: 3689.5 ave 3721 max 3651 min
|
||||
Histogram: 1 0 0 0 0 1 1 0 0 1
|
||||
Neighs: 4742.75 ave 5159 max 4485 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 18971
|
||||
Ave neighs/atom = 29.2762
|
||||
Ave special neighs/atom = 2
|
||||
Neighbor list builds = 12
|
||||
Dangerous builds = 0
|
||||
|
||||
# write_restart lammps.restart
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:02
|
||||
1
examples/USER/misc/drip/C.drip
Symbolic link
1
examples/USER/misc/drip/C.drip
Symbolic link
@ -0,0 +1 @@
|
||||
../../../../potentials/C.drip
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user