Merge branch 'master' into pair_rann
# Conflicts: # cmake/CMakeLists.txt # cmake/presets/all_off.cmake # cmake/presets/all_on.cmake
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -2,3 +2,4 @@
|
||||
.gitignore export-ignore
|
||||
.github export-ignore
|
||||
.lgtm.yml export-ignore
|
||||
SECURITY.md export-ignore
|
||||
|
||||
20
README
20
README
@ -14,10 +14,10 @@ LAMMPS is a classical molecular dynamics simulation code designed to
|
||||
run efficiently on parallel computers. It was developed at Sandia
|
||||
National Laboratories, a US Department of Energy facility, with
|
||||
funding from the DOE. It is an open-source code, distributed freely
|
||||
under the terms of the GNU Public License (GPL).
|
||||
under the terms of the GNU Public License (GPL) version 2.
|
||||
|
||||
The primary author of the code is Steve Plimpton, who can be emailed
|
||||
at sjplimp@sandia.gov. The LAMMPS WWW Site at lammps.sandia.gov has
|
||||
at sjplimp@sandia.gov. The LAMMPS WWW Site at www.lammps.org has
|
||||
more information about the code and its uses.
|
||||
|
||||
The LAMMPS distribution includes the following files and directories:
|
||||
@ -37,14 +37,14 @@ tools pre- and post-processing tools
|
||||
|
||||
Point your browser at any of these files to get started:
|
||||
|
||||
https://lammps.sandia.gov/doc/Manual.html LAMMPS manual
|
||||
https://lammps.sandia.gov/doc/Intro.html hi-level introduction
|
||||
https://lammps.sandia.gov/doc/Build.html how to build LAMMPS
|
||||
https://lammps.sandia.gov/doc/Run_head.html how to run LAMMPS
|
||||
https://lammps.sandia.gov/doc/Commands_all.html Table of available commands
|
||||
https://lammps.sandia.gov/doc/Library.html LAMMPS library interfaces
|
||||
https://lammps.sandia.gov/doc/Modify.html how to modify and extend LAMMPS
|
||||
https://lammps.sandia.gov/doc/Developer.html LAMMPS developer info
|
||||
https://docs.lammps.org/Manual.html LAMMPS manual
|
||||
https://docs.lammps.org/Intro.html hi-level introduction
|
||||
https://docs.lammps.org/Build.html how to build LAMMPS
|
||||
https://docs.lammps.org/Run_head.html how to run LAMMPS
|
||||
https://docs.lammps.org/Commands_all.html Table of available commands
|
||||
https://docs.lammps.org/Library.html LAMMPS library interfaces
|
||||
https://docs.lammps.org/Modify.html how to modify and extend LAMMPS
|
||||
https://docs.lammps.org/Developer.html LAMMPS developer info
|
||||
|
||||
You can also create these doc pages locally:
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
These are input scripts used to run benchmark tests for many of the
|
||||
interatomic potentials in LAMMPS. The results of running these
|
||||
scripts on different machines are shown on the Potentials section of
|
||||
the Benchmark page of the LAMMPS WWW site (lammps.sandia.gov/bench).
|
||||
the Benchmark page of the LAMMPS WWW site (https://www.lammps.org/bench.html).
|
||||
|
||||
Examples are shown below of how to run these scripts. Log files for
|
||||
running them on 1 and 4 processors of a Linux box are included in the
|
||||
|
||||
@ -2,7 +2,7 @@ LAMMPS benchmark problems
|
||||
|
||||
This directory contains 5 benchmark problems which are discussed in
|
||||
the Benchmark section of the LAMMPS documentation, and on the
|
||||
Benchmark page of the LAMMPS WWW site (lammps.sandia.gov/bench).
|
||||
Benchmark page of the LAMMPS WWW site (https://www.lammps.org/bench.html).
|
||||
|
||||
This directory also has several sub-directories:
|
||||
|
||||
@ -11,7 +11,7 @@ KEPLER benchmark scripts for GPU cluster with Kepler GPUs
|
||||
POTENTIALS benchmarks scripts for various potentials in LAMMPS
|
||||
|
||||
The results for all of these benchmarks are displayed and discussed on
|
||||
the Benchmark page of the LAMMPS WWW site: lammps.sandia.gov/bench.
|
||||
the Benchmark page of the LAMMPS WWW site: https://www.lammps.org/bench.html
|
||||
|
||||
The remainder of this file refers to the 5 problems in the top-level
|
||||
of this directory and how to run them on CPUs, either in serial or
|
||||
|
||||
@ -77,7 +77,7 @@ check_for_autogen_files(${LAMMPS_SOURCE_DIR})
|
||||
include(CheckIncludeFileCXX)
|
||||
|
||||
# set required compiler flags and compiler/CPU arch specific optimizations
|
||||
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict")
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
|
||||
set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512")
|
||||
@ -91,6 +91,11 @@ set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Use compiler extensions")
|
||||
|
||||
# export all symbols when building a .dll file on windows
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND BUILD_SHARED_LIBS)
|
||||
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||
endif()
|
||||
|
||||
########################################################################
|
||||
# User input options #
|
||||
########################################################################
|
||||
@ -120,6 +125,12 @@ file(GLOB ALL_SOURCES ${LAMMPS_SOURCE_DIR}/[^.]*.cpp)
|
||||
file(GLOB MAIN_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp)
|
||||
list(REMOVE_ITEM ALL_SOURCES ${MAIN_SOURCES})
|
||||
add_library(lammps ${ALL_SOURCES})
|
||||
|
||||
# tell CMake to export all symbols to a .dll on Windows with MinGW cross-compilers
|
||||
if(BUILD_SHARED_LIBS AND (CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
|
||||
set_target_properties(lammps PROPERTIES LINK_FLAGS "-Wl,--export-all-symbols")
|
||||
endif()
|
||||
|
||||
add_executable(lmp ${MAIN_SOURCES})
|
||||
target_link_libraries(lmp PRIVATE lammps)
|
||||
set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY})
|
||||
@ -132,8 +143,8 @@ set(STANDARD_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE
|
||||
PLUGIN QEQ REPLICA RIGID SHOCK SPIN SNAP SRD KIM PYTHON MSCG MPIIO VORONOI
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-MESODPD USER-CGSDK
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
||||
USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC USER-MOFFF
|
||||
USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB
|
||||
USER-HDNNP USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESONT USER-MGPT USER-MISC
|
||||
USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-PLUMED USER-PTM USER-QTB
|
||||
USER-RANN USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
||||
USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM USER-YAFF USER-PACE USER-BROWNIAN)
|
||||
|
||||
@ -162,12 +173,13 @@ if(NOT CMAKE_CROSSCOMPILING)
|
||||
find_package(MPI QUIET)
|
||||
option(BUILD_MPI "Build MPI version" ${MPI_FOUND})
|
||||
else()
|
||||
set(MPI_CXX_SKIP_MPICXX TRUE)
|
||||
option(BUILD_MPI "Build MPI version" OFF)
|
||||
endif()
|
||||
|
||||
if(BUILD_MPI)
|
||||
# We use a non-standard procedure to cross-compile with MPI on Windows
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING)
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING)
|
||||
include(MPI4WIN)
|
||||
target_link_libraries(lammps PUBLIC MPI::MPI_CXX)
|
||||
else()
|
||||
@ -201,7 +213,7 @@ string(TOUPPER ${LAMMPS_SIZES} LAMMPS_SIZES)
|
||||
target_compile_definitions(lammps PUBLIC -DLAMMPS_${LAMMPS_SIZES})
|
||||
|
||||
# posix_memalign is not available on Windows
|
||||
if(${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")
|
||||
@ -245,6 +257,7 @@ if(BUILD_OMP)
|
||||
|
||||
if(((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 9.0)) OR
|
||||
(CMAKE_CXX_COMPILER_ID STREQUAL "PGI") OR
|
||||
((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
|
||||
((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR
|
||||
((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0)))
|
||||
# GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts.
|
||||
@ -307,7 +320,7 @@ find_program(GZIP_EXECUTABLE gzip)
|
||||
find_package_handle_standard_args(GZIP REQUIRED_VARS GZIP_EXECUTABLE)
|
||||
option(WITH_GZIP "Enable GZIP support" ${GZIP_FOUND})
|
||||
if(WITH_GZIP)
|
||||
if(GZIP_FOUND OR ((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING))
|
||||
if(GZIP_FOUND OR ((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING))
|
||||
target_compile_definitions(lammps PRIVATE -DLAMMPS_GZIP)
|
||||
else()
|
||||
message(FATAL_ERROR "gzip executable not found")
|
||||
@ -318,7 +331,7 @@ find_program(FFMPEG_EXECUTABLE ffmpeg)
|
||||
find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_EXECUTABLE)
|
||||
option(WITH_FFMPEG "Enable FFMPEG support" ${FFMPEG_FOUND})
|
||||
if(WITH_FFMPEG)
|
||||
if(FFMPEG_FOUND OR ((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING))
|
||||
if(FFMPEG_FOUND OR ((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING))
|
||||
target_compile_definitions(lammps PRIVATE -DLAMMPS_FFMPEG)
|
||||
else()
|
||||
message(FATAL_ERROR "ffmpeg executable not found")
|
||||
@ -335,7 +348,7 @@ else()
|
||||
set(CUDA_REQUEST_PIC)
|
||||
endif()
|
||||
|
||||
foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED
|
||||
foreach(PKG_WITH_INCL KSPACE PYTHON MLIAP VORONOI USER-COLVARS USER-HDNNP USER-MDI USER-MOLFILE USER-NETCDF USER-PLUMED
|
||||
USER-QMMM USER-QUIP USER-SCAFACOS USER-SMD USER-VTK KIM LATTE MESSAGE MSCG COMPRESS USER-PACE)
|
||||
if(PKG_${PKG_WITH_INCL})
|
||||
include(Packages/${PKG_WITH_INCL})
|
||||
@ -433,7 +446,7 @@ foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-MESONT)
|
||||
if(PKG_${SIMPLE_LIB})
|
||||
string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}")
|
||||
string(TOLOWER "${PKG_LIB}" PKG_LIB)
|
||||
if(PKG_LIB STREQUAL mesont)
|
||||
if(PKG_LIB STREQUAL "mesont")
|
||||
enable_language(Fortran)
|
||||
file(GLOB_RECURSE ${PKG_LIB}_SOURCES
|
||||
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/[^.]*.f90)
|
||||
@ -445,9 +458,9 @@ foreach(SIMPLE_LIB POEMS USER-ATC USER-AWPMD USER-H5MD USER-MESONT)
|
||||
add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES})
|
||||
set_target_properties(${PKG_LIB} PROPERTIES OUTPUT_NAME lammps_${PKG_LIB}${LAMMPS_MACHINE})
|
||||
target_link_libraries(lammps PRIVATE ${PKG_LIB})
|
||||
if(PKG_LIB STREQUAL awpmd)
|
||||
if(PKG_LIB STREQUAL "awpmd")
|
||||
target_include_directories(awpmd PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/awpmd/systems/interact ${LAMMPS_LIB_SOURCE_DIR}/awpmd/ivutils/include)
|
||||
elseif(PKG_LIB STREQUAL h5md)
|
||||
elseif(PKG_LIB STREQUAL "h5md")
|
||||
target_include_directories(h5md PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/h5md/include ${HDF5_INCLUDE_DIRS})
|
||||
else()
|
||||
target_include_directories(${PKG_LIB} PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB})
|
||||
@ -460,7 +473,7 @@ if(PKG_USER-AWPMD)
|
||||
endif()
|
||||
|
||||
if(PKG_USER-ATC)
|
||||
if(LAMMPS_SIZES STREQUAL BIGBIG)
|
||||
if(LAMMPS_SIZES STREQUAL "BIGBIG")
|
||||
message(FATAL_ERROR "The USER-ATC Package is not compatible with -DLAMMPS_BIGBIG")
|
||||
endif()
|
||||
target_link_libraries(atc PRIVATE ${LAPACK_LIBRARIES})
|
||||
@ -504,7 +517,7 @@ endif()
|
||||
# and the MPI library - if use - has to be linked right before those
|
||||
# and after everything else that is compiled locally
|
||||
######################################################################
|
||||
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
target_link_libraries(lammps PRIVATE -lwsock32 -lpsapi)
|
||||
endif()
|
||||
|
||||
@ -554,7 +567,7 @@ add_dependencies(lammps gitversion)
|
||||
############################################
|
||||
get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
|
||||
list(FIND LANGUAGES "Fortran" _index)
|
||||
if(${_index} GREATER -1)
|
||||
if(_index GREATER -1)
|
||||
target_link_libraries(lammps PRIVATE ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
|
||||
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
|
||||
@ -711,14 +724,14 @@ if(OPTIONS)
|
||||
endif()
|
||||
get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
|
||||
list(FIND LANGUAGES "Fortran" _index)
|
||||
if(${_index} GREATER -1)
|
||||
if(_index GREATER -1)
|
||||
message(STATUS "Fortran Compiler: ${CMAKE_Fortran_COMPILER}
|
||||
Type: ${CMAKE_Fortran_COMPILER_ID}
|
||||
Version: ${CMAKE_Fortran_COMPILER_VERSION}
|
||||
Fortran Flags:${CMAKE_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS_${BTYPE}}")
|
||||
endif()
|
||||
list(FIND LANGUAGES "C" _index)
|
||||
if(${_index} GREATER -1)
|
||||
if(_index GREATER -1)
|
||||
message(STATUS "C compiler: ${CMAKE_C_COMPILER}
|
||||
Type: ${CMAKE_C_COMPILER_ID}
|
||||
Version: ${CMAKE_C_COMPILER_VERSION}
|
||||
@ -783,7 +796,7 @@ if(PKG_KSPACE)
|
||||
endif()
|
||||
if(PKG_KOKKOS)
|
||||
if(Kokkos_ENABLE_CUDA)
|
||||
if (${FFT} STREQUAL "KISS")
|
||||
if(FFT STREQUAL "KISS")
|
||||
message(STATUS "Kokkos FFT: KISS")
|
||||
else()
|
||||
message(STATUS "Kokkos FFT: cuFFT")
|
||||
|
||||
@ -15,6 +15,11 @@ if(Python3_EXECUTABLE)
|
||||
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/whitespace.py .
|
||||
WORKING_DIRECTORY ${LAMMPS_DIR}
|
||||
COMMENT "Check for whitespace errors")
|
||||
add_custom_target(
|
||||
check-homepage
|
||||
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/homepage.py .
|
||||
WORKING_DIRECTORY ${LAMMPS_DIR}
|
||||
COMMENT "Check for homepage URL errors")
|
||||
add_custom_target(
|
||||
check-permissions
|
||||
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/permissions.py .
|
||||
@ -25,6 +30,11 @@ if(Python3_EXECUTABLE)
|
||||
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/whitespace.py -f .
|
||||
WORKING_DIRECTORY ${LAMMPS_DIR}
|
||||
COMMENT "Fix whitespace errors")
|
||||
add_custom_target(
|
||||
fix-homepage
|
||||
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/homepage.py -f .
|
||||
WORKING_DIRECTORY ${LAMMPS_DIR}
|
||||
COMMENT "Fix homepage URL errors")
|
||||
add_custom_target(
|
||||
fix-permissions
|
||||
${Python3_EXECUTABLE} ${LAMMPS_TOOLS_DIR}/coding_standard/permissions.py -f .
|
||||
|
||||
61
cmake/Modules/FindN2P2.cmake
Normal file
61
cmake/Modules/FindN2P2.cmake
Normal file
@ -0,0 +1,61 @@
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
# Check if N2P2_DIR is set manually.
|
||||
if (DEFINED ENV{N2P2_DIR})
|
||||
set(N2P2_DIR "${N2P2_DIR}")
|
||||
# If not, try if directory "lib/hdnnp/n2p2" exists.
|
||||
else()
|
||||
get_filename_component(_fullpath "${LAMMPS_LIB_SOURCE_DIR}/hdnnp/n2p2" REALPATH)
|
||||
if (EXISTS ${_fullpath})
|
||||
set(N2P2_DIR "${_fullpath}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Set path to include directory.
|
||||
find_path(N2P2_INCLUDE_DIR InterfaceLammps.h HINTS "${N2P2_DIR}/include")
|
||||
# Two libraries need to be linked: libnnp and libnnpif.
|
||||
find_library(N2P2_LIBNNP NAMES nnp HINTS "${N2P2_DIR}/lib")
|
||||
find_library(N2P2_LIBNNPIF NAMES nnpif HINTS "${N2P2_DIR}/lib")
|
||||
# Users could compile n2p2 with extra flags which are then also required for
|
||||
# pair_hdnnp.cpp compilation. To forward them to the LAMMPS build process n2p2
|
||||
# writes a file with cmake commands, e.g.
|
||||
#
|
||||
# target_compile_definitions(lammps PRIVATE -DN2P2_NO_SF_GROUPS)
|
||||
#
|
||||
# to "lib/lammps-extra.cmake" which is then included by USER-HDNNP.cmake.
|
||||
find_file(N2P2_CMAKE_EXTRA NAMES lammps-extra.cmake HINTS "${N2P2_DIR}/lib")
|
||||
|
||||
find_package_handle_standard_args(N2P2 DEFAULT_MSG
|
||||
N2P2_DIR
|
||||
N2P2_INCLUDE_DIR
|
||||
N2P2_LIBNNP
|
||||
N2P2_LIBNNPIF
|
||||
N2P2_CMAKE_EXTRA)
|
||||
|
||||
if(N2P2_FOUND)
|
||||
if (NOT TARGET N2P2::N2P2)
|
||||
# n2p2 core library "libnnp"
|
||||
add_library(N2P2::LIBNNP UNKNOWN IMPORTED)
|
||||
set_target_properties(N2P2::LIBNNP PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${N2P2_INCLUDE_DIR}
|
||||
IMPORTED_LOCATION ${N2P2_LIBNNP})
|
||||
# n2p2 interface library "libnnpif"
|
||||
add_library(N2P2::LIBNNPIF UNKNOWN IMPORTED)
|
||||
set_target_properties(N2P2::LIBNNPIF PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${N2P2_INCLUDE_DIR}
|
||||
IMPORTED_LOCATION ${N2P2_LIBNNPIF})
|
||||
# Put libnnp, libnnpif and include directory together.
|
||||
add_library(N2P2::N2P2 INTERFACE IMPORTED)
|
||||
set_property(TARGET N2P2::N2P2 PROPERTY
|
||||
INTERFACE_LINK_LIBRARIES N2P2::LIBNNPIF N2P2::LIBNNP)
|
||||
set(N2P2_CMAKE_EXTRAS ${N2P2_CMAKE_EXTRA})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
mark_as_advanced(
|
||||
N2P2_DIR
|
||||
N2P2_INCLUDE_DIR
|
||||
N2P2_LIBNNP
|
||||
N2P2_LIBNNPIF
|
||||
N2P2_CMAKE_EXTRA
|
||||
)
|
||||
@ -1,6 +1,6 @@
|
||||
message(STATUS "Downloading and building Google Test library")
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(GTEST_LIB_POSTFIX d)
|
||||
else()
|
||||
set(GTEST_LIB_POSTFIX)
|
||||
|
||||
@ -106,7 +106,7 @@ function(FetchPotentials pkgfolder potfolder)
|
||||
endfunction(FetchPotentials)
|
||||
|
||||
# set CMAKE_LINUX_DISTRO and CMAKE_DISTRO_VERSION on Linux
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL Linux) AND (EXISTS /etc/os-release))
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL "Linux") AND (EXISTS /etc/os-release))
|
||||
file(STRINGS /etc/os-release distro REGEX "^NAME=")
|
||||
string(REGEX REPLACE "NAME=\"?([^\"]*)\"?" "\\1" distro "${distro}")
|
||||
file(STRINGS /etc/os-release disversion REGEX "^VERSION_ID=")
|
||||
|
||||
@ -99,7 +99,7 @@ if(PKG_KSPACE)
|
||||
${KOKKOS_PKG_SOURCES_DIR}/gridcomm_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/remap_kokkos.cpp)
|
||||
if(Kokkos_ENABLE_CUDA)
|
||||
if(NOT ${FFT} STREQUAL "KISS")
|
||||
if(NOT (FFT STREQUAL "KISS"))
|
||||
target_compile_definitions(lammps PRIVATE -DFFT_CUFFT)
|
||||
target_link_libraries(lammps PRIVATE cufft)
|
||||
endif()
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
if(LAMMPS_SIZES STREQUAL BIGBIG)
|
||||
if(LAMMPS_SIZES STREQUAL "BIGBIG")
|
||||
message(FATAL_ERROR "The MESSAGE Package is not compatible with -DLAMMPS_BIGBIG")
|
||||
endif()
|
||||
option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF)
|
||||
|
||||
124
cmake/Modules/Packages/USER-HDNNP.cmake
Normal file
124
cmake/Modules/Packages/USER-HDNNP.cmake
Normal file
@ -0,0 +1,124 @@
|
||||
find_package(N2P2 QUIET)
|
||||
if(N2P2_FOUND)
|
||||
set(DOWNLOAD_N2P2_DEFAULT OFF)
|
||||
else()
|
||||
set(DOWNLOAD_N2P2_DEFAULT ON)
|
||||
endif()
|
||||
option(DOWNLOAD_N2P2 "Download n2p2 library instead of using an already installed one)" ${DOWNLOAD_N2P2_DEFAULT})
|
||||
if(DOWNLOAD_N2P2)
|
||||
set(N2P2_URL "https://github.com/CompPhysVienna/n2p2/archive/v2.1.4.tar.gz" CACHE STRING "URL for n2p2 tarball")
|
||||
set(N2P2_MD5 "9595b066636cd6b90b0fef93398297a5" CACHE STRING "MD5 checksum of N2P2 tarball")
|
||||
mark_as_advanced(N2P2_URL)
|
||||
mark_as_advanced(N2P2_MD5)
|
||||
|
||||
# adjust settings from detected compiler to compiler platform in n2p2 library
|
||||
# set compiler specific flag to turn on C++11 syntax (required on macOS and CentOS 7)
|
||||
if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang"))
|
||||
set(N2P2_COMP llvm)
|
||||
set(N2P2_CXX_STD "-std=c++11")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(N2P2_COMP intel)
|
||||
set(N2P2_CXX_STD "-std=c++11")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(N2P2_COMP gnu)
|
||||
set(N2P2_CXX_STD "-std=gnu++11")
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "PGI")
|
||||
set(N2P2_COMP gnu)
|
||||
set(N2P2_CXX_STD "--c++11")
|
||||
else() # default
|
||||
set(N2P2_COMP "")
|
||||
endif()
|
||||
|
||||
# pass on archive creator command. prefer compiler specific version, if set.
|
||||
# important when using cross compiler.
|
||||
if(CMAKE_CXX_COMPILER_AR)
|
||||
set(N2P2_AR ${CMAKE_CXX_COMPILER_AR})
|
||||
else()
|
||||
set(N2P2_AR ${CMAKE_AR})
|
||||
endif()
|
||||
|
||||
# adjust compilation of n2p2 library to whether MPI is requested in LAMMPS or not
|
||||
# need special care for compiling for MPICH2 with Linux-to-Windows cross compiler.
|
||||
if(NOT BUILD_MPI)
|
||||
set(N2P2_PROJECT_OPTIONS "-DN2P2_NO_MPI")
|
||||
else()
|
||||
# get path to MPI include directory when cross-compiling to windows
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING)
|
||||
get_target_property(N2P2_MPI_INCLUDE MPI::MPI_CXX INTERFACE_INCLUDE_DIRECTORIES)
|
||||
set(N2P2_PROJECT_OPTIONS "-I ${N2P2_MPI_INCLUDE} -DMPICH_SKIP_MPICXX=1")
|
||||
set(MPI_CXX_COMPILER ${CMAKE_CXX_COMPILER})
|
||||
endif()
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
get_target_property(N2P2_MPI_INCLUDE MPI::MPI_CXX INTERFACE_INCLUDE_DIRECTORIES)
|
||||
set(N2P2_PROJECT_OPTIONS "-I ${N2P2_MPI_INCLUDE} -DMPICH_SKIP_MPICXX=1")
|
||||
set(MPI_CXX_COMPILER ${CMAKE_CXX_COMPILER})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# override compiler (optimization) flags in n2p2 library to flags used for LAMMPS
|
||||
# specifically -march=native can result in problems when compiling on HPC clusters or with a cross compiler
|
||||
# this convoluted way gets correct quoting/escaping when configuring the external project
|
||||
string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
|
||||
set(N2P2_BUILD_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}} ${N2P2_CXX_STD}")
|
||||
set(N2P2_BUILD_OPTIONS INTERFACES=LAMMPS COMP=${N2P2_COMP} "PROJECT_OPTIONS=${N2P2_PROJECT_OPTIONS}" "PROJECT_DEBUG="
|
||||
"PROJECT_CC=${CMAKE_CXX_COMPILER}" "PROJECT_MPICC=${MPI_CXX_COMPILER}" "PROJECT_CFLAGS=${N2P2_BUILD_FLAGS}"
|
||||
"PROJECT_AR=${N2P2_AR}")
|
||||
# echo final flag for debugging
|
||||
message(STATUS "N2P2 BUILD OPTIONS: ${N2P2_BUILD_OPTIONS}")
|
||||
|
||||
# download compile n2p2 library. much patch MPI calls in LAMMPS interface to accommodate MPI-2 (e.g. for cross-compiling)
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(n2p2_build
|
||||
URL ${N2P2_URL}
|
||||
URL_MD5 ${N2P2_MD5}
|
||||
UPDATE_COMMAND ""
|
||||
CONFIGURE_COMMAND ""
|
||||
PATCH_COMMAND sed -i -e "s/\\(MPI_\\(P\\|Unp\\)ack(\\)/\\1(void *) /" src/libnnpif/LAMMPS/InterfaceLammps.cpp
|
||||
BUILD_COMMAND make -f makefile libnnpif ${N2P2_BUILD_OPTIONS}
|
||||
BUILD_ALWAYS YES
|
||||
INSTALL_COMMAND ""
|
||||
BUILD_IN_SOURCE 1
|
||||
LOG_BUILD ON
|
||||
SOURCE_SUBDIR src/
|
||||
BUILD_BYPRODUCTS <SOURCE_DIR>/lib/libnnp.a <SOURCE_DIR>/lib/libnnpif.a
|
||||
)
|
||||
|
||||
# create imported target LAMMPS::N2P2 from two libraries nnp and nnpif
|
||||
ExternalProject_get_property(n2p2_build SOURCE_DIR)
|
||||
# n2p2 core library "libnnp"
|
||||
add_library(LAMMPS::N2P2::LIBNNP UNKNOWN IMPORTED)
|
||||
set_target_properties(LAMMPS::N2P2::LIBNNP PROPERTIES
|
||||
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libnnp.a"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include")
|
||||
# n2p2 interface library "libnnpif"
|
||||
add_library(LAMMPS::N2P2::LIBNNPIF UNKNOWN IMPORTED)
|
||||
set_target_properties(LAMMPS::N2P2::LIBNNPIF PROPERTIES
|
||||
IMPORTED_LOCATION "${SOURCE_DIR}/lib/libnnpif.a"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${SOURCE_DIR}/include")
|
||||
# nnpif library has MPI calls if MPI is enabled, so we must link with MPI libs
|
||||
if(BUILD_MPI)
|
||||
set_target_properties(LAMMPS::N2P2::LIBNNPIF PROPERTIES
|
||||
INTERFACE_LINK_LIBRARIES MPI::MPI_CXX)
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING)
|
||||
add_dependencies(LAMMPS::N2P2::LIBNNPIF MPI::MPI_CXX)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# final step to define imported target
|
||||
add_library(LAMMPS::N2P2 INTERFACE IMPORTED)
|
||||
set_property(TARGET LAMMPS::N2P2 PROPERTY
|
||||
INTERFACE_LINK_LIBRARIES LAMMPS::N2P2::LIBNNPIF LAMMPS::N2P2::LIBNNP)
|
||||
target_link_libraries(lammps PRIVATE LAMMPS::N2P2)
|
||||
|
||||
add_dependencies(LAMMPS::N2P2 n2p2_build)
|
||||
# work around issues with older CMake versions
|
||||
file(MAKE_DIRECTORY "${SOURCE_DIR}/include")
|
||||
file(MAKE_DIRECTORY "${SOURCE_DIR}/lib")
|
||||
else()
|
||||
find_package(N2P2)
|
||||
if(NOT N2P2_FOUND)
|
||||
message(FATAL_ERROR "n2p2 not found, help CMake to find it by setting N2P2_DIR, or set DOWNLOAD_N2P2=ON to download it")
|
||||
endif()
|
||||
target_link_libraries(lammps PRIVATE N2P2::N2P2)
|
||||
include(${N2P2_CMAKE_EXTRAS})
|
||||
endif()
|
||||
@ -17,7 +17,7 @@ if(DOWNLOAD_MDI)
|
||||
# only ON/OFF are allowed for "mpi" flag when building MDI library
|
||||
# so translate boolean value of BUILD_MPI
|
||||
# always disable MPI when cross-compiling to Windows.
|
||||
if((BUILD_MPI) AND NOT((CMAKE_SYSTEM_NAME STREQUAL Windows) AND CMAKE_CROSSCOMPILING))
|
||||
if((BUILD_MPI) AND NOT((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING))
|
||||
set(MDI_USE_MPI ON)
|
||||
else()
|
||||
set(MDI_USE_MPI OFF)
|
||||
@ -85,7 +85,7 @@ if(DOWNLOAD_MDI)
|
||||
|
||||
endif()
|
||||
# need to add support for dlopen/dlsym, except when compiling for Windows.
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
|
||||
if(NOT (CMAKE_SYSTEM_NAME STREQUAL "Windows"))
|
||||
list(APPEND MDI_DEP_LIBS "${CMAKE_DL_LIBS}")
|
||||
endif()
|
||||
if(MDI_DEP_LIBS)
|
||||
|
||||
@ -9,7 +9,7 @@ function(prevent_in_source_builds)
|
||||
get_filename_component(bindir "${CMAKE_BINARY_DIR}" REALPATH)
|
||||
|
||||
# disallow in-source builds
|
||||
if("${srcdir}" STREQUAL "${bindir}" OR "${srcdir2}" STREQUAL "${bindir}" OR "${srcdir3}" STREQUAL "${bindir}")
|
||||
if(("${srcdir}" STREQUAL "${bindir}") OR ("${srcdir2}" STREQUAL "${bindir}") OR ("${srcdir3}" STREQUAL "${bindir}"))
|
||||
message(FATAL_ERROR "\
|
||||
|
||||
CMake must not to be run in the source directory. \
|
||||
|
||||
@ -19,11 +19,11 @@ if(ENABLE_TESTING)
|
||||
# we need to build and link a LOT of tester executables, so it is worth checking if
|
||||
# a faster linker is available. requires GNU or Clang compiler, newer CMake.
|
||||
# also only verified with Fedora Linux > 30 and Ubuntu <= 18.04 (Ubuntu 20.04 fails)
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL Linux) AND (CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
|
||||
AND ((${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
|
||||
OR (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")))
|
||||
if (((CMAKE_LINUX_DISTRO STREQUAL Ubuntu) AND (CMAKE_DISTRO_VERSION VERSION_LESS_EQUAL 18.04))
|
||||
OR ((CMAKE_LINUX_DISTRO STREQUAL Fedora) AND (CMAKE_DISTRO_VERSION VERSION_GREATER 30)))
|
||||
if((CMAKE_SYSTEM_NAME STREQUAL "Linux") AND (CMAKE_VERSION VERSION_GREATER_EQUAL 3.13)
|
||||
AND ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")))
|
||||
if(((CMAKE_LINUX_DISTRO STREQUAL "Ubuntu") AND (CMAKE_DISTRO_VERSION VERSION_LESS_EQUAL 18.04))
|
||||
OR ((CMAKE_LINUX_DISTRO STREQUAL "Fedora") AND (CMAKE_DISTRO_VERSION VERSION_GREATER 30)))
|
||||
include(CheckCXXCompilerFlag)
|
||||
set(CMAKE_CUSTOM_LINKER_DEFAULT default)
|
||||
check_cxx_compiler_flag(-fuse-ld=lld HAVE_LLD_LINKER_FLAG)
|
||||
@ -58,7 +58,7 @@ if(ENABLE_TESTING)
|
||||
endif()
|
||||
|
||||
# Compiler specific features for testing
|
||||
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
option(ENABLE_COVERAGE "Enable collecting code coverage data" OFF)
|
||||
mark_as_advanced(ENABLE_COVERAGE)
|
||||
if(ENABLE_COVERAGE)
|
||||
|
||||
@ -45,7 +45,7 @@ if(BUILD_LAMMPS_SHELL)
|
||||
target_include_directories(lammps-shell PRIVATE ${LAMMPS_TOOLS_DIR}/lammps-shell)
|
||||
|
||||
# workaround for broken readline pkg-config file on FreeBSD
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
||||
target_include_directories(lammps-shell PRIVATE /usr/local/include)
|
||||
endif()
|
||||
target_link_libraries(lammps-shell PRIVATE lammps PkgConfig::READLINE)
|
||||
|
||||
@ -24,7 +24,7 @@ includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
|
||||
Name: liblammps@LAMMPS_MACHINE@
|
||||
Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library
|
||||
URL: http://lammps.sandia.gov
|
||||
URL: https://www.lammps.org
|
||||
Version: @PROJECT_VERSION@
|
||||
Requires:
|
||||
Libs: -L${libdir} -llammps@LAMMPS_MACHINE@
|
||||
|
||||
@ -7,9 +7,9 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||
SRD VORONOI
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP USER-PACE
|
||||
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN
|
||||
USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD
|
||||
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
|
||||
USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN
|
||||
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
||||
USER-TALLY USER-UEF USER-VTK USER-YAFF)
|
||||
|
||||
|
||||
@ -9,9 +9,9 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||
SRD VORONOI
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-BROWNIAN USER-BOCS USER-CGDNA USER-CGSDK
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD
|
||||
USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD USER-MESONT
|
||||
USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP USER-PACE
|
||||
USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN
|
||||
USER-HDNNP USER-INTEL USER-LB USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD
|
||||
USER-MESONT USER-MGPT USER-MISC USER-MOFFF USER-MOLFILE USER-NETCDF USER-OMP
|
||||
USER-PACE USER-PHONON USER-PLUMED USER-PTM USER-QMMM USER-QTB USER-QUIP USER-RANN
|
||||
USER-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
||||
USER-TALLY USER-UEF USER-VTK USER-YAFF)
|
||||
|
||||
|
||||
@ -2,8 +2,8 @@ set(WIN_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||
GRANULAR KSPACE LATTE MANYBODY MC MISC MLIAP MOLECULE OPT
|
||||
PERI POEMS QEQ REPLICA RIGID SHOCK SNAP SPIN SRD VORONOI
|
||||
USER-ATC USER-AWPMD USER-BOCS USER-BROWNIAN USER-CGDNA USER-CGSDK
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF
|
||||
USER-FEP USER-INTEL USER-MANIFOLD USER-MEAMC USER-MESODPD
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP
|
||||
USER-HDNNP USER-INTEL USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD
|
||||
USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP
|
||||
USER-PACE USER-PHONON USER-PTM USER-QTB USER-REACTION USER-REAXC
|
||||
USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
|
||||
set(PACKAGES_WITH_LIB COMPRESS GPU KIM KOKKOS LATTE MESSAGE MPIIO MSCG
|
||||
PYTHON VORONOI
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-LB USER-MOLFILE USER-MESONT
|
||||
USER-MDI USER-NETCDF USER-PACE USER-PLUMED USER-QMMM USER-QUIP USER-SCAFACOS
|
||||
USER-SMD USER-VTK)
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-H5MD USER-HDNNP USER-LB USER-MOLFILE
|
||||
USER-MESONT USER-MDI USER-NETCDF USER-PACE USER-PLUMED USER-QMMM USER-QUIP
|
||||
USER-SCAFACOS USER-SMD USER-VTK)
|
||||
|
||||
foreach(PKG ${PACKAGES_WITH_LIB})
|
||||
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
||||
|
||||
16
doc/Makefile
16
doc/Makefile
@ -10,7 +10,6 @@ endif
|
||||
BUILDDIR = ${CURDIR}
|
||||
RSTDIR = $(BUILDDIR)/src
|
||||
VENV = $(BUILDDIR)/docenv
|
||||
TXT2RST = $(VENV)/bin/txt2rst
|
||||
ANCHORCHECK = $(VENV)/bin/rst_anchor_check
|
||||
SPHINXCONFIG = $(BUILDDIR)/utils/sphinx-config
|
||||
MATHJAX = $(SPHINXCONFIG)/_static/mathjax
|
||||
@ -59,7 +58,7 @@ SPHINXEXTRA = -E -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiproc
|
||||
# we only want to use explicitly listed files.
|
||||
DOXYFILES = $(shell sed -n -e 's/\#.*$$//' -e '/^ *INPUT \+=/,/^[A-Z_]\+ \+=/p' doxygen/Doxyfile.in | sed -e 's/@LAMMPS_SOURCE_DIR@/..\/src/g' -e 's/\\//g' -e 's/ \+/ /' -e 's/[A-Z_]\+ \+= *\(YES\|NO\|\)//')
|
||||
|
||||
.PHONY: help clean-all clean clean-spelling epub mobi rst html pdf spelling anchor_check style_check xmlgen
|
||||
.PHONY: help clean-all clean clean-spelling epub mobi rst html pdf spelling anchor_check style_check char_check xmlgen
|
||||
|
||||
# ------------------------------------------
|
||||
|
||||
@ -68,7 +67,6 @@ help:
|
||||
@echo "Please use \`make <target>' where <target> is one of"
|
||||
@echo " html create HTML pages in html dir"
|
||||
@echo " pdf create Manual.pdf in this dir"
|
||||
@echo " fetch fetch HTML and PDF files from LAMMPS web site"
|
||||
@echo " epub create ePUB format manual for e-book readers"
|
||||
@echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)"
|
||||
@echo " (requires ebook-convert tool from calibre)"
|
||||
@ -185,13 +183,6 @@ pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
|
||||
@rm -rf latex/PDF/.[sg]*
|
||||
@echo "Build finished. Manual.pdf is in this directory."
|
||||
|
||||
fetch:
|
||||
@rm -rf html_www Manual_www.pdf
|
||||
@curl -s -o Manual_www.pdf http://lammps.sandia.gov/doc/Manual.pdf
|
||||
@curl -s -o lammps-doc.tar.gz http://lammps.sandia.gov/tars/lammps-doc.tar.gz
|
||||
@tar xzf lammps-doc.tar.gz
|
||||
@rm -f lammps-doc.tar.gz
|
||||
|
||||
anchor_check : $(ANCHORCHECK)
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
@ -213,6 +204,9 @@ package_check : $(VENV)
|
||||
deactivate ;\
|
||||
)
|
||||
|
||||
char_check :
|
||||
@( env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst && exit 1 || : )
|
||||
|
||||
xmlgen : doxygen/xml/index.xml
|
||||
|
||||
doxygen/Doxyfile: doxygen/Doxyfile.in
|
||||
@ -238,7 +232,7 @@ $(VENV):
|
||||
$(MATHJAX):
|
||||
@git clone -b 3.1.4 -c advice.detachedHead=0 --depth 1 git://github.com/mathjax/MathJax.git $@
|
||||
|
||||
$(TXT2RST) $(ANCHORCHECK): $(VENV)
|
||||
$(ANCHORCHECK): $(VENV)
|
||||
@( \
|
||||
. $(VENV)/bin/activate; \
|
||||
(cd utils/converters;\
|
||||
|
||||
13
doc/README
13
doc/README
@ -25,16 +25,11 @@ github-development-workflow.md notes on the LAMMPS development workflow
|
||||
include-file-conventions.md notes on LAMMPS' include file conventions
|
||||
documentation_conventions.md notes on writing documentation for LAMMPS
|
||||
|
||||
If you downloaded a LAMMPS tarball from lammps.sandia.gov, then the html
|
||||
If you downloaded a LAMMPS tarball from www.lammps.org, then the html
|
||||
folder and the PDF manual should be included. If you downloaded LAMMPS
|
||||
from GitHub then you either need to download them or build them.
|
||||
from GitHub then you either need to build them.
|
||||
|
||||
(a) You can "fetch" the current HTML and PDF files from the LAMMPS web
|
||||
site. Just type "make fetch". This should create a html_www directory
|
||||
and Manual_www.pdf file. These will always represent the latest published
|
||||
patch/development version of LAMMPS.
|
||||
|
||||
(b) You can build the HTML and PDF files yourself, by typing "make html"
|
||||
You can build the HTML and PDF files yourself, by typing "make html"
|
||||
or by "make pdf", respectively. This requires various tools and files.
|
||||
Some of them have to be installed (more on that below). For the rest the
|
||||
build process will attempt to download and install into a python virtual
|
||||
@ -78,4 +73,4 @@ the tool 'ebook-convert' from the 'calibre' e-book management software
|
||||
----------------
|
||||
|
||||
More details this can be found in the manual itself. The online
|
||||
version is at: https://lammps.sandia.gov/doc/Manual_build.html
|
||||
version is at: https://docs.lammps.org/Build_manual.html
|
||||
|
||||
@ -34,7 +34,7 @@ semiconductors) and coarse-grained or mesoscopic systems. It can be used to
|
||||
model atoms or, more generically, as a parallel particle simulator at the
|
||||
atomic, meso, or continuum scale.
|
||||
|
||||
See https://lammps.sandia.gov/ for more information and documentation.
|
||||
See https://www.lammps.org/ for more information and documentation.
|
||||
|
||||
.SH EXECUTABLE NAME
|
||||
The
|
||||
|
||||
@ -1129,6 +1129,9 @@ Bibliography
|
||||
**(Sutmann)**
|
||||
Sutmann, Arnold, Fahrenberger, et. al., Physical review / E 88(6), 063308 (2013)
|
||||
|
||||
**(Sutmann)** G. Sutmann. ScaFaCoS - a Scalable library of Fast Coulomb Solvers for particle Systems.
|
||||
In Bajaj, Zavattieri, Koslowski, Siegmund, Proceedings of the Society of Engineering Science 51st Annual Technical Meeting. 2014.
|
||||
|
||||
**(Swinburne)**
|
||||
Swinburne and Marinica, Physical Review Letters, 120, 1 (2018)
|
||||
|
||||
@ -1285,9 +1288,6 @@ Bibliography
|
||||
**(Wennberg)**
|
||||
Wennberg, Murtola, Hess, Lindahl, J Chem Theory Comput, 9, 3527 (2013).
|
||||
|
||||
**(Who)**
|
||||
Who, Author2, Author3, J of Long Range Solvers, 35, 164-177 (2012).
|
||||
|
||||
**(Wicaksono1)**
|
||||
Wicaksono, Sinclair, Militzer, Computational Materials Science, 117, 397-405 (2016).
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@ variable VERBOSE set to 1:
|
||||
|
||||
----------
|
||||
|
||||
.. _clang-tidy
|
||||
.. _clang-tidy:
|
||||
|
||||
Enable static code analysis with clang-tidy
|
||||
-------------------------------------------
|
||||
@ -469,12 +469,24 @@ The following options are available.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make check-whitespace # generate coverage report in HTML format
|
||||
make fix-whitespace # generate coverage report in XML format
|
||||
make check-permissions # delete folder with HTML format coverage report
|
||||
make fix-permissions # delete all collected coverage data and HTML output
|
||||
make check-whitespace # search for files with whitespace issues
|
||||
make fix-whitespace # correct whitespace issues in files
|
||||
make check-homepage # search for files with old LAMMPS homepage URLs
|
||||
make fix-homepage # correct LAMMPS homepage URLs in files
|
||||
make check-permissions # search for files with permissions issues
|
||||
make fix-permissions # correct permissions issues in files
|
||||
|
||||
For the code in the ``unittest`` tree we are using the `clang-format`
|
||||
tool (Clang version 8.0 or later is required). If available, the source
|
||||
code files in the ``unittest`` tree can be updated to conform to the
|
||||
formatting settings using ``make format-tests``.
|
||||
For the code in the ``unittest`` and ``src`` trees we are transitioning
|
||||
to use the `clang-format` tool to assist with having a consistent source
|
||||
code style. The `clang-format` command bundled with Clang version 8.0
|
||||
or later is required. The configuration is in files ``.clang-format``
|
||||
in the respective folders. Since the modifications from `clang-format`
|
||||
can be significant and - especially for "legacy style code" - also is
|
||||
not always improving readability, a large number of files currently have
|
||||
a ``// clang-format off`` at the top, which will disable the processing.
|
||||
Over time, files will be refactored and updated to that `clang-format`
|
||||
may be applied to them (at least in part).
|
||||
|
||||
If `clang-format` is available, the source code files in the ``unittest``
|
||||
tree can be updated to conform to the formatting settings using
|
||||
``make format-tests`` and the files in ``src`` with ``make format-src``.
|
||||
|
||||
@ -48,6 +48,7 @@ This is the list of packages that may require additional steps.
|
||||
* :ref:`USER-AWPMD <user-awpmd>`
|
||||
* :ref:`USER-COLVARS <user-colvars>`
|
||||
* :ref:`USER-H5MD <user-h5md>`
|
||||
* :ref:`USER-HDNNP <user-hdnnp>`
|
||||
* :ref:`USER-INTEL <user-intel>`
|
||||
* :ref:`USER-MDI <user-mdi>`
|
||||
* :ref:`USER-MESONT <user-mesont>`
|
||||
@ -1470,6 +1471,60 @@ the HDF5 library.
|
||||
|
||||
----------
|
||||
|
||||
.. _user-hdnnp:
|
||||
|
||||
USER-HDNNP package
|
||||
---------------------------------
|
||||
|
||||
To build with the USER-HDNNP package it is required to download and build the
|
||||
external `n2p2 <https://github.com/CompPhysVienna/n2p2>`__ library ``v2.1.4``
|
||||
(or higher). The LAMMPS build process offers an automatic download and
|
||||
compilation of *n2p2* or allows you to choose the installation directory of
|
||||
*n2p2* manually. Please see the boxes below for the CMake and traditional build
|
||||
system for detailed information.
|
||||
|
||||
In case of a manual installation of *n2p2* you only need to build the *n2p2* core
|
||||
library ``libnnp`` and interface library ``libnnpif``. When using GCC it should
|
||||
suffice to execute ``make libnnpif`` in the *n2p2* ``src`` directory. For more
|
||||
details please see ``lib/hdnnp/README`` and the `n2p2 build documentation
|
||||
<https://compphysvienna.github.io/n2p2/topics/build.html>`__.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: CMake build
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D DOWNLOAD_N2P2=value # download n2p2 for build, value = no (default) or yes
|
||||
-D N2P2_DIR=path # n2p2 base directory (only needed if a custom location)
|
||||
|
||||
If ``DOWNLOAD_N2P2`` is set, the *n2p2* library will be downloaded and
|
||||
built inside the CMake build directory. If the *n2p2* library is already
|
||||
on your system (in a location CMake cannot find it), set the ``N2P2_DIR``
|
||||
to path where *n2p2* is located. If *n2p2* is located directly in
|
||||
``lib/hdnnp/n2p2`` it will be automatically found by CMake.
|
||||
|
||||
.. tab:: Traditional make
|
||||
|
||||
You can download and build the *n2p2* library manually if you prefer;
|
||||
follow the instructions in ``lib/hdnnp/README``\ . You can also do it in
|
||||
one step from the ``lammps/src`` dir, using a command like these, which
|
||||
simply invoke the ``lib/hdnnp/Install.py`` script with the specified args:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make lib-hdnnp # print help message
|
||||
$ make lib-hdnnp args="-b" # download and build in lib/hdnnp/n2p2-...
|
||||
$ make lib-hdnnp args="-b -v 2.1.4" # download and build specific version
|
||||
$ make lib-hdnnp args="-p /usr/local/n2p2" # use the existing n2p2 installation in /usr/local/n2p2
|
||||
|
||||
Note that 3 symbolic (soft) links, ``includelink``, ``liblink`` and
|
||||
``Makefile.lammps``, will be created in ``lib/hdnnp`` to point to
|
||||
``n2p2/include``, ``n2p2/lib`` and ``n2p2/lib/Makefile.lammps-extra``,
|
||||
respectively. When LAMMPS is built in ``src`` it will use these links.
|
||||
|
||||
----------
|
||||
|
||||
.. _user-intel:
|
||||
|
||||
USER-INTEL package
|
||||
|
||||
@ -28,29 +28,18 @@ If you downloaded LAMMPS as a tarball from `the LAMMPS website <lws_>`_,
|
||||
the html folder and the PDF files should be included.
|
||||
|
||||
If you downloaded LAMMPS from the public git repository, then the HTML
|
||||
and PDF files are not included. Instead you need to create them, in one
|
||||
of two ways:
|
||||
|
||||
a. You can "fetch" the current HTML and PDF files from the LAMMPS web
|
||||
site. Just type ``make fetch``. This should download a ``html_www``
|
||||
directory and a ``Manual_www.pdf`` file. Note that if new LAMMPS features
|
||||
have been added more recently than the date of your LAMMPS version, the
|
||||
fetched documentation will include those changes (but your source code
|
||||
will not, unless you update your local repository).
|
||||
|
||||
b. You can build the HTML or PDF files yourself, by typing ``make html``
|
||||
or ``make pdf`` in the ``doc`` folder. This requires various tools
|
||||
and files. Some of them have to be installed (see below). For the
|
||||
rest the build process will attempt to download and install them into
|
||||
and PDF files are not included. You can build the HTML or PDF files yourself,
|
||||
by typing ``make html`` or ``make pdf`` in the ``doc`` folder. This requires
|
||||
various tools and files. Some of them have to be installed (see below). For
|
||||
the rest the build process will attempt to download and install them into
|
||||
a python virtual environment and local folders.
|
||||
|
||||
A current version of the manual (latest patch release, aka unstable
|
||||
branch) is is available online at:
|
||||
`https://lammps.sandia.gov/doc/Manual.html
|
||||
<https://lammps.sandia.gov/doc/Manual.html>`_ A version of the manual
|
||||
corresponding to the ongoing development (aka master branch) is
|
||||
available online at: `https://docs.lammps.org/
|
||||
<https://docs.lammps.org/>`_
|
||||
`https://docs.lammps.org/Manual.html <https://docs.lammps.org/Manual.html>`_.
|
||||
A version of the manual corresponding to the ongoing development (aka master branch)
|
||||
is available online at: `https://docs.lammps.org/latest/
|
||||
<https://docs.lammps.org/latest/>`_
|
||||
|
||||
Build using GNU make
|
||||
--------------------
|
||||
@ -257,4 +246,4 @@ the file ``lammps/doc/utils/sphinx-config/false_positives.txt``.
|
||||
|
||||
.. _rst: https://docutils.readthedocs.io/en/sphinx-docs/user/rst/quickstart.html
|
||||
|
||||
.. _lws: https://lammps.sandia.gov
|
||||
.. _lws: https://www.lammps.org
|
||||
|
||||
@ -30,17 +30,17 @@ steps, as explained on the :doc:`Build extras <Build_extras>` page.
|
||||
These links take you to the extra instructions for those select
|
||||
packages:
|
||||
|
||||
+--------------------------------------+--------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
||||
| :ref:`COMPRESS <compress>` | :ref:`GPU <gpu>` | :ref:`KIM <kim>` | :ref:`KOKKOS <kokkos>` | :ref:`LATTE <latte>` | :ref:`MESSAGE <message>` |
|
||||
+--------------------------------------+--------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
||||
| :ref:`MSCG <mscg>` | :ref:`OPT <opt>` | :ref:`POEMS <poems>` | :ref:`PYTHON <python>` | :ref:`VORONOI <voronoi>` | :ref:`USER-ADIOS <user-adios>` |
|
||||
+--------------------------------------+--------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`USER-ATC <user-atc>` | :ref:`USER-AWPMD <user-awpmd>` | :ref:`USER-COLVARS <user-colvars>` | :ref:`USER-H5MD <user-h5md>` | :ref:`USER-INTEL <user-intel>` | :ref:`USER-MOLFILE <user-molfile>` |
|
||||
+--------------------------------------+--------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`USER-NETCDF <user-netcdf>` | :ref:`USER-PACE <user-pace>` | :ref:`USER-PLUMED <user-plumed>` | :ref:`USER-OMP <user-omp>` | :ref:`USER-QMMM <user-qmmm>` | :ref:`USER-QUIP <user-quip>` |
|
||||
+--------------------------------------+--------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
| :ref:`USER-SCAFACOS <user-scafacos>` | :ref:`USER-SMD <user-smd>` | :ref:`USER-VTK <user-vtk>` | | | |
|
||||
+--------------------------------------+--------------------------------+------------------------------------+------------------------------+--------------------------------+--------------------------------------+
|
||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
||||
| :ref:`USER-ATC <user-atc>` | :ref:`USER-AWPMD <user-awpmd>` | :ref:`USER-COLVARS <user-colvars>` | :ref:`USER-H5MD <user-h5md>` | :ref:`USER-HDNNP <user-hdnnp>` | :ref:`USER-INTEL <user-intel>` |
|
||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
||||
| :ref:`USER-MOLFILE <user-molfile>` | :ref:`USER-NETCDF <user-netcdf>` | :ref:`USER-PACE <user-pace>` | :ref:`USER-PLUMED <user-plumed>` | :ref:`USER-OMP <user-omp>` | :ref:`USER-QMMM <user-qmmm>` |
|
||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
||||
| :ref:`USER-QUIP <user-quip>` | :ref:`USER-SCAFACOS <user-scafacos>` | :ref:`USER-SMD <user-smd>` | :ref:`USER-VTK <user-vtk>` | | |
|
||||
+--------------------------------------+--------------------------------------+------------------------------------+----------------------------------+--------------------------------+--------------------------------+
|
||||
|
||||
The mechanism for including packages is simple but different for CMake
|
||||
versus make.
|
||||
|
||||
@ -118,6 +118,7 @@ OPT.
|
||||
* :doc:`gw/zbl <pair_gw>`
|
||||
* :doc:`hbond/dreiding/lj (o) <pair_hbond_dreiding>`
|
||||
* :doc:`hbond/dreiding/morse (o) <pair_hbond_dreiding>`
|
||||
* :doc:`hdnnp <pair_hdnnp>`
|
||||
* :doc:`ilp/graphene/hbn <pair_ilp_graphene_hbn>`
|
||||
* :doc:`kolmogorov/crespi/full <pair_kolmogorov_crespi_full>`
|
||||
* :doc:`kolmogorov/crespi/z <pair_kolmogorov_crespi_z>`
|
||||
|
||||
@ -5,8 +5,8 @@ If you are confident that you have found a bug in LAMMPS, please follow
|
||||
the steps outlined below:
|
||||
|
||||
* Check the `New features and bug fixes
|
||||
<https://lammps.sandia.gov/bug.html>`_ section of the `LAMMPS WWW site
|
||||
<https://lammps.sandia.gov>`_ or the
|
||||
<https://www.lammps.org/bug.html>`_ section of the `LAMMPS WWW site
|
||||
<https://www.lammps.org>`_ or the
|
||||
`GitHub Releases page <https://github.com/lammps/lammps/releases>`_ to
|
||||
see if the bug has already been addressed in a patch release.
|
||||
* Check that your issue can be reproduced with the latest development
|
||||
@ -17,7 +17,7 @@ the steps outlined below:
|
||||
if your issue has already been reported and if it is still open.
|
||||
* Check the `GitHub Pull Requests page <https://github.com/lammps/lammps/pulls>`_
|
||||
to see if there is already a fix for your bug pending.
|
||||
* Check the `mailing list archives <https://lammps.sandia.gov/mail.html>`_
|
||||
* Check the `mailing list archives <https://www.lammps.org/mail.html>`_
|
||||
to see if the issue has been discussed before.
|
||||
|
||||
If none of these steps yields any useful information, please file a new
|
||||
|
||||
@ -39,7 +39,7 @@ figure out your physics or numerical mistakes, like choosing too big a
|
||||
timestep, specifying erroneous force field coefficients, or putting 2
|
||||
atoms on top of each other! If you run into errors that LAMMPS
|
||||
does not catch that you think it should flag, please send an email to
|
||||
the `developers <https://lammps.sandia.gov/authors.html>`_.
|
||||
the `developers <https://www.lammps.org/authors.html>`_.
|
||||
|
||||
If you get an error message about an invalid command in your input
|
||||
script, you can determine what command is causing the problem by
|
||||
|
||||
@ -3871,7 +3871,7 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
|
||||
*Fix orient/fcc found self twice*
|
||||
The neighbor lists used by fix orient/fcc are messed up. If this
|
||||
error occurs, it is likely a bug, so send an email to the
|
||||
`developers <https://lammps.sandia.gov/authors.html>`_.
|
||||
`developers <https://www.lammps.org/authors.html>`_.
|
||||
|
||||
*Fix peri neigh does not exist*
|
||||
Somehow a fix that the pair style defines has been deleted.
|
||||
|
||||
@ -18,7 +18,7 @@ files and image files.
|
||||
|
||||
If you uncomment the :doc:`dump <dump>` command in the input script, a
|
||||
text dump file will be produced, which can be animated by various
|
||||
`visualization programs <https://lammps.sandia.gov/viz.html>`_.
|
||||
`visualization programs <https://www.lammps.org/viz.html>`_.
|
||||
|
||||
If you uncomment the :doc:`dump image <dump>` command in the input
|
||||
script, and assuming you have built LAMMPS with a JPG library, JPG
|
||||
@ -27,7 +27,7 @@ be quickly post-processed into a movie using commands described on the
|
||||
:doc:`dump image <dump_image>` doc page.
|
||||
|
||||
Animations of many of the examples can be viewed on the Movies section
|
||||
of the `LAMMPS web site <https://lammps.sandia.gov/movies.html>`_.
|
||||
of the `LAMMPS web site <https://www.lammps.org/movies.html>`_.
|
||||
|
||||
There are two kinds of sub-directories in the examples folder. Lower
|
||||
case named directories contain one or a few simple, quick-to-run
|
||||
@ -166,7 +166,7 @@ Here is how you can run and visualize one of the sample problems:
|
||||
Running the simulation produces the files *dump.indent* and
|
||||
*log.lammps*\ . You can visualize the dump file of snapshots with a
|
||||
variety of third-party tools highlighted on the
|
||||
`Visualization <https://lammps.sandia.gov/viz.html>`_ page of the LAMMPS
|
||||
`Visualization <https://www.lammps.org/viz.html>`_ page of the LAMMPS
|
||||
web site.
|
||||
|
||||
If you uncomment the :doc:`dump image <dump_image>` line(s) in the input
|
||||
|
||||
@ -3,7 +3,7 @@ Howto discussions
|
||||
|
||||
These doc pages describe how to perform various tasks with LAMMPS,
|
||||
both for users and developers. The
|
||||
`glossary <https://lammps.sandia.gov/glossary.html>`_ website page also lists MD
|
||||
`glossary <https://www.lammps.org/glossary.html>`_ website page also lists MD
|
||||
terminology with links to corresponding LAMMPS manual pages. The
|
||||
example input scripts included in the examples directory of the LAMMPS
|
||||
distribution and highlighted on the :doc:`Examples <Examples>` doc page
|
||||
|
||||
@ -201,7 +201,7 @@ build configuration and any binaries generated during compilation.
|
||||
|
||||
There are countless ways to compile LAMMPS. It is beyond the scope of this
|
||||
tutorial. If you want to find out more about what can be enabled, please
|
||||
consult the extensive `documentation <https://lammps.sandia.gov/doc/Build_cmake.html>`_.
|
||||
consult the extensive `documentation <https://docs.lammps.org/Build_cmake.html>`_.
|
||||
|
||||
To compile a minimal version of LAMMPS, we're going to use a preset.
|
||||
Presets are a way to specify a collection of CMake options using a file.
|
||||
|
||||
@ -78,7 +78,7 @@ this is as follows.
|
||||
$ git checkout tagID
|
||||
|
||||
Stable versions and what tagID to use for a particular stable version
|
||||
are discussed on `this page <https://lammps.sandia.gov/bug.html#version>`_.
|
||||
are discussed on `this page <https://www.lammps.org/bug.html#version>`_.
|
||||
Note that this command will print some warnings, because in order to get
|
||||
back to the latest revision and to be able to update with ``git pull``
|
||||
again, you will need to do ``git checkout unstable`` (or
|
||||
|
||||
@ -10,7 +10,7 @@ If you prefer to download a tarball, as described on the
|
||||
:doc:`tarball download <Install_tarball>` page, you can stay current by
|
||||
downloading "patch files" when new patch releases are made. A link to
|
||||
a patch file is posted on the
|
||||
`bug fixes and new feature page <https://lammps.sandia.gov/bug.html>`_
|
||||
`bug fixes and new feature page <https://www.lammps.org/bug.html>`_
|
||||
of the LAMMPS website, along
|
||||
with a list of changed files and details about what is in the new patch
|
||||
release. This page explains how to apply the patch file to your local
|
||||
|
||||
@ -4,10 +4,10 @@ Download source and documentation as a tarball
|
||||
You can download a current LAMMPS tarball from the `download page <download_>`_
|
||||
of the `LAMMPS website <lws_>`_.
|
||||
|
||||
.. _download: https://lammps.sandia.gov/download.html
|
||||
.. _bug: https://lammps.sandia.gov/bug.html
|
||||
.. _older: https://lammps.sandia.gov/tars
|
||||
.. _lws: https://lammps.sandia.gov
|
||||
.. _download: https://www.lammps.org/download.html
|
||||
.. _bug: https://www.lammps.org/bug.html
|
||||
.. _older: https://www.lammps.org/tars
|
||||
.. _lws: https://www.lammps.org
|
||||
|
||||
You have two choices of tarballs, either the most recent stable
|
||||
release or the most current patch release. Stable releases occur a
|
||||
|
||||
@ -11,14 +11,14 @@ University:
|
||||
* Richard Berger, richard.berger at temple.edu
|
||||
|
||||
.. _sjp: http://www.cs.sandia.gov/~sjplimp
|
||||
.. _lws: https://lammps.sandia.gov
|
||||
.. _lws: https://www.lammps.org
|
||||
|
||||
Past developers include Paul Crozier and Mark Stevens, both at Sandia,
|
||||
and Ray Shan, now at Materials Design.
|
||||
|
||||
----------
|
||||
|
||||
The `Authors page <https://lammps.sandia.gov/authors.html>`_ of the
|
||||
The `Authors page <https://www.lammps.org/authors.html>`_ of the
|
||||
`LAMMPS website <lws_>`_ has a comprehensive list of all the individuals
|
||||
who have contributed code for a new feature or command or tool to
|
||||
LAMMPS.
|
||||
@ -46,7 +46,7 @@ general-purpose as it is without their expertise and efforts.
|
||||
|
||||
----------
|
||||
|
||||
As discussed on the `History page <https://lammps.sandia.gov/history.html>`_ of the website, LAMMPS
|
||||
As discussed on the `History page <https://www.lammps.org/history.html>`_ of the website, LAMMPS
|
||||
originated as a cooperative project between DOE labs and industrial
|
||||
partners. Folks involved in the design and testing of the original
|
||||
version of LAMMPS were the following:
|
||||
|
||||
@ -38,8 +38,8 @@ In addition there are DOIs for individual stable releases. Currently there are:
|
||||
Home page
|
||||
^^^^^^^^^
|
||||
|
||||
The LAMMPS website at `https://lammps.sandia.gov/
|
||||
<https://lammps.sandia.gov>`_ is the canonical location for information
|
||||
The LAMMPS website at `https://www.lammps.org/
|
||||
<https://www.lammps.org>`_ is the canonical location for information
|
||||
about LAMMPS and its features.
|
||||
|
||||
Citing contributions
|
||||
|
||||
@ -33,7 +33,7 @@ Here are suggestions on how to perform these tasks:
|
||||
linear bead-spring polymer chains. The moltemplate program is a true
|
||||
molecular builder that will generate complex molecular models. See
|
||||
the :doc:`Tools <Tools>` doc page for details on tools packaged with
|
||||
LAMMPS. The `Pre/post processing page <http:/lammps.sandia.gov/prepost.html>`_ of the LAMMPS website
|
||||
LAMMPS. The `Pre/post processing page <http:/www.lammps.org/prepost.html>`_ of the LAMMPS website
|
||||
describes a variety of third party tools for this task. Furthermore,
|
||||
some LAMMPS internal commands allow to reconstruct, or selectively add
|
||||
topology information, as well as provide the option to insert molecule
|
||||
@ -67,7 +67,7 @@ Here are suggestions on how to perform these tasks:
|
||||
them to an external program, `FFmpeg <https://www.ffmpeg.org>`_ to generate
|
||||
movies from them. For high-quality, interactive visualization there are
|
||||
many excellent and free tools available. See the
|
||||
`Visualization Tools <https://lammps.sandia.gov/viz.html>`_ page of the
|
||||
`Visualization Tools <https://www.lammps.org/viz.html>`_ page of the
|
||||
LAMMPS website for
|
||||
visualization packages that can process LAMMPS output data.
|
||||
* **Plotting:** See the next bullet about Pizza.py as well as the
|
||||
|
||||
@ -16,10 +16,10 @@ shared-memory boxes and distributed-memory clusters and
|
||||
supercomputers.
|
||||
|
||||
.. _mpi: https://en.wikipedia.org/wiki/Message_Passing_Interface
|
||||
.. _lws: https://lammps.sandia.gov
|
||||
.. _lws: https://www.lammps.org
|
||||
|
||||
LAMMPS is written in C++. Earlier versions were written in F77 and
|
||||
F90. See the `History page <https://lammps.sandia.gov/history.html>`_ of
|
||||
F90. See the `History page <https://www.lammps.org/history.html>`_ of
|
||||
the website for details. All versions can be downloaded from the
|
||||
`LAMMPS website <lws_>`_.
|
||||
|
||||
|
||||
@ -5,31 +5,31 @@ The `LAMMPS website <lws_>`_ has a variety of additional info about
|
||||
LAMMPS, beyond what is in this manual. Some other useful resources
|
||||
available online are listed below.
|
||||
|
||||
.. _lws: https://lammps.sandia.gov
|
||||
.. _lws: https://www.lammps.org
|
||||
|
||||
* `Brief intro and recently added significant features <lws_>`_
|
||||
* `List of features <https://lammps.sandia.gov/doc/Intro_features.html>`_
|
||||
* `List of non-features <https://lammps.sandia.gov/doc/Intro_nonfeatures.html>`_
|
||||
* `Recent bug fixes and new features <https://lammps.sandia.gov/bug.html>`_
|
||||
* `List of features <https://docs.lammps.org/Intro_features.html>`_
|
||||
* `List of non-features <https://docs.lammps.org/Intro_nonfeatures.html>`_
|
||||
* `Recent bug fixes and new features <https://www.lammps.org/bug.html>`_
|
||||
|
||||
* `Download info <https://lammps.sandia.gov/download.html>`_
|
||||
* `Download info <https://www.lammps.org/download.html>`_
|
||||
* `GitHub site <https://github.com/lammps/lammps>`_
|
||||
* `SourceForge site <https://sourceforge.net/projects/lammps>`_
|
||||
* `LAMMPS open-source license <https://lammps.sandia.gov/doc/Intro_opensource.html>`_
|
||||
* `LAMMPS open-source license <https://docs.lammps.org/Intro_opensource.html>`_
|
||||
|
||||
* `Glossary of terms relevant to LAMMPS <https://lammps.sandia.gov/glossary.html>`_
|
||||
* `LAMMPS highlights with images <https://lammps.sandia.gov/pictures.html>`_
|
||||
* `LAMMPS highlights with movies <https://lammps.sandia.gov/movies.html>`_
|
||||
* `Mail list <https://lammps.sandia.gov/mail.html>`_
|
||||
* `Workshops <https://lammps.sandia.gov/workshops.html>`_
|
||||
* `Tutorials <https://lammps.sandia.gov/tutorials.html>`_
|
||||
* `Glossary of terms relevant to LAMMPS <https://www.lammps.org/glossary.html>`_
|
||||
* `LAMMPS highlights with images <https://www.lammps.org/pictures.html>`_
|
||||
* `LAMMPS highlights with movies <https://www.lammps.org/movies.html>`_
|
||||
* `Mail list <https://www.lammps.org/mail.html>`_
|
||||
* `Workshops <https://www.lammps.org/workshops.html>`_
|
||||
* `Tutorials <https://www.lammps.org/tutorials.html>`_
|
||||
|
||||
* `Pre- and post-processing tools for LAMMPS <https://lammps.sandia.gov/prepost.html>`_
|
||||
* `Other software usable with LAMMPS <https://lammps.sandia.gov/offsite.html>`_
|
||||
* `Viz tools usable with LAMMPS <https://lammps.sandia.gov/viz.html>`_
|
||||
* `Pre- and post-processing tools for LAMMPS <https://www.lammps.org/prepost.html>`_
|
||||
* `Other software usable with LAMMPS <https://www.lammps.org/offsite.html>`_
|
||||
* `Viz tools usable with LAMMPS <https://www.lammps.org/viz.html>`_
|
||||
|
||||
* `Benchmark performance <https://lammps.sandia.gov/bench.html>`_
|
||||
* `Publications that have cited LAMMPS <https://lammps.sandia.gov/papers.html>`_
|
||||
* `Authors of LAMMPS <https://lammps.sandia.gov/authors.html>`_
|
||||
* `History of LAMMPS development <https://lammps.sandia.gov/history.html>`_
|
||||
* `Funding for LAMMPS <https://lammps.sandia.gov/funding.html>`_
|
||||
* `Benchmark performance <https://www.lammps.org/bench.html>`_
|
||||
* `Publications that have cited LAMMPS <https://www.lammps.org/papers.html>`_
|
||||
* `Authors of LAMMPS <https://www.lammps.org/authors.html>`_
|
||||
* `History of LAMMPS development <https://www.lammps.org/history.html>`_
|
||||
* `Funding for LAMMPS <https://www.lammps.org/funding.html>`_
|
||||
|
||||
@ -15,7 +15,7 @@ the GNU Public License (GPL).
|
||||
|
||||
The `LAMMPS website <lws_>`_ has a variety of information about the
|
||||
code. It includes links to an on-line version of this manual, a
|
||||
`mailing list <https://lammps.sandia.gov/mail.html>`_ where users can
|
||||
`mailing list <https://www.lammps.org/mail.html>`_ where users can
|
||||
post questions, and a `GitHub site <https://github.com/lammps/lammps>`_
|
||||
where all LAMMPS development is coordinated.
|
||||
|
||||
@ -30,11 +30,13 @@ please :ref:`see this note <webbrowser>`.
|
||||
|
||||
-----------
|
||||
|
||||
The manual is organized in two parts:
|
||||
The manual is organized in three parts:
|
||||
1) the :ref:`User Guide <user_documentation>` for how to install
|
||||
and use LAMMPS and 2) the :ref:`Programmer Guide <programmer_documentation>`
|
||||
and use LAMMPS, 2) the :ref:`Programmer Guide <programmer_documentation>`
|
||||
for how to write programs using the LAMMPS library from different
|
||||
programming languages and how to modify and extend LAMMPS.
|
||||
programming languages and how to modify and extend LAMMPS, and 3) the
|
||||
:ref:`Command Reference <command_reference>` which includes detailed
|
||||
descriptions of all commands included in the LAMMPS code.
|
||||
|
||||
.. only:: html
|
||||
|
||||
@ -42,7 +44,7 @@ programming languages and how to modify and extend LAMMPS.
|
||||
:doc:`this page <Commands_all>` since it gives quick access
|
||||
the documentation for all LAMMPS commands.
|
||||
|
||||
.. _lws: https://lammps.sandia.gov
|
||||
.. _lws: https://www.lammps.org
|
||||
|
||||
----------
|
||||
|
||||
@ -129,4 +131,4 @@ Indices and tables
|
||||
where parts of the pages are not rendered as expected (e.g. the layout is
|
||||
broken or mathematical expressions not typeset). In that case we
|
||||
recommend to install/use a different/newer web browser or use
|
||||
the `PDF version of the manual <https://lammps.sandia.gov/doc/Manual.pdf>`_.
|
||||
the `PDF version of the manual <https://docs.lammps.org/Manual.pdf>`_.
|
||||
|
||||
@ -5,7 +5,7 @@ The LAMMPS "version" is the date when it was released, such as 1 May
|
||||
2014. LAMMPS is updated continuously. Whenever we fix a bug or add a
|
||||
feature, we release it in the next *patch* release, which are
|
||||
typically made every couple of weeks. Info on patch releases are on
|
||||
`this website page <https://lammps.sandia.gov/bug.html>`_. Every few
|
||||
`this website page <https://www.lammps.org/bug.html>`_. Every few
|
||||
months, the latest patch release is subjected to more thorough testing
|
||||
and labeled as a *stable* version.
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@ Submitting new features for inclusion in LAMMPS
|
||||
===============================================
|
||||
|
||||
We encourage users to submit new features or modifications for LAMMPS to
|
||||
`the core developers <https://lammps.sandia.gov/authors.html>`_ so they
|
||||
`the core developers <https://www.lammps.org/authors.html>`_ so they
|
||||
can be added to the LAMMPS distribution. The preferred way to manage and
|
||||
coordinate this is via the LAMMPS project on `GitHub
|
||||
<https://github.com/lammps/lammps>`_. Please see the :doc:`GitHub
|
||||
@ -31,7 +31,7 @@ send an e-mail to ``slack@lammps.org`` explaining what part of LAMMPS
|
||||
you are working on. Only discussions related to LAMMPS development are
|
||||
tolerated, so this is **NOT** for people that look for help with compiling,
|
||||
installing, or using LAMMPS. Please contact the `lammps-users mailing
|
||||
list <https://lammps.sandia.gov/mail.html>`_ for those purposes instead.
|
||||
list <https://www.lammps.org/mail.html>`_ for those purposes instead.
|
||||
|
||||
How quickly your contribution will be integrated depends largely on how
|
||||
much effort it will cause to integrate and test it, how many and what
|
||||
@ -67,7 +67,7 @@ distribution removed (e.g. interface to FFTW). See the
|
||||
|
||||
With user packages and files, all we are really providing (aside from
|
||||
the fame and fortune that accompanies having your name in the source
|
||||
code and on the `Authors page <https://lammps.sandia.gov/authors.html>`_
|
||||
code and on the `Authors page <https://www.lammps.org/authors.html>`_
|
||||
of the `LAMMPS WWW site <lws_>`_), is a means for you to distribute your
|
||||
work to the LAMMPS user community, and a mechanism for others to
|
||||
easily try out your new feature. This may help you find bugs or make
|
||||
@ -81,13 +81,13 @@ unusual event).
|
||||
If you prefer to actively develop and support your add-on
|
||||
feature yourself, then you may wish to make it available for download
|
||||
from your own website, as a user package that LAMMPS users can add to
|
||||
their copy of LAMMPS. See the `Offsite LAMMPS packages and tools <https://lammps.sandia.gov/offsite.html>`_ page of the LAMMPS web
|
||||
their copy of LAMMPS. See the `Offsite LAMMPS packages and tools <https://www.lammps.org/offsite.html>`_ page of the LAMMPS web
|
||||
site for examples of groups that do this. We are happy to advertise
|
||||
your package and web site from that page. Simply email the
|
||||
`developers <https://lammps.sandia.gov/authors.html>`_ with info about
|
||||
`developers <https://www.lammps.org/authors.html>`_ with info about
|
||||
your package and we will post it there.
|
||||
|
||||
.. _lws: https://lammps.sandia.gov
|
||||
.. _lws: https://www.lammps.org
|
||||
|
||||
The previous sections of this doc page describe how to add new "style"
|
||||
files of various kinds to LAMMPS. Packages are simply collections of
|
||||
@ -96,7 +96,7 @@ LAMMPS input script. If designed correctly, these additions typically
|
||||
do not require changes to the main core of LAMMPS; they are simply
|
||||
add-on files. If you think your new feature requires non-trivial
|
||||
changes in core LAMMPS files, you should `communicate with the
|
||||
developers <https://lammps.sandia.gov/authors.html>`_, since we may or
|
||||
developers <https://www.lammps.org/authors.html>`_, since we may or
|
||||
may not want to include those changes for some reason. An example of a
|
||||
trivial change is making a parent-class method "virtual" when you derive
|
||||
a new child class from it.
|
||||
|
||||
@ -79,6 +79,7 @@ page gives those details.
|
||||
* :ref:`USER-EFF <PKG-USER-EFF>`
|
||||
* :ref:`USER-FEP <PKG-USER-FEP>`
|
||||
* :ref:`USER-H5MD <PKG-USER-H5MD>`
|
||||
* :ref:`USER-HDNNP <PKG-USER-HDNNP>`
|
||||
* :ref:`USER-INTEL <PKG-USER-INTEL>`
|
||||
* :ref:`USER-LB <PKG-USER-LB>`
|
||||
* :ref:`USER-MANIFOLD <PKG-USER-MANIFOLD>`
|
||||
@ -133,8 +134,8 @@ particle models including ellipsoids, 2d lines, and 3d triangles.
|
||||
* `doc/PDF/pair_resquared_extra.pdf <PDF/pair_resquared_extra.pdf>`_
|
||||
* examples/ASPHERE
|
||||
* examples/ellipse
|
||||
* https://lammps.sandia.gov/movies.html#line
|
||||
* https://lammps.sandia.gov/movies.html#tri
|
||||
* https://www.lammps.org/movies.html#line
|
||||
* https://www.lammps.org/movies.html#tri
|
||||
|
||||
----------
|
||||
|
||||
@ -330,7 +331,7 @@ This package has :ref:`specific installation instructions <gpu>` on the :doc:`Bu
|
||||
* :doc:`package gpu <package>`
|
||||
* :doc:`Commands <Commands_all>` pages (:doc:`pair <Commands_pair>`, :doc:`kspace <Commands_kspace>`)
|
||||
for styles followed by (g)
|
||||
* `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of web site
|
||||
* `Benchmarks page <https://www.lammps.org/bench.html>`_ of web site
|
||||
|
||||
----------
|
||||
|
||||
@ -356,11 +357,11 @@ potentials.
|
||||
* examples/granregion
|
||||
* examples/pour
|
||||
* bench/in.chute
|
||||
* https://lammps.sandia.gov/pictures.html#jamming
|
||||
* https://lammps.sandia.gov/movies.html#hopper
|
||||
* https://lammps.sandia.gov/movies.html#dem
|
||||
* https://lammps.sandia.gov/movies.html#brazil
|
||||
* https://lammps.sandia.gov/movies.html#granregion
|
||||
* https://www.lammps.org/pictures.html#jamming
|
||||
* https://www.lammps.org/movies.html#hopper
|
||||
* https://www.lammps.org/movies.html#dem
|
||||
* https://www.lammps.org/movies.html#brazil
|
||||
* https://www.lammps.org/movies.html#granregion
|
||||
|
||||
----------
|
||||
|
||||
@ -479,7 +480,7 @@ This package has :ref:`specific installation instructions <kokkos>` on the :doc:
|
||||
* Search the :doc:`commands <Commands_all>` pages (:doc:`fix <Commands_fix>`, :doc:`compute <Commands_compute>`,
|
||||
:doc:`pair <Commands_pair>`, :doc:`bond, angle, dihedral, improper <Commands_bond>`,
|
||||
:doc:`kspace <Commands_kspace>`) for styles followed by (k)
|
||||
* `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of web site
|
||||
* `Benchmarks page <https://www.lammps.org/bench.html>`_ of web site
|
||||
|
||||
----------
|
||||
|
||||
@ -603,7 +604,7 @@ bonds, for performing atomic swaps, and performing grand-canonical MC
|
||||
* :doc:`fix tfmc <fix_tfmc>`
|
||||
* :doc:`fix widom <fix_widom>`
|
||||
* :doc:`pair_style dsmc <pair_dsmc>`
|
||||
* https://lammps.sandia.gov/movies.html#gcmc
|
||||
* https://www.lammps.org/movies.html#gcmc
|
||||
|
||||
----------
|
||||
|
||||
@ -660,8 +661,8 @@ listing, "ls src/MISC", to see the list of commands.
|
||||
* :doc:`fix viscosity <fix_viscosity>`
|
||||
* examples/KAPPA
|
||||
* examples/VISCOSITY
|
||||
* https://lammps.sandia.gov/pictures.html#ttm
|
||||
* https://lammps.sandia.gov/movies.html#evaporation
|
||||
* https://www.lammps.org/pictures.html#ttm
|
||||
* https://www.lammps.org/movies.html#evaporation
|
||||
|
||||
----------
|
||||
|
||||
@ -816,7 +817,7 @@ This package has :ref:`specific installation instructions <opt>` on the :doc:`Bu
|
||||
* :doc:`OPT package <Speed_opt>`
|
||||
* :doc:`Section 2.6 -sf opt <Run_options>`
|
||||
* Search the :doc:`pair style <Commands_pair>` page for styles followed by (t)
|
||||
* `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of web site
|
||||
* `Benchmarks page <https://www.lammps.org/bench.html>`_ of web site
|
||||
|
||||
----------
|
||||
|
||||
@ -847,7 +848,7 @@ Foster (UTSA).
|
||||
* :doc:`compute damage/atom <compute_damage_atom>`
|
||||
* :doc:`compute plasticity/atom <compute_plasticity_atom>`
|
||||
* examples/peri
|
||||
* https://lammps.sandia.gov/movies.html#peri
|
||||
* https://www.lammps.org/movies.html#peri
|
||||
|
||||
----------
|
||||
|
||||
@ -1008,8 +1009,8 @@ Also several computes which calculate properties of rigid bodies.
|
||||
* examples/ASPHERE
|
||||
* examples/rigid
|
||||
* bench/in.rhodo
|
||||
* https://lammps.sandia.gov/movies.html#box
|
||||
* https://lammps.sandia.gov/movies.html#star
|
||||
* https://www.lammps.org/movies.html#box
|
||||
* https://www.lammps.org/movies.html#star
|
||||
|
||||
----------
|
||||
|
||||
@ -1110,9 +1111,9 @@ colloidal particles.
|
||||
* :doc:`fix wall/srd <fix_wall_srd>`
|
||||
* examples/srd
|
||||
* examples/ASPHERE
|
||||
* https://lammps.sandia.gov/movies.html#tri
|
||||
* https://lammps.sandia.gov/movies.html#line
|
||||
* https://lammps.sandia.gov/movies.html#poly
|
||||
* https://www.lammps.org/movies.html#tri
|
||||
* https://www.lammps.org/movies.html#line
|
||||
* https://www.lammps.org/movies.html#poly
|
||||
|
||||
----------
|
||||
|
||||
@ -1204,7 +1205,7 @@ This package has :ref:`specific installation instructions <user-atc>` on the :do
|
||||
* src/USER-ATC/README
|
||||
* :doc:`fix atc <fix_atc>`
|
||||
* examples/USER/atc
|
||||
* https://lammps.sandia.gov/pictures.html#atc
|
||||
* https://www.lammps.org/pictures.html#atc
|
||||
|
||||
----------
|
||||
|
||||
@ -1337,7 +1338,7 @@ acids.
|
||||
* :doc:`pair_style lj/sdk/\* <pair_sdk>`
|
||||
* :doc:`angle_style sdk <angle_sdk>`
|
||||
* examples/USER/cgsdk
|
||||
* https://lammps.sandia.gov/pictures.html#cg
|
||||
* https://www.lammps.org/pictures.html#cg
|
||||
|
||||
----------
|
||||
|
||||
@ -1574,7 +1575,7 @@ tools/eff; see its README file.
|
||||
* examples/USER/eff
|
||||
* tools/eff/README
|
||||
* tools/eff
|
||||
* https://lammps.sandia.gov/movies.html#eff
|
||||
* https://www.lammps.org/movies.html#eff
|
||||
|
||||
----------
|
||||
|
||||
@ -1639,6 +1640,39 @@ This package has :ref:`specific installation instructions <user-h5md>` on the :d
|
||||
|
||||
----------
|
||||
|
||||
.. _PKG-USER-HDNNP:
|
||||
|
||||
USER-HDNNP package
|
||||
------------------
|
||||
|
||||
**Contents:**
|
||||
|
||||
A :doc:`pair_style hdnnp <pair_hdnnp>` command which allows to use
|
||||
high-dimensional neural network potentials (HDNNPs), a form of machine learning
|
||||
potentials. HDNNPs must be carefully trained prior to their application in a
|
||||
molecular dynamics simulation.
|
||||
|
||||
.. _n2p2: https://github.com/CompPhysVienna/n2p2
|
||||
|
||||
To use this package you must have the `n2p2 <n2p2_>`_ library installed and
|
||||
compiled on your system.
|
||||
|
||||
**Author:** Andreas Singraber
|
||||
|
||||
**Install:**
|
||||
|
||||
This package has :ref:`specific installation instructions <user-hdnnp>` on the :doc:`Build extras <Build_extras>` page.
|
||||
|
||||
**Supporting info:**
|
||||
|
||||
* src/USER-HDNNP: filenames -> commands
|
||||
* src/USER-HDNNP/README
|
||||
* lib/hdnnp/README
|
||||
* :doc:`pair_style hdnnp <pair_hdnnp>`
|
||||
* examples/USER/hdnnp
|
||||
|
||||
----------
|
||||
|
||||
.. _PKG-USER-INTEL:
|
||||
|
||||
USER-INTEL package
|
||||
@ -1683,7 +1717,7 @@ This package has :ref:`specific installation instructions <user-intel>` on the :
|
||||
* Search the :doc:`commands <Commands_all>` pages (:doc:`fix <Commands_fix>`, :doc:`compute <Commands_compute>`,
|
||||
:doc:`pair <Commands_pair>`, :doc:`bond, angle, dihedral, improper <Commands_bond>`, :doc:`kspace <Commands_kspace>`) for styles followed by (i)
|
||||
* src/USER-INTEL/TEST
|
||||
* `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of web site
|
||||
* `Benchmarks page <https://www.lammps.org/bench.html>`_ of web site
|
||||
|
||||
----------
|
||||
|
||||
@ -1788,7 +1822,7 @@ Waltham, MA, USA)
|
||||
* :doc:`fix nve/manifold/rattle <fix_nve_manifold_rattle>`
|
||||
* :doc:`fix nvt/manifold/rattle <fix_nvt_manifold_rattle>`
|
||||
* examples/USER/manifold
|
||||
* https://lammps.sandia.gov/movies.html#manifold
|
||||
* https://www.lammps.org/movies.html#manifold
|
||||
|
||||
----------
|
||||
|
||||
@ -1866,10 +1900,10 @@ algorithm.
|
||||
* :doc:`pair_style tdpd <pair_mesodpd>`
|
||||
* :doc:`fix mvv/dpd <fix_mvv_dpd>`
|
||||
* examples/USER/mesodpd
|
||||
* https://lammps.sandia.gov/movies.html#mesodpd
|
||||
* https://www.lammps.org/movies.html#mesodpd
|
||||
|
||||
* examples/USER/meso
|
||||
* http://lammps.sandia.gov/movies.html#mesodpd
|
||||
* http://www.lammps.org/movies.html#mesodpd
|
||||
|
||||
----------
|
||||
|
||||
@ -2085,7 +2119,7 @@ This package has :ref:`specific installation instructions <user-omp>` on the :do
|
||||
* Search the :doc:`commands <Commands_all>` pages (:doc:`fix <Commands_fix>`, :doc:`compute <Commands_compute>`,
|
||||
:doc:`pair <Commands_pair>`, :doc:`bond, angle, dihedral, improper <Commands_bond>`,
|
||||
:doc:`kspace <Commands_kspace>`) for styles followed by (o)
|
||||
* `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of web site
|
||||
* `Benchmarks page <https://www.lammps.org/bench.html>`_ of web site
|
||||
|
||||
----------
|
||||
|
||||
@ -2268,8 +2302,8 @@ molecules, and chiral-sensitive reactions.
|
||||
* src/USER-REACTION/README
|
||||
* :doc:`fix bond/react <fix_bond_react>`
|
||||
* examples/USER/reaction
|
||||
* `2017 LAMMPS Workshop <https://lammps.sandia.gov/workshops/Aug17/pdf/gissinger.pdf>`_
|
||||
* `2019 LAMMPS Workshop <https://lammps.sandia.gov/workshops/Aug19/talk_gissinger.pdf>`_
|
||||
* `2017 LAMMPS Workshop <https://www.lammps.org/workshops/Aug17/pdf/gissinger.pdf>`_
|
||||
* `2019 LAMMPS Workshop <https://www.lammps.org/workshops/Aug19/talk_gissinger.pdf>`_
|
||||
* reacter.org
|
||||
|
||||
----------
|
||||
@ -2396,7 +2430,7 @@ This package has :ref:`specific installation instructions <user-smd>` on the :do
|
||||
* src/USER-SMD/README
|
||||
* doc/PDF/SMD_LAMMPS_userguide.pdf
|
||||
* examples/USER/smd
|
||||
* https://lammps.sandia.gov/movies.html#smd
|
||||
* https://www.lammps.org/movies.html#smd
|
||||
|
||||
----------
|
||||
|
||||
@ -2453,7 +2487,7 @@ Dynamics, Ernst Mach Institute, Germany).
|
||||
* src/USER-SPH/README
|
||||
* doc/PDF/SPH_LAMMPS_userguide.pdf
|
||||
* examples/USER/sph
|
||||
* https://lammps.sandia.gov/movies.html#sph
|
||||
* https://www.lammps.org/movies.html#sph
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -39,13 +39,13 @@ package:
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`DIPOLE <PKG-DIPOLE>` | point dipole particles | :doc:`pair_style lj/.../dipole <pair_dipole>` | dipole | no |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`GPU <PKG-GPU>` | GPU-enabled styles | :doc:`Section gpu <Speed_gpu>` | `Benchmarks <https://lammps.sandia.gov/bench.html>`_ | int |
|
||||
| :ref:`GPU <PKG-GPU>` | GPU-enabled styles | :doc:`Section gpu <Speed_gpu>` | `Benchmarks <https://www.lammps.org/bench.html>`_ | int |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`GRANULAR <PKG-GRANULAR>` | granular systems | :doc:`Howto granular <Howto_granular>` | pour | no |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`KIM <PKG-KIM>` | OpenKIM wrapper | :doc:`pair_style kim <pair_kim>` | kim | ext |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`KOKKOS <PKG-KOKKOS>` | Kokkos-enabled styles | :doc:`Speed kokkos <Speed_kokkos>` | `Benchmarks <https://lammps.sandia.gov/bench.html>`_ | no |
|
||||
| :ref:`KOKKOS <PKG-KOKKOS>` | Kokkos-enabled styles | :doc:`Speed kokkos <Speed_kokkos>` | `Benchmarks <https://www.lammps.org/bench.html>`_ | no |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`KSPACE <PKG-KSPACE>` | long-range Coulombic solvers | :doc:`kspace_style <kspace_style>` | peptide | no |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
@ -67,7 +67,7 @@ package:
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`MSCG <PKG-MSCG>` | multi-scale coarse-graining wrapper | :doc:`fix mscg <fix_mscg>` | mscg | ext |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`OPT <PKG-OPT>` | optimized pair styles | :doc:`Speed opt <Speed_opt>` | `Benchmarks <https://lammps.sandia.gov/bench.html>`_ | no |
|
||||
| :ref:`OPT <PKG-OPT>` | optimized pair styles | :doc:`Speed opt <Speed_opt>` | `Benchmarks <https://www.lammps.org/bench.html>`_ | no |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`PERI <PKG-PERI>` | Peridynamics models | :doc:`pair_style peri <pair_peri>` | peri | no |
|
||||
+----------------------------------+--------------------------------------+----------------------------------------------------+------------------------------------------------------+---------+
|
||||
|
||||
@ -59,7 +59,9 @@ package:
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-H5MD <PKG-USER-H5MD>` | dump output via HDF5 | :doc:`dump h5md <dump_h5md>` | n/a | ext |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-INTEL <PKG-USER-INTEL>` | optimized Intel CPU and KNL styles | :doc:`Speed intel <Speed_intel>` | `Benchmarks <https://lammps.sandia.gov/bench.html>`_ | no |
|
||||
| :ref:`USER-HDNNP <PKG-USER-HDNNP>` | High-dimensional neural network potentials | :doc:`pair_style hdnnp <pair_hdnnp>` | USER/hdnnp | ext |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-INTEL <PKG-USER-INTEL>` | optimized Intel CPU and KNL styles | :doc:`Speed intel <Speed_intel>` | `Benchmarks <https://www.lammps.org/bench.html>`_ | no |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-LB <PKG-USER-LB>` | Lattice Boltzmann fluid | :doc:`fix lb/fluid <fix_lb_fluid>` | USER/lb | no |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
@ -83,7 +85,7 @@ package:
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-NETCDF <PKG-USER-NETCDF>` | dump output via NetCDF | :doc:`dump netcdf <dump_netcdf>` | n/a | ext |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-OMP <PKG-USER-OMP>` | OpenMP-enabled styles | :doc:`Speed omp <Speed_omp>` | `Benchmarks <https://lammps.sandia.gov/bench.html>`_ | no |
|
||||
| :ref:`USER-OMP <PKG-USER-OMP>` | OpenMP-enabled styles | :doc:`Speed omp <Speed_omp>` | `Benchmarks <https://www.lammps.org/bench.html>`_ | no |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-PACE <PKG-USER-PACE>` | Fast implementation of Atomic Cluster Expansion (ACE) potential | :doc:`pair pace <pair_pace>` | USER/pace | ext |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
|
||||
@ -12,7 +12,7 @@ accelerator packages provided with LAMMPS that contain code optimized
|
||||
for certain kinds of hardware, including multi-core CPUs, GPUs, and
|
||||
Intel Xeon Phi co-processors.
|
||||
|
||||
The `Benchmark page <https://lammps.sandia.gov/bench.html>`_ of the LAMMPS
|
||||
The `Benchmark page <https://www.lammps.org/bench.html>`_ of the LAMMPS
|
||||
web site gives performance results for the various accelerator
|
||||
packages discussed on the :doc:`Speed packages <Speed_packages>` doc
|
||||
page, for several of the standard LAMMPS benchmark problems, as a
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
Benchmarks
|
||||
==========
|
||||
|
||||
Current LAMMPS performance is discussed on the `Benchmarks page <https://lammps.sandia.gov/bench.html>`_ of the `LAMMPS website <lws_>`_
|
||||
Current LAMMPS performance is discussed on the `Benchmarks page <https://www.lammps.org/bench.html>`_ of the `LAMMPS website <lws_>`_
|
||||
where timings and parallel efficiency are listed. The page has
|
||||
several sections, which are briefly described below:
|
||||
|
||||
@ -43,11 +43,11 @@ to build LAMMPS and run on that kind of hardware.
|
||||
|
||||
The bench/POTENTIALS directory has input files which correspond to the
|
||||
table of results on the
|
||||
`Potentials <https://lammps.sandia.gov/bench.html#potentials>`_ section of
|
||||
`Potentials <https://www.lammps.org/bench.html#potentials>`_ section of
|
||||
the Benchmarks web page. So you can also run those test problems on
|
||||
your machine.
|
||||
|
||||
The `billion-atom <https://lammps.sandia.gov/bench.html#billion>`_ section
|
||||
The `billion-atom <https://www.lammps.org/bench.html#billion>`_ section
|
||||
of the Benchmarks web page has performance data for very large
|
||||
benchmark runs of simple Lennard-Jones (LJ) models, which use the
|
||||
bench/in.lj input script.
|
||||
@ -73,4 +73,4 @@ estimate parallel performance for multi-node runs using the same logic
|
||||
as for all-MPI mode, except that now you will typically need many more
|
||||
atoms/node to achieve good scalability.
|
||||
|
||||
.. _lws: https://lammps.sandia.gov
|
||||
.. _lws: https://www.lammps.org
|
||||
|
||||
@ -152,7 +152,7 @@ in OpenCL mode on CPUs (which uses vectorization and multithreading) is
|
||||
usually resulting in inferior performance compared to using LAMMPS' native
|
||||
threading and vectorization support in the USER-OMP and USER-INTEL packages.
|
||||
|
||||
See the `Benchmark page <https://lammps.sandia.gov/bench.html>`_ of the
|
||||
See the `Benchmark page <https://www.lammps.org/bench.html>`_ of the
|
||||
LAMMPS web site for performance of the GPU package on various
|
||||
hardware, including the Titan HPC platform at ORNL.
|
||||
|
||||
|
||||
@ -406,7 +406,7 @@ Generally speaking, the following rules of thumb apply:
|
||||
package also can increase the vector length of vector instructions
|
||||
by switching to single or mixed precision mode.
|
||||
|
||||
See the `Benchmark page <https://lammps.sandia.gov/bench.html>`_ of the
|
||||
See the `Benchmark page <https://www.lammps.org/bench.html>`_ of the
|
||||
LAMMPS web site for performance of the KOKKOS package on different
|
||||
hardware.
|
||||
|
||||
|
||||
@ -145,7 +145,7 @@ sub-directories with Make.py commands and input scripts for using all
|
||||
the accelerator packages on various machines. See the README files in
|
||||
those directories.
|
||||
|
||||
As mentioned above, the `Benchmark page <https://lammps.sandia.gov/bench.html>`_ of the LAMMPS web site gives
|
||||
As mentioned above, the `Benchmark page <https://www.lammps.org/bench.html>`_ of the LAMMPS web site gives
|
||||
performance results for the various accelerator packages for several
|
||||
of the standard LAMMPS benchmark problems, as a function of problem
|
||||
size and number of compute nodes, on different hardware platforms.
|
||||
|
||||
@ -6,15 +6,15 @@ molecular dynamics computations. Additional pre- and post-processing
|
||||
steps are often necessary to setup and analyze a simulation. A list
|
||||
of such tools can be found on the `LAMMPS webpage <lws_>`_ at these links:
|
||||
|
||||
* `Pre/Post processing <https://lammps.sandia.gov/prepost.html>`_
|
||||
* `Offsite LAMMPS packages & tools <https://lammps.sandia.gov/offsite.html>`_
|
||||
* `Pre/Post processing <https://www.lammps.org/prepost.html>`_
|
||||
* `Offsite LAMMPS packages & tools <https://www.lammps.org/offsite.html>`_
|
||||
* `Pizza.py toolkit <pizza_>`_
|
||||
|
||||
The last link for `Pizza.py <pizza_>`_ is a Python-based tool developed at
|
||||
Sandia which provides tools for doing setup, analysis, plotting, and
|
||||
visualization for LAMMPS simulations.
|
||||
|
||||
.. _lws: https://lammps.sandia.gov
|
||||
.. _lws: https://www.lammps.org
|
||||
.. _pizza: https://pizza.sandia.gov
|
||||
.. _python: https://www.python.org
|
||||
|
||||
|
||||
@ -80,7 +80,7 @@ LAMMPS commands require a map, even for atomic systems, and will
|
||||
generate an error if one does not exist. The *map* keyword thus
|
||||
allows you to force the creation of a map. The *yes* value will
|
||||
create either an *array* or *hash* style map, as explained in the next
|
||||
paragraph. The *array* and *hash* values create an atom-style or
|
||||
paragraph. The *array* and *hash* values create an array-style or
|
||||
hash-style map respectively.
|
||||
|
||||
For an *array*\ -style map, each processor stores a lookup table of
|
||||
|
||||
@ -65,7 +65,7 @@ non-granular particles and simpler wall geometries, respectively.
|
||||
|
||||
Here are snapshots of example models using this command. Corresponding
|
||||
input scripts can be found in examples/granregion. Movies of these
|
||||
simulations are `here on the Movies page <https://lammps.sandia.gov/movies.html#granregion>`_
|
||||
simulations are `here on the Movies page <https://www.lammps.org/movies.html#granregion>`_
|
||||
of the LAMMPS web site.
|
||||
|
||||
.. |wallgran1| image:: img/gran_funnel.png
|
||||
|
||||
@ -278,7 +278,7 @@ pressure simulation with MSM will cause the code to run slower.
|
||||
----------
|
||||
|
||||
The *scafacos* style is a wrapper on the `ScaFaCoS Coulomb solver library <http://www.scafacos.de>`_ which provides a variety of solver
|
||||
methods which can be used with LAMMPS. The paper by :ref:`(Who) <Who2012>`
|
||||
methods which can be used with LAMMPS. The paper by :ref:`(Sutman) <Sutmann2014>`
|
||||
gives an overview of ScaFaCoS.
|
||||
|
||||
ScaFaCoS was developed by a consortium of German research facilities
|
||||
@ -550,7 +550,7 @@ Illinois at Urbana-Champaign, (2006).
|
||||
|
||||
**(Cerda)** Cerda, Ballenegger, Lenz, Holm, J Chem Phys 129, 234104 (2008)
|
||||
|
||||
.. _Who2012:
|
||||
.. _Sutmann2014:
|
||||
|
||||
**(Who)** Who, Author2, Author3, J of Long Range Solvers, 35, 164-177
|
||||
(2012).
|
||||
**(Sutmann)** G. Sutmann. ScaFaCoS - a Scalable library of Fast Coulomb Solvers for particle Systems.
|
||||
In Bajaj, Zavattieri, Koslowski, Siegmund, Proceedings of the Society of Engineering Science 51st Annual Technical Meeting. 2014.
|
||||
|
||||
230
doc/src/pair_hdnnp.rst
Normal file
230
doc/src/pair_hdnnp.rst
Normal file
@ -0,0 +1,230 @@
|
||||
.. index:: pair_style hdnnp
|
||||
|
||||
pair_style hdnnp command
|
||||
========================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style hdnnp cutoff keyword value ...
|
||||
|
||||
* cutoff = short-range cutoff of HDNNP (maximum symmetry function cutoff radius)
|
||||
* zero or more keyword/value pairs may be appended
|
||||
* keyword = *dir* or *showew* or *showewsum* or *maxew* or *resetew* or *cflength* or *cfenergy*
|
||||
* value depends on the preceding keyword:
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*dir* value = directory
|
||||
directory = Path to HDNNP configuration files
|
||||
*showew* value = *yes* or *no*
|
||||
*showewsum* value = summary
|
||||
summary = Write EW summary every this many timesteps (*0* turns summary off)
|
||||
*maxew* value = threshold
|
||||
threshold = Maximum number of EWs allowed
|
||||
*resetew* value = *yes* or *no*
|
||||
*cflength* value = length
|
||||
length = Length unit conversion factor
|
||||
*cfenergy* value = energy
|
||||
energy = Energy unit conversion factor
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style hdnnp 6.35 showew yes showewsum 100 maxew 1000 resetew yes cflength 1.8897261328 cfenergy 0.0367493254
|
||||
pair_coeff * * H O
|
||||
|
||||
pair_style hdnnp 6.01 dir "./" showewsum 10000
|
||||
pair_coeff * * S Cu NULL Cu
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
This pair style adds an interaction based on the high-dimensional neural network
|
||||
potential (HDNNP) method as presented in :ref:`(Behler and Parrinello 2007)
|
||||
<Behler_Parrinello_2007>`. HDNNPs are machine learning potentials which require
|
||||
careful training of neural networks prior to application in MD simulations. The
|
||||
pair style uses an interface to the *n2p2* library :ref:`(Singraber, Behler and
|
||||
Dellago 2019) <Singraber_Behler_Dellago_2019>` which is available on Github
|
||||
`here <https://github.com/CompPhysVienna/n2p2>`__. Please see the *n2p2*
|
||||
`documentation <https://compphysvienna.github.io/n2p2/>`__ for further details.
|
||||
*n2p2* (and hence this pair style) is compatible with neural network potentials
|
||||
trained with its own tools :ref:`(Singraber et al 2019) <Singraber_et_al_2019>`
|
||||
and with `RuNNer <https://www.uni-goettingen.de/de/560580.html>`__.
|
||||
|
||||
Only a single *pair_coeff* command with two asterisk wild-cards is used with this
|
||||
pair style. Its additional arguments define the mapping of LAMMPS atom types to
|
||||
n2p2 elements.
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_coeff * * H O
|
||||
|
||||
In the above example LAMMPS types 1 and 2 are mapped to the elements "H" and "O"
|
||||
in n2p2, respectively. Multiple types may map to the same element, or some types
|
||||
may not be mapped at all. For example, if the LAMMPS simulation has four atom
|
||||
types, the command
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_coeff * * H H O NULL
|
||||
|
||||
maps atom types 1 and 2 to the element "H", type 3 to "O" and type 4 is not mapped
|
||||
(indicated by NULL). Atoms mapped to NULL are ignored by the HDNNP calculation,
|
||||
i.e. they do not contribute in any way to the evaluation of HDNNP energies and forces.
|
||||
This may be useful in a setup with :doc:`hybrid pair styles <pair_hybrid>`.
|
||||
|
||||
----
|
||||
|
||||
The mandatory pair style argument *cutoff* must match the short-range cutoff radius
|
||||
of the HDNNP. This corresponds to the maximum cutoff radius of all symmetry
|
||||
functions (the atomic environment descriptors of HDNNPs) used.
|
||||
|
||||
.. note::
|
||||
|
||||
The cutoff must be given in LAMMPS length units, even if the neural network
|
||||
potential has been trained using a different unit system (see remarks about the
|
||||
*cflength* and *cfenergy* keywords below for details).
|
||||
|
||||
The numeric value may be slightly larger than the actual maximum symmetry
|
||||
function cutoff radius (to account for rounding errors when converting units),
|
||||
but must not be smaller.
|
||||
|
||||
Use the *dir* keyword to specify the directory containing the HDNNP configuration
|
||||
files. The directory must contain ``input.nn`` with neural network and symmetry
|
||||
function setup, ``scaling.data`` with symmetry function scaling data and
|
||||
``weights.???.data`` with weight parameters for each element.
|
||||
|
||||
The keyword *showew* can be used to turn on/off the display of extrapolation
|
||||
warnings (EWs) which are issued whenever a symmetry function value is out of
|
||||
bounds defined by minimum/maximum values in ``scaling.data``. An extrapolation
|
||||
warning may look like this:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
### NNP EXTRAPOLATION WARNING ### STRUCTURE: 0 ATOM: 119 ELEMENT: Cu SYMFUNC: 32 TYPE: 3 VALUE: 2.166E-02 MIN: 2.003E-05 MAX: 1.756E-02
|
||||
|
||||
stating that the value 2.166E-02 of symmetry function 32 of type 3 (Narrow Angular symmetry function), element Cu (see the log file for a symmetry function listing) was out
|
||||
of bounds (maximum in ``scaling.data`` is 1.756E-02) for atom 119. Here, the
|
||||
atom index refers to the LAMMPS tag (global index) and the structure index is
|
||||
used to print out the MPI rank the atom belongs to.
|
||||
|
||||
.. note::
|
||||
|
||||
The *showew* keyword should only be set to *yes* for debugging purposes.
|
||||
Extrapolation warnings may add lots of overhead as they are communicated each
|
||||
timestep. Also, if the simulation is run in a region where the HDNNP was not
|
||||
correctly trained, lots of extrapolation warnings may clog log files and the
|
||||
console. In a production run use *showewsum* instead.
|
||||
|
||||
The keyword *showewsum* can be used to get an overview of extrapolation warnings
|
||||
occurring during an MD simulation. The argument specifies the interval at which
|
||||
extrapolation warning summaries are displayed and logged. An EW summary may look
|
||||
like this:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
### NNP EW SUMMARY ### TS: 100 EW 11 EWPERSTEP 1.100E-01
|
||||
|
||||
Here, at timestep 100 the occurrence of 11 extrapolation warnings since the last
|
||||
summary is reported, which corresponds to an EW rate of 0.11 per timestep.
|
||||
Setting *showewsum* to 0 deactivates the EW summaries.
|
||||
|
||||
A maximum number of allowed extrapolation warnings can be specified with the
|
||||
*maxew* keyword. If the number of EWs exceeds the *maxew* argument the
|
||||
simulation is stopped. Note however that this is merely an approximate threshold
|
||||
since the check is only performed at the end of each timestep and each MPI
|
||||
process counts individually to minimize communication overhead.
|
||||
|
||||
The keyword *resetew* alters the behavior of the above mentioned *maxew*
|
||||
threshold. If *resetew* is set to *yes* the threshold is applied on a
|
||||
per-timestep basis and the internal EW counters are reset at the beginning of
|
||||
each timestep. With *resetew* set to *no* the counters accumulate EWs along the
|
||||
whole trajectory.
|
||||
|
||||
If the training of a neural network potential has been performed with different
|
||||
physical units for length and energy than those set in LAMMPS, it is still
|
||||
possible to use the potential when the unit conversion factors are provided via
|
||||
the *cflength* and *cfenergy* keywords. If for example, the HDNNP was
|
||||
parameterized with Bohr and Hartree training data and symmetry function
|
||||
parameters (i.e. distances and energies in "input.nn" are given in Bohr and
|
||||
Hartree) but LAMMPS is set to use *metal* units (Angstrom and eV) the correct
|
||||
conversion factors are:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
cflength 1.8897261328
|
||||
|
||||
cfenergy 0.0367493254
|
||||
|
||||
Thus, arguments of *cflength* and *cfenergy* are the multiplicative factors
|
||||
required to convert lengths and energies given in LAMMPS units to respective
|
||||
quantities in native HDNNP units (1 Angstrom = 1.8897261328 Bohr, 1 eV =
|
||||
0.0367493254 Hartree).
|
||||
|
||||
----
|
||||
|
||||
Mixing, shift, table, tail correction, restart, rRESPA info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
This style does not support mixing. The :doc:`pair_coeff <pair_coeff>` command
|
||||
should only be invoked with asterisk wild cards (see above).
|
||||
|
||||
This style does not support the :doc:`pair_modify <pair_modify>`
|
||||
shift, table, and tail options.
|
||||
|
||||
This style does not write information to :doc:`binary restart files <restart>`.
|
||||
Thus, you need to re-specify the pair_style and pair_coeff commands in an input
|
||||
script that reads a restart file.
|
||||
|
||||
This style can only be used via the *pair* keyword of the :doc:`run_style respa
|
||||
<run_style>` command. It does not support the *inner*\ , *middle*\ , *outer*
|
||||
keywords.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This pair style is part of the USER-HDNNP package. It is only enabled if LAMMPS
|
||||
was built with that package. See the :doc:`Build package <Build_package>` doc
|
||||
page for more info.
|
||||
|
||||
Please report bugs and feature requests to the `n2p2 GitHub issue page
|
||||
<https://github.com/CompPhysVienna/n2p2/issues>`__.
|
||||
|
||||
Related commands
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
:doc:`pair_coeff <pair_coeff>`, :doc:`pair_hybrid <pair_hybrid>`, :doc:`units <units>`
|
||||
|
||||
Default
|
||||
^^^^^^^
|
||||
|
||||
The default options are *dir* = "hdnnp/", *showew* = yes, *showewsum* = 0, *maxew*
|
||||
= 0, *resetew* = no, *cflength* = 1.0, *cfenergy* = 1.0.
|
||||
|
||||
----
|
||||
|
||||
.. _Behler_Parrinello_2007:
|
||||
|
||||
**(Behler and Parrinello 2007)** `Behler, J.; Parrinello, M. Generalized
|
||||
Neural-Network Representation of High-Dimensional Potential-Energy Surfaces.
|
||||
Phys. Rev. Lett. 2007, 98 (14), 146401.
|
||||
<https://doi.org/10.1103/PhysRevLett.98.146401>`__
|
||||
|
||||
.. _Singraber_Behler_Dellago_2019:
|
||||
|
||||
**(Singraber, Behler and Dellago 2019)** `Singraber, A.; Behler, J.; Dellago, C.
|
||||
Library-Based LAMMPS Implementation of High-Dimensional Neural Network
|
||||
Potentials. J. Chem. Theory Comput. 2019, 15 (3), 1827-1840
|
||||
<https://doi.org/10.1021/acs.jctc.8b00770>`__
|
||||
|
||||
.. _Singraber_et_al_2019:
|
||||
|
||||
**(Singraber et al 2019)** `Singraber, A.; Morawietz, T.; Behler, J.; Dellago,
|
||||
C. Parallel Multistream Training of High-Dimensional Neural Network Potentials.
|
||||
J. Chem. Theory Comput. 2019, 15 (5), 3075-3092.
|
||||
<https://doi.org/10.1021/acs.jctc.8b01092>`__
|
||||
@ -182,6 +182,7 @@ accelerated styles exist.
|
||||
* :doc:`gw/zbl <pair_gw>` - Gao-Weber potential with a repulsive ZBL core
|
||||
* :doc:`hbond/dreiding/lj <pair_hbond_dreiding>` - DREIDING hydrogen bonding LJ potential
|
||||
* :doc:`hbond/dreiding/morse <pair_hbond_dreiding>` - DREIDING hydrogen bonding Morse potential
|
||||
* :doc:`hdnnp <pair_hdnnp>` - High-dimensional neural network potential
|
||||
* :doc:`ilp/graphene/hbn <pair_ilp_graphene_hbn>` - registry-dependent interlayer potential (ILP)
|
||||
* :doc:`kim <pair_kim>` - interface to potentials provided by KIM project
|
||||
* :doc:`kolmogorov/crespi/full <pair_kolmogorov_crespi_full>` - Kolmogorov-Crespi (KC) potential with no simplifications
|
||||
|
||||
0
doc/utils/converters/lammpsdoc/rst_anchor_check.py
Normal file → Executable file
0
doc/utils/converters/lammpsdoc/rst_anchor_check.py
Normal file → Executable file
@ -1,7 +1,7 @@
|
||||
from setuptools import setup
|
||||
|
||||
setup(name='LAMMPS Documentation Utilities',
|
||||
version='2.0.0',
|
||||
version='2.0.1',
|
||||
description='Utilities to convert existing LAMMPS documentation text files into ReStructured Text',
|
||||
url='https://github.com/rbberger/lammps-doc-utils',
|
||||
author='Richard Berger',
|
||||
@ -11,8 +11,6 @@ setup(name='LAMMPS Documentation Utilities',
|
||||
test_suite='nose.collector',
|
||||
tests_require=['nose'],
|
||||
entry_points = {
|
||||
"console_scripts": ['txt2html = lammpsdoc.txt2html:main',
|
||||
'txt2rst = lammpsdoc.txt2rst:main',
|
||||
'rst_anchor_check = lammpsdoc.rst_anchor_check:main ']
|
||||
"console_scripts": ['rst_anchor_check = lammpsdoc.rst_anchor_check:main ']
|
||||
},
|
||||
)
|
||||
|
||||
@ -348,7 +348,7 @@ with funding from the DOE. It is an open-source code, distributed
|
||||
freely under the terms of the GNU Public License (GPL).
|
||||
|
||||
The primary author of the code is Steve Plimpton, who can be emailed
|
||||
at sjplimp@sandia.gov. The LAMMPS WWW Site at lammps.sandia.gov has
|
||||
at sjplimp@sandia.gov. The LAMMPS WWW Site at www.lammps.org has
|
||||
more information about the code and its uses.
|
||||
"""
|
||||
|
||||
|
||||
@ -187,6 +187,7 @@ backends
|
||||
Baczewski
|
||||
Bagi
|
||||
Bagnold
|
||||
Bajaj
|
||||
Bkappa
|
||||
Bal
|
||||
balancer
|
||||
@ -1228,6 +1229,8 @@ hbn
|
||||
hbnewflag
|
||||
hbond
|
||||
hcp
|
||||
hdnnp
|
||||
HDNNP
|
||||
heatconduction
|
||||
Hebbeker
|
||||
Hebenstreit
|
||||
@ -1570,6 +1573,7 @@ Koning
|
||||
Kooser
|
||||
Korn
|
||||
Koskinen
|
||||
Koslowski
|
||||
Kosovan
|
||||
Koster
|
||||
Kosztin
|
||||
@ -2953,6 +2957,7 @@ shrinkexceed
|
||||
Shugaev
|
||||
si
|
||||
SiC
|
||||
Siegmund
|
||||
Siepmann
|
||||
Sievers
|
||||
sigmoid
|
||||
@ -3618,6 +3623,7 @@ yx
|
||||
yy
|
||||
yz
|
||||
Zannoni
|
||||
Zavattieri
|
||||
zbl
|
||||
ZBL
|
||||
Zc
|
||||
|
||||
@ -10,7 +10,7 @@ systems. Some of the directories include a Python script, which can
|
||||
be used with the Pizza.py tool to create the data file, e.g. for
|
||||
collections of rigid bodies.
|
||||
|
||||
The web site for Pizza.py is http://pizza.sandia.gov
|
||||
The web site for Pizza.py is https://pizza.sandia.gov
|
||||
|
||||
For example, If you have Pizza.py installed you can type "pizza.py -f
|
||||
box.py", which creates the data.box data file in the box dir.
|
||||
@ -18,7 +18,7 @@ box.py", which creates the data.box data file in the box dir.
|
||||
If you uncomment the dump or dump image lines in the input scripts the
|
||||
runs will produce dump files or JPG images which you can view or
|
||||
animate. See the Movies page of the LAMMPS web site
|
||||
(http://lammps.sandia.gov/movies.html), for animations of these
|
||||
(https://www.lammps.org/movies.html), for animations of these
|
||||
scripts. Most were done using the dump image command. A few were
|
||||
done using the gl tool in Pizza.py; the Pizza.py scripts that do the
|
||||
animation are given in the directory, e.g. as line.viz.py.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/
|
||||
https://www.lammps.org/
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/
|
||||
https://www.lammps.org/
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/
|
||||
https://www.lammps.org/
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
https://www.lammps.org/ Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
https://www.lammps.org/ Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
# http://lammps.sandia.gov, Sandia National Laboratories
|
||||
# https://www.lammps.org/ Sandia National Laboratories
|
||||
# Steve Plimpton, sjplimp@sandia.gov
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
# http://lammps.sandia.gov, Sandia National Laboratories
|
||||
# https://www.lammps.org/ Sandia National Laboratories
|
||||
# Steve Plimpton, sjplimp@sandia.gov
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/
|
||||
https://www.lammps.org/
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
https://www.lammps.org/ Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
https://www.lammps.org/ Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/
|
||||
https://www.lammps.org/
|
||||
Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -37,7 +37,7 @@ produce dump snapshots of the running simulation in any of 3 formats.
|
||||
|
||||
If you uncomment the dump command in the input script, a text dump
|
||||
file will be produced, which can be animated by various visualization
|
||||
programs (see http://lammps.sandia.gov/viz.html) such as Ovito, VMD,
|
||||
programs (see https://www.lammps.org/viz.html) such as Ovito, VMD,
|
||||
or AtomEye.
|
||||
|
||||
If you uncomment the dump image command in the input script, and
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"""
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
https://www.lammps.org/ Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"""
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
https://www.lammps.org/ Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
This LAMMPS simulation made specific use of work described in the
|
||||
following references. See http://lammps.sandia.gov/cite.html
|
||||
following references. See https://www.lammps.org/cite.html
|
||||
for details.
|
||||
|
||||
compute_xrd command:
|
||||
|
||||
1096
examples/USER/hdnnp/data.H2O-360mol
Normal file
1096
examples/USER/hdnnp/data.H2O-360mol
Normal file
File diff suppressed because it is too large
Load Diff
120
examples/USER/hdnnp/hdnnp-data/input.nn
Normal file
120
examples/USER/hdnnp/hdnnp-data/input.nn
Normal file
@ -0,0 +1,120 @@
|
||||
###############################################################################
|
||||
# HDNNP for water H2O
|
||||
###############################################################################
|
||||
# Length unit : Bohr
|
||||
# Energy unit : Ha
|
||||
# Reference method: RPBE-D3
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# DATA SET NORMALIZATION
|
||||
###############################################################################
|
||||
# This section was automatically added by nnp-norm.
|
||||
mean_energy -2.5521343547039809E+01
|
||||
conv_energy 2.4265748255366972E+02
|
||||
conv_length 5.8038448995319847E+00
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# GENERAL NNP SETTINGS
|
||||
###############################################################################
|
||||
# These keywords are (almost) always required.
|
||||
number_of_elements 2 # Number of elements.
|
||||
elements H O # Specification of elements.
|
||||
#atom_energy H -0.45890771 # Free atom reference energy (H).
|
||||
#atom_energy O -74.94518524 # Free atom reference energy (O).
|
||||
cutoff_type 2 # Cutoff type.
|
||||
scale_symmetry_functions # Scale all symmetry functions with min/max values.
|
||||
#scale_symmetry_functions_sigma # Scale all symmetry functions with sigma.
|
||||
scale_min_short 0.0 # Minimum value for scaling.
|
||||
scale_max_short 1.0 # Maximum value for scaling.
|
||||
center_symmetry_functions # Center all symmetry functions, i.e. subtract mean value.
|
||||
global_hidden_layers_short 2 # Number of hidden layers.
|
||||
global_nodes_short 25 25 # Number of nodes in each hidden layer.
|
||||
global_activation_short t t l # Activation function for each hidden layer and output layer.
|
||||
#normalize_nodes # Normalize input of nodes.
|
||||
|
||||
###############################################################################
|
||||
# SYMMETRY FUNCTIONS
|
||||
###############################################################################
|
||||
|
||||
# Radial symmetry function (type 2):
|
||||
#symfunction_short <element-central> 2 <element-neighbor> <eta> <rshift> <rcutoff>
|
||||
|
||||
# Narrow Angular symmetry function (type 3):
|
||||
#symfunction_short <element-central> 3 <element-neighbor1> <element-neighbor2> <eta> <lambda> <zeta> <rcutoff>
|
||||
|
||||
# Wide Angular symmetry function (type 9):
|
||||
#symfunction_short <element-central> 9 <element-neighbor1> <element-neighbor2> <eta> <lambda> <zeta> <rcutoff>
|
||||
|
||||
# radial H H
|
||||
symfunction_short H 2 H 0.001 0.0 12.00
|
||||
symfunction_short H 2 H 0.01 0.0 12.00
|
||||
symfunction_short H 2 H 0.03 0.0 12.00
|
||||
symfunction_short H 2 H 0.06 0.0 12.00
|
||||
symfunction_short H 2 H 0.15 1.9 12.00
|
||||
symfunction_short H 2 H 0.30 1.9 12.00
|
||||
symfunction_short H 2 H 0.60 1.9 12.00
|
||||
symfunction_short H 2 H 1.50 1.9 12.00
|
||||
|
||||
# radial H O / O H
|
||||
symfunction_short H 2 O 0.001 0.0 12.00
|
||||
symfunction_short H 2 O 0.01 0.0 12.00
|
||||
symfunction_short H 2 O 0.03 0.0 12.00
|
||||
symfunction_short H 2 O 0.06 0.0 12.00
|
||||
symfunction_short H 2 O 0.15 0.9 12.00
|
||||
symfunction_short H 2 O 0.30 0.9 12.00
|
||||
symfunction_short H 2 O 0.60 0.9 12.00
|
||||
symfunction_short H 2 O 1.50 0.9 12.00
|
||||
|
||||
symfunction_short O 2 H 0.001 0.0 12.00
|
||||
symfunction_short O 2 H 0.01 0.0 12.00
|
||||
symfunction_short O 2 H 0.03 0.0 12.00
|
||||
symfunction_short O 2 H 0.06 0.0 12.00
|
||||
symfunction_short O 2 H 0.15 0.9 12.00
|
||||
symfunction_short O 2 H 0.30 0.9 12.00
|
||||
symfunction_short O 2 H 0.60 0.9 12.00
|
||||
symfunction_short O 2 H 1.50 0.9 12.00
|
||||
|
||||
# radial O O
|
||||
symfunction_short O 2 O 0.001 0.0 12.00
|
||||
symfunction_short O 2 O 0.01 0.0 12.00
|
||||
symfunction_short O 2 O 0.03 0.0 12.00
|
||||
symfunction_short O 2 O 0.06 0.0 12.00
|
||||
symfunction_short O 2 O 0.15 4.0 12.00
|
||||
symfunction_short O 2 O 0.30 4.0 12.00
|
||||
symfunction_short O 2 O 0.60 4.0 12.00
|
||||
symfunction_short O 2 O 1.50 4.0 12.00
|
||||
|
||||
# angular
|
||||
symfunction_short H 3 O H 0.2 1.0 1.0 12.00000
|
||||
|
||||
symfunction_short O 3 H H 0.07 1.0 1.0 12.00000
|
||||
symfunction_short H 3 O H 0.07 1.0 1.0 12.00000
|
||||
symfunction_short O 3 H H 0.07 -1.0 1.0 12.00000
|
||||
symfunction_short H 3 O H 0.07 -1.0 1.0 12.00000
|
||||
|
||||
symfunction_short O 3 H H 0.03 1.0 1.0 12.00000
|
||||
symfunction_short H 3 O H 0.03 1.0 1.0 12.00000
|
||||
symfunction_short O 3 H H 0.03 -1.0 1.0 12.00000
|
||||
symfunction_short H 3 O H 0.03 -1.0 1.0 12.00000
|
||||
|
||||
symfunction_short O 3 H H 0.01 1.0 4.0 12.00000
|
||||
symfunction_short H 3 O H 0.01 1.0 4.0 12.00000
|
||||
symfunction_short O 3 H H 0.01 -1.0 4.0 12.00000
|
||||
symfunction_short H 3 O H 0.01 -1.0 4.0 12.00000
|
||||
|
||||
symfunction_short O 3 O H 0.03 1.0 1.0 12.00000
|
||||
symfunction_short O 3 O H 0.03 -1.0 1.0 12.00000
|
||||
symfunction_short O 3 O H 0.001 1.0 4.0 12.00000
|
||||
symfunction_short O 3 O H 0.001 -1.0 4.0 12.00000
|
||||
|
||||
symfunction_short H 3 O O 0.03 1.0 1.0 12.00000
|
||||
symfunction_short H 3 O O 0.03 -1.0 1.0 12.00000
|
||||
symfunction_short H 3 O O 0.001 1.0 4.0 12.00000
|
||||
symfunction_short H 3 O O 0.001 -1.0 4.0 12.00000
|
||||
|
||||
symfunction_short O 3 O O 0.03 1.0 1.0 12.00000
|
||||
symfunction_short O 3 O O 0.03 -1.0 1.0 12.00000
|
||||
symfunction_short O 3 O O 0.001 1.0 4.0 12.00000
|
||||
symfunction_short O 3 O O 0.001 -1.0 4.0 12.00000
|
||||
72
examples/USER/hdnnp/hdnnp-data/scaling.data
Normal file
72
examples/USER/hdnnp/hdnnp-data/scaling.data
Normal file
@ -0,0 +1,72 @@
|
||||
################################################################################
|
||||
# Symmetry function scaling data.
|
||||
################################################################################
|
||||
# Col Name Description
|
||||
################################################################################
|
||||
# 1 e_index Element index.
|
||||
# 2 sf_index Symmetry function index.
|
||||
# 3 sf_min Symmetry function minimum.
|
||||
# 4 sf_max Symmetry function maximum.
|
||||
# 5 sf_mean Symmetry function mean.
|
||||
# 6 sf_sigma Symmetry function sigma.
|
||||
#########################################################################################################################
|
||||
# 1 2 3 4 5 6
|
||||
# e_index sf_index sf_min sf_max sf_mean sf_sigma
|
||||
#########################################################################################################################
|
||||
1 1 1.0882016636170764E+00 9.6166419119419064E+00 2.2691752247542194E+00 6.7883526611658462E-01
|
||||
1 2 7.3274438904180561E-01 5.0028559321574191E+00 1.3272332317543580E+00 3.3936750181780473E-01
|
||||
1 3 7.6010783783215696E-01 7.1427942966219815E+00 1.6470726712825305E+00 5.0771115927383836E-01
|
||||
1 4 5.4842285884800812E-01 3.7661771168267726E+00 1.0163698211361718E+00 2.5362958053787776E-01
|
||||
1 5 4.0080665126604625E-01 4.1469832401668629E+00 9.0925040981537897E-01 2.9758019277508319E-01
|
||||
1 6 3.6209352253798227E-01 2.2678239402766054E+00 6.4931154122889623E-01 1.4835420345383032E-01
|
||||
1 7 1.8919103878435897E-01 2.2292652677252804E+00 4.5693857051003817E-01 1.5976079618578123E-01
|
||||
1 8 2.6704178695764313E-01 1.3208742362468955E+00 4.2395636902644862E-01 8.0492394978461931E-02
|
||||
1 9 2.4513099752055156E-01 9.4751160662053002E-01 3.6244199023263673E-01 5.2993540556109331E-02
|
||||
1 10 2.2248910067848982E-01 2.7596216013647377E+00 5.3891576898130766E-01 2.0137334230483950E-01
|
||||
1 11 1.4743601726548086E-01 5.5599270746969276E-01 2.6773972195910817E-01 2.6188094566404998E-02
|
||||
1 12 9.9110926426029380E-02 1.7265405335201480E+00 2.9553976311554875E-01 1.1619768775752932E-01
|
||||
1 13 6.5093699123904267E-02 3.4521757733971170E-01 1.8521249136783141E-01 1.9741155185936318E-02
|
||||
1 14 3.1653527247865069E-02 9.1293170125596168E-01 1.5025164684953513E-01 5.3480187368038674E-02
|
||||
1 15 2.9202821602466694E-03 2.6453981776124141E-01 7.6525296616004684E-02 1.8780956137549487E-02
|
||||
1 16 3.2145385719803329E-04 2.8696425565429240E-01 4.5792284631233672E-02 2.3263495133568998E-02
|
||||
1 17 2.4693757528509622E-04 1.3848731138266304E-01 1.7693289653297604E-02 9.7460303038080908E-03
|
||||
1 18 5.0992836797990751E-03 5.8319173651547385E-01 2.3851656540978389E-02 3.7790771891778152E-02
|
||||
1 19 3.2282960174310170E-04 2.1613962298381925E-01 1.7072560754702336E-02 1.4026518665786077E-02
|
||||
1 20 4.9647513277769700E-02 1.6851617426880194E+00 1.4541325969622534E-01 1.0954306125703028E-01
|
||||
1 21 3.4073471604482227E-03 3.1637071808861689E-01 1.8422597685566724E-02 2.0125274191649719E-02
|
||||
1 22 1.3121382132811807E-04 1.0258348935693713E-01 6.3684016949344113E-03 6.6071626858835051E-03
|
||||
1 23 3.3813162813665906E-02 9.1618560879938926E-01 8.1266384503339575E-02 5.7918502576695730E-02
|
||||
1 24 4.1708500446352870E-04 1.5785966980407021E-01 4.6646981268568697E-03 9.8630700614506465E-03
|
||||
1 25 7.3528900917695290E-04 5.9225627251013026E-02 3.7042174075139758E-03 3.3118079036492621E-03
|
||||
1 26 8.9828333062972592E-03 1.9426085555380754E-01 2.4093377110646338E-02 1.0980657457661532E-02
|
||||
1 27 2.1228022180417653E-04 8.7777813240869640E-03 2.0550705761547970E-03 5.8802103858137246E-04
|
||||
2 1 1.5142595331454245E+00 1.0005711988559998E+01 2.6544664635087183E+00 6.7806617585688911E-01
|
||||
2 2 4.4366445360926199E-01 4.6195409357987076E+00 9.6587051599896101E-01 3.3688559575009042E-01
|
||||
2 3 1.1907810568758714E+00 7.5323544094345003E+00 2.0327396422723472E+00 5.0607867531004169E-01
|
||||
2 4 2.7576036468694687E-01 3.3862131032504492E+00 6.5929732667024776E-01 2.5004687333979903E-01
|
||||
2 5 8.0580777590695674E-01 4.5356481255168557E+00 1.2986230824577940E+00 2.9449908325462404E-01
|
||||
2 6 1.0517053799863604E-01 1.8909877539194515E+00 3.0673921331641835E-01 1.4198497108573313E-01
|
||||
2 7 5.6949141690859706E-01 2.6154328621607852E+00 8.4791273805289546E-01 1.5714071578589769E-01
|
||||
2 8 2.3251646720171416E-02 9.3641034200657891E-01 1.1140979781150941E-01 6.9796654369842781E-02
|
||||
2 9 5.1354161698115419E-01 1.8545341781448565E+00 7.2488398046527269E-01 9.8011511620611044E-02
|
||||
2 10 1.1057465545812291E-01 2.9121456897811342E+00 4.7474421797982730E-01 2.3441807910092233E-01
|
||||
2 11 3.5269317308496489E-01 1.0714592032613128E+00 5.3547944391821678E-01 4.5179661104166338E-02
|
||||
2 12 3.0424313539726355E-02 2.5277642768509305E+00 3.1652845366685045E-01 2.1026891409654727E-01
|
||||
2 13 1.5980022688828247E-01 6.6348817066386512E-01 3.7042498273566293E-01 3.0753700953611234E-02
|
||||
2 14 2.7781847150922931E-03 2.3030057819082539E+00 1.7737800292869690E-01 1.8600239464755819E-01
|
||||
2 15 9.5641036809349829E-03 3.9085233064570807E-01 1.5305059323200970E-01 2.7862233984302390E-02
|
||||
2 16 3.7500170432292374E-06 2.0367068825281995E+00 5.4144316535640342E-02 1.4305857218443538E-01
|
||||
2 17 2.4726232100491033E-03 3.4335400617385042E-01 1.6684597803376652E-02 2.1902951351570905E-02
|
||||
2 18 1.7405672406959600E-05 5.6319316766205302E-02 9.5478184601751693E-04 3.3588039002222358E-03
|
||||
2 19 5.4785372164647961E-02 3.0182597583971442E+00 2.0392031625072374E-01 2.0088721011517138E-01
|
||||
2 20 1.3795234987637416E-03 4.9878800454061323E-01 1.2788265359933434E-02 3.1829452602194934E-02
|
||||
2 21 6.6852772684814245E-03 2.6739582842775905E-01 3.0851859894574358E-02 1.7089886758420030E-02
|
||||
2 22 1.7021399438214336E-02 1.4167796508898451E+00 7.6274174813506748E-02 9.2852504206357669E-02
|
||||
2 23 1.9759831791959857E-02 4.0756378297923890E-01 4.8843503112397949E-02 2.5474332458885439E-02
|
||||
2 24 5.2768632746659245E-04 2.3324050667069166E-01 7.2057238727819412E-03 1.4495435261027742E-02
|
||||
2 25 1.1144879740881719E-05 3.5285772934088612E-02 4.2545240948261025E-04 2.0471375111485984E-03
|
||||
2 26 1.6013752685265073E-02 8.2245409953473059E-01 5.0845479076508403E-02 5.2802834522172923E-02
|
||||
2 27 3.9898424495541764E-03 7.8557031440100300E-01 3.6926675414383096E-02 5.0474458307624794E-02
|
||||
2 28 4.0523818189746699E-05 9.8448068666705968E-02 1.2119235889230262E-03 5.7945700128174639E-03
|
||||
2 29 6.0374649986214514E-03 9.9251766407842473E-02 1.6156539248049700E-02 5.5245068674135743E-03
|
||||
2 30 2.9595491075765732E-03 1.5478537567691833E-01 1.1641055270110553E-02 8.9415193910804703E-03
|
||||
1392
examples/USER/hdnnp/hdnnp-data/weights.001.data
Normal file
1392
examples/USER/hdnnp/hdnnp-data/weights.001.data
Normal file
File diff suppressed because it is too large
Load Diff
1467
examples/USER/hdnnp/hdnnp-data/weights.008.data
Normal file
1467
examples/USER/hdnnp/hdnnp-data/weights.008.data
Normal file
File diff suppressed because it is too large
Load Diff
47
examples/USER/hdnnp/in.hdnnp
Normal file
47
examples/USER/hdnnp/in.hdnnp
Normal file
@ -0,0 +1,47 @@
|
||||
###############################################################################
|
||||
# MD simulation for HDNNP water
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# VARIABLES
|
||||
###############################################################################
|
||||
clear
|
||||
# Configuration files
|
||||
variable cfgFile string "data.H2O-360mol"
|
||||
# Timesteps
|
||||
variable numSteps equal 10
|
||||
variable dt equal 0.0005
|
||||
# HDNNP
|
||||
variable hdnnpCutoff equal 6.36
|
||||
variable hdnnpDir string "hdnnp-data"
|
||||
|
||||
###############################################################################
|
||||
# GENERAL SETUP
|
||||
###############################################################################
|
||||
units metal
|
||||
boundary p p p
|
||||
atom_style atomic
|
||||
read_data ${cfgFile}
|
||||
timestep ${dt}
|
||||
thermo 1
|
||||
|
||||
###############################################################################
|
||||
# HDNNP
|
||||
###############################################################################
|
||||
pair_style hdnnp ${hdnnpCutoff} dir ${hdnnpDir} showew no showewsum 5 resetew no maxew 100 cflength 1.8897261328 cfenergy 0.0367493254
|
||||
pair_coeff * * H O
|
||||
|
||||
###############################################################################
|
||||
# INTEGRATOR
|
||||
###############################################################################
|
||||
fix INT all nve
|
||||
|
||||
###############################################################################
|
||||
# OUTPUT
|
||||
###############################################################################
|
||||
dump 1 all atom 1 dump.hdnnp
|
||||
|
||||
###############################################################################
|
||||
# SIMULATION
|
||||
###############################################################################
|
||||
run ${numSteps}
|
||||
@ -28,7 +28,7 @@ minute or so and produce the accompanying log files and profile files
|
||||
(for velocity or momentum flux).
|
||||
|
||||
See the Movies page of the LAMMPS web site
|
||||
(http://lammps.sandia.gov/movies.html), for animations of the NEMD
|
||||
(https://www.lammps.org/movies.html), for animations of the NEMD
|
||||
scripts, created using the dump image command.
|
||||
|
||||
The state point of the LJ fluid is rho* = 0.6, T* = 1.0, and Rcut =
|
||||
|
||||
@ -11,18 +11,18 @@
|
||||
# argon. The material properties computed in LAMMPS are represented as a
|
||||
# standard KIM property instance format. (See
|
||||
# `https://openkim.org/doc/schema/properties-framework/` and
|
||||
# `https://lammps.sandia.gov/doc/kim_commands.html` for further details).
|
||||
# `https://docs.lammps.org/kim_commands.html` for further details).
|
||||
# Then the created property instance is written to a file named `results.edn`
|
||||
# using the `kim property dump` command.
|
||||
#
|
||||
# Requirement:
|
||||
#
|
||||
# This example requires LAMMPS built with the Python 3.6 or later package
|
||||
# installed. See the `https://lammps.sandia.gov/doc/python.html` doc page for
|
||||
# installed. See the `https://docs.lammps.org/python.html` doc page for
|
||||
# more info on building LAMMPS with the version of Python on your system.
|
||||
# After successfully building LAMMPS with Python, you need to install the
|
||||
# kim-property Python package, See the
|
||||
# `https://lammps.sandia.gov/doc/Build_extras.html#kim` doc page for
|
||||
# `https://docs.lammps.org/Build_extras.html#kim` doc page for
|
||||
# further details.
|
||||
#
|
||||
# This example requires that the KIM Portable Model (PM)
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
# the KIM package, is the KIM API library that must be downloaded from the
|
||||
# OpenKIM website and installed before LAMMPS is compiled. The 'kim query'
|
||||
# command requires the libcurl library to be installed. See the
|
||||
# `https://lammps.sandia.gov/doc/Build_extras.html#kim` doc page for further
|
||||
# `https://docs.lammps.org/Build_extras.html#kim` doc page for further
|
||||
# details
|
||||
#
|
||||
# This example requires that the KIM Models
|
||||
|
||||
@ -12,18 +12,18 @@ LAMMPS (10 Feb 2021)
|
||||
# argon. The material properties computed in LAMMPS are represented as a
|
||||
# standard KIM property instance format. (See
|
||||
# `https://openkim.org/doc/schema/properties-framework/` and
|
||||
# `https://lammps.sandia.gov/doc/kim_commands.html` for further details).
|
||||
# `https://docs.lammps.org/kim_commands.html` for further details).
|
||||
# Then the created property instance is written to a file named `results.edn`
|
||||
# using the `kim property dump` command.
|
||||
#
|
||||
# Requirement:
|
||||
#
|
||||
# This example requires LAMMPS built with the Python 3.6 or later package
|
||||
# installed. See the `https://lammps.sandia.gov/doc/python.html` doc page for
|
||||
# installed. See the `https://docs.lammps.org/python.html` doc page for
|
||||
# more info on building LAMMPS with the version of Python on your system.
|
||||
# After successfully building LAMMPS with Python, you need to install the
|
||||
# kim-property Python package, See the
|
||||
# `https://lammps.sandia.gov/doc/Build_extras.html#kim` doc page for
|
||||
# `https://docs.lammps.org/Build_extras.html#kim` doc page for
|
||||
# further details.
|
||||
#
|
||||
# This example requires that the KIM Portable Model (PM)
|
||||
|
||||
@ -12,18 +12,18 @@ LAMMPS (10 Feb 2021)
|
||||
# argon. The material properties computed in LAMMPS are represented as a
|
||||
# standard KIM property instance format. (See
|
||||
# `https://openkim.org/doc/schema/properties-framework/` and
|
||||
# `https://lammps.sandia.gov/doc/kim_commands.html` for further details).
|
||||
# `https://docs.lammps.org/kim_commands.html` for further details).
|
||||
# Then the created property instance is written to a file named `results.edn`
|
||||
# using the `kim property dump` command.
|
||||
#
|
||||
# Requirement:
|
||||
#
|
||||
# This example requires LAMMPS built with the Python 3.6 or later package
|
||||
# installed. See the `https://lammps.sandia.gov/doc/python.html` doc page for
|
||||
# installed. See the `https://docs.lammps.org/python.html` doc page for
|
||||
# more info on building LAMMPS with the version of Python on your system.
|
||||
# After successfully building LAMMPS with Python, you need to install the
|
||||
# kim-property Python package, See the
|
||||
# `https://lammps.sandia.gov/doc/Build_extras.html#kim` doc page for
|
||||
# `https://docs.lammps.org/Build_extras.html#kim` doc page for
|
||||
# further details.
|
||||
#
|
||||
# This example requires that the KIM Portable Model (PM)
|
||||
|
||||
@ -7,7 +7,7 @@ LAMMPS (10 Feb 2021)
|
||||
# the KIM package, is the KIM API library that must be downloaded from the
|
||||
# OpenKIM website and installed before LAMMPS is compiled. The 'kim query'
|
||||
# command requires the libcurl library to be installed. See the
|
||||
# `https://lammps.sandia.gov/doc/Build_extras.html#kim` doc page for further
|
||||
# `https://docs.lammps.org/Build_extras.html#kim` doc page for further
|
||||
# details
|
||||
#
|
||||
# This example requires that the KIM Models
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
https://www.lammps.org/ Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* -*- c++ -*- ----------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
http://lammps.sandia.gov, Sandia National Laboratories
|
||||
https://www.lammps.org/ Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------
|
||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||
https://lammps.sandia.gov/, Sandia National Laboratories
|
||||
https://www.lammps.org/, Sandia National Laboratories
|
||||
Steve Plimpton, sjplimp@sandia.gov
|
||||
|
||||
Copyright (2003) Sandia Corporation. Under the terms of Contract
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user