forked from lijiext/lammps
Merge branch 'upstream-master' into OSO
This commit is contained in:
commit
12c73e7a61
|
@ -133,6 +133,24 @@ foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
|
|||
option(PKG_${PKG} "Build ${PKG} Package" OFF)
|
||||
endforeach()
|
||||
|
||||
######################################################
|
||||
# download and unpack support binaries for compilation
|
||||
# of windows binaries.
|
||||
######################################################
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(LAMMPS_THIRDPARTY_URL "http://download.lammps.org/thirdparty")
|
||||
file(DOWNLOAD "${LAMMPS_THIRDPARTY_URL}/opencl-win-devel.tar.gz" "${CMAKE_CURRENT_BINARY_DIR}/opencl-win-devel.tar.gz"
|
||||
EXPECTED_MD5 2c00364888d5671195598b44c2e0d44d)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzf opencl-win-devel.tar.gz WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86")
|
||||
set(OpenCL_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win32/libOpenCL.dll")
|
||||
elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64")
|
||||
set(OpenCL_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/lib_win64/libOpenCL.dll")
|
||||
endif()
|
||||
set(OpenCL_INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/OpenCL/include")
|
||||
endif()
|
||||
|
||||
######################################################
|
||||
######################################################
|
||||
# packages with special compiler needs or external libs
|
||||
######################################################
|
||||
|
@ -148,6 +166,7 @@ if(PKG_USER-ADIOS)
|
|||
endif()
|
||||
|
||||
# do MPI detection after language activation, if MPI for these language is required
|
||||
set(MPI_CXX_SKIP_MPICXX TRUE)
|
||||
find_package(MPI QUIET)
|
||||
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
|
||||
if(BUILD_MPI)
|
||||
|
@ -175,11 +194,13 @@ add_definitions(-DLAMMPS_${LAMMPS_SIZES})
|
|||
set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_${LAMMPS_SIZES}")
|
||||
|
||||
# posix_memalign is not available on Windows
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
set(LAMMPS_MEMALIGN "0" CACHE STRING "posix_memalign() is not available on Windows" FORCE)
|
||||
else()
|
||||
set(LAMMPS_MEMALIGN "64" CACHE STRING "enables the use of the posix_memalign() call instead of malloc() when large chunks or memory are allocated by LAMMPS. Set to 0 to disable")
|
||||
if(NOT ${LAMMPS_MEMALIGN} STREQUAL "0")
|
||||
add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN})
|
||||
endif()
|
||||
endif()
|
||||
if(NOT ${LAMMPS_MEMALIGN} STREQUAL "0")
|
||||
add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN})
|
||||
endif()
|
||||
|
||||
option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" OFF)
|
||||
|
@ -219,8 +240,7 @@ if(BUILD_OMP)
|
|||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||
endif()
|
||||
|
||||
|
||||
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-PLUMED OR PKG_USER-QUIP OR PKG_LATTE)
|
||||
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
|
||||
find_package(LAPACK)
|
||||
find_package(BLAS)
|
||||
if(NOT LAPACK_FOUND OR NOT BLAS_FOUND)
|
||||
|
@ -230,6 +250,7 @@ if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-PLUMED OR PKG_USER-QUI
|
|||
enable_language(Fortran)
|
||||
file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/[^.]*.[fF])
|
||||
add_library(linalg STATIC ${LAPACK_SOURCES})
|
||||
set(BLAS_LIBRARIES linalg)
|
||||
set(LAPACK_LIBRARIES linalg)
|
||||
else()
|
||||
list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES})
|
||||
|
@ -498,37 +519,36 @@ if(BUILD_LIB)
|
|||
add_dependencies(lammps ${LAMMPS_DEPS})
|
||||
endif()
|
||||
set(LAMMPS_CXX_HEADERS
|
||||
angle.h
|
||||
atom.h
|
||||
bond.h
|
||||
citeme.h
|
||||
comm.h
|
||||
compute.h
|
||||
dihedral.h
|
||||
domain.h
|
||||
error.h
|
||||
fix.h
|
||||
force.h
|
||||
group.h
|
||||
improper.h
|
||||
input.h
|
||||
kspace.h
|
||||
lammps.h
|
||||
lattice.h
|
||||
lmppython.h
|
||||
memory.h
|
||||
modify.h
|
||||
neighbor.h
|
||||
neigh_list.h
|
||||
output.h
|
||||
pair.h
|
||||
pointers.h
|
||||
region.h
|
||||
timer.h
|
||||
universe.h
|
||||
update.h
|
||||
variable.h)
|
||||
list(TRANSFORM LAMMPS_CXX_HEADERS PREPEND ${LAMMPS_SOURCE_DIR}/)
|
||||
${LAMMPS_SOURCE_DIR}/angle.h
|
||||
${LAMMPS_SOURCE_DIR}/atom.h
|
||||
${LAMMPS_SOURCE_DIR}/bond.h
|
||||
${LAMMPS_SOURCE_DIR}/citeme.h
|
||||
${LAMMPS_SOURCE_DIR}/comm.h
|
||||
${LAMMPS_SOURCE_DIR}/compute.h
|
||||
${LAMMPS_SOURCE_DIR}/dihedral.h
|
||||
${LAMMPS_SOURCE_DIR}/domain.h
|
||||
${LAMMPS_SOURCE_DIR}/error.h
|
||||
${LAMMPS_SOURCE_DIR}/fix.h
|
||||
${LAMMPS_SOURCE_DIR}/force.h
|
||||
${LAMMPS_SOURCE_DIR}/group.h
|
||||
${LAMMPS_SOURCE_DIR}/improper.h
|
||||
${LAMMPS_SOURCE_DIR}/input.h
|
||||
${LAMMPS_SOURCE_DIR}/kspace.h
|
||||
${LAMMPS_SOURCE_DIR}/lammps.h
|
||||
${LAMMPS_SOURCE_DIR}/lattice.h
|
||||
${LAMMPS_SOURCE_DIR}/lmppython.h
|
||||
${LAMMPS_SOURCE_DIR}/memory.h
|
||||
${LAMMPS_SOURCE_DIR}/modify.h
|
||||
${LAMMPS_SOURCE_DIR}/neighbor.h
|
||||
${LAMMPS_SOURCE_DIR}/neigh_list.h
|
||||
${LAMMPS_SOURCE_DIR}/output.h
|
||||
${LAMMPS_SOURCE_DIR}/pair.h
|
||||
${LAMMPS_SOURCE_DIR}/pointers.h
|
||||
${LAMMPS_SOURCE_DIR}/region.h
|
||||
${LAMMPS_SOURCE_DIR}/timer.h
|
||||
${LAMMPS_SOURCE_DIR}/universe.h
|
||||
${LAMMPS_SOURCE_DIR}/update.h
|
||||
${LAMMPS_SOURCE_DIR}/variable.h)
|
||||
|
||||
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_LIB_SUFFIX})
|
||||
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
|
||||
|
@ -569,6 +589,7 @@ if(BUILD_TOOLS)
|
|||
enable_language(Fortran)
|
||||
add_executable(chain.x ${LAMMPS_TOOLS_DIR}/chain.f)
|
||||
target_link_libraries(chain.x ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
|
||||
install(TARGETS chain.x DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
||||
enable_language(C)
|
||||
|
|
|
@ -20,12 +20,16 @@ if(PKG_KIM)
|
|||
message(FATAL_ERROR "Cannot build downloaded KIM-API library with Ninja build tool")
|
||||
endif()
|
||||
message(STATUS "KIM-API download requested - we will build our own")
|
||||
enable_language(C)
|
||||
enable_language(Fortran)
|
||||
include(CheckLanguage)
|
||||
include(ExternalProject)
|
||||
enable_language(C)
|
||||
check_language(Fortran)
|
||||
if(NOT CMAKE_Fortran_COMPILER)
|
||||
message(FATAL_ERROR "Compiling the KIM-API library requires a Fortran compiler")
|
||||
endif()
|
||||
ExternalProject_Add(kim_build
|
||||
URL https://s3.openkim.org/kim-api/kim-api-2.1.2.txz
|
||||
URL_MD5 6ac52e14ef52967fc7858220b208cba5
|
||||
URL https://s3.openkim.org/kim-api/kim-api-2.1.3.txz
|
||||
URL_MD5 6ee829a1bbba5f8b9874c88c4c4ebff8
|
||||
BINARY_DIR build
|
||||
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||
|
|
|
@ -1,11 +1,23 @@
|
|||
if(PKG_USER-PLUMED)
|
||||
find_package(GSL REQUIRED)
|
||||
set(PLUMED_MODE "static" CACHE STRING "Linkage mode for Plumed2 library")
|
||||
set(PLUMED_MODE_VALUES static shared runtime)
|
||||
set_property(CACHE PLUMED_MODE PROPERTY STRINGS ${PLUMED_MODE_VALUES})
|
||||
validate_option(PLUMED_MODE PLUMED_MODE_VALUES)
|
||||
string(TOUPPER ${PLUMED_MODE} PLUMED_MODE)
|
||||
|
||||
set(PLUMED_LINK_LIBS "")
|
||||
if(PLUMED_MODE STREQUAL "STATIC")
|
||||
find_package(LAPACK REQUIRED)
|
||||
find_package(BLAS REQUIRED)
|
||||
find_package(GSL REQUIRED)
|
||||
list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES})
|
||||
list(APPEND PLUMED_LINK_LIBS ${LAPACK_LIBRARIES} ${GSL_LIBRARIES})
|
||||
find_package(ZLIB QUIET)
|
||||
if(ZLIB_FOUND)
|
||||
list(APPEND PLUMED_LINK_LIBS ${ZLIB_LIBRARIES})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig QUIET)
|
||||
set(DOWNLOAD_PLUMED_DEFAULT ON)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
|
@ -37,8 +49,8 @@ if(PKG_USER-PLUMED)
|
|||
message(STATUS "PLUMED download requested - we will build our own")
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(plumed_build
|
||||
URL https://github.com/plumed/plumed2/releases/download/v2.5.1/plumed-src-2.5.1.tgz
|
||||
URL_MD5 c2a7b519e32197a120cdf47e0f194f81
|
||||
URL https://github.com/plumed/plumed2/releases/download/v2.5.2/plumed-src-2.5.2.tgz
|
||||
URL_MD5 bd2f18346c788eb54e1e52f4f6acf41a
|
||||
BUILD_IN_SOURCE 1
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
|
||||
${CONFIGURE_REQUEST_PIC}
|
||||
|
@ -53,11 +65,11 @@ if(PKG_USER-PLUMED)
|
|||
list(APPEND LAMMPS_DEPS plumed_build)
|
||||
if(PLUMED_MODE STREQUAL "STATIC")
|
||||
add_definitions(-D__PLUMED_WRAPPER_CXX=1)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.a ${GSL_LIBRARIES} ${LAPACK_LIBRARIES} ${CMAKE_DL_LIBS})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.a ${PLUMED_LINK_LIBS} ${CMAKE_DL_LIBS})
|
||||
elseif(PLUMED_MODE STREQUAL "SHARED")
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed.so ${PLUMED_INSTALL_DIR}/lib/libplumedKernel.so ${CMAKE_DL_LIBS})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumed${CMAKE_SHARED_LIBRARY_SUFFIX} ${PLUMED_INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_DL_LIBS})
|
||||
elseif(PLUMED_MODE STREQUAL "RUNTIME")
|
||||
add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_INSTALL_DIR}/lib/libplumedKernel.so)
|
||||
add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_INSTALL_DIR}/lib/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_INSTALL_DIR}/lib/libplumedWrapper.a -rdynamic ${CMAKE_DL_LIBS})
|
||||
endif()
|
||||
set(PLUMED_INCLUDE_DIRS "${PLUMED_INSTALL_DIR}/include")
|
||||
|
@ -70,7 +82,7 @@ if(PKG_USER-PLUMED)
|
|||
elseif(PLUMED_MODE STREQUAL "SHARED")
|
||||
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.shared)
|
||||
elseif(PLUMED_MODE STREQUAL "RUNTIME")
|
||||
add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_LIBDIR}/libplumedKernel.so)
|
||||
add_definitions(-D__PLUMED_HAS_DLOPEN=1 -D__PLUMED_DEFAULT_KERNEL=${PLUMED_LIBDIR}/libplumedKernel${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
include(${PLUMED_LIBDIR}/plumed/src/lib/Plumed.cmake.runtime)
|
||||
endif()
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PLUMED_LOAD})
|
||||
|
|
|
@ -18,8 +18,12 @@ if(PKG_VORONOI)
|
|||
else()
|
||||
set(VORO_BUILD_CFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}")
|
||||
endif()
|
||||
string(APPEND VORO_BUILD_CFLAGS ${CMAKE_CXX_FLAGS})
|
||||
set(VORO_BUILD_OPTIONS CXX=${CMAKE_CXX_COMPILER} CFLAGS=${VORO_BUILD_CFLAGS})
|
||||
if(APPLE)
|
||||
get_filename_component(VORO_CXX ${CMAKE_CXX_COMPILER} NAME_WE)
|
||||
set(VORO_BUILD_OPTIONS CXX=${VORO_CXX} CFLAGS=${VORO_BUILD_CFLAGS})
|
||||
else()
|
||||
set(VORO_BUILD_OPTIONS CXX=${CMAKE_CXX_COMPILER} CFLAGS=${VORO_BUILD_CFLAGS})
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(voro_build
|
||||
URL https://download.lammps.org/thirdparty/voro++-0.4.6.tar.gz
|
||||
|
|
711
cmake/README.md
711
cmake/README.md
|
@ -33,12 +33,17 @@ tasks, act as a reference and provide examples of typical use cases.
|
|||
* [Package-Specific Configuration Options](#package-specific-configuration-options)
|
||||
* [KSPACE Package](#kspace-package)
|
||||
* [MKL](#mkl)
|
||||
* [FFTW2](#fftw2)
|
||||
* [FFTW3](#fftw3)
|
||||
* [BLAS](#blas)
|
||||
* [LAPACK](#lapack)
|
||||
* [PYTHON Package](#python-package)
|
||||
* [GPU Package](#gpu-package)
|
||||
* [MESSAGE Package](#message-package)
|
||||
* [MSCG Package](#mscg-package)
|
||||
* [VORONOI Package](#voronoi-package)
|
||||
* [USER-LATTE Package](#user-latte-package)
|
||||
* [USER-PLUMED Package](#user-plumed-package)
|
||||
* [USER-SCAFACOS Package](#user-scafacos-package)
|
||||
* [USER-SMD Package](#user-smd-package)
|
||||
* [Optional Features](#optional-features)
|
||||
* [zlib support](#zlib-support)
|
||||
|
@ -50,8 +55,6 @@ tasks, act as a reference and provide examples of typical use cases.
|
|||
* [Building with GNU Compilers](#building-with-gnu-compilers)
|
||||
* [Building with Intel Compilers](#building-with-intel-compilers)
|
||||
* [Building with LLVM/Clang Compilers](#building-with-llvmclang-compilers)
|
||||
* [Examples](#examples)
|
||||
|
||||
|
||||
## Quick Start for the Impatient
|
||||
If you want to skip ahead and just run the compilation using `cmake`, please
|
||||
|
@ -205,8 +208,10 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
|
|||
<td>Controls if debugging symbols are added to the generated binaries</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>Release</code> (default)</dt>
|
||||
<dt><code>RelWithDebInfo (default)</code></dt>
|
||||
<dt><code>Release</code></dt>
|
||||
<dt><code>Debug</code></dt>
|
||||
<dt><code>MinSizeRel</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -249,6 +254,16 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
|
|||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_LONGLONG_TO_LONG</code></td>
|
||||
<td>Workaround if your system or MPI version does not recognize <code>long long</code> data types</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_MEMALIGN</code></td>
|
||||
<td>controls the alignment of blocks of memory allocated by LAMMPS</td>
|
||||
|
@ -271,7 +286,16 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
|
|||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_MACHINE</code></td>
|
||||
<td>allows appending a machine suffix to the generate LAMMPS binary</td>
|
||||
<td>allows appending a machine suffix to the generated LAMMPS binary</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt>*none* (default)</dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_LIB_SUFFIX</code></td>
|
||||
<td>allows appending a suffix to the generated LAMMPS library</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt>*none* (default)</dt>
|
||||
|
@ -319,8 +343,8 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_LONGLONG_TO_LONG</code></td>
|
||||
<td>Workaround if your system or MPI version does not recognize <code>long long</code> data types</td>
|
||||
<td><code>BUILD_TOOLS</code></td>
|
||||
<td>control whether to build LAMMPS tools</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
|
@ -561,23 +585,6 @@ cmake -C ../cmake/presets/all_on.cmake -C ../cmake/presets/nolib.cmake -D PKG_GP
|
|||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_MEAM</code></td>
|
||||
<td>
|
||||
<p>A pair style for the modified embedded atom (MEAM) potential.</p>
|
||||
|
||||
<p><strong>Please note that the MEAM package has been superseded by the USER-MEAMC package,
|
||||
which is a direct translation of the MEAM package to C++. USER-MEAMC contains
|
||||
additional optimizations making it run faster than MEAM on most machines, while
|
||||
providing the identical features and USER interface.</strong></p>
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_MISC</code></td>
|
||||
<td>
|
||||
|
@ -634,21 +641,6 @@ providing the identical features and USER interface.</strong></p>
|
|||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_REAX</code></td>
|
||||
<td>
|
||||
A pair style which wraps a Fortran library which implements the ReaxFF
|
||||
potential, which is a universal reactive force field. See the USER-REAXC
|
||||
package for an alternate implementation in C/C++. Also a fix reax/bonds
|
||||
command for monitoring molecules as bonds are created and destroyed.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_REPLICA</code></td>
|
||||
<td>
|
||||
|
@ -695,6 +687,16 @@ providing the identical features and USER interface.</strong></p>
|
|||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_SPIN</code></td>
|
||||
<td>Model atomic magnetic spins classically, coupled to atoms moving in the usual manner via MD. Various pair, fix, and compute styles.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_SNAP</code></td>
|
||||
<td>
|
||||
|
@ -757,6 +759,16 @@ providing the identical features and USER interface.</strong></p>
|
|||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_MESSAGE</code></td>
|
||||
<td>Commands to use LAMMPS as either a client or server and couple it to another application.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_MSCG</code></td>
|
||||
<td>
|
||||
|
@ -811,6 +823,18 @@ providing the identical features and USER interface.</strong></p>
|
|||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_VORONOI</code></td>
|
||||
<td>
|
||||
A compute command which calculates the Voronoi tesselation of a collection of atoms by wrapping the Voro++ library. This can be used to calculate the local volume or each atoms or its near neighbors.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@ -825,6 +849,16 @@ providing the identical features and USER interface.</strong></p>
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>PKG_USER-ADIOS</code></td>
|
||||
<td>ADIOS is a high-performance I/O library. This package implements the dump “atom/adios” and dump “custom/adios” commands to write data using the ADIOS library.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-ATC</code></td>
|
||||
<td>
|
||||
|
@ -853,6 +887,18 @@ providing the identical features and USER interface.</strong></p>
|
|||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-BOCS</code></td>
|
||||
<td>
|
||||
This package provides fix bocs, a modified version of fix npt which includes the pressure correction to the barostat as outlined in: N. J. H. Dunn and W. G. Noid, “Bottom-up coarse-grained models that accurately describe the structure, pressure, and compressibility of molecular liquids,” J. Chem. Phys. 143, 243148 (2015).
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-CGDNA</code></td>
|
||||
<td>
|
||||
|
@ -1142,6 +1188,30 @@ providing the identical features and USER interface.</strong></p>
|
|||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-PLUMED</code></td>
|
||||
<td>
|
||||
The fix plumed command allows you to use the PLUMED free energy plugin for molecular dynamics to analyze and bias your LAMMPS trajectory on the fly. The PLUMED library is called from within the LAMMPS input script by using the <code>fix plumed</code> command.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-PTM</code></td>
|
||||
<td>
|
||||
A <code>compute ptm/atom</code> command that calculates local structure characterization using the Polyhedral Template Matching methodology.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-QTB</code></td>
|
||||
<td>
|
||||
|
@ -1197,6 +1267,33 @@ providing the identical features and USER interface.</strong></p>
|
|||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-SCAFACOS</code></td>
|
||||
<td>
|
||||
A KSpace style which wraps the ScaFaCoS Coulomb solver library to compute long-range Coulombic interactions.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-SDPD</code></td>
|
||||
<td>
|
||||
A pair style for smoothed dissipative particle dynamics (SDPD), which is an
|
||||
extension of smoothed particle hydrodynamics (SPH) to mesoscale where thermal
|
||||
fluctuations are important (see the USER-SPH package). Also two fixes for
|
||||
moving and rigid body integration of SPH/SDPD particles (particles of
|
||||
<code>atom_style meso</code>).</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-SMD</code></td>
|
||||
<td>
|
||||
|
@ -1280,6 +1377,23 @@ providing the identical features and USER interface.</strong></p>
|
|||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PKG_USER-YAFF</code></td>
|
||||
<td>
|
||||
Some potentials that are also implemented in the Yet Another Force Field (YAFF) code.
|
||||
The expressions and their use are discussed in the following papers:
|
||||
<ul>
|
||||
<li><a href="http://dx.doi.org/10.1002/jcc.23877" target="_blank">Vanduyfhuys et al., J. Comput. Chem., 36 (13), 1015-1027 (2015)</a></li>
|
||||
<li><a href="http://dx.doi.org/10.1002/jcc.25173" target="_blank">Vanduyfhuys et al., J. Comput. Chem., 39 (16), 999-1011 (2018)</a></li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
@ -1300,14 +1414,27 @@ providing the identical features and USER interface.</strong></p>
|
|||
<td><code>FFT</code></td>
|
||||
<td>
|
||||
<p>FFT library for KSPACE package</p>
|
||||
<p>If either MKL or FFTW is selected <code>cmake</code> will try to locate these libraries automatically. To control which one should be used please see the options below for each FFT library.</p>
|
||||
<p>If either MKL or FFTW is selected <code>cmake</code> will try to locate
|
||||
these libraries automatically. To control which one should be used please see
|
||||
the options below for each FFT library. Otherwise it will default to KISS
|
||||
FFT.</p>
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>KISS</code></dt>
|
||||
<dt><code>FFTW3</code></dt>
|
||||
<dt><code>FFTW2</code></dt>
|
||||
<dt><code>MKL</code></dt>
|
||||
<dt><code>KISS</code> (default)</dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FFT_SINGLE</code></td>
|
||||
<td>Use single-precision floating-point in FFT</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default = double precision)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -1325,60 +1452,6 @@ providing the identical features and USER interface.</strong></p>
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
### MKL
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>MKL_INCLUDE_DIRS</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>MKL_LIBRARIES</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
TODO static vs dynamic linking
|
||||
|
||||
### FFTW2
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>FFTW2_INCLUDE_DIRS</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FFTW2_LIBRARIES</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### FFTW3
|
||||
|
||||
<table>
|
||||
|
@ -1392,24 +1465,57 @@ TODO static vs dynamic linking
|
|||
<tbody>
|
||||
<tr>
|
||||
<td><code>FFTW3_INCLUDE_DIRS</code></td>
|
||||
<td></td>
|
||||
<td>path to FFTW3 include files</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FFTW3_LIBRARIES</code></td>
|
||||
<td></td>
|
||||
<td>list of paths to FFTW3 libraries</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### MKL
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>MKL_INCLUDE_DIRS</code></td>
|
||||
<td>path to MKL include files</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>MKL_LIBRARIES</code></td>
|
||||
<td>list of paths to MKL libraries</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### BLAS
|
||||
|
||||
See [FindBLAS documentation](https://cmake.org/cmake/help/latest/module/FindBLAS.html)
|
||||
|
||||
### LAPACK
|
||||
TODO
|
||||
|
||||
See [FindLAPACK documentation](https://cmake.org/cmake/help/latest/module/FindLAPACK.html)
|
||||
|
||||
### PYTHON Package
|
||||
|
||||
See [FindPYTHON documentation](https://cmake.org/cmake/help/latest/module/FindPython.html)
|
||||
|
||||
### USER-INTEL Package
|
||||
|
||||
<table>
|
||||
|
@ -1499,10 +1605,11 @@ target API.
|
|||
<td>
|
||||
<dl>
|
||||
<dt><code>sm_20</code> (Fermi)</dt>
|
||||
<dt><code>sm_30</code> (Kepler)</dt>
|
||||
<dt><code>sm_30</code> (Kepler) (default)</dt>
|
||||
<dt><code>sm_50</code> (Maxwell)</dt>
|
||||
<dt><code>sm_60</code> (Pascal)</dt>
|
||||
<dt><code>sm_70</code> (Volta)</dt>
|
||||
<dt><code>sm_75</code> (Turing)</dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -1534,13 +1641,14 @@ target API.
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
### VORONOI Package
|
||||
### KIM Package
|
||||
|
||||
TODO
|
||||
Requires installation of the KIM library with API v2
|
||||
|
||||
### USER-SMD Package
|
||||
|
||||
Requires a Eigen3 installation
|
||||
If `DOWNLOAD_KIM` is set, the KIM library will be downloaded and built inside
|
||||
the CMake build directory. If the KIM library is already on your system (in a
|
||||
location CMake cannot find it), set the `PKG_CONFIG_PATH` environment variable
|
||||
so that `libkim-api` can be found.
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
|
@ -1551,9 +1659,323 @@ Requires a Eigen3 installation
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_KIM</code></td>
|
||||
<td>Download KIM API v2 and compile it as part of the build.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### MESSAGE Package
|
||||
|
||||
This package can optionally include support for messaging via sockets, using the open-source [ZeroMQ library](http://zeromq.org/), which must be installed on your system.
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>MESSAGE_ZMQ</code></td>
|
||||
<td>Build with ZeroMQ support</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ZMQ_LIBRARY</code></td>
|
||||
<td>
|
||||
ZMQ library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ZMG_INCLUDE_DIR</code></td>
|
||||
<td>
|
||||
Provide include directory of existing ZMQ installation (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### MSCG Package
|
||||
|
||||
Requires installation of the MSCG library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_MSCG</code></td>
|
||||
<td>Download MSCG and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>MSCG_LIBRARY</code></td>
|
||||
<td>
|
||||
MSCG library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>MSCG_INCLUDE_DIR</code></td>
|
||||
<td>
|
||||
Provide include directory of existing MSCG installation (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### VORONOI Package
|
||||
|
||||
Requires installation of the Voro++ library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_VORO</code></td>
|
||||
<td>Download Voro++ and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>VORO_LIBRARY</code></td>
|
||||
<td>
|
||||
Voro++ library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>VORO_INCLUDE_DIR</code></td>
|
||||
<td>
|
||||
Provide include directory of existing Voro++ installation (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### USER-LATTE Package
|
||||
|
||||
Requires installation of the LATTE library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_LATTE</code></td>
|
||||
<td>Download LATTE and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LATTE_LIBRARY</code></td>
|
||||
<td>
|
||||
LATTE library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### USER-PLUMED Package
|
||||
|
||||
Requires installation of the PLUMED library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_PLUMED</code></td>
|
||||
<td>Download PLUMED and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>PLUMED_MODE</code></td>
|
||||
<td>
|
||||
Determines the linkage mode for the PLUMED library.
|
||||
</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>static</code> (default)</dt>
|
||||
<dt><code>shared</code></dt>
|
||||
<dt><code>runtime</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### USER-LATTE Package
|
||||
|
||||
Requires installation of the LATTE library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_LATTE</code></td>
|
||||
<td>Download LATTE and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LATTE_LIBRARY</code></td>
|
||||
<td>
|
||||
LATTE library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
### USER-SMD Package
|
||||
|
||||
Requires installation of the Eigen3 library
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_EIGEN3</code></td>
|
||||
<td>Download Eigen3 and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>EIGEN3_INCLUDE_DIR</code></td>
|
||||
<td></td>
|
||||
<td>
|
||||
Provide include directory of existing Eigen3 installation (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
### USER-SCAFACOS Package
|
||||
|
||||
To build with this package, you must download and build the [ScaFaCoS Coulomb solver library](http://www.scafacos.de/)
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DOWNLOAD_SCAFACOS</code></td>
|
||||
<td>Download SCAFACOS and compile it as part of the build</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SCAFACOS_LIBRARY</code></td>
|
||||
<td>
|
||||
SCAFACOS library file (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SCAFACOS_INCLUDE_DIR</code></td>
|
||||
<td>
|
||||
SCAFACOS include directory (only needed if at custom location)
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -1791,5 +2213,82 @@ cmake -D CMAKE_C_COMPILER=icc -D CMAKE_CXX_COMPILER=icpc -D CMAKE_Fortran_COMPIL
|
|||
cmake -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_Fortran_COMPILER=flang ../cmake
|
||||
```
|
||||
|
||||
## LAMMPS Developer Options
|
||||
|
||||
## Examples
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Option</th>
|
||||
<th>Description</th>
|
||||
<th>Values</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>ENABLE_TESTING</code></td>
|
||||
<td>Control wheather to add tests via CTest</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_TESTING_SOURCE_DIR</code></td>
|
||||
<td>Custom location of lammps-testing repository (optional). If not specified it will download it via Git</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LAMMPS_TESTING_GIT_TAG</code></td>
|
||||
<td>If lammps-testing repository is cloned, this is the tag/commit that will be checked out</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>master</code> (default)</dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ENABLE_COVERAGE</code></td>
|
||||
<td>Enables code coverage support via gcov and adds a gcovr build target to generate a coverage report.</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ENABLE_SANITIZE_ADDRESS</code></td>
|
||||
<td>Enables Address Sanitizer support when compiling using GCC or Clang for detecting memory leaks in binaries while running them. See https://clang.llvm.org/docs/AddressSanitizer.html</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ENABLE_SANITIZE_UNDEFINED</code></td>
|
||||
<td>Enables Undefined Behavior Sanitizer support when compiling using GCC or Clang for detecting code that is running into undefined behavior of the language. See https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ENABLE_SANITIZE_THREAD</code></td>
|
||||
<td>Enables Thread Sanitizer support when compiling using GCC or Clang for detecting data races in binaries while running them. See https://clang.llvm.org/docs/ThreadSanitizer.html</td>
|
||||
<td>
|
||||
<dl>
|
||||
<dt><code>off</code> (default)</dt>
|
||||
<dt><code>on</code></dt>
|
||||
</dl>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
@ -3,9 +3,9 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
|||
REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI USER-ATC USER-AWPMD
|
||||
USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS USER-DIFFRACTION
|
||||
USER-DPD USER-DRUDE USER-EFF USER-FEP USER-INTEL USER-MANIFOLD
|
||||
USER-MEAMC USER-MESO USER-MISC USER-MOFFF USER-MOLFILE USER-OMP
|
||||
USER-PHONON USER-PTM USER-QTB USER-REAXC USER-SDPD USER-SMD
|
||||
USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF)
|
||||
USER-MEAMC USER-MESO USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE
|
||||
USER-OMP USER-PHONON USER-PTM USER-QTB USER-REAXC USER-SDPD
|
||||
USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-YAFF)
|
||||
|
||||
foreach(PKG ${WIN_PACKAGES})
|
||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||
|
@ -14,4 +14,4 @@ endforeach()
|
|||
set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_EIGEN3 ON CACHE BOOL "" FORCE)
|
||||
set(LAMMPS_MEMALIGN "0" CACHE STRING "" FORCE)
|
||||
set(INTEL_LRT_MODE "none" CACHE STRING "" FORCE)
|
||||
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/lammps-installer")
|
||||
|
|
|
@ -107,7 +107,7 @@ Include files should be included in this order:
|
|||
#### pointers.h
|
||||
|
||||
The `pointer.h` header file also includes `cstdio` and `lmptype.h`
|
||||
(and through it `stdint.h`, `intttypes.h`, and `climits`).
|
||||
(and through it `stdint.h`, `intttypes.h`, cstdlib, and `climits`).
|
||||
This means any header including `pointers.h` can assume that `FILE`,
|
||||
`NULL`, `INT_MAX` are defined.
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.TH LAMMPS "19 July 2019" "2019-07-19"
|
||||
.TH LAMMPS "7 August 2019" "2019-08-07"
|
||||
.SH NAME
|
||||
.B LAMMPS
|
||||
\- Molecular Dynamics Simulator.
|
||||
|
|
|
@ -29,6 +29,7 @@ as described on the "Install"_Install.html doc page.
|
|||
Build_package
|
||||
Build_extras
|
||||
Build_windows
|
||||
Build_development
|
||||
|
||||
END_RST -->
|
||||
|
||||
|
@ -41,7 +42,8 @@ END_RST -->
|
|||
"Optional build settings"_Build_settings.html
|
||||
"Include packages in build"_Build_package.html
|
||||
"Packages with extra build options"_Build_extras.html
|
||||
"Notes for building LAMMPS on Windows"_Build_windows.html :all(b)
|
||||
"Notes for building LAMMPS on Windows"_Build_windows.html
|
||||
"Development build options (CMake only)"_Build_development.html :all(b)
|
||||
|
||||
If you have problems building LAMMPS, it is often due to software
|
||||
issues on your local machine. If you can, find a local expert to
|
||||
|
|
|
@ -235,12 +235,16 @@ running LAMMPS from Python via its library interface.
|
|||
|
||||
-D BUILD_EXE=value # yes (default) or no
|
||||
-D BUILD_LIB=value # yes or no (default)
|
||||
-D BUILD_SHARED_LIBS=value # yes or no (default) :pre
|
||||
-D BUILD_SHARED_LIBS=value # yes or no (default)
|
||||
-D LAMMPS_LIB_SUFFIX=name # name = mpi, serial, mybox, titan, laptop, etc
|
||||
# no default value :pre
|
||||
|
||||
|
||||
Setting BUILD_EXE=no will not produce an executable. Setting
|
||||
BUILD_LIB=yes will produce a static library named liblammps.a.
|
||||
Setting both BUILD_LIB=yes and BUILD_SHARED_LIBS=yes will produce a
|
||||
shared library named liblammps.so.
|
||||
shared library named liblammps.so. If LAMMPS_LIB_SUFFIX is set the generated
|
||||
libraries will be named liblammps_name.a or liblammps_name.so instead.
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
|
@ -310,6 +314,30 @@ current LAMMPS version (HTML and PDF files), from the website
|
|||
|
||||
:line
|
||||
|
||||
Build LAMMPS tools :h4,link(tools)
|
||||
|
||||
Some tools described in "Auxiliary tools"_Tools.html can be built directly
|
||||
using CMake or Make.
|
||||
|
||||
[CMake variable]:
|
||||
|
||||
-D BUILD_TOOLS=value # yes or no (default) :pre
|
||||
|
||||
The generated binaries will also become part of the LAMMPS installation (see below)
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
cd lammps/tools
|
||||
make all # build all binaries of tools
|
||||
make binary2txt # build only binary2txt tool
|
||||
make chain # build only chain tool
|
||||
make micelle2d # build only micelle2d tool
|
||||
make thermo_extract # build only thermo_extract tool
|
||||
:pre
|
||||
|
||||
:line
|
||||
|
||||
|
||||
Install LAMMPS after a build :h4,link(install)
|
||||
|
||||
After building LAMMPS, you may wish to copy the LAMMPS executable of
|
||||
|
|
|
@ -120,7 +120,7 @@ The argument can be preceeded or followed by various CMake
|
|||
command-line options. Several useful ones are:
|
||||
|
||||
-D CMAKE_INSTALL_PREFIX=path # where to install LAMMPS executable/lib if desired
|
||||
-D CMAKE_BUILD_TYPE=type # type = Release or Debug
|
||||
-D CMAKE_BUILD_TYPE=type # type = RelWithDebInfo (default), Release, MinSizeRel, or Debug
|
||||
-G output # style of output CMake generates
|
||||
-DVARIABLE=value # setting for a LAMMPS feature to enable
|
||||
-D VARIABLE=value # ditto, but cannot come after CMakeLists.txt dir
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
"Higher level section"_Build.html - "LAMMPS WWW Site"_lws - "LAMMPS
|
||||
Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Commands_all.html)
|
||||
|
||||
:line
|
||||
|
||||
Development build options (CMake only) :h3
|
||||
|
||||
The CMake build of LAMMPS has a few extra options which are useful during
|
||||
development, testing or debugging.
|
||||
|
||||
:line
|
||||
|
||||
Verify compilation flags :h4,link(compilation)
|
||||
|
||||
Sometimes it is necessary to verify the complete sequence of compilation flags
|
||||
generated by the CMake build. To enable a more verbose output during
|
||||
compilation you can use the following option.
|
||||
|
||||
-D CMAKE_VERBOSE_MAKEFILE=value # value = no (default) or yes :pre
|
||||
|
||||
Another way of doing this without reconfiguration is calling make with variable VERBOSE set to 1:
|
||||
|
||||
make VERBOSE=1 :pre
|
||||
|
||||
:line
|
||||
|
||||
Address, Undefined Behavior, and Thread Sanitizer Support :h4,link(sanitizer)
|
||||
|
||||
Compilers such as GCC and Clang support generating binaries which use different
|
||||
sanitizers to detect problems in code during run-time. They can detect "memory leaks"_https://clang.llvm.org/docs/AddressSanitizer.html,
|
||||
code that runs into "undefined behavior"_https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html of the
|
||||
language and "data races"_https://clang.llvm.org/docs/ThreadSanitizer.html in threaded code.
|
||||
|
||||
The following settings allow you enable these features if your compiler supports
|
||||
it. Please note that they come with a performance hit. However, they are
|
||||
usually faster than using tools like Valgrind.
|
||||
|
||||
-D ENABLE_SANITIZE_ADDRESS=value # enable Address Sanitizer, value = no (default) or yes
|
||||
-D ENABLE_SANITIZE_UNDEFINED=value # enable Undefined Behaviour Sanitizer, value = no (default) or yes
|
||||
-D ENABLE_SANITIZE_THREAD=value # enable Thread Sanitizer, value = no (default) or yes
|
||||
:pre
|
||||
|
||||
:line
|
||||
|
||||
Code Coverage and Testing :h4,link(testing)
|
||||
|
||||
We do extensive regression testing of the LAMMPS code base on a continuous
|
||||
basis. Some of the logic to do this has been added to the CMake build so
|
||||
developers can run the tests directly on their workstation.
|
||||
|
||||
NOTE: this is incomplete and only represents a small subset of tests that we run
|
||||
|
||||
-D ENABLE_TESTING=value # enable simple run tests of LAMMPS, value = no (default) or yes
|
||||
-D LAMMPS_TESTING_SOURCE_DIR=path # path to lammps-testing repository (option if in custom location)
|
||||
-D LAMMPS_TESTING_GIT_TAG=value # version of lammps-testing repository that should be used, value = master (default) or custom git commit or tag
|
||||
:pre
|
||||
|
||||
If you enable testing in the CMake build it will create an additional target called "test". You can run them with:
|
||||
|
||||
make test
|
||||
:pre
|
||||
|
||||
The test cases used come from the lammps-testing repository. They are
|
||||
derivatives of the examples folder with some modifications to make the run
|
||||
faster.
|
||||
|
||||
You can also collect code coverage metrics while running the tests by enabling
|
||||
coverage support during building.
|
||||
|
||||
-D ENABLE_COVERAGE=value # enable coverage measurements, value = no (default) or yes :pre
|
||||
|
||||
This will also add the following targets to generate coverage reports after running the LAMMPS executable:
|
||||
|
||||
make test # run tests first!
|
||||
make gen_coverage_html # generate coverage report in HTML format
|
||||
make gen_coverage_xml # generate coverage report in XML format
|
||||
:pre
|
||||
|
||||
These reports require GCOVR to be installed. The easiest way to do this to install it via pip:
|
||||
|
||||
pip install git+https://github.com/gcovr/gcovr.git :pre
|
||||
:pre
|
|
@ -88,7 +88,7 @@ which GPU hardware to build for.
|
|||
# generic (default) or intel (Intel CPU) or fermi, kepler, cypress (NVIDIA)
|
||||
-D GPU_ARCH=value # primary GPU hardware choice for GPU_API=cuda
|
||||
# value = sm_XX, see below
|
||||
# default is Cuda-compiler dependent, but typically sm_20
|
||||
# default is sm_30
|
||||
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
|
||||
# enables CUDA Performance Primitives Optimizations
|
||||
# value = yes (default) or no
|
||||
|
@ -354,6 +354,9 @@ be installed on your system.
|
|||
[CMake build]:
|
||||
|
||||
-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
|
||||
-D ZMQ_LIBRARY=path # ZMQ library file (only needed if a custom location)
|
||||
-D ZMQ_INCLUDE_DIR=path # ZMQ include directory (only needed if a custom location)
|
||||
:pre
|
||||
|
||||
[Traditional make]:
|
||||
|
||||
|
@ -366,6 +369,7 @@ simply invoke the lib/message/Install.py script with the specified args:
|
|||
make lib-message # print help message
|
||||
make lib-message args="-m -z" # build with MPI and socket (ZMQ) support
|
||||
make lib-message args="-s" # build as serial lib with no ZMQ support
|
||||
:pre
|
||||
|
||||
The build should produce two files: lib/message/cslib/src/libmessage.a
|
||||
and lib/message/Makefile.lammps. The latter is copied from an
|
||||
|
|
|
@ -65,6 +65,7 @@ OPT.
|
|||
"colloid (go)"_pair_colloid.html,
|
||||
"comb (o)"_pair_comb.html,
|
||||
"comb3"_pair_comb.html,
|
||||
"cosine/squared"_pair_cosine_squared.html,
|
||||
"coul/cut (gko)"_pair_coul.html,
|
||||
"coul/cut/soft (o)"_pair_fep_soft.html,
|
||||
"coul/debye (gko)"_pair_coul.html,
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 8.7 KiB |
|
@ -0,0 +1,16 @@
|
|||
\documentclass[12pt]{article}
|
||||
|
||||
\usepackage{amsmath}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{align*}
|
||||
E =
|
||||
\begin{cases}
|
||||
-\epsilon& \quad r < \sigma \\
|
||||
-\epsilon\cos\left(\frac{\pi\left(r - \sigma\right)}{2\left(r_c - \sigma\right)}\right)&\quad \sigma \leq r < r_c \\
|
||||
0& \quad r \geq r_c
|
||||
\end{cases}
|
||||
\end{align*}
|
||||
|
||||
\end{document}
|
Binary file not shown.
After Width: | Height: | Size: 6.6 KiB |
|
@ -0,0 +1,11 @@
|
|||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
E = \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} -
|
||||
2\left(\frac{\sigma}{r}\right)^6 + 1\right]
|
||||
, \quad r < \sigma
|
||||
$$
|
||||
|
||||
\end{document}
|
Binary file not shown.
Before Width: | Height: | Size: 178 KiB After Width: | Height: | Size: 49 KiB |
|
@ -27,7 +27,7 @@
|
|||
V_{ij} & = & e^{-\lambda (r_{ij} -z_0)} \left [ C + f(\rho_{ij}) + f(\rho_{ji}) - A \left ( \frac{r_{ij}}{z_0}\right )^{-6} \right ] \\
|
||||
\rho_{ij}^2 & = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{i})^2 \\[15pt]
|
||||
\rho_{ji}^2 & = & r_{ij}^2 - ({\bf r}_{ij}\cdot {\bf n}_{j})^2 \\[15pt]
|
||||
f(\rho) & = & e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} { \rho/\delta }^{2n}
|
||||
f(\rho) & = & e^{-(\rho/\delta)^2} \sum_{n=0}^2 C_{2n} { (\rho/\delta) }^{2n}
|
||||
\end{eqnarray*}
|
||||
\endgroup
|
||||
\end{document}
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
|
@ -1,7 +1,7 @@
|
|||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="19 Jul 2019 version">
|
||||
<META NAME="docnumber" CONTENT="7 Aug 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
|
||||
19 Jul 2019 version :c,h2
|
||||
7 Aug 2019 version :c,h2
|
||||
|
||||
"What is a LAMMPS version?"_Manual_version.html
|
||||
|
||||
|
|
Binary file not shown.
|
@ -1191,7 +1191,7 @@ USER-PLUMED package :link(PKG-USER-PLUMED),h4
|
|||
The fix plumed command allows you to use the PLUMED free energy plugin
|
||||
for molecular dynamics to analyze and bias your LAMMPS trajectory on
|
||||
the fly. The PLUMED library is called from within the LAMMPS input
|
||||
script by using the "fix plumed _fix_plumed.html command.
|
||||
script by using the "fix plumed"_fix_plumed.html command.
|
||||
|
||||
[Authors:] The "PLUMED library"_#PLUMED is written and maintained by
|
||||
Massimilliano Bonomi, Giovanni Bussi, Carlo Camiloni and Gareth
|
||||
|
|
|
@ -217,6 +217,7 @@ compute"_Commands_compute.html doc page are followed by one or more of
|
|||
"heat/flux"_compute_heat_flux.html - heat flux through a group of atoms
|
||||
"heat/flux/tally"_compute_tally.html -
|
||||
"hexorder/atom"_compute_hexorder_atom.html - bond orientational order parameter q6
|
||||
"hma"_compute_hma.html - harmonically mapped averaging for atomic crystals
|
||||
"improper"_compute_improper.html - energy of each improper sub-style
|
||||
"improper/local"_compute_improper_local.html - angle of each improper
|
||||
"inertia/chunk"_compute_inertia_chunk.html - inertia tensor for each chunk
|
||||
|
|
|
@ -65,7 +65,7 @@ In an isotropic liquid, local neighborhoods may still exhibit
|
|||
weak hexagonal symmetry, but because the orientational correlation
|
||||
decays quickly with distance, the value of phi will be different for
|
||||
different atoms, and so when {q}6 is averaged over all the atoms
|
||||
in the system, \|<{q}6>\| << 1.
|
||||
in the system, |<{q}6>| << 1.
|
||||
|
||||
The value of {qn} is set to zero for atoms not in the
|
||||
specified compute group, as well as for atoms that have less than
|
||||
|
|
|
@ -0,0 +1,184 @@
|
|||
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
||||
|
||||
:link(lws,http://lammps.sandia.gov)
|
||||
:link(ld,Manual.html)
|
||||
:link(lc,Section_commands.html#comm)
|
||||
|
||||
:line
|
||||
|
||||
compute hma command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
compute ID group-ID hma temp-ID keyword ... :pre
|
||||
|
||||
ID, group-ID are documented in "compute"_compute.html command :l
|
||||
hma = style name of this compute command :l
|
||||
temp-ID = ID of fix that specifies the set temperature during canonical simulation :l
|
||||
keyword = {anharmonic} {u} {p Pharm} {cv} :l
|
||||
{anharmonic} = compute will return anharmonic property values
|
||||
{u} = compute will return potential energy
|
||||
{p} = compute will return pressure. the following keyword must be the difference between the harmonic pressure and lattice pressure as described below
|
||||
{cv} = compute will return the heat capacity :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
compute 2 all hma 1 u
|
||||
compute 2 all hma 1 anharmonic u p 0.9
|
||||
compute 2 all hma 1 u cv :pre
|
||||
|
||||
|
||||
|
||||
[Description:]
|
||||
|
||||
Define a computation that calculates the properties of a solid (potential
|
||||
energy, pressure or heat capacity), using the harmonically-mapped averaging
|
||||
(HMA) method.
|
||||
This command yields much higher precision than the equivalent compute commands
|
||||
("compute pe"_compute_pe.html, "compute pressure"_compute_pressure.html, etc.)
|
||||
commands during a canonical simulation of an atomic crystal. Specifically,
|
||||
near melting HMA can yield averages of a given precision an order of magnitude
|
||||
faster than conventional methods, and this only improves as the temperatures is
|
||||
lowered. This is particularly important for evaluating the free energy by
|
||||
thermodynamic integration, where the low-temperature contributions are the
|
||||
greatest source of statistical uncertainty. Moreover, HMA has other
|
||||
advantages, including smaller potential-truncation effects, finite-size
|
||||
effects, smaller timestep inaccuracy, faster equilibration and shorter
|
||||
decorrelation time.
|
||||
|
||||
HMA should not be used if atoms are expected to diffuse. It is also
|
||||
restricted to simulations in the NVT ensemble. While this compute may be
|
||||
used with any potential in LAMMPS, it will provide inaccurate results
|
||||
for potentials that do not go to 0 at the truncation distance;
|
||||
"pair_lj_smooth_linear"_pair_lj_smooth_linear.html and Ewald summation should
|
||||
work fine, while "pair_lj"_pair_lj.html will perform poorly unless
|
||||
the potential is shifted (via "pair_modify"_pair_modify.html shift) or the cutoff is large. Furthermore, computation of the heat capacity with
|
||||
this compute is restricted to those that implement the single_hessian method
|
||||
in Pair. Implementing single_hessian in additional pair styles is simple.
|
||||
Please contact Andrew Schultz (ajs42 at buffalo.edu) and David Kofke (kofke at
|
||||
buffalo.edu) if your desired pair style does not have this method. This is
|
||||
the list of pair styles that currently implement pair_hessian:
|
||||
|
||||
"lj_smooth_linear"_pair_lj_smooth_linear.html :l
|
||||
:ule
|
||||
|
||||
In this method, the analytically known harmonic behavior of a crystal is removed from the traditional ensemble
|
||||
averages, which leads to an accurate and precise measurement of the anharmonic contributions without contamination
|
||||
by noise produced by the already-known harmonic behavior.
|
||||
A detailed description of this method can be found in ("Moustafa"_#hma-Moustafa). The potential energy is computed by the formula:
|
||||
|
||||
\begin\{equation\}
|
||||
\left< U\right>_\{HMA\} = \frac\{d\}\{2\} (N-1) k_B T + \left< U + \frac\{1\}\{2\} F\bullet\Delta r \right>
|
||||
\end\{equation\}
|
||||
|
||||
where \(N\) is the number of atoms in the system, \(k_B\) is Boltzmann's
|
||||
constant, \(T\) is the temperature, \(d\) is the
|
||||
dimensionality of the system (2 or 3 for 2d/3d), \(F\bullet\Delta r\) is the sum of dot products of the
|
||||
atomic force vectors and displacement (from lattice sites) vectors, and \(U\) is the sum of
|
||||
pair, bond, angle, dihedral, improper, kspace (long-range), and fix energies.
|
||||
|
||||
The pressure is computed by the formula:
|
||||
|
||||
\begin\{equation\}
|
||||
\left< P\right>_\{HMA\} = \Delta \hat P + \left< P_\{vir\} + \frac\{\beta \Delta \hat P - \rho\}\{d(N-1)\} F\bullet\Delta r \right>
|
||||
\end\{equation\}
|
||||
|
||||
where \(\rho\) is the number density of the system, \(\Delta \hat P\) is the
|
||||
difference between the harmonic and lattice pressure, \(P_\{vir\}\) is
|
||||
the virial pressure computed as the sum of pair, bond, angle, dihedral,
|
||||
improper, kspace (long-range), and fix contributions to the force on each
|
||||
atom, and \(k_B=1/k_B T\). Although the method will work for any value of \(\Delta \hat P\)
|
||||
specified (use pressure "units"_units.html), the precision of the resultant
|
||||
pressure is sensitive to \(\Delta \hat P\); the precision tends to be
|
||||
best when \(\Delta \hat P\) is the actual the difference between the lattice
|
||||
pressure and harmonic pressure.
|
||||
|
||||
\begin\{equation\}
|
||||
\left<C_V \right>_\{HMA\} = \frac\{d\}\{2\} (N-1) k_B + \frac\{1\}\{k_B T^2\} \left( \left<
|
||||
U_\{HMA\}^2 \right> - \left<U_\{HMA\}\right>^2 \right) + \frac\{1\}\{4 T\}
|
||||
\left< F\bullet\Delta r + \Delta r \bullet \Phi \bullet \Delta r \right>
|
||||
\end\{equation\}
|
||||
|
||||
where \(\Phi\) is the Hessian matrix. The compute hma command
|
||||
computes the full expression for \(C_V\) except for the
|
||||
\(\left<U_\{HMA\}^2\right>^2\) in the variance term, which can be obtained by
|
||||
passing the {u} keyword; you must add this extra contribution to the \(C_V\)
|
||||
value reported by this compute. The variance term can cause significant
|
||||
round-off error when computing \(C_V\). To address this, the {anharmonic}
|
||||
keyword can be passed and/or the output format can be specified with more
|
||||
digits.
|
||||
|
||||
thermo_modify format float '%22.15e' :pre
|
||||
|
||||
The {anharmonic} keyword will instruct the compute to return anharmonic
|
||||
properties rather than the full properties, which include lattice, harmonic
|
||||
and anharmonic contributions.
|
||||
When using this keyword, the compute must be first active (it must be included
|
||||
via a "thermo_style custom"_thermo_style.html command) while the atoms are
|
||||
still at their lattice sites (before equilibration).
|
||||
|
||||
The temp-ID specified with compute hma command should be same as the fix-ID of Nose-Hoover ("fix nvt"_fix_nh.html) or
|
||||
Berendsen ("fix temp/berendsen"_fix_temp_berendsen.html) thermostat used for the simulation. While using this command, Langevin thermostat
|
||||
("fix langevin"_fix_langevin.html)
|
||||
should be avoided as its extra forces interfere with the HMA implementation.
|
||||
|
||||
|
||||
|
||||
NOTE: Compute hma command should be used right after the energy minimization, when the atoms are at their lattice sites.
|
||||
The simulation should not be started before this command has been used in the input script.
|
||||
|
||||
|
||||
The following example illustrates the placement of this command in the input script:
|
||||
|
||||
|
||||
min_style cg
|
||||
minimize 1e-35 1e-15 50000 500000
|
||||
compute 1 all hma thermostatid u
|
||||
fix thermostatid all nvt temp 600.0 600.0 100.0 :pre
|
||||
|
||||
|
||||
|
||||
NOTE: Compute hma should be used when the atoms of the solid do not diffuse. Diffusion will reduce the precision in the potential energy computation.
|
||||
|
||||
|
||||
NOTE: The "fix_modify energy yes"_fix_modify.html command must also be specified if a fix is to contribute potential energy to this command.
|
||||
|
||||
An example input script that uses this compute is included in
|
||||
examples/USER/hma/ along with corresponding LAMMPS output showing that the HMA
|
||||
properties fluctuate less than the corresponding conventional properties.
|
||||
|
||||
[Output info:]
|
||||
|
||||
This compute calculates a global vector that includes the n properties
|
||||
requested as arguments to the command (the potential energy, pressure and/or heat
|
||||
capacity). The elements of the vector can be accessed by indices 1-n by any
|
||||
command that uses global vector values as input. See the "Howto
|
||||
output"_Howto_output.html doc page for an overview of LAMMPS output options.
|
||||
|
||||
The vector values calculated by this compute are "extensive". The
|
||||
scalar value will be in energy "units"_units.html.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
This compute is part of the USER-MISC package. It is enabled only
|
||||
if LAMMPS was built with that package. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
|
||||
Usage restricted to canonical (NVT) ensemble simulation only.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"compute pe"_compute_pe.html, "compute pressure"_compute_pressure.html
|
||||
|
||||
"dynamical matrix"_dynamical_matrix.html provides a finite difference
|
||||
formulation of the hessian provided by Pair's single_hessian, which is used by
|
||||
this compute.
|
||||
|
||||
[Default:] none
|
||||
|
||||
:line
|
||||
|
||||
:link(hma-Moustafa)
|
||||
[(Moustafa)] Sabry G. Moustafa, Andrew J. Schultz, and David A. Kofke, {Very fast averaging of thermal properties of crystals by molecular simulation},
|
||||
"Phys. Rev. E \[92\], 043303 (2015)"_https://link.aps.org/doi/10.1103/PhysRevE.92.043303
|
|
@ -47,6 +47,7 @@ Computes :h1
|
|||
compute_gyration_shape
|
||||
compute_heat_flux
|
||||
compute_hexorder_atom
|
||||
compute_hma
|
||||
compute_improper
|
||||
compute_improper_local
|
||||
compute_inertia_chunk
|
||||
|
|
|
@ -47,6 +47,9 @@ package"_Build_package.html doc page for more info.
|
|||
|
||||
"fix phonon"_fix_phonon.html
|
||||
|
||||
"compute hma"_compute_hma.html uses an analytic formulation of the hessian
|
||||
provided by Pair's single_hessian.
|
||||
|
||||
[Default:]
|
||||
|
||||
The default settings are file = "dynmat.dyn", binary = no
|
||||
|
|
137
doc/src/fix.txt
137
doc/src/fix.txt
|
@ -165,40 +165,40 @@ page are followed by one or more of (g,i,k,o,t) to indicate which
|
|||
accelerated styles exist.
|
||||
|
||||
"adapt"_fix_adapt.html - change a simulation parameter over time
|
||||
"adapt/fep"_fix_adapt_fep.html -
|
||||
"adapt/fep"_fix_adapt_fep.html - enhanced version of fix adapt
|
||||
"addforce"_fix_addforce.html - add a force to each atom
|
||||
"addtorque"_fix_addtorque.html -
|
||||
"addtorque"_fix_addtorque.html - add a torque to a group of atoms
|
||||
"append/atoms"_fix_append_atoms.html - append atoms to a running simulation
|
||||
"atc"_fix_atc.html -
|
||||
"atc"_fix_atc.html - initiates a coupled MD/FE simulation
|
||||
"atom/swap"_fix_atom_swap.html - Monte Carlo atom type swapping
|
||||
"ave/atom"_fix_ave_atom.html - compute per-atom time-averaged quantities
|
||||
"ave/chunk"_fix_ave_chunk.html - compute per-chunk time-averaged quantities
|
||||
"ave/correlate"_fix_ave_correlate.html - compute/output time correlations
|
||||
"ave/correlate/long"_fix_ave_correlate_long.html -
|
||||
"ave/histo"_fix_ave_histo.html - compute/output time-averaged histograms
|
||||
"ave/histo/weight"_fix_ave_histo.html -
|
||||
"ave/histo/weight"_fix_ave_histo.html - weighted version of fix ave/histo
|
||||
"ave/time"_fix_ave_time.html - compute/output global time-averaged quantities
|
||||
"aveforce"_fix_aveforce.html - add an averaged force to each atom
|
||||
"balance"_fix_balance.html - perform dynamic load-balancing
|
||||
"bocs"_fix_bocs.html -
|
||||
"bocs"_fix_bocs.html - NPT style time integration with pressure correction
|
||||
"bond/break"_fix_bond_break.html - break bonds on the fly
|
||||
"bond/create"_fix_bond_create.html - create bonds on the fly
|
||||
"bond/react"_fix_bond_react.html -
|
||||
"bond/react"_fix_bond_react.html - apply topology changes to model reactions
|
||||
"bond/swap"_fix_bond_swap.html - Monte Carlo bond swapping
|
||||
"box/relax"_fix_box_relax.html - relax box size during energy minimization
|
||||
"client/md"_fix_client_md.html -
|
||||
"cmap"_fix_cmap.html -
|
||||
"colvars"_fix_colvars.html -
|
||||
"controller"_fix_controller.html -
|
||||
"client/md"_fix_client_md.html - MD client for client/server simulations
|
||||
"cmap"_fix_cmap.html - enables CMAP cross-terms of the CHARMM force field
|
||||
"colvars"_fix_colvars.html - interface to the collective variables “Colvars” library
|
||||
"controller"_fix_controller.html - apply control loop feedback mechanism
|
||||
"deform"_fix_deform.html - change the simulation box size/shape
|
||||
"deposit"_fix_deposit.html - add new atoms above a surface
|
||||
"dpd/energy"_fix_dpd_energy.html -
|
||||
"dpd/energy"_fix_dpd_energy.html - constant energy dissipative particle dynamics
|
||||
"drag"_fix_drag.html - drag atoms towards a defined coordinate
|
||||
"drude"_fix_drude.html -
|
||||
"drude/transform/direct"_fix_drude_transform.html -
|
||||
"drude/transform/inverse"_fix_drude_transform.html -
|
||||
"drude"_fix_drude.html - part of Drude oscillator polarization model
|
||||
"drude/transform/direct"_fix_drude_transform.html - part of Drude oscillator polarization model
|
||||
"drude/transform/inverse"_fix_drude_transform.html - part of Drude oscillator polarization model
|
||||
"dt/reset"_fix_dt_reset.html - reset the timestep based on velocity, forces
|
||||
"edpd/source"_fix_dpd_source.html -
|
||||
"edpd/source"_fix_dpd_source.html - add heat source to eDPD simulations
|
||||
"efield"_fix_efield.html - impose electric field on system
|
||||
"ehex"_fix_ehex.html - enhanced heat exchange algorithm
|
||||
"electron/stopping"_fix_electron_stopping.html - electronic stopping power as a friction force
|
||||
|
@ -208,27 +208,26 @@ accelerated styles exist.
|
|||
"eos/table/rx"_fix_eos_table_rx.html -
|
||||
"evaporate"_fix_evaporate.html - remove atoms from simulation periodically
|
||||
"external"_fix_external.html - callback to an external driver program
|
||||
"ffl"_fix_ffl.html -
|
||||
"filter/corotate"_fix_filter_corotate.html -
|
||||
"flow/gauss"_fix_flow_gauss.html -
|
||||
"ffl"_fix_ffl.html - apply a Fast-Forward Langevin equation thermostat
|
||||
"filter/corotate"_fix_filter_corotate.html - implement corotation filter to allow larger timesteps with r-RESPA
|
||||
"flow/gauss"_fix_flow_gauss.html - Gaussian dynamics for constant mass flux
|
||||
"freeze"_fix_freeze.html - freeze atoms in a granular simulation
|
||||
"gcmc"_fix_gcmc.html - grand canonical insertions/deletions
|
||||
"gld"_fix_gcmc.html - generalized Langevin dynamics integrator
|
||||
"gld"_fix_gld.html -
|
||||
"gle"_fix_gle.html -
|
||||
"gld"_fix_gld.html - generalized Langevin dynamics integrator
|
||||
"gle"_fix_gle.html - generalized Langevin equation thermostat
|
||||
"gravity"_fix_gravity.html - add gravity to atoms in a granular simulation
|
||||
"grem"_fix_grem.html -
|
||||
"grem"_fix_grem.html - implements the generalized replica exchange method
|
||||
"halt"_fix_halt.html - terminate a dynamics run or minimization
|
||||
"heat"_fix_heat.html - add/subtract momentum-conserving heat
|
||||
"hyper/global"_fix_hyper_global.html - global hyperdynamics
|
||||
"hyper/local"_fix_hyper_local.html - local hyperdynamics
|
||||
"imd"_fix_imd.html -
|
||||
"imd"_fix_imd.html - implements the “Interactive MD” (IMD) protocol
|
||||
"indent"_fix_indent.html - impose force due to an indenter
|
||||
"ipi"_fix_ipi.html -
|
||||
"ipi"_fix_ipi.html - enable LAMMPS to run as a client for i-PI path-integral simulations
|
||||
"langevin"_fix_langevin.html - Langevin temperature control
|
||||
"langevin/drude"_fix_langevin_drude.html -
|
||||
"langevin/eff"_fix_langevin_eff.html -
|
||||
"langevin/spin"_fix_langevin_spin.html -
|
||||
"langevin/drude"_fix_langevin_drude.html - Langevin temperature control of Drude oscillators
|
||||
"langevin/eff"_fix_langevin_eff.html - Langevin temperature control for the electron force field model
|
||||
"langevin/spin"_fix_langevin_spin.html - Langevin temperature control for a spin or spin-lattice system
|
||||
"latte"_fix_latte.html - wrapper on LATTE density-functional tight-binding code
|
||||
"lb/fluid"_fix_lb_fluid.html -
|
||||
"lb/momentum"_fix_lb_momentum.html -
|
||||
|
@ -236,64 +235,60 @@ accelerated styles exist.
|
|||
"lb/rigid/pc/sphere"_fix_lb_rigid_pc_sphere.html -
|
||||
"lb/viscous"_fix_lb_viscous.html -
|
||||
"lineforce"_fix_lineforce.html - constrain atoms to move in a line
|
||||
"manifoldforce"_fix_manifoldforce.html -
|
||||
"meso"_fix_meso.html -
|
||||
"meso"_fix_meso_move.html - move mesoscopic SPH/SDPD particles in a prescribed fashion
|
||||
"meso/move"_fix_meso_move.html -
|
||||
"manifoldforce"_fix_manifoldforce.html - restrain atoms to a manifold during minimization
|
||||
"meso"_fix_meso.html - time integration for SPH/DPDE particles
|
||||
"meso/move"_fix_meso_move.html - move mesoscopic SPH/SDPD particles in a prescribed fashion
|
||||
"meso/stationary"_fix_meso_stationary.html -
|
||||
"momentum"_fix_momentum.html - zero the linear and/or angular momentum of a group of atoms
|
||||
"move"_fix_move.html - move atoms in a prescribed fashion
|
||||
"mscg"_fix_mscg.html -
|
||||
"mscg"_fix_mscg.html - apply MSCG method for force-matching to generate coarse grain models
|
||||
"msst"_fix_msst.html - multi-scale shock technique (MSST) integration
|
||||
"mvv/dpd"_fix_mvv_dpd.html -
|
||||
"mvv/edpd"_fix_mvv_dpd.html -
|
||||
"mvv/tdpd"_fix_mvv_dpd.html -
|
||||
"mvv/dpd"_fix_mvv_dpd.html - DPD using the modified velocity-Verlet integration algorithm
|
||||
"mvv/edpd"_fix_mvv_dpd.html - constant energy DPD using the modified velocity-Verlet algorithm
|
||||
"mvv/tdpd"_fix_mvv_dpd.html - constant temperature DPD using the modified velocity-Verlet algorithm
|
||||
"neb"_fix_neb.html - nudged elastic band (NEB) spring forces
|
||||
"nph"_fix_nh.html - constant NPH time integration via Nose/Hoover
|
||||
"nph/asphere"_fix_nph_asphere.html - NPH for aspherical particles
|
||||
"nph/body"_fix_nph_body.html -
|
||||
"nph/body"_fix_nve_body.html - NPH for body particles
|
||||
"nph/eff"_fix_nh_eff.html -
|
||||
"nph/body"_fix_nph_body.html - NPH for body particles
|
||||
"nph/eff"_fix_nh_eff.html - NPH for nuclei and electrons in the electron force field model
|
||||
"nph/sphere"_fix_nph_sphere.html - NPH for spherical particles
|
||||
"nphug"_fix_nphug.html - constant-stress Hugoniostat integration
|
||||
"npt"_fix_nh.html - constant NPT time integration via Nose/Hoover
|
||||
"npt/asphere"_fix_npt_asphere.html - NPT for aspherical particles
|
||||
"npt/body"_fix_npt_body.html -
|
||||
"npt/body"_fix_nve_body.html - NPT for body particles
|
||||
"npt/eff"_fix_nh_eff.html -
|
||||
"npt/body"_fix_npt_body.html - NPT for body particles
|
||||
"npt/eff"_fix_nh_eff.html - NPT for nuclei and electrons in the electron force field model
|
||||
"npt/sphere"_fix_npt_sphere.html - NPT for spherical particles
|
||||
"npt/uef"_fix_nh_uef.html -
|
||||
"npt/uef"_fix_nh_uef.html - NPT style time integration with diagonal flow
|
||||
"nve"_fix_nve.html - constant NVE time integration
|
||||
"nve/asphere"_fix_nve_asphere.html - NVE for aspherical particles
|
||||
"nve/asphere/noforce"_fix_nve_asphere_noforce.html - NVE for aspherical particles without forces"
|
||||
"nve/awpmd"_fix_nve_awpmd.html -
|
||||
"nve/asphere/noforce"_fix_nve_asphere_noforce.html - NVE for aspherical particles without forces
|
||||
"nve/awpmd"_fix_nve_awpmd.html - NVE for the Antisymmetrized Wave Packet Molecular Dynamics model
|
||||
"nve/body"_fix_nve_body.html - NVE for body particles
|
||||
"nve/dot"_fix_nve_dot.html -
|
||||
"nve/dotc/langevin"_fix_nve_dotc_langevin.html -
|
||||
"nve/eff"_fix_nve_eff.html -
|
||||
"nve/dot"_fix_nve_dot.html - rigid body constant energy time integrator for coarse grain models
|
||||
"nve/dotc/langevin"_fix_nve_dotc_langevin.html - Langevin style rigid body time integrator for coarse grain models
|
||||
"nve/eff"_fix_nve_eff.html - NVE for nuclei and electrons in the electron force field model
|
||||
"nve/limit"_fix_nve_limit.html - NVE with limited step length
|
||||
"nve/line"_fix_nve_line.html - NVE for line segments
|
||||
"nve/manifold/rattle"_fix_nve_manifold_rattle.html -
|
||||
"nve/noforce"_fix_nve_noforce.html - NVE without forces (v only)
|
||||
"nve/sphere"_fix_nve_sphere.html - NVE for spherical particles
|
||||
"nve/spin"_fix_nve_spin.html -
|
||||
"nve/spin"_fix_nve_spin.html - NVE for a spin or spin-lattice system
|
||||
"nve/tri"_fix_nve_tri.html - NVE for triangles
|
||||
"nvk"_fix_nvk.html -
|
||||
"nvt"_fix_nh.html - constant NVT time integration via Nose/Hoover
|
||||
"nvk"_fix_nvk.html - constant kinetic energy time integration
|
||||
"nvt"_fix_nh.html - NVT time integration via Nose/Hoover
|
||||
"nvt/asphere"_fix_nvt_asphere.html - NVT for aspherical particles
|
||||
"nvt/body"_fix_nve_body.html - NVT for body particles
|
||||
"nvt/body"_fix_nvt_body.html -
|
||||
"nvt/eff"_fix_nh_eff.html -
|
||||
"nvt/body"_fix_nvt_body.html - NVT for body particles
|
||||
"nvt/eff"_fix_nh_eff.html - NVE for nuclei and electrons in the electron force field model
|
||||
"nvt/manifold/rattle"_fix_nvt_manifold_rattle.html -
|
||||
"nvt/sllod"_fix_nvt_sllod.html - NVT for NEMD with SLLOD equations
|
||||
"nvt/sllod/eff"_fix_nvt_sllod_eff.html -
|
||||
"nvt/sllod/eff"_fix_nvt_sllod_eff.html - NVT for NEMD with SLLOD equations for the electron force field model
|
||||
"nvt/sphere"_fix_nvt_sphere.html - NVT for spherical particles
|
||||
"nvt/uef"_fix_nh_uef.html -
|
||||
"nvt/uef"_fix_nh_uef.html - NVT style time integration with diagonal flow
|
||||
"oneway"_fix_oneway.html - constrain particles on move in one direction
|
||||
"orient/bcc"_fix_orient.html - add grain boundary migration force for BCC
|
||||
"orient/fcc"_fix_orient.html - add grain boundary migration force for FCC
|
||||
"phonon"_fix_phonon.html -
|
||||
"pimd"_fix_pimd.html -
|
||||
"phonon"_fix_phonon.html - calculate dynamical matrix from MD simulations
|
||||
"pimd"_fix_pimd.html - Feynman path integral molecular dynamics
|
||||
"planeforce"_fix_planeforce.html - constrain atoms to move in a plane
|
||||
"plumed"_fix_plumed.html - wrapper on PLUMED free energy library
|
||||
"poems"_fix_poems.html - constrain clusters of atoms to move as coupled rigid bodies
|
||||
|
@ -302,24 +297,24 @@ accelerated styles exist.
|
|||
"press/berendsen"_fix_press_berendsen.html - pressure control by Berendsen barostat
|
||||
"print"_fix_print.html - print text and variables during a simulation
|
||||
"property/atom"_fix_property_atom.html - add customized per-atom values
|
||||
"python/invoke"_fix_python_invoke.html -
|
||||
"python/move"_fix_python_move.html -
|
||||
"qbmsst"_fix_qbmsst.html -
|
||||
"python/invoke"_fix_python_invoke.html - call a Python function during a simulation
|
||||
"python/move"_fix_python_move.html - call a Python function during a simulation run
|
||||
"qbmsst"_fix_qbmsst.html - quantum bath multi-scale shock technique time integrator
|
||||
"qeq/comb"_fix_qeq_comb.html - charge equilibration for COMB potential
|
||||
"qeq/dynamic"_fix_qeq.html - charge equilibration via dynamic method
|
||||
"qeq/fire"_fix_qeq.html - charge equilibration via FIRE minimizer
|
||||
"qeq/point"_fix_qeq.html - charge equilibration via point method
|
||||
"qeq/reax"_fix_qeq_reax.html -
|
||||
"qeq/reax"_fix_qeq_reax.html - charge equilibration for ReaxFF potential
|
||||
"qeq/shielded"_fix_qeq.html - charge equilibration via shielded method
|
||||
"qeq/slater"_fix_qeq.html - charge equilibration via Slater method
|
||||
"qmmm"_fix_qmmm.html -
|
||||
"qtb"_fix_qtb.html -
|
||||
"qmmm"_fix_qmmm.html - functionality to enable a quantum mechanics/molecular mechanics coupling
|
||||
"qtb"_fix_qtb.html - implement quantum thermal bath scheme
|
||||
"rattle"_fix_shake.html - RATTLE constraints on bonds and/or angles
|
||||
"reax/c/bonds"_fix_reaxc_bonds.html - write out ReaxFF bond information
|
||||
"reax/c/species"_fix_reaxc_species.html - write out ReaxFF molecule information
|
||||
"recenter"_fix_recenter.html - constrain the center-of-mass position of a group of atoms
|
||||
"restrain"_fix_restrain.html - constrain a bond, angle, dihedral
|
||||
"rhok"_fix_rhok.html -
|
||||
"rhok"_fix_rhok.html - add bias potential for long-range ordered systems
|
||||
"rigid"_fix_rigid.html - constrain one or more clusters of atoms to move as a rigid body with NVE 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
|
||||
|
@ -332,11 +327,11 @@ accelerated styles exist.
|
|||
"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 -
|
||||
"saed/vtk"_fix_saed_vtk.html -
|
||||
"setforce"_fix_setforce.html - set the force on each atom
|
||||
"shake"_fix_shake.html - SHAKE constraints on bonds and/or angles
|
||||
"shardlow"_fix_shardlow.html -
|
||||
"smd"_fix_smd.html -
|
||||
"shardlow"_fix_shardlow.html - integration of DPD equations of motion using the Shardlow splitting
|
||||
"smd"_fix_smd.html - applied a steered MD force to a group
|
||||
"smd/adjust_dt"_fix_smd_adjust_dt.html -
|
||||
"smd/integrate_tlsph"_fix_smd_integrate_tlsph.html -
|
||||
"smd/integrate_ulsph"_fix_smd_integrate_ulsph.html -
|
||||
|
@ -355,13 +350,13 @@ accelerated styles exist.
|
|||
"temp/csld"_fix_temp_csvr.html - canonical sampling thermostat with Langevin dynamics
|
||||
"temp/csvr"_fix_temp_csvr.html - canonical sampling thermostat with Hamiltonian dynamics
|
||||
"temp/rescale"_fix_temp_rescale.html - temperature control by velocity rescaling
|
||||
"temp/rescale/eff"_fix_temp_rescale_eff.html -
|
||||
"temp/rescale/eff"_fix_temp_rescale_eff.html - temperature control by velocity rescaling in the electron force field model
|
||||
"tfmc"_fix_tfmc.html - perform force-bias Monte Carlo with time-stamped method
|
||||
"thermal/conductivity"_fix_thermal_conductivity.html - Muller-Plathe kinetic energy exchange for thermal conductivity calculation
|
||||
"ti/spring"_fix_ti_spring.html -
|
||||
"tmd"_fix_tmd.html - guide a group of atoms to a new configuration
|
||||
"ttm"_fix_ttm.html - two-temperature model for electronic/atomic coupling
|
||||
"ttm/mod"_fix_ttm.html -
|
||||
"ttm/mod"_fix_ttm.html - enhanced two-temperature model with additional options
|
||||
"tune/kspace"_fix_tune_kspace.html - auto-tune KSpace parameters
|
||||
"vector"_fix_vector.html - accumulate a global vector every N timesteps
|
||||
"viscosity"_fix_viscosity.html - Muller-Plathe momentum exchange for viscosity calculation
|
||||
|
@ -369,7 +364,7 @@ accelerated styles exist.
|
|||
"wall/body/polygon"_fix_wall_body_polygon.html -
|
||||
"wall/body/polyhedron"_fix_wall_body_polyhedron.html -
|
||||
"wall/colloid"_fix_wall.html - Lennard-Jones wall interacting with finite-size particles
|
||||
"wall/ees"_fix_wall_ees.html -
|
||||
"wall/ees"_fix_wall_ees.html - wall for ellipsoidal particles
|
||||
"wall/gran"_fix_wall_gran.html - frictional wall(s) for granular simulations
|
||||
"wall/gran/region"_fix_wall_gran_region.html -
|
||||
"wall/harmonic"_fix_wall.html - harmonic spring wall
|
||||
|
@ -379,7 +374,7 @@ accelerated styles exist.
|
|||
"wall/piston"_fix_wall_piston.html - moving reflective piston wall
|
||||
"wall/reflect"_fix_wall_reflect.html - reflecting wall(s)
|
||||
"wall/region"_fix_wall_region.html - use region surface as wall
|
||||
"wall/region/ees"_fix_wall_ees.html -
|
||||
"wall/region/ees"_fix_wall_ees.html - use region surface as wall for ellipsoidal particles
|
||||
"wall/srd"_fix_wall_srd.html - slip/no-slip wall for SRD particles :ul
|
||||
|
||||
[Restrictions:]
|
||||
|
|
|
@ -47,13 +47,13 @@ or {cubic_spline}.
|
|||
|
||||
With either spline method, the only argument that needs to follow it
|
||||
is the name of a file that contains the desired pressure correction
|
||||
as a function of volume. The file should be formatted so each line has:
|
||||
as a function of volume. The file must be formatted so each line has:
|
||||
|
||||
Volume_i, PressureCorrection_i :pre
|
||||
|
||||
Note both the COMMA and the SPACE separating the volume's
|
||||
value and its corresponding pressure correction. The volumes in the file
|
||||
should be uniformly spaced. Both the volumes and the pressure corrections
|
||||
must be uniformly spaced. Both the volumes and the pressure corrections
|
||||
should be provided in the proper units, e.g. if you are using {units real},
|
||||
the volumes should all be in cubic angstroms, and the pressure corrections
|
||||
should all be in atmospheres. Furthermore, the table should start/end at a
|
||||
|
|
|
@ -114,5 +114,5 @@ The default options are plumedfile = NULL and outfile = NULL
|
|||
:link(PLUMED)
|
||||
[(PLUMED)] G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014)
|
||||
|
||||
:link(plumeddocs,http://www.plumed.org/documentation)
|
||||
:link(plumeddocs,http://www.plumed.org/doc.html)
|
||||
:link(plumedhome,http://www.plumed.org/)
|
||||
|
|
|
@ -39,8 +39,8 @@ An example of using the interface pinning method is located in the
|
|||
|
||||
[Restrictions:]
|
||||
|
||||
This fix is part of the MISC package. It is only enabled if LAMMPS
|
||||
was built with that package. See the "Build
|
||||
This fix 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.
|
||||
|
||||
[Related commands:]
|
||||
|
|
|
@ -365,7 +365,7 @@ an array of one or more comma-separated items in brackets.
|
|||
The list of supported keywords and the type and format of their values
|
||||
depend on the query function used. The current list of query functions
|
||||
is available on the OpenKIM webpage at
|
||||
"https://openkim.org/doc/repository/kim-query"_https://openkim.org/doc/repository/kim-query.
|
||||
"https://openkim.org/doc/usage/kim-query"_https://openkim.org/doc/usage/kim-query.
|
||||
|
||||
NOTE: All query functions require the {model} keyword, which identifies
|
||||
the IM whose predictions are being queried. This keyword is automatically
|
||||
|
|
|
@ -569,6 +569,7 @@ pair_charmm.html
|
|||
pair_class2.html
|
||||
pair_colloid.html
|
||||
pair_comb.html
|
||||
pair_cosine_squared.html
|
||||
pair_coul.html
|
||||
pair_coul_diel.html
|
||||
pair_coul_shield.html
|
||||
|
|
|
@ -0,0 +1,108 @@
|
|||
"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 cosine/squared command :h3
|
||||
|
||||
[Syntax:]
|
||||
|
||||
pair_style cosine/squared cutoff :pre
|
||||
|
||||
cutoff = global cutoff for cosine-squared interactions (distance units) :ul
|
||||
|
||||
pair_coeff i j eps sigma
|
||||
pair_coeff i j eps sigma cutoff
|
||||
pair_coeff i j eps sigma wca
|
||||
pair_coeff i j eps sigma cutoff wca :pre
|
||||
|
||||
i,j = a particle type
|
||||
eps = interaction strength, i.e. the depth of the potential minimum (energy units)
|
||||
sigma = distance of the potential minimum from 0
|
||||
cutoff = the cutoff distance for this pair type, if different from global (distance units)
|
||||
wca = if specified a Weeks-Chandler-Andersen potential (with eps strength and minimum at sigma) is added, otherwise not :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
pair_style cosine/squared 3.0
|
||||
pair_coeff * * 1.0 1.3
|
||||
pair_coeff 1 3 1.0 1.3 2.0
|
||||
pair_coeff 1 3 1.0 1.3 wca
|
||||
pair_coeff 1 3 1.0 1.3 2.0 wca :pre
|
||||
|
||||
[Description:]
|
||||
|
||||
Style {cosine/squared} computes a potential of the form
|
||||
|
||||
:c,image(Eqs/pair_cosine_squared.jpg)
|
||||
|
||||
between two point particles, where (sigma, -epsilon) is the location of
|
||||
the (rightmost) minimum of the potential, as explained in the syntax
|
||||
section above.
|
||||
|
||||
This potential was first used in (Cooke)_#CKD for a coarse-grained lipid
|
||||
membrane model. It is generally very useful as a non-specific
|
||||
interaction potential because it is fully adjustable in depth and width
|
||||
while joining the minimum at (sigma, -epsilon) and zero at (cutoff, 0)
|
||||
smoothly, requiring no shifting and causing no related artifacts, tail
|
||||
energy calculations etc. This evidently requires {cutoff} to be larger
|
||||
than {sigma}.
|
||||
|
||||
If the {wca} option is used then a Weeks-Chandler-Andersen potential
|
||||
(Weeks)_#WCA is added to the above specified cosine-squared potential,
|
||||
specifically the following:
|
||||
|
||||
:c,image(Eqs/pair_cosine_squared_wca.jpg)
|
||||
|
||||
In this case, and this case only, the {sigma} parameter can be equal to
|
||||
{cutoff} (sigma = cutoff) which will result in ONLY the WCA potential
|
||||
being used (and print a warning), so the minimum will be attained at
|
||||
(sigma, 0). This is a convenience feature that enables a purely
|
||||
repulsive potential to be used without a need to define an additional
|
||||
pair style and use the hybrid styles.
|
||||
|
||||
The energy and force of this pair style for parameters epsilon = 1.0,
|
||||
sigma = 1.0, cutoff = 2.5, with and without the WCA potential, are shown
|
||||
in the graphs below:
|
||||
|
||||
:c,image(JPG/pair_cosine_squared_graphs.jpg)
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
||||
Mixing is not supported for this style.
|
||||
|
||||
The {shift}, {table} and {tail} options are not relevant for this style.
|
||||
|
||||
This pair style writes its 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.
|
||||
|
||||
These pair styles can only be used via the {pair} keyword of the
|
||||
"run_style respa"_run_style.html command. They do not support the
|
||||
{inner}, {middle}, {outer} keywords.
|
||||
|
||||
:line
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
The {cosine/squared} style is part of the "USER-MISC" package. It is only
|
||||
enabled if LAMMPS is build with that package. See the "Build
|
||||
package"_Build_package.html doc page for more info.
|
||||
|
||||
[Related commands:]
|
||||
|
||||
"pair_coeff"_pair_coeff.html,
|
||||
"pair_style lj/cut"_pair_lj.html
|
||||
|
||||
[Default:] none
|
||||
|
||||
:link(CKD)
|
||||
[(Cooke)] "Cooke, Kremer and Deserno, Phys. Rev. E, 72, 011506 (2005)"
|
||||
|
||||
:link(WCA)
|
||||
[(Weeks)] "Weeks, Chandler and Andersen, J. Chem. Phys., 54, 5237 (1971)"
|
|
@ -13,7 +13,7 @@ pair_style coul/shield command :h3
|
|||
pair_style coul/shield cutoff tap_flag :pre
|
||||
|
||||
cutoff = global cutoff (distance units)
|
||||
tap_flag = 0/1 to turn off/on the taper function
|
||||
tap_flag = 0/1 to turn off/on the taper function :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
|
|
|
@ -13,17 +13,17 @@ pair_style ilp/graphene/hbn command :h3
|
|||
pair_style \[hybrid/overlay ...\] ilp/graphene/hbn cutoff tap_flag :pre
|
||||
|
||||
cutoff = global cutoff (distance units)
|
||||
tap_flag = 0/1 to turn off/on the taper function
|
||||
tap_flag = 0/1 to turn off/on the taper function :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
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 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.rebo NULL NULL C
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N 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
|
||||
pair_coeff 1 2 coul/shield 0.695
|
||||
pair_coeff 2 2 coul/shield 0.69 :pre
|
||||
|
@ -85,6 +85,22 @@ be found in "(Ouyang)"_#Ouyang.
|
|||
This potential must be used in combination with hybrid/overlay.
|
||||
Other interactions can be set to zero using pair_style {none}.
|
||||
|
||||
This pair style tallies a breakdown of the total interlayer potential
|
||||
energy into sub-categories, which can be accessed via the "compute
|
||||
pair"_compute_pair.html command as a vector of values of length 2.
|
||||
The 2 values correspond to the following sub-categories:
|
||||
|
||||
{E_vdW} = vdW (attractive) energy
|
||||
{E_Rep} = Repulsive energy :ol
|
||||
|
||||
To print these quantities to the log file (with descriptive column
|
||||
headings) the following commands could be included in an input script:
|
||||
|
||||
compute 0 all pair ilp/graphene/hbn
|
||||
variable Evdw equal c_0\[1\]
|
||||
variable Erep equal c_0\[2\]
|
||||
thermo_style custom step temp epair v_Erep v_Evdw :pre
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
|
|
@ -13,7 +13,7 @@ pair_style kolmogorov/crespi/full command :h3
|
|||
pair_style hybrid/overlay kolmogorov/crespi/full cutoff tap_flag :pre
|
||||
|
||||
cutoff = global cutoff (distance units)
|
||||
tap_flag = 0/1 to turn off/on the taper function
|
||||
tap_flag = 0/1 to turn off/on the taper function :ul
|
||||
|
||||
[Examples:]
|
||||
|
||||
|
@ -74,6 +74,22 @@ comparison of these parameters can be found in "(Ouyang)"_#Ouyang1.
|
|||
This potential must be used in combination with hybrid/overlay.
|
||||
Other interactions can be set to zero using pair_style {none}.
|
||||
|
||||
This pair style tallies a breakdown of the total interlayer potential
|
||||
energy into sub-categories, which can be accessed via the "compute
|
||||
pair"_compute_pair.html command as a vector of values of length 2.
|
||||
The 2 values correspond to the following sub-categories:
|
||||
|
||||
{E_vdW} = vdW (attractive) energy
|
||||
{E_Rep} = Repulsive energy :ol
|
||||
|
||||
To print these quantities to the log file (with descriptive column
|
||||
headings) the following commands could be included in an input script:
|
||||
|
||||
compute 0 all pair kolmogorov/crespi/full
|
||||
variable Evdw equal c_0\[1\]
|
||||
variable Erep equal c_0\[2\]
|
||||
thermo_style custom step temp epair v_Erep v_Evdw :pre
|
||||
|
||||
:line
|
||||
|
||||
[Mixing, shift, table, tail correction, restart, rRESPA info]:
|
||||
|
|
|
@ -129,6 +129,7 @@ accelerated styles exist.
|
|||
"colloid"_pair_colloid.html - integrated colloidal potential
|
||||
"comb"_pair_comb.html - charge-optimized many-body (COMB) potential
|
||||
"comb3"_pair_comb.html - charge-optimized many-body (COMB3) potential
|
||||
"cosine/squared"_pair_cosine_squared.html - Cooke-Kremer-Deserno membrane model potential
|
||||
"coul/cut"_pair_coul.html - cutoff Coulombic potential
|
||||
"coul/cut/soft"_pair_fep_soft.html - Coulombic potential with a soft core
|
||||
"coul/debye"_pair_coul.html - cutoff Coulombic potential with Debye screening
|
||||
|
|
|
@ -24,6 +24,7 @@ Pair Styles :h1
|
|||
pair_class2
|
||||
pair_colloid
|
||||
pair_comb
|
||||
pair_cosine_squared
|
||||
pair_coul
|
||||
pair_coul_diel
|
||||
pair_coul_shield
|
||||
|
|
|
@ -14,7 +14,8 @@ replicate nx ny nz {keyword} :pre
|
|||
|
||||
nx,ny,nz = replication factors in each dimension :ulb
|
||||
optional {keyword} = {bbox} :l
|
||||
{bbox} = only check atoms in replicas that overlap with a processor's sub-domain :ule
|
||||
{bbox} = only check atoms in replicas that overlap with a processor's sub-domain :pre
|
||||
:ule
|
||||
|
||||
[Examples:]
|
||||
|
||||
|
@ -45,11 +46,13 @@ file that crosses a periodic boundary should be between two atoms with
|
|||
image flags that differ by 1. This will allow the bond to be
|
||||
unwrapped appropriately.
|
||||
|
||||
The optional keyword {bbox} uses a bounding box to only check atoms
|
||||
in replicas that overlap with a processor's sub-domain when assigning
|
||||
atoms to processors, and thus can result in substantial speedups for
|
||||
calculations using a large number of processors. It does require
|
||||
temporarily using more memory.
|
||||
The optional keyword {bbox} uses a bounding box to only check atoms in
|
||||
replicas that overlap with a processor's sub-domain when assigning
|
||||
atoms to processors. It typically results in a substantial speedup
|
||||
when using the replicate command on a large number of processors. It
|
||||
does require temporary use of more memory, specifically that each
|
||||
processor can store all atoms in the entire system before it is
|
||||
replicated.
|
||||
|
||||
[Restrictions:]
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ Aidan
|
|||
aij
|
||||
airebo
|
||||
Aj
|
||||
ajs
|
||||
ajaramil
|
||||
akohlmey
|
||||
Aktulga
|
||||
|
@ -99,6 +100,7 @@ antisymmetry
|
|||
anton
|
||||
Antonelli
|
||||
api
|
||||
Apoorva
|
||||
Appl
|
||||
Apu
|
||||
arccos
|
||||
|
@ -357,6 +359,7 @@ Cii
|
|||
Cij
|
||||
cis
|
||||
civ
|
||||
CKD
|
||||
Clang
|
||||
clearstore
|
||||
Cleary
|
||||
|
@ -422,6 +425,7 @@ coreshell
|
|||
cornflowerblue
|
||||
cornsilk
|
||||
corotate
|
||||
corotation
|
||||
corotational
|
||||
correlator
|
||||
cosineshifted
|
||||
|
@ -522,6 +526,7 @@ Dcut
|
|||
de
|
||||
dE
|
||||
De
|
||||
decorrelation
|
||||
debye
|
||||
Debye
|
||||
Decius
|
||||
|
@ -1075,6 +1080,7 @@ Hilger
|
|||
histo
|
||||
histogrammed
|
||||
histogramming
|
||||
hma
|
||||
hmaktulga
|
||||
hoc
|
||||
Hochbruck
|
||||
|
@ -1331,6 +1337,8 @@ kmax
|
|||
Kmax
|
||||
Knizhnik
|
||||
knl
|
||||
Kofke
|
||||
kofke
|
||||
Kohlmeyer
|
||||
Kohn
|
||||
kokkos
|
||||
|
@ -1719,6 +1727,7 @@ Morteza
|
|||
Mosayebi
|
||||
Moseler
|
||||
Moskalev
|
||||
Moustafa
|
||||
mov
|
||||
mpi
|
||||
MPI
|
||||
|
@ -2219,6 +2228,7 @@ PTM
|
|||
ptr
|
||||
pu
|
||||
purdue
|
||||
Purohit
|
||||
pushstore
|
||||
pvar
|
||||
pw
|
||||
|
@ -2436,6 +2446,7 @@ Ryckaert
|
|||
Rycroft
|
||||
Rydbergs
|
||||
Rz
|
||||
Sabry
|
||||
saddlebrown
|
||||
Sadigh
|
||||
saed
|
||||
|
@ -2447,6 +2458,8 @@ Salles
|
|||
sandia
|
||||
Sandia
|
||||
sandybrown
|
||||
Sanitizer
|
||||
sanitizers
|
||||
sc
|
||||
scafacos
|
||||
SCAFACOS
|
||||
|
@ -2994,6 +3007,7 @@ Waltham
|
|||
wavepacket
|
||||
wB
|
||||
Wbody
|
||||
wca
|
||||
webpage
|
||||
Weckner
|
||||
WeinanE
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,22 @@
|
|||
The example input script sets up a simple FCC crystal using the Lennard-Jones
|
||||
potential. The script sets up the HMA compute to calculate the energy, pressure
|
||||
and heat capacity. The output columns are:
|
||||
|
||||
1: timestep
|
||||
2: measured temperature
|
||||
3: potential energy
|
||||
4: HMA potential energy
|
||||
5: pressure
|
||||
6: HMA pressure
|
||||
7: HMA heat capacity contribution
|
||||
|
||||
Averages of the potential energy (#3 and #4) agree although #4 (HMA) is more precise.
|
||||
|
||||
Averages of the pressure (#5 and #6) agree once the ideal gas
|
||||
contribution is included; #6 (HMA) is more precise.
|
||||
|
||||
The heat capacity can be computed from colume #3 (convential) as
|
||||
Cv = Var(#3)/(k T^2)
|
||||
|
||||
With HMA, the heat capacity can be computed from column #4 and #7 as
|
||||
Cv = #7 + Var(#4)/(k T^2)
|
|
@ -0,0 +1,36 @@
|
|||
# Harmonically mapped average example
|
||||
|
||||
units lj
|
||||
dimension 3
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
atom_modify map array
|
||||
# ---------- Create Atoms ----------------------------
|
||||
lattice fcc 1.0
|
||||
region box block 0 4 0 4 0 4 units lattice
|
||||
create_box 1 box
|
||||
lattice fcc 1.0 orient x 1 0 0 orient y 0 1 0 orient z 0 0 1
|
||||
create_atoms 1 region box
|
||||
# ---------- Define Interatomic Potential ---------------------
|
||||
pair_style lj/smooth/linear 3
|
||||
pair_coeff * * 1.0 1.0
|
||||
mass 1 1.0
|
||||
|
||||
atom_modify sort 0 1
|
||||
velocity all create 0.1 45678 dist gaussian
|
||||
|
||||
compute u all pe
|
||||
|
||||
compute p all pressure NULL pair
|
||||
|
||||
compute hma all hma settemp u p 9.579586686264458 cv
|
||||
|
||||
timestep 0.005
|
||||
|
||||
fix settemp all nvt temp 1.0 1.0 0.5
|
||||
thermo_style custom elapsed temp c_u c_hma[1] c_p c_hma[2] c_hma[3]
|
||||
thermo_modify format float '%22.15e'
|
||||
thermo 500
|
||||
run 20000
|
||||
thermo 20
|
||||
run 200000
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
../../../../../potentials/BNCH-old.ILP
|
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
../../../../../potentials/CH.airebo
|
|
@ -1,61 +0,0 @@
|
|||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
# read lammps data file
|
||||
read_data Bi_gr_AB_stack_2L_noH_300K.data
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
group adsorbate type 2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo ilp/graphene/hbn 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL C # chemical
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair ilp/graphene/hbn
|
||||
variable REBO equal c_0
|
||||
variable ILP equal c_1
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_ILP temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
|
@ -1,137 +0,0 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
# read lammps data file
|
||||
read_data Bi_gr_AB_stack_2L_noH_300K.data
|
||||
orthogonal box = (0 0 0) to (42.6 41.8117 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 2
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo ilp/graphene/hbn 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair ilp/graphene/hbn
|
||||
variable REBO equal c_0
|
||||
variable ILP equal c_1
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_ILP temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair rebo, perpetual, skip from (2)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 16.96 | 16.96 | 16.96 Mbytes
|
||||
Step TotEng PotEng KinEng v_REBO v_ILP Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
0 -5029.3801131277 -5044.0700799791 14.6899668514 -5011.2636297759 -32.8064502032 83.6251135127 22.0155657205 20.2812150219 3.4623630945 0.0282287195 0.0535565745 0.2193320108
|
||||
100 -5029.3895815657 -5045.3201249690 15.9305434033 -5012.4897058028 -32.8304191662 90.6873047362 22.0181751545 20.2867946176 3.4502536831 0.0239131349 0.0576557373 -0.4387830564
|
||||
200 -5029.3874064119 -5045.8119502228 16.4245438109 -5012.7276250747 -33.0843251481 93.4994853617 22.0202931358 20.2926890775 3.3883512918 0.0180268639 0.0596894423 -0.6964675465
|
||||
300 -5029.3851410393 -5044.9928147367 15.6076736974 -5012.1131531405 -32.8796615962 88.8493144891 22.0216852689 20.2985091183 3.3368274018 0.0093519893 0.0546775051 -0.2110676539
|
||||
400 -5029.3900102082 -5045.6706717598 16.2806615516 -5012.7330095297 -32.9376622301 92.6804113372 22.0220931529 20.3035219616 3.3560233852 -0.0015365116 0.0454268927 0.5478139709
|
||||
500 -5029.3985510533 -5046.0433160610 16.6447650078 -5013.0924334585 -32.9508826025 94.7531316612 22.0214795944 20.3074656871 3.4232399722 -0.0107212024 0.0332249366 0.6595923534
|
||||
600 -5029.3929936746 -5045.4367231195 16.0437294449 -5012.7046931021 -32.7320300174 91.3316353653 22.0200027176 20.3101652565 3.4651727438 -0.0178110391 0.0210056002 0.1144372537
|
||||
700 -5029.3934435811 -5045.6074608403 16.2140172592 -5012.7886962164 -32.8187646239 92.3010274644 22.0178838793 20.3116257077 3.4432436715 -0.0242636237 0.0078323424 -0.5162836955
|
||||
800 -5029.3892931255 -5046.2270462380 16.8377531124 -5013.2383770824 -32.9886691555 95.8517489911 22.0151485191 20.3116305041 3.3780520461 -0.0302821178 -0.0083184719 -0.6710801515
|
||||
900 -5029.3930414672 -5046.0272003818 16.6341589146 -5013.2317798384 -32.7954205434 94.6927546874 22.0119224940 20.3099187654 3.3350551183 -0.0341747588 -0.0256858066 -0.0799872839
|
||||
1000 -5029.3908907831 -5045.6437703691 16.2528795861 -5012.6800867885 -32.9636835807 92.5222578135 22.0084902521 20.3065746721 3.3658243730 -0.0336536245 -0.0406018547 0.6191660974
|
||||
Loop time of 137.46 on 1 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 0.629 ns/day, 38.183 hours/ns, 7.275 timesteps/s
|
||||
95.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 | 137.33 | 137.33 | 137.33 | 0.0 | 99.90
|
||||
Bond | 0.00071788 | 0.00071788 | 0.00071788 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.067907 | 0.067907 | 0.067907 | 0.0 | 0.05
|
||||
Output | 0.0016029 | 0.0016029 | 0.0016029 | 0.0 | 0.00
|
||||
Modify | 0.036542 | 0.036542 | 0.036542 | 0.0 | 0.03
|
||||
Other | | 0.02574 | | | 0.02
|
||||
|
||||
Nlocal: 1360 ave 1360 max 1360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7964 ave 7964 max 7964 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 265206 ave 265206 max 265206 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 265206
|
||||
Ave neighs/atom = 195.004
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:17
|
|
@ -1,137 +0,0 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
# read lammps data file
|
||||
read_data Bi_gr_AB_stack_2L_noH_300K.data
|
||||
orthogonal box = (0 0 0) to (42.6 41.8117 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 2
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo ilp/graphene/hbn 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair ilp/graphene/hbn
|
||||
variable REBO equal c_0
|
||||
variable ILP equal c_1
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_ILP temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair rebo, perpetual, skip from (2)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
Per MPI rank memory allocation (min/avg/max) = 11.13 | 11.13 | 11.13 Mbytes
|
||||
Step TotEng PotEng KinEng v_REBO v_ILP Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
0 -5029.3801131277 -5044.0700799791 14.6899668514 -5011.2636297759 -32.8064502032 83.6251135127 22.0155657205 20.2812150219 3.4623630945 0.0282287195 0.0535565745 0.2193320108
|
||||
100 -5029.3895815657 -5045.3201249690 15.9305434033 -5012.4897058028 -32.8304191662 90.6873047362 22.0181751545 20.2867946176 3.4502536831 0.0239131349 0.0576557373 -0.4387830564
|
||||
200 -5029.3874064119 -5045.8119502228 16.4245438109 -5012.7276250747 -33.0843251481 93.4994853617 22.0202931358 20.2926890775 3.3883512918 0.0180268639 0.0596894423 -0.6964675465
|
||||
300 -5029.3851410393 -5044.9928147367 15.6076736974 -5012.1131531405 -32.8796615962 88.8493144891 22.0216852689 20.2985091183 3.3368274018 0.0093519893 0.0546775051 -0.2110676539
|
||||
400 -5029.3900102082 -5045.6706717598 16.2806615516 -5012.7330095297 -32.9376622301 92.6804113371 22.0220931529 20.3035219616 3.3560233852 -0.0015365116 0.0454268927 0.5478139709
|
||||
500 -5029.3985510533 -5046.0433160611 16.6447650078 -5013.0924334585 -32.9508826025 94.7531316612 22.0214795944 20.3074656871 3.4232399722 -0.0107212024 0.0332249366 0.6595923534
|
||||
600 -5029.3929936746 -5045.4367231195 16.0437294449 -5012.7046931021 -32.7320300174 91.3316353653 22.0200027176 20.3101652565 3.4651727438 -0.0178110391 0.0210056002 0.1144372537
|
||||
700 -5029.3934435811 -5045.6074608403 16.2140172592 -5012.7886962164 -32.8187646239 92.3010274643 22.0178838793 20.3116257077 3.4432436715 -0.0242636237 0.0078323424 -0.5162836955
|
||||
800 -5029.3892931255 -5046.2270462380 16.8377531124 -5013.2383770824 -32.9886691555 95.8517489911 22.0151485191 20.3116305041 3.3780520461 -0.0302821178 -0.0083184719 -0.6710801515
|
||||
900 -5029.3930414671 -5046.0272003818 16.6341589146 -5013.2317798384 -32.7954205434 94.6927546874 22.0119224940 20.3099187654 3.3350551183 -0.0341747588 -0.0256858066 -0.0799872839
|
||||
1000 -5029.3908907831 -5045.6437703692 16.2528795861 -5012.6800867885 -32.9636835807 92.5222578135 22.0084902521 20.3065746721 3.3658243730 -0.0336536245 -0.0406018547 0.6191660974
|
||||
Loop time of 36.0917 on 4 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 2.394 ns/day, 10.025 hours/ns, 27.707 timesteps/s
|
||||
97.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 | 33.204 | 34.289 | 35.893 | 17.3 | 95.01
|
||||
Bond | 0.00038719 | 0.00065947 | 0.00097609 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.1539 | 1.7595 | 2.8464 | 76.7 | 4.88
|
||||
Output | 0.0013447 | 0.0014529 | 0.0016887 | 0.4 | 0.00
|
||||
Modify | 0.010811 | 0.012037 | 0.013764 | 1.0 | 0.03
|
||||
Other | | 0.0287 | | | 0.08
|
||||
|
||||
Nlocal: 340 ave 344 max 334 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
Nghost: 4628 ave 4634 max 4624 min
|
||||
Histogram: 1 0 1 0 1 0 0 0 0 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 66301.5 ave 67860 max 63963 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 1 1
|
||||
|
||||
Total # of neighbors = 265206
|
||||
Ave neighs/atom = 195.004
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:36
|
|
@ -1 +0,0 @@
|
|||
../../../../../potentials/BNC.tersoff
|
|
@ -1 +0,0 @@
|
|||
../../../../../potentials/BNCH-old.ILP
|
|
@ -1 +0,0 @@
|
|||
../../../../../potentials/CH.airebo
|
|
@ -1,71 +0,0 @@
|
|||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data gr_hBN_Cstack_2L_noH.data
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | membrane
|
||||
mass 3 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
group adsorbate type 3
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL NULL C # chemical
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL # chemical
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N C # long range
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
pair_coeff 1 2 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 2 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair tersoff
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
compute 3 all pair coul/shield
|
||||
variable REBO equal c_0
|
||||
variable Tersoff equal c_1
|
||||
variable EILP equal c_2
|
||||
variable Ecoul equal c_3
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_REBO v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
|
@ -1,171 +0,0 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data gr_hBN_Cstack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (44.583 42.9 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1440 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | membrane
|
||||
mass 3 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
720 atoms in group membrane
|
||||
group adsorbate type 3
|
||||
720 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL NULL C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N C # long range
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
pair_coeff 1 2 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 2 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair tersoff
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
compute 3 all pair coul/shield
|
||||
variable REBO equal c_0
|
||||
variable Tersoff equal c_1
|
||||
variable EILP equal c_2
|
||||
variable Ecoul equal c_3
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_REBO v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
7 neighbor lists, perpetual/occasional/extra = 6 1 0
|
||||
(1) pair rebo, perpetual, skip from (3)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair tersoff, perpetual, skip from (6)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(4) pair coul/shield, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton/skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) compute group/group, occasional, copy from (7)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) neighbor class addition, perpetual, copy from (3)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(7) neighbor class addition, perpetual, half/full from (6)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 25.93 | 25.93 | 25.93 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_REBO v_EILP v_Ecoul Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
0 -10708.4531746010 -10764.2547791975 55.8016045965 -66.8250335416 -5401.7347845703 -5322.2780762734 -40.2419183538 0.0000000000 300.0000000000 21.6722857297 22.1650000000 3.3300000000 0.1682661410 -0.0842226772 0.1056563755
|
||||
100 -10708.2491256387 -10738.4532793285 30.2041536898 -68.8603937785 -5389.4304136167 -5309.6361134033 -39.3867523085 0.0000000000 162.3832535368 21.6879886706 22.1574778199 3.3223279482 0.1346509596 -0.0580689194 -0.1274433614
|
||||
200 -10708.1985754490 -10736.7142682477 28.5156927987 -70.0276479251 -5388.8677096501 -5308.3263464524 -39.5202121452 0.0000000000 153.3057678444 21.6968427596 22.1541506320 3.3143666142 0.0334706445 -0.0081639882 -0.0055006321
|
||||
300 -10708.1878214116 -10736.9033486636 28.7155272520 -68.2422175765 -5388.5952548022 -5308.9505338445 -39.3575600169 0.0000000000 154.3801157314 21.6939171741 22.1551483321 3.3251666346 -0.0896064591 0.0248921781 0.1717740196
|
||||
400 -10708.2036103906 -10738.2295882994 30.0259779088 -67.4993928655 -5389.4510311345 -5309.1985887571 -39.5799684078 0.0000000000 161.4253467759 21.6806789605 22.1589742804 3.3300374170 -0.1615300496 0.0532638209 -0.1185426799
|
||||
500 -10708.1853082161 -10736.0245173060 27.8392090900 -69.9737746636 -5387.9379921501 -5308.5551693329 -39.5313558230 0.0000000000 149.6688632411 21.6641276776 22.1655659011 3.3143210751 -0.1579504334 0.0766822604 -0.1154029266
|
||||
600 -10708.1781001285 -10736.4254568396 28.2473567110 -69.9368770273 -5388.3515507737 -5308.6700567475 -39.4038493184 0.0000000000 151.8631421907 21.6516789999 22.1733266592 3.3149997184 -0.0805825343 0.0684349609 0.1419617624
|
||||
700 -10708.1867253590 -10736.6143955088 28.4276701498 -67.1597096579 -5387.8570063253 -5309.0676141640 -39.6897750195 0.0000000000 152.8325414049 21.6489884054 22.1774523945 3.3315351816 0.0259900263 0.0094570835 0.0707953688
|
||||
800 -10708.1733385055 -10736.0277775931 27.8544390876 -68.6354557276 -5388.1933954711 -5308.5094712719 -39.3249108500 0.0000000000 149.7507425941 21.6565725156 22.1751617515 3.3227650180 0.1222442823 -0.0531420670 -0.1677749693
|
||||
900 -10708.1827888042 -10737.2646739167 29.0818851126 -70.2218493216 -5387.9824857335 -5309.6527953488 -39.6293928345 0.0000000000 156.3497250098 21.6716950833 22.1680989334 3.3131455846 0.1650154385 -0.0820901425 0.0072049300
|
||||
1000 -10708.1804322657 -10736.1966428009 28.0162105352 -68.3753745517 -5388.2611029662 -5308.4521913187 -39.4833485160 0.0000000000 150.6204565501 21.6865468141 22.1602434319 3.3246621699 0.1213363701 -0.0688593023 0.1701174943
|
||||
Loop time of 149.449 on 1 procs for 1000 steps with 1440 atoms
|
||||
|
||||
Performance: 0.578 ns/day, 41.514 hours/ns, 6.691 timesteps/s
|
||||
96.7% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 149.06 | 149.06 | 149.06 | 0.0 | 99.74
|
||||
Bond | 0.00082946 | 0.00082946 | 0.00082946 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.068351 | 0.068351 | 0.068351 | 0.0 | 0.05
|
||||
Output | 0.25935 | 0.25935 | 0.25935 | 0.0 | 0.17
|
||||
Modify | 0.030915 | 0.030915 | 0.030915 | 0.0 | 0.02
|
||||
Other | | 0.02702 | | | 0.02
|
||||
|
||||
Nlocal: 1440 ave 1440 max 1440 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 8180 ave 8180 max 8180 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 140400 ave 140400 max 140400 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 280800 ave 280800 max 280800 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 280800
|
||||
Ave neighs/atom = 195
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:29
|
|
@ -1,171 +0,0 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data gr_hBN_Cstack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (44.583 42.9 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1440 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | membrane
|
||||
mass 3 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
720 atoms in group membrane
|
||||
group adsorbate type 3
|
||||
720 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.airebo NULL NULL C # chemical
|
||||
Reading potential file CH.airebo with DATE: 2011-10-25
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N C # long range
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
pair_coeff 1 2 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 2 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair tersoff
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
compute 3 all pair coul/shield
|
||||
variable REBO equal c_0
|
||||
variable Tersoff equal c_1
|
||||
variable EILP equal c_2
|
||||
variable Ecoul equal c_3
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_REBO v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
7 neighbor lists, perpetual/occasional/extra = 6 1 0
|
||||
(1) pair rebo, perpetual, skip from (3)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair tersoff, perpetual, skip from (6)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(4) pair coul/shield, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton/skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) compute group/group, occasional, copy from (7)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) neighbor class addition, perpetual, copy from (3)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(7) neighbor class addition, perpetual, half/full from (6)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 14.25 | 14.25 | 14.25 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_REBO v_EILP v_Ecoul Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
0 -10708.4531746011 -10764.2547791976 55.8016045965 -66.8250335415 -5401.7347845703 -5322.2780762735 -40.2419183538 0.0000000000 300.0000000000 21.6722857297 22.1650000000 3.3300000000 0.1682661410 -0.0842226772 0.1056563755
|
||||
100 -10708.2491256387 -10738.4532793285 30.2041536898 -68.8603937785 -5389.4304136167 -5309.6361134033 -39.3867523085 0.0000000000 162.3832535368 21.6879886706 22.1574778199 3.3223279482 0.1346509596 -0.0580689194 -0.1274433614
|
||||
200 -10708.1985754490 -10736.7142682477 28.5156927987 -70.0276479251 -5388.8677096501 -5308.3263464524 -39.5202121452 0.0000000000 153.3057678444 21.6968427596 22.1541506320 3.3143666142 0.0334706445 -0.0081639882 -0.0055006321
|
||||
300 -10708.1878214116 -10736.9033486636 28.7155272520 -68.2422175765 -5388.5952548022 -5308.9505338445 -39.3575600169 0.0000000000 154.3801157314 21.6939171741 22.1551483321 3.3251666346 -0.0896064591 0.0248921781 0.1717740196
|
||||
400 -10708.2036103906 -10738.2295882994 30.0259779088 -67.4993928655 -5389.4510311345 -5309.1985887571 -39.5799684078 0.0000000000 161.4253467759 21.6806789605 22.1589742804 3.3300374170 -0.1615300496 0.0532638209 -0.1185426799
|
||||
500 -10708.1853082161 -10736.0245173060 27.8392090900 -69.9737746636 -5387.9379921501 -5308.5551693329 -39.5313558230 0.0000000000 149.6688632411 21.6641276776 22.1655659011 3.3143210751 -0.1579504334 0.0766822604 -0.1154029266
|
||||
600 -10708.1781001285 -10736.4254568396 28.2473567110 -69.9368770273 -5388.3515507736 -5308.6700567475 -39.4038493184 0.0000000000 151.8631421907 21.6516789999 22.1733266592 3.3149997184 -0.0805825343 0.0684349609 0.1419617624
|
||||
700 -10708.1867253590 -10736.6143955089 28.4276701498 -67.1597096579 -5387.8570063253 -5309.0676141640 -39.6897750195 0.0000000000 152.8325414049 21.6489884054 22.1774523945 3.3315351816 0.0259900263 0.0094570835 0.0707953688
|
||||
800 -10708.1733385055 -10736.0277775930 27.8544390876 -68.6354557276 -5388.1933954711 -5308.5094712719 -39.3249108500 0.0000000000 149.7507425941 21.6565725156 22.1751617515 3.3227650180 0.1222442823 -0.0531420670 -0.1677749693
|
||||
900 -10708.1827888042 -10737.2646739167 29.0818851126 -70.2218493216 -5387.9824857335 -5309.6527953488 -39.6293928345 0.0000000000 156.3497250098 21.6716950833 22.1680989334 3.3131455846 0.1650154385 -0.0820901425 0.0072049300
|
||||
1000 -10708.1804322657 -10736.1966428009 28.0162105352 -68.3753745517 -5388.2611029662 -5308.4521913187 -39.4833485160 0.0000000000 150.6204565501 21.6865468141 22.1602434319 3.3246621699 0.1213363701 -0.0688593023 0.1701174943
|
||||
Loop time of 39.6206 on 4 procs for 1000 steps with 1440 atoms
|
||||
|
||||
Performance: 2.181 ns/day, 11.006 hours/ns, 25.239 timesteps/s
|
||||
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 34.948 | 37.122 | 39.309 | 31.6 | 93.69
|
||||
Bond | 0.00046444 | 0.0005914 | 0.00089121 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.20131 | 2.3895 | 4.565 | 124.7 | 6.03
|
||||
Output | 0.069107 | 0.069157 | 0.069264 | 0.0 | 0.17
|
||||
Modify | 0.010056 | 0.010403 | 0.010688 | 0.3 | 0.03
|
||||
Other | | 0.02875 | | | 0.07
|
||||
|
||||
Nlocal: 360 ave 380 max 340 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 4716 ave 4736 max 4696 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 35100 ave 37050 max 33150 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
FullNghs: 70200 ave 74100 max 66300 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 280800
|
||||
Ave neighs/atom = 195
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:39
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,51 @@
|
|||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer of hBN
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
|
||||
read_data Bi_gr_AB_stack_2L_noH.data
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group layer1 molecule 1
|
||||
group layer2 molecule 2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo ilp/graphene/hbn 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.rebo C C # chemical
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair ilp/graphene/hbn
|
||||
variable REBO equal c_0 # REBO energy
|
||||
variable ILP equal c_1 # total interlayer energy
|
||||
variable Evdw equal c_1[1] # attractive energy
|
||||
variable Erep equal c_1[2] # repulsive energy
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_ILP v_Erep v_Evdw temp
|
||||
thermo_modify lost warn
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
fix thermostat all nve
|
||||
run 1000
|
|
@ -0,0 +1,56 @@
|
|||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer of hBN
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data hBN_AA_prime_stack_2L_noH.data
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
mass 3 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 4 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group layer1 molecule 1
|
||||
group layer2 molecule 2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * tersoff BNC.tersoff B N B N # chemical
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N B N # long range
|
||||
pair_coeff 1 3 coul/shield 0.70
|
||||
pair_coeff 1 4 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 3 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 4 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair tersoff
|
||||
compute 1 all pair coul/shield ecoul
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0 # Tersoff energy
|
||||
variable Ecoul equal c_1 # Coulomb energy
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable Evdw equal c_2[1] # attractive energy
|
||||
variable Erep equal c_2[2] # repulsive energy
|
||||
|
||||
############# Output ###############
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_EILP v_Erep v_Evdw v_Ecoul temp
|
||||
thermo_modify lost warn
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
|
@ -0,0 +1,56 @@
|
|||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data gr_hBN_Cstack_2L_noH.data
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | membrane
|
||||
mass 3 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group hBN molecule 1
|
||||
group gr molecule 2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.rebo NULL NULL C # chemical
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL # chemical
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C # long range
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
pair_coeff 1 2 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 2 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair tersoff
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
compute 3 all pair coul/shield
|
||||
variable REBO equal c_0
|
||||
variable Tersoff equal c_1
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable Evdw equal c_2[1] # attractive energy
|
||||
variable Erep equal c_2[2] # repulsive energy
|
||||
variable Ecoul equal c_3
|
||||
|
||||
############# Output ##############
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_REBO v_EILP v_Erep v_Evdw v_Ecoul temp
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
|
@ -32,14 +32,6 @@ neigh_modify every 1
|
|||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
|
@ -51,19 +43,16 @@ compute 1 all pair coul/shield ecoul
|
|||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0
|
||||
variable Ecoul equal c_1
|
||||
variable EILP equal c_2
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
variable ILP equal c_2
|
||||
variable Evdw equal c_2[1]
|
||||
variable Erep equal c_2[2]
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom f_subf[1] f_subf[2] f_subf[3]
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn #ignore
|
||||
thermo_style custom step etotal pe ke v_Tersoff v_ILP v_Ecoul v_Erep v_Evdw temp
|
||||
thermo_modify lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
|
|
@ -1,168 +0,0 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data hBN_AB_stack_2L_noH_equi_300K.data
|
||||
orthogonal box = (0 0 0) to (43.38 42.5773 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
mass 3 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 4 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 3 4
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * tersoff BNC.tersoff NULL NULL B N # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N B N # long range
|
||||
pair_coeff 1 3 coul/shield 0.70
|
||||
pair_coeff 1 4 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 3 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 4 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair tersoff
|
||||
compute 1 all pair coul/shield ecoul
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0
|
||||
variable Ecoul equal c_1
|
||||
variable EILP equal c_2
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom f_subf[1] f_subf[2] f_subf[3]
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
6 neighbor lists, perpetual/occasional/extra = 5 1 0
|
||||
(1) pair tersoff, perpetual, skip from (5)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(3) pair coul/shield, perpetual, skip from (6)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) compute group/group, occasional, copy from (6)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) neighbor class addition, perpetual, copy from (2)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) neighbor class addition, perpetual, half/full from (5)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 57.85 | 57.85 | 57.85 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_EILP v_Ecoul Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom f_subf[1] f_subf[2] f_subf[3]
|
||||
0 -5114.6628078598 -5127.8586355055 13.1958276458 -75.3652234209 -5091.4120857465 -36.0831137829 -0.3634359761 75.1194741238 20.9113202537 20.6582215878 3.2895976612 -0.0495147937 -0.0552233516 -0.0166592619 -0.1742790202 -0.0884665936 -0.8010816801
|
||||
100 -5114.6620580583 -5127.6958349342 13.0337768758 -75.2249487778 -5091.2407919311 -36.0927601416 -0.3622828614 74.1969727889 20.9076129631 20.6534162972 3.2908118318 -0.0234802196 -0.0397832410 0.0332404745 -0.2430042439 -0.1598109185 -0.5351246275
|
||||
200 -5114.6630637865 -5127.5945140906 12.9314503041 -74.6445167393 -5091.1507571912 -36.0866688941 -0.3570880053 73.6144615235 20.9067696105 20.6505240051 3.2976575241 0.0078967872 -0.0170385302 0.0850447973 -0.2934041648 -0.2405295165 0.2309200807
|
||||
300 -5114.6693830121 -5128.3286231421 13.6592401300 -74.2223518942 -5091.8645555419 -36.1107860098 -0.3532815904 77.7575278367 20.9090146500 20.6502445717 3.3024525026 0.0352437329 0.0112279015 -0.0021399216 -0.2166516175 -0.2410661267 0.9007458614
|
||||
400 -5114.6614035404 -5127.6423784754 12.9809749350 -74.6548295432 -5091.2348011465 -36.0496340516 -0.3579432773 73.8963888364 20.9136276183 20.6526810045 3.2977225951 0.0556629502 0.0358324354 -0.0738287296 -0.1431221016 -0.1626739623 0.0673046122
|
||||
500 -5114.6599876234 -5127.4097813122 12.7497936887 -75.2268687829 -5090.9284608504 -36.1195707042 -0.3617497575 72.5803506074 20.9197050770 20.6571510311 3.2909058903 0.0631939085 0.0530269602 -0.0516940297 -0.0112976844 -0.1217009147 -0.4713422319
|
||||
600 -5114.6672773464 -5128.0912983829 13.4240210364 -75.3848112535 -5091.6338883189 -36.0938401510 -0.3635699131 76.4185034811 20.9258252862 20.6628322031 3.2892805234 0.0573396226 0.0579085440 0.0291853982 0.1059950758 0.0102266125 -0.7683214794
|
||||
700 -5114.6609647250 -5127.7466720637 13.0857073388 -74.7981789470 -5091.2811095008 -36.1066385732 -0.3589239897 74.4925957063 20.9307092134 20.6683554324 3.2957959411 0.0396744013 0.0503347378 0.0818267711 0.1737903706 0.1258761156 0.1307185989
|
||||
800 -5114.6622627667 -5128.0130406264 13.3507778597 -74.2952448854 -5091.5693975625 -36.0897180314 -0.3539250325 76.0015543464 20.9334441079 20.6725125240 3.3019570181 0.0142277646 0.0313116646 0.0291673132 0.2457478793 0.1912082770 0.7239823553
|
||||
900 -5114.6675469561 -5128.1496933801 13.4821464240 -74.3644898573 -5091.6703861750 -36.1246785145 -0.3546286905 76.7493920516 20.9334403558 20.6744181494 3.3005582394 -0.0141399355 0.0063543986 -0.0561206619 0.2370151923 0.2115707560 0.7822017606
|
||||
1000 -5114.6683146144 -5128.3364609113 13.6681462969 -75.1091579020 -5091.9370210069 -36.0375964349 -0.3618434694 77.8082276935 20.9306643096 20.6737238853 3.2922181699 -0.0411219854 -0.0200694204 -0.0788193565 0.2225175431 0.2377413412 -0.5875288557
|
||||
Loop time of 202.063 on 1 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 0.428 ns/day, 56.129 hours/ns, 4.949 timesteps/s
|
||||
91.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 201.4 | 201.4 | 201.4 | 0.0 | 99.67
|
||||
Bond | 0.00092697 | 0.00092697 | 0.00092697 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.086005 | 0.086005 | 0.086005 | 0.0 | 0.04
|
||||
Output | 0.50438 | 0.50438 | 0.50438 | 0.0 | 0.25
|
||||
Modify | 0.038846 | 0.038846 | 0.038846 | 0.0 | 0.02
|
||||
Other | | 0.03093 | | | 0.02
|
||||
|
||||
Nlocal: 1360 ave 1360 max 1360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7840 ave 7840 max 7840 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 249628 ave 249628 max 249628 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 253390 ave 253390 max 253390 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 253390
|
||||
Ave neighs/atom = 186.316
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:03:22
|
|
@ -1,168 +0,0 @@
|
|||
LAMMPS (8 Mar 2018)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data hBN_AB_stack_2L_noH_equi_300K.data
|
||||
orthogonal box = (0 0 0) to (43.38 42.5773 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
mass 3 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 4 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 3 4
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * tersoff BNC.tersoff NULL NULL B N # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N B N # long range
|
||||
pair_coeff 1 3 coul/shield 0.70
|
||||
pair_coeff 1 4 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 3 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 4 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair tersoff
|
||||
compute 1 all pair coul/shield ecoul
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0
|
||||
variable Ecoul equal c_1
|
||||
variable EILP equal c_2
|
||||
|
||||
# Calculate the pair potential between the substrate and slider
|
||||
compute sldsub adsorbate group/group membrane
|
||||
variable Evdw equal c_sldsub
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_EILP v_Ecoul temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom f_subf[1] f_subf[2] f_subf[3]
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
6 neighbor lists, perpetual/occasional/extra = 5 1 0
|
||||
(1) pair tersoff, perpetual, skip from (5)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(3) pair coul/shield, perpetual, skip from (6)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) compute group/group, occasional, copy from (6)
|
||||
attributes: half, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) neighbor class addition, perpetual, copy from (2)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) neighbor class addition, perpetual, half/full from (5)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 30.63 | 30.63 | 30.64 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_EILP v_Ecoul Temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom f_subf[1] f_subf[2] f_subf[3]
|
||||
0 -5114.6628078598 -5127.8586355055 13.1958276458 -75.3652234209 -5091.4120857465 -36.0831137829 -0.3634359761 75.1194741238 20.9113202537 20.6582215878 3.2895976612 -0.0495147937 -0.0552233516 -0.0166592619 -0.1742790202 -0.0884665936 -0.8010816801
|
||||
100 -5114.6620580583 -5127.6958349342 13.0337768758 -75.2249487778 -5091.2407919311 -36.0927601416 -0.3622828614 74.1969727889 20.9076129631 20.6534162972 3.2908118318 -0.0234802196 -0.0397832410 0.0332404745 -0.2430042439 -0.1598109185 -0.5351246275
|
||||
200 -5114.6630637865 -5127.5945140906 12.9314503041 -74.6445167393 -5091.1507571912 -36.0866688941 -0.3570880053 73.6144615235 20.9067696105 20.6505240051 3.2976575241 0.0078967872 -0.0170385302 0.0850447973 -0.2934041648 -0.2405295165 0.2309200807
|
||||
300 -5114.6693830121 -5128.3286231421 13.6592401300 -74.2223518942 -5091.8645555419 -36.1107860098 -0.3532815904 77.7575278367 20.9090146500 20.6502445717 3.3024525026 0.0352437329 0.0112279015 -0.0021399216 -0.2166516175 -0.2410661267 0.9007458614
|
||||
400 -5114.6614035404 -5127.6423784754 12.9809749350 -74.6548295432 -5091.2348011465 -36.0496340516 -0.3579432773 73.8963888364 20.9136276183 20.6526810045 3.2977225951 0.0556629502 0.0358324354 -0.0738287296 -0.1431221016 -0.1626739623 0.0673046122
|
||||
500 -5114.6599876234 -5127.4097813122 12.7497936887 -75.2268687829 -5090.9284608504 -36.1195707042 -0.3617497575 72.5803506074 20.9197050770 20.6571510311 3.2909058903 0.0631939085 0.0530269602 -0.0516940297 -0.0112976844 -0.1217009147 -0.4713422319
|
||||
600 -5114.6672773464 -5128.0912983829 13.4240210364 -75.3848112535 -5091.6338883189 -36.0938401510 -0.3635699131 76.4185034811 20.9258252862 20.6628322031 3.2892805234 0.0573396226 0.0579085440 0.0291853982 0.1059950758 0.0102266125 -0.7683214794
|
||||
700 -5114.6609647250 -5127.7466720637 13.0857073388 -74.7981789470 -5091.2811095008 -36.1066385732 -0.3589239897 74.4925957063 20.9307092134 20.6683554324 3.2957959411 0.0396744013 0.0503347378 0.0818267711 0.1737903706 0.1258761156 0.1307185989
|
||||
800 -5114.6622627667 -5128.0130406264 13.3507778597 -74.2952448854 -5091.5693975625 -36.0897180314 -0.3539250325 76.0015543464 20.9334441079 20.6725125240 3.3019570181 0.0142277646 0.0313116646 0.0291673132 0.2457478793 0.1912082770 0.7239823553
|
||||
900 -5114.6675469561 -5128.1496933801 13.4821464240 -74.3644898573 -5091.6703861750 -36.1246785145 -0.3546286905 76.7493920516 20.9334403558 20.6744181494 3.3005582394 -0.0141399355 0.0063543986 -0.0561206619 0.2370151923 0.2115707560 0.7822017606
|
||||
1000 -5114.6683146144 -5128.3364609113 13.6681462969 -75.1091579020 -5091.9370210069 -36.0375964349 -0.3618434694 77.8082276935 20.9306643096 20.6737238853 3.2922181699 -0.0411219854 -0.0200694204 -0.0788193565 0.2225175431 0.2377413412 -0.5875288557
|
||||
Loop time of 53.3155 on 4 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 1.621 ns/day, 14.810 hours/ns, 18.756 timesteps/s
|
||||
97.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 | 49.475 | 50.978 | 52.988 | 18.0 | 95.62
|
||||
Bond | 0.00045061 | 0.00066602 | 0.00086665 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.16491 | 2.1759 | 3.679 | 87.0 | 4.08
|
||||
Output | 0.11871 | 0.11882 | 0.11911 | 0.0 | 0.22
|
||||
Modify | 0.012956 | 0.013504 | 0.01387 | 0.3 | 0.03
|
||||
Other | | 0.02828 | | | 0.05
|
||||
|
||||
Nlocal: 340 ave 346 max 336 min
|
||||
Histogram: 1 0 1 0 1 0 0 0 0 1
|
||||
Nghost: 4537.5 ave 4540 max 4534 min
|
||||
Histogram: 1 0 0 0 0 0 2 0 0 1
|
||||
Neighs: 62407 ave 62413 max 62402 min
|
||||
Histogram: 1 0 0 1 1 0 0 0 0 1
|
||||
FullNghs: 63347.5 ave 65585 max 61866 min
|
||||
Histogram: 1 1 0 1 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 253926
|
||||
Ave neighs/atom = 186.71
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:53
|
|
@ -0,0 +1,127 @@
|
|||
LAMMPS (31 Jul 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer of hBN
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
|
||||
read_data Bi_gr_AB_stack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (42.6 41.8117 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000290871 secs
|
||||
read_data CPU = 0.00159073 secs
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group layer1 molecule 1
|
||||
680 atoms in group layer1
|
||||
group layer2 molecule 2
|
||||
680 atoms in group layer2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo ilp/graphene/hbn 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.rebo C C # chemical
|
||||
Reading potential file CH.rebo with DATE: 2018-7-3
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair ilp/graphene/hbn
|
||||
variable REBO equal c_0 # REBO energy
|
||||
variable ILP equal c_1 # total interlayer energy
|
||||
variable Evdw equal c_1[1] # attractive energy
|
||||
variable Erep equal c_1[2] # repulsive energy
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_ILP v_Erep v_Evdw temp
|
||||
thermo_modify lost warn
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
fix thermostat all nve
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair rebo, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(2) pair ilp/graphene/hbn, perpetual, copy from (1)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 17.21 | 17.21 | 17.21 Mbytes
|
||||
Step TotEng PotEng KinEng v_REBO v_ILP v_Erep v_Evdw Temp
|
||||
0 -10037.285 -10089.985 52.699361 -10057.189 -32.795185 43.640104 -76.435288 300
|
||||
100 -10037.034 -10064.765 27.73131 -10032.181 -32.58421 34.730868 -67.315078 157.86516
|
||||
200 -10036.963 -10061.144 24.18111 -10028.856 -32.288132 28.179936 -60.468068 137.65505
|
||||
300 -10037.003 -10063.5 26.496726 -10030.823 -32.677105 34.923849 -67.600954 150.83708
|
||||
400 -10037.032 -10064.389 27.356526 -10031.853 -32.535415 44.242347 -76.777762 155.73164
|
||||
500 -10037.023 -10064.114 27.090279 -10031.431 -32.682418 37.229232 -69.91165 154.21598
|
||||
600 -10037.003 -10063.657 26.653718 -10031.327 -32.329664 28.509073 -60.838737 151.73078
|
||||
700 -10037.004 -10063.35 26.345697 -10030.801 -32.549231 32.564686 -65.113917 149.97732
|
||||
800 -10037.025 -10064.219 27.194765 -10031.766 -32.453653 43.381557 -75.83521 154.81078
|
||||
900 -10037.028 -10064.668 27.639127 -10032.167 -32.500121 39.99345 -72.493571 157.34039
|
||||
1000 -10037.003 -10063.662 26.658825 -10031.337 -32.325053 29.573578 -61.898631 151.75986
|
||||
Loop time of 149.887 on 1 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 0.576 ns/day, 41.635 hours/ns, 6.672 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 149.75 | 149.75 | 149.75 | 0.0 | 99.91
|
||||
Bond | 0.00024772 | 0.00024772 | 0.00024772 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.086328 | 0.086328 | 0.086328 | 0.0 | 0.06
|
||||
Output | 0.00036383 | 0.00036383 | 0.00036383 | 0.0 | 0.00
|
||||
Modify | 0.028636 | 0.028636 | 0.028636 | 0.0 | 0.02
|
||||
Other | | 0.01708 | | | 0.01
|
||||
|
||||
Nlocal: 1360 ave 1360 max 1360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7964 ave 7964 max 7964 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 1.037e+06 ave 1.037e+06 max 1.037e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1037000
|
||||
Ave neighs/atom = 762.5
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:30
|
|
@ -0,0 +1,127 @@
|
|||
LAMMPS (31 Jul 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer of hBN
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
|
||||
read_data Bi_gr_AB_stack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (42.6 41.8117 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000157118 secs
|
||||
read_data CPU = 0.00145698 secs
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group layer1 molecule 1
|
||||
680 atoms in group layer1
|
||||
group layer2 molecule 2
|
||||
680 atoms in group layer2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo ilp/graphene/hbn 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.rebo C C # chemical
|
||||
Reading potential file CH.rebo with DATE: 2018-7-3
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair ilp/graphene/hbn
|
||||
variable REBO equal c_0 # REBO energy
|
||||
variable ILP equal c_1 # total interlayer energy
|
||||
variable Evdw equal c_1[1] # attractive energy
|
||||
variable Erep equal c_1[2] # repulsive energy
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_ILP v_Erep v_Evdw temp
|
||||
thermo_modify lost warn
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
fix thermostat all nve
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair rebo, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(2) pair ilp/graphene/hbn, perpetual, copy from (1)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.879 | 9.879 | 9.879 Mbytes
|
||||
Step TotEng PotEng KinEng v_REBO v_ILP v_Erep v_Evdw Temp
|
||||
0 -10037.285 -10089.985 52.699361 -10057.189 -32.795185 43.640104 -76.435288 300
|
||||
100 -10037.034 -10064.765 27.73131 -10032.181 -32.58421 34.730868 -67.315078 157.86516
|
||||
200 -10036.963 -10061.144 24.18111 -10028.856 -32.288132 28.179936 -60.468068 137.65505
|
||||
300 -10037.003 -10063.5 26.496726 -10030.823 -32.677105 34.923849 -67.600954 150.83708
|
||||
400 -10037.032 -10064.389 27.356526 -10031.853 -32.535415 44.242347 -76.777762 155.73164
|
||||
500 -10037.023 -10064.114 27.090279 -10031.431 -32.682418 37.229232 -69.91165 154.21598
|
||||
600 -10037.003 -10063.657 26.653718 -10031.327 -32.329664 28.509073 -60.838737 151.73078
|
||||
700 -10037.004 -10063.35 26.345697 -10030.801 -32.549231 32.564686 -65.113917 149.97732
|
||||
800 -10037.025 -10064.219 27.194765 -10031.766 -32.453653 43.381557 -75.83521 154.81078
|
||||
900 -10037.028 -10064.668 27.639127 -10032.167 -32.500121 39.99345 -72.493571 157.34039
|
||||
1000 -10037.003 -10063.662 26.658825 -10031.337 -32.325053 29.573578 -61.898631 151.75986
|
||||
Loop time of 44.6551 on 4 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 1.935 ns/day, 12.404 hours/ns, 22.394 timesteps/s
|
||||
93.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 40.304 | 41.221 | 41.998 | 9.5 | 92.31
|
||||
Bond | 0.00027633 | 0.00029379 | 0.00031424 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 2.5678 | 3.3334 | 4.2403 | 32.9 | 7.46
|
||||
Output | 0.0051446 | 0.0054518 | 0.0059683 | 0.4 | 0.01
|
||||
Modify | 0.0088317 | 0.009002 | 0.0090654 | 0.1 | 0.02
|
||||
Other | | 0.08586 | | | 0.19
|
||||
|
||||
Nlocal: 340 ave 340 max 340 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 4628 ave 4628 max 4628 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 259250 ave 259250 max 259250 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1037000
|
||||
Ave neighs/atom = 762.5
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:44
|
|
@ -0,0 +1,142 @@
|
|||
LAMMPS (31 Jul 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer of hBN
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data hBN_AA_prime_stack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (43.38 42.5773 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000375509 secs
|
||||
read_data CPU = 0.00181293 secs
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
mass 3 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 4 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group layer1 molecule 1
|
||||
680 atoms in group layer1
|
||||
group layer2 molecule 2
|
||||
680 atoms in group layer2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * tersoff BNC.tersoff B N B N # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N B N # long range
|
||||
pair_coeff 1 3 coul/shield 0.70
|
||||
pair_coeff 1 4 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 3 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 4 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair tersoff
|
||||
compute 1 all pair coul/shield ecoul
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0 # Tersoff energy
|
||||
variable Ecoul equal c_1 # Coulomb energy
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable Evdw equal c_2[1] # attractive energy
|
||||
variable Erep equal c_2[2] # repulsive energy
|
||||
|
||||
############# Output ###############
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_EILP v_Erep v_Evdw v_Ecoul temp
|
||||
thermo_modify lost warn
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
4 neighbor lists, perpetual/occasional/extra = 4 0 0
|
||||
(1) pair tersoff, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(3) pair coul/shield, perpetual, skip from (4)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) neighbor class addition, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 35.9 | 35.9 | 35.9 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_EILP v_Erep v_Evdw v_Ecoul Temp
|
||||
0 -10193.138 -10245.837 52.699361 -77.557069 -10208.73 -36.776483 40.780586 -77.557069 -0.33075117 300
|
||||
100 -10192.814 -10215.193 22.37957 -80.997619 -10177.878 -36.967736 44.029884 -80.997619 -0.34809915 127.39947
|
||||
200 -10192.922 -10221.807 28.884855 -86.370319 -10184.251 -37.168986 49.201334 -86.370319 -0.38644764 164.43191
|
||||
300 -10192.878 -10219.029 26.151464 -83.063924 -10182.349 -36.30412 46.759804 -83.063924 -0.37660157 148.87162
|
||||
400 -10192.892 -10218.834 25.942229 -78.394242 -10181.398 -37.110968 41.283274 -78.394242 -0.32494569 147.68051
|
||||
500 -10192.909 -10221.331 28.422213 -81.768531 -10184.03 -36.946226 44.822304 -81.768531 -0.35489965 161.79824
|
||||
600 -10192.886 -10219.371 26.48495 -86.278335 -10182.669 -36.29515 49.983185 -86.278335 -0.40636253 150.77004
|
||||
700 -10192.902 -10220.95 28.048108 -82.28873 -10183.208 -37.39374 44.89499 -82.28873 -0.34777958 159.66859
|
||||
800 -10192.88 -10218.51 25.630186 -78.011019 -10181.427 -36.754209 41.256811 -78.011019 -0.32904942 145.90415
|
||||
900 -10192.894 -10220.56 27.665437 -82.474379 -10183.801 -36.381157 46.093222 -82.474379 -0.37703328 157.49017
|
||||
1000 -10192.897 -10219.01 26.11313 -87.125683 -10181.252 -37.361898 49.763785 -87.125683 -0.39607952 148.65339
|
||||
Loop time of 211.527 on 1 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 0.408 ns/day, 58.757 hours/ns, 4.728 timesteps/s
|
||||
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 211.4 | 211.4 | 211.4 | 0.0 | 99.94
|
||||
Bond | 0.00018859 | 0.00018859 | 0.00018859 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.082034 | 0.082034 | 0.082034 | 0.0 | 0.04
|
||||
Output | 0.00037289 | 0.00037289 | 0.00037289 | 0.0 | 0.00
|
||||
Modify | 0.027928 | 0.027928 | 0.027928 | 0.0 | 0.01
|
||||
Other | | 0.0159 | | | 0.01
|
||||
|
||||
Nlocal: 1360 ave 1360 max 1360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7836 ave 7836 max 7836 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 249560 ave 249560 max 249560 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 1.00504e+06 ave 1.00504e+06 max 1.00504e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1005040
|
||||
Ave neighs/atom = 739
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:03:31
|
|
@ -0,0 +1,142 @@
|
|||
LAMMPS (31 Jul 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer of hBN
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data hBN_AA_prime_stack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (43.38 42.5773 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000224352 secs
|
||||
read_data CPU = 0.00160909 secs
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
mass 3 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 4 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group layer1 molecule 1
|
||||
680 atoms in group layer1
|
||||
group layer2 molecule 2
|
||||
680 atoms in group layer2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * tersoff BNC.tersoff B N B N # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N B N # long range
|
||||
pair_coeff 1 3 coul/shield 0.70
|
||||
pair_coeff 1 4 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 3 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 4 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair tersoff
|
||||
compute 1 all pair coul/shield ecoul
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0 # Tersoff energy
|
||||
variable Ecoul equal c_1 # Coulomb energy
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable Evdw equal c_2[1] # attractive energy
|
||||
variable Erep equal c_2[2] # repulsive energy
|
||||
|
||||
############# Output ###############
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_EILP v_Erep v_Evdw v_Ecoul temp
|
||||
thermo_modify lost warn
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
4 neighbor lists, perpetual/occasional/extra = 4 0 0
|
||||
(1) pair tersoff, perpetual
|
||||
attributes: full, newton on
|
||||
pair build: full/bin
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(3) pair coul/shield, perpetual, skip from (4)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) neighbor class addition, perpetual, half/full from (1)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 18.99 | 18.99 | 18.99 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_EILP v_Erep v_Evdw v_Ecoul Temp
|
||||
0 -10193.138 -10245.837 52.699361 -77.557069 -10208.73 -36.776483 40.780586 -77.557069 -0.33075117 300
|
||||
100 -10192.814 -10215.193 22.37957 -80.997619 -10177.878 -36.967736 44.029884 -80.997619 -0.34809915 127.39947
|
||||
200 -10192.922 -10221.807 28.884855 -86.370319 -10184.251 -37.168986 49.201334 -86.370319 -0.38644764 164.43191
|
||||
300 -10192.878 -10219.029 26.151464 -83.063924 -10182.349 -36.30412 46.759804 -83.063924 -0.37660157 148.87162
|
||||
400 -10192.892 -10218.834 25.942229 -78.394242 -10181.398 -37.110968 41.283274 -78.394242 -0.32494569 147.68051
|
||||
500 -10192.909 -10221.331 28.422213 -81.768531 -10184.03 -36.946226 44.822304 -81.768531 -0.35489965 161.79824
|
||||
600 -10192.886 -10219.371 26.48495 -86.278335 -10182.669 -36.29515 49.983185 -86.278335 -0.40636253 150.77004
|
||||
700 -10192.902 -10220.95 28.048108 -82.28873 -10183.208 -37.39374 44.89499 -82.28873 -0.34777958 159.66859
|
||||
800 -10192.88 -10218.51 25.630186 -78.011019 -10181.427 -36.754209 41.256811 -78.011019 -0.32904942 145.90415
|
||||
900 -10192.894 -10220.56 27.665437 -82.474379 -10183.801 -36.381157 46.093222 -82.474379 -0.37703328 157.49017
|
||||
1000 -10192.897 -10219.01 26.11313 -87.125683 -10181.252 -37.361898 49.763785 -87.125683 -0.39607952 148.65339
|
||||
Loop time of 68.3631 on 4 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 1.264 ns/day, 18.990 hours/ns, 14.628 timesteps/s
|
||||
98.5% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 64.58 | 66.38 | 67.402 | 13.2 | 97.10
|
||||
Bond | 0.0001719 | 0.00021869 | 0.00024033 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.93767 | 1.9601 | 3.76 | 77.0 | 2.87
|
||||
Output | 0.00033593 | 0.00061601 | 0.0014501 | 0.0 | 0.00
|
||||
Modify | 0.0085733 | 0.0089303 | 0.0093236 | 0.4 | 0.01
|
||||
Other | | 0.01285 | | | 0.02
|
||||
|
||||
Nlocal: 340 ave 340 max 340 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 4536 ave 4536 max 4536 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 62390 ave 62390 max 62390 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 251260 ave 251260 max 251260 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1005040
|
||||
Ave neighs/atom = 739
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:08
|
|
@ -0,0 +1,153 @@
|
|||
LAMMPS (31 Jul 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data gr_hBN_Cstack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (44.583 42.9 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1440 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000282049 secs
|
||||
read_data CPU = 0.00159025 secs
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | membrane
|
||||
mass 3 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group hBN molecule 1
|
||||
720 atoms in group hBN
|
||||
group gr molecule 2
|
||||
720 atoms in group gr
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.rebo NULL NULL C # chemical
|
||||
Reading potential file CH.rebo with DATE: 2018-7-3
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C # long range
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
pair_coeff 1 2 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 2 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair tersoff
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
compute 3 all pair coul/shield
|
||||
variable REBO equal c_0
|
||||
variable Tersoff equal c_1
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable Evdw equal c_2[1] # attractive energy
|
||||
variable Erep equal c_2[2] # repulsive energy
|
||||
variable Ecoul equal c_3
|
||||
|
||||
############# Output ##############
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_REBO v_EILP v_Erep v_Evdw v_Ecoul temp
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
6 neighbor lists, perpetual/occasional/extra = 6 0 0
|
||||
(1) pair rebo, perpetual, skip from (3)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair tersoff, perpetual, skip from (5)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(4) pair coul/shield, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton/skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) neighbor class addition, perpetual, copy from (3)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) neighbor class addition, perpetual, half/full from (5)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 22.52 | 22.52 | 22.52 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_REBO v_EILP v_Erep v_Evdw v_Ecoul Temp
|
||||
0 -10707.284 -10763.085 55.801605 -75.247726 -5401.7348 -5322.2781 -39.072409 36.175318 -75.247726 0 300
|
||||
100 -10707.074 -10737.127 30.05353 -73.217322 -5389.9568 -5309.2004 -37.970102 35.24722 -73.217322 0 161.57347
|
||||
200 -10707.016 -10734.932 27.91576 -71.603097 -5389.1294 -5307.7455 -38.056875 33.546222 -71.603097 0 150.08042
|
||||
300 -10707.013 -10734.987 27.973705 -75.082134 -5388.9196 -5308.1165 -37.950947 37.131186 -75.082134 0 150.39194
|
||||
400 -10707.012 -10735.498 28.486171 -76.339871 -5389.1657 -5308.153 -38.179442 38.160429 -76.339871 0 153.14706
|
||||
500 -10707.007 -10734.681 27.674101 -73.312354 -5388.7261 -5307.7384 -38.216944 35.09541 -73.312354 0 148.78121
|
||||
600 -10707.018 -10735.833 28.815132 -71.927763 -5389.0798 -5308.596 -38.157333 33.77043 -71.927763 0 154.91561
|
||||
700 -10707.02 -10735.656 28.635377 -74.679371 -5389.2971 -5308.1866 -38.172002 36.507368 -74.679371 0 153.94921
|
||||
800 -10707.004 -10734.352 27.347425 -76.371288 -5388.5923 -5307.7206 -38.038736 38.332552 -76.371288 0 147.02494
|
||||
900 -10707.014 -10735.832 28.817405 -73.699332 -5388.9674 -5308.7964 -38.068078 35.631254 -73.699332 0 154.92783
|
||||
1000 -10706.995 -10733.562 26.56615 -71.439868 -5388.0186 -5307.4414 -38.101452 33.338415 -71.439868 0 142.82466
|
||||
Loop time of 152.66 on 1 procs for 1000 steps with 1440 atoms
|
||||
|
||||
Performance: 0.566 ns/day, 42.406 hours/ns, 6.550 timesteps/s
|
||||
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 152.52 | 152.52 | 152.52 | 0.0 | 99.91
|
||||
Bond | 0.00023174 | 0.00023174 | 0.00023174 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.087147 | 0.087147 | 0.087147 | 0.0 | 0.06
|
||||
Output | 0.0004189 | 0.0004189 | 0.0004189 | 0.0 | 0.00
|
||||
Modify | 0.029972 | 0.029972 | 0.029972 | 0.0 | 0.02
|
||||
Other | | 0.02057 | | | 0.01
|
||||
|
||||
Nlocal: 1440 ave 1440 max 1440 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 8180 ave 8180 max 8180 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 140400 ave 140400 max 140400 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 280800 ave 280800 max 280800 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 280800
|
||||
Ave neighs/atom = 195
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:02:32
|
|
@ -0,0 +1,153 @@
|
|||
LAMMPS (31 Jul 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data gr_hBN_Cstack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (44.583 42.9 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1440 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.00012207 secs
|
||||
read_data CPU = 0.00357461 secs
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | membrane
|
||||
mass 3 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group hBN molecule 1
|
||||
720 atoms in group hBN
|
||||
group gr molecule 2
|
||||
720 atoms in group gr
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo tersoff ilp/graphene/hbn 16.0 coul/shield 16.0
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.rebo NULL NULL C # chemical
|
||||
Reading potential file CH.rebo with DATE: 2018-7-3
|
||||
pair_coeff * * tersoff BNC.tersoff B N NULL # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH.ILP B N C # long range
|
||||
pair_coeff 1 1 coul/shield 0.70
|
||||
pair_coeff 1 2 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 2 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345 dist gaussian mom yes rot yes
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair tersoff
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
compute 3 all pair coul/shield
|
||||
variable REBO equal c_0
|
||||
variable Tersoff equal c_1
|
||||
variable EILP equal c_2 # total interlayer energy
|
||||
variable Evdw equal c_2[1] # attractive energy
|
||||
variable Erep equal c_2[2] # repulsive energy
|
||||
variable Ecoul equal c_3
|
||||
|
||||
############# Output ##############
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Evdw v_Tersoff v_REBO v_EILP v_Erep v_Evdw v_Ecoul temp
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
6 neighbor lists, perpetual/occasional/extra = 6 0 0
|
||||
(1) pair rebo, perpetual, skip from (3)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: skip/ghost
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair tersoff, perpetual, skip from (5)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(3) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(4) pair coul/shield, perpetual, half/full from (2)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton/skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) neighbor class addition, perpetual, copy from (3)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(6) neighbor class addition, perpetual, half/full from (5)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 12.45 | 12.45 | 12.45 Mbytes
|
||||
Step TotEng PotEng KinEng v_Evdw v_Tersoff v_REBO v_EILP v_Erep v_Evdw v_Ecoul Temp
|
||||
0 -10707.284 -10763.085 55.801605 -75.247726 -5401.7348 -5322.2781 -39.072409 36.175318 -75.247726 0 300
|
||||
100 -10707.074 -10737.127 30.05353 -73.217322 -5389.9568 -5309.2004 -37.970102 35.24722 -73.217322 0 161.57347
|
||||
200 -10707.016 -10734.932 27.91576 -71.603097 -5389.1294 -5307.7455 -38.056875 33.546222 -71.603097 0 150.08042
|
||||
300 -10707.013 -10734.987 27.973705 -75.082134 -5388.9196 -5308.1165 -37.950947 37.131186 -75.082134 0 150.39194
|
||||
400 -10707.012 -10735.498 28.486171 -76.339871 -5389.1657 -5308.153 -38.179442 38.160429 -76.339871 0 153.14706
|
||||
500 -10707.007 -10734.681 27.674101 -73.312354 -5388.7261 -5307.7384 -38.216944 35.09541 -73.312354 0 148.78121
|
||||
600 -10707.018 -10735.833 28.815132 -71.927763 -5389.0798 -5308.596 -38.157333 33.77043 -71.927763 0 154.91561
|
||||
700 -10707.02 -10735.656 28.635377 -74.679371 -5389.2971 -5308.1866 -38.172002 36.507368 -74.679371 0 153.94921
|
||||
800 -10707.004 -10734.352 27.347425 -76.371288 -5388.5923 -5307.7206 -38.038736 38.332552 -76.371288 0 147.02494
|
||||
900 -10707.014 -10735.832 28.817405 -73.699332 -5388.9674 -5308.7964 -38.068078 35.631254 -73.699332 0 154.92783
|
||||
1000 -10706.995 -10733.562 26.56615 -71.439868 -5388.0186 -5307.4414 -38.101452 33.338415 -71.439868 0 142.82466
|
||||
Loop time of 54.095 on 4 procs for 1000 steps with 1440 atoms
|
||||
|
||||
Performance: 1.597 ns/day, 15.026 hours/ns, 18.486 timesteps/s
|
||||
84.8% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 42.138 | 45.531 | 49.106 | 42.0 | 84.17
|
||||
Bond | 0.0003159 | 0.00037384 | 0.000489 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 4.71 | 8.2803 | 11.682 | 98.3 | 15.31
|
||||
Output | 0.0021999 | 0.0055975 | 0.013382 | 6.0 | 0.01
|
||||
Modify | 0.0092845 | 0.010981 | 0.012538 | 1.3 | 0.02
|
||||
Other | | 0.2673 | | | 0.49
|
||||
|
||||
Nlocal: 360 ave 380 max 340 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Nghost: 4716 ave 4736 max 4696 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
Neighs: 35100 ave 37050 max 33150 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
FullNghs: 70200 ave 74100 max 66300 min
|
||||
Histogram: 2 0 0 0 0 0 0 0 0 2
|
||||
|
||||
Total # of neighbors = 280800
|
||||
Ave neighs/atom = 195
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:54
|
|
@ -0,0 +1,154 @@
|
|||
LAMMPS (31 Jul 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data hBN_AB_stack_2L_noH_equi_300K.data
|
||||
orthogonal box = (0 0 0) to (43.38 42.5773 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000251532 secs
|
||||
read_data CPU = 0.00451231 secs
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
mass 3 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 4 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 3 4
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * tersoff BNC.tersoff NULL NULL B N # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N B N # long range
|
||||
pair_coeff 1 3 coul/shield 0.70
|
||||
pair_coeff 1 4 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 3 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 4 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair tersoff
|
||||
compute 1 all pair coul/shield ecoul
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0
|
||||
variable Ecoul equal c_1
|
||||
variable ILP equal c_2
|
||||
variable Evdw equal c_2[1]
|
||||
variable Erep equal c_2[2]
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Tersoff v_ILP v_Ecoul v_Erep v_Evdw temp
|
||||
thermo_modify lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
5 neighbor lists, perpetual/occasional/extra = 5 0 0
|
||||
(1) pair tersoff, perpetual, skip from (4)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(3) pair coul/shield, perpetual, skip from (5)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) neighbor class addition, perpetual, copy from (2)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) neighbor class addition, perpetual, half/full from (4)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 54.59 | 54.59 | 54.59 Mbytes
|
||||
Step TotEng PotEng KinEng v_Tersoff v_ILP v_Ecoul v_Erep v_Evdw Temp
|
||||
0 -5114.6628 -5127.8586 13.195828 -5091.4121 -36.083114 -0.36343598 38.918674 -75.001787 75.119474
|
||||
100 -5114.6621 -5127.6958 13.033777 -5091.2408 -36.09276 -0.36228286 38.769906 -74.862666 74.196973
|
||||
200 -5114.6631 -5127.5945 12.93145 -5091.1508 -36.086669 -0.35708801 38.20076 -74.287429 73.614462
|
||||
300 -5114.6694 -5128.3286 13.65924 -5091.8646 -36.110786 -0.35328159 37.758284 -73.86907 77.757528
|
||||
400 -5114.6614 -5127.6424 12.980975 -5091.2348 -36.049634 -0.35794328 38.247252 -74.296886 73.896389
|
||||
500 -5114.66 -5127.4098 12.749794 -5090.9285 -36.119571 -0.36174976 38.745548 -74.865119 72.580351
|
||||
600 -5114.6673 -5128.0913 13.424021 -5091.6339 -36.09384 -0.36356991 38.927401 -75.021241 76.418503
|
||||
700 -5114.661 -5127.7467 13.085707 -5091.2811 -36.106639 -0.35892399 38.332616 -74.439255 74.492596
|
||||
800 -5114.6623 -5128.013 13.350778 -5091.5694 -36.089718 -0.35392503 37.851602 -73.94132 76.001554
|
||||
900 -5114.6675 -5128.1497 13.482146 -5091.6704 -36.124679 -0.35462869 37.885183 -74.009861 76.749392
|
||||
1000 -5114.6683 -5128.3365 13.668146 -5091.937 -36.037596 -0.36184347 38.709718 -74.747314 77.808228
|
||||
Loop time of 207.028 on 1 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 0.417 ns/day, 57.508 hours/ns, 4.830 timesteps/s
|
||||
99.9% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 206.9 | 206.9 | 206.9 | 0.0 | 99.94
|
||||
Bond | 0.00019169 | 0.00019169 | 0.00019169 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.081397 | 0.081397 | 0.081397 | 0.0 | 0.04
|
||||
Output | 0.00036597 | 0.00036597 | 0.00036597 | 0.0 | 0.00
|
||||
Modify | 0.033408 | 0.033408 | 0.033408 | 0.0 | 0.02
|
||||
Other | | 0.01615 | | | 0.01
|
||||
|
||||
Nlocal: 1360 ave 1360 max 1360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7840 ave 7840 max 7840 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 249628 ave 249628 max 249628 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 253390 ave 253390 max 253390 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 253390
|
||||
Ave neighs/atom = 186.316
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:03:27
|
|
@ -0,0 +1,154 @@
|
|||
LAMMPS (31 Jul 2019)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
read_data hBN_AB_stack_2L_noH_equi_300K.data
|
||||
orthogonal box = (0 0 0) to (43.38 42.5773 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
reading velocities ...
|
||||
1360 velocities
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000332117 secs
|
||||
read_data CPU = 0.00270581 secs
|
||||
mass 1 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 2 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
mass 3 10.8110 # boron mass (g/mole) | membrane
|
||||
mass 4 14.0067 # nitrogen mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1 2
|
||||
680 atoms in group membrane
|
||||
group adsorbate type 3 4
|
||||
680 atoms in group adsorbate
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay tersoff ilp/graphene/hbn 16.0 coul/shield 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * tersoff BNC.tersoff NULL NULL B N # chemical
|
||||
Reading potential file BNC.tersoff with DATE: 2013-03-21
|
||||
pair_coeff * * ilp/graphene/hbn BNCH-old.ILP B N B N # long range
|
||||
pair_coeff 1 3 coul/shield 0.70
|
||||
pair_coeff 1 4 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 3 coul/shield 0.69498201415576216335
|
||||
pair_coeff 2 4 coul/shield 0.69
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
#velocity adsorbate create 300.0 12345
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
|
||||
compute 0 all pair tersoff
|
||||
compute 1 all pair coul/shield ecoul
|
||||
compute 2 all pair ilp/graphene/hbn
|
||||
variable Tersoff equal c_0
|
||||
variable Ecoul equal c_1
|
||||
variable ILP equal c_2
|
||||
variable Evdw equal c_2[1]
|
||||
variable Erep equal c_2[2]
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_Tersoff v_ILP v_Ecoul v_Erep v_Evdw temp
|
||||
thermo_modify lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
5 neighbor lists, perpetual/occasional/extra = 5 0 0
|
||||
(1) pair tersoff, perpetual, skip from (4)
|
||||
attributes: full, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(2) pair ilp/graphene/hbn, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(3) pair coul/shield, perpetual, skip from (5)
|
||||
attributes: half, newton on
|
||||
pair build: skip
|
||||
stencil: none
|
||||
bin: none
|
||||
(4) neighbor class addition, perpetual, copy from (2)
|
||||
attributes: full, newton on
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
(5) neighbor class addition, perpetual, half/full from (4)
|
||||
attributes: half, newton on
|
||||
pair build: halffull/newton
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 28.9 | 28.9 | 28.9 Mbytes
|
||||
Step TotEng PotEng KinEng v_Tersoff v_ILP v_Ecoul v_Erep v_Evdw Temp
|
||||
0 -5114.6628 -5127.8586 13.195828 -5091.4121 -36.083114 -0.36343598 38.918674 -75.001787 75.119474
|
||||
100 -5114.6621 -5127.6958 13.033777 -5091.2408 -36.09276 -0.36228286 38.769906 -74.862666 74.196973
|
||||
200 -5114.6631 -5127.5945 12.93145 -5091.1508 -36.086669 -0.35708801 38.20076 -74.287429 73.614462
|
||||
300 -5114.6694 -5128.3286 13.65924 -5091.8646 -36.110786 -0.35328159 37.758284 -73.86907 77.757528
|
||||
400 -5114.6614 -5127.6424 12.980975 -5091.2348 -36.049634 -0.35794328 38.247252 -74.296886 73.896389
|
||||
500 -5114.66 -5127.4098 12.749794 -5090.9285 -36.119571 -0.36174976 38.745548 -74.865119 72.580351
|
||||
600 -5114.6673 -5128.0913 13.424021 -5091.6339 -36.09384 -0.36356991 38.927401 -75.021241 76.418503
|
||||
700 -5114.661 -5127.7467 13.085707 -5091.2811 -36.106639 -0.35892399 38.332616 -74.439255 74.492596
|
||||
800 -5114.6623 -5128.013 13.350778 -5091.5694 -36.089718 -0.35392503 37.851602 -73.94132 76.001554
|
||||
900 -5114.6675 -5128.1497 13.482146 -5091.6704 -36.124679 -0.35462869 37.885183 -74.009861 76.749392
|
||||
1000 -5114.6683 -5128.3365 13.668146 -5091.937 -36.037596 -0.36184347 38.709718 -74.747314 77.808228
|
||||
Loop time of 65.9005 on 4 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 1.311 ns/day, 18.306 hours/ns, 15.174 timesteps/s
|
||||
98.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 63.244 | 64.208 | 65.281 | 10.1 | 97.43
|
||||
Bond | 0.00013971 | 0.00017679 | 0.00022101 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.58237 | 1.6612 | 2.6292 | 63.1 | 2.52
|
||||
Output | 0.0003171 | 0.00062358 | 0.0015192 | 0.0 | 0.00
|
||||
Modify | 0.010251 | 0.010509 | 0.01075 | 0.2 | 0.02
|
||||
Other | | 0.02025 | | | 0.03
|
||||
|
||||
Nlocal: 340 ave 346 max 336 min
|
||||
Histogram: 1 0 1 0 1 0 0 0 0 1
|
||||
Nghost: 4537.5 ave 4540 max 4534 min
|
||||
Histogram: 1 0 0 0 0 0 2 0 0 1
|
||||
Neighs: 62407 ave 62413 max 62402 min
|
||||
Histogram: 1 0 0 1 1 0 0 0 0 1
|
||||
FullNghs: 63347.5 ave 65585 max 61866 min
|
||||
Histogram: 1 1 0 1 0 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 253926
|
||||
Ave neighs/atom = 186.71
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:01:06
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1 @@
|
|||
../../../../potentials/CH.KC
|
|
@ -0,0 +1 @@
|
|||
../../../../potentials/CH_taper.KC
|
|
@ -5,21 +5,22 @@ atom_style full
|
|||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use 2 atom types so that inter- and intra-layer
|
||||
# we use different molecule ids for each layer of hBN
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
# read lammps data file
|
||||
read_data Bi_gr_AB_stack_2L_noH_300K.data
|
||||
|
||||
read_data Bi_gr_AB_stack_2L_noH.data
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group membrane type 1
|
||||
group adsorbate type 2
|
||||
group layer1 molecule 1
|
||||
group layer2 molecule 2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.rebo NULL C # chemical
|
||||
pair_coeff * * kolmogorov/crespi/full CC.KC-full C C # long range
|
||||
pair_coeff * * rebo CH.rebo C C # chemical
|
||||
pair_coeff * * kolmogorov/crespi/full CH_taper.KC C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
|
@ -27,34 +28,25 @@ neigh_modify every 1
|
|||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
# calculate the COM
|
||||
variable adsxcom equal xcm(adsorbate,x)
|
||||
variable adsycom equal xcm(adsorbate,y)
|
||||
variable adszcom equal xcm(adsorbate,z)
|
||||
variable adsvxcom equal vcm(adsorbate,x)
|
||||
variable adsvycom equal vcm(adsorbate,y)
|
||||
variable adsvzcom equal vcm(adsorbate,z)
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
fix subf membrane setforce 0.0 0.0 0.0
|
||||
fix thermostat all nve
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair kolmogorov/crespi/full
|
||||
variable REBO equal c_0
|
||||
variable KC equal c_1
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair kolmogorov/crespi/full
|
||||
variable REBO equal c_0 # REBO energy
|
||||
variable KC equal c_1 # total interlayer energy
|
||||
variable Evdw equal c_1[1] # attractive energy
|
||||
variable Erep equal c_1[2] # repulsive energy
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step etotal pe ke v_REBO v_KC temp v_adsxcom v_adsycom v_adszcom v_adsvxcom v_adsvycom v_adsvzcom
|
||||
thermo_modify line one format float %.10f
|
||||
thermo_modify flush yes norm no lost warn #ignore
|
||||
|
||||
#dump 1 all custom 1000 traj.lammpstrj id mol type xu yu zu
|
||||
#dump_modify 1 format line "%7d %3d %3d %15.10g %15.10g %15.10g" flush yes
|
||||
thermo_style custom step cpu etotal pe ke v_REBO v_KC v_Erep v_Evdw temp
|
||||
thermo_modify line one format float %.16f
|
||||
thermo_modify flush yes norm no lost warn
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
run 1000
|
||||
fix thermostat all nve
|
||||
run 1000
|
||||
|
|
|
@ -0,0 +1,129 @@
|
|||
LAMMPS (5 Jun 2019)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer of hBN
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
|
||||
read_data Bi_gr_AB_stack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (42.6 41.8117 100)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000143357 secs
|
||||
read_data CPU = 0.00128686 secs
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group layer1 molecule 1
|
||||
680 atoms in group layer1
|
||||
group layer2 molecule 2
|
||||
680 atoms in group layer2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.rebo C C # chemical
|
||||
Reading potential file CH.rebo with DATE: 2018-7-3
|
||||
pair_coeff * * kolmogorov/crespi/full CH_taper.KC C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair kolmogorov/crespi/full
|
||||
variable REBO equal c_0 # REBO energy
|
||||
variable KC equal c_1 # total interlayer energy
|
||||
variable Evdw equal c_1[1] # attractive energy
|
||||
variable Erep equal c_1[2] # repulsive energy
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step cpu etotal pe ke v_REBO v_KC v_Erep v_Evdw temp
|
||||
thermo_modify line one format float %.16f
|
||||
thermo_modify flush yes norm no lost warn
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
fix thermostat all nve
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair rebo, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(2) pair kolmogorov/crespi/full, perpetual, copy from (1)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 17.21 | 17.21 | 17.21 Mbytes
|
||||
Step CPU TotEng PotEng KinEng v_REBO v_KC v_Erep v_Evdw Temp
|
||||
0 0.0000000000000000 -10037.7640583248121402 -10090.4634194413119985 52.6993611164999436 -10057.1894932863488066 -33.2739261549639664 35.9559834316876348 -69.2299095866357561 299.9999999999996589
|
||||
100 5.3877589240437374 -10037.5122858156355505 -10065.4637593850693520 27.9514735694345475 -10032.2132655062632693 -33.2504938788055995 25.2100699045900747 -58.4605637833913789 159.1184768311149185
|
||||
200 10.7755050340201706 -10037.4414086674350983 -10061.6271012692632212 24.1856926018286202 -10028.9093252939674130 -32.7177759752951403 18.5366534598604176 -51.2544294351563394 137.6811336385792970
|
||||
300 16.1665089030284435 -10037.4824653300311184 -10064.2845326005663082 26.8020672705344225 -10030.9195389405322203 -33.3649936600345924 26.3639208740001152 -59.7289145340284122 152.5752876469470891
|
||||
400 21.5454839280573651 -10037.5105626329259394 -10064.8769084956420556 27.3663458627154164 -10031.8478821022799821 -33.0290263933626349 36.6142885774199272 -69.6433149707719963 155.7875386888538571
|
||||
500 26.9370588400634006 -10037.5010433785082569 -10064.8363209936451312 27.3352776151367571 -10031.4417172103931080 -33.3946037832518243 26.2980262321670750 -59.6926300154142595 155.6106774503846850
|
||||
600 32.4204196080099791 -10037.4817772372425679 -10064.1925798287738871 26.7108025915316247 -10031.4376178099264507 -32.7549620188478201 18.5745873777024606 -51.3295493965519327 152.0557480714992380
|
||||
700 37.8001567909959704 -10037.4834430268438155 -10064.1291975032218033 26.6457544763788299 -10030.8722888097800023 -33.2569086934421492 25.2322818106646771 -58.4891905041015008 151.6854507067418467
|
||||
800 43.1622281169984490 -10037.5047888097760733 -10064.8671187128948077 27.3623299031188978 -10031.9815058608437539 -32.8856128520517217 36.5236695083771536 -69.4092823604148350 155.7646771616279011
|
||||
900 48.5261204120470211 -10037.5068323940176924 -10065.3998155271074211 27.8929831330889542 -10032.1734374829957233 -33.2263780441125931 27.7314849391008309 -60.9578629832065317 158.7855101588076820
|
||||
1000 53.8888844919856638 -10037.4811494880468672 -10064.0099109142265661 26.5287614261789670 -10031.3325267421259923 -32.6773841721003464 18.9005970229871600 -51.5779811950879434 151.0194480396057202
|
||||
Loop time of 53.8889 on 1 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 1.603 ns/day, 14.969 hours/ns, 18.557 timesteps/s
|
||||
100.0% CPU use with 1 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 53.836 | 53.836 | 53.836 | 0.0 | 99.90
|
||||
Bond | 0.00043479 | 0.00043479 | 0.00043479 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.032452 | 0.032452 | 0.032452 | 0.0 | 0.06
|
||||
Output | 0.00058326 | 0.00058326 | 0.00058326 | 0.0 | 0.00
|
||||
Modify | 0.0094135 | 0.0094135 | 0.0094135 | 0.0 | 0.02
|
||||
Other | | 0.009815 | | | 0.02
|
||||
|
||||
Nlocal: 1360 ave 1360 max 1360 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7964 ave 7964 max 7964 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 1.037e+06 ave 1.037e+06 max 1.037e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1037000
|
||||
Ave neighs/atom = 762.5
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:54
|
|
@ -0,0 +1,129 @@
|
|||
LAMMPS (5 Jun 2019)
|
||||
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (../comm.cpp:88)
|
||||
using 1 OpenMP thread(s) per MPI task
|
||||
# Initialization
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style full
|
||||
processors * * 1 # domain decomposition over x and y
|
||||
|
||||
# System and atom definition
|
||||
# we use different molecule ids for each layer of hBN
|
||||
# so that inter- and intra-layer
|
||||
# interactions can be specified separately
|
||||
|
||||
read_data Bi_gr_AB_stack_2L_noH.data
|
||||
orthogonal box = (0 0 0) to (42.6 41.8117 100)
|
||||
2 by 2 by 1 MPI processor grid
|
||||
reading atoms ...
|
||||
1360 atoms
|
||||
0 = max # of 1-2 neighbors
|
||||
0 = max # of 1-3 neighbors
|
||||
0 = max # of 1-4 neighbors
|
||||
1 = max # of special neighbors
|
||||
special bonds CPU = 0.000245051 secs
|
||||
read_data CPU = 0.00257704 secs
|
||||
mass 1 12.0107 # carbon mass (g/mole) | membrane
|
||||
mass 2 12.0107 # carbon mass (g/mole) | adsorbate
|
||||
# Separate atom groups
|
||||
group layer1 molecule 1
|
||||
680 atoms in group layer1
|
||||
group layer2 molecule 2
|
||||
680 atoms in group layer2
|
||||
|
||||
######################## Potential defition ########################
|
||||
pair_style hybrid/overlay rebo kolmogorov/crespi/full 16.0 1
|
||||
####################################################################
|
||||
pair_coeff * * rebo CH.rebo C C # chemical
|
||||
Reading potential file CH.rebo with DATE: 2018-7-3
|
||||
pair_coeff * * kolmogorov/crespi/full CH_taper.KC C C # long range
|
||||
####################################################################
|
||||
# Neighbor update settings
|
||||
neighbor 2.0 bin
|
||||
neigh_modify every 1
|
||||
neigh_modify delay 0
|
||||
neigh_modify check yes
|
||||
|
||||
#### Simulation settings ####
|
||||
timestep 0.001
|
||||
velocity all create 300.0 12345
|
||||
|
||||
compute 0 all pair rebo
|
||||
compute 1 all pair kolmogorov/crespi/full
|
||||
variable REBO equal c_0 # REBO energy
|
||||
variable KC equal c_1 # total interlayer energy
|
||||
variable Evdw equal c_1[1] # attractive energy
|
||||
variable Erep equal c_1[2] # repulsive energy
|
||||
|
||||
############################
|
||||
|
||||
# Output
|
||||
thermo 100
|
||||
thermo_style custom step cpu etotal pe ke v_REBO v_KC v_Erep v_Evdw temp
|
||||
thermo_modify line one format float %.16f
|
||||
thermo_modify flush yes norm no lost warn
|
||||
|
||||
###### Run molecular dynamics ######
|
||||
fix thermostat all nve
|
||||
run 1000
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 18
|
||||
ghost atom cutoff = 18
|
||||
binsize = 9, bins = 5 5 12
|
||||
2 neighbor lists, perpetual/occasional/extra = 2 0 0
|
||||
(1) pair rebo, perpetual
|
||||
attributes: full, newton on, ghost
|
||||
pair build: full/bin/ghost
|
||||
stencil: full/ghost/bin/3d
|
||||
bin: standard
|
||||
(2) pair kolmogorov/crespi/full, perpetual, copy from (1)
|
||||
attributes: full, newton on, ghost
|
||||
pair build: copy
|
||||
stencil: none
|
||||
bin: none
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.878 | 9.878 | 9.878 Mbytes
|
||||
Step CPU TotEng PotEng KinEng v_REBO v_KC v_Erep v_Evdw Temp
|
||||
0 0.0000000000000000 -10037.7640583250176860 -10090.4634194415175443 52.6993611164999933 -10057.1894932866325689 -33.2739261548851388 35.9559834317043467 -69.2299095866038954 299.9999999999999432
|
||||
100 1.5180600649910048 -10037.5122858156355505 -10065.4637593850711710 27.9514735694348637 -10032.2132655062741833 -33.2504938787968172 25.2100699046001573 -58.4605637833912795 159.1184768311167090
|
||||
200 3.0089348420733586 -10037.4414086674296414 -10061.6271012692577642 24.1856926018279914 -10028.9093252939601371 -32.7177759752976272 18.5366534598677504 -51.2544294351567515 137.6811336385757158
|
||||
300 4.5315427089808509 -10037.4824653300020145 -10064.2845326005372044 26.8020672705348311 -10030.9195389405158494 -33.3649936600211205 26.3639208740115549 -59.7289145340278722 152.5752876469494197
|
||||
400 6.0353655620710924 -10037.5105626329095685 -10064.8769084956238657 27.3663458627148124 -10031.8478821022818011 -33.0290263933414394 36.6142885774347562 -69.6433149707726074 155.7875386888504181
|
||||
500 7.5396006110822782 -10037.5010433784900670 -10064.8363209936269413 27.3352776151361780 -10031.4417172103858320 -33.3946037832416351 26.2980262321774489 -59.6926300154146787 155.6106774503813881
|
||||
600 9.2617433650884777 -10037.4817772372534819 -10064.1925798287848011 26.7108025915320830 -10031.4376178099319077 -32.7549620188514226 18.5745873777100208 -51.3295493965524017 152.0557480715018528
|
||||
700 10.7484918619738892 -10037.4834430268347205 -10064.1291975032127084 26.6457544763787268 -10030.8722888097836403 -33.2569086934306739 25.2322818106757047 -58.4891905041008613 151.6854507067412499
|
||||
800 12.2509897360578179 -10037.5047888097869873 -10064.8671187129039026 27.3623299031166667 -10031.9815058608728577 -32.8856128520297801 36.5236695083899718 -69.4092823604150908 155.7646771616151966
|
||||
900 13.7584852169966325 -10037.5068323939758557 -10065.3998155270637653 27.8929831330881477 -10032.1734374829648004 -33.2263780440982259 27.7314849391120788 -60.9578629832060841 158.7855101588031062
|
||||
1000 15.2755981830414385 -10037.4811494880432292 -10064.0099109142211091 26.5287614261777058 -10031.3325267421205353 -32.6773841721017888 18.9005970229946634 -51.5779811950868776 151.0194480395985295
|
||||
Loop time of 15.2757 on 4 procs for 1000 steps with 1360 atoms
|
||||
|
||||
Performance: 5.656 ns/day, 4.243 hours/ns, 65.464 timesteps/s
|
||||
99.9% CPU use with 4 MPI tasks x 1 OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 13.985 | 14.446 | 14.823 | 7.9 | 94.57
|
||||
Bond | 0.00040979 | 0.00042456 | 0.00046059 | 0.0 | 0.00
|
||||
Neigh | 0 | 0 | 0 | 0.0 | 0.00
|
||||
Comm | 0.43692 | 0.81428 | 1.2749 | 33.2 | 5.33
|
||||
Output | 0.00028016 | 0.00037143 | 0.00063561 | 0.0 | 0.00
|
||||
Modify | 0.0045586 | 0.0046468 | 0.0047903 | 0.1 | 0.03
|
||||
Other | | 0.01041 | | | 0.07
|
||||
|
||||
Nlocal: 340 ave 340 max 340 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 4628 ave 4628 max 4628 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 259250 ave 259250 max 259250 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1037000
|
||||
Ave neighs/atom = 762.5
|
||||
Ave special neighs/atom = 0
|
||||
Neighbor list builds = 0
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:15
|
|
@ -0,0 +1,107 @@
|
|||
LAMMPS (7 Aug 2019)
|
||||
# 3d Lennard-Jones melt
|
||||
#
|
||||
# This example requires that the example models provided with
|
||||
# the kim-api package are installed. see the ./lib/kim/README or
|
||||
# ./lib/kim/Install.py files for details on how to install these
|
||||
# example models.
|
||||
#
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
variable xx equal 20*$x
|
||||
variable xx equal 20*1
|
||||
variable yy equal 20*$y
|
||||
variable yy equal 20*1
|
||||
variable zz equal 20*$z
|
||||
variable zz equal 20*1
|
||||
|
||||
kim_init LennardJones_Ar real
|
||||
#=== BEGIN kim-init ==========================================
|
||||
units real
|
||||
#=== END kim-init ============================================
|
||||
|
||||
|
||||
lattice fcc 4.4300
|
||||
Lattice spacing in x,y,z = 4.43 4.43 4.43
|
||||
region box block 0 ${xx} 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 20 0 ${zz}
|
||||
region box block 0 20 0 20 0 20
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (88.6 88.6 88.6)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 32000 atoms
|
||||
create_atoms CPU = 0.004321 secs
|
||||
|
||||
kim_interactions Ar
|
||||
#=== BEGIN kim_interactions ==================================
|
||||
pair_style kim LennardJones_Ar
|
||||
WARNING: KIM Model does not provide `partialParticleEnergy'; energy per atom will be zero (../pair_kim.cpp:974)
|
||||
WARNING: KIM Model does not provide `partialParticleVirial'; virial per atom will be zero (../pair_kim.cpp:979)
|
||||
pair_coeff * * Ar
|
||||
#=== END kim_interactions ====================================
|
||||
|
||||
|
||||
mass 1 39.95
|
||||
velocity all create 200.0 232345 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 1 all nve
|
||||
#fix 1 all npt temp 1.0 1.0 1.0 iso 1.0 1.0 3.0
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 8.45
|
||||
ghost atom cutoff = 8.45
|
||||
binsize = 4.225, bins = 21 21 21
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair kim, perpetual
|
||||
attributes: full, newton off, cut 8.45
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Setting up Verlet run ...
|
||||
Unit style : real
|
||||
Current step : 0
|
||||
Time step : 1
|
||||
Per MPI rank memory allocation (min/avg/max) = 28.12 | 28.12 | 28.12 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 200 145069.63 0 164146.22 128015.94
|
||||
100 95.179703 154939.42 0 164017.94 131602.75
|
||||
Loop time of 3.48256 on 1 procs for 100 steps with 32000 atoms
|
||||
|
||||
Performance: 2.481 ns/day, 9.674 hours/ns, 28.715 timesteps/s
|
||||
98.3% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 3.0502 | 3.0502 | 3.0502 | 0.0 | 87.59
|
||||
Neigh | 0.3646 | 0.3646 | 0.3646 | 0.0 | 10.47
|
||||
Comm | 0.01783 | 0.01783 | 0.01783 | 0.0 | 0.51
|
||||
Output | 6.8e-05 | 6.8e-05 | 6.8e-05 | 0.0 | 0.00
|
||||
Modify | 0.034349 | 0.034349 | 0.034349 | 0.0 | 0.99
|
||||
Other | | 0.01547 | | | 0.44
|
||||
|
||||
Nlocal: 32000 ave 32000 max 32000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 19911 ave 19911 max 19911 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 4.25375e+06 ave 4.25375e+06 max 4.25375e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 4253750
|
||||
Ave neighs/atom = 132.93
|
||||
Neighbor list builds = 3
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:03
|
|
@ -0,0 +1,113 @@
|
|||
LAMMPS (7 Aug 2019)
|
||||
# 3d Lennard-Jones melt
|
||||
#
|
||||
# This example requires that the example models provided with
|
||||
# the kim-api package are installed. see the ./lib/kim/README or
|
||||
# ./lib/kim/Install.py files for details on how to install these
|
||||
# example models.
|
||||
#
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
variable xx equal 20*$x
|
||||
variable xx equal 20*1
|
||||
variable yy equal 20*$y
|
||||
variable yy equal 20*1
|
||||
variable zz equal 20*$z
|
||||
variable zz equal 20*1
|
||||
|
||||
kim_init LennardJones_Ar real
|
||||
#=== BEGIN kim-init ==========================================
|
||||
units real
|
||||
#=== END kim-init ============================================
|
||||
|
||||
|
||||
lattice fcc 4.4300
|
||||
Lattice spacing in x,y,z = 4.43 4.43 4.43
|
||||
region box block 0 ${xx} 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 20 0 ${zz}
|
||||
region box block 0 20 0 20 0 20
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (88.6 88.6 88.6)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 32000 atoms
|
||||
create_atoms CPU = 0.000989 secs
|
||||
|
||||
kim_interactions Ar
|
||||
#=== BEGIN kim_interactions ==================================
|
||||
pair_style kim LennardJones_Ar
|
||||
WARNING: KIM Model does not provide `partialParticleEnergy'; energy per atom will be zero (../pair_kim.cpp:974)
|
||||
WARNING: KIM Model does not provide `partialParticleVirial'; virial per atom will be zero (../pair_kim.cpp:979)
|
||||
pair_coeff * * Ar
|
||||
WARNING: KIM Model does not provide `partialParticleEnergy'; energy per atom will be zero (../pair_kim.cpp:974)
|
||||
WARNING: KIM Model does not provide `partialParticleVirial'; virial per atom will be zero (../pair_kim.cpp:979)
|
||||
#=== END kim_interactions ====================================
|
||||
|
||||
|
||||
mass 1 39.95
|
||||
velocity all create 200.0 232345 loop geom
|
||||
WARNING: KIM Model does not provide `partialParticleEnergy'; energy per atom will be zero (../pair_kim.cpp:974)
|
||||
WARNING: KIM Model does not provide `partialParticleVirial'; virial per atom will be zero (../pair_kim.cpp:979)
|
||||
WARNING: KIM Model does not provide `partialParticleEnergy'; energy per atom will be zero (../pair_kim.cpp:974)
|
||||
WARNING: KIM Model does not provide `partialParticleVirial'; virial per atom will be zero (../pair_kim.cpp:979)
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 1 all nve
|
||||
#fix 1 all npt temp 1.0 1.0 1.0 iso 1.0 1.0 3.0
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 8.45
|
||||
ghost atom cutoff = 8.45
|
||||
binsize = 4.225, bins = 21 21 21
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair kim, perpetual
|
||||
attributes: full, newton off, cut 8.45
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Setting up Verlet run ...
|
||||
Unit style : real
|
||||
Current step : 0
|
||||
Time step : 1
|
||||
Per MPI rank memory allocation (min/avg/max) = 9.791 | 9.791 | 9.791 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 200 145069.63 0 164146.22 128015.94
|
||||
100 95.179703 154939.42 0 164017.94 131602.75
|
||||
Loop time of 0.924494 on 4 procs for 100 steps with 32000 atoms
|
||||
|
||||
Performance: 9.346 ns/day, 2.568 hours/ns, 108.167 timesteps/s
|
||||
99.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.76434 | 0.76847 | 0.77207 | 0.3 | 83.12
|
||||
Neigh | 0.09089 | 0.094446 | 0.099911 | 1.1 | 10.22
|
||||
Comm | 0.038599 | 0.044759 | 0.051381 | 2.1 | 4.84
|
||||
Output | 3.5e-05 | 4e-05 | 4.9e-05 | 0.0 | 0.00
|
||||
Modify | 0.009396 | 0.009685 | 0.009941 | 0.2 | 1.05
|
||||
Other | | 0.00709 | | | 0.77
|
||||
|
||||
Nlocal: 8000 ave 8018 max 7967 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
Nghost: 9131 ave 9164 max 9113 min
|
||||
Histogram: 2 0 0 1 0 0 0 0 0 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 1.06344e+06 ave 1.06594e+06 max 1.05881e+06 min
|
||||
Histogram: 1 0 0 0 0 0 1 0 0 2
|
||||
|
||||
Total # of neighbors = 4253750
|
||||
Ave neighs/atom = 132.93
|
||||
Neighbor list builds = 3
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
|
@ -0,0 +1,124 @@
|
|||
LAMMPS (7 Aug 2019)
|
||||
# 3d Lennard-Jones melt
|
||||
#
|
||||
# This example requires that the KIM Portable Model (PM)
|
||||
# SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
# is installed. This can be done with the command
|
||||
# kim-api-collections-management install user SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
# If this command does not work, you may need to setup your PATH to find the utility.
|
||||
# If you installed the kim-api using the LAMMPS CMake build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS build directory)
|
||||
# source ./kim_build-prefix/bin/kim-api-activate
|
||||
# If you installed the kim-api using the LAMMPS Make build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS src directory)
|
||||
# source ../lib/kim/installed-kim-api-X.Y.Z/bin/kim-api-activate
|
||||
# (where you should relplace X.Y.Z with the appropriate kim-api version number).
|
||||
#
|
||||
# Or, see https://openkim.org/doc/obtaining-models for alternative options.
|
||||
#
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
variable xx equal 20*$x
|
||||
variable xx equal 20*1
|
||||
variable yy equal 20*$y
|
||||
variable yy equal 20*1
|
||||
variable zz equal 20*$z
|
||||
variable zz equal 20*1
|
||||
|
||||
kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 real
|
||||
#=== BEGIN kim-init ==========================================
|
||||
units real
|
||||
#=== END kim-init ============================================
|
||||
|
||||
kim_query a0 get_lattice_constant_cubic crystal=["fcc"] species=["Si"] units=["angstrom"]
|
||||
#=== BEGIN kim-query =========================================
|
||||
variable a0 string 4.146581932902336
|
||||
#=== END kim-query ===========================================
|
||||
|
||||
|
||||
lattice fcc ${a0}
|
||||
lattice fcc 4.146581932902336
|
||||
Lattice spacing in x,y,z = 4.14658 4.14658 4.14658
|
||||
region box block 0 ${xx} 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 20 0 ${zz}
|
||||
region box block 0 20 0 20 0 20
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (82.9316 82.9316 82.9316)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 32000 atoms
|
||||
create_atoms CPU = 0.005415 secs
|
||||
|
||||
kim_interactions Si
|
||||
#=== BEGIN kim_interactions ==================================
|
||||
pair_style kim SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
pair_coeff * * Si
|
||||
#=== END kim_interactions ====================================
|
||||
|
||||
|
||||
mass 1 39.95
|
||||
velocity all create 200.0 232345 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 1 all nve
|
||||
#fix 1 all npt temp 1.0 1.0 1.0 iso 1.0 1.0 3.0
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.07118
|
||||
ghost atom cutoff = 4.07118
|
||||
binsize = 2.03559, bins = 41 41 41
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair kim, perpetual
|
||||
attributes: full, newton off, cut 4.07118
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Setting up Verlet run ...
|
||||
Unit style : real
|
||||
Current step : 0
|
||||
Time step : 1
|
||||
Per MPI rank memory allocation (min/avg/max) = 10.36 | 10.36 | 10.36 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 200 -126084.25 0 -107007.66 1528.8768
|
||||
100 94.450495 -116016.03 0 -107007.07 2282.2685
|
||||
Loop time of 74.6055 on 1 procs for 100 steps with 32000 atoms
|
||||
|
||||
Performance: 0.116 ns/day, 207.238 hours/ns, 1.340 timesteps/s
|
||||
98.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 | 74.446 | 74.446 | 74.446 | 0.0 | 99.79
|
||||
Neigh | 0.096611 | 0.096611 | 0.096611 | 0.0 | 0.13
|
||||
Comm | 0.014594 | 0.014594 | 0.014594 | 0.0 | 0.02
|
||||
Output | 7.9e-05 | 7.9e-05 | 7.9e-05 | 0.0 | 0.00
|
||||
Modify | 0.03454 | 0.03454 | 0.03454 | 0.0 | 0.05
|
||||
Other | | 0.01396 | | | 0.02
|
||||
|
||||
Nlocal: 32000 ave 32000 max 32000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 9667 ave 9667 max 9667 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 450192 ave 450192 max 450192 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 450192
|
||||
Ave neighs/atom = 14.0685
|
||||
Neighbor list builds = 3
|
||||
Dangerous builds = 0
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:01:16
|
|
@ -0,0 +1,124 @@
|
|||
LAMMPS (7 Aug 2019)
|
||||
# 3d Lennard-Jones melt
|
||||
#
|
||||
# This example requires that the KIM Portable Model (PM)
|
||||
# SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
# is installed. This can be done with the command
|
||||
# kim-api-collections-management install user SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
# If this command does not work, you may need to setup your PATH to find the utility.
|
||||
# If you installed the kim-api using the LAMMPS CMake build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS build directory)
|
||||
# source ./kim_build-prefix/bin/kim-api-activate
|
||||
# If you installed the kim-api using the LAMMPS Make build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS src directory)
|
||||
# source ../lib/kim/installed-kim-api-X.Y.Z/bin/kim-api-activate
|
||||
# (where you should relplace X.Y.Z with the appropriate kim-api version number).
|
||||
#
|
||||
# Or, see https://openkim.org/doc/obtaining-models for alternative options.
|
||||
#
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
variable xx equal 20*$x
|
||||
variable xx equal 20*1
|
||||
variable yy equal 20*$y
|
||||
variable yy equal 20*1
|
||||
variable zz equal 20*$z
|
||||
variable zz equal 20*1
|
||||
|
||||
kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 real
|
||||
#=== BEGIN kim-init ==========================================
|
||||
units real
|
||||
#=== END kim-init ============================================
|
||||
|
||||
kim_query a0 get_lattice_constant_cubic crystal=["fcc"] species=["Si"] units=["angstrom"]
|
||||
#=== BEGIN kim-query =========================================
|
||||
variable a0 string 4.146581932902336
|
||||
#=== END kim-query ===========================================
|
||||
|
||||
|
||||
lattice fcc ${a0}
|
||||
lattice fcc 4.146581932902336
|
||||
Lattice spacing in x,y,z = 4.14658 4.14658 4.14658
|
||||
region box block 0 ${xx} 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 20 0 ${zz}
|
||||
region box block 0 20 0 20 0 20
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (82.9316 82.9316 82.9316)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 32000 atoms
|
||||
create_atoms CPU = 0.000946 secs
|
||||
|
||||
kim_interactions Si
|
||||
#=== BEGIN kim_interactions ==================================
|
||||
pair_style kim SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
pair_coeff * * Si
|
||||
#=== END kim_interactions ====================================
|
||||
|
||||
|
||||
mass 1 39.95
|
||||
velocity all create 200.0 232345 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 1 all nve
|
||||
#fix 1 all npt temp 1.0 1.0 1.0 iso 1.0 1.0 3.0
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.07118
|
||||
ghost atom cutoff = 4.07118
|
||||
binsize = 2.03559, bins = 41 41 41
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair kim, perpetual
|
||||
attributes: full, newton off, cut 4.07118
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Setting up Verlet run ...
|
||||
Unit style : real
|
||||
Current step : 0
|
||||
Time step : 1
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.489 | 3.489 | 3.489 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 200 -126084.25 0 -107007.66 1528.8768
|
||||
100 94.450495 -116016.03 0 -107007.07 2282.2685
|
||||
Loop time of 19.0792 on 4 procs for 100 steps with 32000 atoms
|
||||
|
||||
Performance: 0.453 ns/day, 52.998 hours/ns, 5.241 timesteps/s
|
||||
99.4% CPU use with 4 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 18.78 | 18.855 | 18.937 | 1.5 | 98.83
|
||||
Neigh | 0.026047 | 0.026274 | 0.0266 | 0.1 | 0.14
|
||||
Comm | 0.09039 | 0.17196 | 0.24675 | 15.9 | 0.90
|
||||
Output | 3.9e-05 | 4.975e-05 | 6.1e-05 | 0.0 | 0.00
|
||||
Modify | 0.015667 | 0.015819 | 0.016008 | 0.1 | 0.08
|
||||
Other | | 0.01008 | | | 0.05
|
||||
|
||||
Nlocal: 8000 ave 8029 max 7968 min
|
||||
Histogram: 1 1 0 0 0 0 0 0 0 2
|
||||
Nghost: 4259 ave 4303 max 4202 min
|
||||
Histogram: 1 0 0 0 0 0 2 0 0 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 112548 ave 113091 max 111995 min
|
||||
Histogram: 1 0 0 1 0 0 0 1 0 1
|
||||
|
||||
Total # of neighbors = 450192
|
||||
Ave neighs/atom = 14.0685
|
||||
Neighbor list builds = 3
|
||||
Dangerous builds = 0
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:20
|
|
@ -0,0 +1,118 @@
|
|||
LAMMPS (7 Aug 2019)
|
||||
# 3d Lennard-Jones melt
|
||||
#
|
||||
# This example requires that the KIM Portable Model (PM)
|
||||
# SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
# is installed. This can be done with the command
|
||||
# kim-api-collections-management install user SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
# If this command does not work, you may need to setup your PATH to find the utility.
|
||||
# If you installed the kim-api using the LAMMPS CMake build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS build directory)
|
||||
# source ./kim_build-prefix/bin/kim-api-activate
|
||||
# If you installed the kim-api using the LAMMPS Make build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS src directory)
|
||||
# source ../lib/kim/installed-kim-api-X.Y.Z/bin/kim-api-activate
|
||||
# (where you should relplace X.Y.Z with the appropriate kim-api version number).
|
||||
#
|
||||
# Or, see https://openkim.org/doc/obtaining-models for alternative options.
|
||||
#
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
variable xx equal 20*$x
|
||||
variable xx equal 20*1
|
||||
variable yy equal 20*$y
|
||||
variable yy equal 20*1
|
||||
variable zz equal 20*$z
|
||||
variable zz equal 20*1
|
||||
|
||||
kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 real
|
||||
#=== BEGIN kim-init ==========================================
|
||||
units real
|
||||
#=== END kim-init ============================================
|
||||
|
||||
|
||||
lattice fcc 4.4300
|
||||
Lattice spacing in x,y,z = 4.43 4.43 4.43
|
||||
region box block 0 ${xx} 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 20 0 ${zz}
|
||||
region box block 0 20 0 20 0 20
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (88.6 88.6 88.6)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 32000 atoms
|
||||
create_atoms CPU = 0.003591 secs
|
||||
|
||||
kim_interactions Si
|
||||
#=== BEGIN kim_interactions ==================================
|
||||
pair_style kim SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
pair_coeff * * Si
|
||||
#=== END kim_interactions ====================================
|
||||
|
||||
|
||||
mass 1 39.95
|
||||
velocity all create 200.0 232345 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 1 all nve
|
||||
#fix 1 all npt temp 1.0 1.0 1.0 iso 1.0 1.0 3.0
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.07118
|
||||
ghost atom cutoff = 4.07118
|
||||
binsize = 2.03559, bins = 44 44 44
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair kim, perpetual
|
||||
attributes: full, newton off, cut 4.07118
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Setting up Verlet run ...
|
||||
Unit style : real
|
||||
Current step : 0
|
||||
Time step : 1
|
||||
Per MPI rank memory allocation (min/avg/max) = 10.44 | 10.44 | 10.44 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 200 -85249.847 0 -66173.259 -33302.387
|
||||
100 253.43357 -90346.68 0 -66173.441 -14888.698
|
||||
Loop time of 74.248 on 1 procs for 100 steps with 32000 atoms
|
||||
|
||||
Performance: 0.116 ns/day, 206.244 hours/ns, 1.347 timesteps/s
|
||||
98.8% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 74.118 | 74.118 | 74.118 | 0.0 | 99.83
|
||||
Neigh | 0.069623 | 0.069623 | 0.069623 | 0.0 | 0.09
|
||||
Comm | 0.0137 | 0.0137 | 0.0137 | 0.0 | 0.02
|
||||
Output | 7.6e-05 | 7.6e-05 | 7.6e-05 | 0.0 | 0.00
|
||||
Modify | 0.031883 | 0.031883 | 0.031883 | 0.0 | 0.04
|
||||
Other | | 0.01433 | | | 0.02
|
||||
|
||||
Nlocal: 32000 ave 32000 max 32000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 7760 ave 7760 max 7760 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 402352 ave 402352 max 402352 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 402352
|
||||
Ave neighs/atom = 12.5735
|
||||
Neighbor list builds = 4
|
||||
Dangerous builds = 0
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:01:14
|
|
@ -0,0 +1,118 @@
|
|||
LAMMPS (7 Aug 2019)
|
||||
# 3d Lennard-Jones melt
|
||||
#
|
||||
# This example requires that the KIM Portable Model (PM)
|
||||
# SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
# is installed. This can be done with the command
|
||||
# kim-api-collections-management install user SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
# If this command does not work, you may need to setup your PATH to find the utility.
|
||||
# If you installed the kim-api using the LAMMPS CMake build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS build directory)
|
||||
# source ./kim_build-prefix/bin/kim-api-activate
|
||||
# If you installed the kim-api using the LAMMPS Make build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS src directory)
|
||||
# source ../lib/kim/installed-kim-api-X.Y.Z/bin/kim-api-activate
|
||||
# (where you should relplace X.Y.Z with the appropriate kim-api version number).
|
||||
#
|
||||
# Or, see https://openkim.org/doc/obtaining-models for alternative options.
|
||||
#
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
variable xx equal 20*$x
|
||||
variable xx equal 20*1
|
||||
variable yy equal 20*$y
|
||||
variable yy equal 20*1
|
||||
variable zz equal 20*$z
|
||||
variable zz equal 20*1
|
||||
|
||||
kim_init SW_StillingerWeber_1985_Si__MO_405512056662_005 real
|
||||
#=== BEGIN kim-init ==========================================
|
||||
units real
|
||||
#=== END kim-init ============================================
|
||||
|
||||
|
||||
lattice fcc 4.4300
|
||||
Lattice spacing in x,y,z = 4.43 4.43 4.43
|
||||
region box block 0 ${xx} 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 20 0 ${zz}
|
||||
region box block 0 20 0 20 0 20
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (88.6 88.6 88.6)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 32000 atoms
|
||||
create_atoms CPU = 0.000997 secs
|
||||
|
||||
kim_interactions Si
|
||||
#=== BEGIN kim_interactions ==================================
|
||||
pair_style kim SW_StillingerWeber_1985_Si__MO_405512056662_005
|
||||
pair_coeff * * Si
|
||||
#=== END kim_interactions ====================================
|
||||
|
||||
|
||||
mass 1 39.95
|
||||
velocity all create 200.0 232345 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 1 all nve
|
||||
#fix 1 all npt temp 1.0 1.0 1.0 iso 1.0 1.0 3.0
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 4.07118
|
||||
ghost atom cutoff = 4.07118
|
||||
binsize = 2.03559, bins = 44 44 44
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair kim, perpetual
|
||||
attributes: full, newton off, cut 4.07118
|
||||
pair build: full/bin/atomonly
|
||||
stencil: full/bin/3d
|
||||
bin: standard
|
||||
Setting up Verlet run ...
|
||||
Unit style : real
|
||||
Current step : 0
|
||||
Time step : 1
|
||||
Per MPI rank memory allocation (min/avg/max) = 3.517 | 3.517 | 3.517 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 200 -85249.847 0 -66173.259 -33302.387
|
||||
100 253.43357 -90346.68 0 -66173.441 -14888.698
|
||||
Loop time of 19.0287 on 4 procs for 100 steps with 32000 atoms
|
||||
|
||||
Performance: 0.454 ns/day, 52.857 hours/ns, 5.255 timesteps/s
|
||||
99.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 | 18.81 | 18.838 | 18.883 | 0.6 | 99.00
|
||||
Neigh | 0.018598 | 0.01914 | 0.020732 | 0.7 | 0.10
|
||||
Comm | 0.10341 | 0.1475 | 0.17393 | 7.1 | 0.78
|
||||
Output | 6e-05 | 6.225e-05 | 6.7e-05 | 0.0 | 0.00
|
||||
Modify | 0.014839 | 0.014925 | 0.015047 | 0.1 | 0.08
|
||||
Other | | 0.008997 | | | 0.05
|
||||
|
||||
Nlocal: 8000 ave 8014 max 7988 min
|
||||
Histogram: 1 1 0 0 0 0 1 0 0 1
|
||||
Nghost: 3374.75 ave 3389 max 3361 min
|
||||
Histogram: 1 0 1 0 0 0 0 1 0 1
|
||||
Neighs: 0 ave 0 max 0 min
|
||||
Histogram: 4 0 0 0 0 0 0 0 0 0
|
||||
FullNghs: 100588 ave 100856 max 100392 min
|
||||
Histogram: 1 0 1 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 402352
|
||||
Ave neighs/atom = 12.5735
|
||||
Neighbor list builds = 4
|
||||
Dangerous builds = 0
|
||||
|
||||
Please see the log.cite file for references relevant to this simulation
|
||||
|
||||
Total wall time: 0:00:19
|
|
@ -0,0 +1,71 @@
|
|||
LAMMPS (7 Aug 2019)
|
||||
# 3d Lennard-Jones melt
|
||||
#
|
||||
# This example requires that the KIM Simulator Model (PM)
|
||||
# Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000
|
||||
# is installed. This can be done with the command
|
||||
# kim-api-collections-management install user Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000
|
||||
# If this command does not work, you may need to setup your PATH to find the utility.
|
||||
# If you installed the kim-api using the LAMMPS CMake build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS build directory)
|
||||
# source ./kim_build-prefix/bin/kim-api-activate
|
||||
# If you installed the kim-api using the LAMMPS Make build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS src directory)
|
||||
# source ../lib/kim/installed-kim-api-X.Y.Z/bin/kim-api-activate
|
||||
# (where you should relplace X.Y.Z with the appropriate kim-api version number).
|
||||
#
|
||||
# See https://openkim.org/doc/obtaining-models for alternative options.
|
||||
#
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
variable xx equal 20*$x
|
||||
variable xx equal 20*1
|
||||
variable yy equal 20*$y
|
||||
variable yy equal 20*1
|
||||
variable zz equal 20*$z
|
||||
variable zz equal 20*1
|
||||
|
||||
kim_init Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000 real
|
||||
#=== BEGIN kim-init ==========================================
|
||||
# Using KIM Simulator Model : Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000
|
||||
# For Simulator : LAMMPS 28 Feb 2019
|
||||
# Running on : LAMMPS 7 Aug 2019
|
||||
#
|
||||
units real
|
||||
atom_style charge
|
||||
neigh_modify one 4000
|
||||
#=== END kim-init ============================================
|
||||
|
||||
|
||||
lattice fcc 4.4300
|
||||
Lattice spacing in x,y,z = 4.43 4.43 4.43
|
||||
region box block 0 ${xx} 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 20 0 ${zz}
|
||||
region box block 0 20 0 20 0 20
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (88.6 88.6 88.6)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 32000 atoms
|
||||
create_atoms CPU = 0.003447 secs
|
||||
|
||||
kim_interactions O
|
||||
#=== BEGIN kim_interactions ==================================
|
||||
pair_style reax/c /var/tmp/kim-simulator-model-parameter-file-directory-6Acs1QDbXgBx/lmp_control safezone 2.0 mincap 100
|
||||
ERROR: Unrecognized pair style 'reax/c' is part of the USER-REAXC package which is not enabled in this LAMMPS binary. (../force.cpp:262)
|
||||
Last command: pair_style reax/c /var/tmp/kim-simulator-model-parameter-file-directory-6Acs1QDbXgBx/lmp_control safezone 2.0 mincap 100
|
||||
--------------------------------------------------------------------------
|
||||
Primary job terminated normally, but 1 process returned
|
||||
a non-zero exit code. Per user-direction, the job has been aborted.
|
||||
--------------------------------------------------------------------------
|
||||
--------------------------------------------------------------------------
|
||||
mpirun detected that one or more processes exited with non-zero status, thus causing
|
||||
the job to be terminated. The first process to do so was:
|
||||
|
||||
Process name: [[33054,1],0]
|
||||
Exit code: 1
|
||||
--------------------------------------------------------------------------
|
|
@ -0,0 +1,60 @@
|
|||
LAMMPS (7 Aug 2019)
|
||||
# 3d Lennard-Jones melt
|
||||
#
|
||||
# This example requires that the KIM Simulator Model (PM)
|
||||
# Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000
|
||||
# is installed. This can be done with the command
|
||||
# kim-api-collections-management install user Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000
|
||||
# If this command does not work, you may need to setup your PATH to find the utility.
|
||||
# If you installed the kim-api using the LAMMPS CMake build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS build directory)
|
||||
# source ./kim_build-prefix/bin/kim-api-activate
|
||||
# If you installed the kim-api using the LAMMPS Make build, you can do the following
|
||||
# (where the current working directory is assumed to be the LAMMPS src directory)
|
||||
# source ../lib/kim/installed-kim-api-X.Y.Z/bin/kim-api-activate
|
||||
# (where you should relplace X.Y.Z with the appropriate kim-api version number).
|
||||
#
|
||||
# See https://openkim.org/doc/obtaining-models for alternative options.
|
||||
#
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
variable xx equal 20*$x
|
||||
variable xx equal 20*1
|
||||
variable yy equal 20*$y
|
||||
variable yy equal 20*1
|
||||
variable zz equal 20*$z
|
||||
variable zz equal 20*1
|
||||
|
||||
kim_init Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000 real
|
||||
#=== BEGIN kim-init ==========================================
|
||||
# Using KIM Simulator Model : Sim_LAMMPS_ReaxFF_StrachanVanDuinChakraborty_2003_CHNO__SM_107643900657_000
|
||||
# For Simulator : LAMMPS 28 Feb 2019
|
||||
# Running on : LAMMPS 7 Aug 2019
|
||||
#
|
||||
units real
|
||||
atom_style charge
|
||||
neigh_modify one 4000
|
||||
#=== END kim-init ============================================
|
||||
|
||||
|
||||
lattice fcc 4.4300
|
||||
Lattice spacing in x,y,z = 4.43 4.43 4.43
|
||||
region box block 0 ${xx} 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 20 0 ${zz}
|
||||
region box block 0 20 0 20 0 20
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (88.6 88.6 88.6)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 32000 atoms
|
||||
create_atoms CPU = 0.001307 secs
|
||||
|
||||
kim_interactions O
|
||||
#=== BEGIN kim_interactions ==================================
|
||||
pair_style reax/c /var/tmp/kim-simulator-model-parameter-file-directory-6tmKtZEXzhgv/lmp_control safezone 2.0 mincap 100
|
||||
ERROR: Unrecognized pair style 'reax/c' is part of the USER-REAXC package which is not enabled in this LAMMPS binary. (../force.cpp:262)
|
||||
Last command: pair_style reax/c /var/tmp/kim-simulator-model-parameter-file-directory-6tmKtZEXzhgv/lmp_control safezone 2.0 mincap 100
|
|
@ -0,0 +1,92 @@
|
|||
LAMMPS (7 Aug 2019)
|
||||
# 3d Lennard-Jones melt
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
variable xx equal 20*$x
|
||||
variable xx equal 20*1
|
||||
variable yy equal 20*$y
|
||||
variable yy equal 20*1
|
||||
variable zz equal 20*$z
|
||||
variable zz equal 20*1
|
||||
|
||||
units real
|
||||
|
||||
lattice fcc 4.4300
|
||||
Lattice spacing in x,y,z = 4.43 4.43 4.43
|
||||
region box block 0 ${xx} 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 20 0 ${zz}
|
||||
region box block 0 20 0 20 0 20
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (88.6 88.6 88.6)
|
||||
1 by 1 by 1 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 32000 atoms
|
||||
create_atoms CPU = 0.003037 secs
|
||||
|
||||
pair_style lj/cut 8.1500
|
||||
pair_coeff 1 1 0.0104 3.4000
|
||||
|
||||
#pair_style kim LennardJones_Ar
|
||||
#pair_coeff * * Ar
|
||||
|
||||
mass 1 39.95
|
||||
velocity all create 200.0 232345 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 1 all nve
|
||||
#fix 1 all npt temp 1.0 1.0 1.0 iso 1.0 1.0 3.0
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 8.45
|
||||
ghost atom cutoff = 8.45
|
||||
binsize = 4.225, bins = 21 21 21
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Setting up Verlet run ...
|
||||
Unit style : real
|
||||
Current step : 0
|
||||
Time step : 1
|
||||
Per MPI rank memory allocation (min/avg/max) = 19.23 | 19.23 | 19.23 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 200 6290.8194 0 25367.408 6750.7421
|
||||
100 98.747096 15900.676 0 25319.465 10184.453
|
||||
Loop time of 2.43768 on 1 procs for 100 steps with 32000 atoms
|
||||
|
||||
Performance: 3.544 ns/day, 6.771 hours/ns, 41.023 timesteps/s
|
||||
97.8% CPU use with 1 MPI tasks x no OpenMP threads
|
||||
|
||||
MPI task timing breakdown:
|
||||
Section | min time | avg time | max time |%varavg| %total
|
||||
---------------------------------------------------------------
|
||||
Pair | 2.1895 | 2.1895 | 2.1895 | 0.0 | 89.82
|
||||
Neigh | 0.17546 | 0.17546 | 0.17546 | 0.0 | 7.20
|
||||
Comm | 0.021001 | 0.021001 | 0.021001 | 0.0 | 0.86
|
||||
Output | 7.9e-05 | 7.9e-05 | 7.9e-05 | 0.0 | 0.00
|
||||
Modify | 0.034253 | 0.034253 | 0.034253 | 0.0 | 1.41
|
||||
Other | | 0.01735 | | | 0.71
|
||||
|
||||
Nlocal: 32000 ave 32000 max 32000 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Nghost: 19911 ave 19911 max 19911 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
Neighs: 1.96027e+06 ave 1.96027e+06 max 1.96027e+06 min
|
||||
Histogram: 1 0 0 0 0 0 0 0 0 0
|
||||
|
||||
Total # of neighbors = 1960266
|
||||
Ave neighs/atom = 61.2583
|
||||
Neighbor list builds = 3
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:02
|
|
@ -0,0 +1,92 @@
|
|||
LAMMPS (7 Aug 2019)
|
||||
# 3d Lennard-Jones melt
|
||||
|
||||
variable x index 1
|
||||
variable y index 1
|
||||
variable z index 1
|
||||
|
||||
variable xx equal 20*$x
|
||||
variable xx equal 20*1
|
||||
variable yy equal 20*$y
|
||||
variable yy equal 20*1
|
||||
variable zz equal 20*$z
|
||||
variable zz equal 20*1
|
||||
|
||||
units real
|
||||
|
||||
lattice fcc 4.4300
|
||||
Lattice spacing in x,y,z = 4.43 4.43 4.43
|
||||
region box block 0 ${xx} 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 ${yy} 0 ${zz}
|
||||
region box block 0 20 0 20 0 ${zz}
|
||||
region box block 0 20 0 20 0 20
|
||||
create_box 1 box
|
||||
Created orthogonal box = (0 0 0) to (88.6 88.6 88.6)
|
||||
1 by 2 by 2 MPI processor grid
|
||||
create_atoms 1 box
|
||||
Created 32000 atoms
|
||||
create_atoms CPU = 0.001194 secs
|
||||
|
||||
pair_style lj/cut 8.1500
|
||||
pair_coeff 1 1 0.0104 3.4000
|
||||
|
||||
#pair_style kim LennardJones_Ar
|
||||
#pair_coeff * * Ar
|
||||
|
||||
mass 1 39.95
|
||||
velocity all create 200.0 232345 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
fix 1 all nve
|
||||
#fix 1 all npt temp 1.0 1.0 1.0 iso 1.0 1.0 3.0
|
||||
|
||||
run 100
|
||||
Neighbor list info ...
|
||||
update every 1 steps, delay 0 steps, check yes
|
||||
max neighbors/atom: 2000, page size: 100000
|
||||
master list distance cutoff = 8.45
|
||||
ghost atom cutoff = 8.45
|
||||
binsize = 4.225, bins = 21 21 21
|
||||
1 neighbor lists, perpetual/occasional/extra = 1 0 0
|
||||
(1) pair lj/cut, perpetual
|
||||
attributes: half, newton on
|
||||
pair build: half/bin/atomonly/newton
|
||||
stencil: half/bin/3d/newton
|
||||
bin: standard
|
||||
Setting up Verlet run ...
|
||||
Unit style : real
|
||||
Current step : 0
|
||||
Time step : 1
|
||||
Per MPI rank memory allocation (min/avg/max) = 7.633 | 7.633 | 7.633 Mbytes
|
||||
Step Temp E_pair E_mol TotEng Press
|
||||
0 200 6290.8194 0 25367.408 6750.7421
|
||||
100 98.747096 15900.676 0 25319.465 10184.453
|
||||
Loop time of 0.726239 on 4 procs for 100 steps with 32000 atoms
|
||||
|
||||
Performance: 11.897 ns/day, 2.017 hours/ns, 137.696 timesteps/s
|
||||
98.7% 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.57617 | 0.5835 | 0.59084 | 0.9 | 80.34
|
||||
Neigh | 0.046682 | 0.047783 | 0.048641 | 0.3 | 6.58
|
||||
Comm | 0.065469 | 0.071509 | 0.07899 | 2.3 | 9.85
|
||||
Output | 3.9e-05 | 4.6e-05 | 6.1e-05 | 0.0 | 0.01
|
||||
Modify | 0.013205 | 0.01363 | 0.014044 | 0.3 | 1.88
|
||||
Other | | 0.009775 | | | 1.35
|
||||
|
||||
Nlocal: 8000 ave 8012 max 7989 min
|
||||
Histogram: 1 0 0 0 2 0 0 0 0 1
|
||||
Nghost: 9131 ave 9142 max 9119 min
|
||||
Histogram: 1 0 0 0 0 2 0 0 0 1
|
||||
Neighs: 490066 ave 491443 max 489273 min
|
||||
Histogram: 2 0 0 0 1 0 0 0 0 1
|
||||
|
||||
Total # of neighbors = 1960266
|
||||
Ave neighs/atom = 61.2583
|
||||
Neighbor list builds = 3
|
||||
Dangerous builds = 0
|
||||
Total wall time: 0:00:00
|
|
@ -34,6 +34,7 @@ COLVARS_SRCS = \
|
|||
colvarcomp_coordnums.cpp \
|
||||
colvarcomp.cpp \
|
||||
colvarcomp_distances.cpp \
|
||||
colvarcomp_gpath.cpp \
|
||||
colvarcomp_protein.cpp \
|
||||
colvarcomp_rotations.cpp \
|
||||
colvar.cpp \
|
||||
|
|
|
@ -791,6 +791,11 @@ int colvar::init_components(std::string const &conf)
|
|||
"inertia", "inertia");
|
||||
error_code |= init_components_type<inertia_z>(conf, "moment of inertia around an axis", "inertiaZ");
|
||||
error_code |= init_components_type<eigenvector>(conf, "eigenvector", "eigenvector");
|
||||
error_code |= init_components_type<gspath>(conf, "geometrical path collective variables (s)", "gspath");
|
||||
error_code |= init_components_type<gzpath>(conf, "geometrical path collective variables (z)", "gzpath");
|
||||
error_code |= init_components_type<linearCombination>(conf, "linear combination of other collective variables", "subColvar");
|
||||
error_code |= init_components_type<gspathCV>(conf, "geometrical path collective variables (s) for other CVs", "gspathCV");
|
||||
error_code |= init_components_type<gzpathCV>(conf, "geometrical path collective variables (z) for other CVs", "gzpathCV");
|
||||
|
||||
if (!cvcs.size() || (error_code != COLVARS_OK)) {
|
||||
cvm::error("Error: no valid components were provided "
|
||||
|
@ -1495,6 +1500,8 @@ int colvar::calc_colvar_properties()
|
|||
// calculate the velocity by finite differences
|
||||
if (cvm::step_relative() == 0) {
|
||||
x_old = x;
|
||||
v_fdiff.reset(); // Do not pretend we know anything about the actual velocity
|
||||
// eg. upon restarting. That would require saving v_fdiff or x_old to the state file
|
||||
} else {
|
||||
v_fdiff = fdiff_velocity(x_old, x);
|
||||
v_reported = v_fdiff;
|
||||
|
@ -1516,8 +1523,9 @@ int colvar::calc_colvar_properties()
|
|||
x_ext = prev_x_ext;
|
||||
v_ext = prev_v_ext;
|
||||
}
|
||||
|
||||
// report the restraint center as "value"
|
||||
// These position and velocities come from integration at the _previous timestep_ in update_forces_energy()
|
||||
// But we report values at the beginning of the timestep (value at t=0 on the first timestep)
|
||||
x_reported = x_ext;
|
||||
v_reported = v_ext;
|
||||
// the "total force" with the extended Lagrangian is
|
||||
|
@ -1651,8 +1659,6 @@ cvm::real colvar::update_forces_energy()
|
|||
// is equal to the actual coordinate
|
||||
x_ext = x;
|
||||
}
|
||||
// Report extended value
|
||||
x_reported = x_ext;
|
||||
}
|
||||
|
||||
// Now adding the force on the actual colvar (for those biases that
|
||||
|
@ -1975,9 +1981,8 @@ std::istream & colvar::read_restart(std::istream &is)
|
|||
}
|
||||
|
||||
if (is_enabled(f_cv_extended_Lagrangian)) {
|
||||
|
||||
if ( !(get_keyval(conf, "extended_x", x_ext,
|
||||
colvarvalue(x.type()), colvarparse::parse_silent)) &&
|
||||
colvarvalue(x.type()), colvarparse::parse_silent)) ||
|
||||
!(get_keyval(conf, "extended_v", v_ext,
|
||||
colvarvalue(x.type()), colvarparse::parse_silent)) ) {
|
||||
cvm::log("Error: restart file does not contain "
|
||||
|
@ -2079,11 +2084,11 @@ std::ostream & colvar::write_restart(std::ostream &os) {
|
|||
os << " extended_x "
|
||||
<< std::setprecision(cvm::cv_prec)
|
||||
<< std::setw(cvm::cv_width)
|
||||
<< x_ext << "\n"
|
||||
<< x_reported << "\n"
|
||||
<< " extended_v "
|
||||
<< std::setprecision(cvm::cv_prec)
|
||||
<< std::setw(cvm::cv_width)
|
||||
<< v_ext << "\n";
|
||||
<< v_reported << "\n";
|
||||
}
|
||||
|
||||
os << "}\n\n";
|
||||
|
@ -2150,7 +2155,6 @@ std::ostream & colvar::write_traj_label(std::ostream & os)
|
|||
std::ostream & colvar::write_traj(std::ostream &os)
|
||||
{
|
||||
os << " ";
|
||||
|
||||
if (is_enabled(f_cv_output_value)) {
|
||||
|
||||
if (is_enabled(f_cv_extended_Lagrangian)) {
|
||||
|
|
|
@ -569,6 +569,14 @@ public:
|
|||
class alpha_dihedrals;
|
||||
class alpha_angles;
|
||||
class dihedPC;
|
||||
class componentDisabled;
|
||||
class CartesianBasedPath;
|
||||
class gspath;
|
||||
class gzpath;
|
||||
class linearCombination;
|
||||
class CVBasedPath;
|
||||
class gspathCV;
|
||||
class gzpathCV;
|
||||
|
||||
// non-scalar components
|
||||
class distance_vec;
|
||||
|
|
|
@ -0,0 +1,270 @@
|
|||
#ifndef GEOMETRICPATHCV_H
|
||||
#define GEOMETRICPATHCV_H
|
||||
// This file is part of the Collective Variables module (Colvars).
|
||||
// The original version of Colvars and its updates are located at:
|
||||
// https://github.com/colvars/colvars
|
||||
// Please update all Colvars source files before making any changes.
|
||||
// If you wish to distribute your changes, please submit them to the
|
||||
// Colvars repository at GitHub.
|
||||
|
||||
|
||||
#include <vector>
|
||||
#include <cmath>
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
#include <string>
|
||||
#include <map>
|
||||
|
||||
namespace GeometricPathCV {
|
||||
|
||||
enum path_sz {S, Z};
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
class GeometricPathBase {
|
||||
private:
|
||||
struct doCompareFrameDistance {
|
||||
doCompareFrameDistance(const GeometricPathBase& obj): m_obj(obj) {}
|
||||
const GeometricPathBase& m_obj;
|
||||
bool operator()(const size_t& i1, const size_t& i2) {
|
||||
return m_obj.frame_distances[i1] < m_obj.frame_distances[i2];
|
||||
}
|
||||
};
|
||||
protected:
|
||||
scalar_type v1v1;
|
||||
scalar_type v2v2;
|
||||
scalar_type v3v3;
|
||||
scalar_type v4v4;
|
||||
scalar_type v1v3;
|
||||
scalar_type v1v4;
|
||||
scalar_type f;
|
||||
scalar_type dx;
|
||||
scalar_type s;
|
||||
scalar_type z;
|
||||
scalar_type zz;
|
||||
std::vector<element_type> v1;
|
||||
std::vector<element_type> v2;
|
||||
std::vector<element_type> v3;
|
||||
std::vector<element_type> v4;
|
||||
std::vector<element_type> dfdv1;
|
||||
std::vector<element_type> dfdv2;
|
||||
std::vector<element_type> dzdv1;
|
||||
std::vector<element_type> dzdv2;
|
||||
std::vector<scalar_type> frame_distances;
|
||||
std::vector<size_t> frame_index;
|
||||
bool use_second_closest_frame;
|
||||
bool use_third_closest_frame;
|
||||
bool use_z_square;
|
||||
long min_frame_index_1;
|
||||
long min_frame_index_2;
|
||||
long min_frame_index_3;
|
||||
long sign;
|
||||
double M;
|
||||
double m;
|
||||
public:
|
||||
GeometricPathBase(size_t vector_size, const element_type& element = element_type(), size_t total_frames = 1, bool p_use_second_closest_frame = true, bool p_use_third_closest_frame = false, bool p_use_z_square = false);
|
||||
GeometricPathBase(size_t vector_size, const std::vector<element_type>& elements, size_t total_frames = 1, bool p_use_second_closest_frame = true, bool p_use_third_closest_frame = false, bool p_use_z_square = false);
|
||||
GeometricPathBase() {}
|
||||
virtual ~GeometricPathBase() {}
|
||||
virtual void initialize(size_t vector_size, const element_type& element = element_type(), size_t total_frames = 1, bool p_use_second_closest_frame = true, bool p_use_third_closest_frame = false, bool p_use_z_square = false);
|
||||
virtual void initialize(size_t vector_size, const std::vector<element_type>& elements, size_t total_frames = 1, bool p_use_second_closest_frame = true, bool p_use_third_closest_frame = false, bool p_use_z_square = false);
|
||||
virtual void prepareVectors();
|
||||
virtual void updateReferenceDistances();
|
||||
virtual void compute();
|
||||
virtual void determineClosestFrames();
|
||||
virtual void computeValue();
|
||||
virtual void computeDerivatives();
|
||||
};
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
GeometricPathBase<element_type, scalar_type, path_type>::GeometricPathBase(size_t vector_size, const element_type& element, size_t total_frames, bool p_use_second_closest_frame, bool p_use_third_closest_frame, bool p_use_z_square) {
|
||||
initialize(vector_size, element, total_frames, p_use_second_closest_frame, p_use_third_closest_frame, p_use_z_square);
|
||||
}
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
GeometricPathBase<element_type, scalar_type, path_type>::GeometricPathBase(size_t vector_size, const std::vector<element_type>& elements, size_t total_frames, bool p_use_second_closest_frame, bool p_use_third_closest_frame, bool p_use_z_square) {
|
||||
initialize(vector_size, elements, total_frames, p_use_second_closest_frame, p_use_third_closest_frame, p_use_z_square);
|
||||
}
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
void GeometricPathBase<element_type, scalar_type, path_type>::initialize(size_t vector_size, const element_type& element, size_t total_frames, bool p_use_second_closest_frame, bool p_use_third_closest_frame, bool p_use_z_square) {
|
||||
v1v1 = scalar_type();
|
||||
v2v2 = scalar_type();
|
||||
v3v3 = scalar_type();
|
||||
v4v4 = scalar_type();
|
||||
v1v3 = scalar_type();
|
||||
v1v4 = scalar_type();
|
||||
f = scalar_type();
|
||||
dx = scalar_type();
|
||||
z = scalar_type();
|
||||
zz = scalar_type();
|
||||
sign = 0;
|
||||
v1.resize(vector_size, element);
|
||||
v2.resize(vector_size, element);
|
||||
v3.resize(vector_size, element);
|
||||
v4.resize(vector_size, element);
|
||||
dfdv1.resize(vector_size, element);
|
||||
dfdv2.resize(vector_size, element);
|
||||
dzdv1.resize(vector_size, element);
|
||||
dzdv2.resize(vector_size, element);
|
||||
frame_distances.resize(total_frames);
|
||||
frame_index.resize(total_frames);
|
||||
for (size_t i_frame = 0; i_frame < frame_index.size(); ++i_frame) {
|
||||
frame_index[i_frame] = i_frame;
|
||||
}
|
||||
use_second_closest_frame = p_use_second_closest_frame;
|
||||
use_third_closest_frame = p_use_third_closest_frame;
|
||||
use_z_square = p_use_z_square;
|
||||
M = static_cast<scalar_type>(total_frames - 1);
|
||||
m = static_cast<scalar_type>(1.0);
|
||||
}
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
void GeometricPathBase<element_type, scalar_type, path_type>::initialize(size_t vector_size, const std::vector<element_type>& elements, size_t total_frames, bool p_use_second_closest_frame, bool p_use_third_closest_frame, bool p_use_z_square) {
|
||||
v1v1 = scalar_type();
|
||||
v2v2 = scalar_type();
|
||||
v3v3 = scalar_type();
|
||||
v4v4 = scalar_type();
|
||||
v1v3 = scalar_type();
|
||||
v1v4 = scalar_type();
|
||||
f = scalar_type();
|
||||
dx = scalar_type();
|
||||
z = scalar_type();
|
||||
zz = scalar_type();
|
||||
sign = 0;
|
||||
v1 = elements;
|
||||
v2 = elements;
|
||||
v3 = elements;
|
||||
v4 = elements;
|
||||
dfdv1 = elements;
|
||||
dfdv2 = elements;
|
||||
dzdv1 = elements;
|
||||
dzdv2 = elements;
|
||||
frame_distances.resize(total_frames);
|
||||
frame_index.resize(total_frames);
|
||||
for (size_t i_frame = 0; i_frame < frame_index.size(); ++i_frame) {
|
||||
frame_index[i_frame] = i_frame;
|
||||
}
|
||||
use_second_closest_frame = p_use_second_closest_frame;
|
||||
use_third_closest_frame = p_use_third_closest_frame;
|
||||
use_z_square = p_use_z_square;
|
||||
M = static_cast<scalar_type>(total_frames - 1);
|
||||
m = static_cast<scalar_type>(1.0);
|
||||
}
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
void GeometricPathBase<element_type, scalar_type, path_type>::prepareVectors() {
|
||||
std::cout << "Warning: you should not call the prepareVectors() in base class!\n";
|
||||
std::cout << std::flush;
|
||||
}
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
void GeometricPathBase<element_type, scalar_type, path_type>::updateReferenceDistances() {
|
||||
std::cout << "Warning: you should not call the updateReferenceDistances() in base class!\n";
|
||||
std::cout << std::flush;
|
||||
}
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
void GeometricPathBase<element_type, scalar_type, path_type>::compute() {
|
||||
computeValue();
|
||||
computeDerivatives();
|
||||
}
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
void GeometricPathBase<element_type, scalar_type, path_type>::determineClosestFrames() {
|
||||
// Find the closest and the second closest frames
|
||||
std::sort(frame_index.begin(), frame_index.end(), doCompareFrameDistance(*this));
|
||||
// Determine the sign
|
||||
sign = static_cast<long>(frame_index[0]) - static_cast<long>(frame_index[1]);
|
||||
if (sign > 1) {
|
||||
// sigma(z) is on the left side of the closest frame
|
||||
sign = 1;
|
||||
} else if (sign < -1) {
|
||||
// sigma(z) is on the right side of the closest frame
|
||||
sign = -1;
|
||||
}
|
||||
if (std::abs(static_cast<long>(frame_index[0]) - static_cast<long>(frame_index[1])) > 1) {
|
||||
std::cout << "Warning: Geometrical pathCV relies on the assumption that the second closest frame is the neighbouring frame\n";
|
||||
std::cout << " Please check your configuration or increase restraint on z(σ)\n";
|
||||
for (size_t i_frame = 0; i_frame < frame_index.size(); ++i_frame) {
|
||||
std::cout << "Frame index: " << frame_index[i_frame] << " ; optimal RMSD = " << frame_distances[frame_index[i_frame]] << "\n";
|
||||
}
|
||||
}
|
||||
min_frame_index_1 = frame_index[0]; // s_m
|
||||
min_frame_index_2 = use_second_closest_frame ? frame_index[1] : min_frame_index_1 - sign; // s_(m-1)
|
||||
min_frame_index_3 = use_third_closest_frame ? frame_index[2] : min_frame_index_1 + sign; // s_(m+1)
|
||||
m = static_cast<double>(frame_index[0]);
|
||||
}
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
void GeometricPathBase<element_type, scalar_type, path_type>::computeValue() {
|
||||
updateReferenceDistances();
|
||||
determineClosestFrames();
|
||||
prepareVectors();
|
||||
v1v1 = scalar_type();
|
||||
v2v2 = scalar_type();
|
||||
v3v3 = scalar_type();
|
||||
v1v3 = scalar_type();
|
||||
if (path_type == Z) {
|
||||
v1v4 = scalar_type();
|
||||
v4v4 = scalar_type();
|
||||
}
|
||||
for (size_t i_elem = 0; i_elem < v1.size(); ++i_elem) {
|
||||
v1v1 += v1[i_elem] * v1[i_elem];
|
||||
v2v2 += v2[i_elem] * v2[i_elem];
|
||||
v3v3 += v3[i_elem] * v3[i_elem];
|
||||
v1v3 += v1[i_elem] * v3[i_elem];
|
||||
if (path_type == Z) {
|
||||
v1v4 += v1[i_elem] * v4[i_elem];
|
||||
v4v4 += v4[i_elem] * v4[i_elem];
|
||||
}
|
||||
}
|
||||
f = (std::sqrt(v1v3 * v1v3 - v3v3 * (v1v1 - v2v2)) - v1v3) / v3v3;
|
||||
if (path_type == Z) {
|
||||
dx = 0.5 * (f - 1);
|
||||
zz = v1v1 + 2 * dx * v1v4 + dx * dx * v4v4;
|
||||
if (use_z_square) {
|
||||
z = zz;
|
||||
} else {
|
||||
z = std::sqrt(std::fabs(zz));
|
||||
}
|
||||
}
|
||||
if (path_type == S) {
|
||||
s = m/M + static_cast<double>(sign) * ((f - 1) / (2 * M));
|
||||
}
|
||||
}
|
||||
|
||||
template <typename element_type, typename scalar_type, path_sz path_type>
|
||||
void GeometricPathBase<element_type, scalar_type, path_type>::computeDerivatives() {
|
||||
const scalar_type factor1 = 1.0 / (2.0 * v3v3 * std::sqrt(v1v3 * v1v3 - v3v3 * (v1v1 - v2v2)));
|
||||
const scalar_type factor2 = 1.0 / v3v3;
|
||||
for (size_t i_elem = 0; i_elem < v1.size(); ++i_elem) {
|
||||
// Compute the derivative of f with vector v1
|
||||
dfdv1[i_elem] = factor1 * (2.0 * v1v3 * v3[i_elem] - 2.0 * v3v3 * v1[i_elem]) - factor2 * v3[i_elem];
|
||||
// Compute the derivative of f with respect to vector v2
|
||||
dfdv2[i_elem] = factor1 * (2.0 * v3v3 * v2[i_elem]);
|
||||
// dZ(v1(r), v2(r), v3) / dr = ∂Z/∂v1 * dv1/dr + ∂Z/∂v2 * dv2/dr
|
||||
// dv1/dr = [fitting matrix 1][-1, ..., -1]
|
||||
// dv2/dr = [fitting matrix 2][1, ..., 1]
|
||||
// ∂Z/∂v1 = 1/(2*z) * (2v1 + (f-1)v4 + (v1⋅v4)∂f/∂v1 + v4^2 * 1/4 * 2(f-1) * ∂f/∂v1)
|
||||
// ∂Z/∂v2 = 1/(2*z) * ((v1⋅v4)∂f/∂v2 + v4^2 * 1/4 * 2(f-1) * ∂f/∂v2)
|
||||
if (path_type == Z) {
|
||||
if (use_z_square) {
|
||||
dzdv1[i_elem] = 2.0 * v1[i_elem] + (f-1) * v4[i_elem] + v1v4 * dfdv1[i_elem] + v4v4 * 0.25 * 2.0 * (f-1) * dfdv1[i_elem];
|
||||
dzdv2[i_elem] = v1v4 * dfdv2[i_elem] + v4v4 * 0.25 * 2.0 * (f-1) * dfdv2[i_elem];
|
||||
} else {
|
||||
if (z > static_cast<scalar_type>(0)) {
|
||||
dzdv1[i_elem] = (1.0 / (2.0 * z)) * (2.0 * v1[i_elem] + (f-1) * v4[i_elem] + v1v4 * dfdv1[i_elem] + v4v4 * 0.25 * 2.0 * (f-1) * dfdv1[i_elem]);
|
||||
dzdv2[i_elem] = (1.0 / (2.0 * z)) * (v1v4 * dfdv2[i_elem] + v4v4 * 0.25 * 2.0 * (f-1) * dfdv2[i_elem]);
|
||||
} else {
|
||||
// workaround at z = 0
|
||||
dzdv1[i_elem] = 0;
|
||||
dzdv2[i_elem] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif // GEOMETRICPATHCV_H
|
|
@ -178,6 +178,31 @@ int cvm::atom_group::remove_atom(cvm::atom_iter ai)
|
|||
}
|
||||
|
||||
|
||||
int cvm::atom_group::set_dummy()
|
||||
{
|
||||
if (atoms_ids.size() > 0) {
|
||||
return cvm::error("Error: setting group with keyword \""+key+
|
||||
"\" and name \""+name+"\" as dummy, but it already "
|
||||
"contains atoms.\n", INPUT_ERROR);
|
||||
}
|
||||
b_dummy = true;
|
||||
return COLVARS_OK;
|
||||
}
|
||||
|
||||
|
||||
int cvm::atom_group::set_dummy_pos(cvm::atom_pos const &pos)
|
||||
{
|
||||
if (b_dummy) {
|
||||
dummy_atom_pos = pos;
|
||||
} else {
|
||||
return cvm::error("Error: setting dummy position for group with keyword \""+
|
||||
key+"\" and name \""+name+
|
||||
"\", but it is not dummy.\n", INPUT_ERROR);
|
||||
}
|
||||
return COLVARS_OK;
|
||||
}
|
||||
|
||||
|
||||
int cvm::atom_group::init()
|
||||
{
|
||||
if (!key.size()) key = "unnamed";
|
||||
|
@ -469,20 +494,15 @@ int cvm::atom_group::parse(std::string const &group_conf)
|
|||
// checks of doubly-counted atoms have been handled by add_atom() already
|
||||
|
||||
if (get_keyval(group_conf, "dummyAtom", dummy_atom_pos, cvm::atom_pos())) {
|
||||
b_dummy = true;
|
||||
// note: atoms_ids.size() is used here in lieu of atoms.size(),
|
||||
// which can be empty for scalable groups
|
||||
if (atoms_ids.size()) {
|
||||
cvm::error("Error: cannot set up group \""+
|
||||
key+"\" as a dummy atom "
|
||||
"and provide it with atom definitions.\n", INPUT_ERROR);
|
||||
}
|
||||
|
||||
parse_error |= set_dummy();
|
||||
parse_error |= set_dummy_pos(dummy_atom_pos);
|
||||
|
||||
} else {
|
||||
b_dummy = false;
|
||||
|
||||
if (!(atoms_ids.size())) {
|
||||
cvm::error("Error: no atoms defined for atom group \""+
|
||||
key+"\".\n", INPUT_ERROR);
|
||||
parse_error |= cvm::error("Error: no atoms defined for atom group \""+
|
||||
key+"\".\n", INPUT_ERROR);
|
||||
}
|
||||
|
||||
// whether these atoms will ever receive forces or not
|
||||
|
|
|
@ -207,6 +207,12 @@ public:
|
|||
/// \brief Remove an atom object from this group
|
||||
int remove_atom(cvm::atom_iter ai);
|
||||
|
||||
/// Set this group as a dummy group (no actual atoms)
|
||||
int set_dummy();
|
||||
|
||||
/// If this group is dummy, set the corresponding position
|
||||
int set_dummy_pos(cvm::atom_pos const &pos);
|
||||
|
||||
/// \brief Print the updated the total mass and charge of a group.
|
||||
/// This is needed in case the hosting MD code has an option to
|
||||
/// change atom masses after their initialization.
|
||||
|
|
|
@ -37,7 +37,6 @@ colvarbias_meta::colvarbias_meta(char const *key)
|
|||
{
|
||||
new_hills_begin = hills.end();
|
||||
hills_traj_os = NULL;
|
||||
replica_hills_os = NULL;
|
||||
|
||||
ebmeta_equil_steps = 0L;
|
||||
}
|
||||
|
@ -203,23 +202,37 @@ int colvarbias_meta::init_ebmeta_params(std::string const &conf)
|
|||
target_dist = new colvar_grid_scalar();
|
||||
target_dist->init_from_colvars(colvars);
|
||||
std::string target_dist_file;
|
||||
get_keyval(conf, "targetdistfile", target_dist_file);
|
||||
get_keyval(conf, "targetDistFile", target_dist_file);
|
||||
std::ifstream targetdiststream(target_dist_file.c_str());
|
||||
target_dist->read_multicol(targetdiststream);
|
||||
cvm::real min_val = target_dist->minimum_value();
|
||||
cvm::real max_val = target_dist->maximum_value();
|
||||
if(min_val<0){
|
||||
cvm::error("Error: Target distribution of ebMeta "
|
||||
cvm::error("Error: Target distribution of EBMetaD "
|
||||
"has negative values!.\n", INPUT_ERROR);
|
||||
}
|
||||
cvm::real min_pos_val = target_dist->minimum_pos_value();
|
||||
if(min_pos_val<=0){
|
||||
cvm::error("Error: Target distribution of ebMeta has negative "
|
||||
"or zero minimum positive value!.\n", INPUT_ERROR);
|
||||
}
|
||||
if(min_val==0){
|
||||
cvm::log("WARNING: Target distribution has zero values.\n");
|
||||
cvm::log("Zeros will be converted to the minimum positive value.\n");
|
||||
target_dist->remove_zeros(min_pos_val);
|
||||
cvm::real target_dist_min_val;
|
||||
get_keyval(conf, "targetDistMinVal", target_dist_min_val, 1/1000000.0);
|
||||
if(target_dist_min_val>0 && target_dist_min_val<1){
|
||||
target_dist_min_val=max_val*target_dist_min_val;
|
||||
target_dist->remove_small_values(target_dist_min_val);
|
||||
} else {
|
||||
if (target_dist_min_val==0) {
|
||||
cvm::log("NOTE: targetDistMinVal is set to zero, the minimum value of the target \n");
|
||||
cvm::log(" distribution will be set as the minimum positive value.\n");
|
||||
cvm::real min_pos_val = target_dist->minimum_pos_value();
|
||||
if(min_pos_val<=0){
|
||||
cvm::error("Error: Target distribution of EBMetaD has negative "
|
||||
"or zero minimum positive value!.\n", INPUT_ERROR);
|
||||
}
|
||||
if(min_val==0){
|
||||
cvm::log("WARNING: Target distribution has zero values.\n");
|
||||
cvm::log("Zeros will be converted to the minimum positive value.\n");
|
||||
target_dist->remove_small_values(min_pos_val);
|
||||
}
|
||||
} else {
|
||||
cvm::error("Error: targetDistMinVal must be a value between 0 and 1!.\n", INPUT_ERROR);
|
||||
}
|
||||
}
|
||||
// normalize target distribution and multiply by effective volume = exp(differential entropy)
|
||||
target_dist->multiply_constant(1.0/target_dist->integral());
|
||||
|
@ -235,14 +248,14 @@ int colvarbias_meta::init_ebmeta_params(std::string const &conf)
|
|||
colvarbias_meta::~colvarbias_meta()
|
||||
{
|
||||
colvarbias_meta::clear_state_data();
|
||||
colvarproxy *proxy = cvm::proxy;
|
||||
|
||||
if (replica_hills_os) {
|
||||
cvm::proxy->close_output_stream(replica_hills_file);
|
||||
replica_hills_os = NULL;
|
||||
if (proxy->get_output_stream(replica_hills_file)) {
|
||||
proxy->close_output_stream(replica_hills_file);
|
||||
}
|
||||
|
||||
if (hills_traj_os) {
|
||||
cvm::proxy->close_output_stream(hills_traj_file_name());
|
||||
proxy->close_output_stream(hills_traj_file_name());
|
||||
hills_traj_os = NULL;
|
||||
}
|
||||
|
||||
|
@ -523,6 +536,8 @@ int colvarbias_meta::update_bias()
|
|||
|
||||
case multiple_replicas:
|
||||
create_hill(hill(hill_weight*hills_scale, colvars, hill_width, replica_id));
|
||||
std::ostream *replica_hills_os =
|
||||
cvm::proxy->get_output_stream(replica_hills_file);
|
||||
if (replica_hills_os) {
|
||||
*replica_hills_os << hills.back();
|
||||
} else {
|
||||
|
@ -921,13 +936,16 @@ void colvarbias_meta::recount_hills_off_grid(colvarbias_meta::hill_iter h_first
|
|||
|
||||
int colvarbias_meta::replica_share()
|
||||
{
|
||||
colvarproxy *proxy = cvm::proxy;
|
||||
// sync with the other replicas (if needed)
|
||||
if (comm == multiple_replicas) {
|
||||
// reread the replicas registry
|
||||
update_replicas_registry();
|
||||
// empty the output buffer
|
||||
std::ostream *replica_hills_os =
|
||||
proxy->get_output_stream(replica_hills_file);
|
||||
if (replica_hills_os) {
|
||||
cvm::proxy->flush_output_stream(replica_hills_os);
|
||||
proxy->flush_output_stream(replica_hills_os);
|
||||
}
|
||||
read_replica_files();
|
||||
}
|
||||
|
@ -1089,11 +1107,7 @@ void colvarbias_meta::read_replica_files()
|
|||
(replicas[ir])->replica_state_file+"\".\n");
|
||||
|
||||
std::ifstream is((replicas[ir])->replica_state_file.c_str());
|
||||
if (! (replicas[ir])->read_state(is)) {
|
||||
cvm::log("Reading from file \""+(replicas[ir])->replica_state_file+
|
||||
"\" failed or incomplete: will try again in "+
|
||||
cvm::to_str(replica_update_freq)+" steps.\n");
|
||||
} else {
|
||||
if ((replicas[ir])->read_state(is)) {
|
||||
// state file has been read successfully
|
||||
(replicas[ir])->replica_state_file_in_sync = true;
|
||||
(replicas[ir])->update_status = 0;
|
||||
|
@ -1550,15 +1564,11 @@ int colvarbias_meta::setup_output()
|
|||
// for the others to read
|
||||
|
||||
// open the "hills" buffer file
|
||||
if (!replica_hills_os) {
|
||||
cvm::proxy->backup_file(replica_hills_file);
|
||||
replica_hills_os = cvm::proxy->output_stream(replica_hills_file);
|
||||
if (!replica_hills_os) return cvm::get_error();
|
||||
replica_hills_os->setf(std::ios::scientific, std::ios::floatfield);
|
||||
}
|
||||
reopen_replica_buffer_file();
|
||||
|
||||
// write the state file (so that there is always one available)
|
||||
write_replica_state_file();
|
||||
|
||||
// schedule to read the state files of the other replicas
|
||||
for (size_t ir = 0; ir < replicas.size(); ir++) {
|
||||
(replicas[ir])->replica_state_file_in_sync = false;
|
||||
|
@ -1661,15 +1671,16 @@ std::ostream & colvarbias_meta::write_state_data(std::ostream& os)
|
|||
|
||||
int colvarbias_meta::write_state_to_replicas()
|
||||
{
|
||||
int error_code = COLVARS_OK;
|
||||
if (comm != single_replica) {
|
||||
write_replica_state_file();
|
||||
// schedule to reread the state files of the other replicas (they
|
||||
// have also rewritten them)
|
||||
error_code |= write_replica_state_file();
|
||||
error_code |= reopen_replica_buffer_file();
|
||||
// schedule to reread the state files of the other replicas
|
||||
for (size_t ir = 0; ir < replicas.size(); ir++) {
|
||||
(replicas[ir])->replica_state_file_in_sync = false;
|
||||
}
|
||||
}
|
||||
return COLVARS_OK;
|
||||
return error_code;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1693,6 +1704,20 @@ void colvarbias_meta::write_pmf()
|
|||
// output the PMF from this instance or replica
|
||||
pmf->reset();
|
||||
pmf->add_grid(*hills_energy);
|
||||
|
||||
if (ebmeta) {
|
||||
int nt_points=pmf->number_of_points();
|
||||
for (int i = 0; i < nt_points; i++) {
|
||||
cvm:: real pmf_val=0.0;
|
||||
cvm:: real target_val=target_dist->value(i);
|
||||
if (target_val>0) {
|
||||
pmf_val=pmf->value(i);
|
||||
pmf_val=pmf_val+cvm::temperature() * cvm::boltzmann() * std::log(target_val);
|
||||
}
|
||||
pmf->set_value(i,pmf_val);
|
||||
}
|
||||
}
|
||||
|
||||
cvm::real const max = pmf->maximum_value();
|
||||
pmf->add_constant(-1.0 * max);
|
||||
pmf->multiply_constant(-1.0);
|
||||
|
@ -1716,10 +1741,24 @@ void colvarbias_meta::write_pmf()
|
|||
if (comm != single_replica) {
|
||||
// output the combined PMF from all replicas
|
||||
pmf->reset();
|
||||
pmf->add_grid(*hills_energy);
|
||||
// current replica already included in the pools of replicas
|
||||
for (size_t ir = 0; ir < replicas.size(); ir++) {
|
||||
pmf->add_grid(*(replicas[ir]->hills_energy));
|
||||
}
|
||||
|
||||
if (ebmeta) {
|
||||
int nt_points=pmf->number_of_points();
|
||||
for (int i = 0; i < nt_points; i++) {
|
||||
cvm:: real pmf_val=0.0;
|
||||
cvm:: real target_val=target_dist->value(i);
|
||||
if (target_val>0) {
|
||||
pmf_val=pmf->value(i);
|
||||
pmf_val=pmf_val+cvm::temperature() * cvm::boltzmann() * std::log(target_val);
|
||||
}
|
||||
pmf->set_value(i,pmf_val);
|
||||
}
|
||||
}
|
||||
|
||||
cvm::real const max = pmf->maximum_value();
|
||||
pmf->add_constant(-1.0 * max);
|
||||
pmf->multiply_constant(-1.0);
|
||||
|
@ -1744,74 +1783,47 @@ void colvarbias_meta::write_pmf()
|
|||
|
||||
int colvarbias_meta::write_replica_state_file()
|
||||
{
|
||||
colvarproxy *proxy = cvm::proxy;
|
||||
|
||||
if (cvm::debug()) {
|
||||
cvm::log("Writing replica state file for bias \""+name+"\"\n");
|
||||
}
|
||||
// write down also the restart for the other replicas
|
||||
cvm::backup_file(replica_state_file.c_str());
|
||||
std::ostream *rep_state_os = cvm::proxy->output_stream(replica_state_file);
|
||||
if (rep_state_os == NULL) {
|
||||
cvm::error("Error: in opening file \""+
|
||||
replica_state_file+"\" for writing.\n", FILE_ERROR);
|
||||
return FILE_ERROR;
|
||||
|
||||
int error_code = COLVARS_OK;
|
||||
|
||||
// Write to temporary state file
|
||||
std::string const tmp_state_file(replica_state_file+".tmp");
|
||||
error_code |= proxy->remove_file(tmp_state_file);
|
||||
std::ostream *rep_state_os = cvm::proxy->output_stream(tmp_state_file);
|
||||
if (rep_state_os) {
|
||||
if (!write_state(*rep_state_os)) {
|
||||
error_code |= cvm::error("Error: in writing to temporary file \""+
|
||||
tmp_state_file+"\".\n", FILE_ERROR);
|
||||
}
|
||||
}
|
||||
error_code |= proxy->close_output_stream(tmp_state_file);
|
||||
|
||||
rep_state_os->setf(std::ios::scientific, std::ios::floatfield);
|
||||
error_code |= proxy->rename_file(tmp_state_file, replica_state_file);
|
||||
|
||||
if (!write_state(*rep_state_os)) {
|
||||
cvm::error("Error: in writing to file \""+
|
||||
replica_state_file+"\".\n", FILE_ERROR);
|
||||
cvm::proxy->close_output_stream(replica_state_file);
|
||||
return FILE_ERROR;
|
||||
return error_code;
|
||||
}
|
||||
|
||||
|
||||
int colvarbias_meta::reopen_replica_buffer_file()
|
||||
{
|
||||
int error_code = COLVARS_OK;
|
||||
colvarproxy *proxy = cvm::proxy;
|
||||
if (proxy->get_output_stream(replica_hills_file) != NULL) {
|
||||
error_code |= proxy->close_output_stream(replica_hills_file);
|
||||
}
|
||||
|
||||
cvm::proxy->close_output_stream(replica_state_file);
|
||||
|
||||
// rep_state_os.setf(std::ios::scientific, std::ios::floatfield);
|
||||
// rep_state_os << "\n"
|
||||
// << "metadynamics {\n"
|
||||
// << " configuration {\n"
|
||||
// << " name " << this->name << "\n"
|
||||
// << " step " << cvm::step_absolute() << "\n";
|
||||
// if (this->comm != single_replica) {
|
||||
// rep_state_os << " replicaID " << this->replica_id << "\n";
|
||||
// }
|
||||
// rep_state_os << " }\n\n";
|
||||
// rep_state_os << " hills_energy\n";
|
||||
// rep_state_os << std::setprecision(cvm::cv_prec)
|
||||
// << std::setw(cvm::cv_width);
|
||||
// hills_energy->write_restart(rep_state_os);
|
||||
// rep_state_os << " hills_energy_gradients\n";
|
||||
// rep_state_os << std::setprecision(cvm::cv_prec)
|
||||
// << std::setw(cvm::cv_width);
|
||||
// hills_energy_gradients->write_restart(rep_state_os);
|
||||
|
||||
// if ( (!use_grids) || keep_hills ) {
|
||||
// // write all hills currently in memory
|
||||
// for (std::list<hill>::const_iterator h = this->hills.begin();
|
||||
// h != this->hills.end();
|
||||
// h++) {
|
||||
// rep_state_os << *h;
|
||||
// }
|
||||
// } else {
|
||||
// // write just those that are near the grid boundaries
|
||||
// for (std::list<hill>::const_iterator h = this->hills_off_grid.begin();
|
||||
// h != this->hills_off_grid.end();
|
||||
// h++) {
|
||||
// rep_state_os << *h;
|
||||
// }
|
||||
// }
|
||||
// rep_state_os << "}\n\n";
|
||||
// rep_state_os.close();
|
||||
|
||||
// reopen the hills file
|
||||
cvm::proxy->close_output_stream(replica_hills_file);
|
||||
cvm::proxy->backup_file(replica_hills_file);
|
||||
replica_hills_os = cvm::proxy->output_stream(replica_hills_file);
|
||||
if (!replica_hills_os) return cvm::get_error();
|
||||
replica_hills_os->setf(std::ios::scientific, std::ios::floatfield);
|
||||
|
||||
return COLVARS_OK;
|
||||
error_code |= proxy->remove_file(replica_hills_file);
|
||||
std::ostream *replica_hills_os = proxy->output_stream(replica_hills_file);
|
||||
if (replica_hills_os) {
|
||||
replica_hills_os->setf(std::ios::scientific, std::ios::floatfield);
|
||||
} else {
|
||||
error_code |= FILE_ERROR;
|
||||
}
|
||||
return error_code;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1883,5 +1895,3 @@ std::ostream & operator << (std::ostream &os, colvarbias_meta::hill const &h)
|
|||
|
||||
return os;
|
||||
}
|
||||
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue