21
.github/CODEOWNERS
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
# This file contains file patterns that triggers automatic
|
||||
# code review requests from users that are owners of these files
|
||||
# Order matters, the last match has the highest precedence
|
||||
|
||||
# library folders
|
||||
lib/colvars/* @giacomofiorin
|
||||
lib/compress/* @akohlmey
|
||||
lib/kokkos/* @stanmoore1
|
||||
lib/molfile/* @akohlmey
|
||||
lib/qmmm/* @akohlmey
|
||||
lib/vtk/* @rbberger
|
||||
|
||||
# packages
|
||||
src/KOKKOS @stanmoore1
|
||||
src/USER-CGSDK @akohlmey
|
||||
src/USER-COLVARS @giacomofiorin
|
||||
src/USER-OMP @akohlmey
|
||||
src/USER-QMMM @akohlmey
|
||||
|
||||
# tools
|
||||
tools/msi2lmp/* @akohlmey
|
||||
8
.gitignore
vendored
@ -32,3 +32,11 @@ log.cite
|
||||
.Trashes
|
||||
ehthumbs.db
|
||||
Thumbs.db
|
||||
|
||||
#cmake
|
||||
/build*
|
||||
/CMakeCache.txt
|
||||
/CMakeFiles/
|
||||
/Makefile
|
||||
/cmake_install.cmake
|
||||
/lmp
|
||||
|
||||
732
cmake/CMakeLists.txt
Normal file
@ -0,0 +1,732 @@
|
||||
########################################
|
||||
# CMake build system
|
||||
# This file is part of LAMMPS
|
||||
# Created by Christoph Junghans and Richard Berger
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
|
||||
project(lammps)
|
||||
set(SOVERSION 0)
|
||||
set(LAMMPS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../src)
|
||||
set(LAMMPS_LIB_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../lib)
|
||||
set(LAMMPS_LIB_BINARY_DIR ${CMAKE_BINARY_DIR}/lib)
|
||||
|
||||
#To not conflict with old Makefile build system, we build everything here
|
||||
file(GLOB LIB_SOURCES ${LAMMPS_SOURCE_DIR}/*.cpp)
|
||||
file(GLOB LMP_SOURCES ${LAMMPS_SOURCE_DIR}/main.cpp)
|
||||
list(REMOVE_ITEM LIB_SOURCES ${LMP_SOURCES})
|
||||
|
||||
# Cmake modules/macros are in a subdirectory to keep this file cleaner
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules)
|
||||
|
||||
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
|
||||
#release comes with -O3 by default
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE)
|
||||
endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CXX_FLAGS)
|
||||
|
||||
# remove any style headers in the src dir
|
||||
file(GLOB SRC_STYLE_FILES ${LAMMPS_SOURCE_DIR}/style_*.h)
|
||||
if(SRC_STYLE_FILES)
|
||||
file(REMOVE ${SRC_STYLE_FILES})
|
||||
endif()
|
||||
|
||||
enable_language(CXX)
|
||||
|
||||
######################################################################
|
||||
# compiler tests
|
||||
# these need ot be done early (before further tests).
|
||||
#####################################################################
|
||||
include(CheckCCompilerFlag)
|
||||
|
||||
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Intel")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -restrict")
|
||||
endif()
|
||||
|
||||
########################################################################
|
||||
# User input options #
|
||||
########################################################################
|
||||
option(BUILD_SHARED_LIBS "Build shared libs" OFF)
|
||||
if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
endif()
|
||||
include(GNUInstallDirs)
|
||||
|
||||
set(LAMMPS_LINK_LIBS)
|
||||
set(LAMMPS_DEPS)
|
||||
set(LAMMPS_API_DEFINES)
|
||||
option(ENABLE_MPI "Build MPI version" OFF)
|
||||
if(ENABLE_MPI)
|
||||
find_package(MPI REQUIRED)
|
||||
include_directories(${MPI_C_INCLUDE_PATH})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${MPI_CXX_LIBRARIES})
|
||||
option(LAMMPS_LONGLONG_TO_LONG "Workaround if your system or MPI version does not recognize 'long long' data types" OFF)
|
||||
if(LAMMPS_LONGLONG_TO_LONG)
|
||||
add_definitions(-DLAMMPS_LONGLONG_TO_LONG)
|
||||
endif()
|
||||
else()
|
||||
file(GLOB MPI_SOURCES ${LAMMPS_SOURCE_DIR}/STUBS/mpi.c)
|
||||
add_library(mpi_stubs STATIC ${MPI_SOURCES})
|
||||
include_directories(${LAMMPS_SOURCE_DIR}/STUBS)
|
||||
list(APPEND LAMMPS_LINK_LIBS mpi_stubs)
|
||||
endif()
|
||||
|
||||
set(LAMMPS_SIZE_LIMIT "LAMMPS_SMALLBIG" CACHE STRING "Lammps size limit")
|
||||
set_property(CACHE LAMMPS_SIZE_LIMIT PROPERTY STRINGS LAMMPS_SMALLBIG LAMMPS_BIGBIG LAMMPS_SMALLSMALL)
|
||||
add_definitions(-D${LAMMPS_SIZE_LIMIT})
|
||||
set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -D${LAMMPS_SIZE_LIMIT}")
|
||||
|
||||
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")
|
||||
add_definitions(-DLAMMPS_MEMALIGN=${LAMMPS_MEMALIGN})
|
||||
|
||||
option(LAMMPS_EXCEPTIONS "enable the use of C++ exceptions for error messages (useful for library interface)" OFF)
|
||||
if(LAMMPS_EXCEPTIONS)
|
||||
add_definitions(-DLAMMPS_EXCEPTIONS)
|
||||
set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -DLAMMPS_EXCEPTIONS")
|
||||
endif()
|
||||
|
||||
set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary and liblammps (WON'T enable any features automatically")
|
||||
mark_as_advanced(LAMMPS_MACHINE)
|
||||
if(LAMMPS_MACHINE)
|
||||
set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}")
|
||||
endif()
|
||||
|
||||
option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF)
|
||||
|
||||
option(ENABLE_TESTING "Enable testing" OFF)
|
||||
if(ENABLE_TESTING)
|
||||
enable_testing()
|
||||
endif(ENABLE_TESTING)
|
||||
|
||||
option(ENABLE_ALL "Build all default packages" OFF)
|
||||
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS CORESHELL DIPOLE GRANULAR
|
||||
KSPACE MANYBODY MC MEAM MISC MOLECULE PERI QEQ
|
||||
REAX REPLICA RIGID SHOCK SNAP SRD)
|
||||
set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE
|
||||
USER-ATC USER-AWPMD USER-CGDNA USER-MESO
|
||||
USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF
|
||||
USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC
|
||||
USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD
|
||||
USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM)
|
||||
set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU)
|
||||
foreach(PKG ${DEFAULT_PACKAGES})
|
||||
option(ENABLE_${PKG} "Build ${PKG} Package" ${ENABLE_ALL})
|
||||
endforeach()
|
||||
foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
|
||||
option(ENABLE_${PKG} "Build ${PKG} Package" OFF)
|
||||
endforeach()
|
||||
|
||||
macro(pkg_depends PKG1 PKG2)
|
||||
if(ENABLE_${PKG1} AND NOT ENABLE_${PKG2})
|
||||
message(FATAL_ERROR "${PKG1} package needs LAMMPS to be build with ${PKG2}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
pkg_depends(MPIIO MPI)
|
||||
pkg_depends(QEQ MANYBODY)
|
||||
pkg_depends(USER-ATC MANYBODY)
|
||||
pkg_depends(USER-H5MD MPI)
|
||||
pkg_depends(USER-LB MPI)
|
||||
pkg_depends(USER-MISC MANYBODY)
|
||||
pkg_depends(USER-PHONON KSPACE)
|
||||
|
||||
if(ENABLE_BODY AND ENABLE_POEMS)
|
||||
message(FATAL_ERROR "BODY and POEMS cannot be enabled at the same time")
|
||||
endif()
|
||||
|
||||
######################################################
|
||||
# packages with special compiler needs or external libs
|
||||
######################################################
|
||||
if(ENABLE_REAX OR ENABLE_MEAM OR ENABLE_USER-QUIP OR ENABLE_USER-QMMM OR ENABLE_LATTE)
|
||||
enable_language(Fortran)
|
||||
include(CheckFortranCompilerFlag)
|
||||
check_Fortran_compiler_flag("-fno-second-underscore" FC_HAS_NO_SECOND_UNDERSCORE)
|
||||
endif()
|
||||
|
||||
if(ENABLE_KOKKOS OR ENABLE_MSCG)
|
||||
# starting with CMake 3.1 this is all you have to do to enforce C++11
|
||||
set(CMAKE_CXX_STANDARD 11) # C++11...
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON) #...is required...
|
||||
set(CMAKE_CXX_EXTENSIONS OFF) #...without compiler extensions like gnu++11
|
||||
endif()
|
||||
|
||||
if(ENABLE_USER-OMP OR ENABLE_KOKKOS OR ENABLE_USER-INTEL)
|
||||
find_package(OpenMP REQUIRED)
|
||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
|
||||
endif()
|
||||
|
||||
if(ENABLE_KSPACE)
|
||||
set(FFT "KISSFFT" CACHE STRING "FFT library for KSPACE package")
|
||||
set_property(CACHE FFT PROPERTY STRINGS KISSFFT FFTW3 MKL FFTW2)
|
||||
if(NOT FFT STREQUAL "KISSFFT")
|
||||
find_package(${FFT} REQUIRED)
|
||||
add_definitions(-DFFT_${FFT})
|
||||
include_directories(${${FFT}_INCLUDE_DIRS})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${${FFT}_LIBRARIES})
|
||||
endif()
|
||||
set(PACK_OPTIMIZATION "PACK_ARRAY" CACHE STRING "Optimization for FFT")
|
||||
set_property(CACHE PACK_OPTIMIZATION PROPERTY STRINGS PACK_ARRAY PACK_POINTER PACK_MEMCPY)
|
||||
if(NOT PACK_OPTIMIZATION STREQUAL "PACK_ARRAY")
|
||||
add_definitions(-D${PACK_OPTIMIZATION})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ENABLE_MSCG OR ENABLE_USER-ATC OR ENABLE_USER-AWPMD OR ENABLE_USER-QUIP OR ENABLE_LATTE)
|
||||
find_package(LAPACK)
|
||||
if(NOT LAPACK_FOUND)
|
||||
enable_language(Fortran)
|
||||
file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/*.f)
|
||||
add_library(linalg STATIC ${LAPACK_SOURCES})
|
||||
include(CheckFortranCompilerFlag)
|
||||
check_Fortran_compiler_flag("-fno-second-underscore" FC_HAS_NO_SECOND_UNDERSCORE)
|
||||
if(FC_HAS_NO_SECOND_UNDERSCORE)
|
||||
target_compile_options(linalg PRIVATE -fno-second-underscore)
|
||||
endif()
|
||||
set(LAPACK_LIBRARIES linalg)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ENABLE_PYTHON)
|
||||
find_package(PythonInterp REQUIRED)
|
||||
find_package(PythonLibs REQUIRED)
|
||||
add_definitions(-DLMP_PYTHON)
|
||||
include_directories(${PYTHON_INCLUDE_DIR})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PYTHON_LIBRARY})
|
||||
if(BUILD_SHARED_LIBS)
|
||||
if(NOT PYTHON_INSTDIR)
|
||||
execute_process(COMMAND ${PYTHON_EXECUTABLE}
|
||||
-c "import distutils.sysconfig as cg; print(cg.get_python_lib(1,0,prefix='${CMAKE_INSTALL_PREFIX}'))"
|
||||
OUTPUT_VARIABLE PYTHON_INSTDIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
endif()
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../python/lammps.py DESTINATION ${PYTHON_INSTDIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_package(JPEG)
|
||||
if(JPEG_FOUND)
|
||||
add_definitions(-DLAMMPS_JPEG)
|
||||
include_directories(${JPEG_INCLUDE_DIR})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${JPEG_LIBRARIES})
|
||||
endif()
|
||||
|
||||
find_package(PNG)
|
||||
find_package(ZLIB)
|
||||
if(PNG_FOUND AND ZLIB_FOUND)
|
||||
include_directories(${PNG_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PNG_LIBRARIES} ${ZLIB_LIBRARIES})
|
||||
add_definitions(-DLAMMPS_PNG)
|
||||
endif()
|
||||
|
||||
find_program(GZIP_EXECUTABLE gzip)
|
||||
find_package_handle_standard_args(GZIP REQUIRED_VARS GZIP_EXECUTABLE)
|
||||
if(GZIP_FOUND)
|
||||
add_definitions(-DLAMMPS_GZIP)
|
||||
endif()
|
||||
|
||||
find_program(FFMPEG_EXECUTABLE ffmpeg)
|
||||
find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_EXECUTABLE)
|
||||
if(FFMPEG_FOUND)
|
||||
add_definitions(-DLAMMPS_FFMPEG)
|
||||
endif()
|
||||
|
||||
if(ENABLE_VORONOI)
|
||||
find_package(VORO REQUIRED) #some distros
|
||||
include_directories(${VORO_INCLUDE_DIRS})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${VORO_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(ENABLE_LATTE)
|
||||
find_package(LATTE QUIET)
|
||||
if(NOT LATTE_FOUND)
|
||||
message(STATUS "LATTE not found - we will build our own")
|
||||
include(ExternalProject)
|
||||
ExternalProject_Add(latte_build
|
||||
URL https://github.com/lanl/LATTE/archive/v1.0.1.tar.gz
|
||||
URL_MD5 5137e28cb1a64444bd571c98c98a6eee
|
||||
SOURCE_SUBDIR cmake
|
||||
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_POSITION_INDEPENDENT_CODE=${CMAKE_POSITION_INDEPENDENT_CODE}
|
||||
)
|
||||
ExternalProject_get_property(latte_build INSTALL_DIR)
|
||||
set(LATTE_LIBRARIES ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/liblatte.a)
|
||||
list(APPEND LAMMPS_DEPS latte_build)
|
||||
endif()
|
||||
list(APPEND LAMMPS_LINK_LIBS ${LATTE_LIBRARIES} ${LAPACK_LIBRARIES} ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(ENABLE_USER-MOLFILE)
|
||||
add_library(molfile INTERFACE)
|
||||
target_include_directories(molfile INTERFACE ${LAMMPS_LIB_SOURCE_DIR}/molfile)
|
||||
target_link_libraries(molfile INTERFACE ${CMAKE_DL_LIBS})
|
||||
list(APPEND LAMMPS_LINK_LIBS molfile)
|
||||
endif()
|
||||
|
||||
if(ENABLE_USER-NETCDF)
|
||||
find_package(NetCDF REQUIRED)
|
||||
include_directories(NETCDF_INCLUDE_DIR)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${NETCDF_LIBRARY})
|
||||
add_definitions(-DLMP_HAS_NETCDF -DNC_64BIT_DATA=0x0020)
|
||||
endif()
|
||||
|
||||
if(ENABLE_USER-SMD)
|
||||
find_package(Eigen3 REQUIRED)
|
||||
include_directories(${EIGEN3_INCLUDE_DIR})
|
||||
endif()
|
||||
|
||||
if(ENABLE_USER-QUIP)
|
||||
find_package(QUIP REQUIRED)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${QUIP_LIBRARIES} ${LAPACK_LIBRARIES} ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(ENABLE_USER-QMMM)
|
||||
find_package(QE REQUIRED)
|
||||
include_directories(${QE_INCLUDE_DIRS})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${QE_LIBRARIES} ${CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(ENABLE_USER-VTK)
|
||||
find_package(VTK REQUIRED NO_MODULE)
|
||||
include(${VTK_USE_FILE})
|
||||
add_definitions(-DLAMMPS_VTK)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${VTK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(ENABLE_KIM)
|
||||
find_package(KIM REQUIRED)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${KIM_LIBRARIES})
|
||||
include_directories(${KIM_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(ENABLE_MSCG)
|
||||
find_package(GSL REQUIRED)
|
||||
set(LAMMPS_LIB_MSCG_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/mscg)
|
||||
set(MSCG_TARBALL ${LAMMPS_LIB_MSCG_BIN_DIR}/MS-CG-master.zip)
|
||||
set(LAMMPS_LIB_MSCG_BIN_DIR ${LAMMPS_LIB_MSCG_BIN_DIR}/MSCG-release-master/src)
|
||||
if(NOT EXISTS ${LAMMPS_LIB_MSCG_BIN_DIR})
|
||||
if(NOT EXISTS ${MSCG_TARBALL})
|
||||
message(STATUS "Downloading ${MSCG_TARBALL}")
|
||||
file(DOWNLOAD
|
||||
https://github.com/uchicago-voth/MSCG-release/archive/master.zip
|
||||
${MSCG_TARBALL} SHOW_PROGRESS) #EXPECTED_MD5 cannot be due due to master
|
||||
endif()
|
||||
message(STATUS "Unpacking ${MSCG_TARBALL}")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ${MSCG_TARBALL}
|
||||
WORKING_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/mscg)
|
||||
endif()
|
||||
file(GLOB MSCG_SOURCES ${LAMMPS_LIB_MSCG_BIN_DIR}/*.cpp)
|
||||
add_library(mscg STATIC ${MSCG_SOURCES})
|
||||
list(APPEND LAMMPS_LINK_LIBS mscg)
|
||||
target_compile_options(mscg PRIVATE -DDIMENSION=3 -D_exclude_gromacs=1)
|
||||
target_include_directories(mscg PUBLIC ${LAMMPS_LIB_MSCG_BIN_DIR})
|
||||
target_link_libraries(mscg ${GSL_LIBRARIES} ${LAPACK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
########################################################################
|
||||
# Basic system tests (standard libraries, headers, functions, types) #
|
||||
########################################################################
|
||||
include(CheckIncludeFile)
|
||||
foreach(HEADER math.h)
|
||||
check_include_file(${HEADER} FOUND_${HEADER})
|
||||
if(NOT FOUND_${HEADER})
|
||||
message(FATAL_ERROR "Could not find needed header - ${HEADER}")
|
||||
endif(NOT FOUND_${HEADER})
|
||||
endforeach(HEADER)
|
||||
|
||||
set(MATH_LIBRARIES "m" CACHE STRING "math library")
|
||||
mark_as_advanced( MATH_LIBRARIES )
|
||||
include(CheckLibraryExists)
|
||||
foreach(FUNC sin cos)
|
||||
check_library_exists(${MATH_LIBRARIES} ${FUNC} "" FOUND_${FUNC}_${MATH_LIBRARIES})
|
||||
if(NOT FOUND_${FUNC}_${MATH_LIBRARIES})
|
||||
message(FATAL_ERROR "Could not find needed math function - ${FUNC}")
|
||||
endif(NOT FOUND_${FUNC}_${MATH_LIBRARIES})
|
||||
endforeach(FUNC)
|
||||
list(APPEND LAMMPS_LINK_LIBS ${MATH_LIBRARIES})
|
||||
|
||||
######################################
|
||||
# Generate Basic Style files
|
||||
######################################
|
||||
include(StyleHeaderUtils)
|
||||
RegisterStyles(${LAMMPS_SOURCE_DIR})
|
||||
|
||||
##############################################
|
||||
# add sources of enabled packages
|
||||
############################################
|
||||
foreach(PKG ${DEFAULT_PACKAGES} ${OTHER_PACKAGES})
|
||||
set(${PKG}_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/${PKG})
|
||||
|
||||
# ignore PKG files which were manually installed in src folder
|
||||
# headers are ignored during RegisterStyles
|
||||
file(GLOB ${PKG}_SOURCES ${${PKG}_SOURCES_DIR}/*.cpp)
|
||||
file(GLOB ${PKG}_HEADERS ${${PKG}_SOURCES_DIR}/*.h)
|
||||
|
||||
foreach(PKG_FILE in ${${PKG}_SOURCES})
|
||||
get_filename_component(FNAME ${PKG_FILE} NAME)
|
||||
list(REMOVE_ITEM LIB_SOURCES ${LAMMPS_SOURCE_DIR}/${FNAME})
|
||||
endforeach()
|
||||
|
||||
foreach(PKG_FILE in ${${PKG}_HEADERS})
|
||||
get_filename_component(FNAME ${PKG_FILE} NAME)
|
||||
DetectAndRemovePackageHeader(${LAMMPS_SOURCE_DIR}/${FNAME})
|
||||
endforeach()
|
||||
|
||||
if(ENABLE_${PKG})
|
||||
# detects styles in package and adds them to global list
|
||||
RegisterStyles(${${PKG}_SOURCES_DIR})
|
||||
|
||||
list(APPEND LIB_SOURCES ${${PKG}_SOURCES})
|
||||
include_directories(${${PKG}_SOURCES_DIR})
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
##############################################
|
||||
# add lib sources of (simple) enabled packages
|
||||
############################################
|
||||
foreach(SIMPLE_LIB REAX MEAM POEMS USER-ATC USER-AWPMD USER-COLVARS USER-H5MD
|
||||
USER-QMMM)
|
||||
if(ENABLE_${SIMPLE_LIB})
|
||||
string(REGEX REPLACE "^USER-" "" PKG_LIB "${SIMPLE_LIB}")
|
||||
string(TOLOWER "${PKG_LIB}" PKG_LIB)
|
||||
file(GLOB_RECURSE ${PKG_LIB}_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.F
|
||||
${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.c ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB}/*.cpp)
|
||||
add_library(${PKG_LIB} STATIC ${${PKG_LIB}_SOURCES})
|
||||
list(APPEND LAMMPS_LINK_LIBS ${PKG_LIB})
|
||||
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)
|
||||
target_include_directories(h5md PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/h5md/include)
|
||||
elseif(PKG_LIB STREQUAL colvars)
|
||||
target_compile_options(colvars PRIVATE -DLEPTON)
|
||||
target_include_directories(colvars PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/colvars/lepton/include)
|
||||
target_include_directories(colvars PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/colvars)
|
||||
else()
|
||||
target_include_directories(${PKG_LIB} PUBLIC ${LAMMPS_LIB_SOURCE_DIR}/${PKG_LIB})
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(ENABLE_USER-AWPMD)
|
||||
target_link_libraries(awpmd ${LAPACK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(ENABLE_USER-ATC)
|
||||
target_link_libraries(atc ${LAPACK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(ENABLE_USER-H5MD)
|
||||
find_package(HDF5 REQUIRED)
|
||||
target_link_libraries(h5md ${HDF5_LIBRARIES})
|
||||
target_include_directories(h5md PRIVATE ${HDF5_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(ENABLE_MEAM AND FC_HAS_NO_SECOND_UNDERSCORE)
|
||||
foreach(FSRC ${meam_SOURCES})
|
||||
string(REGEX REPLACE "^.*\\." "" FEXT "${FSRC}")
|
||||
list(FIND CMAKE_Fortran_SOURCE_FILE_EXTENSIONS "${FEXT}" FINDEX)
|
||||
if(FINDEX GREATER -1)
|
||||
set_property(SOURCE ${FSRC} APPEND PROPERTY COMPILE_FLAGS "-fno-second-underscore")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
if(ENABLE_REAX AND FC_HAS_NO_SECOND_UNDERSCORE)
|
||||
target_compile_options(reax PRIVATE -fno-second-underscore)
|
||||
endif()
|
||||
|
||||
|
||||
######################################################################
|
||||
# packages which selectively include variants based on enabled styles
|
||||
# e.g. accelerator packages
|
||||
######################################################################
|
||||
if(ENABLE_USER-OMP)
|
||||
set(USER-OMP_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-OMP)
|
||||
set(USER-OMP_SOURCES ${USER-OMP_SOURCES_DIR}/thr_data.cpp
|
||||
${USER-OMP_SOURCES_DIR}/thr_omp.cpp
|
||||
${USER-OMP_SOURCES_DIR}/fix_nh_omp.cpp
|
||||
${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp)
|
||||
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}")
|
||||
|
||||
# detects styles which have USER-OMP version
|
||||
RegisterStylesExt(${USER-OMP_SOURCES_DIR} omp OMP_SOURCES)
|
||||
|
||||
get_property(USER-OMP_SOURCES GLOBAL PROPERTY OMP_SOURCES)
|
||||
|
||||
list(APPEND LIB_SOURCES ${USER-OMP_SOURCES})
|
||||
include_directories(${USER-OMP_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
if(ENABLE_KOKKOS)
|
||||
set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos)
|
||||
set(LAMMPS_LIB_KOKKOS_BIN_DIR ${LAMMPS_LIB_BINARY_DIR}/kokkos)
|
||||
add_definitions(-DLMP_KOKKOS)
|
||||
add_subdirectory(${LAMMPS_LIB_KOKKOS_SRC_DIR} ${LAMMPS_LIB_KOKKOS_BIN_DIR})
|
||||
|
||||
set(Kokkos_INCLUDE_DIRS ${LAMMPS_LIB_KOKKOS_SRC_DIR}/core/src
|
||||
${LAMMPS_LIB_KOKKOS_SRC_DIR}/containers/src
|
||||
${LAMMPS_LIB_KOKKOS_SRC_DIR}/algorithms/src
|
||||
${LAMMPS_LIB_KOKKOS_BIN_DIR})
|
||||
include_directories(${Kokkos_INCLUDE_DIRS})
|
||||
list(APPEND LAMMPS_LINK_LIBS kokkos)
|
||||
|
||||
set(KOKKOS_PKG_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/KOKKOS)
|
||||
set(KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/atom_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/atom_vec_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/comm_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/comm_tiled_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/neighbor_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/neigh_list_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/neigh_bond_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/fix_nh_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/domain_kokkos.cpp
|
||||
${KOKKOS_PKG_SOURCES_DIR}/modify_kokkos.cpp)
|
||||
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")
|
||||
|
||||
# detects styles which have KOKKOS version
|
||||
RegisterStylesExt(${KOKKOS_PKG_SOURCES_DIR} kokkos KOKKOS_PKG_SOURCES)
|
||||
|
||||
# register kokkos-only styles
|
||||
RegisterNBinStyle(${KOKKOS_PKG_SOURCES_DIR}/nbin_kokkos.h)
|
||||
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_kokkos.h)
|
||||
|
||||
if(ENABLE_USER-DPD)
|
||||
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
|
||||
list(APPEND KOKKOS_PKG_SOURCES ${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.cpp)
|
||||
RegisterNPairStyle(${KOKKOS_PKG_SOURCES_DIR}/npair_ssa_kokkos.h)
|
||||
set_property(GLOBAL PROPERTY "KOKKOS_PKG_SOURCES" "${KOKKOS_PKG_SOURCES}")
|
||||
endif()
|
||||
|
||||
get_property(KOKKOS_PKG_SOURCES GLOBAL PROPERTY KOKKOS_PKG_SOURCES)
|
||||
|
||||
list(APPEND LIB_SOURCES ${KOKKOS_PKG_SOURCES})
|
||||
include_directories(${KOKKOS_PKG_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
if(ENABLE_OPT)
|
||||
set(OPT_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/OPT)
|
||||
set(OPT_SOURCES)
|
||||
set_property(GLOBAL PROPERTY "OPT_SOURCES" "${OPT_SOURCES}")
|
||||
|
||||
# detects styles which have OPT version
|
||||
RegisterStylesExt(${OPT_SOURCES_DIR} opt OPT_SOURCES)
|
||||
|
||||
get_property(OPT_SOURCES GLOBAL PROPERTY OPT_SOURCES)
|
||||
|
||||
list(APPEND LIB_SOURCES ${OPT_SOURCES})
|
||||
include_directories(${OPT_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
if(ENABLE_USER-INTEL)
|
||||
set(USER-INTEL_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/USER-INTEL)
|
||||
set(USER-INTEL_SOURCES ${USER-INTEL_SOURCES_DIR}/intel_preprocess.h
|
||||
${USER-INTEL_SOURCES_DIR}/intel_buffers.h
|
||||
${USER-INTEL_SOURCES_DIR}/intel_buffers.cpp
|
||||
${USER-INTEL_SOURCES_DIR}/math_extra_intel.h
|
||||
${USER-INTEL_SOURCES_DIR}/nbin_intel.h
|
||||
${USER-INTEL_SOURCES_DIR}/nbin_intel.cpp
|
||||
${USER-INTEL_SOURCES_DIR}/npair_intel.h
|
||||
${USER-INTEL_SOURCES_DIR}/npair_intel.cpp
|
||||
${USER-INTEL_SOURCES_DIR}/intel_simd.h
|
||||
${USER-INTEL_SOURCES_DIR}/intel_intrinsics.h)
|
||||
|
||||
set_property(GLOBAL PROPERTY "USER-INTEL_SOURCES" "${USER-INTEL_SOURCES}")
|
||||
|
||||
# detects styles which have USER-INTEL version
|
||||
RegisterStylesExt(${USER-INTEL_SOURCES_DIR} opt USER-INTEL_SOURCES)
|
||||
|
||||
get_property(USER-INTEL_SOURCES GLOBAL PROPERTY USER-INTEL_SOURCES)
|
||||
|
||||
list(APPEND LIB_SOURCES ${USER-INTEL_SOURCES})
|
||||
include_directories(${USER-INTEL_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
if(ENABLE_GPU)
|
||||
set(GPU_SOURCES_DIR ${LAMMPS_SOURCE_DIR}/GPU)
|
||||
set(GPU_SOURCES ${GPU_SOURCES_DIR}/gpu_extra.h
|
||||
${GPU_SOURCES_DIR}/fix_gpu.h
|
||||
${GPU_SOURCES_DIR}/fix_gpu.cpp)
|
||||
|
||||
set(GPU_API "OpenCL" CACHE STRING "API used by GPU package")
|
||||
set_property(CACHE GPU_API PROPERTY STRINGS OpenCL CUDA)
|
||||
|
||||
set(GPU_PREC "SINGLE_DOUBLE" CACHE STRING "LAMMPS GPU precision size")
|
||||
set_property(CACHE GPU_PREC PROPERTY STRINGS SINGLE_DOUBLE SINGLE_SINGLE DOUBLE_DOUBLE)
|
||||
|
||||
file(GLOB GPU_LIB_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cpp)
|
||||
file(MAKE_DIRECTORY ${LAMMPS_LIB_BINARY_DIR}/gpu)
|
||||
|
||||
if(GPU_API STREQUAL "CUDA")
|
||||
find_package(CUDA REQUIRED)
|
||||
find_program(BIN2C bin2c)
|
||||
if(NOT BIN2C)
|
||||
message(FATAL_ERROR "Couldn't find bin2c, use -DBIN2C helping cmake to find it.")
|
||||
endif()
|
||||
option(CUDPP_OPT "Enable CUDPP_OPT" ON)
|
||||
|
||||
set(GPU_ARCH "sm_30" CACHE STRING "LAMMPS GPU CUDA SM architecture")
|
||||
set_property(CACHE GPU_ARCH PROPERTY STRINGS sm_10 sm_20 sm_30 sm_60)
|
||||
|
||||
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu ${CMAKE_CURRENT_SOURCE_DIR}/gpu/*.cu)
|
||||
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_pppm.cu)
|
||||
|
||||
cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu ${LAMMPS_LIB_BINARY_DIR}/gpu)
|
||||
|
||||
if(CUDPP_OPT)
|
||||
cuda_include_directories(${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
|
||||
file(GLOB GPU_LIB_CUDPP_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/*.cpp)
|
||||
file(GLOB GPU_LIB_CUDPP_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini/*.cu)
|
||||
endif()
|
||||
|
||||
cuda_compile_cubin(GPU_GEN_OBJS ${GPU_LIB_CU} OPTIONS
|
||||
-DUNIX -O3 -Xptxas -v --use_fast_math -DNV_KERNEL -DUCL_CUDADR -arch=${GPU_ARCH} -D_${GPU_PREC})
|
||||
|
||||
cuda_compile(GPU_OBJS ${GPU_LIB_CUDPP_CU} OPTIONS $<$<BOOL:${BUILD_SHARED_LIBS}>:-Xcompiler=-fPIC>
|
||||
-DUNIX -O3 -Xptxas -v --use_fast_math -DUCL_CUDADR -arch=${GPU_ARCH} -D_${GPU_PREC})
|
||||
|
||||
foreach(CU_OBJ ${GPU_GEN_OBJS})
|
||||
get_filename_component(CU_NAME ${CU_OBJ} NAME_WE)
|
||||
string(REGEX REPLACE "^.*_lal_" "" CU_NAME "${CU_NAME}")
|
||||
add_custom_command(OUTPUT ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h
|
||||
COMMAND ${BIN2C} -c -n ${CU_NAME} ${CU_OBJ} > ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h
|
||||
DEPENDS ${CU_OBJ}
|
||||
COMMENT "Generating ${CU_NAME}_cubin.h")
|
||||
list(APPEND GPU_LIB_SOURCES ${LAMMPS_LIB_BINARY_DIR}/gpu/${CU_NAME}_cubin.h)
|
||||
endforeach()
|
||||
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${LAMMPS_LIB_BINARY_DIR}/gpu/*_cubin.h")
|
||||
|
||||
|
||||
add_library(gpu STATIC ${GPU_LIB_SOURCES} ${GPU_LIB_CUDPP_SOURCES} ${GPU_OBJS})
|
||||
target_link_libraries(gpu ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
|
||||
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_BINARY_DIR}/gpu ${CUDA_INCLUDE_DIRS})
|
||||
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC} -DMPI_GERYON -DUCL_NO_EXIT)
|
||||
if(CUDPP_OPT)
|
||||
target_include_directories(gpu PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/gpu/cudpp_mini)
|
||||
target_compile_definitions(gpu PRIVATE -DUSE_CUDPP)
|
||||
endif()
|
||||
|
||||
list(APPEND LAMMPS_LINK_LIBS gpu)
|
||||
|
||||
add_executable(nvc_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp)
|
||||
target_compile_definitions(nvc_get_devices PRIVATE -DUCL_CUDADR)
|
||||
target_link_libraries(nvc_get_devices PRIVATE ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
|
||||
target_include_directories(nvc_get_devices PRIVATE ${CUDA_INCLUDE_DIRS})
|
||||
|
||||
|
||||
elseif(GPU_API STREQUAL "OpenCL")
|
||||
find_package(OpenCL REQUIRED)
|
||||
set(OCL_TUNE "GENERIC" CACHE STRING "OpenCL Device Tuning")
|
||||
set_property(CACHE OCL_TUNE PROPERTY STRINGS INTEL FERMI KEPLER CYPRESS GENERIC)
|
||||
|
||||
include(OpenCLUtils)
|
||||
set(OCL_COMMON_HEADERS ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_preprocessor.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_aux_fun1.h)
|
||||
|
||||
file(GLOB GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/*.cu)
|
||||
list(REMOVE_ITEM GPU_LIB_CU ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu)
|
||||
|
||||
foreach(GPU_KERNEL ${GPU_LIB_CU})
|
||||
get_filename_component(basename ${GPU_KERNEL} NAME_WE)
|
||||
string(SUBSTRING ${basename} 4 -1 KERNEL_NAME)
|
||||
GenerateOpenCLHeader(${KERNEL_NAME} ${CMAKE_CURRENT_BINARY_DIR}/gpu/${KERNEL_NAME}_cl.h ${OCL_COMMON_HEADERS} ${GPU_KERNEL})
|
||||
list(APPEND GPU_LIB_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/gpu/${KERNEL_NAME}_cl.h)
|
||||
endforeach()
|
||||
|
||||
GenerateOpenCLHeader(gayberne ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne.cu)
|
||||
GenerateOpenCLHeader(gayberne_lj ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h ${OCL_COMMON_HEADERS} ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_ellipsoid_extra.h ${LAMMPS_LIB_SOURCE_DIR}/gpu/lal_gayberne_lj.cu)
|
||||
list(APPEND GPU_LIB_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_cl.h ${CMAKE_CURRENT_BINARY_DIR}/gpu/gayberne_lj_cl.h)
|
||||
|
||||
add_library(gpu STATIC ${GPU_LIB_SOURCES})
|
||||
target_link_libraries(gpu ${OpenCL_LIBRARIES})
|
||||
target_include_directories(gpu PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/gpu ${OpenCL_INCLUDE_DIRS})
|
||||
target_compile_definitions(gpu PRIVATE -D_${GPU_PREC} -DMPI_GERYON -DUCL_NO_EXIT)
|
||||
target_compile_definitions(gpu PRIVATE -DUSE_OPENCL)
|
||||
|
||||
list(APPEND LAMMPS_LINK_LIBS gpu)
|
||||
|
||||
add_executable(ocl_get_devices ${LAMMPS_LIB_SOURCE_DIR}/gpu/geryon/ucl_get_devices.cpp)
|
||||
target_compile_definitions(ocl_get_devices PRIVATE -DUCL_OPENCL)
|
||||
target_link_libraries(ocl_get_devices PRIVATE ${OpenCL_LIBRARIES})
|
||||
target_include_directories(ocl_get_devices PRIVATE ${OpenCL_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
# GPU package
|
||||
FindStyleHeaders(${GPU_SOURCES_DIR} FIX_CLASS fix_ FIX)
|
||||
|
||||
set_property(GLOBAL PROPERTY "GPU_SOURCES" "${GPU_SOURCES}")
|
||||
|
||||
# detects styles which have GPU version
|
||||
RegisterStylesExt(${GPU_SOURCES_DIR} gpu GPU_SOURCES)
|
||||
|
||||
get_property(GPU_SOURCES GLOBAL PROPERTY GPU_SOURCES)
|
||||
|
||||
list(APPEND LIB_SOURCES ${GPU_SOURCES})
|
||||
include_directories(${GPU_SOURCES_DIR})
|
||||
endif()
|
||||
|
||||
######################################################
|
||||
# Generate style headers based on global list of
|
||||
# styles registered during package selection
|
||||
######################################################
|
||||
set(LAMMPS_STYLE_HEADERS_DIR ${CMAKE_CURRENT_BINARY_DIR}/styles)
|
||||
|
||||
GenerateStyleHeaders(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
|
||||
include_directories(${LAMMPS_SOURCE_DIR})
|
||||
include_directories(${LAMMPS_STYLE_HEADERS_DIR})
|
||||
|
||||
###########################################
|
||||
# Actually add executable and lib to build
|
||||
############################################
|
||||
add_library(lammps ${LIB_SOURCES})
|
||||
target_link_libraries(lammps ${LAMMPS_LINK_LIBS})
|
||||
if(LAMMPS_DEPS)
|
||||
add_dependencies(lammps ${LAMMPS_DEPS})
|
||||
endif()
|
||||
set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_MACHINE})
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set_target_properties(lammps PROPERTIES SOVERSION ${SOVERSION})
|
||||
install(TARGETS lammps LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
install(FILES ${LAMMPS_SOURCE_DIR}/library.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lammps)
|
||||
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc @ONLY)
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||
endif()
|
||||
|
||||
add_executable(lmp ${LMP_SOURCES})
|
||||
target_link_libraries(lmp lammps)
|
||||
set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE})
|
||||
install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
if(ENABLE_TESTING)
|
||||
add_test(ShowHelp lmp${LAMMPS_MACHINE} -help)
|
||||
endif()
|
||||
|
||||
##################################
|
||||
# Print package summary
|
||||
##################################
|
||||
foreach(PKG ${DEFAULT_PACKAGES} ${OTHER_PACKAGES} ${ACCEL_PACKAGES})
|
||||
if(ENABLE_${PKG})
|
||||
message(STATUS "Building package: ${PKG}")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
string(TOUPPER "${CMAKE_BUILD_TYPE}" BTYPE)
|
||||
message(STATUS "<<< Build configuration >>>
|
||||
Build type ${CMAKE_BUILD_TYPE}
|
||||
Install path ${CMAKE_INSTALL_PREFIX}
|
||||
Compilers and Flags:
|
||||
C++ Compiler ${CMAKE_CXX_COMPILER}
|
||||
Type ${CMAKE_CXX_COMPILER_ID}
|
||||
C++ Flags ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${BTYPE}}")
|
||||
get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
|
||||
if(LANGUAGES MATCHES ".*Fortran.*")
|
||||
message(STATUS "Fortran Compiler ${CMAKE_Fortran_COMPILER}
|
||||
Type ${CMAKE_Fortran_COMPILER_ID}
|
||||
Fortran Flags ${CMAKE_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS_${BTYPE}}")
|
||||
endif()
|
||||
message(STATUS "Linker flags:
|
||||
Executable ${CMAKE_EXE_LINKER_FLAGS}")
|
||||
if(BUILD_SHARED_LIBS)
|
||||
message(STATUS "Shared libries ${CMAKE_SHARED_LINKER_FLAGS}")
|
||||
else()
|
||||
message(STATUS "Static libries ${CMAKE_STATIC_LINKER_FLAGS}")
|
||||
endif()
|
||||
message(STATUS "Link libraries: ${LAMMPS_LINK_LIBS}")
|
||||
|
||||
22
cmake/Modules/FindFFTW2.cmake
Normal file
@ -0,0 +1,22 @@
|
||||
# - Find fftw2
|
||||
# Find the native FFTW2 headers and libraries.
|
||||
#
|
||||
# FFTW2_INCLUDE_DIRS - where to find fftw2.h, etc.
|
||||
# FFTW2_LIBRARIES - List of libraries when using fftw2.
|
||||
# FFTW2_FOUND - True if fftw2 found.
|
||||
#
|
||||
|
||||
find_path(FFTW2_INCLUDE_DIR fftw.h)
|
||||
|
||||
find_library(FFTW2_LIBRARY NAMES fftw)
|
||||
|
||||
set(FFTW2_LIBRARIES ${FFTW2_LIBRARY})
|
||||
set(FFTW2_INCLUDE_DIRS ${FFTW2_INCLUDE_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set FFTW2_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
|
||||
find_package_handle_standard_args(FFTW2 DEFAULT_MSG FFTW2_LIBRARY FFTW2_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(FFTW2_INCLUDE_DIR FFTW2_LIBRARY )
|
||||
25
cmake/Modules/FindFFTW3.cmake
Normal file
@ -0,0 +1,25 @@
|
||||
# - Find fftw3
|
||||
# Find the native FFTW3 headers and libraries.
|
||||
#
|
||||
# FFTW3_INCLUDE_DIRS - where to find fftw3.h, etc.
|
||||
# FFTW3_LIBRARIES - List of libraries when using fftw3.
|
||||
# FFTW3_FOUND - True if fftw3 found.
|
||||
#
|
||||
|
||||
find_package(PkgConfig)
|
||||
|
||||
pkg_check_modules(PC_FFTW3 fftw3)
|
||||
find_path(FFTW3_INCLUDE_DIR fftw3.h HINTS ${PC_FFTW3_INCLUDE_DIRS})
|
||||
|
||||
find_library(FFTW3_LIBRARY NAMES fftw3 HINTS ${PC_FFTW3_LIBRARY_DIRS})
|
||||
|
||||
set(FFTW3_LIBRARIES ${FFTW3_LIBRARY})
|
||||
set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
|
||||
find_package_handle_standard_args(FFTW3 DEFAULT_MSG FFTW3_LIBRARY FFTW3_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(FFTW3_INCLUDE_DIR FFTW3_LIBRARY )
|
||||
22
cmake/Modules/FindKIM.cmake
Normal file
@ -0,0 +1,22 @@
|
||||
# - Find kim
|
||||
# Find the native KIM headers and libraries.
|
||||
#
|
||||
# KIM_INCLUDE_DIRS - where to find kim.h, etc.
|
||||
# KIM_LIBRARIES - List of libraries when using kim.
|
||||
# KIM_FOUND - True if kim found.
|
||||
#
|
||||
|
||||
find_path(KIM_INCLUDE_DIR KIM_API.h PATH_SUFFIXES kim-api-v1)
|
||||
|
||||
find_library(KIM_LIBRARY NAMES kim-api-v1)
|
||||
|
||||
set(KIM_LIBRARIES ${KIM_LIBRARY})
|
||||
set(KIM_INCLUDE_DIRS ${KIM_INCLUDE_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set KIM_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
|
||||
find_package_handle_standard_args(KIM DEFAULT_MSG KIM_LIBRARY KIM_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(KIM_INCLUDE_DIR KIM_LIBRARY )
|
||||
18
cmake/Modules/FindLATTE.cmake
Normal file
@ -0,0 +1,18 @@
|
||||
# - Find latte
|
||||
# Find the native LATTE libraries.
|
||||
#
|
||||
# LATTE_LIBRARIES - List of libraries when using latte.
|
||||
# LATTE_FOUND - True if latte found.
|
||||
#
|
||||
|
||||
find_library(LATTE_LIBRARY NAMES latte)
|
||||
|
||||
set(LATTE_LIBRARIES ${LATTE_LIBRARY})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set LATTE_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
|
||||
find_package_handle_standard_args(LATTE DEFAULT_MSG LATTE_LIBRARY)
|
||||
|
||||
mark_as_advanced(LATTE_LIBRARY)
|
||||
22
cmake/Modules/FindMKL.cmake
Normal file
@ -0,0 +1,22 @@
|
||||
# - Find mkl
|
||||
# Find the native MKL headers and libraries.
|
||||
#
|
||||
# MKL_INCLUDE_DIRS - where to find mkl.h, etc.
|
||||
# MKL_LIBRARIES - List of libraries when using mkl.
|
||||
# MKL_FOUND - True if mkl found.
|
||||
#
|
||||
|
||||
find_path(MKL_INCLUDE_DIR mkl_dfti.h HINTS $ENV{MKLROOT}/include)
|
||||
|
||||
find_library(MKL_LIBRARY NAMES mkl_rt HINTS $ENV{MKLROOT}/lib $ENV{MKLROOT}/lib/intel64)
|
||||
|
||||
set(MKL_LIBRARIES ${MKL_LIBRARY})
|
||||
set(MKL_INCLUDE_DIRS ${MKL_INCLUDE_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set MKL_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
|
||||
find_package_handle_standard_args(MKL DEFAULT_MSG MKL_LIBRARY MKL_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(MKL_INCLUDE_DIR MKL_LIBRARY )
|
||||
118
cmake/Modules/FindNetCDF.cmake
Normal file
@ -0,0 +1,118 @@
|
||||
# - Find NetCDF
|
||||
# Find the native NetCDF includes and library
|
||||
#
|
||||
# NETCDF_INCLUDE_DIR - user modifiable choice of where netcdf headers are
|
||||
# NETCDF_LIBRARY - user modifiable choice of where netcdf libraries are
|
||||
#
|
||||
# Your package can require certain interfaces to be FOUND by setting these
|
||||
#
|
||||
# NETCDF_CXX - require the C++ interface and link the C++ library
|
||||
# NETCDF_F77 - require the F77 interface and link the fortran library
|
||||
# NETCDF_F90 - require the F90 interface and link the fortran library
|
||||
#
|
||||
# Or equivalently by calling FindNetCDF with a COMPONENTS argument containing one or
|
||||
# more of "CXX;F77;F90".
|
||||
#
|
||||
# When interfaces are requested the user has access to interface specific hints:
|
||||
#
|
||||
# NETCDF_${LANG}_INCLUDE_DIR - where to search for interface header files
|
||||
# NETCDF_${LANG}_LIBRARY - where to search for interface libraries
|
||||
#
|
||||
# This module returns these variables for the rest of the project to use.
|
||||
#
|
||||
# NETCDF_FOUND - True if NetCDF found including required interfaces (see below)
|
||||
# NETCDF_LIBRARIES - All netcdf related libraries.
|
||||
# NETCDF_INCLUDE_DIRS - All directories to include.
|
||||
# NETCDF_HAS_INTERFACES - Whether requested interfaces were found or not.
|
||||
# NETCDF_${LANG}_INCLUDE_DIRS/NETCDF_${LANG}_LIBRARIES - C/C++/F70/F90 only interface
|
||||
#
|
||||
# Normal usage would be:
|
||||
# set (NETCDF_F90 "YES")
|
||||
# find_package (NetCDF REQUIRED)
|
||||
# target_link_libraries (uses_everthing ${NETCDF_LIBRARIES})
|
||||
# target_link_libraries (only_uses_f90 ${NETCDF_F90_LIBRARIES})
|
||||
|
||||
#search starting from user editable cache var
|
||||
if (NETCDF_INCLUDE_DIR AND NETCDF_LIBRARY)
|
||||
# Already in cache, be silent
|
||||
set (NETCDF_FIND_QUIETLY TRUE)
|
||||
endif ()
|
||||
|
||||
set(USE_DEFAULT_PATHS "NO_DEFAULT_PATH")
|
||||
if(NETCDF_USE_DEFAULT_PATHS)
|
||||
set(USE_DEFAULT_PATHS "")
|
||||
endif()
|
||||
|
||||
find_path (NETCDF_INCLUDE_DIR netcdf.h
|
||||
HINTS "${NETCDF_DIR}/include")
|
||||
mark_as_advanced (NETCDF_INCLUDE_DIR)
|
||||
set (NETCDF_C_INCLUDE_DIRS ${NETCDF_INCLUDE_DIR})
|
||||
|
||||
find_library (NETCDF_LIBRARY NAMES netcdf
|
||||
HINTS "${NETCDF_DIR}/lib")
|
||||
mark_as_advanced (NETCDF_LIBRARY)
|
||||
|
||||
set (NETCDF_C_LIBRARIES ${NETCDF_LIBRARY})
|
||||
|
||||
#start finding requested language components
|
||||
set (NetCDF_libs "")
|
||||
set (NetCDF_includes "${NETCDF_INCLUDE_DIR}")
|
||||
|
||||
get_filename_component (NetCDF_lib_dirs "${NETCDF_LIBRARY}" PATH)
|
||||
set (NETCDF_HAS_INTERFACES "YES") # will be set to NO if we're missing any interfaces
|
||||
|
||||
macro (NetCDF_check_interface lang header libs)
|
||||
if (NETCDF_${lang})
|
||||
#search starting from user modifiable cache var
|
||||
find_path (NETCDF_${lang}_INCLUDE_DIR NAMES ${header}
|
||||
HINTS "${NETCDF_INCLUDE_DIR}"
|
||||
HINTS "${NETCDF_${lang}_ROOT}/include"
|
||||
${USE_DEFAULT_PATHS})
|
||||
|
||||
find_library (NETCDF_${lang}_LIBRARY NAMES ${libs}
|
||||
HINTS "${NetCDF_lib_dirs}"
|
||||
HINTS "${NETCDF_${lang}_ROOT}/lib"
|
||||
${USE_DEFAULT_PATHS})
|
||||
|
||||
mark_as_advanced (NETCDF_${lang}_INCLUDE_DIR NETCDF_${lang}_LIBRARY)
|
||||
|
||||
#export to internal varS that rest of project can use directly
|
||||
set (NETCDF_${lang}_LIBRARIES ${NETCDF_${lang}_LIBRARY})
|
||||
set (NETCDF_${lang}_INCLUDE_DIRS ${NETCDF_${lang}_INCLUDE_DIR})
|
||||
|
||||
if (NETCDF_${lang}_INCLUDE_DIR AND NETCDF_${lang}_LIBRARY)
|
||||
list (APPEND NetCDF_libs ${NETCDF_${lang}_LIBRARY})
|
||||
list (APPEND NetCDF_includes ${NETCDF_${lang}_INCLUDE_DIR})
|
||||
else ()
|
||||
set (NETCDF_HAS_INTERFACES "NO")
|
||||
message (STATUS "Failed to find NetCDF interface for ${lang}")
|
||||
endif ()
|
||||
endif ()
|
||||
endmacro ()
|
||||
|
||||
list (FIND NetCDF_FIND_COMPONENTS "CXX" _nextcomp)
|
||||
if (_nextcomp GREATER -1)
|
||||
set (NETCDF_CXX 1)
|
||||
endif ()
|
||||
list (FIND NetCDF_FIND_COMPONENTS "F77" _nextcomp)
|
||||
if (_nextcomp GREATER -1)
|
||||
set (NETCDF_F77 1)
|
||||
endif ()
|
||||
list (FIND NetCDF_FIND_COMPONENTS "F90" _nextcomp)
|
||||
if (_nextcomp GREATER -1)
|
||||
set (NETCDF_F90 1)
|
||||
endif ()
|
||||
NetCDF_check_interface (CXX netcdfcpp.h netcdf_c++)
|
||||
NetCDF_check_interface (F77 netcdf.inc netcdff)
|
||||
NetCDF_check_interface (F90 netcdf.mod netcdff)
|
||||
|
||||
#export accumulated results to internal varS that rest of project can depend on
|
||||
list (APPEND NetCDF_libs "${NETCDF_C_LIBRARIES}")
|
||||
set (NETCDF_LIBRARIES ${NetCDF_libs})
|
||||
set (NETCDF_INCLUDE_DIRS ${NetCDF_includes})
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set NETCDF_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
include (FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args (NetCDF
|
||||
DEFAULT_MSG NETCDF_LIBRARIES NETCDF_INCLUDE_DIRS NETCDF_HAS_INTERFACES)
|
||||
29
cmake/Modules/FindQE.cmake
Normal file
@ -0,0 +1,29 @@
|
||||
# - Find quantum-espresso
|
||||
# Find the native QE headers and libraries.
|
||||
#
|
||||
# QE_INCLUDE_DIRS - where to find quantum-espresso.h, etc.
|
||||
# QE_LIBRARIES - List of libraries when using quantum-espresso.
|
||||
# QE_FOUND - True if quantum-espresso found.
|
||||
#
|
||||
|
||||
find_path(QE_INCLUDE_DIR libqecouple.h PATH_SUFFIXES COUPLE/include)
|
||||
|
||||
find_library(QECOUPLE_LIBRARY NAMES qecouple)
|
||||
find_library(PW_LIBRARY NAMES pw)
|
||||
find_library(QEMOD_LIBRARY NAMES qemod)
|
||||
find_library(QEFFT_LIBRARY NAMES qefft)
|
||||
find_library(QELA_LIBRARY NAMES qela)
|
||||
find_library(CLIB_LIBRARY NAMES clib)
|
||||
find_library(IOTK_LIBRARY NAMES iotk)
|
||||
|
||||
|
||||
set(QE_LIBRARIES ${QECOUPLE_LIBRARY} ${PW_LIBRARY} ${QEMOD_LIBRARY} ${QEFFT_LIBRARY} ${QELA_LIBRARY} ${CLIB_LIBRARY} ${IOTK_LIBRARY})
|
||||
set(QE_INCLUDE_DIRS ${QE_INCLUDE_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set QE_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
|
||||
find_package_handle_standard_args(QE DEFAULT_MSG QECOUPLE_LIBRARY PW_LIBRARY QEMOD_LIBRARY QEFFT_LIBRARY QELA_LIBRARY CLIB_LIBRARY IOTK_LIBRARY QE_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(QE_INCLUDE_DIR QECOUPLE_LIBRARY PW_LIBRARY QEMOD_LIBRARY QEFFT_LIBRARY QELA_LIBRARY CLIB_LIBRARY IOTK_LIBRARY)
|
||||
18
cmake/Modules/FindQUIP.cmake
Normal file
@ -0,0 +1,18 @@
|
||||
# - Find quip
|
||||
# Find the native QUIP libraries.
|
||||
#
|
||||
# QUIP_LIBRARIES - List of libraries when using fftw3.
|
||||
# QUIP_FOUND - True if fftw3 found.
|
||||
#
|
||||
|
||||
find_library(QUIP_LIBRARY NAMES quip)
|
||||
|
||||
set(QUIP_LIBRARIES ${QUIP_LIBRARY})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set QUIP_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
|
||||
find_package_handle_standard_args(QUIP DEFAULT_MSG QUIP_LIBRARY)
|
||||
|
||||
mark_as_advanced(QUIP_LIBRARY)
|
||||
22
cmake/Modules/FindVORO.cmake
Normal file
@ -0,0 +1,22 @@
|
||||
# - Find voro++
|
||||
# Find the native VORO headers and libraries.
|
||||
#
|
||||
# VORO_INCLUDE_DIRS - where to find voro++.hh, etc.
|
||||
# VORO_LIBRARIES - List of libraries when using voro++.
|
||||
# VORO_FOUND - True if voro++ found.
|
||||
#
|
||||
|
||||
find_path(VORO_INCLUDE_DIR voro++.hh PATH_SUFFIXES voro++)
|
||||
|
||||
find_library(VORO_LIBRARY NAMES voro++)
|
||||
|
||||
set(VORO_LIBRARIES ${VORO_LIBRARY})
|
||||
set(VORO_INCLUDE_DIRS ${VORO_INCLUDE_DIR})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set VORO_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
|
||||
find_package_handle_standard_args(VORO DEFAULT_MSG VORO_LIBRARY VORO_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(VORO_INCLUDE_DIR VORO_LIBRARY )
|
||||
18
cmake/Modules/OpenCLUtils.cmake
Normal file
@ -0,0 +1,18 @@
|
||||
function(GenerateOpenCLHeader varname outfile files)
|
||||
message("Creating ${outfile}...")
|
||||
file(WRITE ${outfile} "const char * ${varname} = \n")
|
||||
math(EXPR ARG_END "${ARGC}-1")
|
||||
|
||||
foreach(IDX RANGE 2 ${ARG_END})
|
||||
list(GET ARGV ${IDX} filename)
|
||||
file(READ ${filename} content)
|
||||
string(REGEX REPLACE "\\s*//[^\n]*\n" "" content "${content}")
|
||||
string(REGEX REPLACE "\\\\" "\\\\\\\\" content "${content}")
|
||||
string(REGEX REPLACE "\"" "\\\\\"" content "${content}")
|
||||
string(REGEX REPLACE "([^\n]+)\n" "\"\\1\\\\n\"\n" content "${content}")
|
||||
string(REGEX REPLACE "\n+" "\n" content "${content}")
|
||||
file(APPEND ${outfile} "${content}")
|
||||
endforeach()
|
||||
|
||||
file(APPEND ${outfile} ";\n")
|
||||
endfunction(GenerateOpenCLHeader)
|
||||
183
cmake/Modules/StyleHeaderUtils.cmake
Normal file
@ -0,0 +1,183 @@
|
||||
function(FindStyleHeaders path style_class file_pattern headers)
|
||||
file(GLOB files "${path}/${file_pattern}*.h")
|
||||
get_property(hlist GLOBAL PROPERTY ${headers})
|
||||
|
||||
foreach(file_name ${files})
|
||||
file(STRINGS ${file_name} is_style LIMIT_COUNT 1 REGEX ${style_class})
|
||||
if(is_style)
|
||||
list(APPEND hlist ${file_name})
|
||||
endif()
|
||||
endforeach()
|
||||
set_property(GLOBAL PROPERTY ${headers} "${hlist}")
|
||||
endfunction(FindStyleHeaders)
|
||||
|
||||
function(AddStyleHeader path headers)
|
||||
get_property(hlist GLOBAL PROPERTY ${headers})
|
||||
list(APPEND hlist ${path})
|
||||
set_property(GLOBAL PROPERTY ${headers} "${hlist}")
|
||||
endfunction(AddStyleHeader)
|
||||
|
||||
function(FindStyleHeadersExt path style_class extension headers sources)
|
||||
get_property(hlist GLOBAL PROPERTY ${headers})
|
||||
get_property(slist GLOBAL PROPERTY ${sources})
|
||||
set(ext_list)
|
||||
get_filename_component(abs_path "${path}" ABSOLUTE)
|
||||
|
||||
foreach(file_name ${hlist})
|
||||
get_filename_component(basename ${file_name} NAME_WE)
|
||||
set(ext_file_name "${abs_path}/${basename}_${extension}.h")
|
||||
if(EXISTS "${ext_file_name}")
|
||||
file(STRINGS ${ext_file_name} is_style LIMIT_COUNT 1 REGEX ${style_class})
|
||||
if(is_style)
|
||||
list(APPEND ext_list ${ext_file_name})
|
||||
|
||||
set(source_file_name "${abs_path}/${basename}_${extension}.cpp")
|
||||
if(EXISTS "${source_file_name}")
|
||||
list(APPEND slist ${source_file_name})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
list(APPEND hlist ${ext_list})
|
||||
set_property(GLOBAL PROPERTY ${headers} "${hlist}")
|
||||
set_property(GLOBAL PROPERTY ${sources} "${slist}")
|
||||
endfunction(FindStyleHeadersExt)
|
||||
|
||||
function(CreateStyleHeader path filename)
|
||||
math(EXPR N "${ARGC}-2")
|
||||
|
||||
set(temp "")
|
||||
if(N GREATER 0)
|
||||
math(EXPR ARG_END "${ARGC}-1")
|
||||
|
||||
foreach(IDX RANGE 2 ${ARG_END})
|
||||
list(GET ARGV ${IDX} FNAME)
|
||||
get_filename_component(FNAME ${FNAME} NAME)
|
||||
set(temp "${temp}#include \"${FNAME}\"\n")
|
||||
endforeach()
|
||||
endif()
|
||||
message(STATUS "Generating ${filename}...")
|
||||
file(WRITE "${path}/${filename}.tmp" "${temp}" )
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${path}/${filename}.tmp" "${path}/${filename}")
|
||||
endfunction(CreateStyleHeader)
|
||||
|
||||
function(GenerateStyleHeader path property style)
|
||||
get_property(files GLOBAL PROPERTY ${property})
|
||||
#message("${property} = ${files}")
|
||||
CreateStyleHeader("${path}" "style_${style}.h" ${files})
|
||||
endfunction(GenerateStyleHeader)
|
||||
|
||||
function(RegisterNBinStyles search_path)
|
||||
FindStyleHeaders(${search_path} NBIN_CLASS nbin_ NBIN ) # nbin ) # neighbor
|
||||
endfunction(RegisterNBinStyles)
|
||||
|
||||
function(RegisterNPairStyles search_path)
|
||||
FindStyleHeaders(${search_path} NPAIR_CLASS npair_ NPAIR ) # npair ) # neighbor
|
||||
endfunction(RegisterNPairStyles)
|
||||
|
||||
function(RegisterNBinStyle path)
|
||||
AddStyleHeader(${path} NBIN)
|
||||
endfunction(RegisterNBinStyle)
|
||||
|
||||
function(RegisterNPairStyle path)
|
||||
AddStyleHeader(${path} NPAIR)
|
||||
endfunction(RegisterNPairStyle)
|
||||
|
||||
function(RegisterStyles search_path)
|
||||
FindStyleHeaders(${search_path} ANGLE_CLASS angle_ ANGLE ) # angle ) # force
|
||||
FindStyleHeaders(${search_path} ATOM_CLASS atom_vec_ ATOM_VEC ) # atom ) # atom atom_vec_hybrid
|
||||
FindStyleHeaders(${search_path} BODY_CLASS body_ BODY ) # body ) # atom_vec_body
|
||||
FindStyleHeaders(${search_path} BOND_CLASS bond_ BOND ) # bond ) # force
|
||||
FindStyleHeaders(${search_path} COMMAND_CLASS "" COMMAND ) # command ) # input
|
||||
FindStyleHeaders(${search_path} COMPUTE_CLASS compute_ COMPUTE ) # compute ) # modify
|
||||
FindStyleHeaders(${search_path} DIHEDRAL_CLASS dihedral_ DIHEDRAL ) # dihedral ) # force
|
||||
FindStyleHeaders(${search_path} DUMP_CLASS dump_ DUMP ) # dump ) # output write_dump
|
||||
FindStyleHeaders(${search_path} FIX_CLASS fix_ FIX ) # fix ) # modify
|
||||
FindStyleHeaders(${search_path} IMPROPER_CLASS improper_ IMPROPER ) # improper ) # force
|
||||
FindStyleHeaders(${search_path} INTEGRATE_CLASS "" INTEGRATE ) # integrate ) # update
|
||||
FindStyleHeaders(${search_path} KSPACE_CLASS "" KSPACE ) # kspace ) # force
|
||||
FindStyleHeaders(${search_path} MINIMIZE_CLASS min_ MINIMIZE ) # minimize ) # update
|
||||
FindStyleHeaders(${search_path} NBIN_CLASS nbin_ NBIN ) # nbin ) # neighbor
|
||||
FindStyleHeaders(${search_path} NPAIR_CLASS npair_ NPAIR ) # npair ) # neighbor
|
||||
FindStyleHeaders(${search_path} NSTENCIL_CLASS nstencil_ NSTENCIL ) # nstencil ) # neighbor
|
||||
FindStyleHeaders(${search_path} NTOPO_CLASS ntopo_ NTOPO ) # ntopo ) # neighbor
|
||||
FindStyleHeaders(${search_path} PAIR_CLASS pair_ PAIR ) # pair ) # force
|
||||
FindStyleHeaders(${search_path} READER_CLASS reader_ READER ) # reader ) # read_dump
|
||||
FindStyleHeaders(${search_path} REGION_CLASS region_ REGION ) # region ) # domain
|
||||
endfunction(RegisterStyles)
|
||||
|
||||
function(RemovePackageHeader headers pkg_header)
|
||||
get_property(hlist GLOBAL PROPERTY ${headers})
|
||||
list(REMOVE_ITEM hlist ${pkg_header})
|
||||
set_property(GLOBAL PROPERTY ${headers} "${hlist}")
|
||||
endfunction(RemovePackageHeader)
|
||||
|
||||
function(DetectAndRemovePackageHeader fname)
|
||||
RemovePackageHeader(ANGLE ${fname})
|
||||
RemovePackageHeader(ATOM_VEC ${fname})
|
||||
RemovePackageHeader(BODY ${fname})
|
||||
RemovePackageHeader(BOND ${fname})
|
||||
RemovePackageHeader(COMMAND ${fname})
|
||||
RemovePackageHeader(COMPUTE ${fname})
|
||||
RemovePackageHeader(DIHEDRAL ${fname})
|
||||
RemovePackageHeader(DUMP ${fname})
|
||||
RemovePackageHeader(FIX ${fname})
|
||||
RemovePackageHeader(IMPROPER ${fname})
|
||||
RemovePackageHeader(INTEGRATE ${fname})
|
||||
RemovePackageHeader(KSPACE ${fname})
|
||||
RemovePackageHeader(MINIMIZE ${fname})
|
||||
RemovePackageHeader(NBIN ${fname})
|
||||
RemovePackageHeader(NPAIR ${fname})
|
||||
RemovePackageHeader(NSTENCIL ${fname})
|
||||
RemovePackageHeader(NTOPO ${fname})
|
||||
RemovePackageHeader(PAIR ${fname})
|
||||
RemovePackageHeader(READER ${fname})
|
||||
RemovePackageHeader(REGION ${fname})
|
||||
endfunction(DetectAndRemovePackageHeader)
|
||||
|
||||
function(RegisterStylesExt search_path extension sources)
|
||||
FindStyleHeadersExt(${search_path} ANGLE_CLASS ${extension} ANGLE ${sources})
|
||||
FindStyleHeadersExt(${search_path} ATOM_CLASS ${extension} ATOM_VEC ${sources})
|
||||
FindStyleHeadersExt(${search_path} BODY_CLASS ${extension} BODY ${sources})
|
||||
FindStyleHeadersExt(${search_path} BOND_CLASS ${extension} BOND ${sources})
|
||||
FindStyleHeadersExt(${search_path} COMMAND_CLASS ${extension} COMMAND ${sources})
|
||||
FindStyleHeadersExt(${search_path} COMPUTE_CLASS ${extension} COMPUTE ${sources})
|
||||
FindStyleHeadersExt(${search_path} DIHEDRAL_CLASS ${extension} DIHEDRAL ${sources})
|
||||
FindStyleHeadersExt(${search_path} DUMP_CLASS ${extension} DUMP ${sources})
|
||||
FindStyleHeadersExt(${search_path} FIX_CLASS ${extension} FIX ${sources})
|
||||
FindStyleHeadersExt(${search_path} IMPROPER_CLASS ${extension} IMPROPER ${sources})
|
||||
FindStyleHeadersExt(${search_path} INTEGRATE_CLASS ${extension} INTEGRATE ${sources})
|
||||
FindStyleHeadersExt(${search_path} KSPACE_CLASS ${extension} KSPACE ${sources})
|
||||
FindStyleHeadersExt(${search_path} MINIMIZE_CLASS ${extension} MINIMIZE ${sources})
|
||||
FindStyleHeadersExt(${search_path} NBIN_CLASS ${extension} NBIN ${sources})
|
||||
FindStyleHeadersExt(${search_path} NPAIR_CLASS ${extension} NPAIR ${sources})
|
||||
FindStyleHeadersExt(${search_path} NSTENCIL_CLASS ${extension} NSTENCIL ${sources})
|
||||
FindStyleHeadersExt(${search_path} NTOPO_CLASS ${extension} NTOPO ${sources})
|
||||
FindStyleHeadersExt(${search_path} PAIR_CLASS ${extension} PAIR ${sources})
|
||||
FindStyleHeadersExt(${search_path} READER_CLASS ${extension} READER ${sources})
|
||||
FindStyleHeadersExt(${search_path} REGION_CLASS ${extension} REGION ${sources})
|
||||
endfunction(RegisterStylesExt)
|
||||
|
||||
function(GenerateStyleHeaders output_path)
|
||||
GenerateStyleHeader(${output_path} ANGLE angle ) # force
|
||||
GenerateStyleHeader(${output_path} ATOM_VEC atom ) # atom atom_vec_hybrid
|
||||
GenerateStyleHeader(${output_path} BODY body ) # atom_vec_body
|
||||
GenerateStyleHeader(${output_path} BOND bond ) # force
|
||||
GenerateStyleHeader(${output_path} COMMAND command ) # input
|
||||
GenerateStyleHeader(${output_path} COMPUTE compute ) # modify
|
||||
GenerateStyleHeader(${output_path} DIHEDRAL dihedral ) # force
|
||||
GenerateStyleHeader(${output_path} DUMP dump ) # output write_dump
|
||||
GenerateStyleHeader(${output_path} FIX fix ) # modify
|
||||
GenerateStyleHeader(${output_path} IMPROPER improper ) # force
|
||||
GenerateStyleHeader(${output_path} INTEGRATE integrate ) # update
|
||||
GenerateStyleHeader(${output_path} KSPACE kspace ) # force
|
||||
GenerateStyleHeader(${output_path} MINIMIZE minimize ) # update
|
||||
GenerateStyleHeader(${output_path} NBIN nbin ) # neighbor
|
||||
GenerateStyleHeader(${output_path} NPAIR npair ) # neighbor
|
||||
GenerateStyleHeader(${output_path} NSTENCIL nstencil ) # neighbor
|
||||
GenerateStyleHeader(${output_path} NTOPO ntopo ) # neighbor
|
||||
GenerateStyleHeader(${output_path} PAIR pair ) # force
|
||||
GenerateStyleHeader(${output_path} READER reader ) # read_dump
|
||||
GenerateStyleHeader(${output_path} REGION region ) # domain
|
||||
endfunction(GenerateStyleHeaders)
|
||||
19
cmake/README.md
Normal file
@ -0,0 +1,19 @@
|
||||
cmake-buildsystem
|
||||
-----------------
|
||||
|
||||
To use the cmake build system instead of the make-driven one, do:
|
||||
```
|
||||
cmake /path/to/lammps/source/cmake
|
||||
```
|
||||
(please note the cmake directory as the very end)
|
||||
|
||||
To enable package, e.g. GPU do
|
||||
```
|
||||
cmake /path/to/lammps/source/cmake -DENABLE_GPU=ON
|
||||
```
|
||||
|
||||
cmake has many many options, do get an overview use the curses-based cmake interface, ccmake:
|
||||
```
|
||||
ccmake /path/to/lammps/source/cmake
|
||||
```
|
||||
(Don't forget to press "g" for generate once you are done with configuring)
|
||||
4
cmake/gpu/lal_pppm_d.cu
Normal file
@ -0,0 +1,4 @@
|
||||
#define grdtyp double
|
||||
#define grdtyp4 double4
|
||||
|
||||
#include "lal_pppm.cu"
|
||||
4
cmake/gpu/lal_pppm_f.cu
Normal file
@ -0,0 +1,4 @@
|
||||
#define grdtyp float
|
||||
#define grdtyp4 float4
|
||||
|
||||
#include "lal_pppm.cu"
|
||||
18
cmake/pkgconfig/liblammps.pc.in
Normal file
@ -0,0 +1,18 @@
|
||||
# pkg-config file for lammps
|
||||
# https://people.freedesktop.org/~dbn/pkg-config-guide.html
|
||||
# Usage: cc `pkg-config --cflags --libs liblammps` -o myapp myapp.c
|
||||
# after you added @CMAKE_INSTALL_FULL_LIBDIR@/pkg-config to PKG_CONFIG_PATH,
|
||||
# e.g. export PKG_CONFIG_PATH=@CMAKE_INSTALL_FULL_LIBDIR@/pkgconfig
|
||||
|
||||
prefix=@CMAKE_INSTALL_FULL_PREFIX@
|
||||
libdir=@CMAKE_INSTALL_FULL_LIBDIR@
|
||||
includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
|
||||
|
||||
Name: liblammps@LAMMPS_MACHINE@
|
||||
Description: Large-scale Atomic/Molecular Massively Parallel Simulator Library
|
||||
URL: http://lammps.sandia.gov
|
||||
Version:
|
||||
Requires:
|
||||
Libs: -L${libdir} -llammps@LAMMPS_MACHINE@
|
||||
Libs.private: -lm
|
||||
Cflags: -I${includedir} @LAMMPS_API_DEFINES@
|
||||
@ -20,7 +20,8 @@ ifeq ($(shell which virtualenv >/dev/null 2>&1; echo $$?), 0)
|
||||
HAS_VIRTUALENV = YES
|
||||
endif
|
||||
|
||||
SOURCES=$(wildcard src/*.txt)
|
||||
SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocessing.cpu_count())')
|
||||
SOURCES=$(filter-out src/lammps_commands.txt src/lammps_tutorials.txt,$(wildcard src/*.txt))
|
||||
OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst)
|
||||
|
||||
.PHONY: help clean-all clean epub html pdf old venv spelling anchor_check
|
||||
@ -55,7 +56,7 @@ html: $(OBJECTS) $(ANCHORCHECK)
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
cp -r src/* $(RSTDIR)/ ;\
|
||||
sphinx-build -j 8 -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
|
||||
sphinx-build $(SPHINXEXTRA) -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\
|
||||
echo "############################################" ;\
|
||||
doc_anchor_check src/*.txt ;\
|
||||
echo "############################################" ;\
|
||||
@ -91,7 +92,7 @@ epub: $(OBJECTS)
|
||||
@(\
|
||||
. $(VENV)/bin/activate ;\
|
||||
cp -r src/* $(RSTDIR)/ ;\
|
||||
sphinx-build -j 8 -b epub -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) epub ;\
|
||||
sphinx-build $(SPHINXEXTRA) -b epub -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) epub ;\
|
||||
deactivate ;\
|
||||
)
|
||||
@mv epub/LAMMPS.epub .
|
||||
@ -159,7 +160,7 @@ $(VENV):
|
||||
@( \
|
||||
virtualenv -p $(PYTHON) $(VENV); \
|
||||
. $(VENV)/bin/activate; \
|
||||
pip install Sphinx==1.5.6; \
|
||||
pip install Sphinx; \
|
||||
pip install sphinxcontrib-images; \
|
||||
deactivate;\
|
||||
)
|
||||
|
||||
BIN
doc/src/Eqs/angle_class2_p6.jpg
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
doc/src/Eqs/angle_cosine_buck6d.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
doc/src/Eqs/bond_gromos.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
10
doc/src/Eqs/bond_gromos.tex
Normal file
@ -0,0 +1,10 @@
|
||||
\documentclass[12pt]{article}
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
E = K (r^2 - r_0^2)^2
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/fix_mvv_dpd.jpg
Normal file
|
After Width: | Height: | Size: 26 KiB |
21
doc/src/Eqs/fix_mvv_dpd.tex
Normal file
@ -0,0 +1,21 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
v(t+\frac{\Delta t}{2}) = v(t) + \frac{\Delta t}{2}\cdot a(t),
|
||||
$$
|
||||
|
||||
$$
|
||||
r(t+\Delta t) = r(t) + \Delta t\cdot v(t+\frac{\Delta t}{2}),
|
||||
$$
|
||||
|
||||
$$
|
||||
a(t+\Delta t) = \frac{1}{m}\cdot F\left[ r(t+\Delta t), v(t) +\lambda \cdot \Delta t\cdot a(t)\right],
|
||||
$$
|
||||
|
||||
$$
|
||||
v(t+\Delta t) = v(t+\frac{\Delta t}{2}) + \frac{\Delta t}{2}\cdot a(t+\Delta t)
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/fix_rhok.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
11
doc/src/Eqs/fix_rhok.tex
Normal file
@ -0,0 +1,11 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
U &=& \frac{1}{2} K (|\rho_{\vec{k}}| - a)^2 \\
|
||||
\rho_{\vec{k}} &=& \sum_j^N \exp(-i\vec{k} \cdot \vec{r}_j )/\sqrt{N} \\
|
||||
\vec{k} &=& (2\pi n_x /L_x , 2\pi n_y /L_y , 2\pi n_z/L_z )
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/improper_inversion_harmonic.jpg
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
doc/src/Eqs/pair_buck6d.jpg
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
9
doc/src/Eqs/pair_buck6d.txt
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
E = A e^{-\kappa r} - \frac{C}{r^6} \cdot \frac{1}{1 + D r^{14}} \qquad r < r_c \\
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_coul_gauss.jpg
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
doc/src/Eqs/pair_edpd_force.jpg
Normal file
|
After Width: | Height: | Size: 32 KiB |
33
doc/src/Eqs/pair_edpd_force.tex
Normal file
@ -0,0 +1,33 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
\mathbf{F}_{ij}^{C} = \alpha_{ij}{\omega_{C}}(r_{ij})\mathbf{e}_{ij},
|
||||
$$
|
||||
|
||||
$$
|
||||
\mathbf{F}_{ij}^{D} = -\gamma {\omega_{D}}(r_{ij})(\mathbf{e}_{ij} \cdot \mathbf{v}_{ij})\mathbf{e}_{ij},
|
||||
$$
|
||||
|
||||
$$
|
||||
\mathbf{F}_{ij}^{R} = \sigma {\omega_{R}}(r_{ij}){\xi_{ij}}\Delta t^{-1/2} \mathbf{e}_{ij},
|
||||
$$
|
||||
|
||||
$$
|
||||
\omega_{C}(r) = 1 - r/r_c,
|
||||
$$
|
||||
|
||||
$$
|
||||
\alpha_{ij} = A\cdot k_B(T_i + T_j)/2,
|
||||
$$
|
||||
|
||||
$$
|
||||
\omega_{D}(r) = \omega^2_{R}(r) = (1-r/r_c)^s,
|
||||
$$
|
||||
|
||||
$$
|
||||
\sigma_{ij}^2 = 4\gamma k_B T_i T_j/(T_i + T_j),
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_edpd_gov.jpg
Normal file
|
After Width: | Height: | Size: 17 KiB |
15
doc/src/Eqs/pair_edpd_gov.tex
Normal file
@ -0,0 +1,15 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
\frac{\mathrm{d}^2 \mathbf{r}_i}{\mathrm{d} t^2}=
|
||||
\frac{\mathrm{d} \mathbf{v}_i}{\mathrm{d} t}
|
||||
=\mathbf{F}_{i}=\sum_{i\neq j}(\mathbf{F}_{ij}^{C}+\mathbf{F}_{ij}^{D}+\mathbf{F}_{ij}^{R}),
|
||||
$$
|
||||
|
||||
$$
|
||||
C_v\frac{\mathrm{d} T_i}{\mathrm{d} t}= q_{i} = \sum_{i\neq j}(q_{ij}^{C}+q_{ij}^{V}+q_{ij}^{R}),
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_edpd_heat.jpg
Normal file
|
After Width: | Height: | Size: 46 KiB |
29
doc/src/Eqs/pair_edpd_heat.tex
Normal file
@ -0,0 +1,29 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
q_i^C = \sum_{j \ne i} k_{ij} \omega_{CT}(r_{ij}) \left( \frac{1}{T_i} - \frac{1}{T_j} \right),
|
||||
$$
|
||||
|
||||
$$
|
||||
q_i^V = \frac{1}{2 C_v}\sum_{j \ne i}{ \left\{ \omega_D(r_{ij})\left[\gamma_{ij} \left( \mathbf{e}_{ij} \cdot \mathbf{v}_{ij} \right)^2 - \frac{\left( \sigma _{ij} \right)^2}{m}\right] - \sigma _{ij} \omega_R(r_{ij})\left( \mathbf{e}_{ij} \cdot \mathbf{v}_{ij} \right){\xi_{ij}} \right\} },
|
||||
$$
|
||||
|
||||
$$
|
||||
q_i^R = \sum_{j \ne i} \beta _{ij} \omega_{RT}(r_{ij}) d {t^{ - 1/2}} \xi_{ij}^e,
|
||||
$$
|
||||
|
||||
$$
|
||||
\omega_{CT}(r)=\omega_{RT}^2(r)=\left(1-r/r_{ct}\right)^{s_T},
|
||||
$$
|
||||
|
||||
$$
|
||||
k_{ij}=C_v^2\kappa(T_i + T_j)^2/4k_B,
|
||||
$$
|
||||
|
||||
$$
|
||||
\beta_{ij}^2=2k_Bk_{ij},
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_edpd_kappa.jpg
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
9
doc/src/Eqs/pair_edpd_kappa.tex
Normal file
@ -0,0 +1,9 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
\kappa = \frac{315k_B\upsilon }{2\pi \rho C_v r_{ct}^5}\frac{1}{Pr},
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_mdpd_force.jpg
Normal file
|
After Width: | Height: | Size: 19 KiB |
17
doc/src/Eqs/pair_mdpd_force.tex
Normal file
@ -0,0 +1,17 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
\mathbf{F}_{ij}^C = Aw_c(r_{ij})\mathbf{e}_{ij} + B(\rho_i+\rho_j)w_d(r_{ij})\mathbf{e}_{ij},
|
||||
$$
|
||||
|
||||
$$
|
||||
\mathbf{F}_{ij}^{D} = -\gamma {\omega_{D}}(r_{ij})(\mathbf{e}_{ij} \cdot \mathbf{v}_{ij})\mathbf{e}_{ij},
|
||||
$$
|
||||
|
||||
$$
|
||||
\mathbf{F}_{ij}^{R} = \sigma {\omega_{R}}(r_{ij}){\xi_{ij}}\Delta t^{-1/2} \mathbf{e}_{ij},
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_tdpd_flux.jpg
Normal file
|
After Width: | Height: | Size: 22 KiB |
21
doc/src/Eqs/pair_tdpd_flux.tex
Normal file
@ -0,0 +1,21 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
Q_{ij}^D = -\kappa_{ij} w_{DC}(r_{ij}) \left( C_i - C_j \right),
|
||||
$$
|
||||
|
||||
$$
|
||||
Q_{ij}^R = \epsilon_{ij}\left( C_i + C_j \right) w_{RC}(r_{ij}) \xi_{ij},
|
||||
$$
|
||||
|
||||
$$
|
||||
w_{DC}(r_{ij})=w^2_{RC}(r_{ij}) = (1 - r/r_{cc})^{\rm power\_{cc}},
|
||||
$$
|
||||
|
||||
$$
|
||||
\epsilon_{ij}^2 = m_s^2\kappa_{ij}\rho,
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_tdpd_force.jpg
Normal file
|
After Width: | Height: | Size: 25 KiB |
29
doc/src/Eqs/pair_tdpd_force.tex
Normal file
@ -0,0 +1,29 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
\mathbf{F}_{ij}^{C} = A{\omega_{C}}(r_{ij})\mathbf{e}_{ij},
|
||||
$$
|
||||
|
||||
$$
|
||||
\mathbf{F}_{ij}^{D} = -\gamma {\omega_{D}}(r_{ij})(\mathbf{e}_{ij} \cdot \mathbf{v}_{ij})\mathbf{e}_{ij},
|
||||
$$
|
||||
|
||||
$$
|
||||
\mathbf{F}_{ij}^{R} = \sigma {\omega_{R}}(r_{ij}){\xi_{ij}}\Delta t^{-1/2} \mathbf{e}_{ij},
|
||||
$$
|
||||
|
||||
$$
|
||||
\omega_{C}(r) = 1 - r/r_c,
|
||||
$$
|
||||
|
||||
$$
|
||||
\omega_{D}(r) = \omega^2_{R}(r) = (1-r/r_c)^{\rm power\_f},
|
||||
$$
|
||||
|
||||
$$
|
||||
\sigma^2 = 2\gamma k_B T,
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_tdpd_gov.jpg
Normal file
|
After Width: | Height: | Size: 18 KiB |
13
doc/src/Eqs/pair_tdpd_gov.tex
Normal file
@ -0,0 +1,13 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
\frac{\mathrm{d}^2 \mathbf{r}_i}{\mathrm{d} t^2} = \frac{\mathrm{d} \mathbf{v}_i}{\mathrm{d} t}=\mathbf{F}_{i}=\sum_{i\neq j}(\mathbf{F}_{ij}^{C}+\mathbf{F}_{ij}^{D}+\mathbf{F}_{ij}^{R}),
|
||||
$$
|
||||
|
||||
$$
|
||||
\frac{\mathrm{d} C_{i}}{\mathrm{d} t}= Q_{i} = \sum_{i\neq j}(Q_{ij}^{D}+Q_{ij}^{R}) + Q_{i}^{S},
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
BIN
doc/src/Eqs/pair_ufm.jpg
Normal file
|
After Width: | Height: | Size: 17 KiB |
14
doc/src/Eqs/pair_ufm.tex
Normal file
@ -0,0 +1,14 @@
|
||||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
E = -\varepsilon\, \ln{\left[1-\exp{\left(-r^{2}/\sigma^{2}\right)}\right]} \qquad r < r_c
|
||||
$$
|
||||
|
||||
$$
|
||||
\varepsilon = p\,k_B\,T
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
|
||||
BIN
doc/src/JPG/bow_tutorial_01.png
Executable file
|
After Width: | Height: | Size: 32 KiB |
BIN
doc/src/JPG/bow_tutorial_01_small.png
Executable file
|
After Width: | Height: | Size: 15 KiB |
BIN
doc/src/JPG/bow_tutorial_02.png
Executable file
|
After Width: | Height: | Size: 41 KiB |
BIN
doc/src/JPG/bow_tutorial_02_small.png
Executable file
|
After Width: | Height: | Size: 16 KiB |
BIN
doc/src/JPG/bow_tutorial_03.png
Executable file
|
After Width: | Height: | Size: 42 KiB |
BIN
doc/src/JPG/bow_tutorial_03_small.png
Executable file
|
After Width: | Height: | Size: 20 KiB |
BIN
doc/src/JPG/bow_tutorial_04.png
Executable file
|
After Width: | Height: | Size: 54 KiB |
BIN
doc/src/JPG/bow_tutorial_04_small.png
Executable file
|
After Width: | Height: | Size: 21 KiB |
BIN
doc/src/JPG/bow_tutorial_05.png
Executable file
|
After Width: | Height: | Size: 16 KiB |
BIN
doc/src/JPG/bow_tutorial_06.png
Executable file
|
After Width: | Height: | Size: 13 KiB |
BIN
doc/src/JPG/bow_tutorial_07.png
Executable file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
doc/src/JPG/bow_tutorial_08.png
Executable file
|
After Width: | Height: | Size: 24 KiB |
BIN
doc/src/JPG/bow_tutorial_09.png
Executable file
|
After Width: | Height: | Size: 18 KiB |
BIN
doc/src/JPG/bow_tutorial_10.png
Executable file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
doc/src/JPG/examples_edpd.jpg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
doc/src/JPG/examples_mdpd.gif
Normal file
|
After Width: | Height: | Size: 895 KiB |
BIN
doc/src/JPG/examples_mdpd_first.jpg
Normal file
|
After Width: | Height: | Size: 113 KiB |
BIN
doc/src/JPG/examples_mdpd_last.jpg
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
doc/src/JPG/examples_tdpd.jpg
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
doc/src/JPG/uef_frames.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 19 KiB |
@ -1,9 +1,9 @@
|
||||
<!-- HTML_ONLY -->
|
||||
<HEAD>
|
||||
<TITLE>LAMMPS Users Manual</TITLE>
|
||||
<META NAME="docnumber" CONTENT="24 Jul 2017 version">
|
||||
<META NAME="docnumber" CONTENT="8 Mar 2018 version">
|
||||
<META NAME="author" CONTENT="http://lammps.sandia.gov - Sandia National Laboratories">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
<META NAME="copyright" CONTENT="Copyright (2003) Sandia Corporation. This software and manual is distributed under the GNU General Public License.">
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
@ -21,7 +21,7 @@
|
||||
<H1></H1>
|
||||
|
||||
LAMMPS Documentation :c,h3
|
||||
24 Jul 2017 version :c,h4
|
||||
8 Mar 2018 version :c,h4
|
||||
|
||||
Version info: :h4
|
||||
|
||||
@ -79,7 +79,7 @@ bug reports and feature requests are mainly coordinated through the
|
||||
"LAMMPS project on GitHub."_https://github.com/lammps/lammps
|
||||
The lammps.org domain, currently hosting "public continuous integration
|
||||
testing"_https://ci.lammps.org/job/lammps/ and "precompiled Linux
|
||||
RPM and Windows installer packages"_http://rpm.lammps.org is located
|
||||
RPM and Windows installer packages"_http://packages.lammps.org is located
|
||||
at Temple University and managed by Richard Berger,
|
||||
richard.berger at temple.edu.
|
||||
|
||||
@ -176,11 +176,11 @@ END_RST -->
|
||||
5.1 "Measuring performance"_acc_1 :ulb,b
|
||||
5.2 "Algorithms and code options to boost performace"_acc_2 :b
|
||||
5.3 "Accelerator packages with optimized styles"_acc_3 :b
|
||||
5.3.1 "GPU package"_accelerate_gpu.html :ulb,b
|
||||
5.3.1 "GPU package"_accelerate_gpu.html :b
|
||||
5.3.2 "USER-INTEL package"_accelerate_intel.html :b
|
||||
5.3.3 "KOKKOS package"_accelerate_kokkos.html :b
|
||||
5.3.4 "USER-OMP package"_accelerate_omp.html :b
|
||||
5.3.5 "OPT package"_accelerate_opt.html :ule,b
|
||||
5.3.5 "OPT package"_accelerate_opt.html :b
|
||||
5.4 "Comparison of various accelerator packages"_acc_4 :ule,b
|
||||
"How-to discussions"_Section_howto.html :l
|
||||
6.1 "Restarting a simulation"_howto_1 :ulb,b
|
||||
|
||||
@ -233,8 +233,8 @@ set any needed options for the package via "-pk" "command-line switch"_Section_s
|
||||
use accelerated styles in your input via "-sf" "command-line switch"_Section_start.html#start_6 or "suffix"_suffix.html command | lmp_machine -in in.script -sf gpu
|
||||
:tb(c=2,s=|)
|
||||
|
||||
Note that the first 4 steps can be done as a single command, using the
|
||||
src/Make.py tool. This tool is discussed in "Section
|
||||
Note that the first 4 steps can be done as a single command with
|
||||
suitable make command invocations. This is discussed in "Section
|
||||
4"_Section_packages.html of the manual, and its use is
|
||||
illustrated in the individual accelerator sections. Typically these
|
||||
steps only need to be done once, to create an executable that uses one
|
||||
|
||||
@ -532,7 +532,8 @@ package"_Section_start.html#start_3.
|
||||
"dump vtk"_dump_vtk.html,
|
||||
"group2ndx"_group2ndx.html,
|
||||
"ndx2group"_group2ndx.html,
|
||||
"temper/grem"_temper_grem.html :tb(c=3,ea=c)
|
||||
"temper/grem"_temper_grem.html,
|
||||
"temper/npt"_temper_npt.html :tb(c=3,ea=c)
|
||||
|
||||
:line
|
||||
|
||||
@ -579,6 +580,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"halt"_fix_halt.html,
|
||||
"heat"_fix_heat.html,
|
||||
"indent"_fix_indent.html,
|
||||
"latte"_fix_latte.html,
|
||||
"langevin (k)"_fix_langevin.html,
|
||||
"lineforce"_fix_lineforce.html,
|
||||
"momentum (k)"_fix_momentum.html,
|
||||
@ -617,8 +619,9 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"pour"_fix_pour.html,
|
||||
"press/berendsen"_fix_press_berendsen.html,
|
||||
"print"_fix_print.html,
|
||||
"property/atom"_fix_property_atom.html,
|
||||
"python"_fix_python.html,
|
||||
"property/atom (k)"_fix_property_atom.html,
|
||||
"python/invoke"_fix_python_invoke.html,
|
||||
"python/move"_fix_python_move.html,
|
||||
"qeq/comb (o)"_fix_qeq_comb.html,
|
||||
"qeq/dynamic"_fix_qeq.html,
|
||||
"qeq/fire"_fix_qeq.html,
|
||||
@ -635,10 +638,10 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"rigid/nve (o)"_fix_rigid.html,
|
||||
"rigid/nvt (o)"_fix_rigid.html,
|
||||
"rigid/small (o)"_fix_rigid.html,
|
||||
"rigid/small/nph (o)"_fix_rigid.html,
|
||||
"rigid/small/npt (o)"_fix_rigid.html,
|
||||
"rigid/small/nve (o)"_fix_rigid.html,
|
||||
"rigid/small/nvt (o)"_fix_rigid.html,
|
||||
"rigid/small/nph"_fix_rigid.html,
|
||||
"rigid/small/npt"_fix_rigid.html,
|
||||
"rigid/small/nve"_fix_rigid.html,
|
||||
"rigid/small/nvt"_fix_rigid.html,
|
||||
"setforce (k)"_fix_setforce.html,
|
||||
"shake"_fix_shake.html,
|
||||
"spring"_fix_spring.html,
|
||||
@ -666,7 +669,7 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
|
||||
"wall/harmonic"_fix_wall.html,
|
||||
"wall/lj1043"_fix_wall.html,
|
||||
"wall/lj126"_fix_wall.html,
|
||||
"wall/lj93"_fix_wall.html,
|
||||
"wall/lj93 (k)"_fix_wall.html,
|
||||
"wall/piston"_fix_wall_piston.html,
|
||||
"wall/reflect (k)"_fix_wall_reflect.html,
|
||||
"wall/region"_fix_wall_region.html,
|
||||
@ -681,13 +684,14 @@ package"_Section_start.html#start_3.
|
||||
"atc"_fix_atc.html,
|
||||
"ave/correlate/long"_fix_ave_correlate_long.html,
|
||||
"colvars"_fix_colvars.html,
|
||||
"dpd/energy"_fix_dpd_energy.html,
|
||||
"dpd/energy (k)"_fix_dpd_energy.html,
|
||||
"drude"_fix_drude.html,
|
||||
"drude/transform/direct"_fix_drude_transform.html,
|
||||
"drude/transform/reverse"_fix_drude_transform.html,
|
||||
"edpd/source"_fix_dpd_source.html,
|
||||
"eos/cv"_fix_eos_cv.html,
|
||||
"eos/table"_fix_eos_table.html,
|
||||
"eos/table/rx"_fix_eos_table_rx.html,
|
||||
"eos/table/rx (k)"_fix_eos_table_rx.html,
|
||||
"filter/corotate"_fix_filter_corotate.html,
|
||||
"flow/gauss"_fix_flow_gauss.html,
|
||||
"gle"_fix_gle.html,
|
||||
@ -704,6 +708,9 @@ package"_Section_start.html#start_3.
|
||||
"meso"_fix_meso.html,
|
||||
"manifoldforce"_fix_manifoldforce.html,
|
||||
"meso/stationary"_fix_meso_stationary.html,
|
||||
"mvv/dpd"_fix_mvv_dpd.html,
|
||||
"mvv/edpd"_fix_mvv_dpd.html,
|
||||
"mvv/tdpd"_fix_mvv_dpd.html,
|
||||
"nve/dot"_fix_nve_dot.html,
|
||||
"nve/dotc/langevin"_fix_nve_dotc_langevin.html,
|
||||
"nve/manifold/rattle"_fix_nve_manifold_rattle.html,
|
||||
@ -714,17 +721,20 @@ package"_Section_start.html#start_3.
|
||||
"nve/eff"_fix_nve_eff.html,
|
||||
"nvt/eff"_fix_nh_eff.html,
|
||||
"nvt/sllod/eff"_fix_nvt_sllod_eff.html,
|
||||
"npt/uef"_fix_nh_uef.html,
|
||||
"nvt/uef"_fix_nh_uef.html,
|
||||
"phonon"_fix_phonon.html,
|
||||
"pimd"_fix_pimd.html,
|
||||
"qbmsst"_fix_qbmsst.html,
|
||||
"qeq/reax (ko)"_fix_qeq_reax.html,
|
||||
"qmmm"_fix_qmmm.html,
|
||||
"qtb"_fix_qtb.html,
|
||||
"reax/c/bonds"_fix_reax_bonds.html,
|
||||
"reax/c/species"_fix_reaxc_species.html,
|
||||
"rx"_fix_rx.html,
|
||||
"reax/c/bonds (k)"_fix_reax_bonds.html,
|
||||
"reax/c/species (k)"_fix_reaxc_species.html,
|
||||
"rhok"_fix_rhok.html,
|
||||
"rx (k)"_fix_rx.html,
|
||||
"saed/vtk"_fix_saed_vtk.html,
|
||||
"shardlow"_fix_shardlow.html,
|
||||
"shardlow (k)"_fix_shardlow.html,
|
||||
"smd"_fix_smd.html,
|
||||
"smd/adjust/dt"_fix_smd_adjust_dt.html,
|
||||
"smd/integrate/tlsph"_fix_smd_integrate_tlsph.html,
|
||||
@ -732,6 +742,7 @@ package"_Section_start.html#start_3.
|
||||
"smd/move/triangulated/surface"_fix_smd_move_triangulated_surface.html,
|
||||
"smd/setvel"_fix_smd_setvel.html,
|
||||
"smd/wall/surface"_fix_smd_wall_surface.html,
|
||||
"tdpd/source"_fix_dpd_source.html,
|
||||
"temp/rescale/eff"_fix_temp_rescale_eff.html,
|
||||
"ti/spring"_fix_ti_spring.html,
|
||||
"ttm/mod"_fix_ttm.html,
|
||||
@ -750,6 +761,7 @@ package"_Section_accelerate.html. This is indicated by additional
|
||||
letters in parenthesis: g = GPU, i = USER-INTEL, k =
|
||||
KOKKOS, o = USER-OMP, t = OPT.
|
||||
|
||||
"aggregate/atom"_compute_cluster_atom.html,
|
||||
"angle"_compute_angle.html,
|
||||
"angle/local"_compute_angle_local.html,
|
||||
"angmom/chunk"_compute_angmom_chunk.html,
|
||||
@ -775,6 +787,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"erotate/sphere"_compute_erotate_sphere.html,
|
||||
"erotate/sphere/atom"_compute_erotate_sphere_atom.html,
|
||||
"event/displace"_compute_event_displace.html,
|
||||
"fragment/atom"_compute_cluster_atom.html,
|
||||
"global/atom"_compute_global_atom.html,
|
||||
"group/group"_compute_group_group.html,
|
||||
"gyration"_compute_gyration.html,
|
||||
@ -836,6 +849,7 @@ package"_Section_start.html#start_3.
|
||||
"cnp/atom"_compute_cnp_atom.html,
|
||||
"dpd"_compute_dpd.html,
|
||||
"dpd/atom"_compute_dpd_atom.html,
|
||||
"edpd/temp/atom"_compute_edpd_temp_atom.html,
|
||||
"fep"_compute_fep.html,
|
||||
"force/tally"_compute_tally.html,
|
||||
"heat/flux/tally"_compute_tally.html,
|
||||
@ -846,6 +860,7 @@ package"_Section_start.html#start_3.
|
||||
"meso/t/atom"_compute_meso_t_atom.html,
|
||||
"pe/tally"_compute_tally.html,
|
||||
"pe/mol/tally"_compute_tally.html,
|
||||
"pressure/uef"_compute_pressure_uef.html,
|
||||
"saed"_compute_saed.html,
|
||||
"smd/contact/radius"_compute_smd_contact_radius.html,
|
||||
"smd/damage"_compute_smd_damage.html,
|
||||
@ -868,11 +883,13 @@ package"_Section_start.html#start_3.
|
||||
"smd/ulsph/stress"_compute_smd_ulsph_stress.html,
|
||||
"smd/vol"_compute_smd_vol.html,
|
||||
"stress/tally"_compute_tally.html,
|
||||
"tdpd/cc/atom"_compute_tdpd_cc_atom.html,
|
||||
"temp/drude"_compute_temp_drude.html,
|
||||
"temp/eff"_compute_temp_eff.html,
|
||||
"temp/deform/eff"_compute_temp_deform_eff.html,
|
||||
"temp/region/eff"_compute_temp_region_eff.html,
|
||||
"temp/rotate"_compute_temp_rotate.html,
|
||||
"temp/uef"_compute_temp_uef.html,
|
||||
"xrd"_compute_xrd.html :tb(c=6,ea=c)
|
||||
|
||||
:line
|
||||
@ -890,10 +907,10 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"none"_pair_none.html,
|
||||
"zero"_pair_zero.html,
|
||||
"hybrid"_pair_hybrid.html,
|
||||
"hybrid/overlay"_pair_hybrid.html,
|
||||
"hybrid/overlay (k)"_pair_hybrid.html,
|
||||
"adp (o)"_pair_adp.html,
|
||||
"airebo (o)"_pair_airebo.html,
|
||||
"airebo/morse (o)"_pair_airebo.html,
|
||||
"airebo (oi)"_pair_airebo.html,
|
||||
"airebo/morse (oi)"_pair_airebo.html,
|
||||
"beck (go)"_pair_beck.html,
|
||||
"body"_pair_body.html,
|
||||
"bop"_pair_bop.html,
|
||||
@ -904,11 +921,12 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"born/coul/long/cs"_pair_born.html,
|
||||
"born/coul/msm (o)"_pair_born.html,
|
||||
"born/coul/wolf (go)"_pair_born.html,
|
||||
"born/coul/wolf/cs"_pair_born.html,
|
||||
"brownian (o)"_pair_brownian.html,
|
||||
"brownian/poly (o)"_pair_brownian.html,
|
||||
"buck (gkio)"_pair_buck.html,
|
||||
"buck/coul/cut (gkio)"_pair_buck.html,
|
||||
"buck/coul/long (gkio)"_pair_buck.html,
|
||||
"buck (giko)"_pair_buck.html,
|
||||
"buck/coul/cut (giko)"_pair_buck.html,
|
||||
"buck/coul/long (giko)"_pair_buck.html,
|
||||
"buck/coul/long/cs"_pair_buck.html,
|
||||
"buck/coul/msm (o)"_pair_buck.html,
|
||||
"buck/long/coul/long (o)"_pair_buck_long.html,
|
||||
@ -923,12 +941,13 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"coul/msm"_pair_coul.html,
|
||||
"coul/streitz"_pair_coul.html,
|
||||
"coul/wolf (ko)"_pair_coul.html,
|
||||
"dpd (go)"_pair_dpd.html,
|
||||
"coul/wolf/cs"_pair_coul.html,
|
||||
"dpd (gio)"_pair_dpd.html,
|
||||
"dpd/tstat (go)"_pair_dpd.html,
|
||||
"dsmc"_pair_dsmc.html,
|
||||
"eam (gkiot)"_pair_eam.html,
|
||||
"eam/alloy (gkot)"_pair_eam.html,
|
||||
"eam/fs (gkot)"_pair_eam.html,
|
||||
"eam (gikot)"_pair_eam.html,
|
||||
"eam/alloy (gikot)"_pair_eam.html,
|
||||
"eam/fs (gikot)"_pair_eam.html,
|
||||
"eim (o)"_pair_eim.html,
|
||||
"gauss (go)"_pair_gauss.html,
|
||||
"gayberne (gio)"_pair_gayberne.html,
|
||||
@ -942,7 +961,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"kim"_pair_kim.html,
|
||||
"lcbop"_pair_lcbop.html,
|
||||
"line/lj"_pair_line_lj.html,
|
||||
"lj/charmm/coul/charmm (ko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/charmm (iko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/charmm/implicit (ko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/long (giko)"_pair_charmm.html,
|
||||
"lj/charmm/coul/msm"_pair_charmm.html,
|
||||
@ -959,6 +978,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"lj/cut/coul/long (gikot)"_pair_lj.html,
|
||||
"lj/cut/coul/long/cs"_pair_lj.html,
|
||||
"lj/cut/coul/msm (go)"_pair_lj.html,
|
||||
"lj/cut/coul/wolf (o)"_pair_lj.html,
|
||||
"lj/cut/dipole/cut (go)"_pair_dipole.html,
|
||||
"lj/cut/dipole/long"_pair_dipole.html,
|
||||
"lj/cut/tip4p/cut (o)"_pair_lj.html,
|
||||
@ -990,24 +1010,25 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"polymorphic"_pair_polymorphic.html,
|
||||
"python"_pair_python.html,
|
||||
"reax"_pair_reax.html,
|
||||
"rebo (o)"_pair_airebo.html,
|
||||
"rebo (oi)"_pair_airebo.html,
|
||||
"resquared (go)"_pair_resquared.html,
|
||||
"snap"_pair_snap.html,
|
||||
"snap (k)"_pair_snap.html,
|
||||
"soft (go)"_pair_soft.html,
|
||||
"sw (gkio)"_pair_sw.html,
|
||||
"sw (giko)"_pair_sw.html,
|
||||
"table (gko)"_pair_table.html,
|
||||
"tersoff (gkio)"_pair_tersoff.html,
|
||||
"tersoff (giko)"_pair_tersoff.html,
|
||||
"tersoff/mod (gko)"_pair_tersoff_mod.html,
|
||||
"tersoff/mod/c (o)"_pair_tersoff_mod.html,
|
||||
"tersoff/zbl (gko)"_pair_tersoff_zbl.html,
|
||||
"tip4p/cut (o)"_pair_coul.html,
|
||||
"tip4p/long (o)"_pair_coul.html,
|
||||
"tri/lj"_pair_tri_lj.html,
|
||||
"ufm (got)"_pair_ufm.html,
|
||||
"vashishta (ko)"_pair_vashishta.html,
|
||||
"vashishta/table (o)"_pair_vashishta.html,
|
||||
"yukawa (go)"_pair_yukawa.html,
|
||||
"yukawa (gok)"_pair_yukawa.html,
|
||||
"yukawa/colloid (go)"_pair_yukawa_colloid.html,
|
||||
"zbl (go)"_pair_zbl.html :tb(c=4,ea=c)
|
||||
"zbl (gok)"_pair_zbl.html :tb(c=4,ea=c)
|
||||
|
||||
These are additional pair styles in USER packages, which can be used
|
||||
if "LAMMPS is built with the appropriate
|
||||
@ -1020,12 +1041,14 @@ package"_Section_start.html#start_3.
|
||||
"coul/diel (o)"_pair_coul_diel.html,
|
||||
"coul/long/soft (o)"_pair_lj_soft.html,
|
||||
"dpd/fdt"_pair_dpd_fdt.html,
|
||||
"dpd/fdt/energy"_pair_dpd_fdt.html,
|
||||
"dpd/fdt/energy (k)"_pair_dpd_fdt.html,
|
||||
"eam/cd (o)"_pair_eam.html,
|
||||
"edip (o)"_pair_edip.html,
|
||||
"edip/multi"_pair_edip.html,
|
||||
"edpd"_pair_meso.html,
|
||||
"eff/cut"_pair_eff.html,
|
||||
"exp6/rx"_pair_exp6_rx.html,
|
||||
"exp6/rx (k)"_pair_exp6_rx.html,
|
||||
"extep"_pair_extep.html,
|
||||
"gauss/cut"_pair_gauss.html,
|
||||
"kolmogorov/crespi/z"_pair_kolmogorov_crespi_z.html,
|
||||
"lennard/mdf"_pair_mdf.html,
|
||||
@ -1041,6 +1064,8 @@ package"_Section_start.html#start_3.
|
||||
"lj/sdk (gko)"_pair_sdk.html,
|
||||
"lj/sdk/coul/long (go)"_pair_sdk.html,
|
||||
"lj/sdk/coul/msm (o)"_pair_sdk.html,
|
||||
"mdpd"_pair_meso.html,
|
||||
"mdpd/rhosum"_pair_meso.html,
|
||||
"meam/c"_pair_meam.html,
|
||||
"meam/spline (o)"_pair_meam_spline.html,
|
||||
"meam/sw/spline"_pair_meam_sw_spline.html,
|
||||
@ -1049,7 +1074,7 @@ package"_Section_start.html#start_3.
|
||||
"morse/smooth/linear"_pair_morse.html,
|
||||
"morse/soft"_pair_morse.html,
|
||||
"multi/lucy"_pair_multi_lucy.html,
|
||||
"multi/lucy/rx"_pair_multi_lucy_rx.html,
|
||||
"multi/lucy/rx (k)"_pair_multi_lucy_rx.html,
|
||||
"oxdna/coaxstk"_pair_oxdna.html,
|
||||
"oxdna/excv"_pair_oxdna.html,
|
||||
"oxdna/hbond"_pair_oxdna.html,
|
||||
@ -1066,6 +1091,7 @@ package"_Section_start.html#start_3.
|
||||
"smd/triangulated/surface"_pair_smd_triangulated_surface.html,
|
||||
"smd/ulsph"_pair_smd_ulsph.html,
|
||||
"smtbq"_pair_smtbq.html,
|
||||
"snap (k)"_pair_snap.html,
|
||||
"sph/heatconduction"_pair_sph_heatconduction.html,
|
||||
"sph/idealgas"_pair_sph_idealgas.html,
|
||||
"sph/lj"_pair_sph_lj.html,
|
||||
@ -1073,7 +1099,8 @@ package"_Section_start.html#start_3.
|
||||
"sph/taitwater"_pair_sph_taitwater.html,
|
||||
"sph/taitwater/morris"_pair_sph_taitwater_morris.html,
|
||||
"srp"_pair_srp.html,
|
||||
"table/rx"_pair_table_rx.html,
|
||||
"table/rx (k)"_pair_table_rx.html,
|
||||
"tdpd"_pair_meso.html,
|
||||
"tersoff/table (o)"_pair_tersoff.html,
|
||||
"thole"_pair_thole.html,
|
||||
"tip4p/long/soft (o)"_pair_lj_soft.html :tb(c=4,ea=c)
|
||||
@ -1096,6 +1123,7 @@ KOKKOS, o = USER-OMP, t = OPT.
|
||||
"class2 (ko)"_bond_class2.html,
|
||||
"fene (iko)"_bond_fene.html,
|
||||
"fene/expand (o)"_bond_fene_expand.html,
|
||||
"gromos (o)"_bond_gromos.html,
|
||||
"harmonic (ko)"_bond_harmonic.html,
|
||||
"morse (o)"_bond_morse.html,
|
||||
"nonlinear (o)"_bond_nonlinear.html,
|
||||
@ -1162,7 +1190,7 @@ USER-OMP, t = OPT.
|
||||
"none"_dihedral_none.html,
|
||||
"zero"_dihedral_zero.html,
|
||||
"hybrid"_dihedral_hybrid.html,
|
||||
"charmm (ko)"_dihedral_charmm.html,
|
||||
"charmm (iko)"_dihedral_charmm.html,
|
||||
"charmmfsw"_dihedral_charmm.html,
|
||||
"class2 (ko)"_dihedral_class2.html,
|
||||
"harmonic (io)"_dihedral_harmonic.html,
|
||||
@ -1175,7 +1203,7 @@ used if "LAMMPS is built with the appropriate
|
||||
package"_Section_start.html#start_3.
|
||||
|
||||
"cosine/shift/exp (o)"_dihedral_cosine_shift_exp.html,
|
||||
"fourier (o)"_dihedral_fourier.html,
|
||||
"fourier (io)"_dihedral_fourier.html,
|
||||
"nharmonic (o)"_dihedral_nharmonic.html,
|
||||
"quadratic (o)"_dihedral_quadratic.html,
|
||||
"spherical (o)"_dihedral_spherical.html,
|
||||
@ -1198,7 +1226,7 @@ USER-OMP, t = OPT.
|
||||
"hybrid"_improper_hybrid.html,
|
||||
"class2 (ko)"_improper_class2.html,
|
||||
"cvff (io)"_improper_cvff.html,
|
||||
"harmonic (ko)"_improper_harmonic.html,
|
||||
"harmonic (iko)"_improper_harmonic.html,
|
||||
"umbrella (o)"_improper_umbrella.html :tb(c=4,ea=c)
|
||||
|
||||
These are additional improper styles in USER packages, which can be
|
||||
@ -1226,7 +1254,7 @@ USER-OMP, t = OPT.
|
||||
"ewald/disp"_kspace_style.html,
|
||||
"msm (o)"_kspace_style.html,
|
||||
"msm/cg (o)"_kspace_style.html,
|
||||
"pppm (go)"_kspace_style.html,
|
||||
"pppm (gok)"_kspace_style.html,
|
||||
"pppm/cg (o)"_kspace_style.html,
|
||||
"pppm/disp (i)"_kspace_style.html,
|
||||
"pppm/disp/tip4p"_kspace_style.html,
|
||||
|
||||
@ -7886,8 +7886,8 @@ keyword to allow for additional bonds to be formed :dd
|
||||
|
||||
{New bond exceeded special list size in fix bond/create} :dt
|
||||
|
||||
See the "special_bonds extra" command
|
||||
(or the "read_data extra/special/per/atom" command)
|
||||
See the "read_data extra/special/per/atom" command
|
||||
(or the "create_box extra/special/per/atom" command)
|
||||
for info on how to leave space in the special bonds
|
||||
list to allow for additional bonds to be formed. :dd
|
||||
|
||||
@ -9666,8 +9666,8 @@ you are running. :dd
|
||||
|
||||
{Special list size exceeded in fix bond/create} :dt
|
||||
|
||||
See the special_bonds extra command
|
||||
(or the read_data extra/special/per/atom command)
|
||||
See the "read_data extra/special/per/atom" command
|
||||
(or the "create_box extra/special/per/atom" command)
|
||||
for info on how to leave space in the special bonds
|
||||
list to allow for additional bonds to be formed. :dd
|
||||
|
||||
|
||||
@ -49,6 +49,7 @@ Lists of both kinds of directories are given below.
|
||||
Lowercase directories :h4
|
||||
|
||||
accelerate: run with various acceleration options (OpenMP, GPU, Phi)
|
||||
airebo: polyethylene with AIREBO potential
|
||||
balance: dynamic load balancing, 2d system
|
||||
body: body particles, 2d system
|
||||
cmap: CMAP 5-body contributions to CHARMM force field
|
||||
|
||||
@ -454,7 +454,7 @@ NOTE: By default, for 2d systems, granular particles are still modeled
|
||||
as 3d spheres, not 2d discs (circles), meaning their moment of inertia
|
||||
will be the same as in 3d. If you wish to model granular particles in
|
||||
2d as 2d discs, see the note on this topic in "Section
|
||||
6.2"_Section_howto.html#howto_2, where 2d simulations are disussed.
|
||||
6.2"_Section_howto.html#howto_2, where 2d simulations are discussed.
|
||||
|
||||
:line
|
||||
|
||||
@ -2859,8 +2859,8 @@ The nature of the atoms (core, Drude particle or non-polarizable) is
|
||||
specified via the "fix drude"_fix_drude.html command. The special
|
||||
list of neighbors is automatically refactored to account for the
|
||||
equivalence of core and Drude particles as regards special 1-2 to 1-4
|
||||
screening. It may be necessary to use the {extra} keyword of the
|
||||
"special_bonds"_special_bonds.html command. If using "fix
|
||||
screening. It may be necessary to use the {extra/special/per/atom}
|
||||
keyword of the "read_data"_read_data.html command. If using "fix
|
||||
shake"_fix_shake.html, make sure no Drude particle is in this fix
|
||||
group.
|
||||
|
||||
|
||||
@ -507,11 +507,15 @@ we'll be pleased to add them to the
|
||||
"Movies"_http://lammps.sandia.gov/movies.html pages of the LAMMPS WWW
|
||||
site.
|
||||
|
||||
The core group of LAMMPS developers is at Sandia National Labs:
|
||||
The primary LAMMPS developers are at Sandia National Labs and Temple University:
|
||||
|
||||
Steve Plimpton, sjplimp at sandia.gov
|
||||
Aidan Thompson, athomps at sandia.gov
|
||||
Paul Crozier, pscrozi at sandia.gov :ul
|
||||
Stan Moore, stamoor at sandia.gov
|
||||
Axel Kohlmeyer, akohlmey at gmail.com :ul
|
||||
|
||||
Past primary developers include Paul Crozier and Mark Stevens,
|
||||
both at Sandia, and Ray Shan, now at Materials Design.
|
||||
|
||||
The following folks are responsible for significant contributions to
|
||||
the code, or other aspects of the LAMMPS development effort. Many of
|
||||
@ -519,19 +523,20 @@ the packages they have written are somewhat unique to LAMMPS and the
|
||||
code would not be as general-purpose as it is without their expertise
|
||||
and efforts.
|
||||
|
||||
Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CGSDK and USER-OMP packages
|
||||
Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CGSDK, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM, USER-TALLY, and COMPRESS packages
|
||||
Roy Pollock (LLNL), Ewald and PPPM solvers
|
||||
Mike Brown (ORNL), brownw at ornl.gov, GPU package
|
||||
Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL package
|
||||
Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential
|
||||
Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics
|
||||
Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion
|
||||
Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling
|
||||
Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD
|
||||
Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA package
|
||||
Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA and KOKKOS packages
|
||||
Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field
|
||||
Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling
|
||||
Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF
|
||||
Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SPH package :ul
|
||||
Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages
|
||||
Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul
|
||||
|
||||
As discussed in "Section 13"_Section_history.html, LAMMPS
|
||||
originated as a cooperative project between DOE labs and industrial
|
||||
|
||||
@ -25,6 +25,17 @@ There are two kinds of packages in LAMMPS, standard and user packages:
|
||||
"Table of standard packages"_#table_standard
|
||||
"Table of user packages"_#table_user :ul
|
||||
|
||||
Either of these kinds of packages may work as is, may require some
|
||||
additional code compiled located in the lib folder, or may require
|
||||
an external library to be downloaded, compiled, installed, and LAMMPS
|
||||
configured to know about its location and additional compiler flags.
|
||||
You can often do the build of the internal or external libraries
|
||||
in one step by typing "make lib-name args='...'" from the src dir,
|
||||
with appropriate arguments included in args='...'. If you just type
|
||||
"make lib-name" you should see a help message about supported flags
|
||||
and some examples. For more details about this, please study the
|
||||
tables below and the sections about the individual packages.
|
||||
|
||||
Standard packages are supported by the LAMMPS developers and are
|
||||
written in a syntax and style consistent with the rest of LAMMPS.
|
||||
This means the developers will answer questions about them, debug and
|
||||
@ -34,7 +45,9 @@ LAMMPS.
|
||||
User packages have been contributed by users, and begin with the
|
||||
"user" prefix. If they are a single command (single file), they are
|
||||
typically in the user-misc package. User packages don't necessarily
|
||||
meet the requirements of the standard packages. If you have problems
|
||||
meet the requirements of the standard packages. This means the
|
||||
developers will try to keep things working and usually can answer
|
||||
technical questions about compiling the package. If you have problems
|
||||
using a feature provided in a user package, you may need to contact
|
||||
the contributor directly to get help. Information on how to submit
|
||||
additions you make to LAMMPS as single files or as a standard or user
|
||||
@ -78,11 +91,12 @@ Package, Description, Doc page, Example, Library
|
||||
"COMPRESS"_#COMPRESS, I/O compression, "dump */gz"_dump.html, -, sys
|
||||
"CORESHELL"_#CORESHELL, adiabatic core/shell model, "Section 6.6.25"_Section_howto.html#howto_25, coreshell, -
|
||||
"DIPOLE"_#DIPOLE, point dipole particles, "pair_style dipole/cut"_pair_dipole.html, dipole, -
|
||||
"GPU"_#GPU, GPU-enabled styles, "Section 5.3.1"_accelerate_gpu.html, WWW bench, int
|
||||
"GPU"_#GPU, GPU-enabled styles, "Section 5.3.1"_accelerate_gpu.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, int
|
||||
"GRANULAR"_#GRANULAR, granular systems, "Section 6.6.6"_Section_howto.html#howto_6, pour, -
|
||||
"KIM"_#KIM, openKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext
|
||||
"KOKKOS"_#KOKKOS, Kokkos-enabled styles, "Section 5.3.3"_accelerate_kokkos.html, WWW bench, -
|
||||
"KIM"_#KIM, OpenKIM wrapper, "pair_style kim"_pair_kim.html, kim, ext
|
||||
"KOKKOS"_#KOKKOS, Kokkos-enabled styles, "Section 5.3.3"_accelerate_kokkos.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
||||
"KSPACE"_#KSPACE, long-range Coulombic solvers, "kspace_style"_kspace_style.html, peptide, -
|
||||
"LATTE"_#LATTE, quantum DFTB forces via LATTE, "fix latte"_fix_latte.html, latte, ext
|
||||
"MANYBODY"_#MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, -
|
||||
"MC"_#MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, -, -
|
||||
"MEAM"_#MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int
|
||||
@ -90,7 +104,7 @@ Package, Description, Doc page, Example, Library
|
||||
"MOLECULE"_#MOLECULE, molecular system force fields, "Section 6.6.3"_Section_howto.html#howto_3, peptide, -
|
||||
"MPIIO"_#MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, -, -
|
||||
"MSCG"_#MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext
|
||||
"OPT"_#OPT, optimized pair styles, "Section 5.3.5"_accelerate_opt.html, WWW bench, -
|
||||
"OPT"_#OPT, optimized pair styles, "Section 5.3.5"_accelerate_opt.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
||||
"PERI"_#PERI, Peridynamics models, "pair_style peri"_pair_peri.html, peri, -
|
||||
"POEMS"_#POEMS, coupled rigid body motion, "fix poems"_fix_poems.html, rigid, int
|
||||
"PYTHON"_#PYTHON, embed Python code in an input script, "python"_python.html, python, sys
|
||||
@ -99,10 +113,9 @@ Package, Description, Doc page, Example, Library
|
||||
"REPLICA"_#REPLICA, multi-replica methods, "Section 6.6.5"_Section_howto.html#howto_5, tad, -
|
||||
"RIGID"_#RIGID, rigid bodies and constraints, "fix rigid"_fix_rigid.html, rigid, -
|
||||
"SHOCK"_#SHOCK, shock loading methods, "fix msst"_fix_msst.html, -, -
|
||||
"SNAP"_#SNAP, quantum-fitted potential, "pair snap"_pair_snap.html, snap, -
|
||||
"SNAP"_#SNAP, quantum-fitted potential, "pair_style snap"_pair_snap.html, snap, -
|
||||
"SRD"_#SRD, stochastic rotation dynamics, "fix srd"_fix_srd.html, srd, -
|
||||
"VORONOI"_#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext
|
||||
:tb(ea=c,ca1=l)
|
||||
"VORONOI"_#VORONOI, Voronoi tesselation, "compute voronoi/atom"_compute_voronoi_atom.html, -, ext :tb(ea=c,ca1=l)
|
||||
|
||||
[USER packages] :link(table_user),p
|
||||
|
||||
@ -118,15 +131,17 @@ Package, Description, Doc page, Example, Library
|
||||
"USER-EFF"_#USER-EFF, electron force field,"pair_style eff/cut"_pair_eff.html, USER/eff, -
|
||||
"USER-FEP"_#USER-FEP, free energy perturbation,"compute fep"_compute_fep.html, USER/fep, -
|
||||
"USER-H5MD"_#USER-H5MD, dump output via HDF5,"dump h5md"_dump_h5md.html, -, ext
|
||||
"USER-INTEL"_#USER-INTEL, optimized Intel CPU and KNL styles,"Section 5.3.2"_accelerate_intel.html, WWW bench, -
|
||||
"USER-INTEL"_#USER-INTEL, optimized Intel CPU and KNL styles,"Section 5.3.2"_accelerate_intel.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
||||
"USER-LB"_#USER-LB, Lattice Boltzmann fluid,"fix lb/fluid"_fix_lb_fluid.html, USER/lb, -
|
||||
"USER-MANIFOLD"_#USER-MANIFOLD, motion on 2d surfaces,"fix manifoldforce"_fix_manifoldforce.html, USER/manifold, -
|
||||
"USER-MEAMC"_#USER-MEAMC, modified EAM potential (C++), "pair_style meam/c"_pair_meam.html, meam, -
|
||||
"USER-MESO"_#USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, -
|
||||
"USER-MGPT"_#USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, -
|
||||
"USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER/misc, -
|
||||
"USER-MOFFF"_#USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, -
|
||||
"USER-MOLFILE"_#USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext
|
||||
"USER-NETCDF"_#USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, -, ext
|
||||
"USER-OMP"_#USER-OMP, OpenMP-enabled styles,"Section 5.3.4"_accelerate_omp.html, WWW bench, -
|
||||
"USER-OMP"_#USER-OMP, OpenMP-enabled styles,"Section 5.3.4"_accelerate_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, -
|
||||
"USER-PHONON"_#USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, -
|
||||
"USER-QMMM"_#USER-QMMM, QM/MM coupling,"fix qmmm"_fix_qmmm.html, USER/qmmm, ext
|
||||
"USER-QTB"_#USER-QTB, quantum nuclear effects,"fix qtb"_fix_qtb.html "fix qbmsst"_fix_qbmsst.html, qtb, -
|
||||
@ -136,8 +151,8 @@ Package, Description, Doc page, Example, Library
|
||||
"USER-SMTBQ"_#USER-SMTBQ, second moment tight binding QEq potential,"pair_style smtbq"_pair_smtbq.html, USER/smtbq, -
|
||||
"USER-SPH"_#USER-SPH, smoothed particle hydrodynamics,"SPH User Guide"_PDF/SPH_LAMMPS_userguide.pdf, USER/sph, -
|
||||
"USER-TALLY"_#USER-TALLY, pairwise tally computes,"compute XXX/tally"_compute_tally.html, USER/tally, -
|
||||
"USER-VTK"_#USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, -, ext
|
||||
:tb(ea=c,ca1=l)
|
||||
"USER-UEF"_#USER-UEF, extensional flow,"fix nvt/uef"_fix_nh_uef.html, USER/uef, -
|
||||
"USER-VTK"_#USER-VTK, dump output via VTK, "compute vtk"_dump_vtk.html, -, ext :tb(ea=c,ca1=l)
|
||||
|
||||
:line
|
||||
:line
|
||||
@ -229,7 +244,7 @@ COLLOID package :link(COLLOID),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
Coarse-grained finite-size colloidal particles. Pair stayle and fix
|
||||
Coarse-grained finite-size colloidal particles. Pair styles and fix
|
||||
wall styles for colloidal interactions. Includes the Fast Lubrication
|
||||
Dynamics (FLD) method for hydrodynamic interactions, which is a
|
||||
simplified approximation to Stokesian dynamics.
|
||||
@ -364,9 +379,12 @@ GPU package :link(GPU),h4
|
||||
[Contents:]
|
||||
|
||||
Dozens of pair styles and a version of the PPPM long-range Coulombic
|
||||
solver optimized for NVIDIA GPUs. All such styles have a "gpu" as a
|
||||
suffix in their style name. "Section 5.3.1"_accelerate_gpu.html gives
|
||||
details of what hardware and Cuda software is required on your system,
|
||||
solver optimized for GPUs. All such styles have a "gpu" as a
|
||||
suffix in their style name. The GPU code can be compiled with either
|
||||
CUDA or OpenCL, however the OpenCL variants are no longer actively
|
||||
maintained and only the CUDA versions are regularly tested.
|
||||
"Section 5.3.1"_accelerate_gpu.html gives details of what
|
||||
hardware and GPU software is required on your system,
|
||||
and details on how to build and use this package. Its styles can be
|
||||
invoked at run time via the "-sf gpu" or "-suffix gpu" "command-line
|
||||
switches"_Section_start.html#start_6. See also the "KOKKOS"_#KOKKOS
|
||||
@ -378,32 +396,41 @@ package, which has GPU-enabled styles.
|
||||
[Install or un-install:]
|
||||
|
||||
Before building LAMMPS with this package, you must first build the GPU
|
||||
library in lib/gpu from a set of provided C and Cuda files. You can
|
||||
library in lib/gpu from a set of provided C and CUDA files. You can
|
||||
do this manually if you prefer; follow the instructions in
|
||||
lib/gpu/README. You can also do it in one step from the lammps/src
|
||||
lib/gpu/README. Please note, that the GPU library uses MPI calls, so
|
||||
you have to make certain to use the same MPI library (or the STUBS
|
||||
library) settings as the main LAMMPS code. That same applies to the
|
||||
-DLAMMPS_BIGBIG, -DLAMMPS_SMALLBIG, or -DLAMMPS_SMALLSMALL define.
|
||||
|
||||
You can also do it in one step from the lammps/src
|
||||
dir, using a command like these, which simply invoke the
|
||||
lib/gpu/Install.py script with the specified args:
|
||||
|
||||
make lib-gpu # print help message
|
||||
make lib-gpu args="-m" # build GPU library with default Makefile.linux
|
||||
make lib-gpu args="-i xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision
|
||||
make lib-gpu args="-i xk7 -p single -o xk7.single -m" # ditto, also build GPU library
|
||||
make lib-gpu # print help message
|
||||
make lib-gpu args="-b" # build GPU library with default Makefile.linux
|
||||
make lib-gpu args="-m xk7 -p single -o xk7.single" # create new Makefile.xk7.single, altered for single-precision
|
||||
make lib-gpu args="-m mpi -p mixed -b" # build GPU library with mixed precision using settings in Makefile.mpi :pre
|
||||
|
||||
Note that this procedure starts with one of the existing
|
||||
Makefile.machine files in lib/gpu. It allows you to alter 4 important
|
||||
settings in that Makefile, via the -h, -a, -p, -e switches,
|
||||
and save the new Makefile, if desired:
|
||||
Note that this procedure through the '-m machine' flag starts with one of
|
||||
the existing Makefile.machine files in lib/gpu. For your convenience,
|
||||
machine makefiles for "mpi" and "serial" are provided, which have the
|
||||
same settings as the corresponding machine makefiles in the main LAMMPS
|
||||
source folder. In addition you can alter 4 important settings in that
|
||||
Makefile, via the -h, -a, -p, -e switches, and also save a copy of the
|
||||
new Makefile, if desired:
|
||||
|
||||
CUDA_HOME = where NVIDIA Cuda software is installed on your system
|
||||
CUDA_HOME = where NVIDIA CUDA software is installed on your system
|
||||
CUDA_ARCH = what GPU hardware you have (see help message for details)
|
||||
CUDA_PRECISION = precision (double, mixed, single)
|
||||
EXTRAMAKE = which Makefile.lammps.* file to copy to Makefile.lammps :ul
|
||||
|
||||
If the library build is successful, 2 files should be created:
|
||||
lib/gpu/libgpu.a and lib/gpu/Makefile.lammps. The latter has settings
|
||||
that enable LAMMPS to link with Cuda libraries. If the settings in
|
||||
Makefile.lammps for your machine are not correct, the LAMMPS build
|
||||
will fail.
|
||||
If the library build is successful, at least 3 files should be created:
|
||||
lib/gpu/libgpu.a, lib/gpu/nvc_get_devices, and lib/gpu/Makefile.lammps.
|
||||
The latter has settings that enable LAMMPS to link with CUDA libraries.
|
||||
If the settings in Makefile.lammps for your machine are not correct,
|
||||
the LAMMPS build will fail, and lib/gpu/Makefile.lammps may need to
|
||||
be edited.
|
||||
|
||||
You can then install/un-install the package and build LAMMPS in the
|
||||
usual manner:
|
||||
@ -499,11 +526,13 @@ in lib/kim/README. You can also do it in one step from the lammps/src
|
||||
dir, using a command like these, which simply invoke the
|
||||
lib/kim/Install.py script with the specified args.
|
||||
|
||||
make lib-kim # print help message
|
||||
make lib-kim args="-b . none" # install KIM API lib with only example models
|
||||
make lib-kim args="-b . Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model
|
||||
make lib-kim args="-b . OpenKIM" # install KIM API lib with all models
|
||||
make lib-kim args="-a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver :pre
|
||||
make lib-kim # print help message
|
||||
make lib-kim args="-b " # (re-)install KIM API lib with only example models
|
||||
make lib-kim args="-b -a Glue_Ercolessi_Adams_Al__MO_324507536345_001" # ditto plus one model
|
||||
make lib-kim args="-b -a everything" # install KIM API lib with all models
|
||||
make lib-kim args="-n -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # add one model or model driver
|
||||
make lib-kim args="-p /usr/local/kim-api" # use an existing KIM API installation at the provided location
|
||||
make lib-kim args="-p /usr/local/kim-api -a EAM_Dynamo_Ackland_W__MO_141627196590_002" # ditto but add one model or driver :pre
|
||||
|
||||
Note that in LAMMPS lingo, a KIM model driver is a pair style
|
||||
(e.g. EAM or Tersoff). A KIM model is a pair style for a particular
|
||||
@ -547,7 +576,7 @@ KOKKOS package :link(KOKKOS),h4
|
||||
|
||||
Dozens of atom, pair, bond, angle, dihedral, improper, fix, compute
|
||||
styles adapted to compile using the Kokkos library which can convert
|
||||
them to OpenMP or Cuda code so that they run efficiently on multicore
|
||||
them to OpenMP or CUDA code so that they run efficiently on multicore
|
||||
CPUs, KNLs, or GPUs. All the styles have a "kk" as a suffix in their
|
||||
style name. "Section 5.3.3"_accelerate_kokkos.html gives details of
|
||||
what hardware and software is required on your system, and how to
|
||||
@ -577,28 +606,28 @@ files for examples.
|
||||
For multicore CPUs using OpenMP:
|
||||
|
||||
KOKKOS_DEVICES = OpenMP
|
||||
KOKKOS_ARCH = HSW # HSW = Haswell, SNB = SandyBridge, BDW = Broadwell, etc
|
||||
KOKKOS_ARCH = HSW # HSW = Haswell, SNB = SandyBridge, BDW = Broadwell, etc :pre
|
||||
|
||||
For Intel KNLs using OpenMP:
|
||||
|
||||
KOKKOS_DEVICES = OpenMP
|
||||
KOKKOS_ARCH = KNL
|
||||
KOKKOS_ARCH = KNL :pre
|
||||
|
||||
For NVIDIA GPUs using Cuda:
|
||||
For NVIDIA GPUs using CUDA:
|
||||
|
||||
KOKKOS_DEVICES = Cuda
|
||||
KOKKOS_ARCH = Pascal60,Power8 # P100 hosted by an IBM Power8, etc
|
||||
KOKKOS_ARCH = Kepler37,Power8 # K80 hosted by an IBM Power8, etc
|
||||
KOKKOS_ARCH = Kepler37,Power8 # K80 hosted by an IBM Power8, etc :pre
|
||||
|
||||
For GPUs, you also need these 2 lines in your Makefile.machine before
|
||||
the CC line is defined, in this case for use with OpenMPI mpicxx. The
|
||||
2 lines define a nvcc wrapper compiler, which will use nvcc for
|
||||
compiling Cuda files or use a C++ compiler for non-Kokkos, non-Cuda
|
||||
compiling CUDA files or use a C++ compiler for non-Kokkos, non-CUDA
|
||||
files.
|
||||
|
||||
KOKKOS_ABSOLUTE_PATH = $(shell cd $(KOKKOS_PATH); pwd)
|
||||
export OMPI_CXX = $(KOKKOS_ABSOLUTE_PATH)/config/nvcc_wrapper
|
||||
CC = mpicxx
|
||||
CC = mpicxx :pre
|
||||
|
||||
Once you have an appropriate Makefile.machine, you can
|
||||
install/un-install the package and build LAMMPS in the usual manner.
|
||||
@ -669,6 +698,66 @@ bench/in.rhodo :ul
|
||||
|
||||
:line
|
||||
|
||||
LATTE package :link(LATTE),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A fix command which wraps the LATTE DFTB code, so that molecular
|
||||
dynamics can be run with LAMMPS using density-functional tight-binding
|
||||
quantum forces calculated by LATTE.
|
||||
|
||||
More information on LATTE can be found at this web site:
|
||||
"https://github.com/lanl/LATTE"_latte_home. A brief technical
|
||||
description is given with the "fix latte"_fix_latte.html command.
|
||||
|
||||
:link(latte_home,https://github.com/lanl/LATTE)
|
||||
|
||||
[Authors:] Christian Negre (LANL) and Steve Plimpton (Sandia). LATTE
|
||||
itself is developed at Los Alamos National Laboratory by Marc
|
||||
Cawkwell, Anders Niklasson, and Christian Negre.
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
Before building LAMMPS with this package, you must first download and
|
||||
build the LATTE library. You can do this manually if you prefer;
|
||||
follow the instructions in lib/latte/README. You can also do it in
|
||||
one step from the lammps/src dir, using a command like these, which
|
||||
simply invokes the lib/latte/Install.py script with the specified
|
||||
args:
|
||||
|
||||
make lib-latte # print help message
|
||||
make lib-latte args="-b" # download and build in lib/latte/LATTE-master
|
||||
make lib-latte args="-p $HOME/latte" # use existing LATTE installation in $HOME/latte
|
||||
make lib-latte args="-b -m gfortran" # download and build in lib/latte and
|
||||
# copy Makefile.lammps.gfortran to Makefile.lammps
|
||||
:pre
|
||||
|
||||
Note that 3 symbolic (soft) links, "includelink" and "liblink" and
|
||||
"filelink.o", are created in lib/latte to point into the LATTE home dir.
|
||||
When LAMMPS builds in src it will use these links. You should
|
||||
also check that the Makefile.lammps file you create is appropriate
|
||||
for the compiler you use on your system to build LATTE.
|
||||
|
||||
You can then install/un-install the package and build LAMMPS in the
|
||||
usual manner:
|
||||
|
||||
make yes-latte
|
||||
make machine :pre
|
||||
|
||||
make no-latte
|
||||
make machine :pre
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/LATTE: filenames -> commands
|
||||
src/LATTE/README
|
||||
lib/latte/README
|
||||
"fix latte"_fix_latte.html
|
||||
examples/latte
|
||||
"LAMMPS-LATTE tutorial"_https://github.com/lanl/LATTE/wiki/Using-LATTE-through-LAMMPS :ul
|
||||
|
||||
:line
|
||||
|
||||
MANYBODY package :link(MANYBODY),h4
|
||||
|
||||
[Contents:]
|
||||
@ -734,6 +823,12 @@ MEAM package :link(MEAM),h4
|
||||
|
||||
A pair style for the modified embedded atom (MEAM) potential.
|
||||
|
||||
Please note that the MEAM package has been superseded by the
|
||||
"USER-MEAMC"_#USER-MEAMC package, which is a direct translation
|
||||
of the MEAM package to C++. USER-MEAMC contains additional
|
||||
optimizations making it run faster than MEAM on most machines,
|
||||
while providing the identical features and USER interface.
|
||||
|
||||
[Author:] Greg Wagner (Northwestern U) while at Sandia.
|
||||
|
||||
[Install or un-install:]
|
||||
@ -744,9 +839,10 @@ follow the instructions in lib/meam/README. You can also do it in one
|
||||
step from the lammps/src dir, using a command like these, which simply
|
||||
invoke the lib/meam/Install.py script with the specified args:
|
||||
|
||||
make lib-meam # print help message
|
||||
make lib-meam args="-m gfortran" # build with GNU Fortran compiler
|
||||
make lib-meam args="-m ifort" # build with Intel ifort compiler :pre
|
||||
make lib-meam # print help message
|
||||
make lib-meam args="-m mpi" # build with default Fortran compiler compatible with your MPI library
|
||||
make lib-meam args="-m serial" # build with compiler compatible with "make serial" (GNU Fortran)
|
||||
make lib-meam args="-m ifort" # build with Intel Fortran compiler using Makefile.ifort :pre
|
||||
|
||||
The build should produce two files: lib/meam/libmeam.a and
|
||||
lib/meam/Makefile.lammps. The latter is copied from an existing
|
||||
@ -789,6 +885,9 @@ A variety of compute, fix, pair, dump styles with specialized
|
||||
capabilities that don't align with other packages. Do a directory
|
||||
listing, "ls src/MISC", to see the list of commands.
|
||||
|
||||
NOTE: the MISC package contains styles that require using the
|
||||
-restrict flag, when compiling with Intel compilers.
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
make yes-misc
|
||||
@ -886,7 +985,7 @@ MSCG package :link(mscg),h4
|
||||
[Contents:]
|
||||
|
||||
A "fix mscg"_fix_mscg.html command which can parameterize a
|
||||
Mulit-Scale Coarse-Graining (MSCG) model using the open-source "MS-CG
|
||||
Multi-Scale Coarse-Graining (MSCG) model using the open-source "MS-CG
|
||||
library"_mscg_home.
|
||||
|
||||
:link(mscg_home,https://github.com/uchicago-voth/MSCG-release)
|
||||
@ -902,9 +1001,9 @@ University of Chicago.
|
||||
|
||||
Before building LAMMPS with this package, you must first download and
|
||||
build the MS-CG library. Building the MS-CG library and using it from
|
||||
LAMMPS requires a C++11 compatible compiler, and that LAPACK and GSL
|
||||
(GNU Scientific Library) libraries be installed on your machine. See
|
||||
the lib/mscg/README and MSCG/Install files for more details.
|
||||
LAMMPS requires a C++11 compatible compiler and that the GSL
|
||||
(GNU Scientific Library) headers and libraries are installed on your
|
||||
machine. See the lib/mscg/README and MSCG/Install files for more details.
|
||||
|
||||
Assuming these libraries are in place, you can do the download and
|
||||
build of MS-CG manually if you prefer; follow the instructions in
|
||||
@ -912,15 +1011,16 @@ lib/mscg/README. You can also do it in one step from the lammps/src
|
||||
dir, using a command like these, which simply invoke the
|
||||
lib/mscg/Install.py script with the specified args:
|
||||
|
||||
make lib-mscg # print help message
|
||||
make lib-mscg args="-g -b -l" # download and build in default lib/mscg/MSCG-release-master
|
||||
make lib-mscg args="-h . MSCG -g -b -l" # download and build in lib/mscg/MSCG
|
||||
make lib-mscg args="-h ~ MSCG -g -b -l" # download and build in ~/mscg :pre
|
||||
make lib-mscg # print help message
|
||||
make lib-mscg args="-b -m serial" # download and build in lib/mscg/MSCG-release-master
|
||||
# with the settings compatible with "make serial"
|
||||
make lib-mscg args="-b -m mpi" # download and build in lib/mscg/MSCG-release-master
|
||||
# with the settings compatible with "make mpi"
|
||||
make lib-mscg args="-p /usr/local/mscg-release" # use the existing MS-CG installation in /usr/local/mscg-release :pre
|
||||
|
||||
Note that the final -l switch is to create 2 symbolic (soft) links,
|
||||
"includelink" and "liblink", in lib/mscg to point to the MS-CG src
|
||||
dir. When LAMMPS builds it will use these links. You should not need
|
||||
to edit the lib/mscg/Makefile.lammps file.
|
||||
Note that 2 symbolic (soft) links, "includelink" and "liblink", will be created in lib/mscg
|
||||
to point to the MS-CG src/installation dir. When LAMMPS is built in src it will use these links.
|
||||
You should not need to edit the lib/mscg/Makefile.lammps file.
|
||||
|
||||
You can then install/un-install the package and build LAMMPS in the
|
||||
usual manner:
|
||||
@ -966,11 +1066,11 @@ make no-opt
|
||||
make machine :pre
|
||||
|
||||
NOTE: The compile flag "-restrict" must be used to build LAMMPS with
|
||||
the OPT package. It should be added to the CCFLAGS line of your
|
||||
Makefile.machine. See Makefile.opt in src/MAKE/OPTIONS for an
|
||||
example.
|
||||
the OPT package when using Intel compilers. It should be added to
|
||||
the CCFLAGS line of your Makefile.machine. See Makefile.opt in
|
||||
src/MAKE/OPTIONS for an example.
|
||||
|
||||
CCFLAGS: add -restrict :ul
|
||||
CCFLAGS: add -restrict for Intel compilers :ul
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
@ -1039,9 +1139,10 @@ follow the instructions in lib/poems/README. You can also do it in
|
||||
one step from the lammps/src dir, using a command like these, which
|
||||
simply invoke the lib/poems/Install.py script with the specified args:
|
||||
|
||||
make lib-poems # print help message
|
||||
make lib-poems args="-m g++" # build with GNU g++ compiler
|
||||
make lib-poems args="-m icc" # build with Intel icc compiler :pre
|
||||
make lib-poems # print help message
|
||||
make lib-poems args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
|
||||
make lib-poems args="-m mpi" # build with default MPI C++ compiler (settings as with "make mpi")
|
||||
make lib-poems args="-m icc" # build with Intel icc compiler :pre
|
||||
|
||||
The build should produce two files: lib/poems/libpoems.a and
|
||||
lib/poems/Makefile.lammps. The latter is copied from an existing
|
||||
@ -1151,9 +1252,10 @@ follow the instructions in lib/reax/README. You can also do it in one
|
||||
step from the lammps/src dir, using a command like these, which simply
|
||||
invoke the lib/reax/Install.py script with the specified args:
|
||||
|
||||
make lib-reax # print help message
|
||||
make lib-reax args="-m gfortran" # build with GNU Fortran compiler
|
||||
make lib-reax args="-m ifort" # build with Intel ifort compiler :pre
|
||||
make lib-reax # print help message
|
||||
make lib-reax args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
|
||||
make lib-reax args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
|
||||
make lib-reax args="-m ifort" # build with Intel ifort compiler :pre
|
||||
|
||||
The build should produce two files: lib/reax/libreax.a and
|
||||
lib/reax/Makefile.lammps. The latter is copied from an existing
|
||||
@ -1304,7 +1406,7 @@ make machine :pre
|
||||
[Supporting info:]
|
||||
|
||||
src/SNAP: filenames -> commands
|
||||
"pair snap"_pair_snap.html
|
||||
"pair_style snap"_pair_snap.html
|
||||
"compute sna/atom"_compute_sna_atom.html
|
||||
"compute snad/atom"_compute_sna_atom.html
|
||||
"compute snav/atom"_compute_sna_atom.html
|
||||
@ -1370,15 +1472,15 @@ one step from the lammps/src dir, using a command like these, which
|
||||
simply invoke the lib/voronoi/Install.py script with the specified
|
||||
args:
|
||||
|
||||
make lib-voronoi # print help message
|
||||
make lib-voronoi args="-g -b -l" # download and build in default lib/voronoi/voro++-0.4.6
|
||||
make lib-voronoi args="-h . voro++ -g -b -l" # download and build in lib/voronoi/voro++
|
||||
make lib-voronoi args="-h ~ voro++ -g -b -l" # download and build in ~/voro++ :pre
|
||||
make lib-voronoi # print help message
|
||||
make lib-voronoi args="-b" # download and build the default version in lib/voronoi/voro++-<version>
|
||||
make lib-voronoi args="-p $HOME/voro++" # use existing Voro++ installation in $HOME/voro++
|
||||
make lib-voronoi args="-b -v voro++0.4.6" # download and build the 0.4.6 version in lib/voronoi/voro++-0.4.6 :pre
|
||||
|
||||
Note that the final -l switch is to create 2 symbolic (soft) links,
|
||||
"includelink" and "liblink", in lib/voronoi to point to the Voro++ src
|
||||
dir. When LAMMPS builds it will use these links. You should not need
|
||||
to edit the lib/voronoi/Makefile.lammps file.
|
||||
Note that 2 symbolic (soft) links, "includelink" and "liblink", are
|
||||
created in lib/voronoi to point to the Voro++ src dir. When LAMMPS
|
||||
builds in src it will use these links. You should not need to edit
|
||||
the lib/voronoi/Makefile.lammps file.
|
||||
|
||||
You can then install/un-install the package and build LAMMPS in the
|
||||
usual manner:
|
||||
@ -1420,7 +1522,8 @@ from the lammps/src dir, using a command like these, which simply
|
||||
invoke the lib/atc/Install.py script with the specified args:
|
||||
|
||||
make lib-atc # print help message
|
||||
make lib-atc args="-m g++" # build with GNU g++ compiler
|
||||
make lib-atc args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
|
||||
make lib-atc args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
|
||||
make lib-atc args="-m icc" # build with Intel icc compiler :pre
|
||||
|
||||
The build should produce two files: lib/atc/libatc.a and
|
||||
@ -1437,8 +1540,10 @@ can either exist on your system, or you can use the files provided in
|
||||
lib/linalg. In the latter case you also need to build the library
|
||||
in lib/linalg with a command like these:
|
||||
|
||||
make lib-linalg # print help message
|
||||
make lib-atc args="-m gfortran" # build with GNU Fortran compiler
|
||||
make lib-linalg # print help message
|
||||
make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
|
||||
make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
|
||||
make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre
|
||||
|
||||
You can then install/un-install the package and build LAMMPS in the
|
||||
usual manner:
|
||||
@ -1478,9 +1583,10 @@ follow the instructions in lib/awpmd/README. You can also do it in
|
||||
one step from the lammps/src dir, using a command like these, which
|
||||
simply invoke the lib/awpmd/Install.py script with the specified args:
|
||||
|
||||
make lib-awpmd # print help message
|
||||
make lib-awpmd args="-m g++" # build with GNU g++ compiler
|
||||
make lib-awpmd args="-m icc" # build with Intel icc compiler :pre
|
||||
make lib-awpmd # print help message
|
||||
make lib-awpmd args="-m serial" # build with GNU g++ compiler and MPI STUBS (settings as with "make serial")
|
||||
make lib-awpmd args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
|
||||
make lib-awpmd args="-m icc" # build with Intel icc compiler :pre
|
||||
|
||||
The build should produce two files: lib/awpmd/libawpmd.a and
|
||||
lib/awpmd/Makefile.lammps. The latter is copied from an existing
|
||||
@ -1496,8 +1602,10 @@ these can either exist on your system, or you can use the files
|
||||
provided in lib/linalg. In the latter case you also need to build the
|
||||
library in lib/linalg with a command like these:
|
||||
|
||||
make lib-linalg # print help message
|
||||
make lib-atc args="-m gfortran" # build with GNU Fortran compiler
|
||||
make lib-linalg # print help message
|
||||
make lib-linalg args="-m serial" # build with GNU Fortran compiler (settings as with "make serial")
|
||||
make lib-linalg args="-m mpi" # build with default MPI Fortran compiler (settings as with "make mpi")
|
||||
make lib-linalg args="-m gfortran" # build with GNU Fortran compiler :pre
|
||||
|
||||
You can then install/un-install the package and build LAMMPS in the
|
||||
usual manner:
|
||||
@ -1512,7 +1620,7 @@ make machine :pre
|
||||
|
||||
src/USER-AWPMD: filenames -> commands
|
||||
src/USER-AWPMD/README
|
||||
"pair awpmd/cut"_pair_awpmd.html
|
||||
"pair_style awpmd/cut"_pair_awpmd.html
|
||||
examples/USER/awpmd :ul
|
||||
|
||||
:line
|
||||
@ -1590,9 +1698,11 @@ Restraints. A "fix colvars"_fix_colvars.html command is implemented
|
||||
which wraps a COLVARS library, which implements these methods.
|
||||
simulations.
|
||||
|
||||
[Authors:] Axel Kohlmeyer (Temple U). The COLVARS library was written
|
||||
by Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA) and
|
||||
Jerome Henin (LISM, CNRS, Marseille, France).
|
||||
[Authors:] The COLVARS library is written and maintained by
|
||||
Giacomo Fiorin (ICMS, Temple University, Philadelphia, PA, USA)
|
||||
and Jerome Henin (LISM, CNRS, Marseille, France), originally for
|
||||
the NAMD MD code, but with portability in mind. Axel Kohlmeyer
|
||||
(Temple U) provided the interface to LAMMPS.
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
@ -1604,7 +1714,9 @@ which simply invoke the lib/colvars/Install.py script with the
|
||||
specified args:
|
||||
|
||||
make lib-colvars # print help message
|
||||
make lib-colvars args="-m g++" # build with GNU g++ compiler :pre
|
||||
make lib-colvars args="-m serial" # build with GNU g++ compiler (settings as with "make serial")
|
||||
make lib-colvars args="-m mpi" # build with default MPI compiler (settings as with "make mpi")
|
||||
make lib-colvars args="-m g++-debug" # build with GNU g++ compiler and colvars debugging enabled :pre
|
||||
|
||||
The build should produce two files: lib/colvars/libcolvars.a and
|
||||
lib/colvars/Makefile.lammps. The latter is copied from an existing
|
||||
@ -1670,7 +1782,7 @@ coarse-grained DPD-based models for energetic, reactive molecular
|
||||
crystalline materials. It includes many pair styles specific to these
|
||||
systems, including for reactive DPD, where each particle has internal
|
||||
state for multiple species and a coupled set of chemical reaction ODEs
|
||||
are integrated each timestep. Highly accurate time intergrators for
|
||||
are integrated each timestep. Highly accurate time integrators for
|
||||
isothermal, isoenergetic, isobaric and isenthalpic conditions are
|
||||
included. These enable long timesteps via the Shardlow splitting
|
||||
algorithm.
|
||||
@ -1697,12 +1809,12 @@ src/USER-DPD: filenames -> commands
|
||||
"fix eos/table/rx"_fix_eos_table_rx.html
|
||||
"fix shardlow"_fix_shardlow.html
|
||||
"fix rx"_fix_rx.html
|
||||
"pair table/rx"_pair_table_rx.html
|
||||
"pair dpd/fdt"_pair_dpd_fdt.html
|
||||
"pair dpd/fdt/energy"_pair_dpd_fdt.html
|
||||
"pair exp6/rx"_pair_exp6_rx.html
|
||||
"pair multi/lucy"_pair_multi_lucy.html
|
||||
"pair multi/lucy/rx"_pair_multi_lucy_rx.html
|
||||
"pair_style table/rx"_pair_table_rx.html
|
||||
"pair_style dpd/fdt"_pair_dpd_fdt.html
|
||||
"pair_style dpd/fdt/energy"_pair_dpd_fdt.html
|
||||
"pair_style exp6/rx"_pair_exp6_rx.html
|
||||
"pair_style multi/lucy"_pair_multi_lucy.html
|
||||
"pair_style multi/lucy/rx"_pair_multi_lucy_rx.html
|
||||
examples/USER/dpd :ul
|
||||
|
||||
:line
|
||||
@ -1737,8 +1849,8 @@ src/USER-DRUDE/README
|
||||
"fix drude"_fix_drude.html
|
||||
"fix drude/transform/*"_fix_drude_transform.html
|
||||
"compute temp/drude"_compute_temp_drude.html
|
||||
"pair thole"_pair_thole.html
|
||||
"pair lj/cut/thole/long"_pair_thole.html
|
||||
"pair_style thole"_pair_thole.html
|
||||
"pair_style lj/cut/thole/long"_pair_thole.html
|
||||
examples/USER/drude
|
||||
tools/drude :ul
|
||||
|
||||
@ -1776,8 +1888,8 @@ src/USER-EFF/README
|
||||
"fix npt/eff"_fix_nh_eff.html
|
||||
"fix langevin/eff"_fix_langevin_eff.html
|
||||
"compute temp/eff"_compute_temp_eff.html
|
||||
"pair eff/cut"_pair_eff.html
|
||||
"pair eff/inline"_pair_eff.html
|
||||
"pair_style eff/cut"_pair_eff.html
|
||||
"pair_style eff/inline"_pair_eff.html
|
||||
examples/USER/eff
|
||||
tools/eff/README
|
||||
tools/eff
|
||||
@ -1892,7 +2004,12 @@ Also see the "KOKKOS"_#KOKKOS, "OPT"_#OPT, and "USER-OMP"_#USER-OMP
|
||||
packages, which have styles optimized for CPUs and KNLs.
|
||||
|
||||
You need to have an Intel compiler, version 14 or higher to take full
|
||||
advantage of this package.
|
||||
advantage of this package. While compilation with GNU compilers is
|
||||
supported, performance will be suboptimal.
|
||||
|
||||
NOTE: the USER-INTEL package contains styles that require using the
|
||||
-restrict flag, when compiling with Intel compilers.
|
||||
|
||||
|
||||
[Author:] Mike Brown (Intel).
|
||||
|
||||
@ -1909,17 +2026,17 @@ For CPUs:
|
||||
|
||||
OPTFLAGS = -xHost -O2 -fp-model fast=2 -no-prec-div -qoverride-limits
|
||||
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload \
|
||||
-fno-alias -ansi-alias -restrict $(OPTFLAGS)
|
||||
-fno-alias -ansi-alias -restrict $(OPTFLAGS)
|
||||
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
|
||||
LIB = -ltbbmalloc -ltbbmalloc_proxy
|
||||
LIB = -ltbbmalloc -ltbbmalloc_proxy :pre
|
||||
|
||||
For KNLs:
|
||||
|
||||
OPTFLAGS = -xMIC-AVX512 -O2 -fp-model fast=2 -no-prec-div -qoverride-limits
|
||||
CCFLAGS = -g -qopenmp -DLAMMPS_MEMALIGN=64 -no-offload \
|
||||
-fno-alias -ansi-alias -restrict $(OPTFLAGS)
|
||||
-fno-alias -ansi-alias -restrict $(OPTFLAGS)
|
||||
LINKFLAGS = -g -qopenmp $(OPTFLAGS)
|
||||
LIB = -ltbbmalloc
|
||||
LIB = -ltbbmalloc :pre
|
||||
|
||||
Once you have an appropriate Makefile.machine, you can
|
||||
install/un-install the package and build LAMMPS in the usual manner.
|
||||
@ -2102,11 +2219,85 @@ make machine :pre
|
||||
|
||||
src/USER-MEAMC: filenames -> commands
|
||||
src/USER-MEAMC/README
|
||||
"pair meam/c"_pair_meam.html
|
||||
"pair_style meam/c"_pair_meam.html
|
||||
examples/meam :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-MESO package :link(USER-MESO),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
Several extensions of the the dissipative particle dynamics (DPD)
|
||||
method. Specifically, energy-conserving DPD (eDPD) that can model
|
||||
non-isothermal processes, many-body DPD (mDPD) for simulating
|
||||
vapor-liquid coexistence, and transport DPD (tDPD) for modeling
|
||||
advection-diffusion-reaction systems. The equations of motion of these
|
||||
DPD extensions are integrated through a modified velocity-Verlet (MVV)
|
||||
algorithm.
|
||||
|
||||
[Author:] Zhen Li (Division of Applied Mathematics, Brown University)
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
make yes-user-meso
|
||||
make machine :pre
|
||||
|
||||
make no-user-meso
|
||||
make machine :pre
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-MESO: filenames -> commands
|
||||
src/USER-MESO/README
|
||||
"atom_style edpd"_atom_style.html
|
||||
"pair_style edpd"_pair_meso.html
|
||||
"pair_style mdpd"_pair_meso.html
|
||||
"pair_style tdpd"_pair_meso.html
|
||||
"fix mvv/dpd"_fix_mvv_dpd.html
|
||||
examples/USER/meso
|
||||
http://lammps.sandia.gov/movies.html#mesodpd :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-MOFFF package :link(USER-MOFFF),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
Pair, angle and improper styles needed to employ the MOF-FF
|
||||
force field by Schmid and coworkers with LAMMPS.
|
||||
MOF-FF is a first principles derived force field with the primary aim
|
||||
to simulate MOFs and related porous framework materials, using spherical
|
||||
Gaussian charges. It is described in S. Bureekaew et al., Phys. Stat. Sol. B
|
||||
2013, 250, 1128-1141.
|
||||
For the usage of MOF-FF see the example in the example directory as
|
||||
well as the "MOF+"_MOFplus website.
|
||||
|
||||
:link(MOFplus,https://www.mofplus.org/content/show/MOF-FF)
|
||||
|
||||
[Author:] Hendrik Heenen (Technical U of Munich),
|
||||
Rochus Schmid (Ruhr-University Bochum).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
make yes-user-mofff
|
||||
make machine :pre
|
||||
|
||||
make no-user-mofff
|
||||
make machine :pre
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-MOFFF: filenames -> commands
|
||||
src/USER-MOFFF/README
|
||||
"pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html
|
||||
"angle_style class2"_angle_class2.html
|
||||
"angle_style cosine/buck6d"_angle_cosine_buck6d.html
|
||||
"improper_style inversion/harmonic"_improper_inversion_harmonic.html
|
||||
examples/USER/mofff :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-MOLFILE package :link(USER-MOLFILE),h4
|
||||
|
||||
[Contents:]
|
||||
@ -2224,11 +2415,15 @@ CPUs.
|
||||
|
||||
[Author:] Axel Kohlmeyer (Temple U).
|
||||
|
||||
NOTE: The compile flags "-restrict" and "-fopenmp" must be used to
|
||||
build LAMMPS with the USER-OMP package, as well as the link flag
|
||||
"-fopenmp". They should be added to the CCFLAGS and LINKFLAGS lines
|
||||
of your Makefile.machine. See src/MAKE/OPTIONS/Makefile.omp for an
|
||||
example.
|
||||
NOTE: To enable multi-threading support the compile flag "-fopenmp"
|
||||
and the link flag "-fopenmp" (for GNU compilers, you have to look up
|
||||
the equivalent flags for other compilers) must be used to build LAMMPS.
|
||||
When using Intel compilers, also the "-restrict" flag is required.
|
||||
The USER-OMP package can be compiled without enabling OpenMP; then
|
||||
all code will be compiled as serial and the only improvement over the
|
||||
regular styles are some data access optimization. These flags should
|
||||
be added to the CCFLAGS and LINKFLAGS lines of your Makefile.machine.
|
||||
See src/MAKE/OPTIONS/Makefile.omp for an example.
|
||||
|
||||
Once you have an appropriate Makefile.machine, you can
|
||||
install/un-install the package and build LAMMPS in the usual manner:
|
||||
@ -2241,7 +2436,7 @@ make machine :pre
|
||||
make no-user-omp
|
||||
make machine :pre
|
||||
|
||||
CCFLAGS: add -fopenmp and -restrict
|
||||
CCFLAGS: add -fopenmp (and -restrict when using Intel compilers)
|
||||
LINKFLAGS: add -fopenmp :ul
|
||||
|
||||
[Supporting info:]
|
||||
@ -2310,12 +2505,14 @@ without changes to LAMMPS itself.
|
||||
|
||||
Before building LAMMPS with this package, you must first build the
|
||||
QMMM library in lib/qmmm. You can do this manually if you prefer;
|
||||
follow the first two steps explained in lib/colvars/README. You can
|
||||
follow the first two steps explained in lib/qmmm/README. You can
|
||||
also do it in one step from the lammps/src dir, using a command like
|
||||
these, which simply invoke the lib/colvars/Install.py script with the
|
||||
these, which simply invoke the lib/qmmm/Install.py script with the
|
||||
specified args:
|
||||
|
||||
make lib-qmmm # print help message
|
||||
make lib-qmmm args="-m serial" # build with GNU Fortran compiler (settings as in "make serial")
|
||||
make lib-qmmm args="-m mpi" # build with default MPI compiler (settings as in "make mpi")
|
||||
make lib-qmmm args="-m gfortran" # build with GNU Fortran compiler :pre
|
||||
|
||||
The build should produce two files: lib/qmmm/libqmmm.a and
|
||||
@ -2337,7 +2534,7 @@ make machine :pre
|
||||
|
||||
NOTE: The LAMMPS executable these steps produce is not yet functional
|
||||
for a QM/MM simulation. You must also build Quantum ESPRESSO and
|
||||
create a new executable which links LAMMPS and Quanutm ESPRESSO
|
||||
create a new executable which links LAMMPS and Quantum ESPRESSO
|
||||
together. These are steps 3 and 4 described in the lib/qmmm/README
|
||||
file.
|
||||
|
||||
@ -2396,7 +2593,7 @@ developed by the Cambridge University group.
|
||||
|
||||
:link(quip,https://github.com/libAtoms/QUIP)
|
||||
|
||||
To use this package you must have the QUIP libAatoms library available
|
||||
To use this package you must have the QUIP libAtoms library available
|
||||
on your system.
|
||||
|
||||
[Author:] Albert Bartok (Cambridge University)
|
||||
@ -2492,15 +2689,13 @@ follow the instructions in lib/smd/README. You can also do it in one
|
||||
step from the lammps/src dir, using a command like these, which simply
|
||||
invoke the lib/smd/Install.py script with the specified args:
|
||||
|
||||
make lib-smd # print help message
|
||||
make lib-smd args="-g -l" # download in default lib/smd/eigen-eigen-*
|
||||
make lib-smd args="-h . eigen -g -l" # download in lib/smd/eigen
|
||||
make lib-smd args="-h ~ eigen -g -l" # download and build in ~/eigen :pre
|
||||
make lib-smd # print help message
|
||||
make lib-smd args="-b" # download and build in default lib/smd/eigen-eigen-...
|
||||
make lib-smd args="-p /usr/include/eigen3" # use existing Eigen installation in /usr/include/eigen3 :pre
|
||||
|
||||
Note that the final -l switch is to create a symbolic (soft) link
|
||||
named "includelink" in lib/smd to point to the Eigen dir. When LAMMPS
|
||||
builds it will use this link. You should not need to edit the
|
||||
lib/smd/Makefile.lammps file.
|
||||
Note that a symbolic (soft) link named "includelink" is created in
|
||||
lib/smd to point to the Eigen dir. When LAMMPS builds it will use
|
||||
this link. You should not need to edit the lib/smd/Makefile.lammps file.
|
||||
|
||||
You can then install/un-install the package and build LAMMPS in the
|
||||
usual manner:
|
||||
@ -2616,13 +2811,44 @@ examples/USER/tally :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-UEF package :link(USER-UEF),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A fix style for the integration of the equations of motion under
|
||||
extensional flow with proper boundary conditions, as well as several
|
||||
supporting compute styles and an output option.
|
||||
|
||||
[Author:] David Nicholson (MIT).
|
||||
|
||||
[Install or un-install:]
|
||||
|
||||
make yes-user-uef
|
||||
make machine :pre
|
||||
|
||||
make no-user-uef
|
||||
make machine :pre
|
||||
|
||||
[Supporting info:]
|
||||
|
||||
src/USER-UEF: filenames -> commands
|
||||
src/USER-UEF/README
|
||||
"fix nvt/uef"_fix_nh_uef.html
|
||||
"fix npt/uef"_fix_nh_uef.html
|
||||
"compute pressure/uef"_compute_pressure_uef.html
|
||||
"compute temp/uef"_compute_temp_uef.html
|
||||
"dump cfg/uef"_dump_cfg_uef.html
|
||||
examples/uef :ul
|
||||
|
||||
:line
|
||||
|
||||
USER-VTK package :link(USER-VTK),h4
|
||||
|
||||
[Contents:]
|
||||
|
||||
A "dump vtk"_dump_vtk.html command which outputs
|
||||
snapshot info in the "VTK format"_vtk, enabling visualization by
|
||||
"Paraview"_paraview or other visuzlization packages.
|
||||
A "dump vtk"_dump_vtk.html command which outputs snapshot info in the
|
||||
"VTK format"_vtk, enabling visualization by "Paraview"_paraview or
|
||||
other visualization packages.
|
||||
|
||||
:link(vtk,http://www.vtk.org)
|
||||
:link(paraview,http://www.paraview.org)
|
||||
|
||||
@ -123,7 +123,7 @@ code directly from an input script:
|
||||
|
||||
"python"_python.html
|
||||
"variable python"_variable.html
|
||||
"fix python"_fix_python.html
|
||||
"fix python/invoke"_fix_python_invoke.html
|
||||
"pair_style python"_pair_python.html :ul
|
||||
|
||||
The "python"_python.html command which can be used to define and
|
||||
@ -165,7 +165,7 @@ doc page for its python-style variables for more info, including
|
||||
examples of Python code you can write for both pure Python operations
|
||||
and callbacks to LAMMPS.
|
||||
|
||||
The "fix python"_fix_python.html command can execute
|
||||
The "fix python/invoke"_fix_python_invoke.html command can execute
|
||||
Python code at selected timesteps during a simulation run.
|
||||
|
||||
The "pair_style python"_pair_python command allows you to define
|
||||
|
||||
@ -79,7 +79,7 @@ This section has the following sub-sections:
|
||||
|
||||
Read this first :h5,link(start_2_1)
|
||||
|
||||
If you want to avoid building LAMMPS yourself, read the preceeding
|
||||
If you want to avoid building LAMMPS yourself, read the preceding
|
||||
section about options available for downloading and installing
|
||||
executables. Details are discussed on the "download"_download page.
|
||||
|
||||
@ -252,14 +252,13 @@ re-compile, after typing "make clean" (which will describe different
|
||||
clean options).
|
||||
|
||||
The LMP_INC variable is used to include options that turn on ifdefs
|
||||
within the LAMMPS code. The options that are currently recogized are:
|
||||
within the LAMMPS code. The options that are currently recognized are:
|
||||
|
||||
-DLAMMPS_GZIP
|
||||
-DLAMMPS_JPEG
|
||||
-DLAMMPS_PNG
|
||||
-DLAMMPS_FFMPEG
|
||||
-DLAMMPS_MEMALIGN
|
||||
-DLAMMPS_XDR
|
||||
-DLAMMPS_SMALLBIG
|
||||
-DLAMMPS_BIGBIG
|
||||
-DLAMMPS_SMALLSMALL
|
||||
@ -308,11 +307,6 @@ has to be aligned on larger than default byte boundaries (e.g. 16
|
||||
bytes instead of 8 bytes on x86 type platforms) for optimal
|
||||
performance.
|
||||
|
||||
If you use -DLAMMPS_XDR, the build will include XDR compatibility
|
||||
files for doing particle dumps in XTC format. This is only necessary
|
||||
if your platform does have its own XDR files available. See the
|
||||
Restrictions section of the "dump"_dump.html command for details.
|
||||
|
||||
Use at most one of the -DLAMMPS_SMALLBIG, -DLAMMPS_BIGBIG,
|
||||
-DLAMMPS_SMALLSMALL settings. The default is -DLAMMPS_SMALLBIG. These
|
||||
settings refer to use of 4-byte (small) vs 8-byte (big) integers
|
||||
@ -363,7 +357,7 @@ installed on your platform. If MPI is installed on your system in the
|
||||
usual place (under /usr/local), you also may not need to specify these
|
||||
3 variables, assuming /usr/local is in your path. On some large
|
||||
parallel machines which use "modules" for their compile/link
|
||||
environements, you may simply need to include the correct module in
|
||||
environments, you may simply need to include the correct module in
|
||||
your build environment, before building LAMMPS. Or the parallel
|
||||
machine may have a vendor-provided MPI which the compiler has no
|
||||
trouble finding.
|
||||
@ -431,7 +425,7 @@ use the KISS library described above.
|
||||
You may also need to set the FFT_INC, FFT_PATH, and FFT_LIB variables,
|
||||
so the compiler and linker can find the needed FFT header and library
|
||||
files. Note that on some large parallel machines which use "modules"
|
||||
for their compile/link environements, you may simply need to include
|
||||
for their compile/link environments, you may simply need to include
|
||||
the correct module in your build environment. Or the parallel machine
|
||||
may have a vendor-provided FFT library which the compiler has no
|
||||
trouble finding. See the src/MAKE/OPTIONS/Makefile.fftw file for an
|
||||
@ -470,7 +464,7 @@ precision.
|
||||
|
||||
The FFT_INC variable also allows for a -DFFT_SINGLE setting that will
|
||||
use single-precision FFTs with PPPM, which can speed-up long-range
|
||||
calulations, particularly in parallel or on GPUs. Fourier transform
|
||||
calculations, particularly in parallel or on GPUs. Fourier transform
|
||||
and related PPPM operations are somewhat insensitive to floating point
|
||||
truncation errors and thus do not always need to be performed in
|
||||
double precision. Using the -DFFT_SINGLE setting trades off a little
|
||||
@ -483,7 +477,7 @@ with support for single-precision, as explained above. For FFTW3 you
|
||||
also need to include -lfftw3f with the FFT_LIB setting, in addition to
|
||||
-lfftw3. For FFTW2, you also need to specify -DFFT_SIZE with the
|
||||
FFT_INC setting and -lsfftw with the FFT_LIB setting (in place of
|
||||
-lfftw). Similarly, if FFTW2 has been preinstalled with an explicit
|
||||
-lfftw). Similarly, if FFTW2 has been pre-installed with an explicit
|
||||
double-precision library (libdfftw.a and not the default libfftw.a),
|
||||
then you can specify -DFFT_SIZE (and not -DFFT_SINGLE), and specify
|
||||
-ldfftw to use double-precision FFTs.
|
||||
@ -536,7 +530,7 @@ You should get the executable lmp_foo when the build is complete.
|
||||
|
||||
:line
|
||||
|
||||
Errors that can occur when making LAMMPS: h5 :link(start_2_3)
|
||||
Errors that can occur when making LAMMPS :h5 :link(start_2_3)
|
||||
|
||||
If an error occurs when building LAMMPS, the compiler or linker will
|
||||
state very explicitly what the problem is. The error message should
|
||||
@ -587,8 +581,7 @@ Typing "make clean-all" or "make clean-machine" will delete *.o object
|
||||
files created when LAMMPS is built, for either all builds or for a
|
||||
particular machine.
|
||||
|
||||
Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or
|
||||
-DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :h6
|
||||
Changing the LAMMPS size limits via -DLAMMPS_SMALLBIG or -DLAMMPS_BIGBIG or -DLAMMPS_SMALLSMALL :h6
|
||||
|
||||
As explained above, any of these 3 settings can be specified on the
|
||||
LMP_INC line in your low-level src/MAKE/Makefile.foo.
|
||||
@ -659,22 +652,29 @@ utilities.
|
||||
For Cygwin and the MinGW cross-compilers, suitable makefiles are
|
||||
provided in src/MAKE/MACHINES. When using other compilers, like
|
||||
Visual C++ or Intel compilers for Windows, you may have to implement
|
||||
your own build system. Since none of the current LAMMPS core developers
|
||||
has significant experience building executables on Windows, we are
|
||||
happy to distribute contributed instructions and modifications, but
|
||||
we cannot provide support for those.
|
||||
your own build system. Due to differences between the Windows OS
|
||||
and Windows system libraries to Unix-like environments like Linux
|
||||
or MacOS, when compiling for Windows a few adjustments may be needed:
|
||||
|
||||
Do [not] set the -DLAMMPS_MEMALIGN define (see LMP_INC makefile variable)
|
||||
Add -lwsock32 -lpsapi to the linker flags (see LIB makefile variable)
|
||||
Try adding -static-libgcc or -static or both to the linker flags when your LAMMPS executable complains about missing .dll files :ul
|
||||
|
||||
Since none of the current LAMMPS core developers has significant
|
||||
experience building executables on Windows, we are happy to distribute
|
||||
contributed instructions and modifications to improve the situation,
|
||||
but we cannot provide support for those.
|
||||
|
||||
With the so-called "Anniversary Update" to Windows 10, there is a
|
||||
Ubuntu Linux subsystem available for Windows, that can be installed
|
||||
and then used to compile/install LAMMPS as if you are running on a
|
||||
Ubuntu Linux system instead of Windows.
|
||||
|
||||
As an alternative, you can download "daily builds" (and some older
|
||||
versions) of the installer packages from
|
||||
"rpm.lammps.org/windows.html"_http://rpm.lammps.org/windows.html.
|
||||
These executables are built with most optional packages and the
|
||||
download includes documentation, potential files, some tools and
|
||||
many examples, but no source code.
|
||||
As an alternative, you can download pre-compiled installer packages from
|
||||
"packages.lammps.org/windows.html"_http://packages.lammps.org/windows.html.
|
||||
These executables are built with most optional packages included and the
|
||||
download includes documentation, potential files, some tools and many
|
||||
examples, but no source code.
|
||||
|
||||
:line
|
||||
|
||||
@ -708,7 +708,7 @@ list various make commands that can be used to manage packages.
|
||||
If you use a command in a LAMMPS input script that is part of a
|
||||
package, you must have built LAMMPS with that package, else you will
|
||||
get an error that the style is invalid or the command is unknown.
|
||||
Every command's doc page specfies if it is part of a package. You can
|
||||
Every command's doc page specifies if it is part of a package. You can
|
||||
type
|
||||
|
||||
lmp_machine -h :pre
|
||||
@ -803,6 +803,10 @@ currently installed. For those that are installed, it will list any
|
||||
files that are different in the src directory and package
|
||||
sub-directory.
|
||||
|
||||
Typing "make package-installed" or "make pi" will list which packages are
|
||||
currently installed, without listing the status of packages that are not
|
||||
installed.
|
||||
|
||||
Typing "make package-update" or "make pu" will overwrite src files
|
||||
with files from the package sub-directories if the package is
|
||||
installed. It should be used after a patch has been applied, since
|
||||
@ -853,7 +857,7 @@ details for each package.
|
||||
[External libraries:]
|
||||
|
||||
Packages in the tables "Section 4"_Section_packages.html with an "ext"
|
||||
in the last column link to exernal libraries whose source code is not
|
||||
in the last column link to external libraries whose source code is not
|
||||
included with LAMMPS. You must first download and install the library
|
||||
before building LAMMPS with that package installed. E.g. the voronoi
|
||||
package links to the freely available "Voro++ library"_voro_home2. You
|
||||
@ -909,12 +913,12 @@ src/MAKE/OPTIONS, which include the settings. Note that the
|
||||
USER-INTEL and KOKKOS packages can use settings that build LAMMPS for
|
||||
different hardware. The USER-INTEL package can be compiled for Intel
|
||||
CPUs and KNLs; the KOKKOS package builds for CPUs (OpenMP), GPUs
|
||||
(Cuda), and Intel KNLs.
|
||||
(CUDA), and Intel KNLs.
|
||||
|
||||
Makefile.intel_cpu
|
||||
Makefile.intel_phi
|
||||
Makefile.kokkos_omp
|
||||
Makefile.kokkos_cuda
|
||||
Makefile.kokkos_cuda_mpi
|
||||
Makefile.kokkos_phi
|
||||
Makefile.omp
|
||||
Makefile.opt :ul
|
||||
@ -957,7 +961,7 @@ src/MAKE/Makefile.foo and perform the build in the directory
|
||||
Obj_shared_foo. This is so that each file can be compiled with the
|
||||
-fPIC flag which is required for inclusion in a shared library. The
|
||||
build will create the file liblammps_foo.so which another application
|
||||
can link to dyamically. It will also create a soft link liblammps.so,
|
||||
can link to dynamically. It will also create a soft link liblammps.so,
|
||||
which will point to the most recently built shared library. This is
|
||||
the file the Python wrapper loads by default.
|
||||
|
||||
@ -1087,7 +1091,7 @@ LAMMPS to be built with one or more of its optional packages.
|
||||
:line
|
||||
|
||||
On a Windows box, you can skip making LAMMPS and simply download an
|
||||
installer package from "here"_http://rpm.lammps.org/windows.html
|
||||
installer package from "here"_http://packages.lammps.org/windows.html
|
||||
|
||||
For running the non-MPI executable, follow these steps:
|
||||
|
||||
@ -1099,18 +1103,27 @@ the [in.lj] input from the bench folder. (e.g. by typing: cd "Documents"). :l
|
||||
|
||||
At the command prompt, type "lmp_serial -in in.lj", replacing [in.lj]
|
||||
with the name of your LAMMPS input script. :l
|
||||
|
||||
The serial executable includes support for multi-threading
|
||||
parallelization from the styles in the USER-OMP packages.
|
||||
|
||||
To run with, e.g. 4 threads, type "lmp_serial -in in.lj -pk omp 4 -sf omp"
|
||||
:ule
|
||||
|
||||
For the MPI version, which allows you to run LAMMPS under Windows on
|
||||
multiple processors, follow these steps:
|
||||
For the MPI version, which allows you to run LAMMPS under Windows with
|
||||
the more general message passing parallel library (LAMMPS has been
|
||||
designed from ground up to use MPI efficiently), follow these steps:
|
||||
|
||||
Download and install
|
||||
"MPICH2"_http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads
|
||||
for Windows. :ulb,l
|
||||
Download and install a compatible MPI library binary package:
|
||||
for 32-bit Windows
|
||||
"mpich2-1.4.1p1-win-ia32.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi
|
||||
and for 64-bit Windows
|
||||
"mpich2-1.4.1p1-win-x86-64.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi
|
||||
:ulb,l
|
||||
|
||||
The LAMMPS Windows installer packages will automatically adjust your
|
||||
path for the default location of this MPI package. After the installation
|
||||
of the MPICH software, it needs to be integrated into the system.
|
||||
of the MPICH2 software, it needs to be integrated into the system.
|
||||
For this you need to start a Command Prompt in {Administrator Mode}
|
||||
(right click on the icon and select it). Change into the MPICH2
|
||||
installation directory, then into the subdirectory [bin] and execute
|
||||
@ -1129,7 +1142,7 @@ or
|
||||
|
||||
mpiexec -np 4 lmp_mpi -in in.lj :pre
|
||||
|
||||
replacing in.lj with the name of your LAMMPS input script. For the latter
|
||||
replacing [in.lj] with the name of your LAMMPS input script. For the latter
|
||||
case, you may be prompted to enter your password. :l
|
||||
|
||||
In this mode, output may not immediately show up on the screen, so if
|
||||
@ -1141,6 +1154,11 @@ something like:
|
||||
|
||||
lmp_mpi -in in.lj :pre
|
||||
|
||||
And the parallel executable also includes OpenMP multi-threading, which
|
||||
can be combined with MPI using something like:
|
||||
|
||||
mpiexec -localonly 2 lmp_mpi -in in.lj -pk omp 2 -sf omp :pre
|
||||
|
||||
:ule
|
||||
|
||||
:line
|
||||
@ -1309,8 +1327,8 @@ LAMMPS is compiled with CUDA=yes.
|
||||
numa Nm :pre
|
||||
|
||||
This option is only relevant when using pthreads with hwloc support.
|
||||
In this case Nm defines the number of NUMA regions (typicaly sockets)
|
||||
on a node which will be utilizied by a single MPI rank. By default Nm
|
||||
In this case Nm defines the number of NUMA regions (typically sockets)
|
||||
on a node which will be utilized by a single MPI rank. By default Nm
|
||||
= 1. If this option is used the total number of worker-threads per
|
||||
MPI rank is threads*numa. Currently it is always almost better to
|
||||
assign at least one MPI rank per NUMA region, and leave numa set to
|
||||
@ -1374,7 +1392,7 @@ replica runs on on one or a few processors. Note that with MPI
|
||||
installed on a machine (e.g. your desktop), you can run on more
|
||||
(virtual) processors than you have physical processors.
|
||||
|
||||
To run multiple independent simulatoins from one input script, using
|
||||
To run multiple independent simulations from one input script, using
|
||||
multiple partitions, see "Section 6.4"_Section_howto.html#howto_4
|
||||
of the manual. World- and universe-style "variables"_variable.html
|
||||
are useful in this context.
|
||||
@ -1653,7 +1671,7 @@ The first section provides a global loop timing summary. The {loop time}
|
||||
is the total wall time for the section. The {Performance} line is
|
||||
provided for convenience to help predicting the number of loop
|
||||
continuations required and for comparing performance with other,
|
||||
similar MD codes. The {CPU use} line provides the CPU utilzation per
|
||||
similar MD codes. The {CPU use} line provides the CPU utilization per
|
||||
MPI task; it should be close to 100% times the number of OpenMP
|
||||
threads (or 1 of no OpenMP). Lower numbers correspond to delays due
|
||||
to file I/O or insufficient thread utilization.
|
||||
|
||||
@ -48,6 +48,7 @@ own sub-directories with their own Makefiles and/or README files.
|
||||
"chain"_#chain
|
||||
"colvars"_#colvars
|
||||
"createatoms"_#createatoms
|
||||
"doxygen"_#doxygen
|
||||
"drude"_#drude
|
||||
"eam database"_#eamdb
|
||||
"eam generate"_#eamgn
|
||||
@ -110,14 +111,21 @@ back-and-forth between the CHARMM MD code and LAMMPS.
|
||||
They are intended to make it easy to use CHARMM as a builder and as a
|
||||
post-processor for LAMMPS. Using charmm2lammps.pl, you can convert a
|
||||
PDB file with associated CHARMM info, including CHARMM force field
|
||||
data, into its LAMMPS equivalent. Using lammps2pdb.pl you can convert
|
||||
LAMMPS atom dumps into PDB files.
|
||||
data, into its LAMMPS equivalent. Support for the CMAP correction of
|
||||
CHARMM22 and later is available as an option. This tool can also add
|
||||
solvent water molecules and Na+ or Cl- ions to the system.
|
||||
Using lammps2pdb.pl you can convert LAMMPS atom dumps into PDB files.
|
||||
|
||||
See the README file in the ch2lmp sub-directory for more information.
|
||||
|
||||
These tools were created by Pieter in't Veld (pjintve at sandia.gov)
|
||||
and Paul Crozier (pscrozi at sandia.gov) at Sandia.
|
||||
|
||||
CMAP support added and tested by Xiaohu Hu (hux2 at ornl.gov) and
|
||||
Robert A. Latour (latourr at clemson.edu), David Hyde-Volpe, and
|
||||
Tigran Abramyan, (Clemson University) and
|
||||
Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London.
|
||||
|
||||
:line
|
||||
|
||||
chain tool :h4,link(chain)
|
||||
@ -172,6 +180,18 @@ The tool is authored by Xiaowang Zhou (Sandia), xzhou at sandia.gov.
|
||||
|
||||
:line
|
||||
|
||||
doxygen tool :h4,link(doxygen)
|
||||
|
||||
The tools/doxygen directory contains a shell script called
|
||||
doxygen.sh which can generate a call graph and API lists using
|
||||
the "Doxygen software"_http://doxygen.org.
|
||||
|
||||
See the included README file for details.
|
||||
|
||||
The tool is authored by Nandor Tamaskovics, numericalfreedom at googlemail.com.
|
||||
|
||||
:line
|
||||
|
||||
drude tool :h4,link(drude)
|
||||
|
||||
The tools/drude directory contains a Python script called
|
||||
|
||||
@ -7,24 +7,22 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_add_molecule">fix_modify AtC add_molecule </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_add_molecule">fix_modify AtC add_molecule </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify_AtC add_molecule <small|large> <TAG> <GROUP_NAME> <br/>
|
||||
</p>
|
||||
<ul>
|
||||
@ -35,21 +33,21 @@ syntax</a></h2>
|
||||
<li><GROUP_NAME> = name of group that tracking will be applied to <br/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> group WATERGROUP type 1 2 </code> <br/>
|
||||
<code> fix_modify AtC add_molecule small water WATERGROUP </code> <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Associates a tag with all molecules corresponding to a specified group. <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>No defaults for this command. </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,24 +7,22 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_add_species">fix_modify AtC add_species </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_add_species">fix_modify AtC add_species </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify_AtC add_species <TAG> <group|type> <ID> <br/>
|
||||
</p>
|
||||
<ul>
|
||||
@ -35,21 +33,21 @@ syntax</a></h2>
|
||||
<li><ID> = name of group or type number <br/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify AtC add_species gold type 1 </code> <br/>
|
||||
<code> group GOLDGROUP type 1 </code> <br/>
|
||||
<code> fix_modify AtC add_species gold group GOLDGROUP </code> </p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Associates a tag with all atoms of a specified type or within a specified group. <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>No defaults for this command. </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,42 +7,40 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_atom_element_map">fix_modify AtC atom_element_map </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_atom_element_map">fix_modify AtC atom_element_map </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC atom_element_map <eulerian|lagrangian> <frequency> <br/>
|
||||
</p>
|
||||
<ul>
|
||||
<li>frequency (int) : frequency of updating atom-to-continuum maps based on the current configuration - only for eulerian </li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify atc atom_element_map eulerian 100 </code> </p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Changes frame of reference from eulerian to lagrangian and sets the frequency for which the map from atoms to elements is reformed and all the attendant data is recalculated. </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>Cannot change map type after initialization. </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>lagrangian </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,24 +7,22 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_atom_weight">fix_modify AtC atom_weight </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_atom_weight">fix_modify AtC atom_weight </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC atom_weight <method> <arguments></p>
|
||||
<ul>
|
||||
<li><method> = <br/>
|
||||
@ -36,22 +34,22 @@ syntax</a></h2>
|
||||
read_in: list of values for atoms are read-in from specified file <br/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify atc atom_weight constant myatoms 11.8 </code> <br/>
|
||||
<code> fix_modify atc atom_weight lattice </code> <br/>
|
||||
<code> fix_modify atc atom_weight read-in atm_wt_file.txt </code> <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Command for assigning the value of atomic weights used for atomic integration in atom-continuum coupled simulations. </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>Use of lattice option requires a lattice type and parameter is already specified. </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>lattice </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,41 +7,39 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_atomic_charge">fix_modify AtC atomic_charge </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_atomic_charge">fix_modify AtC atomic_charge </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC <include | omit> atomic_charge</p>
|
||||
<ul>
|
||||
<li><include | omit> = switch to activiate/deactiviate inclusion of intrinsic atomic charge in <a class="el" href="namespaceATC.html" title="owned field/s: MASS_DENSITY">ATC</a> </li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify atc compute include atomic_charge </code> </p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Determines whether AtC tracks the total charge as a finite element field </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>Required for: electrostatics </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>if the atom charge is defined, default is on, otherwise default is off </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,38 +7,36 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_boundary">fix_modify AtC boundary </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_boundary">fix_modify AtC boundary </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC boundary type <atom-type-id></p>
|
||||
<ul>
|
||||
<li><atom-type-id> = type id for atoms that represent a ficticious boundary internal to the FE mesh </li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify AtC boundary type ghost_atoms </code> </p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Command to define the atoms that represent the ficticious boundary internal to the FE mesh. For fully overlapped MD/FE domains with periodic boundary conditions no boundary atoms should be defined. </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>none </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,36 +7,34 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_boundary_dynamics">fix_modify AtC boundary_dynamics </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_boundary_dynamics">fix_modify AtC boundary_dynamics </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC boundary_dynamics < on | damped_harmonic | prescribed | coupled | none > [args] <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Sets different schemes for controlling boundary atoms. On will integrate the boundary atoms using the velocity-verlet algorithm. Damped harmonic uses a mass/spring/dashpot for the boundary atoms with added arguments of the damping and spring constants followed by the ratio of the boundary type mass to the desired mass. Prescribed forces the boundary atoms to follow the finite element displacement. Coupled does the same. </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>Boundary atoms must be specified. When using swaps between internal and boundary atoms, the initial configuration must have already correctly partitioned the two. </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>prescribed on </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,38 +7,36 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_boundary_faceset">fix_modify AtC boundary_faceset </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_boundary_faceset">fix_modify AtC boundary_faceset </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC boundary_faceset <is | add> [args] </p>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p>fix_modify AtC boundary_faceset is obndy </p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>This command species the faceset name when using a faceset to compute the MD/FE boundary fluxes. The faceset must already exist. </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>This is only valid when fe_md_boundary is set to faceset. </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
|
||||
@ -7,43 +7,41 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_boundary_integral">fix_modify AtC output boundary_integral </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_boundary_integral">fix_modify AtC output boundary_integral </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC output boundary_integral [field] faceset [name]</p>
|
||||
<ul>
|
||||
<li>field (string) : name of hardy field</li>
|
||||
<li>name (string) : name of faceset </li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify AtC output boundary_integral stress faceset loop1 </code> <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Calculates a surface integral of the given field dotted with the outward normal of the faces and puts output in the "GLOBALS" file </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<p>Must be used with the hardy/field type of AtC fix ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>Must be used with the hardy/field type of AtC fix ( see <a class="el" href="../../fix_atc.html">fix atc command</a> ) </p>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>none </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,41 +7,39 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_consistent_fe_initialization">fix_modify AtC consistent_fe_initialization </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_consistent_fe_initialization">fix_modify AtC consistent_fe_initialization </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC consistent_fe_initialization <on | off></p>
|
||||
<ul>
|
||||
<li><on|off> = switch to activiate/deactiviate the initial setting of FE intrinsic field to match the projected MD field </li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify atc consistent_fe_initialization on </code> </p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Determines whether AtC initializes FE intrinsic fields (e.g., temperature) to match the projected MD values. This is particularly useful for fully overlapping simulations. </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>Can be used with: thermal, two_temperature. Cannot be used with time filtering on. Does not include boundary nodes. </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>Default is off </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,44 +7,42 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_contour_integral">fix_modify AtC output contour_integral </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_contour_integral">fix_modify AtC output contour_integral </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC output contour_integral [field] faceset [name] <axis [x | y | z ]></p>
|
||||
<ul>
|
||||
<li>field (string) : name of hardy field</li>
|
||||
<li>name (string) : name of faceset</li>
|
||||
<li>axis (string) : x or y or z </li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify AtC output contour_integral stress faceset loop1 </code> <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Calculates a surface integral of the given field dotted with the outward normal of the faces and puts output in the "GLOBALS" file </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<p>Must be used with the hardy/field type of AtC fix ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>Must be used with the hardy/field type of AtC fix ( see <a class="el" href="../../fix_atc.html">fix atc command</a> ) </p>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>none </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,24 +7,22 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_control">fix_modify AtC control </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_control">fix_modify AtC control </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC control <physics_type> <solution_parameter> </p>
|
||||
<p><br/>
|
||||
</p>
|
||||
@ -46,22 +44,22 @@ syntax</a></h2>
|
||||
<li>tolerance (float) = relative tolerance to which matrix equations will be solved<br/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify AtC control thermal max_iterations 10 </code> <br/>
|
||||
<code> fix_modify AtC control momentum tolerance 1.e-5 </code> <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Sets the numerical parameters for the matrix solvers used in the specified control algorithm. Many solution approaches require iterative solvers, and these methods enable users to provide the maximum number of iterations and the relative tolerance. </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>only for be used with specific controllers : thermal, momentum <br/>
|
||||
They are ignored if a lumped solution is requested </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>max_iterations is the number of rows in the matrix<br/>
|
||||
tolerance is 1.e-10 </p>
|
||||
</div>
|
||||
|
||||
@ -7,24 +7,22 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_control_momentum">fix_modify AtC control momentum </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_control_momentum">fix_modify AtC control momentum </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC control momentum none <br/>
|
||||
</p>
|
||||
<p>fix_modify AtC control momentum rescale <frequency><br/>
|
||||
@ -44,21 +42,21 @@ syntax</a></h2>
|
||||
<li>face_set_id (string) = id of boundary face set, if not specified (or not possible when the atomic domain does not line up with mesh boundaries) defaults to an atomic-quadrature approximate evaulation<br/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p>fix_modify AtC control momentum glc_velocity <br/>
|
||||
fix_modify AtC control momentum flux faceset bndy_faces <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>only to be used with specific transfers : elastic <br/>
|
||||
rescale not valid with time filtering activated </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>none </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,24 +7,22 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_control_thermal">fix_modify AtC control thermal </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_control_thermal">fix_modify AtC control thermal </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC control thermal <control_type> <optional_args></p>
|
||||
<ul>
|
||||
<li>control_type (string) = none | rescale | hoover | flux<br/>
|
||||
@ -46,25 +44,25 @@ syntax</a></h2>
|
||||
<li>face_set_id (string), optional = id of boundary face set, if not specified (or not possible when the atomic domain does not line up with mesh boundaries) defaults to an atomic-quadrature approximate evaulation, does not work with interpolate<br/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify AtC control thermal none </code> <br/>
|
||||
<code> fix_modify AtC control thermal rescale 10 </code> <br/>
|
||||
<code> fix_modify AtC control thermal hoover </code> <br/>
|
||||
<code> fix_modify AtC control thermal flux </code> <br/>
|
||||
<code> fix_modify AtC control thermal flux faceset bndy_faces </code> <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Sets the energy exchange mechansim from the finite elements to the atoms, managed through a control algorithm. Rescale computes a scale factor for each atom to match the finite element temperature. Hoover is a Gaussian least-constraint isokinetic thermostat enforces that the nodal restricted atomic temperature matches the finite element temperature. Flux is a similar mode, but rather adds energy to the atoms based on conservation of energy. Hoover and flux allows the prescription of sources or fixed temperatures on the atoms. </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>only for be used with specific transfers : thermal (rescale, hoover, flux), two_temperature (flux) <br/>
|
||||
rescale not valid with time filtering activated </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>none<br/>
|
||||
rescale frequency is 1<br/>
|
||||
flux boundary_integration_type is interpolate </p>
|
||||
|
||||
@ -7,43 +7,41 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_control_thermal_correction_max_iterations">fix_modify AtC control thermal correction_max_iterations </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_control_thermal_correction_max_iterations">fix_modify AtC control thermal correction_max_iterations </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC control thermal correction_max_iterations <max_iterations></p>
|
||||
<ul>
|
||||
<li>max_iterations (int) = maximum number of iterations that will be used by iterative matrix solvers<br/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify AtC control thermal correction_max_iterations 10 </code> <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Sets the maximum number of iterations to compute the 2nd order in time correction term for lambda with the fractional step method. The method uses the same tolerance as the controller's matrix solver. </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>only for use with thermal physics using the fractional step method. </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>correction_max_iterations is 20 </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,24 +7,22 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_decomposition">fix_modify AtC decomposition </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_decomposition">fix_modify AtC decomposition </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC decomposition <type></p>
|
||||
<ul>
|
||||
<li><type> = <br/>
|
||||
@ -32,20 +30,20 @@ syntax</a></h2>
|
||||
distributed_memory: only owned nodal information on processor <br/>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify atc decomposition distributed_memory </code> <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Command for assigning the distribution of work and memory for parallel runs. </p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>replicated_memory is appropriate for simulations were the number of nodes << number of atoms </p>
|
||||
<h2><a class="anchor" id="related">
|
||||
related</a></h2>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="related">
|
||||
related</a></h4>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>replicated_memory </p>
|
||||
</div>
|
||||
<hr size="1"/><address style="text-align: right;"><small>Generated on 21 Aug 2013 for ATC by
|
||||
|
||||
@ -7,24 +7,22 @@
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
||||
</head>
|
||||
<body>
|
||||
<center>
|
||||
<a href="http://lammps.sandia.gov">LAMMPS Website</a>
|
||||
<a href="../../Manual.html">LAMMPS Manual</a>
|
||||
<a href="../../fix_atc.html">USER-AtC Manual</a>
|
||||
<a href="../../Section_commands.html#comm">Commands</a>
|
||||
</center>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<!-- Generated by Doxygen 1.6.1 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
|
||||
<li><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li><a href="dirs.html"><span>Directories</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
|
||||
|
||||
<h1><a class="anchor" id="man_electron_integration">fix_modify AtC extrinsic electron_integration </a></h1><h2><a class="anchor" id="syntax">
|
||||
syntax</a></h2>
|
||||
<h3><a class="anchor" id="man_electron_integration">fix_modify AtC extrinsic electron_integration </a></h3><h4><a class="anchor" id="syntax">
|
||||
syntax</a></h4>
|
||||
<p>fix_modify AtC extrinsic electron_integration <integration_type> <num_subcyle_steps(optional)> <br/>
|
||||
</p>
|
||||
<ul>
|
||||
@ -32,20 +30,20 @@ syntax</a></h2>
|
||||
</li>
|
||||
<li>num_subcycle_steps (int), optional = number of subcycle steps for the electron time integration</li>
|
||||
</ul>
|
||||
<h2><a class="anchor" id="examples">
|
||||
examples</a></h2>
|
||||
<h4><a class="anchor" id="examples">
|
||||
examples</a></h4>
|
||||
<p><code> fix_modify AtC extrinsic electron_integration implicit </code> <br/>
|
||||
<code> fix_modify AtC extrinsic electron_integration explicit 100 </code> <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="description">
|
||||
description</a></h2>
|
||||
<h4><a class="anchor" id="description">
|
||||
description</a></h4>
|
||||
<p>Switches between integration scheme for the electron temperature. The number of subcyling steps used to integrate the electron temperature 1 LAMMPS timestep can be manually adjusted to capture fast electron dynamics.</p>
|
||||
<h2><a class="anchor" id="restrictions">
|
||||
restrictions</a></h2>
|
||||
<p>For use only with two_temperature type of AtC fix ( see <a class="el" href="man_fix_atc.html">fix atc command</a> ) <br/>
|
||||
<h4><a class="anchor" id="restrictions">
|
||||
restrictions</a></h4>
|
||||
<p>For use only with two_temperature type of AtC fix ( see <a class="el" href="../../fix_atc.html">fix atc command</a> ) <br/>
|
||||
</p>
|
||||
<h2><a class="anchor" id="default">
|
||||
default</a></h2>
|
||||
<h4><a class="anchor" id="default">
|
||||
default</a></h4>
|
||||
<p>implicit<br/>
|
||||
subcycle_steps = 1 </p>
|
||||
</div>
|
||||
|
||||