fixing merge conflicts, update to master
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
|
||||
|
||||
16
.github/CODEOWNERS
vendored
16
.github/CODEOWNERS
vendored
@ -13,29 +13,37 @@ lib/kim/* @ellio167
|
||||
lib/mesont/* @iafoss
|
||||
|
||||
# whole packages
|
||||
src/COMPRESS/* @akohlmey
|
||||
src/COMPRESS/* @rbberger
|
||||
src/GPU/* @ndtrung81
|
||||
src/KOKKOS/* @stanmoore1
|
||||
src/KIM/* @ellio167
|
||||
src/LATTE/* @cnegre
|
||||
src/MESSAGE/* @sjplimp
|
||||
src/MLIAP/* @athomps
|
||||
src/SNAP/* @athomps
|
||||
src/SPIN/* @julient31
|
||||
src/USER-BROWNIAN/* @samueljmcameron
|
||||
src/USER-CGDNA/* @ohenrich
|
||||
src/USER-CGSDK/* @akohlmey
|
||||
src/USER-COLVARS/* @giacomofiorin
|
||||
src/USER-FEP/* @agiliopadua
|
||||
src/USER-HDNNP/* @singraber
|
||||
src/USER-INTEL/* @wmbrownintel
|
||||
src/USER-MANIFOLD/* @Pakketeretet2
|
||||
src/USER-MDI/* @taylor-a-barnes
|
||||
src/USER-MEAMC/* @martok
|
||||
src/USER-MESONT/* @iafoss
|
||||
src/USER-MOFFF/* @hheenen
|
||||
src/USER-MOLFILE/* @akohlmey
|
||||
src/USER-NETCDF/* @pastewka
|
||||
src/USER-PACE/* @yury-lysogorskiy
|
||||
src/USER-PLUMED/* @gtribello
|
||||
src/USER-PHONON/* @lingtikong
|
||||
src/USER-PTM/* @pmla
|
||||
src/USER-OMP/* @akohlmey
|
||||
src/USER-QMMM/* @akohlmey
|
||||
src/USER-REAXC/* @hasanmetin
|
||||
src/USER-REACTION/* @jrgissing
|
||||
src/USER-SCAFACOS/* @rhalver
|
||||
src/USER-TALLY/* @akohlmey
|
||||
src/USER-UEF/* @danicholson
|
||||
@ -47,7 +55,6 @@ src/GPU/pair_vashishta_gpu.* @andeplane
|
||||
src/KOKKOS/pair_vashishta_kokkos.* @andeplane
|
||||
src/MANYBODY/pair_vashishta_table.* @andeplane
|
||||
src/MANYBODY/pair_atm.* @sergeylishchuk
|
||||
src/USER-REACTION/fix_bond_react.* @jrgissing
|
||||
src/USER-MISC/*_grem.* @dstelter92
|
||||
src/USER-MISC/compute_stress_mop*.* @RomainVermorel
|
||||
|
||||
@ -122,6 +129,8 @@ tools/emacs/* @HaoZeke
|
||||
tools/singularity/* @akohlmey @rbberger
|
||||
tools/code_standard/* @rbberger
|
||||
tools/valgrind/* @akohlmey
|
||||
tools/swig/* @akohlmey
|
||||
tools/offline/* @rbberger
|
||||
|
||||
# tests
|
||||
unittest/* @akohlmey @rbberger
|
||||
@ -130,7 +139,7 @@ unittest/* @akohlmey @rbberger
|
||||
cmake/* @junghans @rbberger
|
||||
cmake/Modules/Packages/USER-COLVARS.cmake @junghans @rbberger @giacomofiorin
|
||||
cmake/Modules/Packages/KIM.cmake @junghans @rbberger @ellio167
|
||||
cmake/presets/*.cmake @junghans @rbberger @akohlmey
|
||||
cmake/presets/*.cmake @akohlmey
|
||||
|
||||
# python
|
||||
python/* @rbberger
|
||||
@ -142,6 +151,7 @@ fortran/* @akohlmey
|
||||
doc/utils/*/* @rbberger
|
||||
doc/Makefile @rbberger
|
||||
doc/README @rbberger
|
||||
examples/plugin/* @akohlmey
|
||||
|
||||
# for releases
|
||||
src/version.h @sjplimp
|
||||
|
||||
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:
|
||||
|
||||
|
||||
35
SECURITY.md
Normal file
35
SECURITY.md
Normal file
@ -0,0 +1,35 @@
|
||||
# Security Policy
|
||||
|
||||
LAMMPS is designed as a user-level application to conduct computer
|
||||
simulations for research using classical mechanics. As such LAMMPS
|
||||
depends to some degrees on users providing correctly formatted input and
|
||||
LAMMPS needs to read and write files based on uncontrolled user input.
|
||||
As a parallel application for use in high-performance computing
|
||||
environments, performance critical steps are also done without checking
|
||||
data.
|
||||
|
||||
LAMMPS also is interfaced to a number of external libraries, including
|
||||
libraries with experimental research software, that are not validated
|
||||
and tested by the LAMMPS developers, so it is easy to import bad
|
||||
behavior from calling functions in one of those libraries.
|
||||
|
||||
Thus is is quite easy to crash LAMMPS through malicious input and do all
|
||||
kinds of filesystem manipulations. And because of that LAMMPS should
|
||||
**NEVER** be compiled or **run** as superuser, either from a "root" or
|
||||
"administrator" account directly or indirectly via "sudo" or "su".
|
||||
|
||||
Therefore what could be seen as a security vulnerability is usually
|
||||
either a user mistake or a bug in the code. Bugs can be reported in
|
||||
the LAMMPS project
|
||||
[issue tracker on GitHub](https://github.com/lammps/lammps/issues).
|
||||
|
||||
|
||||
# Version Updates
|
||||
|
||||
LAMMPS follows continuous release development model. We aim to keep all
|
||||
release versions (stable or patch) fully functional and employ a variety
|
||||
of automatic testing procedures to detect failures of existing
|
||||
functionality from adding new features before releases are made. Thus
|
||||
bugfixes and updates are only integrated into the current development
|
||||
branch and thus the next (patch) release and users are recommended to
|
||||
update regularly.
|
||||
@ -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
|
||||
|
||||
@ -7,6 +7,11 @@ cmake_minimum_required(VERSION 3.10)
|
||||
if(POLICY CMP0074)
|
||||
cmake_policy(SET CMP0074 NEW)
|
||||
endif()
|
||||
# set policy to silence warnings about missing executable permissions in
|
||||
# pythonx.y-config when cross-compiling. review occasionally if it may be set to NEW
|
||||
if(POLICY CMP0109)
|
||||
cmake_policy(SET CMP0109 OLD)
|
||||
endif()
|
||||
########################################
|
||||
|
||||
project(lammps CXX)
|
||||
@ -72,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")
|
||||
@ -86,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 #
|
||||
########################################################################
|
||||
@ -104,11 +114,23 @@ endif()
|
||||
option(BUILD_TOOLS "Build and install LAMMPS tools (msi2lmp, binary2txt, chain)" OFF)
|
||||
option(BUILD_LAMMPS_SHELL "Build and install the LAMMPS shell" OFF)
|
||||
|
||||
# allow enabling clang-tidy for C++ files
|
||||
set(ENABLE_CLANG_TIDY OFF CACHE BOOL "Include clang-tidy processing when compiling")
|
||||
if(ENABLE_CLANG_TIDY)
|
||||
set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=*-header-filter=.*" CACHE STRING "")
|
||||
endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
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})
|
||||
@ -121,9 +143,9 @@ 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-REACTION USER-REAXC USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH
|
||||
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)
|
||||
|
||||
set(SUFFIX_PACKAGES CORESHELL GPU KOKKOS OPT USER-INTEL USER-OMP)
|
||||
@ -151,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()
|
||||
@ -190,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")
|
||||
@ -234,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.
|
||||
@ -296,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")
|
||||
@ -307,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")
|
||||
@ -324,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})
|
||||
@ -422,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)
|
||||
@ -434,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})
|
||||
@ -449,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})
|
||||
@ -493,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()
|
||||
|
||||
@ -543,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
|
||||
@ -700,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}
|
||||
@ -772,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=")
|
||||
|
||||
@ -37,8 +37,8 @@ if(DOWNLOAD_KOKKOS)
|
||||
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}")
|
||||
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
|
||||
include(ExternalProject)
|
||||
set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/3.4.00.tar.gz" CACHE STRING "URL for KOKKOS tarball")
|
||||
set(KOKKOS_MD5 "c2fdcedb6953e6160c765366f6045abb" CACHE STRING "MD5 checksum of KOKKOS tarball")
|
||||
set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/3.4.01.tar.gz" CACHE STRING "URL for KOKKOS tarball")
|
||||
set(KOKKOS_MD5 "4c84698917c93a18985b311bb6caf84f" CACHE STRING "MD5 checksum of KOKKOS tarball")
|
||||
mark_as_advanced(KOKKOS_URL)
|
||||
mark_as_advanced(KOKKOS_MD5)
|
||||
ExternalProject_Add(kokkos_build
|
||||
@ -58,7 +58,7 @@ if(DOWNLOAD_KOKKOS)
|
||||
target_link_libraries(lmp PRIVATE LAMMPS::KOKKOS)
|
||||
add_dependencies(LAMMPS::KOKKOS kokkos_build)
|
||||
elseif(EXTERNAL_KOKKOS)
|
||||
find_package(Kokkos 3.4.00 REQUIRED CONFIG)
|
||||
find_package(Kokkos 3.4.01 REQUIRED CONFIG)
|
||||
target_link_libraries(lammps PRIVATE Kokkos::kokkos)
|
||||
target_link_libraries(lmp PRIVATE Kokkos::kokkos)
|
||||
else()
|
||||
@ -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()
|
||||
@ -12,37 +12,89 @@ if(DOWNLOAD_MDI)
|
||||
set(MDI_MD5 "ddfa46d6ee15b4e59cfd527ec7212184" CACHE STRING "MD5 checksum for MDI tarball")
|
||||
mark_as_advanced(MDI_URL)
|
||||
mark_as_advanced(MDI_MD5)
|
||||
enable_language(C)
|
||||
|
||||
set(LAMMPS_LIB_MDI_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/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))
|
||||
set(MDI_USE_MPI ON)
|
||||
else()
|
||||
set(MDI_USE_MPI OFF)
|
||||
endif()
|
||||
|
||||
# detect if we have python development support and thus can enable python plugins
|
||||
set(MDI_USE_PYTHON_PLUGINS OFF)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.12)
|
||||
find_package(PythonLibs QUIET) # Deprecated since version 3.12
|
||||
if(PYTHONLIBS_FOUND)
|
||||
set(MDI_USE_PYTHON_PLUGINS ON)
|
||||
endif()
|
||||
else()
|
||||
find_package(Python QUIET COMPONENTS Development)
|
||||
if(Python_Development_FOUND)
|
||||
set(MDI_USE_PYTHON_PLUGINS ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# download/ build MDI library
|
||||
# always build static library with -fpic
|
||||
# support cross-compilation and ninja-build
|
||||
include(ExternalProject)
|
||||
message(STATUS "Building mdi.")
|
||||
ExternalProject_Add(mdi_external
|
||||
ExternalProject_Add(mdi_build
|
||||
URL ${MDI_URL}
|
||||
URL_MD5 ${MDI_MD5}
|
||||
UPDATE_COMMAND ""
|
||||
CMAKE_ARGS ${CMAKE_REQUEST_PIC}
|
||||
-DCMAKE_INSTALL_PREFIX=${LAMMPS_LIB_MDI_BIN_DIR}
|
||||
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
|
||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
|
||||
-DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR}
|
||||
-DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
|
||||
-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}
|
||||
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
|
||||
-Dlanguage=C
|
||||
CMAKE_CACHE_ARGS -DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
|
||||
-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
|
||||
-DTargetOpenMP_FIND_COMPONENTS:STRING=C;CXX)
|
||||
-Dlibtype=STATIC
|
||||
-Dmpi=${MDI_USE_MPI}
|
||||
-Dpython_plugins=${MDI_USE_PYTHON_PLUGINS}
|
||||
UPDATE_COMMAND ""
|
||||
INSTALL_COMMAND ""
|
||||
BUILD_BYPRODUCTS "<BINARY_DIR>/MDI_Library/libmdi.a"
|
||||
)
|
||||
|
||||
# Link the lammps library against MDI
|
||||
target_include_directories(lammps PRIVATE ${LAMMPS_LIB_MDI_BIN_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/mdi)
|
||||
target_link_directories(lammps PRIVATE ${LAMMPS_LIB_MDI_BIN_DIR}/${CMAKE_INSTALL_LIBDIR}/mdi)
|
||||
target_link_libraries(lammps PRIVATE mdi)
|
||||
add_dependencies(lammps mdi_external)
|
||||
# where is the compiled library?
|
||||
ExternalProject_get_property(mdi_build BINARY_DIR)
|
||||
set(MDI_BINARY_DIR "${BINARY_DIR}/MDI_Library")
|
||||
# workaround for older CMake versions
|
||||
file(MAKE_DIRECTORY ${MDI_BINARY_DIR})
|
||||
|
||||
# Link the lammps executable against MDI
|
||||
target_include_directories(lmp PRIVATE ${LAMMPS_LIB_MDI_BIN_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/mdi)
|
||||
target_link_directories(lmp PRIVATE ${LAMMPS_LIB_MDI_BIN_DIR}/${CMAKE_INSTALL_LIBDIR}/mdi)
|
||||
target_link_libraries(lmp PRIVATE mdi)
|
||||
add_dependencies(lmp mdi_external)
|
||||
# create imported target for the MDI library
|
||||
add_library(LAMMPS::MDI UNKNOWN IMPORTED)
|
||||
add_dependencies(LAMMPS::MDI mdi_build)
|
||||
set_target_properties(LAMMPS::MDI PROPERTIES
|
||||
IMPORTED_LOCATION "${MDI_BINARY_DIR}/libmdi.a"
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${MDI_BINARY_DIR}
|
||||
)
|
||||
|
||||
set(MDI_DEP_LIBS "")
|
||||
# if compiling with python plugins we need
|
||||
# to add python libraries as dependency.
|
||||
if(MDI_USE_PYTHON_PLUGINS)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.12)
|
||||
list(APPEND MDI_DEP_LIBS ${PYTHON_LIBRARIES})
|
||||
else()
|
||||
list(APPEND MDI_DEP_LIBS Python::Python)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
# need to add support for dlopen/dlsym, except when compiling for Windows.
|
||||
if(NOT (CMAKE_SYSTEM_NAME STREQUAL "Windows"))
|
||||
list(APPEND MDI_DEP_LIBS "${CMAKE_DL_LIBS}")
|
||||
endif()
|
||||
if(MDI_DEP_LIBS)
|
||||
set_target_properties(LAMMPS::MDI PROPERTIES
|
||||
IMPORTED_LINK_INTERFACE_LIBRARIES "${MDI_DEP_LIBS}")
|
||||
endif()
|
||||
|
||||
target_link_libraries(lammps PRIVATE LAMMPS::MDI)
|
||||
target_link_libraries(lmp PRIVATE LAMMPS::MDI)
|
||||
|
||||
else()
|
||||
|
||||
|
||||
@ -14,13 +14,12 @@ execute_process(
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
|
||||
file(GLOB PACE_EVALUATOR_INCLUDE_DIR ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE)
|
||||
file(GLOB PACE_EVALUATOR_SOURCES ${CMAKE_BINARY_DIR}/lammps-user-pace-*/USER-PACE/*.cpp)
|
||||
list(FILTER PACE_EVALUATOR_SOURCES EXCLUDE REGEX pair_pace.cpp)
|
||||
|
||||
add_library(pace STATIC ${PACE_EVALUATOR_SOURCES})
|
||||
set_target_properties(pace PROPERTIES OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
|
||||
set_target_properties(pace PROPERTIES CXX_EXTENSIONS ON OUTPUT_NAME lammps_pace${LAMMPS_MACHINE})
|
||||
target_include_directories(pace PUBLIC ${PACE_EVALUATOR_INCLUDE_DIR})
|
||||
target_link_libraries(lammps PRIVATE pace)
|
||||
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -6,15 +6,27 @@ set(YAML_MD5 "bb15429d8fb787e7d3f1c83ae129a999" CACHE STRING "MD5 checksum of li
|
||||
mark_as_advanced(YAML_URL)
|
||||
mark_as_advanced(YAML_MD5)
|
||||
|
||||
# support cross-compilation to windows
|
||||
if(CMAKE_CROSSCOMPILING AND (CMAKE_SYSTEM_NAME STREQUAL "Windows"))
|
||||
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
|
||||
set(YAML_CROSS_HOST --host=i686-mingw64)
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
|
||||
set(YAML_CROSS_HOST --host=x86_64-mingw64)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported cross-compilation "
|
||||
" for ${CMAKE_SYSTEM_NAME}/${CMAKE_SYSTEM_PROCESSOR}"
|
||||
" on ${CMAKE_HOST_SYSTEM}/${CMAKE_HOST_SYSTEM_PROCESSOR}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(libyaml
|
||||
URL ${YAML_URL}
|
||||
URL_MD5 ${YAML_MD5}
|
||||
SOURCE_DIR "${CMAKE_BINARY_DIR}/yaml-src"
|
||||
BINARY_DIR "${CMAKE_BINARY_DIR}/yaml-build"
|
||||
CONFIGURE_COMMAND <SOURCE_DIR>/configure ${CONFIGURE_REQUEST_PIC}
|
||||
CXX=${CMAKE_CXX_COMPILER}
|
||||
CC=${CMAKE_C_COMPILER}
|
||||
--prefix=<INSTALL_DIR> --disable-shared
|
||||
CXX=${CMAKE_CXX_COMPILER} CC=${CMAKE_C_COMPILER}
|
||||
--prefix=<INSTALL_DIR> --disable-shared ${YAML_CROSS_HOST}
|
||||
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libyaml${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
TEST_COMMAND "")
|
||||
|
||||
|
||||
@ -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@
|
||||
|
||||
@ -5,13 +5,13 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE
|
||||
MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
|
||||
SRD VORONOI
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
|
||||
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-INTEL
|
||||
USER-LB USER-MANIFOLD USER-MEAMC USER-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-REACTION USER-REAXC
|
||||
USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF
|
||||
USER-VTK USER-YAFF)
|
||||
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-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)
|
||||
|
||||
foreach(PKG ${ALL_PACKAGES})
|
||||
set(PKG_${PKG} OFF CACHE BOOL "" FORCE)
|
||||
|
||||
@ -7,13 +7,13 @@ set(ALL_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GPU
|
||||
GRANULAR KIM KOKKOS KSPACE LATTE MANYBODY MC MESSAGE MISC MLIAP MOLECULE
|
||||
MPIIO MSCG OPT PERI PLUGIN POEMS PYTHON QEQ REPLICA RIGID SHOCK SNAP SPIN
|
||||
SRD VORONOI
|
||||
USER-ADIOS USER-ATC USER-AWPMD USER-BOCS USER-CGDNA USER-CGSDK USER-COLVARS
|
||||
USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-INTEL
|
||||
USER-LB USER-MANIFOLD USER-MEAMC USER-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-REACTION USER-REAXC
|
||||
USER-SCAFACOS USER-SDPD USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF
|
||||
USER-VTK USER-YAFF)
|
||||
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-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)
|
||||
|
||||
foreach(PKG ${ALL_PACKAGES})
|
||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||
|
||||
@ -4,10 +4,18 @@ set(CMAKE_CXX_COMPILER "clang++" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_COMPILER "clang" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
|
||||
set(MPI_CXX "clang++" CACHE STRING "" FORCE)
|
||||
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
|
||||
unset(HAVE_OMP_H_INCLUDE CACHE)
|
||||
|
||||
unset(HAVE_OMP_H_INCLUDE CACHE)
|
||||
set(OpenMP_C "clang" CACHE STRING "" FORCE)
|
||||
set(OpenMP_C_FLAGS "-fopenmp" CACHE STRING "" FORCE)
|
||||
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
# preset that turns on packages with automatic downloads of sources of potentials
|
||||
# compilation of libraries like Plumed or ScaFaCoS can take a considerable amount of time.
|
||||
# Preset that turns on packages with automatic downloads of sources or potentials.
|
||||
# Compilation of libraries like Plumed or ScaFaCoS can take a considerable amount of time.
|
||||
|
||||
set(ALL_PACKAGES KIM LATTE MSCG VORONOI USER-PLUMED USER-SCAFACOS USER-SMD USER-MESONT)
|
||||
set(ALL_PACKAGES KIM LATTE MSCG VORONOI USER-PLUMED USER-SCAFACOS USER-SMD USER-MESONT USER-MDI USER-PACE)
|
||||
|
||||
foreach(PKG ${ALL_PACKAGES})
|
||||
set(PKG_${PKG} ON CACHE BOOL "" FORCE)
|
||||
@ -9,9 +9,11 @@ endforeach()
|
||||
|
||||
set(DOWNLOAD_KIM ON CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_LATTE ON CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_MDI ON CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_MSCG ON CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_VORO ON CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_EIGEN3 ON CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_PACE ON CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_PLUMED ON CACHE BOOL "" FORCE)
|
||||
set(DOWNLOAD_SCAFACOS ON CACHE BOOL "" FORCE)
|
||||
|
||||
|
||||
@ -3,10 +3,20 @@
|
||||
set(CMAKE_CXX_COMPILER "icpc" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_COMPILER "icc" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_COMPILER "ifort" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
|
||||
set(MPI_CXX "icpc" CACHE STRING "" FORCE)
|
||||
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
|
||||
unset(HAVE_OMP_H_INCLUDE CACHE)
|
||||
|
||||
unset(HAVE_OMP_H_INCLUDE CACHE)
|
||||
set(OpenMP_C "icc" CACHE STRING "" FORCE)
|
||||
set(OpenMP_C_FLAGS "-qopenmp" CACHE STRING "" FORCE)
|
||||
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
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-CGDNA USER-CGSDK
|
||||
USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF
|
||||
USER-FEP USER-INTEL USER-MANIFOLD USER-MEAMC USER-MESODPD
|
||||
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-HDNNP USER-INTEL USER-MANIFOLD USER-MDI USER-MEAMC USER-MESODPD
|
||||
USER-MESONT USER-MISC USER-MGPT USER-MOFFF USER-MOLFILE USER-OMP
|
||||
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-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)
|
||||
|
||||
@ -1,12 +1,22 @@
|
||||
# preset that will enable the LLVM based Intel compilers with support for MPI and OpenMP (on Linux boxes)
|
||||
# preset that will enable the LLVM based Intel compilers with support for MPI and OpenMP and Fortran (on Linux boxes)
|
||||
|
||||
set(CMAKE_CXX_COMPILER "icpx" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_COMPILER "icx" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_COMPILER "ifx" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
|
||||
set(MPI_CXX "icpx" CACHE STRING "" FORCE)
|
||||
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
|
||||
unset(HAVE_OMP_H_INCLUDE CACHE)
|
||||
|
||||
unset(HAVE_OMP_H_INCLUDE CACHE)
|
||||
set(OpenMP_C "icx" CACHE STRING "" FORCE)
|
||||
set(OpenMP_C_FLAGS "-qopenmp" CACHE STRING "" FORCE)
|
||||
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" 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
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
.TH LAMMPS "8 April 2021" "2021-04-08"
|
||||
.TH LAMMPS "27 May 2021" "2021-05-27"
|
||||
.SH NAME
|
||||
.B LAMMPS
|
||||
\- Molecular Dynamics Simulator.
|
||||
@ -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,6 +28,28 @@ variable VERBOSE set to 1:
|
||||
|
||||
----------
|
||||
|
||||
.. _clang-tidy:
|
||||
|
||||
Enable static code analysis with clang-tidy
|
||||
-------------------------------------------
|
||||
|
||||
The `clang-tidy tool <https://clang.llvm.org/extra/clang-tidy/>`_ is a
|
||||
static code analysis tool to diagnose (and potentially fix) typical
|
||||
programming errors or coding style violations. It has a modular framework
|
||||
of tests that can be adjusted to help identifying problems before they
|
||||
become bugs and also assist in modernizing large code bases (like LAMMPS).
|
||||
It can be enabled for all C++ code with the following CMake flag
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D ENABLE_CLANG_TIDY=value # value = no (default) or yes
|
||||
|
||||
With this flag enabled all source files will be processed twice, first to
|
||||
be compiled and then to be analyzed. Please note that the analysis can be
|
||||
significantly more time consuming than the compilation itself.
|
||||
|
||||
----------
|
||||
|
||||
.. _iwyu_processing:
|
||||
|
||||
Report missing and unneeded '#include' statements
|
||||
@ -447,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>`
|
||||
@ -456,6 +457,9 @@ They must be specified in uppercase.
|
||||
* - ZEN2
|
||||
- HOST
|
||||
- AMD Zen2 class CPU (AVX 2)
|
||||
* - ZEN3
|
||||
- HOST
|
||||
- AMD Zen3 class CPU (AVX 2)
|
||||
* - ARMV80
|
||||
- HOST
|
||||
- ARMv8.0 Compatible CPU
|
||||
@ -559,7 +563,7 @@ They must be specified in uppercase.
|
||||
- GPU
|
||||
- Intel GPUs Gen9+
|
||||
|
||||
This list was last updated for version 3.4 of the Kokkos library.
|
||||
This list was last updated for version 3.4.1 of the Kokkos library.
|
||||
|
||||
.. tabs::
|
||||
|
||||
@ -1470,6 +1474,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>`
|
||||
@ -226,6 +227,7 @@ OPT.
|
||||
* :doc:`polymorphic <pair_polymorphic>`
|
||||
* :doc:`python <pair_python>`
|
||||
* :doc:`quip <pair_quip>`
|
||||
* :doc:`rann <pair_rann>`
|
||||
* :doc:`reax/c (ko) <pair_reaxc>`
|
||||
* :doc:`rebo (io) <pair_airebo>`
|
||||
* :doc:`resquared (go) <pair_resquared>`
|
||||
|
||||
@ -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
|
||||
@ -168,7 +168,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
|
||||
|
||||
@ -109,7 +109,7 @@ instructions on how to run the examples.
|
||||
If LAMMPS is used as a stand-alone engine it should set up the system
|
||||
it will be modeling in its input script, then invoke the
|
||||
:doc:`mdi/engine <mdi_engine>` command. This will put LAMMPS into
|
||||
engine mode where it waits for messages and data from the driver.
|
||||
"engine mode" where it waits for messages and data from the driver.
|
||||
When the driver sends an "EXIT" command, LAMMPS will exit engine mode
|
||||
and the input script will continue.
|
||||
|
||||
|
||||
@ -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
|
||||
|
||||
@ -2,18 +2,20 @@ LAMMPS open-source license
|
||||
--------------------------
|
||||
|
||||
LAMMPS is a freely-available open-source code, distributed under the
|
||||
terms of the `GNU Public License <gnu_>`_, which means you can use or
|
||||
modify the code however you wish.
|
||||
terms of the `GNU Public License Version 2 <gpl_>`_, which means you can
|
||||
use or modify the code however you wish for your own purposes, but have
|
||||
to adhere to certain rules when redistributing it or software derived
|
||||
from it or that includes parts of it.
|
||||
|
||||
LAMMPS comes with no warranty of any kind. As each source file states
|
||||
in its header, it is a copyrighted code that is distributed free-of-
|
||||
charge, under the terms of the `GNU Public License <gnu_>`_ (GPL). This
|
||||
is often referred to as open-source distribution - see
|
||||
`www.gnu.org <gnuorg_>`_ or `www.opensource.org <opensource_>`_. The legal
|
||||
text of the GPL is in the LICENSE file included in the LAMMPS
|
||||
charge, under the terms of the `GNU Public License Version 2 <gpl_>`_
|
||||
(GPLv2). This is often referred to as open-source distribution - see
|
||||
`www.gnu.org <gnuorg_>`_ or `www.opensource.org <opensource_>`_. The
|
||||
legal text of the GPL is in the LICENSE file included in the LAMMPS
|
||||
distribution.
|
||||
|
||||
.. _gnu: http://www.gnu.org/copyleft/gpl.html
|
||||
.. _gpl: https://github.com/lammps/lammps/blob/master/LICENSE
|
||||
|
||||
.. _gnuorg: http://www.gnu.org
|
||||
|
||||
@ -24,14 +26,14 @@ Here is a summary of what the GPL means for LAMMPS users:
|
||||
(1) Anyone is free to use, modify, or extend LAMMPS in any way they
|
||||
choose, including for commercial purposes.
|
||||
|
||||
(2) If you distribute a modified version of LAMMPS, it must remain
|
||||
open-source, meaning you distribute it under the terms of the GPL.
|
||||
You should clearly annotate such a code as a derivative version of
|
||||
LAMMPS.
|
||||
(2) If you **distribute** a modified version of LAMMPS, it must remain
|
||||
open-source, meaning you distribute **all** of it under the terms of
|
||||
the GPL. You should clearly annotate such a code as a derivative version
|
||||
of LAMMPS.
|
||||
|
||||
(3) If you release any code that includes LAMMPS source code, then it
|
||||
must also be open-sourced, meaning you distribute it under the terms
|
||||
of the GPL.
|
||||
(3) If you release any code that includes or uses LAMMPS source code,
|
||||
then it must also be open-sourced, meaning you distribute it under
|
||||
the terms of the GPL.
|
||||
|
||||
(4) If you give LAMMPS files to someone else, the GPL LICENSE file and
|
||||
source file headers (including the copyright and GPL notices) should
|
||||
|
||||
@ -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>`_
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
######################################
|
||||
LAMMPS version |version| Documentation
|
||||
######################################
|
||||
########################################
|
||||
LAMMPS Documentation (|version| version)
|
||||
########################################
|
||||
|
||||
LAMMPS stands for **L**\ arge-scale **A**\ tomic/**M**\ olecular
|
||||
**M**\ assively **P**\ arallel **S**\ imulator.
|
||||
@ -11,11 +11,12 @@ computers. It was developed originally at Sandia National
|
||||
Laboratories, a US Department of Energy facility. The majority of
|
||||
funding for LAMMPS has come from the US Department of Energy (DOE).
|
||||
LAMMPS is an open-source code, distributed freely under the terms of
|
||||
the GNU Public License (GPL).
|
||||
the GNU Public License Version 2 (GPLv2).
|
||||
|
||||
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>`_ and
|
||||
`online forum <https://www.lammps.org/forum.html>`_ where users can
|
||||
post questions, and a `GitHub site <https://github.com/lammps/lammps>`_
|
||||
where all LAMMPS development is coordinated.
|
||||
|
||||
@ -30,11 +31,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 +45,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
|
||||
|
||||
----------
|
||||
|
||||
@ -89,10 +92,15 @@ Programmer Guide
|
||||
Modify
|
||||
Developer
|
||||
|
||||
*****************
|
||||
Command Reference
|
||||
*****************
|
||||
|
||||
.. _command_reference:
|
||||
.. toctree::
|
||||
:caption: Index
|
||||
:name: index
|
||||
:hidden:
|
||||
:name: reference
|
||||
:maxdepth: 1
|
||||
:caption: Command Reference
|
||||
|
||||
commands_list
|
||||
fixes
|
||||
@ -118,10 +126,10 @@ Indices and tables
|
||||
.. admonition:: Web Browser Compatibility
|
||||
|
||||
The HTML version of the manual makes use of advanced features present
|
||||
int "modern" web browsers. This can lead to incompatibilities with older
|
||||
in "modern" web browsers. This can lead to incompatibilities with older
|
||||
web browsers (released more than 4 years ago) and specific vendor browsers
|
||||
(e.g. Internet Explorer on Windows; Microsoft Edge works well though)
|
||||
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
|
||||
@ -10,14 +10,14 @@ Tutorial <Howto_github>` for a demonstration on how to do that. An
|
||||
alternative is to contact the LAMMPS developers or the indicated
|
||||
developer of a package or feature directly and send in your contribution
|
||||
via e-mail, but that can add a significant delay on getting your
|
||||
contribution included, depending on how busy the developer is you
|
||||
contact, how complex a task it would be to integrate that code, and how
|
||||
contribution included, depending on how busy the respective developer
|
||||
is, how complex a task it would be to integrate that code, and how
|
||||
many - if any - changes are required before the code can be included.
|
||||
|
||||
For any larger modifications or programming project, you are encouraged
|
||||
to contact the LAMMPS developers ahead of time, in order to discuss
|
||||
implementation strategies and coding guidelines, that will make it
|
||||
easier to integrate your contribution and result in less work for
|
||||
to contact the LAMMPS developers ahead of time in order to discuss
|
||||
implementation strategies and coding guidelines. That will make it
|
||||
easier to integrate your contribution and results in less work for
|
||||
everybody involved. You are also encouraged to search through the list
|
||||
of `open issues on GitHub <https://github.com/lammps/lammps/issues>`_
|
||||
and submit a new issue for a planned feature, so you would not duplicate
|
||||
@ -31,21 +31,22 @@ 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 much it requires
|
||||
changes to the core codebase, and of how much interest it is to the
|
||||
larger LAMMPS community. Please see below for a checklist of typical
|
||||
requirements. Once you have prepared everything, see the :doc:`LAMMPS GitHub
|
||||
Tutorial <Howto_github>` page for instructions on
|
||||
how to submit your changes or new files through a GitHub pull
|
||||
request. If you prefer to submit patches or full files, you should first
|
||||
make certain, that your code works correctly with the latest patch-level
|
||||
version of LAMMPS and contains all bug fixes from it. Then create a
|
||||
gzipped tar file of all changed or added files or a corresponding patch
|
||||
file using 'diff -u' or 'diff -c' and compress it with gzip. Please only
|
||||
use gzip compression, as this works well on all platforms.
|
||||
much effort it will cause to integrate and test it, how many and what
|
||||
kind of changes it requires to the core codebase, and of how much
|
||||
interest it is to the larger LAMMPS community. Please see below for a
|
||||
checklist of typical requirements. Once you have prepared everything,
|
||||
see the :doc:`LAMMPS GitHub Tutorial <Howto_github>` page for
|
||||
instructions on how to submit your changes or new files through a GitHub
|
||||
pull request. If you prefer to submit patches or full files, you should
|
||||
first make certain, that your code works correctly with the latest
|
||||
patch-level version of LAMMPS and contains all bug fixes from it. Then
|
||||
create a gzipped tar file of all changed or added files or a
|
||||
corresponding patch file using 'diff -u' or 'diff -c' and compress it
|
||||
with gzip. Please only use gzip compression, as this works well and is
|
||||
available on all platforms.
|
||||
|
||||
If the new features/files are broadly useful we may add them as core
|
||||
files to LAMMPS or as part of a :doc:`standard package <Packages_standard>`. Else we will add them as a
|
||||
@ -57,13 +58,16 @@ added to the LAMMPS distribution. All the standard and user packages
|
||||
are listed and described on the :doc:`Packages details <Packages_details>` doc page.
|
||||
|
||||
Note that by providing us files to release, you are agreeing to make
|
||||
them open-source, i.e. we can release them under the terms of the GPL,
|
||||
used as a license for the rest of LAMMPS. See the :doc:`LAMMPS license
|
||||
<Intro_opensource>` doc page for details.
|
||||
them open-source, i.e. we can release them under the terms of the GPL
|
||||
(version 2), used as a license for the rest of LAMMPS. And as part of
|
||||
a LGPL (version 2.1) distribution that we make available to developers
|
||||
on request only and with files that are authorized for that kind of
|
||||
distribution removed (e.g. interface to FFTW). See the
|
||||
:doc:`LAMMPS license <Intro_opensource>` doc page for details.
|
||||
|
||||
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
|
||||
@ -77,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
|
||||
@ -92,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.
|
||||
@ -112,7 +116,7 @@ packages in the src directory for examples. If you are uncertain, please ask.
|
||||
your contribution(s) to be added to main LAMMPS code or one of its
|
||||
standard packages, it needs to be written in a style compatible with
|
||||
other LAMMPS source files. This means: 2-character indentation per
|
||||
level, **no tabs**\ , no lines over 80 characters. I/O is done via
|
||||
level, **no tabs**\ , no lines over 100 characters. I/O is done via
|
||||
the C-style stdio library (mixing of stdio and iostreams is generally
|
||||
discouraged), class header files should not import any system headers
|
||||
outside of <cstdio>, STL containers should be avoided in headers,
|
||||
@ -131,6 +135,31 @@ packages in the src directory for examples. If you are uncertain, please ask.
|
||||
LAMMPS source files, including the use of the error class for error
|
||||
and warning messages.
|
||||
|
||||
* To simplify reformatting contributed code in a way that is compatible
|
||||
with the LAMMPS formatting styles, you can use clang-format (version 8
|
||||
or later). The LAMMPS distribution includes a suitable ``.clang-format``
|
||||
file which will be applied if you run ``clang-format -i some_file.cpp``
|
||||
on your files inside the LAMMPS src tree. Please only reformat files
|
||||
that you have contributed. For header files containing a
|
||||
``SomeStyle(keyword, ClassName)`` macros it is required to have this
|
||||
macro embedded with a pair of ``// clang-format off``, ``// clang-format on``
|
||||
commends and the line must be terminated with a semi-colon (;).
|
||||
Example:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
#ifdef COMMAND_CLASS
|
||||
// clang-format off
|
||||
CommandStyle(run,Run);
|
||||
// clang-format on
|
||||
#else
|
||||
|
||||
#ifndef LMP_RUN_H
|
||||
[...]
|
||||
|
||||
You may also use ``// clang-format on/off`` throughout your file
|
||||
to protect sections of the file from being reformatted.
|
||||
|
||||
* If you want your contribution to be added as a user-contributed
|
||||
feature, and it's a single file (actually a \*.cpp and \*.h file) it can
|
||||
rapidly be added to the USER-MISC directory. Send us the one-line
|
||||
|
||||
@ -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>`
|
||||
@ -99,6 +100,7 @@ page gives those details.
|
||||
* :ref:`USER-QMMM <PKG-USER-QMMM>`
|
||||
* :ref:`USER-QTB <PKG-USER-QTB>`
|
||||
* :ref:`USER-QUIP <PKG-USER-QUIP>`
|
||||
* :ref:`USER-RANN <PKG-USER-RANN>`
|
||||
* :ref:`USER-REACTION <PKG-USER-REACTION>`
|
||||
* :ref:`USER-REAXC <PKG-USER-REAXC>`
|
||||
* :ref:`USER-SCAFACOS <PKG-USER-SCAFACOS>`
|
||||
@ -133,8 +135,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 +332,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 +358,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
|
||||
|
||||
----------
|
||||
|
||||
@ -447,7 +449,7 @@ time via the "-sf kk" or "-suffix kk" :doc:`command-line switches <Run_options>`
|
||||
:ref:`USER-INTEL <PKG-USER-INTEL>`, and :ref:`USER-OMP <PKG-USER-OMP>` packages, which
|
||||
have styles optimized for CPUs, KNLs, and GPUs.
|
||||
|
||||
You must have a C++11 compatible compiler to use this package.
|
||||
You must have a C++14 compatible compiler to use this package.
|
||||
KOKKOS makes extensive use of advanced C++ features, which can
|
||||
expose compiler bugs, especially when compiling for maximum
|
||||
performance at high optimization levels. Please see the file
|
||||
@ -479,7 +481,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 +605,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 +662,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 +818,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 +849,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 +1010,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 +1112,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 +1206,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 +1339,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 +1576,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 +1641,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 +1718,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 +1823,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 +1901,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 +2120,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
|
||||
|
||||
----------
|
||||
|
||||
@ -2243,6 +2278,31 @@ This package has :ref:`specific installation instructions <user-quip>` on the :d
|
||||
|
||||
----------
|
||||
|
||||
.. _PKG-USER-RANN:
|
||||
|
||||
USER-RANN package
|
||||
-----------------
|
||||
|
||||
**Contents:**
|
||||
|
||||
A pair style for using rapid atomistic neural network (RANN) potentials.
|
||||
These neural network potentials work by first generating a series of symmetry
|
||||
functions from the neighbor list and then using these values as the input layer
|
||||
of a neural network.
|
||||
|
||||
**Authors:**
|
||||
|
||||
This package was written by Christopher Barrett
|
||||
with contributions by Doyl Dickel, Mississippi State University.
|
||||
|
||||
**Supporting info:**
|
||||
|
||||
* src/USER-RANN: filenames -> commands
|
||||
* :doc:`pair_style rann <pair_rann>`
|
||||
* examples/USER/rann
|
||||
|
||||
----------
|
||||
|
||||
.. _PKG-USER-REACTION:
|
||||
|
||||
USER-REACTION package
|
||||
@ -2268,8 +2328,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 +2456,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 +2513,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 |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
@ -99,6 +101,8 @@ package:
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-QUIP <PKG-USER-QUIP>` | QUIP/libatoms interface | :doc:`pair_style quip <pair_quip>` | USER/quip | ext |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-RANN <PKG-USER-RANN>` | rapid atomistic neural network (RANN) potentials | :doc:`pair rann <pair_rann>` | USER/rann | no |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-REACTION <PKG-USER-REACTION>` | chemical reactions in classical MD | :doc:`fix bond/react <fix_bond_react>` | USER/reaction | no |
|
||||
+------------------------------------------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------+------------------------------------------------------+---------+
|
||||
| :ref:`USER-REAXC <PKG-USER-REAXC>` | ReaxFF potential (C/C++) | :doc:`pair_style reaxc <pair_reaxc>` | reax | no |
|
||||
|
||||
@ -10,6 +10,7 @@ letter abbreviation can be used:
|
||||
* :ref:`-i or -in <file>`
|
||||
* :ref:`-k or -kokkos <run-kokkos>`
|
||||
* :ref:`-l or -log <log>`
|
||||
* :ref:`-mdi <mdi>`
|
||||
* :ref:`-m or -mpicolor <mpicolor>`
|
||||
* :ref:`-c or -cite <cite>`
|
||||
* :ref:`-nc or -nocite <nocite>`
|
||||
@ -196,9 +197,23 @@ Option -plog will override the name of the partition log files file.N.
|
||||
|
||||
----------
|
||||
|
||||
.. _mdi:
|
||||
|
||||
**-mdi 'multiple flags'**
|
||||
|
||||
This flag is only recognized and used when LAMMPS has support for the MolSSI
|
||||
Driver Interface (MDI) included as part of the :ref:`USER-MDI <PKG-USER-MDI>`
|
||||
package. This flag is specific to the MDI library and controls how LAMMPS
|
||||
interacts with MDI. There are usually multiple flags that have to follow it
|
||||
and those have to be placed in quotation marks. For more information about
|
||||
how to launch LAMMPS in MDI client/server mode please refer to the
|
||||
:doc:`MDI Howto <Howto_mdi>`.
|
||||
|
||||
----------
|
||||
|
||||
.. _mpicolor:
|
||||
|
||||
**-mpicolor** color
|
||||
**-mpicolor color**
|
||||
|
||||
If used, this must be the first command-line argument after the LAMMPS
|
||||
executable name. It is only used when LAMMPS is launched by an mpirun
|
||||
@ -223,7 +238,7 @@ links with from the lib/message directory. See the
|
||||
|
||||
.. _cite:
|
||||
|
||||
**-cite style or file name**
|
||||
**-cite style** or **file name**
|
||||
|
||||
Select how and where to output a reminder about citing contributions
|
||||
to the LAMMPS code that were used during the run. Available styles are
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -69,7 +69,6 @@ parenthesized comments):
|
||||
HAM (keyword is the first text on line)
|
||||
N 181 FP 0 0 EQ 90.0 (N, FP, EQ parameters)
|
||||
(blank line)
|
||||
N 181 FP 0 0 (N, FP parameters)
|
||||
1 0.0 200.5 2.5 (index, angle, energy, derivative)
|
||||
2 1.0 198.0 2.5
|
||||
...
|
||||
|
||||
@ -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
|
||||
|
||||
@ -244,6 +244,7 @@ accelerated styles exist.
|
||||
* :doc:`lb/viscous <fix_lb_viscous>` -
|
||||
* :doc:`lineforce <fix_lineforce>` - constrain atoms to move in a line
|
||||
* :doc:`manifoldforce <fix_manifoldforce>` - restrain atoms to a manifold during minimization
|
||||
* :doc:`mdi/engine <fix_mdi_engine>` - connect LAMMPS to external programs via the MolSSI Driver Interface (MDI)
|
||||
* :doc:`meso/move <fix_meso_move>` - move mesoscopic SPH/SDPD particles in a prescribed fashion
|
||||
* :doc:`momentum <fix_momentum>` - zero the linear and/or angular momentum of a group of atoms
|
||||
* :doc:`momentum/chunk <fix_momentum>` - zero the linear and/or angular momentum of a chunk of atoms
|
||||
|
||||
@ -17,7 +17,7 @@ Syntax
|
||||
* ID, group-ID are documented in :doc:`fix <fix>` command.
|
||||
* bond/react = style name of this fix command
|
||||
* the common keyword/values may be appended directly after 'bond/react'
|
||||
* this applies to all reaction specifications (below)
|
||||
* common keywords apply to all reaction specifications
|
||||
* common_keyword = *stabilization* or *reset_mol_ids*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -92,6 +92,11 @@ The :doc:`thermo_modify <thermo_modify>` *press* option is supported
|
||||
by this fix to add the rescaled kinetic pressure as part of
|
||||
:doc:`thermodynamic output <thermo_style>`.
|
||||
|
||||
This fix computes a global scalar which can be accessed by various
|
||||
:doc:`output commands <Howto_output>`. The scalar is the effective
|
||||
temperature :math:`T_{eff}`. The scalar value calculated by this
|
||||
fix is "intensive".
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
.. index:: fix move
|
||||
.. index:: fix mdi/engine
|
||||
|
||||
fix mdi/engine command
|
||||
======================
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
.. index:: mdi_engine
|
||||
.. index:: mdi/engine
|
||||
|
||||
mdi_engine command
|
||||
==================
|
||||
|
||||
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>`__
|
||||
@ -145,6 +145,22 @@ specified since a Coulombic cutoff cannot be specified for an individual I,J
|
||||
type pair. All type pairs use the same global Coulombic cutoff specified in
|
||||
the pair_style command.
|
||||
|
||||
.. warning::
|
||||
|
||||
Because of how these pair styles implement the coulomb interactions
|
||||
by implicitly defining a fourth site for the negative charge
|
||||
of the TIP4P and similar water models, special care must be taken
|
||||
when using these pair styles with other computations that also use
|
||||
charges. Unless they are specially set up to also handle the implicit
|
||||
definition of the 4th site, results are likely incorrect. Example:
|
||||
:doc:`compute dipole/chunk <compute_dipole_chunk>`. For the same
|
||||
reason, when using one of these pair styles with
|
||||
:doc:`pair_style hybrid <pair_hybrid>`, **all** coulomb interactions
|
||||
should be handled by a single sub-style with TIP4P support. All other
|
||||
instances and styles will "see" the M point charges at the position
|
||||
of the Oxygen atom and thus compute incorrect forces and energies.
|
||||
LAMMPS will print a warning when it detects one of these issues.
|
||||
|
||||
----------
|
||||
|
||||
A version of these styles with a soft core, *lj/cut/tip4p/long/soft*\ , suitable
|
||||
|
||||
412
doc/src/pair_rann.rst
Normal file
412
doc/src/pair_rann.rst
Normal file
@ -0,0 +1,412 @@
|
||||
.. index:: pair_style rann
|
||||
|
||||
pair_style rann command
|
||||
=======================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style rann
|
||||
pair_coeff file Type1_element Type2_element Type3_element...
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style rann
|
||||
pair_coeff ** Mg.rann Mg
|
||||
pair_coeff ** MgAlalloy.rann Mg Mg Al Mg
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Pair style *rann* computes pairwise interactions for a variety of
|
||||
materials using rapid atomistic neural network (RANN) potentials
|
||||
(:ref:`Dickel <Dickel>` , :ref:`Nitol <Nitol>`). Neural network
|
||||
potentials work by first generating a series of symmetry functions
|
||||
i.e. structural fingerprints from the neighbor list and then using these
|
||||
values as the input layer of a neural network. There is a single output
|
||||
neuron in the final layer which is the energy. Atomic forces are found
|
||||
by analytical derivatives computed via back-propagation. For alloy
|
||||
systems, each element has a unique network.
|
||||
|
||||
Potential file syntax
|
||||
"""""""""""""""""""""
|
||||
|
||||
The RANN potential is defined by a single text file which contains all
|
||||
the fitting parameters for the alloy system. The potential file also
|
||||
defines the active fingerprints, network architecture, activation
|
||||
functions, etc. The potential file is divided into several sections
|
||||
which are identified by one of the following keywords:
|
||||
|
||||
* atomtypes
|
||||
* mass
|
||||
* fingerprintsperelement
|
||||
* fingerprints
|
||||
* fingerprintconstants
|
||||
* screening (optional)
|
||||
* networklayers
|
||||
* layersize
|
||||
* weight
|
||||
* bias
|
||||
* activationfunctions
|
||||
* calibrationparameters (ignored)
|
||||
|
||||
The '#' character is treated as a comment marker, similar to LAMMPS
|
||||
input scripts. Sections are not required to follow a rigid ordering,
|
||||
but do require previous definition of prerequisite information. E.g.,
|
||||
fingerprintconstants for a particular fingerprint must follow the
|
||||
fingerprints definition; layersize for a particular layer must follow
|
||||
the declaration of network layers.
|
||||
|
||||
*atomtypes* are defined as follows using element keywords separated by spaces.
|
||||
|
||||
.. code-block::
|
||||
|
||||
atomtypes:
|
||||
Fe Mg Al etc.
|
||||
|
||||
*mass* must be specified for each element keyword as follows:
|
||||
|
||||
.. code-block::
|
||||
|
||||
mass:Mg:
|
||||
24.305
|
||||
mass:Fe:
|
||||
55.847
|
||||
mass:Al:
|
||||
26.982
|
||||
|
||||
*fingerprintsperelement* specifies how many fingerprints are active for
|
||||
computing the energy of a given atom. This number must be specified for
|
||||
each element keyword. Active elements for each fingerprint depend upon
|
||||
the type of the central atom and the neighboring atoms. Pairwise
|
||||
fingerprints may be defined for a Mg atom based exclusively on its Al
|
||||
neighbors, for example. Bond fingerprints may use two neighbor lists of
|
||||
different element types. In computing fingerprintsperelement from all
|
||||
defined fingerprints, only the fingerprints defined for atoms of a
|
||||
particular element should be considered, regardless of the elements used
|
||||
in its neighbor list. In the following code, for example, some
|
||||
fingerprints may compute pairwise fingerprints summing contributions
|
||||
about Fe atoms based on a neighbor list of exclusively Al atoms, but if
|
||||
there are no fingerprints summing contributions of all neighbors about a
|
||||
central Al atom, then fingerprintsperelement of Al is zero:
|
||||
|
||||
.. code-block::
|
||||
|
||||
fingerprintsperelement:Mg:
|
||||
5
|
||||
fingerprintsperelement:Fe:
|
||||
2
|
||||
fingerprintsperelement:Al:
|
||||
0
|
||||
|
||||
*fingerprints* specifies the active fingerprints for a certain element
|
||||
combination. Pair fingerprints are specified for two elements, while
|
||||
bond fingerprints are specified for three elements. Only one
|
||||
fingerprints header should be used for an individual combination of
|
||||
elements. The ordering of the fingerprints in the network input layer
|
||||
is determined by the order of element combinations specified by
|
||||
subsequent *fingerprints* lines, and the order of the fingerprints
|
||||
defined for each element combination. Multiple fingerprints of the same
|
||||
style or different ones may be specified. If the same style and element
|
||||
combination is used for multiple fingerprints, they should have
|
||||
different id numbers. The first element specifies the atoms for which
|
||||
this fingerprint is computed while the other(s) specify which atoms to
|
||||
use in the neighbor lists for the computation. Switching the second and
|
||||
third element type in bond fingerprints has no effect on the
|
||||
computation:
|
||||
|
||||
.. code-block::
|
||||
|
||||
fingerprints:Mg_Mg:
|
||||
radial_0 radialscreened_0 radial_1
|
||||
fingerprints:Mg_Al_Fe:
|
||||
bond_0 bondspin_0
|
||||
fingerprints:Mg_Al:
|
||||
radial_0 radialscreened_0
|
||||
|
||||
The following fingerprint styles are currently defined. See the
|
||||
:ref:`formulation section <fingerprints>` below for their definitions:
|
||||
|
||||
* radial
|
||||
* radialscreened
|
||||
* radialspin
|
||||
* radialscreenedspin
|
||||
* bond
|
||||
* bondscreened
|
||||
* bondspin
|
||||
* bondscreenedspin
|
||||
|
||||
*fingerprintconstants* specifies the meta-parameters for a defined fingerprint. For all radial styles, re, rc,
|
||||
alpha, dr, o, and n must be specified. re should usually be the stable interatomic distance, rc is the cutoff
|
||||
radius, dr is the cutoff smoothing distance, o is the lowest radial power term (which may be negative), and n
|
||||
is the highest power term. The total length of the fingerprint vector is (n-o+1). alpha is a list of decay parameters
|
||||
used for exponential decay of radial contributions. It may be set proportionally to the bulk modulus similarly
|
||||
to MEAM potentials, but other values may provided better fitting in special cases. Bond style fingerprints require
|
||||
specification of re, rc, alphak, dr, k, and m. Here m is the power of the bond cosines and k is the number of
|
||||
decay parameters. Cosine powers go from 0 to m-1 and are each computed for all values of alphak. Thus the total
|
||||
length of the fingerprint vector is m*k.
|
||||
|
||||
.. code-block::
|
||||
|
||||
fingerprintconstants:Mg_Mg:radialscreened_0:re:
|
||||
3.193592
|
||||
fingerprintconstants:Mg_Mg:radialscreened_0:rc:
|
||||
6.000000
|
||||
fingerprintconstants:Mg_Mg:radialscreened_0:alpha:
|
||||
5.520000 5.520000 5.520000 5.520000 5.520000
|
||||
fingerprintconstants:Mg_Mg:radialscreened_0:dr:
|
||||
2.806408
|
||||
fingerprintconstants:Mg_Mg:radialscreened_0:o:
|
||||
-1
|
||||
fingerprintconstants:Mg_Mg:radialscreened_0:n:
|
||||
3
|
||||
|
||||
*screening* specifies the Cmax and Cmin values used in the screening
|
||||
fingerprints. Contributions form neighbors to the fingerprint are
|
||||
omitted if they are blocked by a closer neighbor, and reduced if they
|
||||
are partially blocked. Larger values of Cmin correspond to neighbors
|
||||
being blocked more easily. Cmax cannot be greater than 3, and Cmin
|
||||
cannot be greater than Cmax or less than zero. Screening may be omitted
|
||||
in which case the default values Cmax = 2.8, Cmin = 0.8 are used. Since
|
||||
screening is a bond computation, it is specified separately for each
|
||||
combination of three elements in which the latter two may be
|
||||
interchanged with no effect.
|
||||
|
||||
.. code-block::
|
||||
|
||||
screening:Mg_Mg_Mg:Cmax:
|
||||
2.700000
|
||||
screening:Mg_Mg_Mg:Cmin:
|
||||
0.400000
|
||||
|
||||
*networklayers* species the size of the neural network for each atom.
|
||||
It counts both the input and output layer and so is 2 + \<hidden layers\>.
|
||||
|
||||
.. code-block::
|
||||
|
||||
networklayers:Mg:
|
||||
3
|
||||
|
||||
*layersize* specifies the length of each layer, including the input
|
||||
layer and output layer. The input layer is layer 0. The size of the
|
||||
input layer size must match the summed length of all the fingerprints
|
||||
for that element, and the output layer size must be 1:
|
||||
|
||||
.. code-block::
|
||||
|
||||
layersize:Mg:0:
|
||||
14
|
||||
layersize:Mg:1:
|
||||
20
|
||||
layersize:Mg:2:
|
||||
1
|
||||
|
||||
|
||||
*weight* specifies the weight for a given element and layer. Weight
|
||||
cannot be specified for the output layer. The weight of layer i is a
|
||||
*m* x *n* matrix where *m* is the layer size of *i* and *n* is the layer size of
|
||||
*i*\ +1:
|
||||
|
||||
.. code-block::
|
||||
|
||||
weight:Mg:0:
|
||||
w11 w12 w13 ...
|
||||
w21 w22 w23 ...
|
||||
...
|
||||
|
||||
*bias* specifies the bias for a given element and layer. Bias cannot be
|
||||
specified for the output layer. The bias of layer i is a nx1 vector
|
||||
where n is the layer size of i+1:
|
||||
|
||||
.. code-block::
|
||||
|
||||
bias:Mg:0:
|
||||
b1
|
||||
b2
|
||||
b3
|
||||
...
|
||||
|
||||
*activationfunctions* specifies the activation function for a given
|
||||
element and layer. Activation functions cannot be specified for the
|
||||
output layer:
|
||||
|
||||
.. code-block::
|
||||
|
||||
activationfunctions:Mg:0:
|
||||
sigI
|
||||
activationfunctions:Mg:1:
|
||||
linear
|
||||
|
||||
The following activation styles are currently specified. See the
|
||||
:ref:`formulation section <activations>` below for their definitions.
|
||||
|
||||
* sigI
|
||||
|
||||
* linear
|
||||
|
||||
*calibrationparameters* specifies a number of parameters used to calibrate the potential. These are ignored
|
||||
by LAMMPS.
|
||||
|
||||
Formulation
|
||||
"""""""""""
|
||||
|
||||
In the RANN formulation, the total energy of a system of atoms
|
||||
is given by:
|
||||
|
||||
.. math::
|
||||
|
||||
E = \sum_{\alpha} E^{\alpha}\\\\
|
||||
E^{\alpha} = {}^{N}\!A^{\alpha}\\\\
|
||||
{}^{n+1}\!A_i^{\alpha} = {}^{n}\!F\left({}^{n}\!W_{ij}{\;}^{n}\!A_j^{\alpha}+{}^{n}\!B_i\right)\\\\
|
||||
{}^{0}\!A_i^{\alpha} = \left[\begin{array}{c} {}^1\!S\!f^\alpha\\ {}^2\!S\!f^\alpha \\...\\\end{array}\right]
|
||||
|
||||
Here :math:`E^\alpha` is the energy of atom :math:`\alpha`,
|
||||
:math:`{}^n\!F()`, :math:`{}^n\!W_{ij}` and :math:`{}^n\!B_i` are the
|
||||
activation function, weight matrix and bias vector of the n-th layer
|
||||
respectively. The inputs to the first layer are a collection of
|
||||
structural fingerprints which are collected and reshaped into a single
|
||||
long vector. The individual fingerprints may be defined in any order
|
||||
and have various shapes and sizes. Multiple fingerprints of the same
|
||||
type and varying parameters may also be defined in the input layer.
|
||||
|
||||
Eight types of structural fingerprints are currently defined. In the
|
||||
following, :math:`\beta` and :math:`\gamma` span the full neighbor list
|
||||
of atom :math:`\alpha`. :math:`\delta_i` are decay meta-parameters, and
|
||||
:math:`r_e` is a meta-parameter roughly proportional to the first
|
||||
neighbor distance. :math:`r_c` and :math:`dr` are the neighbor cutoff
|
||||
distance and cutoff smoothing distance respectively.
|
||||
:math:`S^{\alpha\beta}` is the MEAM screening function :ref:`(Baskes)
|
||||
<Baskes97>`, :math:`s_i^\alpha` and :math:`s_i^\beta` are the atom spin
|
||||
vectors :ref:`(Tranchida) <Tranchida7>`. :math:`r^{\alpha\beta}` is the
|
||||
distance from atom :math:`\alpha` to atom :math:`\beta`, and
|
||||
:math:`\theta^{\alpha\beta\gamma}` is the bond angle:
|
||||
|
||||
.. math ::
|
||||
|
||||
cos\left(\theta^{\alpha\beta\gamma}\right)=\frac{\mathbf{r}^{\alpha\beta} \cdot \mathbf{r}^{\alpha\gamma}}{r^{\alpha\beta}r^{\alpha\gamma}}
|
||||
|
||||
:math:`S^{\alpha\beta}` is defined as :ref:`(Baskes) <Baskes97>`:
|
||||
|
||||
.. math::
|
||||
|
||||
X^{\gamma\beta} = \left(\frac{r^{\gamma\beta}}{r^{\alpha\beta}}\right)^2\\
|
||||
\\
|
||||
X^{\alpha\gamma} = \left(\frac{r^{\alpha\gamma}}{r^{\alpha\beta}}\right)^2\\
|
||||
\\
|
||||
C = \frac{2\left(X^{\alpha\gamma}+X^{\gamma\beta}\right)-\left(X^{\alpha\gamma}-X^{\gamma\beta}\right)^2-1}{1-\left(X^{\alpha\gamma}-X^{\gamma\beta}\right)^2}\\
|
||||
\\
|
||||
f_c(x) = \left[\begin{array}{l} 1 \; \: x \geq 1\\ \left(1-\left(1-x\right)^4\right)^2 \; \: 0<x<1\\0\; \; x\leq0\end{array}\right.\\
|
||||
\\
|
||||
S^{\alpha\beta\gamma} = f_c\left(\frac{C-C_{min}}{C_{max}-C_{min}}\right)\\
|
||||
\\
|
||||
S^{\alpha\beta} = \prod_\gamma S^{\alpha\beta\gamma}\\
|
||||
|
||||
|
||||
The structural fingerprints are computed as follows:
|
||||
|
||||
.. _fingerprints:
|
||||
|
||||
* **radial**
|
||||
|
||||
.. math::
|
||||
|
||||
{}^r\!S\!f_i^\alpha = \sum_{\beta} \left(\frac{r^{\alpha\beta}}{r_e}\right)^ie^{-\delta_i \frac{r^{\alpha\beta}}{r_e}}f_c\left(\frac{r_c-r^{\alpha\beta}}{dr}\right)
|
||||
|
||||
* **bond**
|
||||
|
||||
.. math::
|
||||
|
||||
{}^b\!S\!f_{ij}^\alpha = \sum_{\beta}\sum_{\gamma} \left(cos(\theta_{\alpha\beta\gamma})\right)^ie^{-\delta_j \frac{r^{\alpha\beta}}{r_e}}e^{-\delta_j \frac{r^{\alpha\gamma}}{r_e}}f_c\left(\frac{r_c-r^{\alpha\beta}}{dr}\right)f_c\left(\frac{r_c-r^{\alpha\gamma}}{dr}\right)
|
||||
|
||||
* **radialscreened**
|
||||
|
||||
.. math::
|
||||
|
||||
{}^{rsc}\!S\!f_i^\alpha = \sum_{\beta} \left(\frac{r^{\alpha\beta}}{r_e}\right)^ie^{-\delta_i \frac{r^{\alpha\beta}}{r_e}}S^{\alpha\beta}f_c\left(\frac{r_c-r^{\alpha\beta}}{dr}\right)
|
||||
|
||||
* **bondscreened**
|
||||
|
||||
.. math::
|
||||
|
||||
{}^{bsc}\!S\!f_{ij}^\alpha = \sum_{\beta}\sum_{\gamma} \left(cos(\theta_{\alpha\beta\gamma})\right)^ie^{-\delta_j \frac{r^{\alpha\beta}}{r_e}}e^{-\delta_j \frac{r^{\alpha\gamma}}{r_e}}S^{\alpha\beta}S^{\alpha\gamma}f_c\left(\frac{r_c-r^{\alpha\beta}}{dr}\right)f_c\left(\frac{r_c-r^{\alpha\gamma}}{dr}\right)
|
||||
|
||||
* **radialspin**
|
||||
|
||||
.. math::
|
||||
|
||||
{}^{rsp}\!S\!f_i^\alpha = \sum_{\beta} \left(\frac{r^{\alpha\beta}}{r_e}\right)^ie^{-\delta_i \frac{r^{\alpha\beta}}{r_e}}\left(\mathbf{s^\alpha \cdot s^\beta}\right)f_c\left(\frac{r_c-r^{\alpha\beta}}{dr}\right)
|
||||
|
||||
* **bondspin**
|
||||
|
||||
.. math::
|
||||
|
||||
{}^{bsp}\!S\!f_{ij}^\alpha = \sum_{\beta}\sum_{\gamma} \left(cos(\theta_{\alpha\beta\gamma})\right)^ie^{-\delta_j \frac{r^{\alpha\beta}}{r_e}}e^{-\delta_j \frac{r^{\alpha\gamma}}{r_e}}\left(\mathbf{s^\alpha \cdot s^\beta}\right)\left(\mathbf{s^\alpha \cdot s^\gamma}\right)f_c\left(\frac{r_c-r^{\alpha\beta}}{dr}\right)f_c\left(\frac{r_c-r^{\alpha\gamma}}{dr}\right)
|
||||
|
||||
* **radialscreenedspin**
|
||||
|
||||
.. math::
|
||||
|
||||
{}^{rscsp}\!S\!f_i^\alpha = \sum_{\beta} \left(\frac{r^{\alpha\beta}}{r_e}\right)^ie^{-\delta_i \frac{r^{\alpha\beta}}{r_e}}S^{\alpha\beta}\left(\mathbf{s^\alpha \cdot s^\beta}\right)f_c\left(\frac{r_c-r^{\alpha\beta}}{dr}\right)
|
||||
|
||||
* **bondscreenedspin**
|
||||
|
||||
.. math::
|
||||
|
||||
{}^{bscsp}\!S\!f_{ij}^\alpha = \sum_{\beta}\sum_{\gamma} \left(cos(\theta_{\alpha\beta\gamma})\right)^ie^{-\delta_j \frac{r^{\alpha\beta}}{r_e}}e^{-\delta_j \frac{r^{\alpha\gamma}}{r_e}}S^{\alpha\beta}S^{\alpha\gamma}\left(\mathbf{s^\alpha \cdot s^\beta}\right)\left(\mathbf{s^\alpha \cdot s^\gamma}\right)f_c\left(\frac{r_c-r^{\alpha\beta}}{dr}\right)f_c\left(\frac{r_c-r^{\alpha\gamma}}{dr}\right)
|
||||
|
||||
The activation functions are computed as follows:
|
||||
|
||||
.. _activations:
|
||||
|
||||
* **sigI**
|
||||
|
||||
.. math::
|
||||
|
||||
F^{sigI}(x) = 0.1x+0.9ln\left(e^x+1\right)
|
||||
|
||||
* **linear**
|
||||
|
||||
.. math::
|
||||
|
||||
F^{linear}(x) = x
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
Pair style *rann* is part of the USER-RANN package. It is only enabled if LAMMPS was built with that
|
||||
package. Additionally, if any spin fingerprint styles are used LAMMPS must be built with the SPIN
|
||||
package as well.
|
||||
|
||||
Defaults
|
||||
""""""""""""
|
||||
|
||||
Cmin = 0.8, Cmax = 2.8.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
.. _Baskes97:
|
||||
|
||||
**(Baskes)** Baskes,
|
||||
Materials Chemistry and Physics, 50(2), 152-158, (1997).
|
||||
|
||||
.. _Dickel:
|
||||
|
||||
**(Dickel)** Dickel, Francis, and Barrett,
|
||||
Computational Materials Science 171 (2020): 109157.
|
||||
|
||||
.. _Nitol:
|
||||
|
||||
**(Nitol)** Nitol, Dickel, and Barrett,
|
||||
Computational Materials Science 188 (2021): 110207.
|
||||
|
||||
.. _Tranchida7:
|
||||
|
||||
**(Tranchida)** Tranchida, Plimpton, Thibaudeau and Thompson,
|
||||
Journal of Computational Physics, 372, 406-425, (2018).
|
||||
|
||||
@ -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
|
||||
@ -290,6 +291,7 @@ accelerated styles exist.
|
||||
* :doc:`polymorphic <pair_polymorphic>` - polymorphic 3-body potential
|
||||
* :doc:`python <pair_python>` -
|
||||
* :doc:`quip <pair_quip>` -
|
||||
* :doc:`rann <pair_rann>` -
|
||||
* :doc:`reax/c <pair_reaxc>` - ReaxFF potential in C
|
||||
* :doc:`rebo <pair_airebo>` - second generation REBO potential of Brenner
|
||||
* :doc:`resquared <pair_resquared>` - Everaers RE-Squared ellipsoidal potential
|
||||
|
||||
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 ']
|
||||
},
|
||||
)
|
||||
|
||||
@ -35,6 +35,10 @@ hr {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#command-reference.section h2 {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.ui.tabular.menu .item {
|
||||
padding-right: 1em;
|
||||
padding-left: 1em;
|
||||
|
||||
@ -134,15 +134,9 @@
|
||||
</a>
|
||||
|
||||
{% if theme_display_version %}
|
||||
{%- set nav_version = version %}
|
||||
{% if READTHEDOCS and current_version %}
|
||||
{%- set nav_version = current_version %}
|
||||
{% endif %}
|
||||
{% if nav_version %}
|
||||
<div class="lammps_version">Version: <b>{{ nav_version }}</b></div>
|
||||
<div class="lammps_version">Version: <b>{{ current_version }}</b></div>
|
||||
<div class="lammps_release">git info: {{ release }}</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% include "searchbox.html" %}
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
{% if READTHEDOCS %}
|
||||
{% if READTHEDOCS or display_manual_versions %}
|
||||
{# Add rst-badge after rst-versions for small badge style. #}
|
||||
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
|
||||
<span class="rst-current-version" data-toggle="rst-current-version">
|
||||
<span class="fa fa-book"> Read the Docs</span>
|
||||
v: {{ current_version }}
|
||||
<span class="fa fa-book"> Version</span>
|
||||
{{ current_version }}
|
||||
<span class="fa fa-caret-down"></span>
|
||||
</span>
|
||||
<div class="rst-other-versions">
|
||||
@ -20,14 +20,8 @@
|
||||
{% endfor %}
|
||||
</dl>
|
||||
<dl>
|
||||
{# Translators: The phrase "Read the Docs" is not translated #}
|
||||
<dt>{{ _('On Read the Docs') }}</dt>
|
||||
<dd>
|
||||
<a href="//{{ PRODUCTION_DOMAIN }}/projects/{{ slug }}/?fromdocs={{ slug }}">{{ _('Project Home') }}</a>
|
||||
</dd>
|
||||
<dd>
|
||||
<a href="//{{ PRODUCTION_DOMAIN }}/builds/{{ slug }}/?fromdocs={{ slug }}">{{ _('Builds') }}</a>
|
||||
</dd>
|
||||
<dt>Git Info</dt>
|
||||
<dd><a href="https://github.com/lammps/lammps/tree/{{ git_commit }}" target="_blank">{{ release }}</a></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -99,6 +99,16 @@ def get_git_info():
|
||||
pass
|
||||
return git_n_date
|
||||
|
||||
def get_git_commit():
|
||||
import subprocess,time
|
||||
try:
|
||||
commit = subprocess.run(['git','rev-parse','HEAD'],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
|
||||
if commit.returncode == 0:
|
||||
return commit.stdout.decode()
|
||||
except:
|
||||
pass
|
||||
return ''
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
@ -108,6 +118,8 @@ version = get_lammps_version()
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = get_git_info()
|
||||
|
||||
git_commit = get_git_commit()
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
#language = None
|
||||
@ -241,7 +253,7 @@ html_show_sourcelink = False
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'LAMMPSdoc'
|
||||
|
||||
html_add_permalinks = ''
|
||||
html_permalinks = True
|
||||
|
||||
if 'epub' in sys.argv:
|
||||
html_math_renderer = 'imgmath'
|
||||
@ -348,7 +360,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.
|
||||
"""
|
||||
|
||||
@ -389,3 +401,20 @@ breathe_domain_by_extension = { 'h' : 'cpp',
|
||||
'cpp' : 'cpp',
|
||||
'c' : 'c',
|
||||
}
|
||||
|
||||
# allows showing multiple versions
|
||||
try:
|
||||
html_context
|
||||
except NameError:
|
||||
html_context = dict()
|
||||
|
||||
is_website_build = os.environ.get('LAMMPS_WEBSITE_BUILD', '0') != '0'
|
||||
|
||||
html_context['display_manual_versions'] = is_website_build
|
||||
html_context['current_version'] = os.environ.get('LAMMPS_WEBSITE_BUILD_VERSION', version)
|
||||
html_context['git_commit'] = git_commit
|
||||
html_context['versions'] = [
|
||||
('latest', 'https://docs.lammps.org/latest/'),
|
||||
(version, 'https://docs.lammps.org/')
|
||||
]
|
||||
html_context['downloads'] = [('PDF', 'Manual.pdf')]
|
||||
|
||||
@ -23,6 +23,7 @@ acolor
|
||||
acos
|
||||
Acta
|
||||
actinide
|
||||
activationfunctions
|
||||
acylindricity
|
||||
addforce
|
||||
Addington
|
||||
@ -75,6 +76,7 @@ allocaters
|
||||
allosws
|
||||
AlO
|
||||
Alonso
|
||||
alphak
|
||||
alphashrink
|
||||
amap
|
||||
Amatrix
|
||||
@ -153,6 +155,7 @@ atomfile
|
||||
AtomicPairStyle
|
||||
atomID
|
||||
atomistic
|
||||
atomtypes
|
||||
attogram
|
||||
attograms
|
||||
attrac
|
||||
@ -187,6 +190,7 @@ backends
|
||||
Baczewski
|
||||
Bagi
|
||||
Bagnold
|
||||
Bajaj
|
||||
Bkappa
|
||||
Bal
|
||||
balancer
|
||||
@ -287,6 +291,9 @@ BondAngle
|
||||
BondBond
|
||||
bondchk
|
||||
bondmax
|
||||
bondscreened
|
||||
bondscreenedspin
|
||||
bondspin
|
||||
bondtype
|
||||
Bonet
|
||||
Bonomi
|
||||
@ -339,6 +346,8 @@ bz
|
||||
cadetblue
|
||||
Cagin
|
||||
calc
|
||||
calibrationfunctions
|
||||
calibrationparameters
|
||||
calibre
|
||||
caltech
|
||||
Caltech
|
||||
@ -669,6 +678,7 @@ diagonalized
|
||||
diagonalizers
|
||||
diagonalizing
|
||||
Diallo
|
||||
Dickel
|
||||
diel
|
||||
differentiable
|
||||
diffusively
|
||||
@ -721,6 +731,7 @@ doxygenclass
|
||||
doxygenfunction
|
||||
downarrow
|
||||
Doye
|
||||
Doyl
|
||||
dpd
|
||||
DPD
|
||||
dpdTheta
|
||||
@ -1228,6 +1239,8 @@ hbn
|
||||
hbnewflag
|
||||
hbond
|
||||
hcp
|
||||
hdnnp
|
||||
HDNNP
|
||||
heatconduction
|
||||
Hebbeker
|
||||
Hebenstreit
|
||||
@ -1570,6 +1583,7 @@ Koning
|
||||
Kooser
|
||||
Korn
|
||||
Koskinen
|
||||
Koslowski
|
||||
Kosovan
|
||||
Koster
|
||||
Kosztin
|
||||
@ -1634,6 +1648,7 @@ Laupretre
|
||||
Lauriat
|
||||
lavenderblush
|
||||
lawngreen
|
||||
layersize
|
||||
lB
|
||||
lbfgs
|
||||
lbl
|
||||
@ -2160,6 +2175,7 @@ nemd
|
||||
netcdf
|
||||
netstat
|
||||
Nettleton
|
||||
networklayers
|
||||
Neumann
|
||||
Nevent
|
||||
nevery
|
||||
@ -2194,6 +2210,7 @@ Ninteger
|
||||
NiO
|
||||
Nissila
|
||||
nist
|
||||
Nitol
|
||||
nitride
|
||||
nitrides
|
||||
niu
|
||||
@ -2668,6 +2685,9 @@ qw
|
||||
qx
|
||||
qy
|
||||
qz
|
||||
radialscreened
|
||||
radialscreenedspin
|
||||
radialspin
|
||||
radian
|
||||
radians
|
||||
Rafferty
|
||||
@ -2680,6 +2700,8 @@ ramping
|
||||
Ramprasad
|
||||
Randisi
|
||||
randomizations
|
||||
rann
|
||||
RANN
|
||||
Raphson
|
||||
Rappe
|
||||
Ravelo
|
||||
@ -2850,6 +2872,8 @@ Runge
|
||||
runtime
|
||||
Rutuparna
|
||||
rx
|
||||
rxnave
|
||||
rxnsum
|
||||
ry
|
||||
rz
|
||||
Ryckaert
|
||||
@ -2951,8 +2975,10 @@ shrinkexceed
|
||||
Shugaev
|
||||
si
|
||||
SiC
|
||||
Siegmund
|
||||
Siepmann
|
||||
Sievers
|
||||
sigI
|
||||
sigmoid
|
||||
Sij
|
||||
Sikandar
|
||||
@ -3616,6 +3642,7 @@ yx
|
||||
yy
|
||||
yz
|
||||
Zannoni
|
||||
Zavattieri
|
||||
zbl
|
||||
ZBL
|
||||
Zc
|
||||
@ -3653,6 +3680,8 @@ zz
|
||||
Zm
|
||||
PowerShell
|
||||
filesystems
|
||||
fingerprintconstants
|
||||
fingerprintsperelement
|
||||
zincblende
|
||||
Zstandard
|
||||
Zstd
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -67,7 +67,7 @@ delete_atoms overlap 1.0 small big
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
|
||||
@ -67,7 +67,7 @@ delete_atoms overlap 1.0 small big
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
|
||||
@ -61,7 +61,7 @@ delete_atoms overlap 0.5 small big
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
|
||||
@ -61,7 +61,7 @@ delete_atoms overlap 0.5 small big
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
|
||||
@ -72,7 +72,7 @@ delete_atoms overlap 1.6 small big
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
|
||||
@ -72,7 +72,7 @@ delete_atoms overlap 1.6 small big
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
|
||||
@ -34,7 +34,7 @@ reset_timestep 0
|
||||
|
||||
velocity small create 1.44 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule/intra big include big
|
||||
|
||||
|
||||
@ -70,7 +70,7 @@ delete_atoms overlap 1.0 small big
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
|
||||
@ -70,7 +70,7 @@ delete_atoms overlap 1.0 small big
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
|
||||
@ -67,7 +67,7 @@ delete_atoms overlap 0.5 small big
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
|
||||
@ -67,7 +67,7 @@ delete_atoms overlap 0.5 small big
|
||||
|
||||
reset_timestep 0
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
|
||||
comm_modify mode multi group big vel yes
|
||||
|
||||
@ -33,7 +33,7 @@ reset_timestep 0
|
||||
|
||||
velocity small create 1.44 87287 loop geom
|
||||
|
||||
neighbor 0.3 bin
|
||||
neighbor 0.3 multi
|
||||
neigh_modify delay 0 every 1 check yes
|
||||
neigh_modify exclude molecule/intra big include big
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user